新闻中心

EEPW首页 > 测试测量 > 设计应用 > 基于改进SSD算法的小目标检测研究*

基于改进SSD算法的小目标检测研究*

作者:何杰林,刘兴超黄凌霄(宁夏大学信息工程学院,银川 750021)时间:2021-10-26来源:电子产品世界收藏
编者按:本文提出了一种改进SSD(Single Shot MultiBox Detection)算法的小目标场景检测算法,并且系统阐述了目标检测算法的研究现状。在SSD首创算法的网络结构基础上,引入改进特征金字塔结构SFPN融合不同层特征语义信息提高小目标检测性能,将原特征网络VggNet16替换成网络层数更深的ResNet50,加深网络结构提高整体网络性能,并且引进BN、全局平均池化等结构,加快收敛速度和降低参数量,提高实时性,设计得到RFG_SSD网络。结果表明,该网络的检测精度与速度都具有很好的表现,实现多

*基金项目:宁夏高等学校科学研究项目(NGY2020009);宁夏重点研发计划(引才专项)项目(2020BEB04018);宁夏自然科学基金项目(2021AAC03096)

本文引用地址:http://www.eepw.com.cn/article/202110/429083.htm

0   引言

近年来,常用的目标检测算法在小目标应用场景中也已证明了其卓越的性能。目标检测场景中小目标识别检测一直是热点研究问题,基于此问题提出改进的图像模型及其应用。首先在原SSD主干部分和检测部分之间引入改进特征金字塔网络,融合不同层感受野特征信息提升性能。其次使用深层特征提取网络 替换VggNet16 提升整体网络精度。最后在检测层使用全局平均池化层替换全连接层,降低参数从而提高检测速度,设计得到改进网络RFG_SSD 算法。通过使用改进SSD 算法和其他的一些主流检测方法,在数据集上进行3 种评价指标的对比实验,包括平均精度、速度以及小目标检测个数。结果表明,改进算法平均精度达到98.05%,FPS达到85.56,小目标检测个数相较原SSD 检测个数高出3倍多,小目标检测性能效果显著提升。

1   目标检测研究方法综述

目标检测的目的是从所需要检测的目标图像中找到需要检测的目标,目标检测包含定位与识别两个过程,目标定位是在需要检测的目标图像中找到需要检测的目标位置,目标识别是在目标图像中识别出,并且定位到需要检测的目标类别。目标检测的任务可以分成3 个部分,①先建立一个提取候选区域的模型,运用建立的模型从真实的目标检测应用场景中提取出需要的候选区域;②在提取出的候选区域中识别出其分类模型;③对识别出的分类模型的参数作出进一步的精确调整,并对提取到的有用的候选框的位置进一步精确调修,从而使之达到较满意的检测效果。目前,对于目标检测的算法主要分成两大类,一类是传统的目标检测算法[1-10],另一类是基于深度学习的目标检测算法[11-12]

1.1 基于传统视觉的目标检测算法

基于传统视觉的目标检测算法的目标检测过程主要使用3 个步骤:①目标图像中的候选区域的选取主要使用窗口生成;②在候选区域中特征的提取是在这些候选区域上提取到对目标图像检测有用的特征;③使用分类器对所需要检测的目标图像进行分类,从而确定需要检测的目标图像中的目标类别。对于目标检测的工作很早就已经展开。2001 年,Viola 和Jones 与其关目标图像中的所有滑动窗口,不如关注所需检测的目标图像中可能会有检测目标图像的某些区域,过滤滑动窗口减少了整个目标发现任务所需的时间;2002 年,Papageorgiou 等人提出了用于静态目标检测场景中需要检测的目标图像所通用的框架,使用这个框架不需要有任何的先验知识,运动分割或者模型,就可以从这个框架中直接学习到我们所需要的特征;2004 年,Lowe 对SIFT 尺度不变特征进一步改进,改进之后的运动目标是由获取目标图像的关键点及其邻近的梯度信息来描述的;2005 年,Dalai 等人提出了HOG梯度方向直方图,HOG 是在需要检测的目标图像的一些局部区域做特定动作,也是对行人进行目标检测的一种特征描述子,并且可以使光线变化以及图像形状都可以具有好的鲁棒性,由于其不会被需要检测的行人的一些细小肢体动作干扰,所以HOG 非常适合做一些人体检测任务;2010 年,Felzenszwalb 等将SVM 与HOG特征两者的功能结合,提出了一种DPM 可变形部件模型,DPM 是利用滑动窗口来提取目标图像所需要的特征,检测行人的轮廓信息时,使用了多尺度DPM 检测。

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

