基于图像处理的车辆识别系统设计

2019-11-19 08:26邱国枢郭建华
关键词:超平面分类器梯度

邱国枢,张 翔,刘 军,王 蕾,田 青,郭建华

(1.江苏省徐州市公路管理处,江苏 徐州 221002;2.北方工业大学电子信息工程学院,北京 100144;3.东南大学智能运输系统研究中心,江苏 南京 210096)

现阶段,普遍应用于道路交通领域进行车辆检测的技术大致分为利用计算机视觉的目标检测方法[1]、红外检测法[2]、微波检测法和感应线圈检测法[3]等.用于视频目标的检测算法主要有有光流法[4]、帧间差分法[5]、背景差分法[6]和高斯混合模型法[7-8]等.这些方法中存在的难点是检测目标所处场景的背景消除,并且当摄像机自身处在抖动状态、拍摄区域光照变化情况较大、检测场景存在阴影时,均会对检测结果产生很大的影响.相较于以上目标检测方法,基于机器学习[9]的HOG特征具备多个优点.由于HOG是在图像的局部方格单元上进行操作,因此对图像几何的变化和光学的形变都能保持较好的不变性,针对实际应用时的检测目标角度变换、图像异常噪声等问题具有良好的适应性.

在有效提取特征的基础上,为了减少样本中冗余样本对检测效果的影响,提高算法的鲁棒性,笔者拟采用SVM算法计算出少量数目的支持向量,并结合从正、负样本中提取出的HOG特征信息训练生成实际分类所需的分类器模板.基于HOG和SVM的车辆检测系统[10-14],可充分利用视频平台现有的计算资源,无需额外拓展,通过提取车辆的轮廓特征,结合分类器进行检测目标识别分类,可以实现高效、精准、实时的车辆检测效果.

1 车辆检测系统结构设计

1.1 基于机器学习的目标检测算法

图1 SVM+HOG流程Fig. 1 SVM+HOG Process

HOG+SVM的车辆检测系统主要分为2个阶段,即学习阶段和检测阶段,具体流程如图1所示.

学习阶段主要分为3个部分:首先是从交通部门收集大量的车辆样本,组成一个庞大的正样本集(即训练数据集),同时通过网络抓取大量的负样本,组成负样本集;然后提取每一个正、负样本的HOG特征向量;最后形成检测时使用的SVM分类器模板.

检测阶段主要分为3个部分:首先对视频中的每帧图像进行HOG特征提取;然后将提取出的特征向量送到训练好的分类器中,与模板作对比,对每帧图像进行车辆检测;最后用矩形框标注检测出的车辆目标.

1.2 正负样本收集

一般情况的道路交通检测,摄像头的位置和角度是固定的.随着监控视频中车辆目标的移动,车辆的形状、角度和大小都会发生变化,所以要收集大量的不同角度、不同大小的车辆样本(图2a).另一方面,车型种类众多,因此需要收集大客车、小客车、卡车和轿车等不同车型的样本(图2b).

图2 车辆样本示例Fig. 2 Samples of Vehicles of Different Types

为了检测的准确性,要求正、负样本要达到一定的数量,且负样本的数量要大于正样本.本研究中用到正样本10万余张,负样本25万余张,部分样本如图3所示.

图3 部分正、负样本示例Fig. 3 Examples of Positive and Negative Samples

2 车辆检测算法及原理

2.1 HOG特征的提取

2.1.1 HOG特征 HOG特征是通过对图像的边缘特性和局部特性进行检测而得到的[15],主要是计算方向梯度直方图.将视频中的每帧图像划分为大小统一的小区域,每个小区域称为细胞(cell),然后利用多个cell组成的块(block)对梯度向量进行归一化处理,如图4所示.归一化可使结果拥有更好的鲁棒性,得到一个能够应对不同的路况和环境的车辆检测特征集.

图4 HOG特征Fig. 4 HOG Feature

该向量模型还可以表示为

通过许多一阶微分的模板来计算梯度的近似值,计算结果表明模[-1,0,1]的效果最好.以该模板为例,计算实验图像中像素的梯度值和方向:

Gh(x,y)=f(x+1,y)-f(x-1,y) ∀x,y,

Gv(x,y)=f(x,y+1)-f(x,y-1) ∀x,y,

其中Gh(x,y)和Gv(x,y)分别为像素点的水平和垂直梯度值.再计算像素点的梯度值和梯度方向:

θ(x,y)=arctan (Gh(x,y)/Gv(x,y)).

在梯度方向范围限定的情况下,采用无符号范围,梯度方向可以表示为

2.1.3 特征提取 计算过每一个像素的梯度值后,需要计算cell.在每一个单元中,将其中包含的像素点的一维梯度在一定方向上进行投影,cell的角度分成9个区域,可以获得最优的结果.得到9个方向的投影大小后,对一个cell里面所有像素点的投影结果进行累加,得出一个cell单元,即一个cell在这9个方向上的9个特征值.

由于每个cell计算出的方向梯度直方图会受到复杂环境下的光照和阴影的影响,使得相邻的cell单元之间呈现较大的差异,因此需要进行归一化处理[16],即将cell组合为block.具体的单元格归一化过程如下:

(ⅰ)根据小的cell的特征值,先求出大的区块的特征值的和,得到的结果应是9个方向块的9个特征值.

