首页 理论教育行人检测的智能汽车技术概论

行人检测的智能汽车技术概论

【摘要】:基于统计学习的方法根据大量训练样本构建行人检测分类器。在实际应用中,Pepageorgiou等人采用SVM和多尺度Haar小波过完备基结合的方式进行行人检测,首次提出采用滑动窗口进行行人检测。运动是行人检测中的另一个重要线索。基于HOG特征的行人检测。总结起来,在行人检测中,HOG特征计算的步骤为:将输入的彩色图像转换为灰度图。SVM分类器已经被广泛应用于图像识别中,尤其在行人检测中获得了成功。

1)基于视觉的行人检测

基于视觉的行人检测方法主要有基于背景建模的方法和基于统计学习的方法等。基于背景建模的方法首先分割出前景,提取其中的运动目标,然后进一步提取特征,分类判别。该方法的鲁棒性不高,抗干扰能力较差,而且背景建模方法的模型过于复杂,对参数也较为敏感。基于统计学习的方法根据大量训练样本构建行人检测分类器。提取的特征一般有目标的灰度、边缘、纹理、形状、梯度直方图等信息。分类器包括神经网络、支持向量机(Support Vector Machine,SVM)、Adaboost等。但是基于统计学习的方法存在以下难点:行人的姿态和服饰各不相同;提取的特征在特征空间中的分布不够紧凑;分类器的性能受训练样本的影响较大;离线训练时的负样本无法涵盖所有真实应用场景的情况。

在实际应用中,Pepageorgiou等人采用SVM和多尺度Haar小波过完备基结合的方式进行行人检测,首次提出采用滑动窗口进行行人检测。Viola和Jones基于这种思路,用积分图来达到快速特征计算的目的,并利用一种级联结构进行高效的检测;同时,利用AdaBoost算法来进行自动特征筛选。受到尺度不变特征变换(Scale-Invariant Feature Transform,SIFT)算子的启发,Dalal和Triggs等人提出用梯度直方图(Histograms of Oriented Gradients,HOG)的特征进行行人的特征描述。此外,特征描述方法还有形状特征,利用Hausdorff距离变换和分层模板匹配方法,以及“edgelet”的特征、“shapelets”的特征等方法。

运动是行人检测中的另一个重要线索。然而,在摄像机运动的情况下,有效的利用运动特征则是一个具有挑战性的课题。在摄像机固定的情况下,Viola等人通过计算不同图像的Haar-like特征,可以获得较好的性能;而对于摄像机不固定的情况,则需要将运动进行分解。Dalal等人利用光流场来对图像内部的运动进行统计建模,然后在图像局部区域内进行一定的运动补偿。

就单个特征而言,目前还没有哪个特征描述算子比HOG算子更加有效,但将其他特征跟HOG特征结合起来,能起到补充的作用。例如将Haar-like、shapelets、HOG特征,以及形状进行一定的组合,比其他单独特征描述算子更加有效。此外,还可将SVM分类器进行改进,使其更加适用于遮挡的情况。

(1)基于HOG特征的行人检测。

①HOG特征。

HOG特征是一种对图像局部重叠区域的密集型描述符。它通过计算局部区域的梯度方向直方图来构成人体特征,能够很好地描述人体的边缘。HOG特征对光照变化和小量的偏移不敏感。

图像中像素点(x,y)的梯度为:

式中,Gx(x,y),Gy(x,y),H(x,y)分别表示输入图像中像素点(x,y)处的水平方向梯度、垂直方向梯度和像素值。像素点(x,y)处的梯度幅值和梯度方向分别为:

HOG特征提取的过程为:把样本图像分割为若干个像素的单元(cell),把梯度方向平均划分为9个区间(bin),在每个单元里对所有像素的梯度方向在各个方向区间内进行直方图统计,得到一个9维的特征向量。每相邻的4个单元构成一个块(block),而把一个块内的特征向量连起来就可得到36维的特征向量。用块对样本图像进行扫描,且扫描步长为一个单元。最后将所有块的特征串联起来,就得到了人体的特征。例如,对于像素为64×128的图像而言,以8个像素为步长,那么,水平方向将有7个扫描窗口,而垂直方向将有15个扫描窗口。也就是说,对64×128的图片,共有36×7×15=3 780个特征。

在行人检测过程中,除了上面提到的HOG特征提取过程,还包括彩色图像转灰度图、亮度校正等步骤。总结起来,在行人检测中,HOG特征计算的步骤为:

将输入的彩色图像转换为灰度图。

采用Gamma校正法对输入的图像进行颜色空间的标准化(归一化)。其目的是调节图像的对比度,降低图像局部的阴影和光照变化所造成的影响,同时抑制噪声的干扰。

