基于视频图像的车速检测方法

2014-11-20 08:18:38李冬生
电视技术 2014年7期
关键词:团块摄像机标定

卢 彬,陈 域,李冬生,朱 闯

(1.重庆邮电大学通信新技术应用研究所,重庆400065;2.重庆信科设计有限公司,重庆400065)

在智能监控系统中,经过十几年的发展,视频测速技术上已经相当成熟,其与线圈检测技术相比所具有的优越性和高性价比己得到业内人士的公认。实现视频测速需要具体解决以下两个问题:一是目标车辆的检测和跟踪,二是摄像机标定。在本文中,调用Intel公司开发的OpenCV(Intel Open Source Computer Vision Library)函数库[1]所提供的团块检测模块来实现目标车辆的检测和跟踪。该方法相较于传统目标匹配方法,计算复杂度下降,准确度和鲁棒性都有很大改善。另外,本文中利用高速公路施工规范,通过对公路上车道线特征点的提取获得图像中相关参数信息,最后得到图像坐标与车辆空间坐标的对应关系,实现摄像机自动标定,比传统摄像机标定方法更加灵活快捷,节省了大量的时间与计算量。

1 运动目标的检测和跟踪

1.1 基于OpenCV的运动目标处理流程

OpenCV是由Intel公司资助开发的一套可免费使用的开源代码库。在本文中,OpenCV提供了一个运动目标检测以及跟踪的框架。当逐帧传入图像,就可以检测到视频图像中所有的车辆目标团块。为了实现上述功能,可以将整个过程细分成几个模块实现,如图1所示。

整个框架中3个模块最为重要:前景检测模块,该模块的主要功能是将输入的视频图像转化为该图像的前景掩码;新团块检测模块,输入是前景检测模块的结果和已经检测并标定的团块,输出的结果是新检测到的团块;团块跟踪模块,使用上一步所得到的结果对该模块进行初始化,并跟踪新进入的车辆[2-4]。

图1 运动目标处理流程

1.2 车辆目标检测

常用的运动目标检测算法有光流法、帧差法、背景差分算法等。本文采用的方法是将帧差法和背景差分法结合起来对运行驶车辆进行检测。具体流程如图2所示。

图2 帧差法和背景差分相结合的运动目标检测方法

通过对输入的视频帧分别用帧差法和背景差分法得到的运动区域,调用cvOr()函数进行异或处理。Bx(i,j)为区域合并后(i,j)点的像素值,若大于阈值T,则为前景目标像素。现采用OTSU方法求取阈值,基本思想是:把图像中的像素按灰度值用阈值T分成两类C1和C2。C1由灰度值在[0,T]之间的像素组成,C2由灰度值在[T+1,L-1]之间的像素组成,按下式计算两类之间的类间方差值

式中:w1(t)和w2(t)分别为C1和C2所含的像素数;μ1(t)和μ2(t)分别为C1和C2所有像素的平均灰度值。让T在[0,L-1]范围依次取值,使σ2最大的T值即为OTSU法最佳阈值。再对经过二值化的图像进行形态学处理,从而得到准确完整的检测目标。

1.3 车辆目标跟踪

在本文中,通过Kalman滤波器预测车辆行驶轨迹在当前帧图像中的大小和具体位置,完成前后帧的目标匹配。具体实现流程为:

1)从前景图像提取所有团块,即提取车辆目标外部轮廓。根据轮廓的最小外接矩形框得到团块的高度和宽度,由式(2)计算团块的质心坐标,质心用Ctr表示

2)由上一帧中团块大小及位置初始化卡尔曼滤波器,预测出当前帧的所检测团块的大小及位置。

3)通过检测团块的跟踪轨迹,找到离上一帧的团块最近的当前帧里的团块,由此更新卡尔曼滤波器状态。最终将此团块加入到跟踪序列中并对新团块赋唯一标号,即ID。

2 摄像机标定

摄像机标定过程[6]中,将实际空间坐标p以及与其相对应的图像坐标P的转换关系通过M矩阵进行表示

式中:p=(u,v,1)T,P=(X,Y,Z,1)T分别代表图像点的齐次坐标以及空间点的齐次坐标。若取地平面为X-Y平面(Z=0)建立世界坐标系,则上式可变为

对式(4)进行变换,则可得到以下方程组

由上式方程组化简得到

如果现在已经采集到了公路上n个点的图像坐标(ui,vi)(i=1,2,…,n)和其对应的实际坐标 (Xi,Yi)(i=1,2,…,n),则能得到关于M 矩阵的2n个方程,如下所示

由式(5)可以知道M矩阵与任何不为零的常数相乘并不影响p矩阵与P矩阵的转换关系。因此,式(7)中可以将m34的值定义为1,这样,要想求解转换矩阵M,则采集的公路上实际点坐标以及相对应的图像坐标点的个数至少需要4个,且其中任意3点不能共线。求出矩阵M,即完成摄像机标定,得到图像坐标与车辆空间坐标之间的转换关系[6-7],接着根据图像平面坐标求得在实际空间中的坐标,再根据速度公式求得所检测车辆的车速。

