zpge / Focal-Loss-implement-on-Tensorflow

The implementation of focal loss proposed on "Focal Loss for Dense Object Detection" by KM He and support for multi-label dataset.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Focal-Loss-implement-on-Tensorflow

This is a multi-label version implementation(unofficial version) of focal loss proposed on Focal Loss for Dense Object Detection by KM He. After implement focal loss formular I have tested on SSD_MobileNet Network on COCO datasets. The following is about the tensorboard results and analysis:

  1. The map@0.5 of focal loss implementation(num_hard_example=20000, max_neg_per_pos=1000, max_total_detection=20000) are about 3% higher than original model(num_hard_example=2000, max_neg_per_pos=100, max_total_detection=100), about 29% and 26% respectively.

MAP and Loss MAP of some cates

 2. However, why do focal loss can achive so much improvement? Here we show some evaluation images and then we may find the answer. Focal loss do not detect the low percentage object(about 0.5~0.8), this may have a good precision but bad recall. But the core viewpoint of the paper is focus on the hard examples while ignore the easy examples. I don't know the reason. Can anybody tell me the reason???

Eval image result comp

Conclusion: In my opinion, maybe Focal loss can have a better precision(MAP) but worse recall.
Application: If you just want to have a better MAP, the focal loss is a good choice.

About

The implementation of focal loss proposed on "Focal Loss for Dense Object Detection" by KM He and support for multi-label dataset.

License:Apache License 2.0


Languages

Language:Python 100.0%