计算梯度,主要是为了捕获轮廓信息,同时进一步弱化光照的干扰。

将梯度投影到单元的梯度方向,为局部图像区域提供一个编码。

将所有单元格在块上进行归一化。归一化能够更进一步对光照、阴影和边缘进行压缩。通常每个单元格都由多个不同的块共享,但它的归一化是基于不同块的,所以计算结果也不一样。因此,一个单元格的特征会以不同的结果多次出现在最后的向量中。将归一化之后的块描述符称为HOG描述符。

收集得到检测空间所有块的HOG特征,即将检测窗口中所有重叠的块进行HOG特征的收集,并将它们结合成最终的特征向量,供分类使用。

②SVM。

SVM分类器已经被广泛应用于图像识别中,尤其在行人检测中获得了成功。SVM是在统计学习理论的基础上发展起来的一种机器学习方法,它将最优学习问题转化为一个凸二次优化问题,从而避免了局部极小点,而且支持向量机有效地解决了过学习问题,具有良好的泛化能力及较高的分类精度。其特点是利用有限训练样本得到的决策规则在独立的测试集上仍然能够得到较小的误差。

给定一个训练样本集合:

每一个训练样本xi∈Rn的类别为yi∈{1,-1},其中i=1,…,l。那么,支持向量机通过优化算法找到分类决策面:

其中,ϕ(·)为映射函数。它将特征空间Rn映射到更高维的Z特征空间。(w,b)为分类决策超平面参数。在这个分类超平面下有:

其中w∈Z且b∈R。

因此,优化问题转化为:

满足 

其中,C为常量,通常被称为惩罚因子。在训练支持向量机的预测模型时,常常需要设定这个参数来调节最大化间隔和最小化错分数量之间的平衡。求解式(4-14)是一个二次规划问题,可以通过构造一个拉格朗日方程将问题转化为二次凸面的最优问题:

满足 

其中,a=(ai,…,al)是拉格朗日乘子向量。利用Kuhn-Tucker理论,得到约束方程:

进而可得:

SVM的一个优点是不需要知道映射函数ϕ(·),而只需要用核函数K(·,·)通过计算卷积的方式来实现特征空间的映射。因此,能够得到:

由式(4-19),最优问题转化为:

满足 

从而,最终的决策函数可表示为:

(2)基于Stixel模型的行人检测。

2012年,比利时研究人员Rodrigo Benenson和Markus Matias在如何快速、有效地进行行人检测方面,提出了两种加速方法。一种是如何在单帧图像上更好地处理尺度信息,另一种是如何利用立体图像的深度信息来加速。在不降低检测质量的前提下,可以获得20倍的加速效果。该方法的检测速度达到100 fps。

该方法利用Stixel模型进行目标检测。Stixel为柱状物之类的几何特征描述,主要对地平面之上的目标进行建模。对于图片中的每一列而言,可以估算出底部像素、顶部像素以及目标之间的距离。利用深度信息对目标进行检测。Stixel模型在立体图像中能更好地发挥作用,无须计算所有的深度信息,而只需直接快速地利用立体图像来计算。借助于Stixel模型,检测空间缩小了,使实际应用过程中的速度性能变得更好。

2)基于激光雷达与视频数据融合的行人检测

就目前技术来说,视觉虽然可以提供丰富的图像信息,但是室外场景中的光照变化、遮挡、阴影等影响,导致视觉算法在复杂交通环境中鲁棒性较低。由于激光雷达可以获得移动目标在二维平面内的位置、形状等状态估计,因此可以有效地实现移动目标的状态跟踪。通过融合激光雷达与视频图像数据,可以对目标进行较为准确的检测。利用激光雷达数据抽取出感兴趣区域,再利用视频图像识别该目标的属性,可以有效地实现不同模态传感器间的互补,提高检测性能。

采用激光雷达与视频数据融合的方法检测车辆周边环境中的行人,一般包括3个步骤:

(1)处理激光雷达数据,得到感兴趣区域;

(2)准备图像数据,进行基于图像的行人检测算法的训练;

(3)利用训练好的分类器,在感兴趣区域内进行行人检测。

具体来说,首先是对激光雷达数据进行聚类、分类处理,将处于激光有效范围外的激光点以及可以认为是建筑物、车辆、灌木丛等反射的激光点排除,得到疑似行人反射的激光点。一般将给定激光点所处位置[0,2.2]m的高度范围看作感兴趣区域;同时,将聚类、分类过程中属于同一物体的激光点用一个方框代替。用训练好的分类器,基于感兴趣区域进行行人检测。基于激光雷达数据提供的感兴趣区域进行行人检测,能够极大地提高检测速度,并大大减少误检率。