APP下载

基于深度学习的MSSD目标检测方法

2018-09-10赵庆北元昌安

企业科技与发展 2018年5期
关键词:目标检测

赵庆北 元昌安

【摘 要】文章提出了一种基于深度学习的MSSD(Modified Single Shot multibox Detector)目标检测方法。文章阐述了SSD方法的模型与工作原理,SSD方法采用多尺度的特征图预测物体,使用具有较大感受野的高层特征图预测大物体,具有较小感受野的低层特征图预测小物体。使用的低层网络的特征图预测小物体时,由于缺乏高层语义特征,所以导致SSD对小物体的检测效果较差。文章提出了一种MSSD模型,把原有的VGG网络替换为深度残差网络,采用了特征金字塔网络模块对高层语意信息和低层细节信息融合,并通过1 000张图像数据集测试,对比MSSD方法与SSD方法在目标检测上的物体检索能力与检测精度。结果表明,MSSD方法比SSD方法准确率高、速度快。

【关键词】MSSD;SSD;目标检测;特征金字塔网络

【中图分类号】TP391 【文献标识码】A 【文章编号】1674-0688(2018)05-0088-05

0 引言

伴随着计算机硬件与软件的快速发展,以及近几年的人工智能、无人驾驶汽车[20]、智慧交通、人脸识别等技术在诸多方面的应用,都无疑要用计算机对运动的目标实时地检测跟踪,使得目标检测现在变得越来越重要。目标检测一直是计算机视觉的基础问题,传统的目标检测方法都是区域选择、提取特征、分类回归。例如,基于AdaBoost+Haar的人脸检测算法[1]、梯度方向直方图(Histogram of oriented gradient,HOG)特征[2]、构造分类器[3]、协方差描述子[4]、CENTRIST特征(census transform histogram)[5]、DPM(Deformable Part Model,DPM)[6]。

云计算时代来临后,目标检测算法大家族主要划分为两大派系,一个是R-CNN系为代表的如R-CNN[7]、SPP-net[8]、Fast R-CNN[9]、Faster R-CNN[10]、Mask R-CNN[11],优点是准确率相对高,缺点是速度慢;另一个则是以YOLO为代表的基于回归方法的深度学习目标检测算法,如YOLO[12]、SSD[13],优点是速度快,缺点是准确率相对低。

SSD就在YOLO的主意上添加了Faster R-CNN的Anchor概念,并融合不同卷积层的特征做出预测。SSD获取目标位置和类别的方法跟YOLO一样,都是使用回归,但是YOLO预测某个位置使用的是全图的特征,SSD预测某个位置使用的是这个位置周围的特征,使用Faster R-CNN的anchor机制建立某个位置和其特征的对应关系。SSD相对于其他几种算法检测性能相对较好。而且,可以保证实时性且准确度高。

本文提出了一种改进的SSD的目标检测方法MSSD, 主要用于改进经典SSD在目标检测上的不足。本文采用基于FPN的网络结构进行高低层的融合并且改进了传统上采样的结构。将高层的语义信息融入低层网络的特征信息中,丰富预测回归位置狂和分类任务输入的多尺度特征图来提高检测精度。将SSD训练所使用的VGG16网络替换为深度残差网络,优化候选框回归和分类任务输入的特征图,以提升目标检测能力。实验结果表明,该设计大大改善了对小目标的检测能力,这对于深度学习技术进一步应用于目标检测具有重要意义和参考价值。

1 SSD模型

SSD的架构主要分为2个部分:一部分是位于前端的深度卷积神经网络,采用的是去除分类层的图像分类网络, 如VGG,用于目标初步特征提取;另一部分是位于后端的多尺度特征检测网络,是一组级联的卷积神经网络,将前端网络产生的特征层进行不同尺度条件下的特征提取。SSD框架如图1所示。

2 Modified Single Shot Model(MSSD)模型

2.1 网络结构设计