(ⅱ)一个block内的每一个cell的9个特征值都除以block的总特征值.当检测窗口对图像进行检测时,block之间存有重叠,因此每一个cell被不同的block重叠使用.但是,归一化处理是对不同的block而言的,由相同的cell计算出的归一化后的值是不同的.

(ⅲ)将所有block的HOG特征结合为一个向量的形式,即HOG特征的结果,特征的维度为9*block*cell.

2.2 SVM

图5 超平面的选择Fig. 5 Superplane Selection

2.2.1 SVM介绍 在车辆检测过程中需要找到一条超平面将正负样本分开.能够将2种样本分割开的超平面有无数条,如图5所示.SVM分类器的功能是找到一个平面使得正、负样本点到超平面的距离最大.本研究中SVM分类器采用的是软间隔线性SVM分类器[17].

2.2.2 超平面选择 一个特征空间上的训练数据集

T={(x1,y1),(x2,y2)…(xn,yn)},

其中xi为样本,yi为样本的标记.当xi是正样本时,yi=1;当xi是负样本时,yi=-1.

对于给定的线性可分的训练数据集,通过间隔最大化得到的分离超平面为y(x)=wTφ(x)+b,相应的分类决策函数为f(x)=sign(wTφ(x)+b).其中:w为法向量,它决定了超平面的方向;φ(x)为某个确定的特征空间转换函数,维度为n.n为样本的数量,其作用是将x映射到更高的维度.

2.2.3 超平面求解 求解分离超平面,即求解如下凸二次规划的问题:y(x)=wTφ(x)+b.其中b为位移项,决定了超平面与原点之间的距离.给定训练样本集D={(x1,y1),(x2,y2),…(xi,yi)},yi∈{-1,+1}.假设超平面能将训练样本正确分类,即对于(xi,yi)∈D,若yi=+1,则wTxi+b>0,若yi=-1,则wTxi+b>0.令

则yiy(xi)>0.

将样本点到直线的距离和w及b等比例缩放,即

图6 函数间隔与几何间隔Fig. 6 Function Interval and Geometric Spacing

(1)

则目标函数为

一般总是可以对(1)式的w通过等比例缩放,使得正负样本点的函数值都满足|y|≥1,如图6所示.

(2)

(2)式是有n个约束条件的最值问题,可利用拉格朗日乘子法进行求解:

(3)

(4)

将(3)式代入(4)式,求得最优解

利用a*求解,得到

于是可求得分离超平面w*φ(x)+b*=0,及决策函数f(x)=sign(w*φ(x)+b*).

由以上的求解过程可以看出,线性SVM的原理就是要寻找一个有最大间隔长度的分界面.这个问题是一个凸二次规划问题,利用拉格朗日函数可以解决[18].计算时,运用对偶理论将这个问题变为求解最小值下的最大值问题,但是该问题仍然是一个有约束条件的最优化问题.

3 测试结果与讨论

为了验证车辆检测系统的可行性、准确性和有效性,笔者利用实际道路监控视频进行车辆检测系统测试.选用的道路为高速公路,采集的工况包括密集车流和稀疏车流,车辆类型包括轿车、面包车、公交车和卡车等,视频分辨率为640*360,帧率为25帧/s.

3.1 实验环境

(1)硬件环境.本系统采用的主机配置为英特尔 Core i7-6700HQ @ 2.60 GHz四核处理器,显卡为Nvidia GeForce GTX 960M (4 GB).

(2)软件环境.使用64位的Window10操作系统,开发工具为Visual Studio 2013和OpenCV计算机视觉库,开发语言为C++.

3.2 测试结果

3.2.1 检测流程 车辆检测系统的测试流程如图7所示,检测结果如图8所示.由图8可见,视频中每帧图像的车辆目标会通过矩形框标注出来.

图7 车辆检测流程Fig. 7 Vehicle Detection Process

图8 车辆检测结果Fig. 8 Vehicle Detection Result

3.2.2 检测正确率测试 选取监控摄像机正对道路的场景,对检测准确率在不同时段进行重复测试并取平均值,统计结果见表1.由表1可以看出,在准确率上,本车辆检测系统对真实场景下的检测效果较理想,平均准确率为99%.

表1 车辆检测准确率统计

3.2.3 检测速率测试 利用3段不同路况的测试视频进行车辆检测系统检测速率的测试,统计结果见表2.其中平均每帧耗时是通过100帧的每帧耗时计算出的平均值,而不是通过最高每帧耗时和最低每帧耗时计算出的.由表2可以看出,每帧耗时在143 ms左右,可以达到实时检测的效果.

表2 车辆检测速率统计

4 结语

通过分析SVM和HOG算法的原理,了解了HOG+SVM车辆检测系统的优势.经过代码编写和长时间的参数调试后,该检测系统能完成真实路况中车辆的检测,实现实时、高准确率的检测效果.以本检测框架为主体,可以进一步开展车型识别、行人与车辆的混合目标识别等工作,这也是笔者下一步研究的方向.

猜你喜欢
超平面分类器梯度
一个带重启步的改进PRP型谱共轭梯度法
一个改进的WYL型三项共轭梯度法
全纯曲线的例外超平面
涉及分担超平面的正规定则
一种自适应Dai-Liao共轭梯度法
一个具梯度项的p-Laplace 方程弱解的存在性
以较低截断重数分担超平面的亚纯映射的唯一性问题
涉及周期移动超平面的全纯曲线差分形式的第二基本定理
基于差异性测度的遥感自适应分类器选择
基于实例的强分类器快速集成方法