基于改进SSD网络的目标检测方法

2020-06-22 13:15周德良
软件导刊 2020年5期
关键词:目标检测

周德良

摘 要:传统目标检测方法存在准确率低、可靠性差、效率低等问题,无法满足对大量图片准确、高效处理的需求。对SSD网络结构进行改进,删除原网络最后两个预测层,对保留各预测层的默认框个数和宽高比进行优化,同时对保留的最后一个预测层的网络参数进行改进。改进后的SSD网络减少了网络参数和计算量,对存在遮挡、目标较小等情况的图片数据具有更好的检测精度和检测效果,同时模型检测的mAP提高了约5.1%。改进后的网络模型解决了传统方法的不足,可以实时、准确、高效地对大量图片数据进行目标检测处理。

关键词:SSD网络;目标检测;预测层;默认候选框;损失函数

DOI:10. 11907/rjdk. 192082 开放科学(资源服务)标识码(OSID):

中图分类号:TP301文献标识码:A 文章编号:1672-7800(2020)005-0052-04

0 引言

目标检测[1-4](Object Detection)是利用图像处理与模式识别等理论和方法,检测并确定图像中存在的目标对象及其语义类别,同时在图像中标定出目标对象位置的检测技术。SSD目标检测[5-8]通过多层表示对数据间的复杂关系进行建模,并通过组合低级特征以形成更加抽象的高级特征,从而完成对数据特征的提取,并基于已提取特征,利用训练好的检测模型对新样本进行目标检测。其具有很强的建模和推理能力,能够有效、准确地解决许多复杂的目标检测问题。目标检测具有广阔的应用前景和较高的市场价值,其不仅可以应用于智能视频监控、无人驾驶、机器人导航、行人检测[9]等领域,也可以应用于人体行为识别、图像语义分割、事件检测等更复杂的领域。

传统目标检测方法[10-11]主要采用特征提取+分类模式,首先将目标从视频或图片中分割出来并对其进行特征提取,将提取到的特征与标准设计特征进行比对,然后利用SVM[12]、Adaboost[13]等分类器进行类别判断。传统方法存在准确率低、可靠性差、效率低等问题,无法对传播媒介迅速发展所产生的大量图片进行准确、高效处理。本文基于改进的SSD网络对图片数据进行学习训练与目标检测,通过优化网络结构提高模型检测性能,旨在满足对大量图片数据进行准确、高效地目标检测需求。

1 SSD

SSD[5-8](Single Shot MultiBox Dector)是2016 在ECCV上提出的一种目标检测算法,为目前主要的目标检测框架之一。SSD采用了YOLO[14-15]的回归思想,将目标检测转化为简单的回归问题进行处理;SSD采用Faster RCNN[16]中的Anchor机制,选取不同尺度和长宽比的默认框;同时,SSD采用基于特征金字塔(Pyramidal Feature Hierachy)的检测方式,在不同尺度的特征图上同时进行Softmax分类和位置回归。相比Faster RCNN,SSD具有显著速度优势,而相比YOLO,其又具有显著的mAP优势。

1.1 SSD网络结构

SSD网络架构如图1所示,主要由位于前端的基础网络部分和位于后端的附加特征提取部分组成。其中,基础网络部分采用VGG-16[17]分类模型去除分类层的卷积网络,主要用于提取目标的初级特征。该部分包含13个卷积层,在对尺寸为300×300 的输入图像进行卷积运算后可得到512张19×19的特征图。附加特征提取部分是一组级联的卷积神经网络,主要用于提取目标的高级特征。该部分包含10个卷积层,其中前两个卷积层Conv6和Conv7分别由VGG-16模型中全连接层Fc6与Fc7通过下采样和 atrous方法修改而成,同时去除了VGG-16中的dropout层和分类层,并将池化层pool5由原来的2×2-s2?更改为3×3-s1;其余8层为格外创建的卷积层,分为4组,每一组都先使用1×1的卷积核降通道,再使用3×3 的卷积核增通道。

1.2 SSD检测机制

SSD目标检测机制主要以不同尺度的特征图和默认候选框修正作为检测基础,具体内容如下:

SSD网络选取conv4_3、fc7、conv8_2、conv9_2、conv10_2、conv11_2等6个卷积层作为目标检测的预测层,对这6个预测层不同尺度的特征图同时进行Softmax分类和位置回归。针对每一层特征图,选取若干不同大小、不同长宽比的默认候选框,其中能与Ground Truth物体框相匹配的默认候选框就是正样本,负责对待检目标进行分类与定位,反之为负样本,与背景相匹配。为了保证正负样本尽量平衡,采用Hard Negative Mining方法对负样本进行抽样,以保证正负样本比例接近1∶3。默认候选框大小随预测层深度增加不断增大,因此浅层预测层负责预测小目标,深层预测层负责预测大目标。利用前向传播在不同尺度特征图上回归得到默认候选框的修正值,据此对默认候选框进行修正可得到待检目标的预测框,然后计算目标损失函数并利用误差反向传播更新各层相关参数。通过前向传播与误差反向传播的不断迭代,最终在不同尺度特征图上可得到待检目标的最终预测框和类别信息。