在利用SSD模型进行检测图像的过程中,该模型并没有采用SSD原来的VGG网络,而是引入了深度残差网络Resnet[14]。表面Resnet可以解决随着网络加深,准确率下降的问题,弥补了SSD模型的缺陷,提高了模型的检测速度和精度。

2.1.1 使用深度残差网络ResNet101代替VGG

本文的第一个修改是使用ResNet101网络代替原始SSD中使用的VGG基础网络,本文使用的来自文献[14]的ResNet101网络。目的是提高准确性。图2(a)显示了以ResNet101为基础网络的SSD。

MSSD的网络结构与SSD对比如图2所示,以输入图像尺寸为为例,图2(a)为SSD-ResNet101的网络结构,conv3_x层和conv5_x层为原来的ResNet101中的卷积层,后面的5层是SSD扩展卷积层,原来的SSD算法是将这7层的特征图直接输入到预测阶段做框的回归任务和分类任务。MSSD是将这7层特征图拿出6层输入到特征金字塔网络模块里,输出修正的特征图金字塔。在图中越往后分辨率越高,而且包含的上下文信息越丰富,综合在一起,使得检测精度得以提升。最后经预测模块输入给框回归任务和分类任务做预测。

本文在conv5 x块之后添加图层,并预测conv3 x,conv5 x和其他图层的分数和框偏移量。然后增加一个额外的预测模块,显著提高了性能。

2.1.2 特征金字塔网络

特征金字塔网络模块指的是MSSD中高层特征和低层特征的融合模块,其基本结构如图3所示。

本文按照FPN的方式搭建本文的网络,然后加了3个BN(Batch Normalization)[16]和3个3×3卷积,这里的卷积也起到了缓冲的作用,防止梯度对主干网络影响太剧烈,保证网络的稳定性。

高层的特征图的尺寸为2H*2W*D,低层将要构建特征金字塔网络的特征图尺寸为H*W*512,高层特征图的通道数将会被舍弃,在特征金字塔网络模块中,卷积个数都依赖于输入的低层特征图的通道数。特征融合后每一个负责预测的特征层通道维度变为512;BN操作放在卷积层和激活层之间;之前一些方法的上采样都是通过双线性插值来实现的,MSSD是通过特征金字塔网络模块来学习得到的上采样特征图。高层特征图与低层特征图在通道融合时,使用了broadcast mu,即通道之间做乘法运算;在SSD中一些网络如VGG的低层特征图需要增加正则化的操作处理,因为它的特征图尺寸和其他层不同,如果混在一起训练,在实践过程中会很难训练。特征有2种融合方式,一个是早期融合,然后放入分类器一起分类,另一种就是晚期融合,就是分类后再融合。如果没有额外的处理,则2种方式是一樣的。一般来说,早期融合可以很好地利用更多特征,这个是晚期融合做不到的。但是本文发现,如果加入了L2正则化[17],那么它们是相似的。但是做特征融合时要注意的是不同层的数据尺度是不一样的,所以需要正则化才能融合。而且不同层的数据尺寸也不同,所以也不能够直接融合。所以,本文使用了L2正则化。在MSSD进行高低层特征融合时低层特征必要的时候需要增加正则化处理;训练时采用了3个阶段:第一阶段训练一个原始SSD模型;第二阶段训练解卷积分支,不冻结原始SSD模型里的层;第三阶段所有层一起调优。

为了在检测中包含更多的高级上下文,本文将预测转移到原始SSD设置之后的一系列特征金字塔网络的各层。本文实验中的MSSD模型建立在具有ResNet101的SSD上。增加额外的特征金字塔网络层以连续增加特征图层的分辨率。为了增强功能,本文采用了Hourglass模型[18]中的跳过连接思路。与随机初始化模型相比,在ILSVRC CLS-LOC数据集[19]的分类任务上预先训练的模型使本文的检测器的准确度更高,收敛更快。

2.1.3 预测模块

预测模型是在框回归任务、分类任务之前和特征金字塔网络模块之后添加的网络结构。

