DF-SSD:一种基于反卷积和特征融合的单阶段小目标检测算法

2021-06-29 06:36王良玮李焕军戴震宇
计算机与现代化 2021年6期
关键词:先验卷积准确率

王良玮,陈 梅,李 晖,李焕军,施 若,戴震宇

(1.贵州省先进计算与医疗信息服务工程实验室(贵州大学计算机科学与技术学院),贵州 贵阳 550025;2.航天江南集团有限公司,贵州 贵阳 550009; 3.贵州联科卫信科技有限公司,贵州 贵阳 550001)

0 引 言

目标检测[1-3]是计算机视觉中最重要也是最具挑战性的领域之一,也是计算机视觉和图像处理的一个热门方向,被广泛应用于人脸检测[4]、车辆检测、自动驾驶[5-6]、安全系统、医疗领域和工业质检等,由于其可靠性和可持续工作性,对目标检测算法的研究具有较高的现实意义。小目标由于尺寸小、分辨率低、边缘模糊、抗干扰能力弱等问题,容易造成漏检误检,如何提高小目标物的检测准确率也成为了改进目标检测算法的瓶颈问题。

近几年来,目标检测算法研究取得了很大的突破。目标检测算法可分为two-stage和one-stage这2种,其中two-stage算法是基于Region Proposal算法,将检测问题分为2个部分,首先由算法产生一系列作为样本的目标候选框,然后通过卷积神经网络进行样本分类,具有较高的准确率,但是预测速度较慢。该类算法整体检测准确率较高,但是由于小目标物尺寸较小的特点,使得其在一定深度的网络上会丢失大量边缘信息,增加了漏检率。常见的two-stage算法[7]有R-CNN[8-9]、Fast R-CNN、Faster R-CNN[10]等。One-stage算法不需要Region Proposal阶段,直接产生物体的类别概率和位置坐标值,经过单次检测即可直接得到最终的检测结果,因此有着更快的检测速度。常见的one-stage算法有Yolo[11]、SSD[12]等。SSD相对Yolo实现了进一步的改进,使用多特征层实现目标检测,但是SSD仅用浅层的conv4_3来检测小目标,语义信息不够丰富,小目标物的检测准确率仍有待提升。

为了提高对小目标物的检测准确率,Lin等人[13]于2017年提出了一种Feature Pyramid Networks(FPN)网络结构,同时利用低层特征高分辨率和高层特征的高语义信息,能够在不影响速度的前提下融合多层特征,使每个特征层的特征都具有丰富的语义信息,提高CNN网络特征提取能力。但是FPN在各层之间进行特征融合时,特征以自上而下的方式传播,低层特征可以通过更高层次特征的更强语义信息进行改进,由于通道数的减少,最高金字塔层的小目标的边缘特征信息反而丢失了。Li等人[14]提出了FSSD算法,该算法借鉴了FPN的思想,利用特征层之间的上下文信息,使得算法的精度有了明显的提升,但是增加了计算量。Fu等人[15]将SSD的VGG网络[16]用Resnet-101进行了替换,在分类回归之前引入了残差模块,在SSD添加的辅助卷积层后又添加了反卷积层,从而设计出了DSSD方法。与SSD相比,DSSD在对小目标的检测精度上有了很大的提升,但是这种方法使检测速度大幅度降低。

本文为了改进SSD模型对于小目标物检测效果不够好的问题,提出一种基于SSD改进的目标检测方法DF-SSD。该方法的技术贡献包括2个部分:

1)在进行反卷积与特征融合时,有针对性地选择了2组特征层[17],用于提高小目标和中目标的检测效果。首先,对选定的特征层组进行反卷积后实现特征融合[18],再通过一次卷积消除特征融合带来的重叠效应,最后将得到的卷积层作为特征层[19]回归预测结果,通过反卷积在充分利用了深层特征层语义信息提升浅层特征层语义信息量的同时,还保证了浅层细节信息不丢失,提高了浅层特征层对小目标物的表征能力。

2)改进了先验框尺寸计算方法,为每个数据集生成一组适合的先验框尺寸值,加入了数据集信息对于模型训练的贡献,从而提高模型对于小目标物的预测效果。

为了验证DF-SSD的性能,本文选取了SSD模型、R-SSD模型和DSSD模型在VOC2007数据集和DIOR遥感检测数据集上进行对比实验,并对检测的准确率和效率指标进行分析。实验结果表明,优化后的SSD模型在2个数据集上均表现更优。

1 相关工作

1.1 SSD网络结构

SSD模型以VGG16网络作为基础模型提取特征,采用多尺度特征图[20]检测方法预测不同大小的目标物,其中浅层特征层感受野较小,细节特征信息丰富,用于预测小目标物[21];深层特征图感受野较大,语义特征信息丰富,用于预测大目标物。SSD检测模型如图1所示。

