GitHub:https://github.com/facebookresearch/Detectron
state-of-the-art object detection存在两种方案:two-stage和one-stage
two-stage:R-CNN、fast R-CNN 、faster R-CNN
two-stage方案第一阶段生成一组稀疏的候选对象位置(1-2k个),第二阶段使用卷积神经网络将每个候选位置分类。在COCO benchmark 上实现了top accuracy,但速度较慢。
one-stage:YOLO、SSD
one-stage在一个阶段生成候选位置并分类,这些候选位置从位置、尺度、长宽比采样来生成密集的proposal(~100k个),精度较差但速度快。
作者提出了这样一个问题:could a simple one-stage detector achieve similar accuracy?
由于发现阻碍one-stage detecter实现state-of-art accuracy的主要原因是训练时类别不平衡between foreground and background classes (e.g., 1:1000)。因此作者提出一种新的Loss fuction:focal loss来消除这种障碍。Focal Loss是动态缩放的cross entropy loss。实际上就是乘了一个缩放因子。如图所示。
对于很好分类的example,即概率比较大的,相对的减少其loss;而对于很难分类的,错分类的example,即概率比较小的,loss基本不变。
为了证明focal loss的有效性,作者设计了一个one-stage网络RetinaNet,最好的模型是基于ResNet-101-FPN在COCO test-dev上达到了39.1 AP,5 fps,超过了所有的one-stage和two-stage模型。
本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。