写在前面
本篇主要介绍CVPR 2018论文:《Single-Shot Refinement Neural Network for Object Detection》,该论文中提出的RefineDet算法准确率超越YOLO系和SSD系,速度超过Faster RCNN系,结合了One Stage和Two Stage算法的优势,是首个检测精度高于80% mAP的实时物体检测算法。
主要思想
该算法可大致看作是SSD算法和RPN网络、FPN算法的结合,可以在保持SSD高效的前提下大大提高检测效果。
一、引入Two Stage类型目标检测算法中对Box由粗到细进行回归思想,即先通过RPN网络得到粗粒度的Box信息,然后再通过常规的回归支路进行进一步回归从而得到更加精确的框信息;
二、引入类似FPN网络的特征融合操作,可以有效提高对小目标的检测效果,检测网络的框架还是SSD。
网络结构
一、网络整体结构图
二、网络结构主要部分
网络结构主要包含三部分:ARM(Anchor Refinement Module),TCB(Transfer Connection Block),ODM(Object Detection Module)。
1 ARM
类似Faster RCNN算法中的RPN网络,主要用来得到Box(类似Faster RCNN中的ROI或Proposal)和去除一些负样本(这是因为负样本数量远大于正样本)。Two Stage类型算法效果优于One Stage的一个重要原因就是采用了这种先提取粗粒度Box然后进行进一步回归的思想。
2 TCB
详细结构如下图所示。该部分主要负责特征的转换和融合,类似FPN。讲ARM部分输出的Feature Map转换成ODM部分的输入。TCB通过进行特征层的融合,将高语义层上采样(通过反卷积实现)与上一层进行融合,提高底特征层的语义信息。
3 ODM
该部分基本上借鉴自SSD。不同的地方在于该部分的Anchors是ARM部分得到的Refined Anchors,Feature Map来自TCB得到的融合了各层的多语义Feature Map(可大幅度提高小目标物体的检测效果)。
三、损失函数
参考文献
[1] RefineDet, Single-Shot Refinement Neural Network for Object Detection.
[2] RefineDet算法笔记.