1.3 SSD目标损失函数

SSD网络同时对目标位置和類别进行回归,因此目标损失函数是置信损失和位置损失之和,如式(1)所示。

其中,N为与Ground Truth物体框相匹配的默认候选框个数;x为默认候选框与不同类别的Ground Truth物体框匹配结果;c为类别置信度;l为预测框位置信息;g为Ground Truth物体框位置信息;a为位置损失权重参数;[Lconf(x,c)]为类别置信损失;[Lloc(x,l,g)]为位置置信损失。

1.4 SSD训练流程

SSD训练流程概括如下:①输入数据经过前向传播得到不同层级的特征图,选取部分特征层作为预测层,并在不同尺度特征图上选取若干不同大小、不同长宽比的默认候选框;②将前端网络产生的特征图作为预测层的输入,在预测层经过卷积计算得到每个默认候选框的坐标位置偏移量和类别置信度;③根据默认候选框的偏移量计算出待检目标的预测框,再根据类别置信度和定位置信度计算每个默认候选框的损失函数,累加求和得到网络总体损失函数;④将网络误差通过反向传播分摊给各层所有单元,根据各单元误差信号利用链式求导法则计算梯度,调整各单元权重和相关参数;⑤重复上述过程直到损失函数满足一定阈值范围,或迭代训练达到预定最大迭代次数为止。

2 SSD目标检测

2.1 数据处理

实验数据集采用网络媒介上下载的图片,一共包括   9 500张,每一张包含1个或多个目标物体。利用labelImg图片标注工具对数据集图片中出现的人、猫、狗、绵羊、小汽车、摩托车、船、飞机等20类常见目标物体进行标注,每标注完成一张图片对应生成一个xml文件,里面包含对应图片内所有目标物体的标签信息和位置信息。将9 500张数据随机取出7 600张作为训练集,用于网络模型训练,余下的1 900张作为测试集,用于迭代训练过程中的模型测试,并通过脚本程序将训练集与测试集数据分别对应转化成LMDB数据文件,供神经网络读取数据并用于训练及测试。训练过程中,通过数据增强方法随机改变图片亮度、对比度、饱和度,同时对图片进行随机剪切、镜像等,以增加网络训练模型的泛化性,提高网络模型检测能力。

2.2 网络改进

未改进SSD网络的各预测层基本参数如表1所示,可以发现,越靠前的预测层其特征图尺寸越大,但感受野尺寸和默认框尺寸越小;越靠后的预测层其特征图尺寸越小,但感受野尺寸和默认框尺寸越大。因此,靠前的预测层负责预测图片中的小目标,而靠后的预测层负责预测图片中的大目标,尤其是conv10_2和conv11_2这两个预测层,其宽高比为1的默认框尺寸均在200×200以上,最大的甚至接近SSD网络输入图像的尺寸300×300,因而主要负责预测占据图片尺寸一半以上甚至几乎整个图片画面的更大目标。

图2为所有数据集Ground Truth物体框的分布情况,图中横轴表示Ground Truth物体框的宽,纵轴表示Ground Truth物体框的高,黑色点表示Ground Truth物体框的宽高分布。从图2可以发现,在区域A(横轴200~300、纵轴200~300)、区域B(横轴200~300、纵轴135~200)和区域C(横轴135~200、纵轴200~300)内黑色点分布非常稀少,但在这3个区域之外黑色点分布非常浓密,这表明Ground Truth物体框在区域A、B、C分布非常稀少,几乎全部Ground Truth物体框都分布在这3个区域之外。同时参考表1可以发现,conv10_2和conv11_2这两个预测层所具有的默认框尺寸与训练数据集Ground Truth物体框分布存在较差的匹配度,它们相对训练数据集Ground Truth物体框显然更适合预测更大的目标,而其它4个预测层的默认框尺寸与训练数据集Ground Truth物体框分布则能够很好地匹配。因此,为了更好地对待检目标进行学习训练与预测,同时为了加快SSD网络的计算和收敛速度,删掉原SSD网络的预测层conv10_2和conv11_2,保留其它4个预测层conv4_3、fc7、conv8_2和conv9_2。观察图2还会发现,Ground Truth物体框的宽高分布包含了宽高比1/3、3、1/2、2等所有情况,因此conv4_3、fc7、conv8_2和conv9_2这4个预测层的默认框个数和宽高比较原SSD网络保持不变。同时为了更好地提取特征图内待检目标的目标特征,将预测层conv9_2的填充Pad由1改为0。

2.3 网络训练

网络训练集共包括7 600张图片,测试集共包括1 900张图片,待学习类别总数为20。因此,利用SSD网络进行数据训练时,网络参数设置主要包括批尺寸(batch_size)、学习率(learning_rate)、动量常数(momentum)、权值衰减系数(decay)等,具体参数取值如表2所示。

2.4 结果与分析

