基于决策导向非循环图SVM的汽车车型识别
扫描二维码
随时随地手机看文章
随着社会的发展,车辆越来越多,交通变得非常繁忙,城市对于公路和交通的管理已成为一个很重要的问题。交通管理部门要实现现代化的科学管理,必须依靠交通管理系统。汽车是交通系统管理中的主要对象,能否自动识别汽车类型成为对公路和交通实现现代化管理的关键[1]。
现实中种类繁多的汽车,需要实用而有效的车辆分类方法。SVM作为一种新的学习分类方法,目前在人脸识别、对象分类等领域得到了很好的应用[2]。本文应用一种基于DDAG SVM建立分类识别模型的车型识别方法进行车型分类。
1 信息获取和特征值提取
1.1 车对象获取
在分类前应先获取一幅如图1所示的纯背景图像,再获取到如图2所示的同一背景下的车辆图像后,就可以将两幅图像进行逐像素“相减”。背景减法[1],是将图像中当前帧图像和背景帧图像进行背景消除,所得差值(图像中的灰度值)若大于设定的阈值,则判断为运动对象目标,如图3所示;否则即为背景。通过对称比较图3与对象原始图2,存储图3中像素点对应的图2中的颜色值,并进行截取,得到图4所示的对象,即为差分提取得到的车对象图像。此方法提取的目标图像可以克服因摄像机位置移动和光线微弱变化带来的影响。
1.2 图像预处理
由于图像在摄取过程中常会受到噪声干扰,原本均匀的灰度突然变大或变小,使得图像的后续处理引入误差。而均值滤波[2]可以去除背景中的这些干扰。其处理步骤如下:
(1)设置模板大小,选取在灰度图像f中以(x,y)为中心的5像素×5像素的窗口,滤波次数为两次。
(2)使模板在图像中的每个像素上移动,并使模板中心与该像素位置重合。
(3)若平均灰度为a时,令f(x,y)=a。
(4)把被处理点的某一临域中所有像素灰度的平均值作为该点灰度的估计值,则其预处理后的图像如图5所示。
1.3 图像分割
预处理后的图像中所包含的灰度信息比较多,还不能容易地进行车型识别,需要将图像转化为二值图像。由于图像灰度直方图形状是多变的,对预处理的汽车图像,不同的目标区域和背景区域中,同一区域内的像素,在位置和灰度级上同时具有较强的一致性和相关性。因此,本文选用基于“分水岭”变化的阈值化方法[1],按以下4个步骤完成图像的分割。
(1)用修正过的开、闭算子进行滤波,消除图像的亮斑或暗斑,并保持物体的边界。
(2)确定同质区域,同时为区域做标记。
(3)以区域标记为种子,用类似于区域生长的分水岭算法进行区域分割。
(4)进行分割质量评价,确定区域是否需要继续分割,直至转化为二值图像。
原图像经过阈值分割之后,突出了汽车图像,其效果如图6所示。车身对象被置为“1”,其他均置为“0”,极大地方便了后期的车型识别。
1.4 图像特征提取
物体的形状特征对物体的识别有重要作用[3]。本文选择的对象形状特征有:高度、宽度、车顶宽度、周长、面积等。由于这些基本参数大多是一些绝对特征,不能直接用来分析,需要转换成相对值,本文转化为顶长比(顶蓬长度与车辆高度之比)、顶高比(顶蓬长度与车辆高度之比),前后比(以顶蓬中垂线为界,前后两部分之比)和占空比(对象目标的面积与此对象最小外接矩形的面积之比)。实验结果部分特征数据如表1所示。
2 支持向量机与非线性分类
2.1 SVM思想
支持向量[3]是指那些距离此最优分类面最近的训练样本。支持向量机[4]SVM(Support Vector Machine)是20世纪90年代形成的一种新的模式识别方法,它将待解决的模式识别问题转化为一个二次规划寻优问题,理论上保证了全局最优解,避免了局部收敛现象。SVM的主要思想是把非线性可分的数据通过某一变换映射到高维线性空间。
2.2 基于DDAG SVM的非线性分类
在本文中由于车的特征比较多,采用决策导向非循环图法DDAG[5](Decision Direct Acyclic Graph),对于n类问题,DDAG方法用一对一的训练方式进行分类器的构造,即得n(n-1)/2个两类的SVM分类器。如图7所示,本文采用SVM的分类器结构共有4(4-1)/2个节点和4个叶子,即需6个分类器,实现多类目标分类,将一辆车的特征值归于一类或几类。
需要注意的是,此方法中根部节点分类器的作用很关键,因为根节点的分类结果直接影响到下面的路径,乃至最终的分类结果,选用不同的根节点分类器可能会产生不同的分类路径。
该支持向量机的具体实验步骤如下:
针对实际问题,根据分析所涉及对象具有的特征属性及对象之间差异性,假设以字母A、B、C、D分别代表轿车、面包车、公交车和卡车的类别符号(其中符号“~”表示“非”),分类过程的结构如下:
(1)利用DDAG-SVM法构造多个分类器对车辆大类别内的各子类别进行区分,其中选取形状差异较大的轿车(A)和卡车(D)作为此层的根节点,以尽量减小分类误差的积累。
(2)再把轿车(A)、公交车(C)作为根节点的一个子节点,面包车(B)、卡车(D)作为另一个子节点。
(3)进一步划分为A/B、B/C、C/D 3个节点,即3个分类器。
(4)依次区分出轿车、面包车、公交车和卡车。
3 实验分析
本文用MATLAB7.0进行仿真实验,主要选取轿车、面包车、公交车和卡车作为车辆分类图像模式比对的实验类型,选取了280个样本(每类平均70个),其中160个用于训练,120个用于测试。首先,构造了相应的SVM分类器,提取了180张车图像的特征值作为训练集,获取了最优分类面;然后,将剩余的120张汽车图像按照同样的过程进行特征值提取,再在训练好的支持向量机上进行分类,所得到的分类结果如表2所示,神经网络的实验结果如表3所示。
结果表明,与神经网络方法相比,DDAG SVM是一种对多类车进行分类切实可行的有效方法,不但分类精度高,而且识别效果也比较好。
为了解决对多类车的分类,本文提出了一种基于DDAG SVM对多种车型分类的方法,实验结果证明,DDAG SVM是一种对多类车进行分类切实可行的有效方法。由于实验中选用的车辆图片是以正侧面为主,与现实中任意方位角的车辆相比,还只是较特殊的一类,要具有普遍性,还得进一步继续深入研究。