行人检测报告_第1页
行人检测报告_第2页
行人检测报告_第3页
行人检测报告_第4页
行人检测报告_第5页
已阅读5页,还剩58页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

目录

行人检测方法概述常用特征介绍AdaBoost及其级联我们的行人检测方法框架检测结果及其结论行人检测的后续研究小结

2023/9/221一

行人检测概述行人检测就是把视频序列中出现的人体从背景中分割出来并精确定位。基于计算机视觉的行人检测由于其在车辆辅助驾驶系统中的重要应用价值成为当前计算机视觉和智能车辆领域最为活跃的研究课题之一。基于视觉的行人检测目前仍旧是计算机视觉领域的一个公开的难题。原因在于:行人同背景混合在一起,行人可能走,也有可能站着或者不可预测地改变运动方向;行人所处的背景非常复杂;天气以及光照也随机变化,行人的服饰和姿态多变。2023/9/222目前常用的行人检测方法主要有背景差法、帧差法、光流法,模版匹配和基于机器学习的方法等。前四种检测方法都是常规的基于图像处理技术的人体检测方法,然而这些方法不能解决人体形状和外貌各式各样的难点,人体的不同运动方式的问题,受天气以及光照的随机变化,行人的服饰和姿态改变影响较大。基于机器学习的方法从样本集中学习人体的不同变化,具有较好的鲁棒性,而且合理的选择训练样本和特征,结合结构合理的分类算法,可以较好地克服许多不利条件,如行人多样性、场景多样性、光照环境多样性等的影响,从而有很好的推广性和广泛的适用范围。2023/9/223由于基于机器学习的行人检测方法的优点,它已经成为目前行人检测的一种主流的方法。基于机器学习的方法一般包括特征提取和训练机器学习分类器,检测三个部分。用于行人检测的特征有:Haar特征,Hog特征,Edgelet特征,FDF特征等,如表1所示。2023/9/224用于行人检测的机器学习算法有:支持向量机(SVM)、各种类型的神经网络(NN)以及其他基于统计的学习分类器(如Adaboost、级联分类器)等,如表2所示。2023/9/225二常用特征介绍我们主要用到的特征是Haar特征,HOG特征和FDF特征,下面对这三种特征分别进行介绍。1Haar特征介绍Haar特征,也叫矩形特征,它对一些简单的图形结构,比如边缘、线段,比较敏感,但是其只能描述特定走向(水平、垂直、中心)的结构,因此比较粗略。2023/9/226特征模板特征模板是由两个或多个全等的矩形相邻组合而成,特征模板内有白色和黑色两种矩形,并将此特征模板的特征值定义为白色矩形像素和减去黑色矩形像素和。特征模板可以在子窗口内以“任意”尺寸“任意”放置,每一种形态称为一个特征。找出子窗口所有特征,是进行弱分类训练的基础。2023/9/22特征数目m×m窗口内的特征数目公式:2023/9/22特征数目(续)从上表可以看出特征数目很大,为了简化计算,用积分图来加快计算2023/9/229积分图像特征的数量很多,计算特征值看起来是一个很大的工作量。然而,积分图像可以帮助我们解决这个问题。积分图像是图像的一种表示方式,其定义如下:其中,是积分图像,是原始图像。列图像和2023/9/22积分图像(续1)2023/9/22积分图像(续2)2023/9/22积分图像(续3)在下图3.8中,区域D的像素值,可以利用1、2、3、4点的积分图来计算。2023/9/22Haar特征值计算2023/9/222HOG特征概述2.1HOG提取

HOG是一种对图像局部重叠区域的密集型局域描述符,它通过计算局部区域上的梯度方向直方图来构成人体特征,是Dalal和Triggs在2005年提出的。HOG是在被称为Cell和Block的网格内进行密集计算得到,Cell由若干像素点构成,而Block则由若干相邻的Cell组成。图1描述了该特征提取算法的全部流程。2023/9/22152023/9/2216HOG提取过程详细流程图如图2所示。2023/9/22172023/9/22182.2EHOG提取熵表示的是分布的混乱程度,熵越小表示分布越均匀,熵在某种程度上可以表示物体的纹理特征,受到熵的启发,本文提取了一种EHOG(Entropy-HOG)特征,这个特征是基于HOG特征的,在计算HOG时,角度分为9个范围,每一个Block有4×9=36个值,这些值是在某个角度范围内的梯度的个数,可以得到HOG直方图。利用公式

