hizhangp / yolo_tensorflow

Tensorflow implementation of YOLO, including training and test phase.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Approach for detecting nothing

candlecove-nju opened this issue · comments

Thanks very much for the author's code!

I trained yolo network on my own dataset (about 1200 images) for real-time smoke detection. After 800 epochs, I find that the total loss doesn't decrease anymore and remained around 1. However, the trained model detects nothing. I set THRESHOLD in config.py to 0.1 and check the results. No matter what the input image is, results are the same-- the same single bounding box and the same probability between 0.1 and 0.2 (0.18 for me). I read the issues you guys proposed one by one and find that many of you have the same proplem. I think the model is under fitting or in local optima, so the model predicts the wrong result.

Using YOLO_small.ckpt may be a good choice to avoid this. However, I haven't tried this. I use batch normalization in each CNN layer. The loss curve becomes smoother and after 900 epochs, the yolo model outputs reasonable results. In my view, batch normalization makes the loss-weigts space more smooth. You can google batch normalization for more details.

By the way, I set the learning rate to 0.1. I find that 0.0001 is too small if you train yolo from the scratch on your own dataset.

Contact me on QQ or e-mail me if you have questions about how to add batch norm to the author's network.

QQ: 3025608754
E-mail: lutianhaosuwenzha@163.com

please help me. I detect nothing