基于Bi-SSD的小目标检测算法①

2020-11-24 05:46胡君红刘瑞康范良辰
计算机系统应用 2020年11期
关键词:浅层卷积尺寸

汪 能,胡君红,刘瑞康,范良辰

(华中师范大学 物理科学与技术学院,武汉 430079)

1 引言

目标检测技术是计算机视觉领域的重要研究内容和应用领域[1].在行人检测[2]、车辆检测[3]和遥感图像检测[4]等诸多应用场景中,目标检测技术扮演着非常重要的作用.目前目标检测算法对大目标的检测效果显著优于小目标,然而实际场景目标尺寸差异很大,针对小目标的目标检测技术的研究一直是计算机视觉领域的研究热点和难点[1].近年基于深度神经网络的目标检测算法的研究取得了较大的进展,但由于深度神经网络主要依赖深层特征进行目标检测,而对浅层特征利用不足,因此对小目标的检测有很大的困难.本文主要研究提升浅层特征的利用效率的方法,以此提升网络对小目标的检测性能.

深度学习目标检测框架大多是通用目标检测框架,并没有针对小目标进行优化设计,所以对小目标的检测效果并不理想.为解决小目标检测问题,近年有学者提出了不同的优化方案.Chen 等[5]在2016年提出了针对小目标的多区域语义信息目标检测器来优化对小目标的检测性能.Sommer 等[6]在2017年提出了一种由4 个卷积层和3 个全连接层构成的浅网络检测模型,对航空图像中的小目标进行检测.Li 等[7]在2017年提出将生成对抗网络应用于图像识别领域,通过挖掘不同尺度物体间的结构关联,提高小物体的特征表示,使之与大物体类似,帮助小目标检测接近大目标检测的水平.Lin 等[8]在2017年提出了特征金字塔的概念,通过网络的多尺度特征信息提升网络对小目标的检测性能.Singh 和Bharat 等[9]在2018年提出了一种尺度归一化的目标检测图像金字塔,利用图像的尺度缩放来解决小目标的检测问题.

在以上优秀的研究成果的基础上,本文基于单阶段多目标检测器SSD (Single Shot multibox Detector)[10]结构提出了针对小目标的改进模型,双向单阶段多目标检测器Bi-SSD (Bi-directional Single Shot multibox Detector).Bi-SSD 模型在目标检测公共数据集PASCAL VOC2007 test 和MS COCO2017 test 上分别对原始的SSD 算法取得了1.34%和2.4%的性能提升.本文的主要工作包括:为浅层特征输出设置了小目标检测专用模块,增强了网络对浅层输出的特征提取能力;参考双向特征金字塔网络BiFPN (Bi-directional Feature Pyramid Network)[11]结构优化了SSD 分类和回归部分的网络结构,设计了6 尺度双向特征融合模块,使多尺度特征进行两次特征融合,分别增加了浅层特征的语义信息和深层网络的细节信息.

2 SSD 算法分析

SSD 网络是一种端到端的目标检测模型,以VGG16[12]为基础网络,网络结构如图1所示.VGG16网络可分为7 部分,前5 部分Conv1~Conv5 主要由卷积层构成,最后两个部分FC6~FC7 为全连接层.

图1 SSD 网络结构图

为实现全卷积结构,SSD 模型将VGG16 中的FC6 和FC7 替换为卷积层,并且移除了所有池化层和fc8 层.算法设置了6 个特征输出层,分别是Conv4_3,FC7,Conv8_2,Conv9_2,Conv10_2,Conv11_2,这些特征输出层各与一个输出卷积层相连.SSD 模型根据每个特征输出层输出的特征图尺寸N,将图片划分为N×N个方格,以每个方格的中心点为中心,使每个方格与一定数量的大小固定的方框匹配,这些框称为候选框,其中包括两个正方形的候选框和两个矩形候选框,所以对于每个方格,SSD 模型都会为其生成不同尺寸和宽高比的候选框,确保不同尺寸的目标均可以被候选框覆盖.

SSD 算法为每个特征输出层设置了一个候选框尺寸缩放因子sk,计算公式如式(1) 所示,其中smin为0.2,smax为0.9,第k层特征图的候选框尺寸与sk成正比,所以浅层特征图对应的候选框尺寸较小,深层特征图对应的候选框尺寸较大.根据SSD 候选框的匹配机制,较小的候选框通常与较小的真实框匹配,用于检测小目标,所以SSD 模型中负责检测小目标的输出层主要是Conv4_3,特征输出层中其他深层特征图主要负责检测较大的目标.

作为小尺寸目标检测的主要来源,Conv4_3 所处的卷积深度较浅,特征提取和表达能力有限,而较深的特征输出层又主要负责检测较大尺寸的目标,因而导致SSD 网络对于小目标的检测性能较差.

3 SSD 网络的改进