预测模型结构如图4所示,图4(a)为SSD使用的方法,直接提取出网络中的多尺度特征图做分类和框回归的预测;图4(b)为resnet残差单元的网络结构;图4(c)为本文改进的只含一个残差单元的预测模型,在残差旁路将原来的特征图用的卷积核做处理后与网络主干道的特征图做通道间加法。

在训练阶段,本文分为3个阶段:第一阶段训练一个原始SSD模型;第二阶段训练解卷积分支,不冻结原始SSD模型里的层;第三阶段所有层一起调优。对比了图4中3种预测方式的实验结果,最后确定采用结果图4(c)的方式。因此,本文在预测阶段,使用的是图4(c)的方式来对特征图做处理。

在原始的SSD中,目标函数直接应用于选定的特征映射,而L2归一化层用于conv4 3层,因为梯度大。MS-CNN指出,改进每个任务的子网络可以提高准确性。遵循这个原则,本文为每个预测层添加一个残差块,同时尝试了原始的SSD方法和带有跳跃连接的方式。

本文加这个模块是因为MS-CNN[15]指出提升每个子任务的表现可以提高准确性。通过实验表明,图4(c)的效果最好。

2.2 模型训练方法

实验时,使用SSD模型初始化MSSD网络,但是对于默认候选框选取的长宽比例,本文做了详细的分析和改进。为了得到PASCAL VOC2007 图片里各个物体对应的真实位置框的长宽比例,本文用K均值分类算法[29]对这些真实框内区域面积的平方根作为特征做了一个聚类分析,做聚类的时候增加聚类的个数来提升聚类的准确度,通过这种聚类实验最后确定了预测使用的默认候选框的长宽比例为1、1.6、2和3,作为每一个特征图的默认候选框所使用的长宽比例。本文通过修改预测层的通道数来提高检测速度并且设置MSSD默认框长宽比的比例。以ResNet101为基础的网络最低层预测层及之后延伸出去的预测层通道数均为非常臃肿的1 024,这样虽然map很高,但是网络速度非常慢,模型大小也到了惊人的1.5 G以上。本文在实现过程中主要是基于实用性考虑,没有重视网络,而将6层特征图的通道数改为[1024,2048,512,256,256,128],这样做的主要意义在于验证算法的普适性,观察该算法在其他参数甚至其他网络下是否同样有效。在使用VGG16网络时,7层特征图的通道数采用[512,1024,512,256,256,256,256]。本文没有设置MSSD的默认候选框的长宽比,仍然使用SSD的长宽比,并且减少了一些[3,1/3]的比例。

本文在caffe的框架中将SSD的基础网络改成ResNet101然后重新训练了一个新的SSD模型,以VOC2007的数据集为例,训练集使用的数据是VOC2007数据集,测试用的是07的测试集,训练时一共迭代了7k次,使用学习率为1e-3在前4k次迭代次数,然后调整学习率为1e-4、1e-5再分别训练2k次、1k次迭代次数。然后用训练好的SSD模型来初始化MSSD网络。

训练MSSD的过程分為3个阶段:第一个阶段训练一个原始的SSD模型;第二个阶段只训练特征金字塔网络模块,并且不冻结网络参数直接训练,添加预测模型,设置学习率为1e-3、1e-4分别迭代2k次和1k次;第三个阶段对模型进行总体调优。

3 试验结果及分析

在通用的目标检测中,本文的目的是网络能正确地分类并且能进行精确地定位。本文用预测框的置信度来衡量分类的正确性,预测框的坐标信息衡量定位的准确性。一个比较好的目标检测算法应该有比较高的置信度、高的召回率及准确率。在小目标检测精度、检测速度方面,本文提出的MSSD模型比传统SSD模型有更好的表现。

为了验证特征金字塔网络层模块和预测模型对于检测性能的作用,本文训练了一个输入图像为321×321的ResNet