图1 SSD网络模型

1.2 特征融合

特征融合的目的,是把从图像中提取的特征,合并成一个比输入特征更具有判别能力的特征。特征融合方法有concat和add。如图2所示。

(a) concat

(b) add

图2(a)为特征融合方式concat(系列特征融合),直接将2个特征进行连接。2个输入特征x和y的维数若为p和q,输出特征z的维数为p+q。图2(b)为特征融合方式add(并行策略),将2个特征向量组合成复向量,对于输入特征x和y,z=x+iy,其中i是虚数单位。add可以认为是特殊的concat形式。但是add的计算量要比concat的计算量小。

1.3 先验框生成

SSD模型采用多尺度特征图检测方法预测不同大小的目标物,共计6个不同大小的特征层。由于不同的特征层对应到原图上的感受野不同,所以在每个特征层生成的先验框大小也不同。先验框尺寸计算公式为:

(1)

这里,m=6,Smin=0.2,表示conv4_3特征层的先验框尺寸相对原图片的比例是0.2,Smax=0.9,表示conv9_2层的先验框尺寸相对原图片的比例是0.9。

表1 各特征层先验框尺寸大小

2 SSD算法改进

SSD模型浅层网络特征层尺寸较大,感受野较小,细节信息较为丰富,用于检测小目标物,深层网络特征层尺寸较小,感受野较大,语义信息比较丰富,用于检测大目标物。因此,针对SSD模型对小目标物检测效果不好的问题,提出一种反卷积与特征融合相结合的检测方法。改进后的SSD模型网络结构如图3所示。另外,为了提升模型检测的准确率,对先验框尺寸的计算方法进行改进,先验框的尺寸不再是SSD论文中指定的一组固定值,引入数据集中真实框的大小分布情况,根据当前项目数据集的特点,生成一组合适的先验框尺寸。

图3 改进后的SSD网络结构

本文改进后的特征层为conv4_3_1、FC7_1、conv6_2、conv7_2、conv8_2和conv9_2,共计6个特征层。

2.1 特征融合

为了在保留浅层特征层细节特征信息的同时,还能利用深层特征层的语义特征信息提高浅层特征层对于小目标物的表征能力,本文提出通过反卷积增大深层特征层并累加到浅层特征层的方法,应用于浅层的2个特征层上以解决浅层特征层语义信息不够丰富的问题,从而提高对小目标物的检测效果。具体步骤如下:

1)将特征层conv4_3、FC7、conv6_2反卷积至与conv3_3大小及通道数相等,使用add特征融合方式对4个卷积层实现特征融合,然后经过一次卷积运算消除特征融合带来的重叠效应,得到卷积层conv4_3_1作为新的特征图取代原来的特征层conv4_3,如图4(a)所示。

2)将特征层FC7、conv6_2、conv7_2反卷积至与conv4_3大小及通道数相等,使用add特征融合方式对4个卷积层实现特征融合并经过一次卷积运算消除特征融合带来的重叠效应,得到卷积层FC7_1作为新的特征图取代原来的特征层FC7,如图4(b)所示。

为了减少计算量,本文的特征融合方法均选用add。

(a) conv4_3_1

(b) FC7_1图4 本文模型的特征增强模块

2.2 先验框尺寸计算算法改进

SSD模型从卷积层中选取conv6_2、conv7_2、conv8_2、conv9_2这4个特征层,加上特征融合后的conv4_3_1、FC7_1这2个卷积层,共计6个卷积层作为预测结果的特征图组。特征图先验框的个数预测依次为4、6、6、6、4、4。先验框长宽比依次为[[2],[2,3],[2,3],[2,3],[2],[2]]。SSD对先验框尺寸的计算是事先给定min_ratio=0.2,max_ratio=0.9,然后根据公式(2)进行计算,这样计算得到的先验框大小是固定的,不能够很好地匹配数据集的实际情况。为了提高先验框对目标物的匹配准确率,本文改进了先验框尺寸计算算法,引进数据集中真实框的额分布情况,使得模型自动生成一组和数据集相匹配的先验框尺寸,提高模型对目标物的检测正确率。先验框尺度计算公式为:

(2)

其中,Smin、Smax的计算方法如下:S为训练集resize至300×300后所有真实框的边长大小,len=len(S)×0.05。A1为S中最大的len个值的平均值,A2为S中最小的len个值的平均值。

(3)

考虑到特征层大小分布,每一层适宜检测的尺寸大小是不同的。根据相关SSD实验数据对Smin、Smax限定范围,具体方式为:

(4)

3 实验结果与分析

3.1 实验环境

本文实验基于Ubuntu 16.04,GPU显卡型号为RTX2080Ti。采用的深度学习框架为Pytorch 1.6.0。