基于以上对SSD 网络的分析,SSD 算法的主要问题在于基础网络的特征输出层对于小目标的特征提取能力不足,导致算法对小目标的检测能力较差,本文将从以下几个方面对SSD 算法进行优化:

在进行分类和回归网络前,针对浅层特征输出层,设置了一个小目标特征优化模块,改善网络对小目标特征提取能力有限的问题.

改进分类和回归子网络,从现有的各种多尺度检测解决方案中探索多尺度检测在面对小目标时的更优解决方案,利用多尺度特征融合方案提升小目标检测性能.

修改后的网络结构图如图2所示.

图2 改进后的SSD 网络结构图

3.1 小目标特征优化模块

SOFI 模块结构如图3所示,由5 个卷积层堆叠而成,卷积核尺寸分别为1×1 和3×3,其中3×3 卷积核在模块中主要作用为特征提取[12],确保SOFI 模块能提高网络的特征提取能力,1×1 卷积核的主要作用有两个:降维和跨通道信息交互[13].因为1×1 卷积本身参数很少,通过降维可以降低模块的整体参数数量,而1×1 通过通道间的线性组合增加了通道间的信息交互能力,使提取的特征能合理分配到各个通道中.

图3 小目标特征优化模块SOFI

3.2 多尺度BiFPN 结构分类回归网络

SSD 的多尺度特征直接与输出层连接,导致浅层特征提取能力不足,特征金字塔网络FPN (Feature Pyramid Networks)[8]结构在输出层之前,增加了深层特征向浅层特征进行特征融合的结构,增加了浅层特征图中包含的语义信息,提高了浅层输出的检测能力.

本文利用FPN 结构为SSD 模型设计了特征融合模块,并基于BiFPN 结构对特征融合模块进行了优化,如图4所示.BiFPN 对多尺度的输出要经过两次卷积操作,第一次卷积操作将深层特征向浅层特征整合,除了最深层的特征直接向浅层整合外,其他的多尺度特征均经过卷积后向浅层整合,第二次卷积操作将浅层经过处理后的特征再向深层特征融合,实现了特征在多个尺度的输出间的传递,所有的特征融合均通过特征图间的加法运算实现.文献[11]比较了现有的不同特征融合方案,验证了这种结构在计算量和特征融合效果上取得了最优的平衡.

图4 Bi-SSD 分类回归网络结构图

4 实验验证与结果分析

4.1 实验数据集与训练参数设置

为了客观评估Bi-SSD 算法的性能,本文分别在PASCAL VOC 2007+2012 和MS COCO 2017 数据集上对算法进行了训练和评估.VOC 2007+2012 数据集包含常见的20 个分类,共计21 503 张图片,其中训练集为16 551 张,测试集为4952 张;COCO 2017 数据集将样本分为80 个类别,其中训练集的共包括338 002 张图片,测试集共包括14 408 张图片,COCO 数据集中所有样本被粗略分为大,中,小3 个尺寸,方便评价目标检测算法对不同尺寸目标的检测能力.

在模型训练过程中,本文将输入图片尺寸设置为300,batch size 为32,初始学习率为10-3,优化算法选择随机梯度下降法SGD (Stochastic Gradient Descent).在VOC 数据集上训练时,训练集为VOC 2007 train 和VOC 2012 train,测试集为VOC 2007 test,迭代次数为120 000 次,在前50 000 次迭代过程中,学习率保持不变,从第50 000 次迭代开始,每迭代10 000 次,学习率减半.在COCO 数据集上训练时,训练集为COCO 2017 train,测试集为COCO 2017 val,迭代次数为400 000 次,在前120 000 次跌代过程中,学习率保持不变,从第120 000次跌代开始,每迭代40 000 次,学习率减半.

4.2 实验结果分析

SSD 模型和Bi-SSD 模型在VOC 数据集上的训练训练损失曲线如图5所示,图中包括SSD 和Bi-SSD的损失曲线,3 幅图从左到右分别为分类损失,回归损失和总体损失.从图中可知训练过程中,Bi-SSD 模型的分类损失和回归损失均小于SSD 模型,以上现象说明了Bi-SSD 模型相比SSD 模型更少出现误检和漏检,有更好的识别精度和鲁棒性.

图5 VOC 数据集训练损失曲线

SSD、SSD+SOFI、SSD+BiFPN 和Bi-SSD 模型在VOC 数据集上的实验结果如表1所示.

表1 PASCAL VOC2007 test 数据集上的检测结果

表1中SSD+SOFI 和SSD+BiFPN 分别为仅添加SOFI 模块和仅添加BiFPN 模块的SSD 模型.与SSD 模型相比,SSD+SOFI、SSD+BiFPN、Bi-SSD 模型在测试集VOC 2017 test 的检测性能均有所提升,所有类别的均值平均精度mAP (mean Average Precision)提高了分别提高了0.47%、1.22%和1.34%,且在体积较小的目标类别如bird,bottle 等的分类样本中,检测精度均有提升.

