基于HOG特征和改进IKSVM的车辆检测算法
黄 飞
【摘 要】摘要:为了准确地对视频图像中的车辆目标进行检测,提出一种基于方向梯度直方图(HOG)特征和交叉核函数支持向量机(IKSVM)的车辆检测算法,并通过对交叉核函数计算方法的改进,提高了算法的检测效率.以m个n维支持向量构成的IKSVM为例,改进后其检测的时间复杂度由o(nm)降为o(nlogm).实验证明,改进IKSVM算法对图像中的车辆目标进行了较准确的分类检测,且在检测速度方面较传统的SVM车辆检测算法有明显的提高. 【期刊名称】安徽工程大学学报 【年(卷),期】2016(031)005 【总页数】5
【关键词】关 键 词:车辆检测;HOG特征;交叉核;SVM分类器
智能化视频监控的目的是将图像与事件建立一种映射关系,借助计算机强大的数据处理能力对监控视频的内容进行描述、分析和判断[1],使其具有与人类相似的对图像内容的理解能力.其中,车辆目标的自动检测是实现智能化视频监控至关重要的一个环节.
目前,基于计算机视觉的车辆检测算法主要有光流法、模板匹配法和基于特征的方法.光流法对于图像中的光线变化较为敏感,然而计算量过大无法满足实时性要求;而模板匹配法的检测准确度则十分依赖所选取的车辆模板,受车型、角度和距离的影响较大.相较于上述两种算法,目标特征结合机器学习的车辆检测算法性能更为优良,正逐渐成为国内外的研究热点[2],并取得了一系列的研究成果.如Chang[3]结合Haar特征和Adaboost分类器从侧面检测车辆的
前后轮,并后续提出了采用级联Adaboost分类器检测车辆[4],以提高分类器的检测性能.Adaboost分类器实时性较好,但训练时间长,且随着训练样本的增多,训练时间成倍增加.Wang[5]利用boosted HOG特征和线性SVM实现行人检测.在此算法应用于行人检测已较为成熟的基础上,Sivaraman[6]提出一种HOG特征结合SVM分类器检测车辆的方法,但SVM分类检测算法为了保证目标检测的准确度,往往采用高达数千维的支持向量,计算量十分庞大,同时也无法满足大多数系统实时性的要求.
针对上述问题,提出一种HOG特征结合改进的IKSVM的车辆检测算法,在不降低HOG特征维数的前提下,通过提高IKSVM的分类效率来加快车辆的检测速度.
1 HOG特征提取方法
方向梯度直方图(Histogram of Oriented Gradients,HOG)是由Dalal提出的一种用于行人检测的算法,其核心思想是待检测目标的外观形状可以由目标区域的梯度幅值和梯度方向的分布统计来描述[7].一般场景下的车辆目标在车标、车灯、车牌和保险杠存在的区域包含了丰富的梯度信息,而车身和背景区域灰度变化相对较小,因而使用HOG特征检测车辆目标较为合理.由于HOG特征对尺度、方向、光照的良好适应性,已成为常用的车辆检测算法.
车辆图像的HOG特征示例如图1所示,输入车辆图像如图1a所示,该图像的可视化HOG特征如图1b 所示. HOG特征的计算过程如下:
(1)灰度化输入图像并使用Gamma方法对灰度图进行校正和归一化处理. (2)遍历图像计算像素点(x,y)的梯度幅值和方向.
(3)选用8*8像素大小的细胞单元cell作为方向梯度直方图统计的最小单位, 每个cell互不重叠. 以图1a中车辆样本图像为例,归一化后像素大小为64*128, 共可划分为128个cell.然后将梯度方向在范围内均匀划分成9个直方图通道,cell内的每个像素点对应其梯度方向通道进行加权投票,权值为该像素点的梯度幅值.最终得到一个描述输入图像梯度特征的1 152维向量. (4)在图像中划分若干个2*2细胞单元大小的块block,串联block内4个cell的36维特征向量并对梯度幅值做归一化处理,即得到36维块向量.归一化后的块向量能有效地减弱图像局部变化的影响.
(5)联合所有的块向量即可得到该输入图像的HOG特征.
2 车辆分类检测算法
基于HOG特征的IKSVM车辆分类检测算法通过分析和比较待检测样本的HOG特征向量和支持向量之间的相似度来确定目标的类别,其计算复杂度是衡量分类算法的重要指标.借鉴Maji提出的一种改进的基于交叉核支持向量机(IKSVM)的HOG特征直方图比较方法,将直方图的比较转化为直方图坐标功能的线性组合,大大降低了计算复杂度[8-9].
直方图交叉核常用于比较直方图ha和hb之间的相似性,由于它的正定性,也可用作SVM分类算法的核函数.近年,交叉核SVM在检测和识别方面应用比较成功,如金字塔匹配算法和空间金字塔匹配算法,但是同运算简单的线性核SVM相比,IKSVM运算代价较大.以m个支持向量构成的IKSVM分类器处理n维特征向量为例,其分类算法的时间复杂度和空间复杂度皆为o(nm).引入的改进方法将IKSVM分类器识别算法的时间复杂度缩短至o(nlogm). SVM分类检测算法的性能取决于选取的核函数,线性核函数训练和识别速度快,