AlexeyAB / darknet

YOLOv4 / Scaled-YOLOv4 / YOLO - Neural Networks for Object Detection (Windows and Linux version of Darknet )
http://pjreddie.com/darknet/
Other
21.65k stars 7.96k forks source link

I'd trained yolov4-tiny and yolov4 model, but yolov4-tiny model works better, which is confusing #7223

Open laurence-lin opened 3 years ago

laurence-lin commented 3 years ago

I've about 100 training sample and 100 valid sample. I've to collect and label the data myself, so I first trained the data and observe the training data performance.

First, I tried yolov4 model to trained about 3700 iterations, and get the best mAP about 14%. The mAP is not ideal, and the prediction bounding box didn't detect anything for some of my validate samples.

Then I tried yolov4-tiny model for testing, about 10000 iterations, and get the best mAP also 14%. The mAP is similar to that of yolov4 model, but the prediction bounding box get reasonable result that blocked the object, although not optimal, but much better than yolov4 model.

I wonder why does yolov4 and yolov4-tiny have similar mAP but different prediction performance. Although I expect yolov4 model to perform much better than the tiny version, since it's deeper and supposed to learn more features, but in experiment it doesn't.

I understand I should train more iteration for a deeper model, but the bad performance for yolov4 which have same mAP as the shallower one stopped me from keep training blindly.

Does anyone ever encounter similar problem?

Thank you!

AlexeyAB commented 3 years ago

You didn't train yolov4 well: https://github.com/AlexeyAB/darknet#when-should-i-stop-training

Usually sufficient 2000 iterations for each class(object), but not less than number of training images and not less than 6000 iterations in total.

I wonder why does yolov4 and yolov4-tiny have similar mAP but different prediction performance.

Unfinished yolov4 model requires a lower confidence threshold than 0.25, so run detection with flag -thresh 0.15

laurence-lin commented 3 years ago

You didn't train yolov4 well: https://github.com/AlexeyAB/darknet#when-should-i-stop-training

Usually sufficient 2000 iterations for each class(object), but not less than number of training images and not less than 6000 iterations in total.

I wonder why does yolov4 and yolov4-tiny have similar mAP but different prediction performance.

Unfinished yolov4 model requires a lower confidence threshold than 0.25, so run detection with flag -thresh 0.15

Thank you for the help, I would train more iterations then check out the performance!