【目标检测论文阅读】ScratchDet Training Single-Shot Object Detectors from Scratch
摘要
当前最先进的目标检测器通常是基于一种预训练的模型,这种模型先在大型数据集ImageNet预训练,之后再进行微调训练。不过这种方法有局限性:
(1)分类和检测对网络平移性的敏感度不同;
(2)网络的结构不方便修改。
而从零开始训练的检测器不受网络结构的影响,所以可以随意更改网络结构来训练达到最好的检测效果。之前的从零开始训练的检测器表现都比基于预训练模型的检测器差,甚至在训练时会出现无法收敛的情况。论文中指出忽略BatchNorm是导致这一结果的重要原因,通过在网络中加入BatchNorm带来的稳定的且可预测的梯度,我们可以从零开始训练检测器且可以很好地收敛,并且不受限于网络结构。
Root-ResNet的提出
基于SSD检测器中的truncated ResNet提出了一种新的backbone—Root-ResNet
特点:
(1)移除第一个卷积层中的下采样操作。
(2)用一堆3×3卷积滤波器替换了7×7卷积核。
(3)将SSD中用来提取具有不同比例的特征图的四个卷积块替换成四个残差块。
优点:
(1)有了丰富的输入,能够从图像获得更多本地局部特征信息,提高对小物体检测的效果。
(2)残差块减少了参数和计算成本,却没有使检测器的性能下降。
实验阶段
训练细节:训练配置保持一样
(1)使用具有0.0005重量衰减和0.9动量的SGD。
(2)在4个NVIDIA Tesla P40 GPU上训练。
(3)使用与原始SSD检测器相同的训练配置,包括数据扩充,锚点设置和损失函数。
(4)移除L2归一化。
(5)选择固定空间大小与SSD300和DSOD300相同的检测层。
(6)训练batch size=128。
(7)backbone network选择Root-ResNet-18或Root-ResNet-34。(8)用xavier方法初始化参数。
(9)网络输入大小设置为300×300.
训练集和测试集的选择:
(1)训练集:VOC 2007 trainval set + VOC 2012 trainval set(16,551);测试集:VOC 2007 test set(4,952)。
(2)训练集:VOC 2007 trainval set + VOC 2007 test set + VOC 2012 trainval set(21,503);测试集:VOC 2012 test set(10,991)。
(3)训练集:MS COCO trainval35k set;测试集:MS COCO test-dev set。
(4)在MS COCO上预训练,分别在VOC 2007 test set和VOC 2012 test set上测试。
学习率lr的选择:0.001、0.01、0.05.
BN的影响:在VCO 2007 test set上测试
(1)训练原始的SSD检测器不加入BN。只能在lr很小的时候(0.001)训练才能收敛,且会达到极小的局部最小值。以此时的67.6%mAP为基线。
(2)在backbone subnetwork加入BN。Lr=0.05时,mAP提高10.4%,达到78%。
(3)在detection head subnetwork加入BN。Lr=0.01时,mAP提高8%,达到75.6%。
(4)在整个网络加入BN。Lr=0.05时,mAP提高11.1%,达到78.7%。
(5)在基于预训练模型的网络加入BN。Lr=0.01时,mAP提高10.6%,达到78.2%,低于从零开始训练的检测器。
(6)在DSOD中加入BN。移除BN后,在VOC 2007测试的mAP下降了6.2%。说明BN是DSOD能够从零开始训练的关键因素,而不是深度监督。
有利于提高mAP的因素:网络加入BN、lr较大有利于提高mAP.
backbone subnetwork的影响:Root-ResNet-18
在VOC 2007 test set测试。
(1)第一个卷积层的卷积核大小,7×7->3×3.mAP从73.1%到73.2%(下采样),mAP从77.6%到77.8%(移除下采样),影响很小。
(2)移除第一个卷积层中的下采样操作(stride=2->1).mAP从73.1%到77.6%,提高了4.5%(7×7卷积核),mAP从73.2%到77.8%,提高了4.6%(3×3卷积核),影响较大。
(3)根块中卷积层的数量。卷积核3×3,移除下采样,根块中的卷积层数量从1到3的mAP提高了0.7%,再增加层数影响也不大了。
有利于提高mAP的因素:第一个卷积层的卷积核小、移除第一个卷积层的下采样、根块中卷积层数量为3。
其它提高检测器性能的方法:
(1)加深网络结构。
(2)增大网络输入的尺寸。能够获取更多图像的局部特征信息。
总结:
论文提出的从零开始的检测器是在原始SSD检测器上的改进,提出新的backbone网络Root-ResNet,加入BN层。