基于SSD和Inception_resnet_v2网络的目标检测与识别算法探讨

论文价格:150元/篇 论文用途:硕士毕业论文 Master Thesis 编辑:vicky 点击次数:
论文字数:33526 论文编号:sb2021092808560538393 日期:2021-09-30 来源:硕博论文网
本论文的主要工作和改进有以下几点: (1)介绍了本课题的研究背景及意义,对目标检测与识别算法进行了分析和总结。首先,介绍了目标检测与识别技术的国内外发展现状,包括传统方法与深度学习方法。然后介绍了一些卷积神经网络结构,网络的训练过程。本文还介绍了 SSD 算法的检测流程及相关技术,并分析了 SSD 算法存在的问题。 (2)基于 SSD 算法的特征提取网络,提出了一种基于 Inception_resnet 模块的网络模型 IRSSD。将优化后的 Inception_resnet 模块替换 SSD 模型中的部分特征提取层,以提升模型的特征提取能力。在 PASCAL VOC 数据集上进行测试,结果表明 IRSSD 提升了算法的检测精度,与 SSD 和 Faster R-CNN 相比,mAP 值分别提高了 1.2%和 2.3%。

第 1 章  绪论

1.1  研究背景及意义
随着科学技术的发展,在智能设备普及的当下,互联网中每时每刻都会产生大量的数据。随着短视频应用的兴起,人们更多的以图像和视频记录自己的生活信息,如何利用这些庞大的数字图像为现实社会提供有用的信息是当前人们关注的热点。人工智能成为社会关注的焦点,逐渐融入人们的生活中,计算机视觉是人工智能领域的热门研究技术之一,可以使计算机如同人的眼睛一样读取图像中的信息,完成对图像中感兴趣区域的定位、分类,代替人类完成一些比较复杂的任务,如安全视频监控、物流智能分拣、医学影像分析、工业零件检查等。人工智能可以解放人们的劳动力,提高工作效率,未来人类的生活越来越离不开人工智能。
计算机视觉是一门融合多种学科技术的综合性学科,包括计算机科学、神经生物学、应用数学等。目标检测与识别是计算机视觉领域的基础技术之一,具有广泛的应用范围,能为其他高层视觉任务提供基础技术支撑,如目标跟踪、汽车自动驾驶、行人检测、人脸识别、城市道路监控等。目标检测与识别的主要任务是将图像中需要被检测的目标进行定位与识别,把检测到的目标框选出来并标注它的类别信息,帮助人们快速的获取有用信息,减少人力的消耗,在社会生活中具有很高的应用价值[1]。
在智能交通领域,利用监控摄像头对道路上行驶的车辆进行实时监控,通过智能监管系统判断交通中是否出现违章行为,减少了交通管理的麻烦,减轻了交警部门的负担。在自动驾驶领域,实现自动驾驶过程中车速调节、避让行人、保持车距、自动停车等操作,减少车祸的发生,提高交通安全。在智能安防领域,对商场、车站、银行等人流量较大的场所,进行异常行为监控,提高公共场所的安全。在智能工业领域,对工业生产的元器件等基础零件设备进行自动缺陷检测,并且自动检测人力成本低,准确度稳定、检测速度快,能提高工业生产的效率。
目标检测与识别技术近几年来发展迅速,传统的目标检测与识别算法会使用大量的滑动窗口对待检测图像进行扫描,产生大量的候选窗口,计算量庞大;利用特征提取算法对获取到的候选窗口提取特征;利用分类器对候选窗口进行边框的回归与分类。如何提取到有用的特征信息成为目标检测与识别算法的关键,传统的特征提取算法是利用先验知识进行手动设计,不能很好的匹配各类物体特征。
....................................

