dotnet / machinelearning

ML.NET is an open source and cross-platform machine learning framework for .NET.
https://dot.net/ml
MIT License
9.05k stars 1.88k forks source link

ML.NET ObjectDetection vs YOLOv4 #7230

Open jalin168 opened 2 months ago

jalin168 commented 2 months ago

Is your feature request related to a problem? Please describe. Why is ML.NET significantly worse than YOLOv4(AlexeyAB) in accuracy? Is the ability of the AutoFormer algorithm used by ML.NET to detect objects inherently weaker than YOLOv4(AlexeyAB)? In the ML.NET training parameter Epoch, the accuracy will not be better with more times. Is there any way to improve the accuracy of ML.NET?

Describe the solution you'd like My training dataset has 16 images and my test dataset has 4 images. The purpose is to identify specific mark in grayscale images, such as the cross mark in the picture below. Comparing object detection ML.NET(Version: 16.18 for VS2019) and YOLOv4(AlexeyAB).

Describe alternatives you've considered YOLOv4(AlexeyAB) can detect the mark correctly in all 4 images of the test dataset. The ML.NET training parameters use the default value Epoch 5. Only 2 images can be detected correctly. If the Epoch is changed to 50 or 500, 4 images cannot be detected.

Additional context mark_sample

bbhxwl commented 2 months ago

https://github.com/bbhxwl/AiHelper I also want to ask YOLOv5 how to display the coordinates on the original graph after post-processing data?