该论文为one-stage目标检测。设计了ARM(Anchor Refinement Module)、TCB(Transfer Connection Block)、ODM(Object Detection Module)。通过ARM将box由粗到细的进行回归,再通过TCB将特征输入到ODM中。
网络结构
该论文采用的FPN(Feature Pyramid Network),使用了VGG16和ResNet-101作为主干网络,分别构建了ARM和ODM进行回归和分类,通过TCB将ARM和ODM的每层进行连接,用来传递特征。
提出的创新或改进
1.ARM(Anchor Refinement Module)
该模块主要功能是进行box回归和锚过滤,每个anchor都设置一个二进制标签,通过设置的二进制类别损失来回归anchor的位置和大小并且进行微调,进而可以得到精炼的anchor。再将feature map通过TCB传递到ODM中,以及anchors同时传递到ODM中对目标进行精确的标记。anchors filter通过设置置信度,高于的anchor将被过滤掉,进而可以将输入到ODM
中的anchor数量降低并且保证正负样本的比例,加快训练速度。
loss
分别为二进制损失、多分类损失和smooth L1 Loss的组合,二进制损失使用的cross entropy/log loss,确定两种类别,一种是目标,一种不是目标。多分类损失为softmax loss,用来对正类进行分类,然后输出各类别的概率,并且使用了smooth L1 loss作为回归损失。
2.ODM(Object Detection Module)
该模块用来得到anchor的最终位置以及分类,通过计算c个类别的分数以及四个精确偏移来对anchor进行精确的定位。
3.TCB(Transfer Connection Block)
该模块用来传递ARM中的feature map,并且可以将高级特征向下传递与低级特征进行融合,进而提高检测的精度。通过反卷积的方式将高级特征调整到与低级特征相对应的维度来进行融合。特征融合后再增加一层卷积层来保证用于检测的特征的可区分性。
模型的初始化和训练
模型初始化
主干网络VGG16和ResNet-101再ILSVRC CLS-LOC数据集上进行了预训练,并且将VGG16的fc6和fc7通过下采样参数转换成卷积层conv_fc6和conv_fc7。conv4_3和conv5_3有着不同于其他层的特征比例,所以使用L2归一化将这两层特征范数缩放至10和8。再VGG16的截断末尾增加两个额外的卷积层,以及在ResNet-101中增加一个残差块,并且使用xavier方法初始化VGG16的两个额外卷积层,使用零均值高斯分布标准差为0.01来初始化ResNet-101的额外残差块。
模型的训练
不同的模型采用的学习率策略不同
PASCAL VOC 2007数据集前80k次迭代的学习率为,后20k和最后20k降低到
和
PASCAL VOC 2012数据集前160k次迭代的学习率为,后40k和最后40k降低到
和
MS COCO数据集前280k次迭代的学习率为,后80k和最后40k降低到
和
实验结果与分析
1.消融实验
Negative Anchor Filtering(负锚过滤)
减少了负锚过滤,mAP下降了0.5%,因为没有了负锚过滤导致了正负样本比例失衡,以至于精确度降低。
Two-Step Cascaded Regression(两步级联回归)
该论文直接使用规则平铺的anchor与使用ARM的refined anchor进行比较mAP降低的很明显,这说明两步级联回归有显著的提升效果。
Transfer Connection Block(转换连接块)
TCB模块可以利用大规模的上下文信息来提高检测精度。虽然仅仅提升了1.1%,提升没有两步级联回归高,但也比负锚过滤高。
2.不同数据集的实验结果
VOC数据集
COCO数据集
RefineDet在这三个数据集上都取得了当前最先进模型的最佳结果,证明该论文所提出的模型的有效性。
COCO预训练VOC预测
在COCO数据集上进行预训练然后再VOC数据集上进行预测,效果更加理想,因为VOC数据集对象类别是COCO数据集对象类别的子集,所以再VOC数据集上的表现更加理想。
3.结论
ARM可以起到过滤负锚减少分类器的搜索空间的作用,并且这个作用再消融实验中得到有效性的验证,ARM对anchor的微调可以为后期ODM精确定位起到了一定的作用。经过一系列的实验验证了该模型结构的有效性。