1.2  国内外研究现
图像目标检测与识别技术是一种利用计算机处理图像的视觉任务,目标检测与识别算法主要包括两个部分:即目标的分类与目标的定位。目标分类任务即判断待检测图像内是否包含特定目标,在输出图像上会有带数值的标签,数值表示图像中的目标是某个类别的概率值。目标定位任务指确定待检测图像内特定目标的位置和范围。现有的标检测与识别算法分为传统方法和基于深度学习的方法,下面将从这两个方面介绍目标检测与识别算法的国内外研究现状。
1.2.1  传统的目标检测与识别算法
传统的目标检测与识别算法包含三个步骤:区域选择[3]、特征提取[4]、分类回归[5]。首先,对输入的待检测图像利用滑动窗口进行遍历,生成大量的候选区域;然后,采用手工设计的特征提取算法对候选区域的信息进行特征提取;最后将提取到的特征信息送入分类器中进行回归与分类。
区域选择算法利用滑动窗口对图像进行遍历,获取输入图像中目标所在区域的候选框。滑动窗口的方法需要使用不同尺寸的滑窗,对待检测图像从左往右、从上往下依次对每个像素进行遍历,生成大量的区域候选框(Region Proposal),虽然能将目标包含在候选框中,但是计算量大、时间复杂度高、而且会产生大量多余的候选框,不利于后续的特征提取。为了减少候选框的数量,提高算法的效率,先后出现了一些效率更高的区域生成算法。Chen M 等人[6]提出的 BING 算法特征简单,在保证目标被覆盖的前提下大大地减少了候选框的数量,并且检测效果良好。Uijlings 等人[7]提出的选择性搜索方法(Selective Search),利用区域划分算法将输入图像分成很多个小的区域,比较相邻区域之间的特征(颜色、纹理、尺寸和空间),将具有相似特征的两个小区域进行合并,直到没有相似区域为止,得到候选区域。Piotr 等人提出的边缘盒检测算法(EdgeBox),利用边缘信息,对候选框中包含目标的可能性进行评分,根据得分高低进行筛选,从而过滤掉多余的窗口。
特征提取是目标检测与识别算法中的关键,传统的特征提取方法通常是基于人类经验手工设计的,设计的特征提取算法对目标信息是否具有足够的表达能力,对于后续的分类任务具有直接影响。
图 1-1  传统目标检测算法流程图
图 1-1  传统目标检测算法流程图
...................................

第 2 章  深度学习目标检测与识别算法基础理论

2.1  深度学习
机器学习(Machine Learning)是人工智能(Artificial intelligence)领域的一个重要分支,它涉及多门学科,如统计学、神经生物学、数学、自动化等。机器学习的主要研究内容是如何使计算机在现有的模型中通过学习自适应的改进模型的算法,是一种根据数据或经验自动学习并优化程序的学习过程。机器学习的目的是希望计算机能拥有人类的学习能力,通过学习以往的经验实现对未知场景的预测,实现未来的机器智能化。
深度学习是一个新的研究热点问题,发展迅速。它是机器学习领域的分支之一,在人工智能应用方面取得极大的成功。深度学习的主要研究内容是对生物神经网络的学习,利用生物神经网络中电信号的传递模拟搭建用于计算机的人工神经网络。人类的神经系统主要由神经元细胞组成,当人体受到刺激时神经元细胞中的突触会产生动作电位。轴突可以对电位进行传递,然后由神经末梢传递到下一个神经元。
人工神经网络主要由三部分组成,包括数据输入层、提取特征的隐藏层和进行分类的输出层,其中隐藏层为神经元。最初的网络结构中隐藏层比较少,一般是 2 到 3 层,这种低层结构计算能力有限,不能处理复杂任务。随着计算机技术的发展,硬件设备的提升,人们建立了更为庞大的神经网络结构,隐藏层的深度能达到上百层,这就是深度学习。利用神经元的堆叠,对输入的原始数据层层传递,底层神经元能学习到原始信息特征,每增加一层神经元能学习到比上一层更加抽象的特征,因此神经网络最后能学习到抽象的特征信息[35]。
深度学习的发展非常迅速,出现了很多较为成熟的神经网络模型,如卷积神经网络、BP(back propagation)神经网络、残差网络等。并且这些网络模型被大量的应用于计算机视觉领域,包括人脸识别、目标检测与识别、行人检测、行为识别、医学影像分析和人体姿态估计等视觉任务。
.......................

2.2  卷积神经网络
卷积神经网络[36]是一种深度学习算法,本质是一个多层感知机。LeNet-5 网络通过对卷积层的简单叠加形成了最早的卷积神经网络模型。直到 2012 年,AlexNet 网络在 ImageNet 比赛中取得优胜,将图像识别的错误率减少了 10%,才使卷积神经网络被人们关注,并将其应用于计算机视觉领域的研究中。相比传统特征提取方法,卷积神经网络能在大量训练数据中通过自主学习获得有用的特征信息,能够学习到独立的特征信息。因此,卷积神经网络的特征表达能力更强、更具适用性。
卷积神经网络包含三部分:卷积层、池化层和全连接层。但是网络层之间的计算是简单的线性公式,为了增强模型的非线性表达能力,需要在卷积层之后使用激活函数。卷积神经网络中的局部感受野能使模型在较少的参数下学习到有用的特征信息,即每个卷积核只学习图像中的局部信息,将不同的局部特征整合在一起就能获得图像中目标的完整特征信息。网络中卷积层之间的权值可以共享,使模型学习到的特征信息具有通用性。使用多种卷积核对图像进行滤波处理可以得到多种特征映射关系,一组权值对应一种特征,能够识别不同位置的同一目标,具有较好的平移不变性。池化层使用下采样逐层减少特征的尺寸提取高层语义信息,既可以减少数据量又能保留有用信息。这三种方式都极大的减少了模型的参数量,并使模型具有更好的鲁棒性。卷积神经网络的基本结构如图 2-1 所示。
图 2-1  卷积神经网络结构
图 2-1  卷积神经网络结构