以上结果说明了SOFI 模块和BiFPN 模块对小目标检测的有效性.与SSD 模型相比,同时具有SOFI 模块和BiFPN 模块的Bi-SSD 模型对小体积目标的检测能力有最大的提升.

图6是SSD 模型和Bi-SSD 模型在PASCAL VOC数据集上训练后的检测结果对比,为使检测结果更清晰,仅显示了对“person”类别目标的检测结果,3 行图片从上到下分别是原图,SSD 模型检测结果和Bi-SSD 模型检测结果.测试图片中目标均为小目标,很明显Bi-SSD模型在小目标场景下,检测到的正样本更多,具有更高的查准率和查全率.实验结果证明Bi-SSD 对小目标的检测性能确实优于SSD 模型,由于选取的测试图片取复杂自现复杂实街景,也证明了Bi-SSD 模型鲁棒性高.

SSD、SSD+SOFI、SSD+BiFPN 和Bi-SSD 模型在COCO 数据集上的实验结果如表2所示,其中mAP@0.5 和mAP@0.75 分别为模型在正样本交并比(IoU)阈值分别为0.5 和0.75 时模型的均值平均精度,mAP@0.5:0.95 为正样本IoU 阈值分别为0.5 至0.95,以0.05为间隔时所有均值平均精度的平均值.在mAP@0.5,mAP@0.75 和mAP@0.5:0.95 3 个指标上,Bi-SSD 的得分均高于SSD.比较不同尺寸目标的检测结果,Bi-SSD 在小、中、大 3 种尺寸的检测样本中检测平均精度AP 分别为0.084,0.288 和0.43,相比SSD 分别提高了2.4%,3%和3.1%.对于另外一个指标平均召回率AR,Bi-SSD 算法在小,中,大3 种尺寸上的检测结果分别为0.129,0.417,0.569,与SSD 相比分别提升了2.9%,2.9%和2.1%.SSD 在仅添加SOFI模块的情况下,对小目标的平均精度和平均召回率分别提升了0.9% 和8%,在仅添加BiFPN 模块的情况下,各尺度的平均精度和平均召回率均有所提升.

图6 SSD 与Bi-SSD 检测结果对比

表2 COCO 2017 test 数据集上的检测结果

从mAP@0.5,mAP@0.75 和mAP@0.5:0.95 3 个指标的检测结果中可以看出Bi-SSD 模型和SSD+BiFPN 模型的检测性能上全面优于SSD 模型,SSD+SOFI 模型在小目标检测性能上优于SSD 模型.对不同尺寸检测样本的平均精度和平均召回率说明了BiFPN模块使SSD 模型对不同尺寸目标的检测能力均有所提升,其中对小目标的检测结果则说明SOFI 模块使SSD模型更容易从背景中检测出小目标,且对小目标的检测更为准确.以上分析说明BiFPN 模块和SOFI 模块的有效性,与SSD 模型相比,同时具备SOFI 模块和BiFPN模块的Bi-SSD 模型对小目标的检测能力更强.

综合以上2 个实验的结果可知,Bi-SSD 算法相比SSD 算法,检测性能从整体上有所提升,并且对于小目标,不论是精确率还是召回率,Bi-SSD 算法均有较大的提升.以上结果说明了,本文以SSD 为基础提出的Bi-SSD算法确实优化了模型对小目标检测能力.

5 结论与展望

本文以SSD 模型为基础,设计了一种新型的One Stage 目标检测模型Bi-SSD.本文的关键思想是为提升小目标特征提取能力设计的SOFI 模块和参考BiFPN结构设计的特征融合结模块,这两个模块分别从特征提取能力和多尺度特征融合两个角度优化了模型的小目标检测能力,提升了模型在实际应用场景中使用价值.在保留SSD 算法的基础网络VGG-16 的基础上通过添加上面两个模块,在常用目标检测数据集PASCAL VOC 和MS COCO 上均取得了性能的提升,在小目标上的提升尤为明显.若使用更优秀的基础网络来进行特征提取,模型的性能应该还有提升的余地,而且SOFI模块和特征融合模块除了本文提出的结构外,还可以根据不同的基础网络尝试更多的结构.如何选择合适的基础网络和与之匹配的SOFI 模块和特征同和模块将是以后的工作方向.

猜你喜欢
浅层卷积尺寸
晋西黄土区极端降雨后浅层滑坡调查及影响因素分析
基于全卷积神经网络的猪背膘厚快速准确测定
CIIE Shows Positive Energy of Chinese Economy
一种基于卷积神经网络的地磁基准图构建方法
基于3D-Winograd的快速卷积算法设计及FPGA实现
一种并行不对称空洞卷积模块①
浅层换填技术在深厚软土路基中的应用
近30年陈巴尔虎旗地区40厘米浅层地温场变化特征
佳石选赏
佳石选赏