101-SSD模型,它的map为76.4%。然后加入了不同的预测模型结构(b)和(c),使用之后的map分别为76.9%、77.1%,效果很好。本文发现预测模型(c)的map是最高的,所以确定并选取只含一层残差单元的模型结构来做候选框回归和分类任务,并在之后的输入为321的MSSD模型中,训练VOC2007的数据集,都使用预测模型(c)做实验。最后又调优整个模型训练特征金字塔网络模块。

实验数据的来源也即目标检测图像的来源是VOC2007数据集。实验工具为Quadro K4200 GPU,Xeon E5-2620 CPU;操作系统为Ubuntu14.04。

3.1 VOC2007数据集下目标检测的测试结果

为了对比MSSD与传统的SSD的检测结果,本文从VOC2007数据集中选取了1 000张图片,分别进行MSSD目标检测和传统的SSD检测,检测了12种不同的物体,如飞机、鸟、船、瓶子、汽车、椅子、牛、狗、马、人、盆栽、羊等类别。实验结果如图5所示。

图5左侧为原始的SSD模型的检测结果,右侧为MSSD模型目标检测的最终结果。从图5中可以很明显地看出,传统SSD模型不能较精确地把图像中的目标物体检测出来,而MSSD可以检测出来较多的物体,对于类别比较接近的物体,MSSD的检测结果准确性更高。之所以不能取得较好检测结果的原因是SSD模型本身是基于深度卷积神经网络的,使用具有较大感受野的高层特征信息预测大物体,具有较小感受野的低层特征信息预测小物体。使用的低层网络的特征信息预测小物体时,由于缺乏高层语义特征,导致SSD对于小物体的检测效果较差。而MSSD模型使用了基于上下文的融合方法,使用深度残差网络,将高层的语义信息融入低层网络的特征信息中,丰富预测回归位置框和分类任务输入的多尺度特征图,以此来提高检测精度。在提取出多尺度特征图之后,提出由残差单元组成的预测模块,进一步提取深度的特征输入给框回归任务和分类任务,所以MSSD模型较传统SSD模型检测精度得到了提升。

3.2 性能提升驗证实验

目标检测的效果经常用mAP(mean Average Precision)和FPS(Frames Per Second)来衡量,本文计算传统的SSD和MSSD的mAP和FPS,并通过mAP来评估在相同置信度阈值的条件下目标检测的结果。实验结果见表1。

从表1可以看出,MSSD与传统的SSD模型相比较,MSSD在飞机、鸟类、瓶子、汽车、椅子、牛、狗、马、人、羊的类别(除了船舶和植物)时mAP都大于传统的SSD模型,并且FPS也大于传统的SSD模型。而且相对于SSD321来说,本文的MSSD321模型mAP提升了1.8,FPS提升了3.1。所以,MSSD比传统的SSD模型的精度要高。本文提出的MSSD模型,无论在检测精度还是在检测时间上都优于SSD模型。

4 结语

本文阐述了经典SSD方法的模型与工作原理,SSD方法采用多尺度的特征图预测物体,使用具有较大感受野的高层特征信息预测大物体,具有较小感受野的低层特征信息预测小物体。使用的低层网络的特征信息预测小物体时,由于缺乏高层语义特征,所以导致SSD对于小物体的检测效果较差。基于此,本文提出了一种MSSD模型,采用了特征金字塔网络模块对高层语意信息和低层细节信息进行融合,并通过1 000张小目标图像数据集测试,评估和对比了MSSD方法与经典SSD方法在目标检测上的物体检索能力与物体检测精度。结果表明:MSSD方法的mAP、FPS相比于经典SSD方法分别提高了1.8和3.1,验证了所提出算法的有效性。下面将进一步改进其模型,增强其共享机制,改善其时效性,同时结合图像全局信息进一步提高算法的性能。

参 考 文 献

[1]Zhu J,Zou H,Rosset S,et al.Multi-class Ada-Boost[J].Statistics & Its Interface,2009,2(3):349-360.

