《行人检测报告.ppt》由会员分享,可在线阅读,更多相关《行人检测报告.ppt(63页珍藏版)》请在三一办公上搜索。
1、目录,行人检测方法概述常用特征介绍AdaBoost及其级联我们的行人检测方法框架检测结果及其结论行人检测的后续研究小结,2023/2/25,1,一 行人检测概述,行人检测就是把视频序列中出现的人体从背景中分割出来并精确定位。基于计算机视觉的行人检测由于其在车辆辅助驾驶系统中的重要应用价值成为当前计算机视觉和智能车辆领域最为活跃的研究课题之一。基于视觉的行人检测目前仍旧是计算机视觉领域的一个公开的难题。原因在于:行人同背景混合在一起,行人可能走,也有可能站着或者不可预测地改变运动方向;行人所处的背景非常复杂;天气以及光照也随机变化,行人的服饰和姿态多变。,2023/2/25,2,目前常用的行人检
2、测方法主要有背景差法、帧差法、光流法,模版匹配和基于机器学习的方法等。前四种检测方法都是常规的基于图像处理技术的人体检测方法,然而这些方法不能解决人体形状和外貌各式各样的难点,人体的不同运动方式的问题,受天气以及光照的随机变化,行人的服饰和姿态改变影响较大。基于机器学习的方法从样本集中学习人体的不同变化,具有较好的鲁棒性,而且合理的选择训练样本和特征,结合结构合理的分类算法,可以较好地克服许多不利条件,如行人多样性、场景多样性、光照环境多样性等的影响,从而有很好的推广性和广泛的适用范围。,2023/2/25,3,由于基于机器学习的行人检测方法的优点,它已经成为目前行人检测的一种主流的方法。基于
3、机器学习的方法一般包括特征提取和训练机器学习分类器,检测三个部分。用于行人检测的特征有:Haar特征,Hog特征,Edgelet特征,FDF特征等,如表1所示。,2023/2/25,4,用于行人检测的机器学习算法有:支持向量机(SVM)、各种类型的神经网络(NN)以及其他基于统计的学习分类器(如Adaboost、级联分类器)等,如表2所示。,2023/2/25,5,二 常用特征介绍,我们主要用到的特征是Haar特征,HOG特征和FDF特征,下面对这三种特征分别进行介绍。1 Haar特征介绍Haar特征,也叫矩形特征,它对一些简单的图形结构,比如边缘、线段,比较敏感,但是其只能描述特定走向(水平
4、、垂直、中心)的结构,因此比较粗略。,2023/2/25,6,特征模板,特征模板是由两个或多个全等的矩形相邻组合而成,特征模板内有白色和黑色两种矩形,并将此特征模板的特征值定义为白色矩形像素和减去黑色矩形像素和。特征模板可以在子窗口内以“任意”尺寸“任意”放置,每一种形态称为一个特征。找出子窗口所有特征,是进行弱分类训练的基础。,2023/2/25,特征数目,mm窗口内的特征数目公式:,2023/2/25,特征数目(续),从上表可以看出特征数目很大,为了简化计算,用积分图来加快计算,2023/2/25,9,积分图像,特征的数量很多,计算特征值看起来是一个很大的工作量。然而,积分图像可以帮助我们
5、解决这个问题。积分图像是图像的一种表示方式,其定义如下:其中,是积分图像,是原始图像。列图像和,2023/2/25,积分图像(续1),2023/2/25,积分图像(续2),2023/2/25,积分图像(续3),在下图3.8中,区域D的像素值,可以利用1、2、3、4点的积分图来计算。,2023/2/25,Haar特征值计算,2023/2/25,2 HOG特征概述2.1 HOG提取 HOG是一种对图像局部重叠区域的密集型局域描述符,它通过计算局部区域上的梯度方向直方图来构成人体特征,是Dalal和Triggs在2005年提出的。HOG是在被称为Cell和Block的网格内进行密集计算得到,Cell
6、由若干像素点构成,而Block则由若干相邻的Cell组成。图1描述了该特征提取算法的全部流程。,2023/2/25,15,2023/2/25,16,HOG提取过程详细流程图如图2所示。,2023/2/25,17,2023/2/25,18,2.2 EHOG提取 熵表示的是分布的混乱程度,熵越小表示分布越均匀,熵在某种程度上可以表示物体的纹理特征,受到熵的启发,本文提取了一种EHOG(Entropy-HOG)特征,这个特征是基于HOG特征的,在计算HOG时,角度分为9个范围,每一个Block有49=36个值,这些值是在某个角度范围内的梯度的个数,可以得到HOG直方图。利用公式 可以得到训练样本中每
7、一个Block的熵,作为一维特征并在36个HOG特征值后面,这样就得到了EHOG特征,正样本的Block熵和负样本的Block熵比较如下图所示。,2023/2/25,19,3 FDF 特征,FDF特征是一种相对比较简单的特征,其复杂度介于已被广泛研究的Haar特征和HOG特征之间,能够提取目标的轮廓特征,适合于行人目标的检测。FDF特征计算过程主要分为两个步骤:首先利用梯度算子,计算四个方向的梯度,作为初级FDF特征;然后对得到的初级FDF特征进行高斯模糊,平均化得到最终的FDF。初级FDF特征的计算如下所示:这里的 是初级的FDF特征,是灰度图像,表示卷积运算,是梯度算子用来计算四个不同方向
8、的梯度方向为,。是2维高斯平滑滤波器可以用来平滑不同行人样本的细节部分。,2023/2/25,20,然后对求得的初级FDF特征值,以MN(如44)大小为单位进行平均,作为此MN个像素点的特征值,得到的四个方向的平均梯度值向量连起来作为图像的最终FDF特征向量。FDF特征提取过程及其效果如图3所示。,2023/2/25,21,2023/2/25,22,三 AdaBoost及其级联,AdaBoost 概述 Adaboost算法是统计分类方法中一个经典算法,它由Boosting算法发展而来,是由Freund在1995年提出的,该算法解决了以前Boosting算法在实践中存在的各种问题。实验表明,Ad
9、aboost算法能够显著提高学习精度。Adaboost算法是一种迭代方法,它本身是通过改变数据分布来实现的。它根据每轮训练中每个样本的分类是否正确,以及上轮的总体分类准确率,来确定每个样本的权值。将每次训练得到的分类器融合起来,作为最后的决策分类器。在Adaboost算法中,每一个训练样本都被赋予一个权重,表明它被某个弱分类器选入训练集的概率。如果某个样本没有被正确的分类,那么在构造下一个训练集时,它被选中的概率就会增加;相反,如果某个样本已经被正确的分类,那么在构造下一个训练集时,它被选中的概率就会降低。,2023/2/25,23,2023/2/25,24,通过这样的方式,Adaboost算
10、法能够“聚焦于”那些较困难(更富信息)的样本上。在具体的实现上,最初令每个样本的权重都相等,对于第t次迭代操作,就根据这些权重来选取样本点,进而训练分类器ht(x)。然后就根据这个分类器,来提高被它错分的那些样本点的权重,并降低被正确分类的样本权重。然后,权重更新后的样本集被用来训练下一个分类器ht+1(x)。整个训练过程如此循环下去。算法流程如图4所示。,1.1 弱分类器的定义弱分类器就是根据某些单一依据来进行粗略分类的分类器,其分类的准确度要求很低,只要达到50%以上即可弱分类器进行具体定义如下所示:其中x为待检测窗口,f(x)为特征值,特征参数 表示不等式方向,取值为,为对所有样本进行统
11、计得到的特征值的阈值,是分类的依据。从弱分类器的定义可以看出,要确定一个弱分类器,关键就是如何确定?值和阈值。弱分类器的输出结果为0或1,在?值为正时,输出1表示判断为真,即为行人图像,输出为0表示判断为假,即为非行人图像;?值为负时,输出1表示判断为真,即为行人图像,输出为0表示判断为假,即为非行人图像。,2023/2/25,25,1.2 强分类器的训练单个的弱分类器分类能力有限,正确率只在一半左右,另外并不是所有得到的特征所对应的分类器都有很好的分类能力,为了加快训练过程,从提高效率和性能两个方面考虑,还需要对弱分类器进行迭代选择,得到较优的弱分类器,再由若干性能较优的弱分类器按照各自不同
12、的权重比例组成强分类器。在介绍Adaboost强分类器训练过程之前,先做如下规定:规定:给定n个训练样本集,其中=+1/-1,表示行人样本(正样本)和非行人样本(负样本)。设正样本数为m个,负样本数为p=n-m个。设要循环迭代的次数为T,即要选出的弱分类器个数为T。对所有样本进行权重初始化,如公式所示:,2023/2/25,26,下面介绍Adaboost强分类器的训练过程。迭代过程如下:(迭代T次),2023/2/25,27,1.3 一个简单的adaboost训练的例子,2023/2/25,28,2023/2/25,29,2023/2/25,30,2 GAB介绍 目前最常使用的Adaboost
13、算法有Discrete Adaboost(DAB),Real Adaboost(RAB)和Gentle Adaboost(GAB)。其中 DAB 是基本算法,后两者是在其基础上的改进算法。它们的主要区别在于DAB要求弱分类器的输出是二值,后两者则将要求放宽到实值25。GAB通常可以取得更好的效果。GAB学习过程如图所示,2023/2/25,31,2023/2/25,32,3 级联分类器3.1 级联结构级联分类器的结构是一个倒决策树的形式,对行人的检测过程是有序的逐级检测,只有被前一级的检测器认为是行人,才会触发下一级的检测过程,因而通过了所有检测器的行人才会被最终认定为行人,否则针对该行人的检
14、测过程将终止,输出检测结果为非行人。强分类级联结构如图5所示。,2023/2/25,33,3.2 级联分类器关注的参数,2023/2/25,34,3.3 Voila和Jones 经典级联 该级联方法的流程图如下:,2023/2/25,35,3.4 我们的AdaBoost级联算法的实现 我们的Adaboost级联算法与传统的级联算法的区别主要在于特征的选择和负样本的更新,新的级联算法的负样本更新要求确保负样本的数目保持一致,级联前先建立一个备选负样本库,每一次负样本更新不仅仅把这一级的负样本中的虚警保留下来,还要对备选负样本库进行验证,提取出通过前几级还是虚警的负样本加入到新的训练负样本中去,保
15、证负样本数目和最开始的负样本数目一致。级联中有增加特征的过程,这些特征是如何选择的,经典的方法并没有说明,我们的级联方法用错误率来排序所有的特征,按照错误率由低到高的顺序依次增加特征。为了让选出的特征更具有代表性,在提取的特征的时候,提取各种尺度的FDF特征,事先建立特征池,方便级联时选择。新的级联训练的实现流程如下图所示。,2023/2/25,36,其中,2023/2/25,37,4 FloatCascade算法4.1 FloatCascade算法的必要性在上述adaboost级联方法中特征是按照错误率由低到高依次增加的,当增加的特征使检测性能达到该级要求了,就退出该级训练,这种只增不减的方
16、法选择出来的特征中是存在冗余的,因为直接增加特征并没有考虑增加特征之后特征组合是否比不增加该特征更有效,这里的更有效是指检测性能更好,比如可能存在某些n个特征的组合比n-1个特征组合的检测能力还差的现象,造成了特征的浪费,增加检测时间,而且会降低检测性能。因此开发一种在级联过程中选择有效特征组合的算法是非常有必要的。,2023/2/25,38,4.2 FloatCascade算法介绍我们提出了一种新的Adaboost级联特征选择方法,称之为FloatCascade,这个方法用到的也是一种backtrack机制,实质也是一种增l减r法,l和r既可以到动态改变,也可以设为定值。FloatCasca
17、de特征选择分为特征增加和特征删减两个步骤。增加特征时是以检测率DP是否增加为判断标准,删减特征是以错误率EP是否减少为判断标准的。每一级级联实际上就是获得一个性能达到要求的强分类器,通过多次特征选择得到。FloatCascade算法流程图如下。,2023/2/25,39,2023/2/25,40,四 我们的行人检测方法框架,1 基于多特征和机器学习的分级行人检测方法 这是一种基于多特征和机器学习的由粗到细的分级行人检测方法。行人检测器是由一个粗级行人检测器和一个精密级行人检测器组成,粗级行人检测器通过提取FDF特征和GAB级联训练得到,精密级行人检测器用EHOG作为特征,通过SVM学习得到。
18、检测时,首先用粗级行人检测器在待测图像中检测行人,得到粗级行人ROIs,然后对粗级行人ROIs用精密级行人检测器进行检测,得到精密级ROIs,并进行后处理,用一个精确定位的框来包围行人,为后续行人分析处理做好准备。通过这种方法,可以把粗级行人分类器的总性能适当降低,从而降低粗级行人检测器中级联的学习难度9。本文方法的整体实现框架如下图 所示。,2023/2/25,41,2023/2/25,42,2 一种新颖的基于FDF特征的FloatCascade行人检测方法 该行人检测方法是基于FDF特征的FloatCascade方法,行人检测器通过训练基于FDF的FloatCascade级联分类器来获得。
19、训练时,对输入的行人正负样本提取FDF特征,建立多尺度FDF特征池,其中负样本也是多尺度的,这是为了降低虚警率,检测时不包含人的窗口比较多,也有多种尺度,训练时需要也有类似尺度的负样本,来获得分类类似尺度窗口的能力。然后再用FloatCascade方法进行级联训练,得到行人检测器;检测时,首先用得到的行人检测器对待测图像进行检测,检测和训练一样是一级一级级联进行的,检测之后可以得到行人ROIs;为了直观和便于后续行人跟踪和分析,需要对行人ROIs进行后处理,确保一个行人由一个精确定位的框包围,为后续行人分析处理做好准备。本文行人检测方法的实现框架如下图所示。,2023/2/25,43,2023
20、/2/25,44,五 检测结果及其结论,1 实验平台本文的实验是用Matlab2009a实现的,计算机配置如下:Intel Core i3 540 CPU 3.07GHZ,内存3G。行人正样本来自INRIA行人样本库,负样本由INRIA库中的和网上下载的图片中截取得到,大小是以12864为基准等比例缩放,检测用的是INRIA行人样本库中的测试样本。,2023/2/25,45,2 ROC和特征数目对比2.1 基于多特征和机器学习的分级行人检测方法,2023/2/25,46,2023/2/25,47,2.2基于FDF特征的FloatCascade行人检测方法,2023/2/25,48,2023/2
21、/25,49,3 检测结果对比3.1 基于多特征和机器学习的分级行人检测方法的检测结果,2023/2/25,50,3.2 OpenCV Haar级联方法检测结果,2023/2/25,51,3.3(限制特征数)FloatCascade级联分类器检测结果图,2023/2/25,52,3.4(不限制特征数)FloatCascade级联分类器检测结果图,2023/2/25,53,3.5 经典级联方法结果(Voila和Jones),2023/2/25,54,4 结论4.1基于多特征和机器学习的分级行人检测方法 针对单幅图像的行人检测问题,提出了基于Adaboost和SVM的两级检测方法,应用粗细结合的思
22、想有效提高检测的精度,能有效实现行人的检测,能够检测复杂背景下的不同姿势(如正面,侧面,背面)不同数目(单人或多人)的直立行人,检测性能好,检测率高,虚警率低,检测时间比较短,相对前人的方法性能有所提升。本文的行人检测方法存在以下特点:一,对HOG特征进行扩展,提出了新的EHOG特征,充分利用人体的纹理信息来减少虚警;二,本文用到了研究尚未充分的FDF特征,该特征计算相对简单,并且实验表明FDF特征同Haar特征相比较,对于行人具有比较强的表征能力;三,本文用到了分级检测的思想,该方法可以进一步的提高检测性能。,2023/2/25,55,未来的主要研究工作如下:一,寻找其他新的特征提取方法,尝
23、试其他的特征组合来分别作为粗级和精密级检测器的特征,看能否进一步提升性能;二,深入研究级联算法,结合相应的特征选择算法,对级联算法进行修改,考虑特征数目的限制,丢弃会导致虚警率大幅上升的特征;三,研究如何处理行人被遮挡、行人非站立等目前的行人检测方向的难题。,2023/2/25,56,4.2 基于FDF特征的FloatCascade行人检测方法基于FDF特征的FloatCascade行人检测方法,应用积分图提升FDF特征提取和检测速度。FDF特征计算比较简单,能很好的表征行人,FloatCascade方法应用增l减r法来进行级联特征选择,选择出使检测率有效增加,虚警率有效降低的的特征组合,可以
24、提高特征组合的检测性能。实验结果表明,应用积分图到FDF特征提取中可提升速度50倍。FloatCascade方法可以用较少的特征达到与VJ级联相当的性能,在特征数目相当的情况下,FloatCascade方法能够实现的分类性能优越于广泛使用的Viola和Jones级联方法。本文提出的行人检测方法能准确的检测出复杂背景下不同姿势的直立行人,由于特征数目少加上应用了积分图理论,检测时间比较快,检测精度优于以往Adaboost方法。,2023/2/25,57,本文方法还存在不足之处:一,FloatCascade方法选择出来的特征虽然比Viola和Jones级联选择出来的特征有效,但却无法排除特征间的相
25、关性,不是最优的特征组合;二,本文方法能对直立无遮挡的行人有较好的检测效果,但是对于非站立和有遮挡的检测效果并不好,这是本文方法需要改进的地方;三,对于大规模人群检测效果不好,这也是一个需改进的地方。,2023/2/25,58,六 行人检测的后续研究,2023/2/25,59,行人检测是行人分析的基础,后续的研究一般包括行人跟踪和行人行为分析 行人跟踪是在行人检测的基础上进行的,目的就是通过对拍摄到的图像序列进行分析,计算出目标在每帧图像中的二维位置坐标,并根据特征值,将图像序列中不同帧中同一运动目标关联起来,得到各个运动目标完整的运动轨迹。行人行为分析是行人检测和跟踪的目的和高级应用,对行人
26、的行为进行分析和识别,可以用来预测行人与车辆碰撞的可能性,识别影响驾驶安全的异常行为,预防交通事故的发生,七 结语,该报告比较详细的叙述了我们所作的所有工作,主要是研究基于机器学习的行人检测方法,研究的工作主要包括两个方面:特征提取和机器学习。其中特征主要是研究HOG特征和FDF特征,因为实验证明这两种特征能较好的表征行人,也提到了Haar特征和积分图快速算法,是因为haar特征是比较经典的特征,多用于人脸检测,对于行人检测效果不佳。机器学习算法主要研究adaboost及其级联,也有用到SVM,但这个不是现阶段的研究重点,但是SVM方法有它自己的优势,比如训练简单,速度快,性能也较好。,202
27、3/2/25,60,特征方面 我们修改了HOG特征,提出了新的EHOG特征,实验证明EHOG可行有效,能表征行人。将以往用的较少的简单的FDF特征用于行人检测,实验表明FDF特征很合适表征行人,检测能力较好。机器学习方面 主要是研究adaboost的应用及其级联的改进,并没有深入研究adaboost的理论基础,这个是下一步需要做的工作,我们所做的工作是对adaboost的级联算法进行改进,提出新的级联特征选择方法-FloatCascade,2023/2/25,61,下一步研究的重点(1)深入研究adaboost,深入理解adaboost基础理论,并在adaboost基础理论上有所创新,从弱分类器层面上提高性能。(2)继续研究adaboost的级联,提出更有效地级联和特征选择方法。(3)研究特征提取,试图寻找更多的适合表征行人的特征,或者进行对现有特征进行融合或者组合。(4)研究行人非站立,被遮挡,黑夜,和背景很相似的情况下的行人检测,争取能较好的解决这些问题,提高行人检测系统的鲁棒性。,2023/2/25,62,2023/2/25,63,Thank you!,
链接地址:https://www.31ppt.com/p-2792448.html