APP下载

基于HOG特征和SVM分类器的行人检测研究

2016-10-21岳鑫

科技创新与应用 2016年5期

岳鑫

摘  要:行人检测目前是机器视觉领域研究中一个热门技术。文章利用梯度直方图特征和支持向量机对不同场景下的样本图片进行检测。检测结果表明:在真实的应用场景中,该方法可以满足大部分的行人检测需求,但不同的光照、不同的遮挡和不同的样本复杂度对检测结果有一定影响。

关键词:HOG特征;SVM分类器;行人检测

行人检测技术是计算机视觉领域中的一个重要的分支,在智能交通、智能监控、行人行为分析以及智能机器人领域有着广泛的应用,是通过判断图片或视频序列中是否有行人出现,并给出准确位置的一项图像理解技术。行人检测主要分两大类方法[1]分别为基于背景建模的方法[2]和基于统计学习的方法[3]。前者主要利用图像差分的思想,分割出前景,提取其中的运动目标,从而达到目标检测的目的。该方法对背景的要求比较苛刻,在下雨、下雪、背景中树叶的晃动、光线不稳定的场景中该方法的抗干扰能力较差。基于统计学习的方法,首先对目标进行特征提取,然后训练相应的分类器,再通过滑窗技術,把训练好的分类器应用于图像中,检测用户感兴趣的目标[4]。文章使用基于统计学习的方法利用HOG特征和SVM分类器进行行人检测。

1 行人检测原理

1.1 梯度直方图特征描述

梯度直方图特征主要是用来描述图像局部重叠区域的一种描述符,将图像中局部区域像素的梯度方向直方图来做为人体的特征,该特征可以很好的描述出人体的边缘,并且不敏感于光照条件和微小的偏移。

图像中任意一像素点(x,y)的梯度表示为:

(1)

其中Gx(x,y)、Gy(x,y)和H(x,y)分别表示图像中在(x,y)处的水平方向梯度、垂直方向梯度和像素值。像素点(x,y)处的梯度幅值和梯度方向分别由下面公式计算可得:

(2)

在梯度直方图特征-简称HOG的提取过程中,Dalal曾提出:对于一个样本图像,我们可以将它看成若干个像素的单元,图像像素的梯度方向平均可以分割为9个区间,用直方图来统计每个像素单元里面所有像素梯度方向的所有方向区间,这样就可以得到一个比较直观的9维特征向量,块是由每4个相邻的单元构成,再把这个块中4个特征向量连接起来,就可以得到方便理解的36维特征向量,然后以一个单元作为步长用块进行扫描样本图像,最终串联起所有块的特性,人体特征就得到了。

上面所提出提取HOG特征来获取人体特征可以用于行人检测中,而这只是其中一个步骤,还有彩图转灰度,亮度校正等一系列步骤。综上,在用于行人检测过程中,HOG特征的计算步骤如下:

首先,将一个彩色的样本图像转为一个灰度图,并做归一化处理即采用Gamma校正法标准化输入图像的颜色空间,归一化的目的是为了调整样本图像的对比度,进而减少日光照射变化和样本图像的局部阴影所带来的影响,与此同时也有利于约束噪音的干扰;其次,计算梯度:这个步骤的目的是为了捕捉样本图像的边缘信息,进一步降低日照的干扰;再次,将梯度映射到像素单元的梯度方向:这样的目的是对局部样本图像提供一个编码;然后,归一化每个块上的所有单元格:标准化颜色空间可以更深层次地紧缩日照、阴影以及轮廓,一般情况下,几个不同的块可以会同享一个单元格,但是单元格的归一化在取决于不同块的,故而这样计算出的结果会不同,因此,我们最终所看到的向量中会呈现一个单元格特征的不同结果。HOG描述符也即标准化之后的块描述符;最后,一步就是将监测空间所有块的梯度直方图特征手整理起来:图像检测中我们会对所有块的交汇进行检测,这一步就是对其做HOG特征的整理,并将它们收集成最后的特征向量可供分类操作。

1.2 SVM分类器

