基于线阵CCD的车辆参数识别系统
2015-12-05刘承胤赵吉文
刘承胤,赵吉文
(安徽大学 电气工程与自动化学院,安徽 合肥 230039)
作为道路交通信息的重要组成部分,车辆类型是公路收费站判断收费标准的重要依据.目前,国内外对车辆进行分类的技术有:电磁感应线圈技术、激光检测技术及视频检测技术[1].其中电磁感应线圈技术需要在道路下面埋设环形感应线圈,通过检测不同车辆经过时电感量的不同来对车辆进行分类,检测精度较高,但设备的安装与维护不方便,对现有的公路改造比较困难;激光检测技术需要多个激光传感器协同工作,系统稳定性较差,且设备始终处于工作状态,能耗较高[2].视频检测技术利用CCD相机获取视频图像作为分析对象,通过降噪、边缘检测来提取车辆参数.CCD又分为面阵CCD和线阵CCD,现有的视频检测系统大多采用面阵CCD相机,然而面阵CCD获得的图像存在大量背景目标,从复杂背景中提取感兴趣目标是一个很棘手的问题;此外,面阵CCD的帧速率一般较低,拍摄运动图像拖尾比较严重[3].与面阵CCD相比,线阵CCD具有如下优点[4-5]:1)成像背景图像简单,易于后续图像处理,对天气情况依赖较小;2)图像容量较小,后期图像处理时间较短;3)成像可用线光源进行辅助照明,夜间成像效果较好;4)灵敏度高,动态范围大,没有图像拖尾.
作者提出一种基于线阵CCD的车辆参数识别系统,该系统通过线阵CCD拍摄车辆侧面图像,识别车辆长、宽、高、轴距等主要参数,进而识别车辆类型,具有价格低廉、维护方便、识别速度快、准确率高等优点.
1 系统设计
该系统硬件由线阵CCD摄像机、采集卡以及计算机组成.
车辆经过拍摄区域时,以车牌及轮胎钢圈为检测目标,相机自动获取图像,利用纹理特征、梯度算子及连通域,运算确定车辆长度、宽度、高度及轴距,具体流程[6]如图1所示.
2 车辆宽度检测
现行的各类汽车车牌国标尺寸一致,是测量车辆宽度的重要依据[7].通过车牌定位,可获取车牌长度信息,通过与国标尺寸比较,便可获得车辆宽度形变比例,从而实现宽度检测.
2.1 车牌定位
线阵CCD获取的图像长度方向存在形变,如图2所示.
获取的图像仅包含运动目标,避免了复杂背景的干扰,因此可以利用简单算法快速高效完成车牌定位.由于车牌的纹理特征体现为字符密集、灰度变化剧烈,所以通过寻找图像水平梯度密集区,就能找到车牌候选区域,这里采用的是基于图像梯度特征的车牌定位算法.
2.1.1 边缘提取
利用背景差法获取车辆所在区域,得到车体拍摄长度P′[8],考虑到车体本身图案也会影响测量精度,所以先对车辆图像进行二值化,再结合水平梯度运算提取车体边缘,尽可能排除车体干扰.梯度算子[9]由下列公式给出
其中:f(x,y)为原图像中像素点(x,y)的灰度值.
2.1.2 水平梯度运算
相对于车体其他区域,车牌区域的字符密集,因此采用字符竖向纹理分割方法便可对车牌进行粗略定位.这里用水平差分算子对汽车图像求梯度,2维图像的水平梯度[10]为
2.1.3 车牌大概区域的确定
经梯度运算后,设定一阈值对图像进行二值化,用以确定图像的边缘点.跳变点为一段连续边缘线的初始点,车牌里的跳变点比较密集,由此可定位车牌存在的区域[11].设p为行跳变点数,K为连续行中不满足要求的最大行数,T1、T2为待用的检测值,分别用来统计待选区域中符合条件以及不符合条件的行数,J1、J2分别为每行中满足要求的最小和最大跳变数,Cmin为满足要求的连续行数的最小值.具体算法如下:
(1)令T1=T2=0,从顶行开始,逐行扫描,当该行跳变点数p在(J1,J2)之外时,跳到下一行.
(2)判断下一行跳变点数p是否属于(J1,J2),如果属于,则为可能的起始行,同时令T1=T1+1,T2=0;如果不属于,则令T2=T2+1.如果T1<Cmin,同时T2>K,则表明此区域不存在车牌.
(3)如果T1>Cmin,并且T2>K,则该区域可能存在车牌.然后继续扫描下一行,重复步骤(2),直到扫描完最后一行.
(4)统计每个可能的行区域中每列跳变点的个数和,2个最大值对应的列即为车牌左右边界.根据以上算法,可初步确定存在车牌的区域.
2.1.4 车牌定位
因为字符的左右边界梯度为近似相反数,利用最大梯度差检测可能的行,便可最终确定车牌区域.具体算法如下:
(1)求出各个待选区域内最大梯度Gmax和最小梯度Gmin,计算该区域最大梯度差M=Gmax-Gmin.(2)设定一阈值H,M大于H且正负梯度交替次数最多的待选区域即为车牌区域.
阈值H的选取是算法成功的关键,因为对车牌背景以及字符的颜色国标都有明确规定,故可根据经验确定阈值.通过对蓝车牌、黑车牌以及黄车牌的多组实验数据分析,该文选择H为40,车牌定位图如图3所示(红色区域为车牌区域).
2.2 宽度检测
定位车牌是为了测定车辆宽度,因前车牌居车辆正中位置,根据对称性,可根据车牌尺寸确定车辆宽度.具体方法如下:
(1)根据得到车牌的测量长度S′0,结合车牌标准长度S0可算出车辆宽度形变系数
(2)因前车牌位于车体正中位置,根据对称性,车牌到车体左右边界的距离是相等的.从图3中测量出车牌右边界到车体右边界的距离S′1后,可以得到其实际距离S1=k′×S′1,同理可以得到车牌左边界到车体左边界的距离S2.
(3)车体宽度S=S0+S1+S2.
3 轴距、长度及高度检测
3.1 钢圈检测
由于轮胎与钢圈的灰度区别较大,故该文通过检测钢圈轮廓来测量车辆轴距及长度形变[12].线阵CCD采集的图像中车辆长度存在横向形变,拍摄的钢圈并非圆形,而是近似椭圆形,所以通过形状检测不易实现,且易与车体图案产生混淆,因此该文采用梯度运算结合连通域检测来确定钢圈位置.具体方法如下:
(1)将车体拍摄长度P′减去车辆宽度S,得到车辆长度P″,即P″=P′-S.
(2)对图像进行灰度拉伸,提高轮胎区域对比度,防止黑钢圈干扰.
(3)利用梯度算子g(x,y)=|f(x,y)-f(x,y-1)|求得图像竖直方向梯度.
(4)确定阈值,对图像进行二值化.
(5)分别求出左右图中纵坐标最小的像素点a1(x1,y1)、a2(x2,y2),此即为前后轮钢圈的下边界点.
(6)利用梯度算子结合二值化运算,得到钢圈轮廓图.
(7)分别以a1、a2为起点,利用图4所示连通域(黑色为目标点,白色为邻域点)求出前后轮钢圈右边界点b1(x3,y3)、b2(x4,y4).
(8)以同样方法可求出前后轮左边界点b3(x5,y5)、b4(x6,y6).
3.2 轴距、长度及高度检测
因为图像竖直方向无形变,结合钢圈的下边界点与右边界点坐标,可以得到图像中钢圈的竖直方向半径即钢圈实际半径,横向半径长度形变轴距长度同理,利用背景差法可检测出车体最高点h1(x5,y5);钢圈下边界点所在列中车体的下边界点为轮胎与地面的接触点,此接触点有两个,它们分别为h2(x1,y6)、h3(x2,y7);由几何关系可得车辆高度
4 实验结果
通过对采集的37辆不同型号的车辆进行检测,除了3辆汽车的前车牌污损比较厉害导致检测失败外,其余34辆汽车的检测结果均符合实用性要求,表1中为检测数据.可以看出,实际检测误差在3%以内,能够满足实际使用需求,但也可以看出检测结果普遍小于实际值,究其原因,这是光照使检测得到的钢圈半径以及车牌长度略小于实际值所导致的.
表1 检测结果Tab.1 Measure results
5 结束语
文中提出了一种基于线阵CCD的车辆参数检测方法,该方法通过线阵CCD获取图像,背景简单、处理速度快,通过识别车牌和轮胎钢圈可计算出车辆主要参数.实验结果表明,该方法成功率较高,精确度能满足应用需求,有较高的实用性.
[1]李光辉.基于红外检测和压力传感器相结合的车型自动分类系统[J].中国科技信息,2009(5):211-213.
[2]牟瑛.车型自动分类识别系统[J].微计算机应用,2006,4(7):471-473.
[3]雷志勇,刘群华,姜寿山,等.线阵CCD图像处理算法研究[J].光学技术,2002,28(5):475-477.
[4]李娜,徐志刚.基于线阵CCD的交通信息采集和检测系统设计与实现[J].现代电子技术,2009,32(17):159-161.
[5]张茂云,刘恋,刘玥良.基于线阵CCD的烟卷直径实时监测系统[J].信阳师范学院学报:自然科学版,2014,27(3):406-409.
[6]蔡智湘.车型自动分类技术的分析和前景展望[J].潍坊学院学报,2004,4(12):120-122.
[7]刘聪.车牌识别系统关键技术的研究与实现[D].西安:西北大学信息学院,2012.
[8]白利波.车牌检测与识别算法研究[D].北京:北京交通大学电子信息工程学院,2007.
[9]林佳乙.基于背景差分法和帧间差分法的视频运动检测[C]//中国仪器仪表与测控技术进展大会,2008:118-121..
[10]邹晔.基于纹理分析和梯度特征的车牌定位算法[J].科技广场,2009,3(5):109-111
[11]赵锋,赵荣椿.纹理分割及特征提取方法综述[J].中国体视学与图像分析,1998,10(4):102-104.
[12]张秀林,刘玉,安然.基于关键边缘特征的车型识别[J].电子测试,2013(6):13-15.
[13]尹楠,顾继华,邹丽新,等.基于区域特征的线阵CCD图像自适应校正[J].现代电子技术,2013,36(4):112-114.