RetinaNet,SSD,YOLOv3,Faster R-CNN等都是Anchor-based的检测器,即须要预约义的Anchor boxes来进行训练。FCOS是一种Anchor-free和Proposal-free的检测器,即不须要预约义Anchor boxes来进行训练,从而节省了对计算资源的占用。spa
根据个人理解,FCOS和Faster R-CNN的区别主要表如今:3d
(1) Faster R-CNN是每一个点提出N个Proposal,N通常等于9(预设了3种长宽比例,3种尺寸所以是9个Proposal),每个Proposal的类别如何肯定呢?就须要计算Proposal和GT Box的IOU了,IOU达到必定的程度,Proposal就算是这个GT Box的类,要求这个Proposal回归到这个GT Box;而FCOS每一个点只提出一个Proposal,这个Proposal的类别如何肯定?就是这个点在哪个GT Box里面,它提出的Proposal就属于哪个GT Box的类,固然也要求这个Proposal回归到这个GT Box。可是感受Faster R-CNN的分类更好训练一些,毕竟Proposal和GT Box有比较大的IOU,FCOS靠近GT Box中心的点的类还比较好训练,距离中心比较远的点估计很差训练吧。blog
(2) FCOS多出来一个Center-ness:排序
这是由于距离目标中心越远的位置预测出的Proposal质量越低,因此FCOS增长了一个分支预测Center-ness,越靠近GT Box的中心,这个Center-ness的值就越接近1。资源
预测的时候结合对应的分类分数以及Center-ness的值来对Proposal进行排序,从而抑制了距离目标中心越远的位置预测出的Proposal,这种方法是很巧妙的,值得借鉴。ast