3.2 实验数据集

为了避免训练数据量不足造成的过拟合问题,本文选用了PASCAL VOC2007数据集和DIOR遥感数据集作为实验数据集做对比试验。为了验证DF-SSD模型的检测效果,与SSD算法和基于SSD改进的R-SSD、DSSD算法进行比较。DSSD模型的输入图像尺寸为321×321,其余模型的输入图像尺寸大小为300×300。

3.3 实验结果

PASCAL VOC2007(著名的公开图像数据集,其中包含了bottle、chair、plant类比较典型的小尺寸目标)是视觉对象分类识别和检测的20类别的标准数据集,DF-SSD算法与SSD、R-SSD、DSSD在PASCAL VOC207数据集上的平均准确率和检测速度对比如图5所示。DF-SSD算法与SSD算法在每一类目标精度上进行比较的统计结果如表2所示。

图5 4种模型在PASCAL VOC2007测试集的检测效果对比图

表2 PASCAL VOC2007测试集的单个类别检测精度 单位:%

由图5可知,相比SSD模型,DF-SSD模型既保留了one-stage模型的速度优势,又提高了模型检测精度。对比基于SSD改进的模型R-SSD和DSSD,DF-SSD模型在保证了更高准确率的同时,平均检测时间分别是R-SSD的1/2和DSSD的1/5。

由表2可知,输入图像尺寸为300×300时,本文提出的模型在PASCAL VOC2007数据集的平均检测准确率较SSD300模型提升了1.4百分点,在每一类目标上的检测精度均优于SSD目标检测算法。其中cat和bird这2类小目标物的检测准确率提升较为显著,分别提升了4.8和3个百分点。可见本文方法能有效检测小目标,对小目标检测的平均准确率有明显的提升。

为进一步验证本文提出的DF-SSD模型在检测速度和检测精度上的优势和对小目标识别的准确率,选取DIOR数据集[22](一种用于光学遥感图像中目标检测的大规模基准数据集,由23463幅图像和190288个目标实例组成)作进一步评测分析。

图6 4种模型在DIOR测试集的检测效果对比图

表3 DIOR测试集的单个类别检测精度 单位:%

由图6可知,DF-SSD模型的平均检测准确率比SSD、R-SSD、DSSD分别高了3.6、2.7和2.1个百分点。平均检测速度略低于SSD,但远高于R-SSD和DSSD,其在检测速度和检测精度上均表现良好。

由表3可知,DF-SSD模型在DIOR数据集的Map指标比SSD高出3.6个百分点。并且在每一类目标物上均等于或大于SSD模型,对几类中小型目标物的检测正确率的提升尤为明显,对ship、vehicle、windmill这3类数据的检测精度分别提升了23.2、12.6和8个百分点。

图7是本文进行的部分检测结果对比。

(a) DF-SSD (b) SSD图7 检测结果对比

4 结束语

针对SSD对小目标物检测准确率不够高的问题,本文提出了DF-SSD算法,利用反卷积与特征融合的方法改进原有的SSD模型。该模型对深层的特征层通过反卷积增大分辨率,融合浅层特征层得到新的特征层,得到的新的特征层融合了深层特征层丰富的语义信息和浅层的细节信息,有利于提高模型对小目标物的表征能力。同时,DF-SSD模型改进了先验框尺寸的计算方法,引进了数据集真实框的大小分布情况,从而生成一组适合该数据集的先验框尺寸,使得先验框能更好地匹配真实框。实验表明,本文的DF-SSD模型相比基于SSD优化的R-SSD和DSSD模型,在检测速度和检测精度上均表现良好,并且对目标物检测的整体能力优于SSD模型,其对小目标物检测准确率的提升尤为显著。但是,由于本文的DF-SSD模型对于小目标的检测依旧仅仅依靠38×38的单张特征层,可能会存在所包含的细节信息不够情况,有时会对部分小目标物的检测准确率提升有限。因而在不减少特征图语义信息的基础上增加细节信息并优化网络结构,从而进一步提升模型的泛化能力,是本文的一个主要后续技术工作方向。

猜你喜欢
先验卷积准确率
基于3D-Winograd的快速卷积算法设计及FPGA实现
乳腺超声检查诊断乳腺肿瘤的特异度及准确率分析
不同序列磁共振成像诊断脊柱损伤的临床准确率比较探讨
2015—2017 年宁夏各天气预报参考产品质量检验分析
基于无噪图像块先验的MRI低秩分解去噪算法研究
从滤波器理解卷积
高速公路车牌识别标识站准确率验证法
基于傅里叶域卷积表示的目标跟踪算法
基于自适应块组割先验的噪声图像超分辨率重建
基于平滑先验法的被动声信号趋势项消除