车辆识别(共8篇)
车辆识别 篇1
VIN是英语Vehicle Identification Number的缩写,即车辆识别代码。每辆汽车都有一个唯一的识别代码,相当于车辆的身份证代码。因为它的唯一性和标准性,VIN码是汽车生产、销售、承保、理赔、维修等各个环节的主索引信息,在填写保险单、理赔单或查找维修资料时,必须首先获取正确的车辆识别信息。
2000年以前,我国乘用车主要以桑塔纳、捷达、奥迪、红旗、富康等为主,载货车以解放、东风、斯泰尔等为主,车型比较单一,而且更新换代很慢,VIN码的作用显得不是很重要。但是,随着我国汽车产销量的急剧增长,新车型的数量也逐年增多。根据国家发改委的新车目录公告,2006年我国推出的乘用车新车型共有117款,而2007年3月份仅1个月就有30款乘用车上市。如果不掌握VIN码的相关知识,在汽车保险中将很难准确确定车型,会给承保、理赔和维修带来很多麻烦。因此,要想成为合格的汽车保险从业人员,必须系统学习车辆识别知识。
在实际保险理赔工作中,不能把VIN仅仅看作一串需要登记在理赔单上的数字,更重要的是要发挥VIN码的车辆识别作用,也就是通过VIN码,获得自己所需的关键信息,如车型年代、厂家、车型、配置等。以下介绍的相关知识将教会您如何通过VIN码来识别车辆。
一、VIN码概述
VIN码是一组由17位数字或字母组成的编码,俗称“十七位编码”,相当于车辆的身份证代码。它包含了车辆的生产厂家、年代、车型、车身形式、发动机及组装地点等信息,是最重要的车辆识别信息。
为了便于识别和管理,国际标准化组织(ISO)经过对欧、美各国的车辆识别方案和管理经验的总结和发展,建立了世界统一的道路车辆识别系统的4个国际标准:ISO 3779-1983《道路车辆VIN(车辆识别代号)内容与构成》、ISO 3780-1983《道路车辆世界制造厂识别代号(WMI)》、ISO 4030-1983《道路车辆VIN(车辆识别代号)位置与固定》、ISO 4100-1980《道路车辆世界零件制造厂识别代号(WPMI)》。
我国1996年12月25日颁布了相应的车辆识别代号(VIN)管理规则和4个推荐标准,于1997年开始试行,1999年正式实施。我国以下4个VIN标准均等同采用了国际ISO标准:GB/T 16735-1997《道路车辆VIN(车辆识别代号)位置与固定》、GB/T 16736-1997《道路车辆VIN(车辆识别代号)内容与构成》、GB/T16737-1997《道路车辆世界制造厂识别代号(WMI)》、GB/T 16738-1997(道路车辆世界零件制造厂识别代号(WPMI)》。
因为以上标准是推荐性的,不作为强制要求,所以在此期间销售的一些车辆,尤其是进口车辆没有严格按照我国VIN标准标注VIN码,给承保和理赔带来了一定的困难。2004年,我国的VIN标准再次经过修订,成为2个国家强制标准,并于同年10月1日强制实施,所以2004年之后销售的车辆,VIN码识别难度要小一些。2个VIN强制标准是:GB16735-2004《道路车辆车辆识别代号(VIN)》、GB 16737-2004《道路车辆世界制造厂识别代号(WNI)》。
我国生产的轿车(M1类汽车)的VIN码标牌一般都贴在仪表板左上角或右上角,透过前挡风窗玻璃能够看到,如图1、图2所示。
二、VIN码的构成
17位的VIN码可以根据其各自代表的含义划分成3个部分,它们分别是世界制造厂识别代号(WMI)部分、车辆说明(VDS)部分和车辆指示(VIS)部分。
世界制造厂识别代号(WMI)用来标识车辆制造厂的唯一性,通常占车辆识别代号(VIN)的前3位。
车辆说明(VDS)部分,说明车辆的一般特性,由车辆识别代号(VIN)的第4位到第9位共6位字符组成。如果制造厂不用其中的一位或几位字符,应在该位置填入选定的字母或数字占位。此部分应能识别车辆的一般特征,其代号顺序由制造厂决定。
车辆指示(VIS)部分,制造厂为了区别不同车辆而指定的一组字符,车辆指示部分由车辆识别代号(VIN)的后8位字符组成,其最后4位字符应是数字。
以下将对各字符的含义作详细的说明:
1.1~3位(WMI):制造厂、品牌和类型。
2.4~8位:车辆特征。
轿车:种类、系列、车身类型、发动机类型及约束系统类型。
MPV:种类、系列、车身类型、发动机类型及车辆额定总质量。
载货车:型号或种类、系列、底盘、驾驶室类型、发动机类型、制动系统及车辆额定总质量。
客车:型号或种类、系列、车身类型、发动机类型及制动系统。
3. 第9位:校验位,按标准通过加权计算得到。
4. 第10位:车型年份,其代码及含义如表1所示。
5. 第11位:车辆装配厂。
6. 第12~17位:顺序号。
7. VIN示例:以下就以神龙富康轿车为例,简单了解一下VIN编码规则,如图3、表2所示是其VIN码示意图。
第1~3位,世界制造厂识别代码(见图4):
LDC代表神龙汽车有限公司。
第4~5位车型代码(见图5):
11代表RT-神龙·富康ZX型轿车。
12代表RL-神龙·富康ZX l.4i型轿车。
13代表RL-神龙·富康ZX l.4i型轿车。
21代表AL-神龙·富康ZX l.6i型轿车。
22代表AT-神龙·富康ZX l.6i型轿车。
31代表EL-神龙·富康988型轿车。
41代表BR-DC1010J底盘。
(未完待续)
车辆识别 篇2
基于车辆号牌自动识别技术在港口的设计与应用
本文论述将车辆号牌自动识别(License Plate Recognition)技术在港口治安卡口处的.设计与应用问题,详细介绍车辆号牌自动识别系统的技术说明、构成及主要特点.
作 者:李婕 作者单位:大连海事大学,辽宁,大连,116000;天津港信息技术发展有限公司,天津,300000刊 名:中国新技术新产品英文刊名:CHINA NEW TECHNOLOGIES AND PRODUCTS年,卷(期):“”(3)分类号:U6关键词:号牌识别 治安卡口 视频触发
车辆颜色识别方法研究 篇3
目前, 对车辆颜色的识别主要有两种途径:对车辆整体颜色进行识别, 提取车辆感兴趣区域的颜色特征进行识别。所涉及到的机器学习理论主要有K最邻近法、人工神经网络和支持向量机。文献[1]首先通过目标分割获取车辆前景图像, 然后进行联通区域分析删除车轮、反光镜等干扰区域得到车辆颜色明显的区域。在分类阶段, 采用基于支持向量机的两层分类器成功将颜色分为黑、白、银、红、黄、绿、蓝等7种类型, 但是对黑、银、绿3种颜色的分类正确率较低。文献[2]通过在HSI的3个通道中提取车颜色每个像素的微观特性值, 定义了7种颜色的阈值范围与相互关系, 最后借助BP神经网络将颜色分为7类。文献[3]通过向量范本匹配和颜色归一化操作做预处理, 在HSI空间中采用相对误差匹配算法将颜色分为7类。
本文通过在正常光照条件下选取汽车引擎盖上方选取一块能够代表汽车颜色的区域, 研究颜色的表示方法, 提取车辆颜色特征, 使用特殊的颜色空间合并与分解, 借助支持向量机理论, 提出了一种新的汽车颜色识别的算法。本算法克服了车辆颜色识别过程中多种颜色产生混叠问题, 将车辆颜色分为黑、白、银白、红、蓝、绿、黄7种类型。实验结果表明, 本算法对车辆颜色分类的准确性和效率都有提高。
1 颜色表示
正确地表示颜色对车辆颜色的识别有非常重要的意义。通常把颜色的表示分为线性色彩空间和非线性色彩空间。
1.1 线性颜色空间
线性颜色命名系统是指能够通过制定原色, 或者通过制定颜色匹配函数实现。国际照明委员会CIE已对许多不同的系统实现了标准化。XYZ颜色空间是一种非常流行的标准。线性颜色空间允许以许多有效图形学方法进行构造, 但在三维空间中画出比在二维空间中画困难许多, 通常将XYZ空间同平面X+Y+Z=1相交并使用坐标画出结构图, 如图1所示, 并使用坐标
颜色空间通常根据实际需要发明, 所以彼此之间有很大不同。RGB颜色空间是线性颜色空间, 按正规使用单一波长原色 (R是645.16 nm, G是526.32 nm, B是444.44 nm) 。一般将显示器上所使用的磷光体作为RGB的原色, 可以把得到的颜色表示成一个立方体, 通常称为RGB立方体, 边缘代表R, G, B, 如图2所示。
1.2 非线性颜色空间
线性空间的颜色坐标可能并不是必要的编码属性, 虽然其在常用语言或者实际应用中是非常重要的颜色属性。颜色的3种属性分别为色调、饱和度和亮度。色调可以区分不同的颜色种类, 表示红色过渡到绿色过程中颜色的变化, 是颜色所属类别的反应;饱和度表示从红过渡到粉红的过程中颜色性质的改变;亮度表示从黑过渡到白的过程中颜色性质的改变。因此, 可以通过色调来确定一种颜色是否在特定红色区域内感兴趣。
非线性颜色空间可以弥补线性颜色空间坐标不符合人类对颜色的拓扑直觉。通常情况下色调的变化为“红→橙→黄→绿→青→蓝→紫→红”, 从这个变化过程也可以看到它们的局部色彩关系, 形成一个圆状。但是从这个过程可以看到在线性颜色空间坐标的最大值和最小值差别很远, 不能模拟色调。
构建非线性颜色空间是处理此问题的一个途径, 这可以通过使用一个到RGB空间的非线性变换而得到。HSI (色调、饱和度和亮度) 空间便是一个非线性颜色空间, 通过沿RGB立方体中心轴往下看即可得到, 如图3所示。
RGB到HIS的颜色空间转换方法为:假设给定一幅RGB格式图像, 每一个RGB像素和H分量为
饱和度为
亮度分量为
假定RGB值归一化为[0, 1]范围内, 色调可以用式 (2) 得到的值除以360°归一化到[0, 1]范围内, 而其他2个HIS分量已经在[0, 1]范围之内。
国际照明委员会Lab是现在最通用的均匀颜色空间[4,5]。这种模式与设备无关, 它弥补了RGB颜色模型必须依赖设备颜色特性的不足;此外, 自然界中任何色彩都可在Lab颜色空间中表达出来, 这意味着RGB所能描述的颜色信息在Lab中都能得以映射。之所以考虑Lab空间是因为该空间实质上是均匀的。在一些应用中, Lab坐标能够很好地帮助观察颜色区别。Lab中颜色坐标是通过对XYZ坐标的非线性变换得到, 即
2 颜色识别过程
本文用于车辆颜色识别的样本来自于室外高清监控视频中, 图片均为在正常光照下获得, 并且颜色种类在人眼可识别的范围内, 排除由于光照原因造成颜色畸变的样本。车辆颜色识别颜色特征提取流程为:首先, 在车辆引擎盖上方按照一定比例选取车脸区域作为车辆颜色特征提取识别区域, 如图4所示。然后将特征区域由RGB空间分别转换到HSI和Lab颜色空间, 在各个颜色空间中分别对每一个颜色分量取平均值, 最终结果如表1所示, 然后提取特征值进行分类, 分类过程步骤如下:
1) 对于蓝色, 样本空间的分解和分类都在Lab中进行。分类难点是如果按照常规方法, 在Lab空间中根据b的值进行蓝色与其他颜色的分类识别, 后果是可能把某些白、银白和黑色识别为蓝色。本文通过两种途径来克服这个问题:第一, 当b分量小于某个阈值b1时, 在Lab空间中把颜色分为两个部分———蓝色和少量的可能被误识别为蓝色的白、银白和黑色组成的混合色;第二, 在HSI空间中利用支持向量机对蓝色和混合色进行分类, 从而识别出蓝色。
2) 在表1中可以得在Lab空间中, 当a小于某个阈值a1时, 在Lab空间中构建分类器可以识别出所有的绿色, 但是出现的问题是可能把某些黄色误识为绿色。经过大量的实验数据分析表明, 此时错误分类的黄色, 可以通过联合HSI和Lab空间, 进行分类识别。因此本文采取的方法是此时构建两个分类器用于将绿色完全识别出来, 同时可以识别出一部分黄色。
3) 在Lab空间中构建分类器, 可以识别出红色。
4) 联合HSI和Lab空间, 构建分类器是被出黄色。
5) 在联合HSI空间构建分类器中进行黑色、白色和银白色的分类识别。
3 实验结果与分析
为了证明上述方法的有效性, 实验中在天网场景中的正常光照条件下分别采集各个样本50张, 用支持向量机方法训练7个分类器, 检测结果如表2所示, 本文方法与文献[6]的方法相比较, 对这7种颜色的总体正确率有所提高, 原因有以下几点:首先与文献相比, 本文中仅仅对7种车辆颜色进行识别, 分类车辆颜色数目较少;其次, 本文通过构建特殊分类器, 例如对蓝色和绿色的分类, 是在大量实验基础上进行特殊的约束条件与颜色类型合并, 利用多个分类器进行识别, 在准确识别出蓝色和绿色的同时也提升了对其他几种颜色的识别率, 最后, 本文用于车辆颜色分类的特征, 根据不同颜色种类进行适当调整, 使用能够稳定性表示分类的具有代表性的特征, 对分类准确率的增加具有一定的影响。由于银白色和黑色在两个空间中都存在重叠部分, 这些重叠区域不能用类似于识别蓝色和绿色的方法区分, 因此对黑色和银白色的错误率较高。对于黑色和银白色的区分, 下一步结合其他智能算法进行识别。
4 结论
光照环境和样本分布对车辆颜色的准确识别产生极大影响。本文通过对颜色表示方法的研究, 在正常室外光照条件下提取具有代表性的车辆颜色样本特征, 通过特殊的颜色空间合并与分解, 克服了光照和样本分布不均对车辆颜色识别结果的影响, 成功实现了利用支持向量机对7种车辆颜色的分类, 实验结果表明, 本算法对车辆颜色识别的效率和准确率都有所提高。
摘要:车辆颜色识别对车辆的识别与搜索、完善和增强智能交通系统功能具有重要意义。通过对颜色表示方法的深入研究, 使用特殊的颜色空间合并与分解方法, 提出了在室外正常光照条件下基于支持向量机的车辆颜色识别的方法。该方法克服了车辆颜色识别过程中多种颜色产生的混叠问题, 将车辆颜色分为7个种类, 解决了样本分布不均及光照对车辆颜色的影响, 提高了车辆颜色识别的准确率和效率。
关键词:颜色表示,支持向量机,车辆颜色识别
参考文献
[1]WU Y T, KAO J H, YU M.A vehicle color classification method for video surveillance system concerning model-based background subtraction[C]//Proc.Pacific Rim Conference on Multimedia.Shanghai:[s.n.], 2010:369-380.
[2]FANG Jing, YUE Hengjun, LI Xiuzhi.Color identifying of vehicles based on color container and BP network[C]//Proc.IEEE Conference on Business Management and Electronic Information.[S.l.]:IEEE Press, 2011:226-229.
[3]LI X Z, ZHANG G M, JING F.Vehicle color recognition using vector matching of template[C]//Proc.2010 Third International Symposium on Conference on Electronic Commerce and Security (ISECS) .Guangzhou:[s.n.], 2010:189-193.
[4]胡威捷, 杨顺青, 朱正芳.现代颜色技术原理及应用[M].北京:北京理工大学出版社, 2007.
[5]李贵俊, 刘正熙, 游志胜, 等.一种基于色差和彩色归一化的车身颜色识别算[J].计算机应用, 2004, 24 (9) :47-49.
改进的光流法用于车辆识别与跟踪 篇4
图像序列中检测运动目标, 主要有图像差分法 (帧间差分和背景差分) 、光流场的方法、统计模型的方法、运动能量的方法、小波变换的方法、神经网络的方法[1]等。运动可以分为四种模式:摄像机和目标都静止, 摄像机静止但目标运动, 摄像机运动且目标也运动, 摄像机运动但目标静止。其中, 摄像机静止物体运动是一类非常重要的场景分析, 包括运动目标检测、目标运动特性估计;主要用于预警、监视、统计、目标跟踪与估计。本文主要研究摄像机静止目标运动的情况。通过基于特征点改进的光流算法实现运动目标的检测估计与跟踪。
1 光流算法原理
光流是指图像中模式运动的速度, 它是一种二维瞬时速度场, 其二维速度矢量是可见的三维速度矢量在成像平面上的投影。给图像中的每一个像素点赋予一个速度矢量, 这就形成了一个图像运动场。在运动的一个特定时刻, 图像上的点与三维物体上的点一一对应, 这种对应关系可由投影关系得到。根据各个像素点的速度矢量特征, 可以对图像进行动态分析。如果图像中没有运动目标, 则光流矢量在整个图像区域是连续变化的, 当物体和图像背景存在相对运动时, 运动物体所形成的速度矢量其大小和方向必然和邻域背景速度矢量不同, 从而检测出运动物体的位置和形状, 对于背景与目标均运动的情形, 可以利用光流很好地区分前进的目标和后退的背景, 得到它们各自的三维运动信息。光流计算基于物体移动的光学特性的两个假设[2]:运动物体的灰度在很短的间隔时间内保持不变;给定邻域内的速度向量场变化是缓慢的。对在同一个运动目标上, 可以认为它有刚体特性, 同一物体每个像素任意时刻其运动速度的大小和方向是一致的, 根据这个特性可以检测出目标的形状。光流最初由Horn和Schunck提出[5], 假定时刻t处于图像坐标 (x, y) 位置的点由于物体的运动在t+dt时刻出现在图像坐标的 (x+dx, y+dy) , 在t时刻该像素的灰度值为I (x, y, t) , 在t+dt时刻的灰度值为I (x+dx, y+dy, t+dt) , dt很小, 根据假设认为此点在移动过程中像素灰度值不变。即I (x+dx, y+dy, t+dt) =I (x, y, t) 左边用泰勒公式展开可得:其中是ydttdtxytdtdtdt (x, y) 出该像素点在t时刻沿横纵坐标的移动速度, 所有像素的速度矢量 (u, v) 构成了运动物体的光流场, 令得光流方程v) +It=0, 光流场U= (u, v) T有两个变量, 约束方程只有一个, 只能求出光流沿梯度方向的值, 加入不同的附加约束条件就构成了不同的光流算法。Lucas-Kanade非迭代光流算法计算两帧在时间t到dt之间每个像素点位置的移动, 光流估计误差为 (x, y) ∑∈RW 2 (x) (Ixu+Iyv+It) 2, W 2 (x) 为窗口权重函数, 突出窗口中心点的坐标, 可有高斯函数得到, 由最小二乘解得U= (ATW 2A) -1ATW 2B, 其中A=[I (X1) , ..., I (Xn) ]T, W=diag[W (X1) , .., W (Xn) ], B=-[It (X1) , .., It (Xn) ]T[3]
其中光流的可靠值由矩阵的特征值来估计, 若特征值都大于给定阈值, 这计算的光流是可靠的。
2 基于帧间差分与特征点的光流
本文获取的图像序列是背景静止目标运动的图像, 首先利用连续帧间差方法发现运动目标和定位区域, 由帧间差分阈值法获取差值图像, 然后计算差值图像中特征点处的光流。针对差值图像中不为0特征点出光流场分布比计算整个运动物体的光流畅要可靠得多, 它们对应于梯度较大的点, 使得计算出的光流长分布更为可靠和精确, 同时减少计算量 (计算的是局部特征点光流) 。而且对已经检测到的目标存在的区域再运用光流法进行运动估计, 得到目标的运动信息, 可以缩小运动目标检测时的感兴趣检测区域, 减少运动目标的检测时间。文中选取的特征点是图像角点, 角点[4]是灰度变化突出边缘曲率较大的点, 能反映物体的形状信息, 角点信息是目标特征的不变性表述, 是特征光流跟踪的基础。本文对变化程度和运动区域变化比较接近的地方采用连通和聚类的方法, 能够较好地提取运动区域, 计算出特征点光流后利用聚类来实现目标与背景的分离, 通过目标特征点在相邻两帧或多帧间的匹配来实现目标的跟踪。梯度阈值的选取:在复杂场景运动目标驾车中, 由于场景和运动目标的灰度梯度可能相差不大, 使得运动目标轮廓处于模糊状态, 计算的轮廓处光流不准确, 再次引入梯度的约束条件, 设定灰度梯度阈值, 在灰度梯度大于阈值的像素点计算光流。
本文算法流程如图1。
其中帧间差分原理如图2。
原始序列某帧图像如图3, 由帧间差分得到的运动目标二值图像如图4。
在光流计算部分, 寻找前一帧的特征点在后一帧中的匹配点位置坐标。为了得到光流矢量图, 采用匹配特征点间划线的方法, 为便于直观检测光流及克服某些特征点运动位移比较小的缺点, 用两段颜色不一的线段来代替箭头, 其中颜色交界处点的坐标取两匹配点的中点。
图5为初始计算的光流, 由图可知, 有些光流矢量箭头比较短, 不能很好的表示特征点位移的大小, 用上述改动后的方法能够很好地标注出相对移动比较小的光流, 如图6所示。对于由于外部环境的干扰如阴影、风动、树叶动等[3]造成的背景也有光流矢量的干扰, 通过光流矢量的大小和方向来判断, 根据经验设定阈值对于光流矢量小于一定长度或不在某一方向的不标注, 可以得到比较好的光流矢量。
3 实验结果
图7为在设定的感兴趣区域内目标车辆的跟踪与标号 (可用于车流量检测) , 图8为利用特征点匹配坐标的移动算出运动车辆的相对速度。
4 结论
本文基于opencv的光流算法能够很好地提取运动目标, 实现目标跟踪定位, 在差分及梯度阈值处理后, 再用基于特征的方法不断地对目标主要特征进行定位和跟踪, 对大目标的运动和亮度变化具有鲁棒性, 计算量相对较小, 对大车辆能够实时跟踪更新, 相邻目标能够很好分割开来。它也有一些不足, 光流通有些稀疏, 特征提取和精确匹配也存在难度, 需要近一步改进。
摘要:利用帧间差分获取运动区域, 采用梯度阈值获取二值图像, 再提取运动区域目标特征点的光流, 对光流矢量采取分段标注, 设置感兴趣区域。利用光流特性实现目标的识别, 定位与跟踪, 对于运动目标的跟踪具有实时性和鲁棒性, 能够用于车流量统计, 对车辆辅助行驶研究起到一定的铺垫作用, 实验结果证明该算法的有效性和实用性。
关键词:差分,光流矢量,目标跟踪,辅助驾驶
参考文献
[1]杨国亮, 王志良, 牟世堂.一种改进的光流算法.人工智能及识别技术, 2006;32 (15) :187—189
[2]段先华.基于光流和水平集模型的运动目标自动跟踪方法.江苏科技大学学报, 2007;21 (5) :59—63
[3]李宏, 杨廷梧, 任朴舟.基于光流场技术的复杂背景下的运动目标跟踪.光电工程, 2006;33 (10) :13—17
[4]万文静.基于光流的图像目标跟踪方法研究.西安:西北工业大学, 2006
车辆识别 篇5
目前车辆图像进行识别常用的图像分类方法大概有两类:一类大多依靠颜色,纹理以及功率谱等低层次特征进行图像分类,这些方法通常认为一幅图像是一个独立的物体,且受物体角度、光照强度、物体重叠等现象影响比较严重,常常用在较少物体种类的分类任务中。第二类在分类之前用中间变量对图像进行表示,这种方法受各种变化影响小,分类效率很高,广泛用在图像分类任务中,典型的算法有Bag of Features算法。Gabriella Csurka于2004年首先在图像处理领域引入了Bag o Features[1],接着Leung,Lazebnik,Fergus,Li Feifei等人都对该方法进行了深入的研究,包括图像块采样[1,2]、特征描述[3,4]、构建码书[5]以及分类器设计[1,2,5,6]。Bag of Features算法计算方便,同时忽略了图像的全局几何特征,具有很好的分类效果。笔者引入了Bag of Features对汽车图像分类进行研究。
2 总体算法
Bag of Features算法的基本思想是将图像认为是一系列互相独立的图像块的集合,为每个独立的图像块建立一个描述向量,然后用图像块在图像向量空间的分布来描述图像,最后进行分类。算法的3个主要步骤依次是:特征点的提取及描述,码书的产生,分类器的设计。Bag of Features算法的示意图如图1所示[1]。该算法首先从图像中采集出一系列的图像块,常用的方法有:密集采集,随机采集和基于特征点的采集(如Harris-Laplace,Laplacian of Gaussian等)。接着对采集到的图像块进行描述,建立特征点描述子,常用的描述算法如SIFT,像素归一化值等。然后对得到的所有描述子在描述子空间进行聚类量化以形成码书,实现方法常为K-means,少数情况下也可随机选取描述子形成码书。有了码书以后,每幅图像就可以看成是由若干码书中的码字构成的。接着用得到的码书处理得到的每幅图像的向量柱状图,用以描述一幅图像。最后设计出分类器对图像进行分类,常用的分类方法有生成模型和判决模型。生成模型包括Na觙ve Bayes分类器,Hierarchical Bayesian模型(PLSA[7],LDA)。判决模型包括SVM,Ada Boost及最近邻法。
2.1 特征提取
常用的特征提取方法有密集采样、随机提取以及基于特征点的块提取方法[2]。
密集采样对图像中的每个像素进行处理,这样做能获取图像中的大多数信息,然而这样带来了存储以及计算上的麻烦,这种方法在实际应用中并不可取。随机提取是从图像中随机的选取一些图像块来作为图像的特征描述,采样块数量越大,分类效果越好。基于特征点的块提取方法有Difference of Gaussian(Do G),HarrisLaplace(Harris)等,这些方法在采样点数量较少的情况下分类效果不错,但这些方法采取的特征点的最大数量是有限的。本文采用DoG从图像中提取特征点[4]。
DoG方法在图像所有尺度空间寻找特征点,所以首先构建尺度空间,高斯差分尺度空间利用不同尺度的高斯差分核与图像卷积生成
式中:G(x,y,kσ)与G(x,y,σ)是尺度可变高斯函数;I(x,y)是原图像。DoG算子计算简单,是尺度归一化的LoG算子的近似。尺度空间建立以后就在DoG空间中寻找极值点。最后检测出的每个极值点的信息有位置、方向、所处尺度。
接着对提取到的特征点进行描述,本文选择SIFT算法[4]。SIFT特征对图像的局部特征,其对旋转、尺度缩放、亮度变化保持不变性,对视角变化、仿射变换、噪声也保持一定的稳定性。计算SIFT通常选取特征点周围4×4个图像块,在每个块上计算8个方向上各自的高斯累加和,所以每个SIFT描述子就是128维,这里每个图像块为极值点所在尺度的4×4像素块。图2为计算出的特征点及其描述,图2a是汽车图像,图2b是背景图像,每个箭头的起点为检测出的特征点,箭头的方向代表特征点的方向,箭头的长度代表特征点梯度的大小。
2.2 构建图像码书
将图像表示成若干SIFT描述子后,接下来就要在所有SIFT向量空间进行聚类形成码书[5]。码书中的每个分量即码字,码字可以认为是很多相似图像块的一种表示。一种简单的码书构造方法是在所有SIFT向量上应用K-means聚类算法。K-means算法首先随机选取一些点作为聚类中心,然后通过一系列的迭代,产生一些新的聚类中心,当该算法逐渐稳定以后,就认为这些聚类中心是所需要的码字。稳定的聚类中心使式(2)得到最小值,其中(x1,x2,…,xn)为所有SIFT描述子,K为聚类中心数量,S={S1,S2,…,Sk}分别为属于每个聚类中心的描述子集合,μ1为每个聚类中心。
聚类中心的数目就是码书的大小。码书的大小对实验结果有很明显的影响,码书过小难以有效的描述图像,过大则容易产生过拟合现象并且受噪声影响更明显。因此应根据具体情况选取合适的码书大小[8]。
接着,图像中的每个图像块通过计算其与码书中每个码字的距离而将其映射到距离最近的码字上,从而将一幅图像用一幅柱状图来表示。柱状图的每个柱即码书中的某个码字,每个柱的高度是图像的图像块在该码字上的频数。图3显示将一幅汽车图像表示成柱状图。
若仅仅用图3的柱状图作为图像的描述,最终识别效果会很不稳定,因为用DoG采集到的特征点数量因图像而不同,而且可能相差会很大。所以一般需要对柱状图进行归一化(二值化)。常用的二值化方法有两种:一种对柱状图中每个不为0的分量设为1,否则为0;另一种是设置一个自适应的门限值,大于此值的为1,否则为0。本文采用前一种方法。
2.3 分类器设计
目前有很多方法可以用于基于Bag of Features的图像分类,大致分为两类:一类是生成模型,包括Na觙ve Bayes分类器,Hierarchical Bayesian模型(PLSA,LDA)。另一类是判决模型,包括SVM,Ada Boost及最近邻法。本文采用来自文本处理领域中的PLSA方法[7,9]。PLSA原理框图如图4所示。
PLSA(概率潜在语义分析)是一种无监督的学习方法,不需要图像有任何的注释信息。
假设有一系列的图片D=d1,d2,…,dN,每幅图像包含一些来自码书的码字W=w1,w2,…,wM。用一个图像和码字的共现频率Nij=n(wi,dj)表示码字wi在图片dj中出现的频率。Z=z1,z2,…,zk表示潜在语义,潜在语义相当于一幅图片中含有的物体,k是个指定的常数,一般可以是待分类的图片种类数量。
用式(3)表示“图像—码字”的关系
式中:P(wi|zk)是潜在语义在码字上的分布概率;P(zk|dj)表示图像中潜在主题的分布概率。概率潜在语义分析使用最大期望(Expectation Maximization,EM)算法对潜在语义模型进行拟合,在使用随机数初始化之后,交替实施E步骤和M步骤进行迭代计算。
E步骤为
M步骤为
当迭代一定次数后得到最优解,代表PLSA训练结束。首先使用训练图像进行PLSA训练等到上面的参数,然后用上面训练出来的参数进行ROC曲线相关指标的分析,从而得到一个分类阈值T。接着对待分类的图像进行分类,包括两个步骤:首先通过PLSA训练计算待检测图像的P(z|dtest),P(dtest|z)等参数,然后根据P(dtest|z)是否大于阈值T将图像分为汽车和背景。
3 实验结果
实验中采用了相关的一些车辆及背景图片,图像库一共有401幅图像,其中有201幅汽车图像(图像中包含至少一辆汽车),200幅背景图像(图像中不包含汽车),图像的大小为768×576。图5显示了一些图像库的图像。实验时随机地从汽车图像中选取101幅,背景图像中选取100幅图像用作训练(包括码书的产生及PLSA参数确定),剩下的图像用作分类。为降低计算量,实验时首将所有图像的尺寸放缩到300×225。特征点提取采用Do G算法,用SIFT对特征点进行特征描述,用K-means聚类产生码书,码书大小设置为300。进行PLSA训练是取z(主题)数目为2。
图6显示了图像的识别效果,图中的点为提取出的特征点。从图7的P(d|z)密度分布可以看出z(主题)在不同类型图像上密度明显不同,例如汽车(car)这个主题在1~100幅图像上密度明显大于100~200图像的密度,因为1~100是汽车图像,所以汽车这个主题在其上面密度大,100~200是背景图像,所以背景(backg)这个主题在其上面密度更大。这表明PLSA虽然是无监督的学习,但是结果有很好的准确性。图8和图9显示了分类器的ROC曲线和RPC曲线,从图中可以看出两条曲线很靠近矩形的上边线,表明分类器分类正确率很高。
注:P(z|d)=0.60223,0.39777
另外选择了一个较为典型的Tamura纹理特征算法和一个是较新的Gabor纹理特征算法[10]和本文算法进行比较。Tamura纹理特征算法是从视觉的心理学角度提出了的一种纹理表示方法,有直观的视觉意义。本实验采用粗糙度、对比度、方向度作为纹理特征。Gabor纹理特征算法用一组不同分辨力和方向性的Gabor函数与图像进行卷积得到图像的Gabor空间表示,然后用卷积生成的图像计算均值和方差作为特征。二维Gabor函数在空间域和频率域具有良好的局部性质和多通道、多分辨力特性。本文设置Gabor参数中尺度数为12,方向为0°,30°,60°,90°,120°,150°共6个方向,得到72个Gabor滤波器,这样最后得到144维的特征向量。
表1对本文算法结果和基于纹理的分类器分类结果进行了比较。本文算法的分类平均正确率是89.5%,基于Tamura纹理算法的正确率为69%,而基于Gabor纹理特征算法的识别率为82%。可以看出本文算法分类效果明显好于另两种算法。
通过对误识别图像进行分析发现主要原因是采样点不够多,而且在图像上分布不均匀,如果目标上只有很少的特征点,而背景上有大量的特征点,就容易把目标图片识别成背景图片。为了进一步提高实验效果,包括在识别效果及计算消耗时间上得到提高,应该在特征点提取环节改进,因为DoG提取的特征点对每幅图像都是固定的,而很多实验都表明特征点的数量直接影响分类结果,同时该方法并没用到图像的空间信息,而这是一个非常重要的特征,下一步将对此进行改进。
参考文献
[1]CSURKA G,DANCE C,FAN L,et al.Visual categorization with bags of keypoints[EB/OL].[2009-05-05].http://www.cs.cmu.edu/~e-fros/courses/AP06/Papers/csurka-eccv-04.pdf.
[2]NOWAK E,JURIE F,TRIGGS B.Sampling strategies for Bag of Features image classi·cation[EB/OL].[2009-05-05].http://cat.inist.fr/·aModele=afficheN&cpsidt=20046282.
[3]MIKOLAJCZYK K,SCHMID C.A performance evaluation of local descriptors[J].IEEE Trans.Pattern Analysis and Machine Intelli-gence,2005,27(10):1615-1630.
[4]LOWE D.Object recognition from local scale-invariant features[C]//Proc.the Seventh IEEE International Conference on Computer Vi-sion.[S.l].:IEEE Press,1999:1150-1157.
[5]JURIE F,TRIGGE B.Creating efficient codebooks for visual recognition[C]//Proc.Tenth IEEE International Conference on Com-puter Vision.[S.l].:IEEE Press,2005:604-610.
[6]LI Feifei,PERONA P.A bayesian hierarchical model for learning natural scene categories[EB/OL].[2009-05-05].http://vision.stanford.edu/documents/Fei-FeiPerona2005.pdf.
[7]BOSCH A,ZISSERMAN A,MUNOZ X.Scene classiffication via plsa[C]//Proc.9th European Conference on Computer Vision.[S.l].:Springer Berlin,2006:517-530.
[8]WINN J,CRIMINISI A,MINKA T.Object categorization by learned universal visual dictionary[EB/OL].[2009-05-05].http://johnwinn.org/Publications/papers/Winn_Criminisi_Minka_VisualDictio nary_ICCV2005.pdf.
[9]HOFMANN T.Unsupervised learning by probabilistic latent seman-tic analysis[J].Machine Learning,2004,4(1):177-196.
车辆识别 篇6
近年来智能交通[1]迅速发展,车辆牌照识别系统作为智能交通的重要组成部分也得到了迅速发展。由于车辆牌照号码是汽车唯一的身份标识,已经被广泛地应用在汽车检测、汽车追踪定位、停车场管理、路费缴纳等领域。车辆牌照字符识别[2]系统已成为国内外研究的热点之一。
从1988年开始,国内外对车辆牌照识别技术就进行了广泛的研究。通常车辆牌照识别主要包含车辆图像获得、车辆牌照定位、车辆牌照字符分割、车辆牌照字符识别四部份。目前车辆图像获得主要使用CMOS来获得。车辆牌照定位算法主要分为基于灰度图像[3]和基于彩色图像[4]的算法两大类。车辆牌照字符分割又有基于聚类分析[4]的、利用Hough变换[6]的、先验知识的和基于数字形态学的车辆牌照字符分割算法; 而字符识别有基于字符特征和基于BP神经网络[7]的字符识别方法。这些方法又都各有优缺点。
目前车辆牌照自动识别系统大都是基于PC或者工控机的传统计算机系统。这样的系统成本高,体积庞大。本文针对便携式的嵌入式设备提出了一种车辆拍照自动识别方案。该方案优化了车牌定位、字符分割的算法,并且改进了轮廓和统计特征的算法,使其能够在嵌入式设备上使用。
1图像采集与预处理
1. 1系统硬件平台的搭建
S3C2416是32 /16bitRISC指令集、低成本、低功耗、高性能的微处理器。S3C2416提供了一个低成本,高性能的嵌入式解决方案。
系统结构框图如图1所示。
1. 2 CMOS图像传感器模块
系统采集到的图像质量的好坏将直接影响系统的识别准确率。在本文设计的系统中,图像采集模块由红外LED补光灯、 COMS图像传感器、广角镜头、 光敏电阻、控制电路等组成。示意如图2所示。系统通过光敏电阻检测周围环境光照强度并适时调节红外LED补光灯。
1. 3图像预处理
在摄像头获取图像的过程中,受多种原因的影响,图像较原来的质量都会降低。同样,在车辆牌照识别系统中,车辆图像获取时,图像质量不可避免的也会降低,造成对车辆拍照信息提取的干扰。所以本文要对图像进行预处理。图像的预处理,就是对图像的灰度化、二值化[8]处理。
摄像头采集到的图像是采用YUV色彩空间存储的,图像空间中的Y分量就是图像的亮度分量,提取出图像中的Y分量组成新的图像就完成了对图像的灰度化处理,就可以生成图像的灰度图了。然后用大津算法对灰度图进行二值化处理,二值化处理后整幅图像内只有黑、白两种颜色的图像。在黑白之间不存在其他灰度层次的变化。二值化后的图像将影响后面车牌定位和字符分割,所以二值化处理非常重要。
图像预处理前后图片对比如图3所示。
二值化处理后,用1代表图像的白色,0代表黑色进行存储,后续的处理都将基于二值化处理后存储的数据。
2车辆图像中车牌字符的提取
2. 1车辆牌照定位
车辆牌照自身的特征已经在众多定位方法中被充分利用, 本系统不单利用了车辆牌照自身的特点还结合了车辆牌照与周围环境的联系。通过观察发现车辆牌照位置之下的部分比车辆牌照位置之上的部分干扰要小的多。这主要是因为车辆牌照位置下面大部分是特性比较单一的路面,而车辆牌照的上方却包含了很多干扰的因素,如车灯、中网、玻璃等。综合考虑这些因素,本系统采用对经过二值化处理后的车辆牌照图像进行由下至上的搜索方法,因为车辆牌照处的黑白跳变次数较其他地方多且有规律。
搜索时由下往上逐行计算每行的黑白跳变次数,当某行的跳变次数大于一定的阈值时就记下这一行,记作行位置Y1,此时假定Y1是车牌的下边界,然后继续往上搜索,当找到某一行的黑白跳变次数小于一定阈值时就记下这一行记作位置Y2,此时就假定Y2是车牌的上边界。若Y1与Y2的距离小于或大于一个高度时就排除此Y1、Y2继续向上搜索,在图片分辨率固定的情况下车辆牌照占的像素个数有一定的范围,图片分辨率为320 × 240时一般在10行左右,如果在这个范围内就确定其为车辆牌照水平方向的坐标上下值。
在确定了车辆牌照水平位置的上下坐标后,就要对已经确定水平位置的车辆牌照进行垂直方向的定位。在进行垂直方向的定位时,本文采用的方法是用一个与车辆牌照宽度和高度相同的矩形滑块从左到右进行滑动遍历搜索。找到滑块内某个位置1个数最多的位置,记录下此时滑块的列位置,左边为X1右边为X2,X1、X2为车辆牌照坐标的列边界。经过上述过程后就完成了对车辆牌照的定位。定位后的牌照如图4所示。
2. 2车辆牌照字符分割
我国现行的车辆牌照都具有统一的格式。车辆牌照有7个字符和一个点组成。车辆牌照的尺寸和牌照上的字符大小、间距都具有统一的格式。
因为车辆牌照是一串字符,直接识别一串字符难度很大,所以要对车辆牌照字符进行分割。分割后对每个字符进行识别。 分割后的字符区域必须包含完整的单个字符。在切分时,区域要尽可能的小并且准确。如果切分时稍微偏移一点就会对后面的识别造成很大的困难。
在嵌入式系统中资源是有限的,在众多的字符分割算法中投影法是最简单有效的一种算法,对资源的消耗最小,所以本文选用了分隔法。就是将车辆牌照看成是一个平面,往垂直方向投影。这样有字符的地方投影值就高,没字符的地方投影值就低。即沿水平方向计算每列字符像素1的个数。这样,在水平方向上,就形成了一个个的波峰波谷,波谷的位置就是两个字符间隔的位置,在此处对字符进行分割。
但是在实际测试时,会出现很多原因影响到图像的质量从而影响字符的分割,比如车辆牌照受到了污损、光照条件不好等都可能造成车辆牌照字符的模糊。因此,本系统在使用投影法时做了改进。经分析,在理想情况下,车辆上的字符除了汉字外,每个字符的像素都会构成一个独立的连通。这个连通的范围就是包含字符的最小范围。这个最小范围就形成了一个类。 由于汉字的特性,对汉字进行聚类分析会形成多个连通域。通过比较已经得到的连通域大小,就可以换算出第一个字符的连通域范围。这样就引入了聚类分析的思想很好地解决了干扰的问题。车辆牌照分割后的图片如图5所示。
3算法分析
车牌字符分割后就是一个个的小图片,将这些小图片上的字符识别出组合在一起就形成了车牌。模板匹配是字符识别中最具代表性的算法之一。但是传统的模板匹配算法在车牌字符识别中的效果并不是很理想。为此,本文提出了一种基于模板匹配的改进算法,改进后的算法具有需求资源少,识别速度快的特点。本文提出的算法对汉字、英文字母和数字分别建立了模板库。在对英文和数字字符进行处理时,将相同颜色的像素进行了合并处理。在对汉字进行识别时,传统的识别方法是仅对笔划数目进行匹配,但是这种方法对笔划数目一样的汉字就不能很好识别出来。本文提出的算法不但统计笔划数目,还引入了笔划位置、顺序相结合的识别方法。
3. 1建立字符识别模板库
因为车辆牌照由汉字、英文字母和数字组成。利用对车牌信息的先验知识,可以对车牌字符的汉字、英文字母和数字分开识别,以降低字符匹配的时间。所以本文对汉字建立了一个模板识别库,对英文字母和数字建立了一个模板识别库。
首先建立英文字母和数字的模板库。26个英文字母加上10个数字,一共有36类样本空间,每类样本空间取100个样本进行处理,把样本特征值存为模板库。这100个样本包含字符左斜、右斜、尺寸大、 尺寸小等不同的形态,这些样本图片的来源都是在车库实地拍摄后提去的图片,图片大小统一为320 × 240的分辨率。并且这些样本都统一为40 × 60的像素点阵。再把每个样本分成20 × 30的小格子。以字母A为例,如图6所示。
如果顺着图6中的线条来分析字符,点为白色记为1,点为黑色记为0,如果有连续多个颜色相同的点则记为一个点,那么横向可以得的: 0,010,010,01010,01010,01010,01010,01010, 01010,01010,01010,01010,010,010,01010,01010,01010, 01010,01010,0。竖向可以得到: 0,0,010,010,010,010,010, 01010,01010,01010,01010,01010,01010,010,010,010,010, 010,0,0。然后再统计下字符每行和每列白点的个数,存储起来作为模板库中的一个样本。再选择字符样本时,会用实拍的各种形态的A提取出特征存入模板库。对其他字符也采取相同方法存入模板库,共同构成数字和英文字母的识别模板库。
然后建立汉字的识别模板库。因为车辆牌照上的汉字只有全国各省市、直辖市的简称共34个。所以汉字的识别模板库有34类样本空间,每类样本空间也是取100个样本,包含左斜、右斜、字体大、字体小等不同的形态。从结构特征上分析,汉字是由基本的笔划结构组成的。通过对一个汉字的笔划组成和笔划顺序的分析就可以区别出一个汉字。所以汉字模板库的样本空间就存储汉字的笔划组成和笔划顺序。通过样本点阵分析,可以提取出汉字的横( —) 、竖( 丨) 、撇( 丿) 、捺( 乁) 四种基本的笔划。其他的汉字笔划和可以由这四种基本的笔划组合成,这样对于样本只识别这四种笔划就可以了,其他复杂笔划结构识别时分开识别,比如笔划折( 乛) 就识别为一个横和一个短撇。 一个笔划在点阵中可以用起点坐标( X1,Y1) 和终点坐标( X2, Y2) 两个坐标来表示。设M12表示一个笔划坐标段。
用U表示一个汉字的所有的笔划坐标段的集合。
汉字识别模板库就是记录下汉字的笔划坐标段组成和笔划的位置。以沪为例,如图7所示。
对于样本沪,如图7所示有2个横、1个竖、2个撇、3个捺组成。记录下汉字笔划统计特征后在记录汉字的轮廓特征。按照从左往右,从上往下的顺序遍历各个笔划的位置。 左边为2个捺和1个撇,横坐标起始位置大概相同,竖坐标为2个捺在上面,1个撇在下面。再往右为1个撇,继续往右为1个捺和2个横,捺在上面,横在下面,最右面为1个竖。 那么沪字的笔划顺序就为: 捺( 乁) 、捺( 乁) 、撇( 丿) 、撇( 丿) 、横( —) 、横( —) 、竖( 丨) 、横( —) 。 设Q为笔顺的集合。
式3中N为汉字笔划的数目。Q中存放的笔划顺序就为汉字笔划的顺序,。模板库里就包含不同形态的样本沪的上述信息。对其他汉字也提取相同的特征组成汉字识别模板库。
3. 2字符预处理
因为在照片采集过程中,采集到的照片有大有小,并且车牌的颜色也有不同。字符分割后每个字符占据的像素点阵可能和模板里的样本占据的像素点阵不一致。所以要对分割后的字符进行归一化预处理。把每个待识别的字符都线性放大或缩小为40 × 60的像素点阵。在二值化后,车牌可能会黑底白字也可能为白底黑字,在这里将归一化处理为黑底白字。
3. 3字符识别
对于字母和数字进行识别时,对待识别的字符进行特征处理,处理方法和构建识别模板时的方法一样。然后在模板库中进行匹配,匹配时把每行每列的特征作为主要匹配特征,然后再用每行和每列的白点的个数作为辅助特征用来区分行和列特征相同的字符,比如D和O。最后找出匹配度最高的样本就为识别出的字符。
对于汉字的识别就是对笔划结构的组合和顺序的匹配。先把待识别的汉字进行笔划数目、位置、顺序进行提取,然后在模板库中查找和待识别汉字笔划数统计特征一样的样本,然后对笔划的顺序进行匹配。匹配度最高的样本就为识别出的汉字。
4系统实现与验证
4. 1针对S3C2416平台的系统移植
系统移植包含三大部分即Bootloader移植、系统内核移植和根文件系统构建。本文Bootloader选用UBOOT,系统内核选用Linux内核,文件系统使用yaffs文件系统。
本系统要对UBOOT针对S3C2416进行裁剪,UBOOT能够运行后才裁剪Linux内核,然后编写摄像头等外围设备的驱动, 再构建yaffs文件系统,编写应用程序。经实验测试,该系统能够在S3C2416上稳定运行。
4. 2测试内容与方法
为了验证本文提出的系统的性能,分别从牌照定位成功率、 牌照识别成功率以及光照影响、牌照倾斜、牌照遮挡等方面对系统进行测试。
4. 3牌照定位和识别成功率测试
分别将文献[9]和文献[10]提出的算法移植到本文提出的嵌入式硬件平台上,与本文提出的系统进行对比测试。文献[9]提出了一种利用车牌字符集特征来优化字符骨骼处理、改进骨骼变长编码的方法[9]。文献[10]提出一种K - L变换和最小二乘支持向量机相结合的车牌字符识别方法[10]。牌照定位成功率测试结果如表1所示。
由表1可以看出本文提出的算法具有很高的定位成功率。 相比于文献[9]和文献[10]提出的算法具有更高的成功率。
整牌识别率测试结果如表2所示。
通过表2的对比试验可以看出本系统在牌照识别成功率上高于文献[9]和文献[10]提出的算法。
4. 4光照影响测试
环境亮度的变化对牌照成相具有很大的影响,本文选用了100勒克司度的弱光环境和1000勒克司度的强光环境对本文提出的系统分别进行了光照影响测试实验。100勒克司度的弱光环境实验结果如表3所示。1000勒克司度的强光环境实验结果如表4所示。
通过表3可以看出本文提出的系统在100勒克司度的弱光环境下仍然具有很高的成功识别率。
表4反映出本文提出的系统在强光环境下也具有很高的成功识别率。
通过表3和表4可以看出本系统不论是在弱光环境还是在强光环境下都具有很好的表现。识别成功率都达到了商业化产品级的要求。
4. 5牌照倾斜测试
在实际车牌识别中,拍到的车牌不可能全为正面的牌照。所以系统对倾斜牌照的识别效果非常重要。牌照倾斜测试结果如表5所示。
4. 6牌照部分遮挡测试
在实际车牌识别中,经常会出现车牌被部分遮挡。牌照部分遮挡测试结果如表6所示。
4. 7稳定性测试
为了测试系统的稳定性,本系统被安装在了室外停车场,连续工作两周的时间。在这两周的时间里本系统工作稳定,没有出过死机等问题。可以看出本系统具有高可靠性。
4. 8算法比较测试
为了测试性能,又用200组样本用本文提出的算法与文献[9]和文献[10]提出的算法在本文提出的硬件平台上做了对比。对比结果见表7所示。
通过表5说明本文算法与目前常用的车牌识别算法( 参考文献[9]、参考文献[10]) 相比缩短了车牌识别时间,在嵌入式等资源有限的硬件平台上有更好的表现。
5结语
本文基于S3C2416处理器实现了嵌入式系统下的车辆牌照识别系统。相对于传统的车辆牌照识别系统,本系统降低了成本,减小了体积。实现了车辆牌照识别系统的小型化,低功耗化和低成本化,因此以嵌入式为平台的车辆牌照自动识别系统将是未来车辆牌照自动识别系统发展趋势。
摘要:嵌入式系统下的车辆牌照自动识别是图像识别的难点。针对便携式设备提出一种在嵌入式系统下的车辆牌照自动识别方案。本方案结合并优化了字符模板匹配和字符的轮廓特征和结构上的统计特征算法对字符进行有效地识别。此方案的设计能大幅度降低车辆牌照自动识别系统的成本。实验证明这种识别方案在嵌入式系统下具有很好的识别性能。
关键词:嵌入式系统,车辆牌照识别,字符识别
参考文献
[1]Zhenlin Wei,Peng Zhao,Shulin Ai.Efficiency Evaluation of Beijing Intelligent Traffic Management System Based on super-DEA[J].Journal of Transportation Systems Engineering and Information Technology,2012,12(3):19-23.
[2]李永霞,王亚辉,牛瑞燕,等.车牌尾号自动识别系统[J].计算机应用,2013(S1):227-229,264.
[3]Yang Xing,Huang Chaochao,Qin Min.Research on Acquiring Binarized Vertical Edge Image for Texture-Based Adapting License Plate Location[J].International Journal of Systems and Control,2008,3:192-198.
[4]Yingjun Wu,Shouxun Liu,Xuan Wang.License plate location method based on texture and color[C]//Software Engineering and Service Science(ICSESS),2013 4th IEEE International Conference on.IEEE,2013:361-364.
[5]Peter Trebuňa,Jana Halcnova.Mathematical Tools of Cluster Analysis[J].Applied Mathematics,2013,4(5):814-816.
[6]Rozhentsov A A,Morozov K V,Baev A A.Modified generalized Hough transform for 3D image processing with unknown rotation and scaling parameters[J].Optoelectronics,Instrumentation and Data Processing,2013,49(2):131-141.
[7]Longqin Xu,Shuangyin Liu.Study of short-term water quality prediction model based on wavelet neural network[J].Mathematical and Computer Modelling,2013,58(3):807-813.
[8]Bilal Bataineh,Siti Norul Huda Sheikh Abdullah,Khairuddin Omar.An adaptive local binarization method for document images based on a novel thresholding method and dynamic windows[J].Pattern Recognition Letters,2011,32(14):1805-1813.
[9]平源,李慧娜.快速精确识别车牌字符的方法[J].计算机工程与设计,2008,29(9):2410-2412.
车辆识别 篇7
智能交通系统已成为当前交通管理发展的重要方向,作为智能交通系统关键部分的车牌识别系统,对城市道路、停车场的自动化管理起着非常重要的作用。车辆牌照识别(License Plate Recognition,LPR)是计算机视觉与模式识别在智能交通领域应用的重要研究课题之一,有着广泛的实际应用前景。传统的车辆牌照识别大多以PC硬件平台或DSP处理器为核心来实现。本文利用So PC技术的优势,设计了一种可以灵活配置,易升级维护的车辆牌照识别系统。
So PC(System on Programmable Chip,可编程片上系统)即用大规模可编程器件FPGA来实现片上系统的功能,是一种特殊的嵌入式系统,可以由单个芯片完成整个系统的主要逻辑功能,具有灵活的设计方式,可裁减、可扩充、可升级,并具备一定的系统可编程功能,同时丰富的IP核可以被选择来构成不同的系统,缩短系统的设计周期。除了系统资源,器件内还有丰富的可编程逻辑资源,用于实现附加逻辑。
1 系统的总体结构
系统采用CCD摄像头作为前端图像采集器件,用以采集包含车牌的图像信息,以Altera FPGA作为系统核心,完成图像数据的存储和处理,最后完成车牌识别的任务。系统外围配以视频解码芯片SAA7111,存储器件SDRAM、FLASH、SRAM,以按键、VGA显示器作为人机接口。系统框图如图1所示[1]。
整个系统以FPGA内部的嵌入式处理器NiosⅡ为控制核心,完成对整个系统的控制。NiosⅡ处理器通过Avalon总线和So PC系统其他组件完成数据交换和控制。
系统以C C D摄像头为图像传感器,通过SAA7111对采集视频进行解码,得到数字图像信息。得到的数字图像信息存储于SRAM中供显示终端显示或被CPU读取进行必要的图像处理。采集的图像或其处理结果可通过VGA显示器显示出来。
2 系统的硬件设计
硬件设计分为两大部分:其一是FPGA选型以及其外围硬件电路的设计,其二是FPGA内部So PC系统搭建和其他逻辑电路设计。
2.1 硬件的选型与外围电路的设计
2.1.1 FPGA的选型
CycloneⅡ系列是Altera公司推出的第二代Cyclone FPGA,以极低的成本实现了更大的容量,特性更加丰富,特别适合于对成本敏感和大批量应用的场合。该系列含有专用DSP电路,适合用于低成本的DSP方案。结合实际需求,本系统选用CycolneⅡ系列的EP2C35F672,该芯片器件具有33216个逻辑单元和多达105个M4K RAM模块共483840 bit的嵌入式存储器。内置四个锁相环(PLL),具有完整的片内和片外系统时钟管理能力。EP2C35片内有35个18×18的硬件乘法器,可以低成本的实现数字信号处理功能,能较好地完成系统要求的图像处理的任务。
2.1.2前端图像采集
图像采集模块处于系统最前端,其性能的优劣将直接影响整个系统视频图像信号的质量,系统选择采用CCD传感器的摄像头作为图像采集设备。由于CCD摄像头采集进来的是模拟视频数据,因此需要将模拟视频数据转换为数字视频数据,并获取相应的视频控制信号,这需要通过视频解码芯片来实现,本文使用的是视频解码芯片SAA7111。
SAA7111是PHILIPS公司的一种增强型视频输入处理器芯片,它集A/D与解码功能于一身,片内还附有锁相、自动钳位、自动增益控制、时钟产生、多制式解码等电路,另外还可对亮度、对比度和饱和度进行控制。既支持PAL电视制式,又支持NTSC电视制式。SAA7111内部含有I2C接口,可简洁的通过I2C总线对SAA7111的工作方式进行设定。本系统通过I2C Master内核来实现对SAA7111的配置和控制[2]。
2.1.3存储电路的设计
选用1MB SRAM用以存储采集的图像数据以及经系统处理后的图像数据,选用4MB的Flash存储器用于So PC系统的程序存放和需要掉电保持的数据的存放,选用8MB的SDRAM存储器用作程序的运行空间,数据及堆栈区。
2.1.4人机接口设计
系统以VGA显示器为显示终端。为了使采集和处理后的图像能够显示在VGA显示器上,需要将图像数据转换成符合VGA标准的数据,此任务由FPGA内部构建的VGA控制器内核来实现。同时FPGA外部需要接一视频DA转换器,本文选择ADI公司的ADV7123进行视频信号的D/A转换,转换后的信号连接到15脚D-sub接口作为VGA输出。
系统通过PIO口实现了按键控制功能。每个按键具体对应的操作是根据实际应用的需要,由系统软件的编程来实现的。
2.2 SOPC系统的设计
Altera提供QuartusⅡ作为其可编程器件的开发环境,其中内嵌的So PC Builder用以完成So PC系统的定制。
2.2.1定制NiosⅡ软核处理器内核
NiosⅡ处理器系列包括三种内核:快速(NiosⅡ/f)、标准(NiosⅡ/s)和经济型(NiosⅡ/e)。本文中按照需要定制了标准(NiosⅡ/s)型内核,它是包含5级流水线的32位通用RISC微处理器,可设置指令缓冲,硬件乘法和硬件除法,并支持多达256条的定制指令。同时,系统按照需要配置了指令缓存为4Kbytes,数据缓存为2Kbytes,以提高系统性能。选择支持JATG目标连接、软件下载及软件断点。定制指令提高对时间要求严格的图像处理过程的运行速度,从而提高系统性能。
选择Nios II软核处理器的原因:1)利用Nios II软核处理器可以通过更大规模的系统集成、FPGA/CPU优化来降低成本;2)Nios II软核处理器比较灵活,设计周期短,可以通过升级延长产品生存时间;3)用户自定义指令和自定义逻辑可以加速复杂的算术运算和逻辑;4)用Nios II C2H编译器与没有加速的软件相比,性能上提高40倍以上[3]。
2.2.2 Avalon Components的加入
分别在SOPC Builder中加入Altera提供的IP核组件,包括Avalon Tristate Bridge、JTAG UART、On_Chip Memory(RAM)、SDRAM Controller、Flash Memory(Common Flash Interface)、PIO等。
2.2.3视频信号处理单元[4]
从摄像头输入的模拟视频信号转化成数字信号需要专门的视频解码芯片来完成,本系统采用SAA7111完成对模拟摄像头的视频数据进行解码的任务,将NTSC制的CVBS等模拟信号转化成符合ITU-R656标准的YUV(4:2:2)信号。进行去交织处理和色空间转换,将输入的YUV(4:2:2)值转换成对应的RGB值。本设计首先采用临近插值法,将YUV(4:2:2)信号转换成YUV(4:4:4)信号,然后进行色空间变换。
YUV色空间到RGB色空间的转换公式为:
用HDL描述小数乘法时,通常是将小数扩大2的整数幂次方倍后,取整进行乘法运算,然后将结果进行移位操作,则上式转化为:
色空间转换输出24bit RGB(8:8:8)信号,该信号经D/A转换后,配合时序发生器模块产生的行、场同步信号,即可在VGA显示器上显示。
2.2.4定制VGA控制器内核[5]
根据VGA时序要求设计开发了VGA控制内核,其结构框图如图2所示,其中VGA时序控制器,产生满足VGA时序要求的行/场控制扫描信号,同时为在SRAM中读取图像信息提供相应地址信息;以SRAM中的图像数据为显示内容,显示图像采集和处理后的图像信息。输出控制模块负责将读取出的颜色信息送至视频DAC芯片ADV7123。
3 软件流程
Altera提供了NiosⅡIDE作为NiosⅡ处理器的软件开发平台,通过NiosⅡIDE,利用C/C++语言可以实现对嵌入式处理器的编程。软件部分主要功能是完成系统的控制以及图像处理运算。系统软件的执行流程如图3所示,其主要过程包括:
3.1 车牌图像的采集与显示
车牌图像的实时采集与动态显示主要通过硬件电路来完成,在系统软件开始运行的开始阶段,完成对系统的初始化,包括对SAA7111的设定,当监控区域内有车牌信息进行采集时,开始提取图像信息。
3.2 车牌定位
车牌定位是车牌自动识别系统中的关键技术,车牌定位结果的好坏直接影响车牌字符识别的准确度。目前用于车牌定位的算法主要有以下三种:基于图像边缘检测的方法、基于水平灰度变化特征的方法和基于车牌颜色特征的方法。本系统采用图像边缘检测算法完成对车牌的定位。
3.3 字符分割与识别
由于受到图像拍摄角度的影响,车牌可能存在一定的倾斜度,为了能正确地分割字符,需要对倾斜的车牌进行必要的水平矫正。矫正方法是:首先分别计算图像左半边和右半边的像素的平均高度,然后求斜率,根据斜率重新组织图像。
根据我国车牌的结构:第一个字符是汉字,第二个字符是字母,其他的字符是字母或者数字。采用特征提取与BP神经网络学习算法相结合,选取字符的粗网络特征作为字符的识别特征,分别设计汉字分类器、字母分类器和数字分类器对车牌的字符进行识别[6]。
3.4 系统软件的加速
上述车牌识别过程包含大量的图像处理运算,由于器件本身的工作频率限制,如果直接移植PC机上的通用算法,时间消耗难以接受。So PC提供提升系统运算速度的方式:1)通过自定义模块进行加速。利用硬件描述语言,直接将软件设计硬件化,这样不用CPU进行干预或只进行少量的控制;2)通过自定义指令进行加速。NiosⅡ最多可接受256条用户自定义指令,通过对数学运算较复杂的过程进行用户自定义指令,大大提升系统执行速度;3)通过C2H进行加速。其思想都是以牺牲硬件资源换取运算速度的提升。通过加速,可以做到图像处理的实时性要求[3]。
4 结束语
系统利用32位NiosⅡ软核处理器在FPGA完成设计,实现了片上系统,减小了系统的体积。采用NiosⅡ处理器的自定义指令,自定义模块完成部分运算量较大的计算任务,大大提高了数据的处理速度,保证了较好的实时性。本系统具有的特点:1)便携性。系统采用以FPGA为核心的单芯片解决方案,外围电路简单,可以使系统的体积做得很小;2)灵活性。系统充分利用了FPGA的可编程和So PC系统可重构的特点,系统升级维护非常方便,可以极大的延长系统的生存周期;3)通用性。系统由于采用可编程器件作为系统主体,可以根据具体的应用环境进行调整和二次开发,因此在不改变或很少硬件结构的条件下,通过重构FPGA内部逻辑,即可满足其他系统要求,如视频监控等场合等,通用性强。该系统有一定的工程应用价值。
参考文献
[1]葛继,唐宏.基于SOPC技术的实时图像采集系统设计[J].制造业自动化,2007,29(9):94-97.
[2]Richard Herveille,I2C Master Core Specification[EB/OL],http://www.opencores.org,2003.
[3]Wang Ji,Wu Liang,Liu Yong,Nios II Processor-Based Fing-erprint Identification System[C],NiosII Embedded Proces-sor Design Contest Outstanding Designs 2007,http://www.altera.com.
[4]易湖.数字视频处理的FPGA实现[D].武汉:华中科技大学,2006.
[5]杜红斌,许涛.VGA控制器IP核的仿真和实现[J].计算机仿真,2007,24(11):194-197.
车辆识别 篇8
车型识别的方式多样, 包括传统的磁感应线圈检测、红外、微波、超声波、激光等车辆检测与分类技术等。本文将讨论以视觉为基础的技术应用在网络摄影机上的车辆路径追踪, 使车辆路径追踪系统的用户能快速找到想要搜寻到的车辆种类, 本系统包含车辆侦测、车种识别、车辆颜色辨识以及网络资料库上的应用。首先会在网络摄影机拍摄出来的影像画面中找出移动的车辆, 找出车辆后, 在这些车辆中开始分辨车种, 利用车辆的大小长、高、宽以及密度比当作是分辨车辆的特征, 利用这些特征分辨出车辆之后, 再利用车辆主体颜色采样来找出车辆颜色做更进一步的辨别, 锁定特殊车辆后, 使用路口摄影机的位置来做时间和锁定车辆颜色的比对, 找出锁定车辆的可能行经路线图, 进而使用在网络资料库上来达成实时快速的车辆路径追踪系统。
1 基于图像处理技术的车辆识别
透过网络将计算机与摄影机结合, 将取得的画面一张张的采集下来, 利用背景相减原理, 把预先储存无物体移动环境的影像做为背景与取得的各张影像做相减侦测出的差异部份即为前景。将得到的前景影像做二值化, 使其影像转为非黑即白两种颜色的影像, 但在二值化的过程中会产生部份噪声, 所以在二值化后需要对其影像去噪声, 经由去噪声的步骤来增加日后影像分析的正确率。
通常所处理的照片常常会因车辆与背景颜色太过相近, 而导致在前处理后还残有声, 因此为了要减少这类噪声所造成的误判, 使用直方图等化来增强数码影像的对比程度。一幅影像中的灰阶可以看成区间[0, 1]上的随机变数。一个随机变数的最基本描述子是它的机率密度函数 (probability density function) , 令pr (r) 和ps (s) 表示随机变数r和s的机率密度函数, 假如pr (r) 和T-1 (r) 已知, 且T-1 (s) 满足T (r) 在0≤r≤1区间上是单值且单调递增的, 则转换后的变数s的机率密度函数可以用相当简单的方法获得:
因此转换后变数s的机率密度函数可以由输入影像的灰阶机率密度函数和经选取的转换函数所决定。一个在影像处理上特别重要的转换函数有这样的型式:
其中w是虚设的积分变数。 (2) 式的右边是随机变数r的累积分布函数 (cumulative distribution function) 。由于机率密度函数永远是正的, 而且函数的积分就是函数的面积, 所以其结果是此转换函数是单值且单调递增的。同理变数在范围[0, 1]内的机率密度函数的积分也同样在范围[0, 1]内。
已知一个转移函数T (r) , 应用 (2) 式可求得ps (s) 。从基本的微积分学的莱布尼兹 (Leibniz) 法则可得知, 对一个定积分上限微分就是被积分式在该极限的值。也就是说:
以此ds/dr的结果代入 (3) 式中, 并且所有的机率值都为正数, 可得:
因为ps (s) 是一个机率密度函数, 所以在此情况下它在区间[0, 1]外必须是0, 因为对所有s值的积分一定要等于1。可以得出 (4) 式之ps (s) 的形式是一个均匀的机率密度函数, 产生一个特性为均匀机率密度函数的随机变数s。由 (4) 式可看出, 不论pr (r) 的形式为何, 所得的ps (s) 永远是均匀的。由于数码影像为离散值, 所以针对离散值, 讨论的是机率总和而不是机率密度函数与积分。在一幅影像中的灰阶rk发生的机率可近似为:
其中n是影像中的像素总数, nk是有灰阶rk之像素的数目, L是影像中可能灰阶的总数。 (5) 式所给之转换函数的离散形式为:
因此经由 (6) 式将输入影像中灰阶rk的每一像素映像至输出影像中灰阶sk的对应像素中获得一个处理过的影像, pr (r) 对rk的图称为直方图, 经过 (6) 式的转换后, 输出便为直方图等化。
噪声去除后, 画面有可能同时存在多个前景物, 将各个区块做标记, 其目的是为了让计算机辨别影像内的各别区块, 以达到多物体侦测之成效。由于画面上半部的移动物体过于细小, 为了避免造成误判, 并得到良好的辨识结果, 只将画面中下半部的范围做车辆识别, 系统将判断区域内所有经过的车辆, 将中型车、大型车以及所属的车辆颜色, 随着系统时间记录起来, 再将记录起来的信息一一送到网络资料库, 资料就能由监控者来浏览, 并且时间与地点等信息记录起来后, 也一并储存到资料库内, 以后要做锁定车辆行经路线查询时, 也能迅速找到想要的结果。
2 结语
为了增加影像分析的正确率, 本系统更增加了门坎值设定以及背景更新的功能, 设立门坎值的目的是为了将差异较小的前景排除不考虑, 只对差异较大的前景做侦测, 使其背景更新系统不会受到小噪声的干扰, 如光影变化等。本系统充分利用图像处理技术的各自优势, 能大大提高自主车辆跟踪和识别系统的实时性和鲁棒性。本系统还可自动执行背景影像更新, 当采集影像与背景相减数秒内判断皆无前景物时, 系统将自动更新背景影像, 藉此提升影像分析的正确率。
参考文献
[1]Q.F.Liu, J.G.Lou, W.M.Hu, T.N.Tan.Model Based Pose DeterminationUsing Bayesian Classification Error[A].The 2nd Chinese Conference on In-telligent Visual Surveillance[C].2003.