一种基于ARM的桥隧入口车型识别系统及方法【技术领域】
本发明涉及一种车辆全天候的监控识别方法,具体涉及一种基于ARM的桥隧入口车型识别系统及方法。
【背景技术】
随着智能交通的发展,车型识别成行业内研究的热点,这也是许多后续处理的前提条件,比如桥梁隧道入口的安全预警、道路收费站的自动检测等。其与单一的车流量信息相比,具有更大的参考价值。识别的车型一般包括客车、小轿车、货车、越野车及面包车等。
当前业界通常采用的车型识别方法主要有目测法、感应线圈法、红外探测法、超声波检测法及图像识别法等。目测法需要耗费大量人力、财力和时间;感应线圈法受车速等影响很大,可靠性较低;红外检测法和超声波检测法的硬件系统比较复杂,且系统对环境的要求比较高,故障率也较高,维修不方便,所以在实际的应用中难以推广;图像识别法识别的车型信息单一,难以全面、准确反映车型参数。
【发明内容】
本发明的目的在于改善上述不足,提供一种基于ARM的桥隧入口车型识别系统及方法,结合图像处理系统与地面压力传感器系统,多方面检测行驶车辆特征,为桥隧提供可靠的通行车型识别。另外,基于ARM的车型识别系统扩展性强,便于其它程序的直接植入及应用。
为了达到上述目的,一种基于ARM的桥隧入口车型识别系统,包括设置在桥隧入口上的CCD摄像机,桥隧入口前方的路面下埋设有地面压力传感器,地面压力传感器和摄像机均连接处理单元,处理单元包括处理器,处理器连接摄像机和地面压力传感器,处理器还连接有图像识别系统、轴距计算系统、数据库、传感器识别系统和数据输入输出接口。
所述摄像机采用红外CCD摄像机。
所述摄像机设置在桥隧入口上部中央。
一种基于ARM的桥隧入口车型识别系统的识别方法,包括以下步骤:
步骤一,车辆前轮碾压到地面压力传感器(4)时,同时触发地面压力传感器(4)和摄像机(1)工作;
步骤二,将地面压力传感器(4)的受压次数和受压时刻以及摄像机(1)拍摄的两张连续图片传输给处理单元;
步骤三,处理单元根据步骤二中获得的信息,处理得到车辆(2)的轴数和轴距,以及车辆(2)正面及顶部轮廓特征;
步骤四,根据车辆(2)的轴数、轴距、正面及顶部轮廓特征,与数据库数据对比判断车辆(2)的车型;
步骤五,处理单元生成车型信息,完成识别。
所述步骤三中,轴数、轴距计算方法如下:
当车辆第i个轴通过地面压力传感器时,传感器受力,弹性元件产生变形,应变片电阻突变产生一个相对变化量,从而引起力敏应变电桥输出电压信号的变化,而每发生一次电压突变,处理单元认为有一轴经过了压力传感器,此时i加1,车辆的总轴数I为:
I=∑i(13)
且同一车辆前后两轴的受压时刻应满足关系式:
ti+1-ti<0.5s(14)
式中,i的初值为1;公式每成立一次,i加1;
摄像机连续抓拍车辆两张图片,处理单元根据摄像机与车辆牌照的空间几何关系,计算出车辆实时速度v;
情况一:当车辆与摄像机在同一竖平面时,车速v为:
式中,P=140mm,为车牌实际高度;t1、t2分别为第一次、第二次拍照的时刻;m1、m2分别为t1、t2时刻图像上牌照的高度;h1、h2分别为t1、t2时刻图像上牌照与图像上地面之间的高度差;
情况二:当车辆与摄像机不在同一竖平面时,车速v′为:
其中,b为摄像机所在竖平面与车辆行驶竖平面的夹角;
设车辆在压力传感器上行驶时车速变化不大,则当车辆与摄像机在同一竖平面时,车辆第i个轴与第(i+1)个轴之间的轴距Di满足关系式:
Di=vΔti(17)
式中,Δti为第(i+1)个轴受压时刻ti+1与第i个轴受压时刻ti的差值,即:
Δti=ti+1-ti(18)
此时,车辆的总轴距为各轴距之和,即:
D=∑Di(19)
当车辆与摄像机不在同一竖平面时,轴距Di′为:
Di′=v′Δti(20)
此时,车辆的总轴距为:
D′=∑Di′(21)
从而确定车辆的轴数I、各轴距Di或Di′及总轴距D或D′。
所述步骤三中,车辆正面及顶部轮廓特征通过以下方法得出:
摄像机拍摄的图片送入处理单元中,其基于ARM的图像识别系统对图像进行定位、分割、图像二值化、特征量提取;
首先采用一阶Kalman滤波实现背景图像的更新,以适应外部环境的变化,能够有效地抑制光照及气候变化等外界因素对于车辆识别的影响,一阶Kalman滤波实现背景图像更新的公式为:
Bk+1(p)=Bk(p)+g(Ik(p)-Bk(p))(1)
其中,增益因子g=a1(1-Mk(p))+a2Mk(p)(2)
且有:
式中,I是当前帧图像,B是背景图像,M是第k时刻二值化后目标图像中p象素的值,s是第k时刻p象素的阈值,α1、α2为权值系数,α1大于等于10α2;
对于每一幅新采集的当前图像,阈值确定以后,就能够提取运动区域了,设当前图像的灰度值为Ik(x,y),更新后的背景图像为Bk)x,y),阈值为T,将图像二值化:
式中,(x,y)为图像空间的位置,所有标志为1的点构成运动目标区域,标志为0的点构成背景区域;
接着应提取车辆轮廓线,对于原图像Bk(x,y)轮廓边缘检测,就是求其梯度极大值的模和方向。用高斯函数对Bk(x,y)滤波后得到Bk(x,y)×N(x,y,σ),车辆轮廓点由公式(6)和公式(7)决定:
A=||Bk(x,y)×N(x,y,σ)||(6)
其中,σ为高斯滤波器宽度,决定着平滑程度;A为梯度的模;G为梯度的方向;
由公式(6)和公式(7)可得到梯度极大值的模和方向,即得到了原图像Bk(x,y)较大轮廓边缘尺寸,根据摄像机拍摄到的图像计算处理得到车辆的正面及顶部轮廓特征;
基于ARM图像识别系统完成图像处理之后,根据摄像机与车辆的空间位置几何关系,计算出车辆的长度、宽度、高度;此外,摄像机连续抓拍车辆两张图片,分别进行两次车型参数计算,结果能够互作验证,保证计算准确性,下面给出车辆的车长、车宽和车高的详细求解过程,方法如下:
情况一:当车辆与摄像机在同一竖直平面时,车长lc与图像中车辆轮廓长度lc0的关系式为:
车宽wc与图像中车辆轮廓宽度wc0的关系式为:
车宽wc和车高hc满足关系式:
式中,u为目标物体成像的物距;f为摄像机的焦距;a是摄像机与路向的最大夹角;H为摄像机与路面高度差;L为摄像机与摄像机视域中心的水平距离;C是摄像机测量的视域宽;
由公式(9)和公式(10)计算可得到车高hc;
情况二:当车辆与摄像机不在同一竖直平面时,车长lc′为:
车宽wc′为:
式中,b为摄像机所在平面与车辆行驶平面的夹角,将公式(12)计算得到的车宽wc′代入公式(10)中可得到车高hc′。
所述步骤二中,当车辆第i个轴经过地面压力传感器时,压力传感器受力弹性元件产生变形,粘贴在弹性元件上的力敏应变电桥输出电压信号,其中,应变片电阻值相对变化量与轴重成正比,通过放大器将电压放大,再由数模转换成相应的数字量,则能够计算车辆各个轴重,各个轴重之和便为总重,进而为判定超载提供参考。
所述步骤二中,摄像机拍摄车辆的两张图片,能够计算当前车辆速度,能够为判定超载速提供参考;此外,基于ARM的车型识别系统能够直接植入车牌号码识别算法,通过图像进行定位、分割、图像二值化、特征量提取等步骤获取车牌号码。
与现有技术相比,本发明结合摄像机和地面压力传感器,经计算获得车辆轴数、轴距和车长、车宽、车高,与数据库法规数据相比,能够准确识别出桥隧入口通行车辆的车型信息。本发明通过两种识别方法共同识别,提高了识别率,并且本装置铺设简单,易于实施,保证全天候车型识别工作的持续。
进一步的,本发明的摄像机设置在桥隧入口正上方中间位置,地面压力传感器埋设在摄像机视域中心前方的路面下,保证拍摄图片全面准确。
【附图说明】
图1为本发明的结构示意图;
图2为本发明的控制流程图。
【具体实施方式】
下面结合附图对本发明做进一步说明。
参见图1,一种基于ARM的桥隧入口车型识别方法,包括设置在桥隧入口5上的摄像机1,摄像机1设置在桥隧入口5上部中央,桥隧入口5上的摄像机1视域中心前方的路面铺设地面压力传感器4,地面压力传感器4和摄像机1均连接处理单元,处理单元包括处理器,处理器连接摄像机1和地面压力传感器4,处理器还连接有图像识别系统、轴距计算系统、数据库、传感器识别系统和数据输入输出接口。
优选的,摄像机1采用红外CCD摄像机。
参见图2,一种基于ARM的桥隧入口车型识别系统的识别方法,包括以下步骤:
步骤一,车辆前轮碾压到地面压力传感器4时,同时触发地面压力传感器4和摄像机1工作;
步骤二,地面压力传感器4受压次数和受压时刻以及摄像机1拍摄的两张图片传输给处理单元,经计算处理获取车辆2的轴数和轴距,计算方法如下:
当车辆2第i个轴通过地面压力传感器4时,传感器受力,弹性元件产生变形,应变片电阻突变产生一个相对变化量,从而引起力敏应变电桥输出电压信号的变化,而每发生一次电压突变,处理单元认为有一轴经过了压力传感器,此时i加1,车辆2的总轴数I为:
I=∑i(13)
且同一车辆前后两轴的受压时刻应满足关系式:
ti+1-ti<0.5s(14)
式中,i的初值为1;公式每成立一次,i加1;
摄像机1连续抓拍车辆2两张图片,处理单元根据摄像机1与车辆牌照的空间几何关系,计算出车辆2实时速度v;
情况一:当车辆2与摄像机1在同一竖平面时,车速v为:
式中,P=140mm,为车牌实际高度;t1、t2分别为第一次、第二次拍照的时刻;m1、m2分别为t1、t2时刻图像上牌照的高度;h1、h2分别为t1、t2时刻图像上牌照与图像上地面之间的高度差;
情况二:当车辆2与摄像机1不在同一竖平面时,车速v′为:
其中,b为摄像机1所在平面与车辆2行驶平面的夹角;
设车辆2在压力传感器4上行驶时车速变化不大,则当车辆2与摄像机1在同一平面时,车辆2第i个轴与第(i+1)个轴之间的轴距Di满足关系式:
Di=vΔti(17)
式中,Δti为第(i+1)个轴受压时刻ti+1与第i个轴受压时刻ti的差值,即:
Δti=ti+1-ti(18)
此时,车辆2的总轴距为各轴距之和,即:
D=∑Di(19)
当车辆2与摄像机1不在同一竖平面时,轴距Di′为:
Di′=v′Δti(20)
此时,车辆2的总轴距为:
D′=∑Di′(21)
从而确定车辆2的轴数I、各轴距Di或Di′及总轴距D或D′;
步骤三,处理单元根据摄像机1拍摄的图片得到车辆2正面及顶部轮廓特征;车辆2正面及顶部轮廓特征通过以下方法得出:
摄像机1拍摄的图片送入处理单元中,其基于ARM的图像识别系统对图像进行定位、分割、图像二值化、特征量提取;
首先采用一阶Kalman滤波实现背景图像的更新,以适应外部环境的变化,从而有效抑制了光照及气候变化等外界因素对于车辆识别的影响,一阶Kalman滤波实现背景图像的更新公式为:
Bk+1(p)=Bk(p)+g(Ik(p)-Bk(p))(1)
其中,增益因子g=a1(1-Mk(p))+a2Mk(p)(2)
且有:
式中,I是当前帧图像,B是背景图像,M是第k时刻二值化后目标图像中p象素的值,s是第k时刻p象素的阈值,α1、α2为权值系数,α1大于等于10α2;
对于每一幅新采集的当前图像,阈值确定以后,就能够进行运动区域的提取了,设当前图像的灰度值为Ik(x,y),更新后的背景图像为Bk(x,y),阈值为T,将图像二值化:
式中,(x,y)为图像空间的位置,所有标志为1的点构成运动目标区域、为0的点构成背景区域;
接着应提取车辆轮廓线,对于原图像Bk(x,y)轮廓边缘检测,就是求其梯度极大值的模和方向。用高斯函数对Bk(x,y)滤波后得到Bk(x,y)×N(x,y,σ),车辆轮廓点由公式(6)和公式(7)决定:
A=||Bk(x,y)×N(x,y,σ)||(6)
其中,σ为高斯滤波器宽度,决定着平滑程度;A为梯度的模;G为梯度的方向;
由公式(6)和公式(7)可得到梯度极大值的模和方向,即得到了原图像Bk(x,y)较大轮廓边缘尺寸,根据摄像机1拍摄到的车辆2的正面及顶部图像,按照上述计算方法进而得到车辆2正面及顶部轮廓特征;
基于ARM图像识别系统完成图像处理之后,根据摄像机1与车辆2的空间位置几何关系,计算出车辆2的长度、宽度、高度;此外,摄像机1连续抓拍车辆2两张图片,分别进行两次车型参数计算,结果能够互作验证,保证计算准确性,下面给出车长、车宽和车高的详细求解过程,方法如下:
情况一:当车辆2与摄像机1在同一竖直平面时,车长lc与图像中车辆轮廓长度lc0的关系式为:
车宽wc与图像中车辆轮廓宽度wc0的关系式为:
车宽wc和车高hc满足关系式:
式中,u为目标物体成像的物距;f为摄像机的焦距;a是摄像机1与路向的最大夹角;H为摄像机1与路面高度差;L为摄像机1与摄像机视域中心的水平距离;C是摄像机1测量的视域宽;
由公式(9)和公式(10)计算可得到车高hc;
情况二:当车辆2与摄像机1不在同一竖直平面时,车长lc′为:
车宽wc′为:
式中,b为摄像机1所在平面与车辆2行驶平面的夹角,将公式(12)计算得到的车宽wc′代入公式(10)中可得到车高hc′。
步骤四,根据车辆2的轴数、轴距、正面及顶部轮廓特征判断车辆2的车型;
步骤五,处理单元生成车型信息,完成识别。
步骤二中,当车辆2第i个轴通过地面压力传感器4时,压力传感器4受力弹性元件产生变形,粘贴在弹性元件上的力敏应变电桥输出电压信号,其中,应变片电阻值相对变化量与轴重成正比,通过放大器将电压放大,再由数模转换成相应的数字量,则能够计算车辆各个轴重。
该图像识别系统采用ARM11核的处理器S3CZ410为计算与控制单元,嵌入式操作系统μC/OS-П为软件开发平台,包括ARM11微处理器及外围电路、存储模块、图像采集模块、数据网络传输模块等。其中,ARM11微处理器对CCD拍摄的图像进行定位、分割、图像二值化、特征量提取等操作。图像传感器采用C328高集成度CMOS图像采集模块,以串行接口接受和输出命令。数据和图像的传输采用开放源代码的JRPTPLIB函数库提供的RTP协议栈来实现。
数据和图像的传输采用开放源代码的JRPTPLIB函数库提供的RTP协议栈来实现。发送端将编码压缩好的处理结果封装到RTP包内,添加接收端目的地址,然后将数据和图像分包发送至接收端地址,通过嵌入式Web服务器将车辆信息传递至相关部门的监控中心。