[2]Dalal N,Triggs B.Histograms of Oriented Gradie-nts for Human Detection[A].IEEE Computer Society Conference on Computer Vision & Pattern Rec-ognition[C].IEEE Computer Society,2005:886-893.

[3]Zhu Q,Yeh M C,Cheng K T,et al.Fast human detection using a cascade of histograms of oriented gradients[A].IEEE Computer Society Conference on

Computer Vision & Pattern Recognition[C].IEEE,2006:1491-1498.

[4]Tuzel O,Porikli F,Meer P.Human Detection via Classification on Riemannian Manifolds[A].IEEE Co-nference on Computer Vision & Pattern Recognition[C].IEEE,2007:1-8.

[5]Wu J,Rehg J M.CENTRIST:A Visual Descriptor for Scene Categorization[J].IEEE Transactions on Pattern Analysis & Machine Intelligence,2011,33(8):1489-1501.

[6]Felzenszwalb P,Girshick R,Mcallester D,et al.Visual object detection with deformable part models[J].2010,17(3):2241-2248.

[7]Gkioxari G,Hariharan B,Girshick R,et al.R-CNNsfor Pose Estimation and Action Detection[J].Com-puter Science,2014.

[8]He K,Zhang X,Ren S,et al.Spatial Pyramid Po-oling in Deep Convolutional Networks for Visual Re-cognition[M].Computer Vision ECCV 2014 Springer International Publishing,2014:1904-16.

[9]Girshick R.Fast R-CNN[A].IEEE International Co-nference on Computer Vision[C].IEEE Computer Society,2015:1440-1448.

[10]Ren S,He K,Girshick R,et al.Faster R-CNN:towards real-time object detection with region proposal networks[A].International Conference on Neural Information Processing Systems[C].MIT Press,2015:91-99.

[11]He K,Gkioxari G,Dollar P,et al.Mask R-CNN[A].IEEE International Conference on Computer Vision[C].IEEE,2017:2980-2988.

[12]Redmon J,Divvala S,Girshick R,et al.You Only Look Once:Unified,Real-Time Object Detection[J].Computer Science,2016.

[13]Liu W,Anguelov D,Erhan D,et al.SSD:Single Shot MultiBox Detector[A].European Conferenceon Computer Vision[C].Springer,Cham,2016:21-37.

[14]He K,Zhang X,Ren S,et al.Deep Residual Le-arning for Image Recognition[A].Computer Vision and Pattern Recognition[C].IEEE,2016:770-778.

[15]Cai Z,Fan Q,Feris R S,et al.A Unified Multi-scale Deep Convolutional Neural Network for Fast Object Detection[J].2016:354-370.

[16]Ioffe S,Szegedy C.Batch normalization:accelerating deep network training by reducing internal covariate shift[A].International Conference on International Conference on Machine Learning[C]. JMLR.org,2015:448-456.

[17]Liu W,Rabinovich A,Berg A C.ParseNet:LookingWider to See Better[J].Computer Science,2015.

[18]Newell A,Yang K,Deng J.Stacked HourglassNetworks for Human Pose Estimation[J].2016:483-499.

[19]Russakovsky O,Deng J,Su H,et al.ImageNet Large Scale Visual Recognition Challenge[J].International Journal of Computer Vision,2014,115(3):211-252.

[20]唐科祥.淺谈汽车未来发展趋势[J].企业科技与发展,2016(4):148-151.

[责任编辑:钟声贤]

猜你喜欢

目标检测
多视角目标检测与跟踪技术的研究与实现
视频中目标检测算法研究
行为识别中的人体运动目标检测方法
移动机器人图像目标识别
基于背景建模法的运动目标检测
基于P3电位的目标检测研究
智能视频技术在电力系统领域的应用
相关K分布杂波中扩展目标积累检测性能分析
基于连通域标记的目标检测算法设计与实现
一种改进的峰均功率比判源方法