论文题目:Single-Shot Refinement Neural Network for Object Detection
论文作者:Shifeng Zhang , Longyin Wen , Xiao Bian, Zhen Lei , Stan Z. Li
目前,目标检测有两个文流分支:one stage and two stage。本文结合了这两个分支的优点,并到一起形成RefineDet。像是SSD、FPN、RPN的结合产物。
这两个分支的不同之处就在于对anchor的处理方式:two stage是先对anchor进行提取并精修,再送入CNN中进行分类和回归。不会像one stage那样直接对所有的anchor进行分类和回归,这样造成的正负样本不平衡问题,但在速度上One stage肯定是更胜一筹。
论文中心思想:作者采用了two stage的思想先用一个ARM网络结构对ancor 进行处理,ARM就像RPN网络,其作用如下:1)用于修正anchor,去掉多余的负样本,减少负本数量;2)对anchor的进行修正,使ODM网络更容易分类和回归。ODM网络是由ARM网络通过TCB网络处理得到。TCP就像FPN中的上采样那样,将高层的语义信息与低层的信息相融合。TCB网络如下图,直接对上采样的网络进行相加等到。
这样在各个feature map 上,每个anchor产生c个类别以及4个坐标。与SSD不一样的是,SSD使用的是default box去预测,而refineDet使用的是ARM网络产生的refined anchor去预测。这使RefineDet具备的one&tow stage的优点。
ARM网络中的负样本处理:先用IOU来判断正负样本的label,IOU<0.5就是负样本,从而得到很多负样本,再使用ARM中的分类的confidence进行过滤,如果ARM判断其negative的confidence大于设定的阈值(作者的经验值是0.99),就不要这个anchor。最后ARM和ODM都采用SSD那样的hard negative mining,通过loss的大小排序,取最大的部分,使正负样本比例达到1:3。
Loss Function:
如图,分别对ARM和ODM部分作分类和回归的损失函数。表示ground truth的类别和坐标,和表示ARM中的预测置信度和坐标。和表示ODM中的预测的类别和bounding box坐标。损失函数采用的方法:ARM中的表示交叉熵用于二分类,ODM中的表示softmax loss,表示smooth L1.
实现结果:
不多说直接上图:
[完结]
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:[论文解读]CVPR 2018|RefineDet:Single-Shot Refinement Neural Network for Object Detection 结合单双阶段的优点做目标检测 - Python技术站