在实际应用中,要想完成摄像机标定,采集到4组以及4组以上标定点的图像坐标与车辆空间坐标是其中重中之重。如果采取传统的手工标定来得到标定点,需要浪费大量时间,极不方便。为了能够进行自动标定,本文根据《高速公路交通安全设施设计及施工技术规范JTJ074-94》中规定高速公路上分隔虚线宽15 cm、分割线长6 m、分割线横向间距3.5m、纵向间距9m等特点,找到不共线的2条分割线、4个顶点的世界坐标,同时得到视频中对应的点坐标,进而计算出转换矩阵。具体实现流程如下:

1)为了防止标定点被遮挡等意外情况出现,通过提取检测区域无车辆通过时的视频帧图像,获得公路路面样本。

2)统计路面样本灰度、边界点分布、RGB对灰度的偏差等特征,建立高斯模型,然后对图像进行窗口滤波处理,获取车道线区域。

3)进行Sobel边缘检测,增加近区域边界点权重。然后通过Hough变换获得候选车道线,接着再对其二次Hough变换缩小消失点范围排除游离直线。

4)利用车道线长度、间距恒定的特点,提取相邻车道线的4个端点作为标定点(如图3所示),得到其图像坐标。

图3 车道线检测(截图)

3 实验结果与误差分析

本文选取一段公路车辆行驶视频,随机地对其中的车辆进行抽取以检测其行驶速度。图4中的2幅图像是实验中采集到的对同一辆车在车头进入车道线以及离开车道线时的2幅图像。图中,左下角数字为当前帧数,图中小圈为标定点。

图4 同一辆车的图像序列(截图)

通过上文可知,白色分割线长为6 m,实验使用的摄像机采集帧率25帧/秒(f/s)。根据帧数统计目标车经过6 m用时为(130-119)/25 s=0.44 s,则汽车实际速度为6/0.44 ×3.6=49.09 km/h。第2 幅图同时显示了团块检测测量速度50.85 km/h,可以看出,测出的车辆速度与实际速度误差不大。为了使测试结果不失一般性,实验将连续随机抽取视频中的行驶车辆进行检测,具体结果如表1所示。

表1 实验结果

实验数据表明,本文提出的测速方法检测得到的车速存在一定误差,经分析,误差是由于以下几点原因造成的:1)OpenCV团块检测法判断团块需要很多帧才能确定团块,所以测出的速度与实际速度并不是相同区间内的速度,只能算大致相近;2)得到实际速度可能与真实速度有一定的误差。因为计算实际速度要求是汽车经过6 m所用的时间计算得到的,而计算中所用的帧数为整数,代表的实际距离并不等于6 m,这也会造成一定的误差。

4 总结

本文提出一种基于视频图像的车速检测方法。利用OpenCV函数库提供的运动目标跟踪框架来实现行驶车辆的定位与跟踪,接着结合摄像机自动标定结果获得车辆在检测的两帧图像间行驶的距离,从而检测出车辆的行驶速度。经测试,该方法可以实现车速的实时检测,而且检测结果比较准确。

[1]刘瑞祯,于仕琪.OpenCV教程基础篇[M].北京:北京航空航天大学出版社,2010:405-427.

[2]柳宗浦,赵曙光,潘翔鹤,等.一种融合Kalman预测和Mean-shift搜索的视频运动目标跟踪新方法[J].光电子技术,2009,29(1):30-33.

[3]张浩鹏,王宗义,张智,等.全景摄像机标定[J].哈尔滨工程大学学报,2009,30(11):1239-1245.

[4]高浩军,杜宇人.基于视频序列图像的车辆测速研究[J].电子测量技术,2007,30(2):40-45.

[5]鲜海滢,李晓峰,李在铭.基于摄像机的车辆测速仪[J].电子测量与仪器学报,2008,22(3):94-99.

[6]邹凤娇.摄像机标定及相关技术研究[D].成都:四川大学,2005.

[7]刘明.基于目标检测与跟踪的机动车视频测速方法研究[D].南昌:南昌大学,2007.

猜你喜欢
团块摄像机标定
通道压裂支撑剂团块形成过程及影响因素
使用朗仁H6 Pro标定北汽绅宝转向角传感器
看监控摄像机的4K之道
基于匀速率26位置法的iIMU-FSAS光纤陀螺仪标定
摄像机低照成像的前世今生
含铁尘泥自还原团块固结机理及强度劣化
新安讯士Q6155-E PTZ摄像机
船载高精度星敏感器安装角的标定
冷轧酸再生团块破碎机堵料的原因分析及对策
新疆钢铁(2015年3期)2015-11-08 01:59:42
如何消除和缓解“摄像机恐惧症”
新闻前哨(2015年2期)2015-03-11 19:29:25