阅读:2019.8.15-8.21
期刊:CVPR 2018
引用:Zhang S , Wen L , Bian X , et al. Single-Shot Refinement Neural Network for Object Detection[J]. arXiv preprint arXiv: 1711.06897,2017.
1 RefineDet概述
RefineDet巧妙的将“one-stage”、“two-stage”两种思路结合,是SSD、RPN、FPN算法的结合,在提升检测速度的同时,提高了检测精度。结构如图9.1所示,主要包含Anchor Refinement Module(ARM)、Transfer Connection Block(TCB)、Object Detection Module(ODM)。
(1)“two stage”的思想
从粗到细的生成bbox,RPN网络生成比较“粗糙”(定位精度粗糙,且未进行多分类)的bbox,再通过多分类、回归定位分得到定位更精准、有具体类别标签的bbox。在RefineDet中的体现为,利用“从下到上”获取的特征图生成anchor box,人工设定scale,不同尺寸的特征图生成不同大小的bbox。将anchor box与“从上到下”整合之后的特征图一起送入检测器。
(2)“one stage”的思想
引入FPN的特征金字塔、特征融合思想,整合不同层次的特征,将深层特征的语义信息融合到浅层特征图,使其在具有较高分辨率的同时,也具有较好的语义信息。有效提高对小目标的检测性能。RefineDet的整体框架是SSD,如图9.2所示。
图9.2 SSD整体框架
2 RefineDet创新点
RefineDet在结构上的创新就是将SSD、RPN、FPN算法巧妙地结合,用的东西都是现有的。
3 Network Architecture
RefineDet主要由ARM、TCB、ODM三部分构成。
(1)ARM
ARM目的是去除negative anchor,减少分类器的搜索空间,同时进行初步的定位和调整anchor box大小,得到refined anchors;
ARM的结构基于两个网络(VGG-16\ResNet-101),去除分类部分、添加辅助结构。在ImageNet上进行预训练。
(2)ODM
ODM目的是对refined anchors进行更精确的回归定位、多分类。生成分类得分和bbox与refined anchors的offset。
3.1 Transfer Connection Block
TCB为ARM与ODM的连接部分,进一步处理ARM各级别的feature map,文中的描述:使特征更适用于ODM的“回归定位”、“多分类”的任务;使得ARM、ODM能够共享特征图;通过添加“high-level features(P7)”,整合“large-scale contexe”,有利于提高准确率。TCB结构如图9.3所示。
(1)“低层feature map”通过“deconv”的方式上采样到高维度特征,并以“element-wise add”与“当前层feature map”整合。参考的FPN思想。
(2)采用conv 处理“整合后的feature map”,去除转置卷积带来的“混叠效应(aliasing effect)”,以保证用于检测的特征的可辨别性。
图9.3 TCB结构
3.2 Two-Step Cascaded Regression
RefineDet采取了ARM、ODM两个步骤级联的方法进行分类、定位。
(1)ARM
使用ARM调整anchor box的大小、位置,为ODM的精确定位、多分类提供更好的初始化。相当于RPN的存在,在“从下到上”获得特征图上生成anchor box,每个cell生成n个anchor box,ARM生成4个offset值(bbox相对于anchor box的偏移量)、2个二元分类概率分数(confidence score,前景/背景的概率),每个cell都能够得到n个refined anchor boxes。设定阈值,根据“confidence score”筛选一部分背景anchor(negative anchors)。ARM结构如图9.4所示。
图9.4 ARM结构
(2)ODM
将ARM得到的refined anchor boxes、相应层的特征图一起送入ODM,如图9.5所示。对每个refined anchor boxes进行多分类(C个类别概率)、精确定位(4个相对于refined anchor boxes的偏移量),输出维度为(C + 4)。
图9.5 ODM的输入
3.3 Negative Anchor Filtering
(1)Training phase
对于一个refined anchor box,如果negative confidence(判断为负样本)大于阈值,那么其将丢弃,不用于训练ODM,仅将refined hard negative anchor boxes、refined positive anchor boxes送入ODM
(2)Inference phase
如果一个refined anchor box的negative confidence(判断为负样本)大于阈值,则其不送入ODM进行检测。
4 Training and Inference
4.1 Data Augmentation
与SSD数据增强策略保持一致。
由于没有采用特征重采样,即在feature layer后再进行特征提取,使得RefineDet对于小目标检测比较困难。本文的数据增强方法对提高SSD检测小目标的性能有很重要的帮助,特别在PASCAL这类小数据集上。
随机裁剪相当于对图片上某一部分进行了“zoom in(放大)”操作,使得目标可以变得比较大,也会产生较多的大目标样例。此外,还是需要保留部分小目标,为了产生“zoom out(缩小)”效果,将原始图片放置在16倍原图大小的画布上,周围空间填充图片均值,然后进行随机裁剪。使用该策略获得了更多的训练熟练数据。
4.2 Backbone Network
1. VGG-16
(1)将fc6\fc7转换成conv_fc6\conv_fc7
(2)Since conv4 3 and conv5 3 have different feature scales compared to other layers, we use L2 normalization to scale the feature norms in conv4 3 and conv5 3 to 10 and 8, then learn the scales during back propagatio(没明白)
(3)为了捕获“high-level information”,提高对多尺度检测性能,在尾部添加了2个conv
2. ResNet-101
在尾部添加1个residual block,同样是为了捕获“high-level information”,提高对多尺度检测性能。
4.3 Anchors Design and Matching
1. 多尺度
(1)采用了4个级别的特征图(P3~P7),在backbone中的步长分别为8, 16, 32, 64。
(2)每个级别的特征图对应着“1种scale的anchor”,“3种aspect ratio:0.5, 1.0,2.0”。
(3)不同级别的特征图对着不同scale的anchor,但都具有相同的aspect ratio
2. anchor box与gt_box匹配
一个gt_box只能匹配一个anchor box,一个anchor box可以匹配多个gt_box,IoU大于0.5即可。这一点与SSD一致。
4.4 Hard Negative Mining
采用与SSD类似的策略。
生成的default box中,大部分都是负样本,正样本数量较少,导致了严重的“类别不均衡”问题,训练时难以收敛。根据confidence loss对负样本排序,选择损失最高的一部分保留(最可能不包含物体的),是的正负样本保持“1:3”的比例。使用该策略获得了稳定的训练性能,加快了训练速度。
4.5 Loss Function
RefineDet的损失函数主要由ARM、ODM两部分组成。公式注解如图9.6所示。
图9.6 RefineDet 损失函数注解
4.6 Optimization
RefineDet的优化参数设置图表9.2所示。
如表9.1所示。
项目 | 策略 |
---|---|
预训练 | 在【ILSVRC CLS-LOC dataset】 |
参数初始化 | Xavier;zero-mean高斯分布,standart deviation=0.01 |
batch_size | 32 |
优化策略 | SGD |
momentum | 0.9 |
Weight decay | 0.0005 |
Lr | 0.001,不同数据集,不同的lr衰减系数 |
4.7 Inference
(1)根据二分类置信分数ARM筛选anchor,再对其进行定位和确定大小,得到【refined anchor box】
(2)将【refined anchor box 】与【TCB处理后的特征图】送入ODM,每张图片生成置信分数前400的bbox
(3)对每个类别应用NMS(阈值=0.45),筛选一部分bbox;再根据置信分数排序,每张图片得到最终的前200个检测结果
5 RefineDet思维导图
以思维导图的方式,将RefineDet各个知识点串联起,有利于构建RefineDet的知识树。如图9.7所示。
图9.7 RefineDet思维导图
6 未理解的点
7 参考文献
[1] Zhang S , Wen L , Bian X , et al. Single-Shot Refinement Neural Network for Object Detection[J]. arXiv preprint arXiv: 1711.06897,2017.
[2] RefineDet算法笔记
https://blog.csdn.net/u014380165/article/details/79502308