基于深度学习的目标检测方法可以分为以下3 类,①基于区域建议的目标检测算法,例如Faster R-CNN算法,R.CNN 算法等;②基于回归的目标检测算法,例如KittiBox 算法、SSD 算法、YOLO 算法等;③基于搜索的目标检测算法,例如基于视觉注意的AttentionNet和基于强化学习的算法。

1) 基于区域建议的目标检测算法。2013 年,Ross Girshick 等人提出了R-CNN 算法,R-CNN 是一种基于深度学习的目标检测算法。2015 年,何凯明等人提出了SPP.Net,SPP.Net 对R-CNN 算法做了改进,在全连接层与卷积层之间添加了特征空间金字塔层级网络结构,从而在训练过程中解决了R-CNN 算法只能输入一些固定尺寸的图像的缺陷,进一步改进实现了输入任意尺寸的图片都可以进行训练,而且也实现了共享特征提取层的特点,使训练速度进一步加快。SPP.Net 和R-CNN 算法相比,两者都存在缺陷,一是有很多计算重复,二是训练过程也相对复杂。2015 年,R.CNN 作者Ross Girshickt 提出了Fast R-CNN 算法,Fast R-CNN 算法中使用新的网络,新的网络中融合了后续的SVM 分类和CNN 特征提取来实现分类和回归,改进了R-CNN 算法。2016 年,Shaoqing Ren 等人通过对Fast R-CNN 算法的优化改进,提出了Faster R-CNN算法,Faster R-CNN 算法创造了一个RPN,用RPN 替代了Fast R-CNN 算法以及R-CNN 算法中运用的选择性搜索方法。2016 年,Dai J 等人提出R-FCN 方法,R-FCN 方法是在Faster R-CNN 算法的网络结构上改进得到的,R-FCN 方法是通过在目标RoI pooling Layer感兴趣区域池化层,即在RoI pooling Layer 前加入目标的位置信息,让不同的特征图可以检测出目标图像中的不同位置。2019 年杜雪、廖泓舟、张勋等人提出水下目标智能识别方法,它是基于深度卷积特征提出的,加入了VGGNet 视觉几何组网络的逐层递增的卷积层思想,同时加入迁移学习以及数据增强技术进行二次学习,学习水下目标的独特能力,解决水下数据集不足的状况,并且也防止了过拟合的发生;2019 年,Wei-Hong lin 等人提出并构建了一个有更好泛化能力的模型,在Faster R-CNN 方法的基础上,通过研究增强策略,从而去模拟重叠、模糊和遮挡的目标,也创造了一种称为ROIMIX 的增强方法,ROIMIX 方法也能够表示图像之间的相互作用。

2)基于回归的目标检测算法,例如SSD 算法,KittiBox 算法等,2015 年Wei Liu 等人提出了基于改进的SSD 算法,在这个改进的SSD 算法中合并了YOLO中的回归思想以及Faster R-CNN中的锚(anchor)机制。为了能够达到更快的检测速度,Joseph 等人在2015 年提出YOLO 算法,模型去掉了两阶段算法中寻找框的步骤,直接设计网络输出带有框与分类置信度的图片,也是第一个一阶段目标检测算法,在速度上更是远超两阶段算法。但YOLO 算法由于没有对于框的预先设定,导致其精度较低。Joseph 受两阶段方法设定锚框的启发,为一阶段算法加入预设框,提出YOLO v2、YOLO v3,既保持了算法的速度又进一步提升了算法精度。目标检测过程中,在模型最后惩罚预测框进行位置优化时,框回归损失函数的设定直接影响优化的速度和定位的准确度。为了更加准确预测出目标的位置,框回归损失函数的设定经历了一系列发展。2015年Girshick 等人在Fast r-cnn 中引入smooth L1 损失函数,两阶段算法中多沿用此损失函数作为框回归优化算法。而YOLO 系列中使用的是均方误差(MSE)函数。两种损失函数的设计思路均为惩罚预测框与目标框四个坐标信息之间的欧式距离,而实际上在评判预测框定位准确性和保留预测框的过程中的指标是IOU,但这两者之间非等价关系。即多个预测框可能有相同大小的smooth L1 损失,但他们与真实框的IOU 却相差很大,导致惩罚损失函数不能对框之间的IOU 进行直接优化。为了解决这个问题,J.Yu 等人引入IOU 损失函数,最大化预测框与目标框之间的IOU 来优化预测框位置,即拉大两框之间的重合面积,与评价预测框的指标函数相符合。但当预测框与目标框没有重叠部分面积时,目标损失函数值为1,无法进行梯度回转,且IOU 也不能完全反应两个框的相交情况。于是,2019 年Rezatofighi H 等人提出广义的交开比GIOU(Generalized Intersection over Union),它由两部分组成损失函数,在最大化两框相交面积的同时最小化两框形成的最大框,去掉了两框之间的面积,模型避免了当两框不相交时梯度消失的问题。目前YOLO 系列算法已经更新至第5 代版本,第1 代到第4 代已经开源,很多深度学习框架都可以很好地实现YOLO系列算法。2021 年,邹慧海等人提出改进网络RFG_SSD 算法,提升了检测精度和效率。