........................

第 3 章  SSD 目标检测与识别算法 ........................................ 24
3.1 SSD 模型原理及相关知识 ........................... 24
3.1.1 SSD 模型结构 ................................... 24
3.1.2  先验框 ................................ 25 
第 4 章  基于 Inception_resnet 模块的 SSD 算法改进 ............................... 33
4.1  基于 Inception_resnet 结构改进的特征提取层 ................................. 33
4.2  实验数据集 .................................. 35
4.3  数据增强 ........................... 36
第 5 章  基于多层特征融合的 SSD 算法改进 ............................... 43
5.1  基于特征融合的 SSD 算法 ........................................ 43
5.1.1  特征融合方法 ......................... 44
5.1.2  上采样 ......................................... 45

第 5 章  基于多层特征融合的 SSD 算法改进

5.1  基于特征融合的 SSD 算法
SSD 算法中的高层特征分辨率小,但是拥有很大的感受野,适合对图像中的大尺度目标进行预测。低层特征分辨率大,但是感受野较小,适合对图像中的小尺度目标进行预测。SSD 利用不同特征层,实现对图像中多尺度目标进行预测,能一次完成图像中的多目标进行检测任务。
SSD 模型中各层特征图是通过 VGG 网络与额外特征提取层获得,整个特征提取网络是利用 3×3 的小卷积核进行堆叠的。虽然网络层级很深能提取到图像的抽象信息,但是各层级之间的特征是独立的。模型中的低层特征拥有丰富的细节特征,但是缺乏足够的语义信息,在对小目标进行检测时分类效果较差,容易产生误检。高层特征的语义信息丰富,但是感受野太大,容易忽略图像中的小目标物体,出现漏检现象。
因此 SSD 对于小目标检测效果并不好。理想条件下的特征图需满足三个条件:
(1)拥有丰富的细节信息; (2)提取到的特征足够抽象; (3)能够学习上下文中的语义信息。
表达能力优秀的特征图能够很好的对目标进行分类与定位。而 SSD 模型中各层特征没有联系,因此各层特征图的表达能力都有缺陷。为了增强特征图的表达能力,需要将不同层级的特征信息进行融合,增强每层特征图的特征信息。
..................................

结论


目标检测与识别是一种将图像中的目标进行分类并标注出来的技术,使计算机能像人类一样读懂图像信息,是人脸识别、目标跟踪、行人检测等视觉任务的基础技术。目标检测与识别技术应用在生活中的多个领域,如工业检测、自动驾驶、医学图像检测等。随着深度学习中卷积神经网络的出现,使得目标检测与识别算法能获得更多有用的特征信息,提升算法的检测精度。但是在面对复杂场景时,由于物体间的遮挡、目标的尺寸变化、物体的纹理变化等因素的影响,实际的检测效果仍然有很大的进步空间。本文选取检测精度与速度都比较优秀的 SSD算法进行研究,分析了 SSD 算法的优缺点,并提出了两点改进,提升了算法的整体检测精度。
本论文的主要工作和改进有以下几点:
(1)介绍了本课题的研究背景及意义,对目标检测与识别算法进行了分析和总结。首先,介绍了目标检测与识别技术的国内外发展现状,包括传统方法与深度学习方法。然后介绍了一些卷积神经网络结构,网络的训练过程。本文还介绍了 SSD 算法的检测流程及相关技术,并分析了 SSD 算法存在的问题。
(2)基于 SSD 算法的特征提取网络,提出了一种基于 Inception_resnet 模块的网络模型 IRSSD。将优化后的 Inception_resnet 模块替换 SSD 模型中的部分特征提取层,以提升模型的特征提取能力。在 PASCAL VOC 数据集上进行测试,结果表明 IRSSD 提升了算法的检测精度,与 SSD 和 Faster R-CNN 相比,mAP 值分别提高了 1.2%和 2.3%。
(3)在 IRSSD 的基础上,提出了一种基于特征融合的网络模型 FIRSSD。通过特征融合方法增强低层特征层的上下文信息,将 Conv4_3 的语义信息进行增强,有助于小目标的检测。并进一步对特征融合后的 Conv7 融合 Conv3_3 中的细节信息,增强其特征表达能力。在 PASCAL VOC 数据集上进行测试,结果表明FIRSSD 进一步提升了算法的检测精度,与 SSD、Faster  R-CNN、DSSD321 和IRSSD 相比,算法的 mAP 值分别提升了 2.1%、3.2%、1.0%和 0.9%。
参考文献(略)