可以得到训练样本中每一个Block的熵,作为一维特征并在36个HOG特征值后面,这样就得到了EHOG特征,正样本的Block熵和负样本的Block熵比较如下图所示。2023/9/22193FDF特征FDF特征是一种相对比较简单的特征,其复杂度介于已被广泛研究的Haar特征和HOG特征之间,能够提取目标的轮廓特征,适合于行人目标的检测。FDF特征计算过程主要分为两个步骤:首先利用梯度算子,计算四个方向的梯度,作为初级FDF特征;然后对得到的初级FDF特征进行高斯模糊,平均化得到最终的FDF。初级FDF特征的计算如下所示:这里的

是初级的FDF特征,

是灰度图像,

表示卷积运算,

是梯度算子用来计算四个不同方向的梯度方向为

是2维高斯平滑滤波器可以用来平滑不同行人样本的细节部分。2023/9/2220然后对求得的初级FDF特征值,以M×N(如4×4)大小为单位进行平均,作为此M×N个像素点的特征值,得到的四个方向的平均梯度值向量连起来作为图像的最终FDF特征向量。FDF特征提取过程及其效果如图3所示。2023/9/22212023/9/2222

三AdaBoost及其级联

AdaBoost概述Adaboost算法是统计分类方法中一个经典算法,它由Boosting算法发展而来,是由Freund在1995年提出的,该算法解决了以前Boosting算法在实践中存在的各种问题。实验表明,Adaboost算法能够显著提高学习精度。Adaboost算法是一种迭代方法,它本身是通过改变数据分布来实现的。它根据每轮训练中每个样本的分类是否正确,以及上轮的总体分类准确率,来确定每个样本的权值。将每次训练得到的分类器融合起来,作为最后的决策分类器。在Adaboost算法中,每一个训练样本都被赋予一个权重,表明它被某个弱分类器选入训练集的概率。如果某个样本没有被正确的分类,那么在构造下一个训练集时,它被选中的概率就会增加;相反,如果某个样本已经被正确的分类,那么在构造下一个训练集时,它被选中的概率就会降低。2023/9/2223

2023/9/2224通过这样的方式,Adaboost算法能够“聚焦于”那些较困难(更富信息)的样本上。在具体的实现上,最初令每个样本的权重都相等,对于第t次迭代操作,就根据这些权重来选取样本点,进而训练分类器ht(x)。然后就根据这个分类器,来提高被它错分的那些样本点的权重,并降低被正确分类的样本权重。然后,权重更新后的样本集被用来训练下一个分类器ht+1(x)。整个训练过程如此循环下去。算法流程如图4所示。1.1弱分类器的定义弱分类器就是根据某些单一依据来进行粗略分类的分类器,其分类的准确度要求很低,只要达到50%以上即可弱分类器进行具体定义如下所示:其中x为待检测窗口,f(x)为特征值,特征参数

表示不等式方向,取值为

为对所有样本进行统计得到的特征值的阈值,是分类的依据。从弱分类器的定义可以看出,要确定一个弱分类器,关键就是如何确定???

值和阈值。弱分类器的输出结果为0或1,在

???值为正时,输出1表示判断为真,即为行人图像,输出为0表示判断为假,即为非行人图像;???

值为负时,输出1表示判断为真,即为行人图像,输出为0表示判断为假,即为非行人图像。2023/9/22251.2强分类器的训练单个的弱分类器分类能力有限,正确率只在一半左右,另外并不是所有得到的特征所对应的分类器都有很好的分类能力,为了加快训练过程,从提高效率和性能两个方面考虑,还需要对弱分类器进行迭代选择,得到较优的弱分类器,再由若干性能较优的弱分类器按照各自不同的权重比例组成强分类器。在介绍Adaboost强分类器训练过程之前,先做如下规定:规定:给定n个训练样本集