SVM分类器可用于支持向量机算法,建立在样例线性可分的情况下,我们所说的支持向量机SVM就是从其最优分类面提出,而所谓的最优分类面就是:将不同的分类用线无差错地隔开,以保证经验风险最小,最小值为0,这样可以获取到很多的分类线,其中不同分类间距最大的分类线就是最优分类线。而通过下面的论述我们就可以看到,要求分类间距最大其实就是为了让推广行中的置信范围为最小,进而推广到高维空间,这样我们所得到的最优分类线就成为了最优分类面。

支持向量机就是基于最优向量面的思想训练出的一种分类算法,通俗一点来讲,他就是一个两类分类模型,会依赖预处理后的数据,最终可转化为一个凸二次规划问题的求解,在n维空间中找到一个分类超平面,将空间上的点分类。如图,是线性分类的例子。

图1 支持向量机线性分类

图中的实心圆点和空心圆点分别表示两个不同的分类,H就是将两个分类无错误的分割,并保证分类间距最大的最优分类面,从图像中我们不难看出,当用H分类面将两类分割开时,误差小,分割面到不同类的间距也最大。而上图中的H1,H2就是两类间隔,他们之间的距离表示为margin。支持向量机就是在更高维的空间得到原始数据找到一个最优的分类面继而使得两分类的距离最大。而在穿过H1,H2的空心圆点和实心圆点就是用来界定最优分类超平面的训练样本,也就是支持向量。很明显,这些支持向量是对于求解最有分类面是最有帮助的模型,这些向量其实也是最难被分类的那些向量。

通过上面的描述以及示例我们可将支持向量机概括为:通过给出适当的内积函数以实现非线性变换,这样就可以将原始模式转换成一个足够高维的空间,然后在得到的这个新空间我们可以求取最优线性分类面。其实通俗理解的话,我们可以将支持向量机求得的分类函数看成是一个神经网络,在这个神经网络中主要的输出便是中间层节点的线性组合,其中中间层节点对应于输入脚本与一个支持向量的内积,所以我们也可以称之为支持向量网络。

1.3 利用HOG和SVM进行行人检测

有资料表明,在2005年CVPR上,来自于法国的研究人员Navneet Nalal和Bill Triggs在会上提出在行人检测的实现过程中可以有效地利用HOG特征进行提取,再加上线性SVM作为分类器,他们提出的这一理论,是通过大量的试验得出HOG以及SVM的相互配合可以在速度和综合平衡性效果上更有效的做行人检测,后面的一些研究人员在他们的这一研究成果上也提出了一些改进性的算法。

2 实验结果与分析

实验结合OpenCV库开发一套行人检测程序,软件环境为VS2010与OpenCV2.4.9。在不同的光照条件、不同的遮挡等条件下进行实验,实验结果如图2所示。

在图2中,(a)(b)(c)(d)为在自然光照条件下的行人样本,(e)为灯光下条件下行人重叠情况,(f)为光线不足情况。样本(a)在光照条件充足没有遮挡的情况下检测良好,样本(b)和样本(c)在有少量遮挡的的情况下也可以检测出行人,而样本(d)在遮挡较大时检测失败,但可以检测出较远的目标,样本(e)在有大量行人同时存在交叉遮挡是检测效果不理想,样本(f)在光照条件不足时对检测结果有着直接的影响。

3 结束语

由实验可以看出,当无遮挡或存在较少的局部遮挡时,可以比较准确地检测出行人。但当遮挡超过一半时,行人便无法检测。存在大量行人重叠交错运动时检测效果一般。光照条件、遮挡比例和样本图像中行人的复杂度也是对检测结果很重要的因素。

参考文献

[1]杨忆明,袁彬.基于视频的行人检测算法研究[J].交通节能与环保, 2015(4):94-97.

[2]於健生,汪宏,顾晶.一种基于视频的新型行人识别方法[J].信息化研究,2010,36 (3):19-21.

[3]Wang and J.Shi and G.Song and I.Shen,"Object Detection Combining Recognition and Segmentation"[C].ACCV,2007.

[4]裴文娟.基于梯度特征和纹理特征的行人检测[D].安徽大学,2015.