靳慧云,李 苑,马 程,张 彬,刁一平
(1.浙江警察学院 计算机与信息技术系,浙江 杭州310053;2.杭州海康威视数字技术有限公司,浙江 杭州310051)
移动目标(车辆)的被动式视频测速技术方法研究及软件实现
靳慧云1,李苑1,马程2,张彬2,刁一平2
(1.浙江警察学院 计算机与信息技术系,浙江 杭州310053;2.杭州海康威视数字技术有限公司,浙江 杭州310051)
针对普通摄像机对目标车辆进行主动式速度测量时存在影响因素多、手工操作复杂、测量误差大等问题,提出了一种被动式移动目标测速方法,并结合不同场景给出了部属应用方案,最终设计完成一种实现被动式视频测速的软件,同时指出了实际应用中应注意的问题。
视频画面;被动式;车辆测速
随着我国视频监控系统建设的普及,通过视频监控获取信息量越来越大,从视频画面中提取线索和证据,在司法实践和交通管理等方面发挥着越来越重要的作用。视频测量技术也在不断地发展完善。通常,视频测量包括目标的尺寸测量技术和移动目标速度的测量技术。本文主要阐述视频监控画面中目标车辆速度的被动式视频测速技术的基本原理、方法以及软件的实现。本项目设计完成的软件系统,具有重复性强、操作简便和测量精度高的特点,为我国的公安司法实践和相关研究工作提供了技术支持。
(一)视频被动式测速的主动式与被动式
目前,车辆速度的测量的方式可分为两类:一类是主动测量的方式,即依靠事先专门安置的测速设备或软件系统,在固定的地点,对特定区域的车辆进行测速的方式。另一类是被动式测量方式,即基于监控视频摄像机采集到的视频画面,对其中目标车辆进行测速的方式,解决的是监控视频拍摄现场并无专用测速设备,而需要摄后测量的技术问题。从司法应用的角度讲,它是以案(事)件发生后的视频为检材,通过专门的信息图像处理及分析,以获取涉案(事)车辆的相关线索或证据的检测方法。本项目研究的主要内容正是这种基于视频的被动式移动目标(车辆)速度测量方法。
(二)被动式视频测速的基本原理
1.基本原理
在视频测速中,无论是主动式测量还是被动式测量,距离和时间都是两个不可或缺的参数。若设需要测量的车速为v,被测距离为Δl,测量时间为Δt,则视频测速的基本公式为:v=。在实际应用中,关键是距离的时间显示或从被测视频中帧数(帧差)直接获得。视频测速解决的是一个物体在现场空间移动距离的测量问题,即参数Δl的求解问题。从目前的解决方案看,从目标车辆与现场空间相对位移的关系上找出移动距离有以下两种途径。
第一,在车身上确定一个标志点作为参照,在车辆开过的瞬间,此点在现场空间“刷”出的两个点间的距离,或由现场空间的一个点“刷”出车辆上的两个点间的距离(车身较长的长挂车),如图1-1、图1-2所示。
图1-1
图1-2
第二,借助于视频目标尺寸的测量方法,解决参数问题,如建模法测量、匹配法测量等等。
2.视频测速中的平均速度和即时速度
基于城市视频监控的视频测速,是通过一段“被测视频”完成的,采用的是一种动态的测量方法(相对于视频尺寸测量)。至于测量得出的数据,是平均速度还是即时速度,应视不同情况而确定。从视频测速的角度看,被测视频中实际测量两点间的帧差越小,目标运动的距离越短,就越接近即时速度(但测量误差亦可能越大);相反,两点间的帧差较大,车辆运动的距离较远,所测的速度则为两点间的平均速度。
(三)视频画面空间关系
1.视频中目标车辆速度测量的点、线、面关系
视频画面中目标车辆速度测量,是解决在一个平面上移动目标的测量问题,其测量值是一个矢量,故它不仅涉及移动目标移动的长度,还涉及目标移动的方向。而且,视频监控摄像头摄取的画面,是一个用二维画面表达三维空间的透视图,因此,需要对三维空间的点、线、面的关系有个明确的认识。
2.视频测速中的坐标关系
图像坐标(x,y):输入的图像坐标,以左上角为原点,像素为单位。此输入可以人机交互输入或者图像检测得到的信息输入。
图像坐标(u,v):为归一化的图像坐标,以成像面主点为原点,归一化比例为单位。
其中H为图像的高度分辨率,(u0,v0)为成像像主点,假设主点图像中央,即u0=0.5,v0=0.5,图像没有发生畸变。
摄像机坐标系(Xc,Yc,Zc):以摄像机所在点为原点,Zc为光轴,Yc为与u平行的坐标轴,Xc为与v平行的坐标轴,单位为米。由相似三角形可知:
世界坐标系(X,Y,Z):摄像机光轴与地平面的交点为原点,Z为高度坐标,Y为光轴和高度所在平面与地平面的交线,X为与Y轴垂直的轴,单位为米。(X,Y,Z)经过旋转和平移可得到摄像机坐标Xc,Yc,Zc:
通过公式(2)和(3)可以得到:
公式(4)将世界坐标系转化到图像坐标系中,其中三个参数(f,H,φ)为摄像机参数,f为内参数,(H,φ)为外参数。由公式(4)可知,图像坐标(u,v)一点对应世界坐标里面的一条线,这也就是平时所说的三维变到二维的原因。
综上所述,在车辆测速应用中,最好是将标定线限定在地平面上,即Z=0,此时公式简化为:
若图像坐标地平面两点分别为(u1,v1)和(u2,v2),两点对应地面距离为D,则有以下公式
可以看出,函数有4个参数,如果通过已知的4条标定线就可以求解到映射关系函数。通过映射关系函数可以求取图像中任意两点之间(两个点都需要在地面上)的实际距离,进而求得目标车辆的准确速度。
(四)不同场景下被动式视频测速
1.不同监控点之间的车辆平均速度测量
不同监控点之间的车辆平均速度测量方法比较简单。只要取现场两个监控点拍摄的较为清晰的画面,找出明显的参照物或标志线,并依此作为起点和终点的计时点,沿目标车辆行驶的轨迹实地测量两点间的实际距离参数Δl,根据视频画面时间显示或在起止区域内行驶的帧数,推算经过两点间的时间参数Δt,即可计算得出该路段内相应的平均速度(这种测量也可以在视频平台上实现),但要注意两点:
一是两个监控点之间的距离不宜太长,而且,交通状况应良好,通畅无障碍,否则测出的平均速度意义不大。二是两个视频监控点最好在同一监控系统中,这样系统生成的时间码是一致的,时间计算或校正更为便利和准确。
2.同一监控点的视频测速
同一监控点视频中目标车辆速度的测量,是指通过在同一场景、同一个监控头拍摄的被测视频进行的车速测量,这种测量需求实际工作中较为常见,也正是本项研究的重点。目前,主要方法有以下几种:
一是根据现场参照物获取参数Δt的方法。这种方法,是基于被测视频所反映的原发现场中,尚存在未发生变化的参照物或标志线(如斑马线、隔离桩、树木等等),能够确定起止测量点。然后,通过现场实地测量起止点的实际距离,获取参数Δt值从而完成测量的方法。
二是根据目标车辆的车身特征点获取参数的方法。这种方法是在目标车辆车身上选择两个特征点作为标定点,画面检测时,选择一个点作为定位点,观测目标车辆车身上这两个特征点通过选定的定位点的画面帧数,获取参数Δt,然后根据目标车辆车身上选择的两个特征点确定Δl,从而完成测量的方法。例如,车身测量法,是在对各种车辆车身长度已知或可查知的前提下进行的。以车前端和车后端某两点(最好是两轮胎着地点)作为标定点,在被测视频画面中,在屏幕上车前端的特征点位置进行标注,作为定位点,逐帧播放视频,观测目标车辆车身后端通过这个定位点的画面帧数,获取参数Δt,然后,根据车型确定数据Δl(如轴距),从而完成测量。利用这种方法测量车速,优点是无需到现场,只要能够确定目标车辆的类型,并通过车辆数据库或上网搜索相关车长数据,即可完成测量。
三是利用画面匹配获取参数Δl的方法。这种方法是基于画面匹配的原理实现测量的[1]。即首先要在被测视频中观察目标车辆行驶的轨迹,取一定时间段的画面进行匹配,标出测量点或线,根据被测视频标出的点或线,建立标定视频。然后,进入现场测量标定点之间的实际距离以获取参数Δl,再查算车辆通过标记点的画面帧数,求得参数Δt,从而完成测量。
针对不同场景下的目标车辆的速度测量,本项研究开发了一个可重复性高、操作简便、准确性较高的专用软件——速度测量工具。
(一)系统结构
本软件主要分为三个部分:应用界面、解码库、算法库。如图2-1所示。
图2-1 系统结构
解码库负责对各种视频文件进行解码;应用界面负责显示视频画面,为用户提供标注界面入口,并接收用户输入参数,调用算法库获取结果;算法库负责实现不同测算方法的算法实现,接收测算参数,返回测算结果。
(二)开发环境和开发工具
本系统为了便于普及和基层民警使用,对运行环境要求只要满足硬件环境CPU为双核,不低于1.6GHz,内存为DDR II或DDR III,不少于4GB,硬盘不低于100GB,显卡具有2D、3D硬件加速性能即可。运行软件环境支持操作系统为Windows XP/ Windows 7,32位或64位。
本系统采用visual studio 2008为开发工具,开发语言为C++。
(三)测速计算方式计算法实现
本软件提供了三种速度测量方法。
1.车身测速法
车身测速法是以车轴距为基准,对同一车辆在视频中不同时间点所标定的车身轴距进行空间建模,建立三维空间关系,再求出车辆的行驶速度。本方法适用大部分视频拍摄角度场景下的车辆测速。这种方法的优势是已知型号车辆的轴距是已知的,在实际操作中,用户只需要标定4轴距线就可以测试出结果,无需去现场进行实地测量,适用范围广、操作简单、准确度较高。
2.空间测速法
空间测速法同样使用了空间建模技术,通过标定视频中路面宽高,以及该车辆行驶的起始时间点和结束时间点求得车辆的行驶速度。该方法适合于可以找到原始现场,具备现场地面测量条件的现场。本方法可适用于高机位拍摄角度的场景,原理和车身测速法一样。如果由于相机架设原因看不到车辆的前后轮,就不能利用车辆轴距的方法来标定,此时可以利用车道线当成参考物来标定,目的也是要得到4条标定线。在实际场景中,推荐用户在车道上选取矩形框,这样就可以生成4条已知线段,矩形的宽和高需要回到现场测量,之后的步骤和空间法一样求出车辆的速度。
3.平面测速法
平面测速法采用了平面按比例进行测算的方式,通过标定视频中已知参照物的尺寸,以及该车辆行驶的起始时间点和结束时间点求得车辆的行驶速度。该方法适合于原始现场有可测量的参照物,且视频拍摄角度与车辆行驶方向垂直,参照物与车辆处于同一平面的现场。
平面测速法的原理的依据是:在同一平面中,各物体尺寸的比例是相等的。如果一个车辆在同一平面上行驶,那么从起点到终点这段距离对应的路面线段,与这个平面中其他物体的尺寸是等比例的,知道了这个平面中其他物体的尺寸,则这段路面线段的尺寸也就知道了。再通过终点与起点视频帧的时间差,就能够知道这段距离所使用的时间,根据“速度=距离/时间”计算出这段距离的平均车速。
(四)操作方法
1.车身测速法
具体操作步骤如下:
步骤一:定位视频中待测车辆位置。
播放待测视频,在出现待测车辆的画面时点击暂停按钮。
步骤二:标定车辆轴距。
切换到车身测速tab页,点击“画标记线”按钮,并在车辆前后车轮接触地面的位置标定轴距线。如果担心标定不够准确,可以点击按钮。在标定前先开启放大功能并滚动鼠标滚轮,将车轮位置放大后再标定。标注点的位置会在右下角的框中放大显示,可以使用Ctrl+方向键、Shift+方向键对标注点进行微调。标定完一条轴距线后,可拖动帧刻度游标,对播放进度进行微调,使车辆移动一小段距离,再标定下一条轴距线。如此反复,标定4~8条轴距线。如图2-2所示。
图2-2 标定轴距线
步骤三:测算测量速度。
标定完轴距线后,根据待测车辆的型号,在车辆轴距编辑框中输入实际轴距,再点击“测算速度”按钮,获得测算结果。如图2-3所示。
图2-3 测算结果
2.空间测速法
具体操作步骤如下:
步骤一:标定路面矩形区域。
播放待测视频,在出现待测车辆经过的路面画面时点击暂停按钮。切换到空间测速tab页,点击“画矩形”按钮,并依次在车辆经过的路面的左上、右上、左下、右下四个角点击标定出事先确定好的路面的矩形区域。为了提高精度,可先放大再标定。如图2-4所示。
步骤二:输入矩形区域的宽、高值。
在宽度、高度输入框中输入实地测量好的路面矩形区域的宽高值。
图2-4 标定路面
步骤三:标记始末位置。
拖动帧刻度游标,微调播放进度,使待测车辆出现在视频画面中,点击“画标记点”按钮,选择车身中易标注的地方标注一个点,如车轮外侧着地的点、车灯、车轮中心点等。再次拖动帧刻度游标,微调播放进度,使待测车辆移动一段距离,并在车身相同的地方再次标注一个点。
步骤四:测算测量速度。
点击“测算速度”按钮,获得测算结果。如图2-5。
图2-5 测算结果
3.平面测速法
具体操作步骤如下:
步骤一:标定参照物。
播放待测视频,在出现待测车辆画面时点击暂停按钮。切换到平间测速tab页,点击“画标记线”按钮,在视频画面中标定出参照物线段。
步骤二:输入参照物尺寸。
在参照物长度输入框中输入参照物长度。
步骤三:标定始末位置。
拖动帧刻度游标,微调播放进度,使待测车辆出现在视频画面中,点击“画标记点”按钮,选择车身中易标注的地方标注一个点,如车轮外侧着地的点、车灯、车轮中心点等。再次拖动帧刻度游标,微调播放进度,使待测车辆移动一段距离,并在车身相同的地方再次标注一个点。
步骤四:测算测量速度。
点击“测算速度”按钮,获得测算结果。如图2-6所示。
图2-6 测算结果
(五)被动式视频测速应注意的问题
1.被动式视频测速应具备的基本条件
首先,目标车辆在被测视频中应有一定长度的行驶轨迹。
其次,采用空间测速方法时,通过被测视频反映出的案(事)件,应可以找到原发现场。而且,原发现场应有尚未发生变化的参照物或标志线,可以提供较准确的画面测量与实地测量。
再次,采用车身测速时,应可以确定车型和相关车长数据,可以测量出车身上相关特征点的实际距离。
最后,被测视频播放应正常,均匀流畅、帧速固定,并无丢帧现象。
2.被动式视频测速的应注意的问题
在城市视频监控网络中,场景复杂,摄像机的种类繁多,参数不一。因此,基于视频监控的目标车辆速度被动式测量方法应注意以下问题。
其一,尽量选择摄像机的分辨率高的高清视频作为被测视频。
其二,测量方向和高度的选择。在视频画面目标车辆速度测量中,应选择摄像机镜头光轴与目标运动方向夹角较大的画面作为视频测量画面。如图2-7所示。
图2-7 摄像机镜头光轴与目标运动方向夹角示意图
因为摄像机在A或者B点(正对目标)时,在视频画面中,相同的行驶轨迹长度在显示上变化不明显。随着机位的高度的升降,画面中行驶轨迹长短不同。机位高时,画面显示的行驶轨迹相对长一些;机位低时,画面显示的行驶轨迹则相对短一些。机位由A或B向C点变化时,相同的行驶轨迹长度在画面显示上,也会随着角度的增加而增加。对于目标车辆速度的测量,若Δl值太小,容易产生较大的测量误差。因此,在审看被测视频时,应选择摄像机镜头光轴与目标运动方向夹角较大的画面作为被测视频画面。
此外,考虑到现场测量行驶轨迹长度的难易程度,还应尽量选择车辆直行路段为宜。当目标车辆通过两点的帧数太少时,即高速行驶的情况下,误差可能较大。
被动式视频测速是根据当前司法实践的需求,专门针对那些没有安装测速装置和系统(不能通过主动式检测获取车速信息的情况)的路段,仅通过被测视频完成目标车辆行驶速度检测的方法。经过测试,该系统具有可重复性强、操作简便和测量精度高的特点。当然,一种技术方法不可能解决所有问题,一个问题也不都是仅由一种技术方法解决的。
[1]李苑,谢贤能.视频画面测量中的画面匹配测量技术研究[J].中国刑警学院学报,2010(3):32-33.
[2]靳慧云,李苑,谢贤能,等.监控视频中目标车辆速度被动式测量方法研究[J].测绘通报,2012(8):47-50.
[3]王俊飞,罗大庸.一种新的基于视频技术的车速检测方案[J].自动化技术与应用,2010(3):63-66.
[4]关晓慧,周志敏.一种复杂背景下的运动目标检测方法[J].浙江水利水电专科学校学报,2010(1):38-40.
责任编辑:贾永生
D918.2
A
1009-3192(2016)03-0041-06
2016-04-10
靳慧云,女,河南郑州人,浙江警察学院计算机与信息技术系教授,主要从事网络安全与计算机公安应用研究;李苑,男,甘肃兰州人,浙江警察学院教授,主要从事视频侦查教学和研究工作;马程,男,江苏无锡人,杭州海康威视数字技术有限公司工程师,主要从事智能视频分析研究;张彬,男,重庆人,杭州海康威视数字技术有限公司工程师,主要从事windows/ linux下多媒体、智能相关应用的设计与开发;刁一平,男,浙江杭州人,杭州海康威视数字技术有限公司工程师,主要从事应用软件技术研究。
本文为浙江省公益技术研究社会发展项目“基于视频监控的目标车辆速度被动式测量方法及软件研究”(2013C33035)研究成果。