,其中

=+1/-1,表示行人样本(正样本)和非行人样本(负样本)。设正样本数为m个,负样本数为p=n-m个。设要循环迭代的次数为T,即要选出的弱分类器个数为T。对所有样本进行权重初始化,如公式所示:2023/9/2226下面介绍Adaboost强分类器的训练过程。迭代过程如下:(迭代T次)2023/9/22271.3一个简单的adaboost训练的例子2023/9/22282023/9/22292023/9/22302GAB介绍目前最常使用的Adaboost算法有DiscreteAdaboost(DAB),RealAdaboost(RAB)和GentleAdaboost(GAB)。其中

DAB是基本算法,后两者是在其基础上的改进算法。它们的主要区别在于DAB要求弱分类器的输出是二值,后两者则将要求放宽到实值[25]。GAB通常可以取得更好的效果。GAB学习过程如图所示2023/9/22312023/9/22323级联分类器3.1级联结构级联分类器的结构是一个倒决策树的形式,对行人的检测过程是有序的逐级检测,只有被前一级的检测器认为是行人,才会触发下一级的检测过程,因而通过了所有检测器的行人才会被最终认定为行人,否则针对该行人的检测过程将终止,输出检测结果为非行人。强分类级联结构如图5所示。2023/9/22333.2级联分类器关注的参数2023/9/22343.3Voila和Jones经典级联

该级联方法的流程图如下:2023/9/22353.4我们的AdaBoost级联算法的实现我们的Adaboost级联算法与传统的级联算法的区别主要在于特征的选择和负样本的更新,新的级联算法的负样本更新要求确保负样本的数目保持一致,级联前先建立一个备选负样本库,每一次负样本更新不仅仅把这一级的负样本中的虚警保留下来,还要对备选负样本库进行验证,提取出通过前几级还是虚警的负样本加入到新的训练负样本中去,保证负样本数目和最开始的负样本数目一致。级联中有增加特征的过程,这些特征是如何选择的,经典的方法并没有说明,我们的级联方法用错误率来排序所有的特征,按照错误率由低到高的顺序依次增加特征。为了让选出的特征更具有代表性,在提取的特征的时候,提取各种尺度的FDF特征,事先建立特征池,方便级联时选择。新的级联训练的实现流程如下图所示。2023/9/2236其中2023/9/22374FloatCascade算法4.1FloatCascade算法的必要性

在上述adaboost级联方法中特征是按照错误率由低到高依次增加的,当增加的特征使检测性能达到该级要求了,就退出该级训练,这种只增不减的方法选择出来的特征中是存在冗余的,因为直接增加特征并没有考虑增加特征之后特征组合是否比不增加该特征更有效,这里的更有效是指检测性能更好,比如可能存在某些n个特征的组合比n-1个特征组合的检测能力还差的现象,造成了特征的浪费,增加检测时间,而且会降低检测性能。因此开发一种在级联过程中选择有效特征组合的算法是非常有必要的。2023/9/22384.2FloatCascade算法介绍我们提出了一种新的Adaboost级联特征选择方法,称之为FloatCascade,这个方法用到的也是一种backtrack机制,实质也是一种增l减r法,l和r既可以到动态改变,也可以设为定值。FloatCascade特征选择分为特征增加和特征删减两个步骤。增加特征时是以检测率DP是否增加为判断标准,删减特征是以错误率EP是否减少为判断标准的。每一级级联实际上就是获得一个性能达到要求的强分类器,通过多次特征选择得到。FloatCascade算法流程图如下。2023/9/22392023/9/2240四我们的行人检测方法框架1基于多特征和机器学习的分级行人检测方法这是一种基于多特征和机器学习的由粗到细的分级行人检测方法。行人检测器是由一个粗级行人检测器和一个精密级行人检测器组成,粗级行人检测器通过提取FDF特征和GAB级联训练得到,精密级行人检测器用EHOG作为特征,通过SVM学习得到。检测

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论