利用原始SSD网络和改进后的SSD网络分别对相同的数据集进行训练,训练过程参数选取与表1相同,得到的模型检测结果如图3所示。从图3可以发现,改进后的SSD网络在检测性能、检测精度上较改进前有一定提高,比如圖3(a)与图3(b)的第1行1列对应图,改进前受树和木牌遮挡,网络检测到两个car,改进后网络则准确分类并定位得到一个car;图3(a)与图3(b)的第2行4列对应图,改进前彼此密集靠近站立的3个person,侧边person与中间person两个人均被误检测成一个person,而改进后网络则能准确分类并定位每一个紧密排列的person;图3(a)与图3(b)的第2行3列对应图,改进前趴地的dog虽能正确分类,但坐标定位存在一定偏差,而改进后网络则不仅能正确分类,坐标定位也更加准确;图3(a)与图3(b)的其它图,则对目标较小的car(第2行1列)和sheep(第1行3列)、密集分布的person(第1行2列)等都可以实现准确识别与检测。不仅如此,改进后的网络在同样50 000次迭代训练后检测mAP提高了约5.1%,具有更高的平均检测精度。

综上,改进后的网络相比于改进前,提高了检测模型的检测性能和精度,实现了对绝大部分数据的准确分类和定位,包括上述提到的存在遮挡、密集排列等情况的数据;同时实现了检测mAP的提升,能够满足实用准确性要求。

3 结语

SSD目标检测是目前目标检测主流算法之一,其具有检测速度快、检测精度高等优点。针对传统目标检测方法效率低、精度低的问题,本文通过分析数据集Ground Truth物体框的分布情况,对SSD网络结构中与Ground Truth物体框尺寸不匹配的默认框及对应预测层进行删减,并对保留的各预测层默认框个数和宽高比予以优化,同时对保留的最后一个预测层的网络参数加以改进。改进后的SSD网络较改进前不仅具有更少的计算参数和计算量,能够加快训练模型收敛速度,同时对待检目标具有更高的检测精度和检测性能,检测mAP提高了约5.1%,特别是对于存在遮挡、目标较小、密集排列等情况的图片数据,改进模型能够对待检目标进行更准确的分类和定位,具有更好的检测效果。未来工作中,将继续对SSD网络结构及参数进行优化,使改进网络针对目标较多且彼此严重遮挡的图片数据具有更高的鲁棒性和检测精度,实现改进模型在目标检测上的普适化应用。

参考文献:

[1] REZAEI M,KLETTE R. Object detection, classification, and tracking[J]. Computer Vision for Driver Assistance,2017,45:51-94.

[2] YANG Z L,ZHANG Y J,REHMAN S?U, et al. Image captioning with object detection and localization[J]. Image and Graphics, 2017,10667:109-118.

[3] SHARMA K U,THAKUR N V. A review and an approach for object detection in images[J]. International Journal of Computational Vision and Robotics, 2017, 7(1-2):196-237.

[4] ZHANG M J,CIESIELSKI V. Genetic programming for multiple class object detection[J]. Advanced Topics in Artificial Intelligence,1999,1747:180-192.

[5] LIU W,ANGUELOV D,ERHAN D,et al. SSD:single shot multibox detector[J]. Computer Vision-ECCV 2016,2016,9905:21-37.

[6] 陈冰曲,邓涛. 基于改进型SSD算法的目标车辆检测研究[J]. 重庆理工大学学报,2019,33(1):58-63,129.

[7] 邢浩强,杜志岐,苏波. 基于改进SSD的行人检测方法[J]. 计算机工程,2018,44(11):228-233,238.

[8] CAI Z W,FAN Q F,FERIS R S,et al. A unified multi-scale deep convolutional neural network for fast object detection[J]. Computer Vision-ECCV 2016,9908 :354-370.

[9] 高宗,李少波,陈济楠. 基于YOLO网络的行人检测方法[J]. 计算机工程,2018, 44(5):215-219,226.

[10] HE N,CAO J,SONG L. Scale space histogram of oriented gradients for human detection[C]. Information Science and Engineering, 2008. ISISE08,2008:167-170.

[11] BAY H,ESS A,TUYTELAARST T,et al. Speeded-up robust features (SURF)[J]. Computer vision and image understanding, 2008, 110(3):346-359.

[12] BURGES C J C. A tutorial on support vector machines for pattern recognition[J]. Data mining and knowledge discovery,1998,2(2):121-167.

[13] HASTIE T, ROSSET S,ZHU J,et al. Multi-class adaboost[J]. Statistics and its Interface,2009,2(3) :349-360.

[14] REDMON J,DIVVALA S,GIRSHICK R,et al. You only look once: unified, real-time object detection[C]. Pro-ceedings of the IEEE Conference on Computer Vision and Pattern Recognition,2016:779-788.

[15] 劉雪奇,孙胜利. 基于YOLO网络模型的异常行为检测方法研究[J]. 电子设计工程,2018,26(20) :154-158,164.

[16] GIRSHICK R. Fast RCNN[C]. Proceedings of IEEE International Conference on Computer Vision,2015:1440-1448.

[17] SIMONYAN K,ZISSERMAN A. Very deep convolutional networks for large-scale image recognition[J]. Computer Science,2014:1-14.

(责任编辑:孙 娟)

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