3)基于搜索的目标检测算法,例如基于视觉注意的AttentionNet 和基于强化学习的算法。基于值函数的DRL 算法采用深度神经网络对值函数或者动作值函数进行近似,通过时间差分(temporal difference,TD)学习或者Q 学习的方式分别对值函数或者动作值函数进行更新。2015 年,DeepMind 团队在Nature 上发表了深度Q 网络(deep Q-network,DQN) 的文章, 认为DRL可以实现类人水平的控制。2017 年,DeepMind 团队根据深度学习和策略搜索的方法推出了AlphaGo。2019 年,DeepMind 团队基于MADRL 推出AlphaStar 方法。可以看到,DRL 在封闭、静态和确定性的环境(如围棋、游戏等)下,可以达到甚至超越人类的决策水平。

2   小目标检测使用的评价指标与常用数据集

2.1 评价指标

在小目标检测实验中,我们使用了要检测目标的真实图像数据作为本课题的实验数据,实验所用的数据集包含1 万多张小目标检测场景的真实图像,而且具有与实际应用场景一致的详细目标图像的标注数据。对于几种目标检测算法,都以此数据集作为进行实验的标准数据,比较不同的目标检测算法在准确率、效率等性能指标上的异同。在准确度方面,实验采用交并比方法评估各个算法的检测结果。

2.2 常用数据集

为了进一步深入研究小目标应用场景,国内外学者公开发表了很多目标检测应用领域的数据集。数据集在整个目标检测领域的发展史中占有重要地位,而开发一些高级目标检测算法的关键是具有足够大,并且有专门的不同应用场景所需要的数据集,也是比较不同算法的评估基准。近十年来,目标检测不同应用场景中也涌现出了很多著名的公开数据集,包括SUN、BDD100K、ImageNet 等。当应用区域检测到很多小目标时,也提出了很多相关的数据集,例如特定区域的目标检测,特别是航拍图像中的目标检测、遥感卫星图像中的目标检测等,相关的一些常用目标检测应用场景的数据集对比如表1 所示。

3   结束语

实验通过对几种算法的对比研究,对基于改进的SSD 算法的小目标图像的目标检测方法进行评估。使用该算法与其他主流检测方法在小目标检测数据集上进行对比实验,包括平均精度、速度以及小目标检测个数。使用小目标检测常用数据集提供的小目标图像中的目标真实图像数据作为本研究的实验数据,同时,每个图像中都有相应的详细注释数据。比较几种不同的目标检测算法,都以此数据集作为进行实验的标准数据,比较不同的目标检测算法在准确率、效率等性能指标上的异同。在准确度方面,实验采用交并比方法评估各个算法的检测结果,用交并比(IOU)计算公式计算。本文还以系统检测精度、处理时间、检测时间等指标作为评价目标检测算法性能优劣的标准。

1635226785767809.png

参考文献:

[1] 付若楠.基于深度学习的目标检测研究[D].北京:北京交通大学,2017.

[2] 王震.基于深度学习的快速目标检测技术研究[D].天津:天津理工大学,2017.

[3] 袁宝红.基于视频的运动目标检测与跟踪研究[D].合肥:安徽大学,2014.

[4] 张巍.水下图像的目标检测与定位研究[D].武汉:华中科技大学,2007.

[5] BENGIO Y.Deep learning of representations:Looking forward[C].SLSP 2013, Tarragona,(sp):1-37.

[6] 高志华.基于深度学习的CPU实时动物目标检测[J].现代计算机,2017(31):3-9.

[7] 周晓彦,王珂,李凌燕.基于深度学习的目标检测算法综述[J].电子测量技术,2017(11):4-8.

[8] 张慧,王坤峰.深度学习在目标视觉检测应用进展与展望[J].电子测量技术,2017,43(8):1289-1305.

[9] 陈江昀.一种基于深度学习的新型小目标检测方法[J].计算机应用与软件2017,34(10):227-231.

[10] 张芳慧.行车视频中基于深度学习的目标检测[D].北京:北京交通大学,2018.

[11] 张志豪.基于深度学习的目标检测算法研究[D].成都:电子科技大学,2018.

[12] 史文丽.基于深度学习的目标检测算法研究[D].大连:大连海事大学,2018.

(本文来源于《电子产品世界》杂志2021年10月期)



评论


技术专区

关闭