1 绪论
1.1 研究背景及意义
随着科技的不断进步,人工智能技术的再度兴起。计算机视觉作为人工智能的一个分支领域,由于其应用的广泛性,得到了来自各界的广泛关注。计算机视觉领域涵盖了图像处理、机器学习等多个领域学科,可以应用到相应的视觉检测与识别工作中[1]。行人检测是计算机视觉领域的一个重要研究方向,近年来,随着深度学习在机器视觉领域取得的卓越表现,行人检测技术领域也成为了学术界与工业界关注的重要研究领域。
行人检测简单的来说,就是通过计算机从图像或者视频片段中识别是否存在行人,如果存在行人,则进一步的检测出行人在图像中的具体位置。随着监控场景越来越多,尤其是针对行人的监控的应用越来越多,以及行人检测领域的发展,行人跟踪,行为分析等技术发展的越来越好,在人们的生活中变得越来越常见。当然,这些技术都需要行人检测技术的支持。而在实际的行人检测系统中,不仅要考虑目标检测的准确性,也要考虑检测的实时性。这就要求我们在设计行人检测算法时,即要保证检测的准确性,也要保证检测的效率。
行人检测的典型应用场景包括有智能监控、无人驾驶、机器人等多个领域[2]。
(1) 智能监控
随着社会的迅速发展,监控出现在人们生活中的方方面面,大到人流巨大的火车站飞机场,小到居民家中,都能监控的身影。但是,传统的监控,通过视频图像信息,需要人工专门对感兴趣的目标、事物进行检测、跟踪,这样对人力,财力都是巨大的消耗。同时,由于人主观因素的存在,在对监控视频进行观察时,可能会导致一些必要信息的丢失,从而导致严重的事故或损失。随着行人检测技术在视频监控中的应用越来越普遍,不仅能减少大量人的工作量,还能尽可能的减少人的主观因素影响,提高行人监控的准确性。
(2) 无人驾驶
随着现在车辆的不断增加,交通压力变大的同时,交通事故也频频发生。为了避免人为因素造成的交通事故,需要推进无人驾驶领域的快速发展。无人驾驶的发展,可以有效解决交通压力,减少交通事故的发生。无人驾驶系统中包括很多技术模块,其中一个最基础的模块就是行人检测,这也是必不可少的一部分,通过车载摄像头或者车载雷达来对道路上行人及车辆的检测,监控是否有危险情况,进而来辅助无人驾驶车辆的安全驾驶,保证行人及车辆的安全[3]。
..........................
1.2 研究现状
1.2.1 传统行人检测方法
在人工智能发展的历程中,行人检测一直是人们关注的热点领域。因为行人检测是行人识别、行人跟踪、行人行为步态分析等与行人相关视觉领域的基础,行人检测技术不断向前发展,能带动其他相关领域不断前进。
2001 年,Vioal 和 Jones 通过引入积分图方法,使用 AdaBoost 学习算法构建级联式的分类器,构建了一个快速的人脸检测框架[4],对后期的行人检测法的发展产生了较大的影响。自 2003 年起,行人动态特征[5]不断应用到行人检测中,在很大程度上提高了行人检测的准确率。2005 年,Dalal 和 Triggs 提出了 HOG(Histogram Oriented Gradient)算法[6]。HOG 算法通过提取图像中的局部梯度信息,来作为行人的特征,并使用 SVM分类器,在 MT 数据集和 INRIA 数据集上得到了很高的检测准确率。HOG 作为一种简单有效的行人特征提取方法,是行人检测领域中一种经典的算法。Zhu 等人提出采用积分图法进行 HOG 特征的计算[7],并将提取出来的特征通过 AdaBoost 分类器对是否是行人进行分类,大大提高了行人检测的速率。Jang 等人提出了一种使用 HOG 和组合特征的两阶段行人检测器[8],该检测器在 HOG 特征上寻找具有级联特性的行人候选框在MLP 分类器上进行最终的行人检测分类。在随后的行人检测领域的研究中,为了能更好的表征行人的特征,越来越对多有效的人工行人检测特征被研究者研究提出。2008年,Pedro Felzenszwalb 等人提出了 DPM 模型[9],该模型根据行人姿态多变的特性,将人体分割成多个子部件,其中包括头、肩、腿以及脚等能够描述人体局部特征的各个子部件,是对 HOG 特征的进一步扩展,该方法提升了行人检测的性能。Gao 等人利用背景减法技术结合 DPM 模型,通过提取头肩部特征信息送入支持向量机进行人流统计[10]。2009 年,Wang 等人采用融合 HOG 特征和 LBP(Local Binary Pattern, LBP)[11]特征的方法来提取新的行人特征用于行人检测。2009 年,Dollar 利用积分图技术,将梯度特征、颜色特征等各种特征进行有机的结合[12]。FPDW 检测器[13]利用积分图技术结合 boosting学习方法出,实现了较快的多尺度检测的效果。这个积分图的方法能快速的将多种特征进行有机的结合。很多研究者都将积分图技术用在加速计算上,以积分通道特征为基础,不断改进,提出了很多在检测方面取得不错表现的方法。
...........................
2 相关知识
2.1 行人检测基本流程
行人检测算法流程主要分为训练阶段与测试阶段。如图 2.1 所示,在训练阶段,首相利用公开的数据集或者自己收集行人图像来构建用于训练的样本数据,其中需要包含行人边界框标记的行人正样本数据,不包含行人编辑框标记的负样本数据。然后通过人工设计或者深度网络的方法来进行行人特征的提取。最后将提取的行人特征进行分类器训练,使得分类器可以学习到正确的行人分类结果。在测试阶段,首先从测试图像中选出可能有行人存在的候选区域。然后利用与训练过程相同的特征提取方法对每个行人候选窗口相应的行人特征。最后通过训练好的行人目标分类器,输入提取好的行人特征,就可以得到行人目标识别分类的结果。
..........................
2.2 卷积神经网络
随着近几年深度学习的飞速发展,硬件计算能力的不断提升以及相关的数据集的不断完善,深度学习网络结构在不同的机器视觉任务中取得了非凡的成绩,并且深度学习模型也在行人检测领域得到了广泛的应用。尤其是卷积神经网络在计算机视觉领域的表现尤为突出。
卷积神经网络 CNN 是深度学习中最为常用的一种模型,被广泛应用与人工智能的各个领域,在计算机视觉方便表现的尤为突出,卷积神经网络适用于图像或视频等数据的处理,在图像识别、物体检测和图像语义分割等领域表现优异。20 世纪 60 年代,Hubei和 Wiesel 等人通过研究猫的视觉工作机制,并进一步研究了猫的视觉皮层的细胞功能,基于对生物学研究并仿真的提出了一种特殊的网络结构,这种结构是由具有方向选择和局部敏感感知的神经元构成的。卷积神经网络就由此发展而来。
1998 年,Yann Le Cun[23]等人提出了将卷积神经网络应用在图像处理方面。但是受到当时硬件计算能力和数据样本不足的局限,卷积神经网络发展进入瓶颈期。自 2012年 AlexNet 卷积神经网络开始,各种卷积神经网络在 ImageNet 竞赛中多次取得优胜。
卷积神经网络是深度学习中的代表算法,是具有深度结构和卷积计算的前馈神经网络,并且反向传播算法进行学习训练的。如图 2.2 所示,卷积神经网络的基本结构主要包括输入层、卷积层、池化层和全连接层和输出层。
...............................
3 多尺度快速行人检测算法...................................12
3.1 算法基础框架结构......................................12
3.2 损失函数....................................13
4 算法实验与结果分析.....................................26
4.1 行人检测数据集构建...................................26
4.2 模型初始设置...........................27
5 行人检测系统的设计实现.........................................39
5.1 系统需求分析.............................................39
5.1.1 系统需求分析.....................................39
5.1.2 功能性需求................................39
5 行人检测系统的设计实现
5.1 系统需求分析
5.1.1 系统需求分析
随着科技的进步,人们生活水平的提高,人们生活方式的改变,行人检测被越来越广泛的应用到了安全监控领域,由于摄像头与监控设备变的越来越普遍,以纯人工进行监控显示屏的监控工作已经满足不了监控视频的增长速度。所以通过将行人检测技术应用到公共视频监控、安防监控等领域代替人工是必然的发展趋势,也是发展智能监控必不可少的一步。
本章结合视频监控系统需求,将前文提出的行人检测算法的集成到系统之中,设计与实现了实时行人检测系统。
5.1.2 功能性需求
本文将通过系统集成的方式将提出的实时行人检测算法更好的应用到实际中去。系统的主要的功能就是对图像或者视频中的行人进行识别与检测,从图像或者视频中寻找行人目标并将其位置通过矩形框标注出来。现在,从系统功能的角度进行需求分析。实时行人检测系统的功能如图 5.1 所示。
........................
结论
本文通过理论与系统工程相结合,将行人检测的算法进一步的应用到实际场景中。本文的是主要内容是在 Tiny-YOLO 目标检测算法框架的基础上,提出了基于 YOLO 的多尺度快速行人检测算法,最后将算法与实际的行人检测系统相结合,到达了应用落地的水平,取得了不错的效果。本文的主要工作可以总结为以下几点:
(1) 为了针对行人单一目标的检测,本文对原始损失函数进行修改,使得算法模型对单一行人目标检测的更加准确;改进特征提取网络结构,增加行人特征提取能力,提高检测准确度,减少行人检测中错检与漏检的情况;针对小目标检测不准确的问题,本文通过特征提取网络结合特征金字塔融合进行目标的多尺度预测,充分利用不同层次的特征语义进行行人的检测,可以提高小目标检测的准确度。
(2) 利用 PASCAL VOC+INRIA 公开数据集构建用于行人检测数据集,将数据集进行统一标签标记。在构建好的行人数据集上进行改进算法的训练验证与测试。通过实验验证了算法的有效性。
(3) 本文将上述的行人检测算法应用于行人检测系统中,实现了一个实际可用的行人检测系统,为用户提供行人检测服务。该系统可以为许多其他的计算机视觉应用,例如汽车自动驾驶系统等,提供支持,增加其在不同环境下作业的鲁棒性,具有很强的实用价值。
参考文献(略)