AlexeyAB / darknet

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

target with different aspect ratio #1493

Open Gumballing opened 6 years ago

Gumballing commented 6 years ago

My detection targets have different aspect ratios, and the gap is relatively large. Does this have an impact on training? Can I get the training results? I used yolov2-tiny.And the part of the output parameters of Training process as follows:

Region Avg IOU: 0.592748, Class: 0.499516, Obj: 0.499963, No Obj: 0.499830, Avg Recall: 1.000000, count: 3 Region Avg IOU: 0.539716, Class: 0.499853, Obj: 0.499853, No Obj: 0.499830, Avg Recall: 0.666667, count: 3 Region Avg IOU: 0.473441, Class: 0.499845, Obj: 0.499577, No Obj: 0.499832, Avg Recall: 0.666667, count: 3 Region Avg IOU: 0.465660, Class: 0.500417, Obj: 0.499944, No Obj: 0.499830, Avg Recall: 0.333333, count: 3 601: 247.692581, 247.692581 avg, 0.000100 rate, 540.756879 seconds, 57696 images Loaded: 0.000052 seconds

What is the possible cause of this result?

Gumballing commented 6 years ago

The obj and no-obj are all around 0.5 ahd the loss more than 200. I adjusted the batch ,subdivisions and learning rate.The lowest loss is 154 and has been oscillating between 200 and 450.

AlexeyAB commented 6 years ago

@gzhengli

Gumballing commented 6 years ago

AlexeyAB,Thanks for response.

I have used batch=64 subdivisons=2 and 8,I have tried both cases but have no major changes to the loss,obj and no-obj. I have two classes and each category has 500 images for a total of 1000. Because the computer does not have a GPU, it took a week to train it for more than a thousand times. The loss was always high. I stopped training and didn't achieve 5,000 iterations. I am using the anchors in yolov2-tiny-voc.cgf, have not changed.It was anchors = 1.08,1.19, 3.42,4.41, 6.63,11.38, 9.42,5.11, 16.62,10.52. Do you mean that I need to determine the anchors based on the objects I want to detect? How is this calculated?

AlexeyAB commented 6 years ago

@gzhengli I didn't check is there any issues or bugs in Training on CPU, since it will take all your live to train it on CPU.

Gumballing commented 6 years ago

@AlexeyAB Thank you. If I use yolov3-tiny.cfg,which pre-training weights do I need to use?It's yolov3-tiny-voc.weights?

AlexeyAB commented 6 years ago

@gzhengli You should use yolov3-tiny.conv.15 file as described here: https://github.com/AlexeyAB/darknet#how-to-train-tiny-yolo-to-detect-your-custom-objects

Gumballing commented 6 years ago

@AlexeyAB Ok,thank you,I will give it a try.