视频图像中的车辆检测跟踪和分类
(4)对于目标链中的区域,如果在本帧没有与之相匹配的区域存在,则认为发生了消失现象。目标链并不立即终止,只有在经过数帧仍没有找到匹配之后,才终止该目标链。
(5)查找本帧是否还存在新进入的区域,如果存在,则启动新的目标链。
采用这种方法可以快速跟踪图像序列中的目标,同时得到车辆在监视范围的平均速度。在计数时,只有目标在连续数帧里出现才认烛一个真正的目标区域,只有目标在连续数帧都没有出现才认为消失,因此可以消除那些暂时消失引起的计数错误。
车辆分类是个很复杂的问题。图像处理方法要获得轮数、轴距等车辆本身参数比较困难,因此图像识别车型通常采用模型匹配方法。现有的研究大多是先抽取车辆的几条直线边缘,然后用线条和模型边缘匹配。由于在图像中抽取直线本身的计算量相当大,所以本文没有抽取车辆边缘直线,而是直接利用了Canny边缘检测的整体结果与模型相匹配。Canny边缘与模型边缘之间存在较大的形变,Hausdorff距离匹配对形变不敏感,所以采用Hausdorff距离作为匹配准则是很适宜的。
设有两组有限点集A={a1,…,ap}和B=={b1,…,bq},则二者之间的Hausdorff距离定义为:
H(A,B)=max(h(A,B),h(B,A)) (3)
其中:javascript:window.open(this.src);" style="cursor:pointer;"/> bj-ai,h(A,B)被称为从A到B的有向Hausdorff距离,它反映了A到B的不匹配程度。h(B,A)的意义与h(A,B)相似。在具体计算Hausdorff距离时,通常采用距离变换的方法。车辆分类步骤如下:
(1)在分割结果的基础上,对目标区域进行Canny算子边缘检测,仅仅处理分割出目标区域的边缘,减小了运算量。
(2)对Canny边缘,采用串行距离变换,得到距离变换图像。距离变换图像的每个像素灰度值等于该像素到目标边缘的最近距离。
(3)对各分割目标,恢复车辆的三维信息,只计算长度和宽度。由于二维图像平面上一点对应了摄像机坐标中不同深度的一第洌 点,所以在从图像上一点恢复该点在世界傺 标中的信息时,首先要给定该点在世界坐标值中一个分量以减少不确定度(这样恢复出来的数值有些误差,通常给出Z方向高度值Zw)。
(4)在计算目标区域长度和宽度的同时,可以求出车辆底盘形心在地面上的位置(X,Y),根据速度方向判断车辆在地面上的角度α。利用车辆本身的三维模型数据以及(X,Y,α),通过式(1)透视投影,消隐处理,可以确定车辆模型在图像平面上的投影。
(5)当目标进入指定区域后,以模型投影图像为模板,将投影图像在距离变换图像上移动,在每一个位置,求出模型影图像下距离变换图像被模型轮廓线覆盖的像素值之和,以这个和值作为在该位置当前模型与实际车辆的匹配程度。将当前模型在各位置所得区配程度的最小值作为当前模型与车辆的实际匹配程度,该最小值除以模型轮廓线的像素数目,即该模型与车辆之间的Hausdorff距离。对各种模型,分别求出它们与车辆之间的Hausdorff距离,取其中最小值对应的那种模型那为车型识别结果。实验过程中为了减小计算量,搜索方法采用了三步搜索法。
javascript:window.open(this.src);" style="cursor:pointer;"/>
4 实验结果
本实验所采用的352×288视频图像,来自采用单个固定CCD摄像机于杭州天目山路拍摄的交通场影片断。主要算法在Trimedia1300 DSP上用C语言实现,在图像分割过程中进行了较多的梯度、降低噪声、填充和标记运算,平均处理一帧大约耗时0.3s。算法流程全过程如图1所示。
实验证明,抽取背景和当前帧之间进行差异检测,分贫穷交为准确。对于比较淡的阴影,用梯率二值化方法可以部分消除阴影影响。由于只监视边缘变化部分,背景重建速度比直接利用灰度图像重建背景快很多,干扰也较小。梯度二值化处理之后得建背景只需150-200帧,而不经过新颖度二值化处理在上升帧之后仍然没有较好的背景,并且点状噪声和去雾状模糊比较严重。
跟踪计数的结果表明,利用形心和面积作为特征,可以快速跟踪图像序列中的目标,计数正确率可达95%.计数误差主在于遮挡引起的分合并处理不能完全如实反映目标的运动,把合并区域当作新出现的区域。如果合并区域再次分裂,分裂出来的区域就会被当作新区域,造成计数偏大。为了简化跟踪算法,实验仅在相邻两帧之间进行跟踪匹配,这样处理分裂合并的能力并不强,如果在多帧之间进行跟踪,效果会好一些,但是算法比较复杂。
对于大小相差悬殊的车辆,如公共汽车和轿车,根据长度、宽度信息就很容易分别开来,根本不用进行后面的模型匹配。所以本文试验要针对了街道上常见的大小相差不太大的车辆,将它们分成了轿车、轻卡和面包车。试验证明:直接利用Canny边缘,根据Hausdorff距离匹配可以有效地对车型加以判判别。由于没有逐条抽取边缘直线来与模型轮廓线匹配,计算量大为减小,算法实现简单。由于轿车的外形大小变化相对较小,识别正确率最高,可达90%;轻型卡车次之;面包车的识别率最低,大约50~60%,错误部分主要被识别成轿车,主要原因是轿车的大小相差很大,模型匹配方法是一个不足也在于此,。要提高识别率,模型细分是必需的工作。本试验中摄像头安装在街道的前方,由于车辆最显著的外形特片在于侧轮廓,所以如果摄像头安装在街道旁边拍摄车辆的侧面图像,可以认为识别效果应该会更好一些。另外,Canny算子的边缘效果不是很好,噪声比较大,也影响了判决结果。如果采用Hough变换抽取车辆边缘的直线,计算量较大。如果阴影比较严重,还需要进行专门的去阴影 处理。这些都是下一步工作要解决的问题。