CVPR2019 oral | ScratchDet,从头开始训练单步目标检测器

网友投稿 2019-05-30 11:27

本文《ScratchDet: Training Single-Shot Object Detectors from Scratch》提出了一种从零开始训练的单步目标检测器ScratchDet, 并基于root-block设计了新的基础网络Root-ResNet。ScratchDet的性能在现有从头开始训练的目标检测模型中达到最佳,且优于部分基于预训练基础网络的检测模型。

https://cdn.china-scratch.com/timg/190601/112G13216-0.jpg

论文地址:
https://arxiv.org/pdf/1810.08425.pdf
代码地址:
https://github.com/KimSoybean/ScratchDet

引言

当前最优的目标检测框架基本都是以预训练的高精度分类网络作为基础网络,在其后增加相应的检测器并进行finetune。分类和检测任务对于平移不变性的敏感程度并不相同,且基于finetune的方法不便于对基础网络进行修改。因此本文提出了一种从头开始训练的目标检测器ScratchDet。

ScratchDet

BatchNorm用于从头开始训练

BatchNorm使得优化空间变得显著平滑,诱导梯度产生更加可预测和稳定的行为,从而允许更大的参数搜索空间和更快的收敛速度。本文以SSD作为研究和对比对象,原始的SSD中不包含BatchNorm。

BatchNorm用于基础网络

在SSD的基础网络中每一个卷积层后均添加BatchNorm,由表1中结果可以看出,当学习率https://cdn.china-scratch.com/timg/190601/112G144Q-1.jpg为0.001时,https://cdn.china-scratch.com/timg/190601/112G13151-2.jpg由67.6%提高至72.8%,同时由于BatchNorm使得优化空间变得显着平滑,从而可以使用更大的学习率进行训练,当学习率https://cdn.china-scratch.com/timg/190601/112G25J2-3.jpg增大到为0.05时,其https://cdn.china-scratch.com/timg/190601/112G252F-4.jpg则提升至78.7%

https://cdn.china-scratch.com/timg/190601/112G23027-5.jpg表1 BatchNorm对目标检测网络在VOC 2007 test上的性能的影响

BatchNorm用于检测头

通过图1(b)和图1(c)可知,当用默认的学习率从头开始训练SSD时,其梯度L2范数的波动较为剧烈,尤其是在训练的初始阶段,使其损失产生突变,收敛于一个较差的局部最小值,这也有效解释了为何使用较大学习率从头训练SSD网络时通常会导致梯度爆炸和较差的性能。

与之相比,在SSD检测头中增加BatchNorm,使得优化空间更加平滑,https://cdn.china-scratch.com/timg/190601/112G252F-4.jpg由67.6%提高至71.0%。在应用较大学习率之后,其https://cdn.china-scratch.com/timg/190601/112G252F-4.jpg则可提高至75.6%。同时,大的学习率有助于模型跳出较差的局部最优,产生更加稳定的梯度。

https://cdn.china-scratch.com/timg/190601/112G24548-8.jpg图1 BatchNorm用于检测头的效果

BatchNorm用于整个目标检测网络

当同时在基础网络和目标检测头中使用BatchNorm,并采用0.05的学习率从头训练,最终https://cdn.china-scratch.com/timg/190601/112G252F-4.jpg可达到78.7%,性能超过基于预训练VGG网络的SSDhttps://cdn.china-scratch.com/timg/190601/112G252F-4.jpg为77.2%。

基础网络改进

ResNet和VGG的性能分析

VGG-16和ResNet-101是SSD中两个常用的基础网络,总体来说,ResNet-101在分类性能上优于VGG-16。但在输入图片尺寸相对较小(https://cdn.china-scratch.com/timg/190601/112G21138-11.jpg)的数据集PASCAL VOC上,基于VGG-16的SSD其检测精度却优于基于ResNet-101的模型。当从ResNet-101第一个卷积层中移除下采样操作后,其https://cdn.china-scratch.com/timg/190601/112G252F-4.jpg从73.1%提高至77.6%,表明该下采样操作造成了较多的信息损失,对于模型的检测精度有较大的负面影响,尤其是对于图片中较小的目标。

目标检测基础网络设计

为了在克服上述缺陷的同时保持基础网络强大的分类能力,本文基于原始SSD中的基础网络ResNet进行了改进,提出了新的结构,名为Root-ResNet,其核心思想是去除了原始ResNet第一个卷积层中的下采样操作,并将https://cdn.china-scratch.com/timg/190601/112G24C8-13.jpg的单步卷积替换成3个https://cdn.china-scratch.com/timg/190601/112G254K-14.jpg卷积的堆叠。该设计能使网络捕获更多的局部信息,从而为小目标的检测提取更加丰富有效的特征。同时本文将SSD中用于提取不同尺度特征的卷积层替换为多个残差模块,每个残差模块由两个分支组成,一个分支是步幅为2的https://cdn.china-scratch.com/timg/190601/112G35019-15.jpg卷积,另一个分支则由两个https://cdn.china-scratch.com/timg/190601/112G35019-15.jpg卷积堆叠而成,其中第一个卷积的步幅为2,第二个卷积的步幅为1,卷积的输出通道数皆为128。

实验结果

PASCAL VOC

https://cdn.china-scratch.com/timg/190601/112G21138-11.jpg的图像输入下,ScratchDet的https://cdn.china-scratch.com/timg/190601/112G252F-4.jpg在VOC 2007上达到80.4%,在从头训练的检测模型中达到最佳,同时也优于预训练的单步检测模型,如SSD300和DES300。而在VOC 2012上,ScratchDet的https://cdn.china-scratch.com/timg/190601/112G252F-4.jpg也达到78.5%,且与输入图像尺寸为https://cdn.china-scratch.com/timg/190601/112G34346-20.jpg,基于预训练的双步检测网络相比,如R-FCN,其https://cdn.china-scratch.com/timg/190601/112G252F-4.jpg值高出了0.9%。

https://cdn.china-scratch.com/timg/190601/112G31920-22.jpg表 2 ScratchDet与其他目标检测模型在PASCAL VOC数据集上的性能对比

MS COCO

在MS COCO数据集上,ScratchDet的https://cdn.china-scratch.com/timg/190601/112G35214-23.jpg为32.7%,远优于相似输入尺寸的其他模型。对于Faster R-CNN 和 Deformable R-FCN等模型,其训练及验证的图像尺寸较大,公平起见,本文测试了ScratchDet的多尺度检测结果,其https://cdn.china-scratch.com/timg/190601/112G35214-23.jpg为39.1%,优于具有较大输入尺寸的单步及双步目标检测模型。

https://cdn.china-scratch.com/timg/190601/112G3E48-25.jpg表 3 ScratchDet与其他目标检测模型在MS COCO数据集上的性能对比

结论

(1)本文分析了BatchNorm在目标检测模型的基础网络及检测头中的作用,并实现了目标检测网络的从头开始训练。

(2)通过分析基于VGG和ResNet的SSD网络的性能,提出了新的基础网络Root-ResNet用以进一步提高目标检测的精度。

(3)本文提出了一种从头训练的新目标检测模型ScratchDet,与其他从头训练的目标检测模型相比,该模型在VOC及COCO数据集上取得最佳性能,且优于部分基于预训练基础网络的单步及双步目标检测模型。


长按识别关注,获取更多新鲜论文解读

--end--

声明:本文章由网友投稿作为教育分享用途,如有侵权原作者可通过邮件及时和我们联系删除:freemanzk@qq.com