靳慧云,李 苑,馬 程,張 彬,刁一平
(1.浙江警察學(xué)院 計算機與信息技術(shù)系,浙江 杭州310053;2.杭州??低晹?shù)字技術(shù)有限公司,浙江 杭州310051)
移動目標(biāo)(車輛)的被動式視頻測速技術(shù)方法研究及軟件實現(xiàn)
靳慧云1,李苑1,馬程2,張彬2,刁一平2
(1.浙江警察學(xué)院 計算機與信息技術(shù)系,浙江 杭州310053;2.杭州海康威視數(shù)字技術(shù)有限公司,浙江 杭州310051)
針對普通攝像機對目標(biāo)車輛進行主動式速度測量時存在影響因素多、手工操作復(fù)雜、測量誤差大等問題,提出了一種被動式移動目標(biāo)測速方法,并結(jié)合不同場景給出了部屬應(yīng)用方案,最終設(shè)計完成一種實現(xiàn)被動式視頻測速的軟件,同時指出了實際應(yīng)用中應(yīng)注意的問題。
視頻畫面;被動式;車輛測速
隨著我國視頻監(jiān)控系統(tǒng)建設(shè)的普及,通過視頻監(jiān)控獲取信息量越來越大,從視頻畫面中提取線索和證據(jù),在司法實踐和交通管理等方面發(fā)揮著越來越重要的作用。視頻測量技術(shù)也在不斷地發(fā)展完善。通常,視頻測量包括目標(biāo)的尺寸測量技術(shù)和移動目標(biāo)速度的測量技術(shù)。本文主要闡述視頻監(jiān)控畫面中目標(biāo)車輛速度的被動式視頻測速技術(shù)的基本原理、方法以及軟件的實現(xiàn)。本項目設(shè)計完成的軟件系統(tǒng),具有重復(fù)性強、操作簡便和測量精度高的特點,為我國的公安司法實踐和相關(guān)研究工作提供了技術(shù)支持。
(一)視頻被動式測速的主動式與被動式
目前,車輛速度的測量的方式可分為兩類:一類是主動測量的方式,即依靠事先專門安置的測速設(shè)備或軟件系統(tǒng),在固定的地點,對特定區(qū)域的車輛進行測速的方式。另一類是被動式測量方式,即基于監(jiān)控視頻攝像機采集到的視頻畫面,對其中目標(biāo)車輛進行測速的方式,解決的是監(jiān)控視頻拍攝現(xiàn)場并無專用測速設(shè)備,而需要攝后測量的技術(shù)問題。從司法應(yīng)用的角度講,它是以案(事)件發(fā)生后的視頻為檢材,通過專門的信息圖像處理及分析,以獲取涉案(事)車輛的相關(guān)線索或證據(jù)的檢測方法。本項目研究的主要內(nèi)容正是這種基于視頻的被動式移動目標(biāo)(車輛)速度測量方法。
(二)被動式視頻測速的基本原理
1.基本原理
在視頻測速中,無論是主動式測量還是被動式測量,距離和時間都是兩個不可或缺的參數(shù)。若設(shè)需要測量的車速為v,被測距離為Δl,測量時間為Δt,則視頻測速的基本公式為:v=。在實際應(yīng)用中,關(guān)鍵是距離的時間顯示或從被測視頻中幀數(shù)(幀差)直接獲得。視頻測速解決的是一個物體在現(xiàn)場空間移動距離的測量問題,即參數(shù)Δl的求解問題。從目前的解決方案看,從目標(biāo)車輛與現(xiàn)場空間相對位移的關(guān)系上找出移動距離有以下兩種途徑。
第一,在車身上確定一個標(biāo)志點作為參照,在車輛開過的瞬間,此點在現(xiàn)場空間“刷”出的兩個點間的距離,或由現(xiàn)場空間的一個點“刷”出車輛上的兩個點間的距離(車身較長的長掛車),如圖1-1、圖1-2所示。
圖1-1
圖1-2
第二,借助于視頻目標(biāo)尺寸的測量方法,解決參數(shù)問題,如建模法測量、匹配法測量等等。
2.視頻測速中的平均速度和即時速度
基于城市視頻監(jiān)控的視頻測速,是通過一段“被測視頻”完成的,采用的是一種動態(tài)的測量方法(相對于視頻尺寸測量)。至于測量得出的數(shù)據(jù),是平均速度還是即時速度,應(yīng)視不同情況而確定。從視頻測速的角度看,被測視頻中實際測量兩點間的幀差越小,目標(biāo)運動的距離越短,就越接近即時速度(但測量誤差亦可能越大);相反,兩點間的幀差較大,車輛運動的距離較遠,所測的速度則為兩點間的平均速度。
(三)視頻畫面空間關(guān)系
1.視頻中目標(biāo)車輛速度測量的點、線、面關(guān)系
視頻畫面中目標(biāo)車輛速度測量,是解決在一個平面上移動目標(biāo)的測量問題,其測量值是一個矢量,故它不僅涉及移動目標(biāo)移動的長度,還涉及目標(biāo)移動的方向。而且,視頻監(jiān)控攝像頭攝取的畫面,是一個用二維畫面表達三維空間的透視圖,因此,需要對三維空間的點、線、面的關(guān)系有個明確的認(rèn)識。
2.視頻測速中的坐標(biāo)關(guān)系
圖像坐標(biāo)(x,y):輸入的圖像坐標(biāo),以左上角為原點,像素為單位。此輸入可以人機交互輸入或者圖像檢測得到的信息輸入。
圖像坐標(biāo)(u,v):為歸一化的圖像坐標(biāo),以成像面主點為原點,歸一化比例為單位。
其中H為圖像的高度分辨率,(u0,v0)為成像像主點,假設(shè)主點圖像中央,即u0=0.5,v0=0.5,圖像沒有發(fā)生畸變。
攝像機坐標(biāo)系(Xc,Yc,Zc):以攝像機所在點為原點,Zc為光軸,Yc為與u平行的坐標(biāo)軸,Xc為與v平行的坐標(biāo)軸,單位為米。由相似三角形可知:
世界坐標(biāo)系(X,Y,Z):攝像機光軸與地平面的交點為原點,Z為高度坐標(biāo),Y為光軸和高度所在平面與地平面的交線,X為與Y軸垂直的軸,單位為米。(X,Y,Z)經(jīng)過旋轉(zhuǎn)和平移可得到攝像機坐標(biāo)Xc,Yc,Zc:
通過公式(2)和(3)可以得到:
公式(4)將世界坐標(biāo)系轉(zhuǎn)化到圖像坐標(biāo)系中,其中三個參數(shù)(f,H,φ)為攝像機參數(shù),f為內(nèi)參數(shù),(H,φ)為外參數(shù)。由公式(4)可知,圖像坐標(biāo)(u,v)一點對應(yīng)世界坐標(biāo)里面的一條線,這也就是平時所說的三維變到二維的原因。
綜上所述,在車輛測速應(yīng)用中,最好是將標(biāo)定線限定在地平面上,即Z=0,此時公式簡化為:
若圖像坐標(biāo)地平面兩點分別為(u1,v1)和(u2,v2),兩點對應(yīng)地面距離為D,則有以下公式
可以看出,函數(shù)有4個參數(shù),如果通過已知的4條標(biāo)定線就可以求解到映射關(guān)系函數(shù)。通過映射關(guān)系函數(shù)可以求取圖像中任意兩點之間(兩個點都需要在地面上)的實際距離,進而求得目標(biāo)車輛的準(zhǔn)確速度。
(四)不同場景下被動式視頻測速
1.不同監(jiān)控點之間的車輛平均速度測量
不同監(jiān)控點之間的車輛平均速度測量方法比較簡單。只要取現(xiàn)場兩個監(jiān)控點拍攝的較為清晰的畫面,找出明顯的參照物或標(biāo)志線,并依此作為起點和終點的計時點,沿目標(biāo)車輛行駛的軌跡實地測量兩點間的實際距離參數(shù)Δl,根據(jù)視頻畫面時間顯示或在起止區(qū)域內(nèi)行駛的幀數(shù),推算經(jīng)過兩點間的時間參數(shù)Δt,即可計算得出該路段內(nèi)相應(yīng)的平均速度(這種測量也可以在視頻平臺上實現(xiàn)),但要注意兩點:
一是兩個監(jiān)控點之間的距離不宜太長,而且,交通狀況應(yīng)良好,通暢無障礙,否則測出的平均速度意義不大。二是兩個視頻監(jiān)控點最好在同一監(jiān)控系統(tǒng)中,這樣系統(tǒng)生成的時間碼是一致的,時間計算或校正更為便利和準(zhǔn)確。
2.同一監(jiān)控點的視頻測速
同一監(jiān)控點視頻中目標(biāo)車輛速度的測量,是指通過在同一場景、同一個監(jiān)控頭拍攝的被測視頻進行的車速測量,這種測量需求實際工作中較為常見,也正是本項研究的重點。目前,主要方法有以下幾種:
一是根據(jù)現(xiàn)場參照物獲取參數(shù)Δt的方法。這種方法,是基于被測視頻所反映的原發(fā)現(xiàn)場中,尚存在未發(fā)生變化的參照物或標(biāo)志線(如斑馬線、隔離樁、樹木等等),能夠確定起止測量點。然后,通過現(xiàn)場實地測量起止點的實際距離,獲取參數(shù)Δt值從而完成測量的方法。
二是根據(jù)目標(biāo)車輛的車身特征點獲取參數(shù)的方法。這種方法是在目標(biāo)車輛車身上選擇兩個特征點作為標(biāo)定點,畫面檢測時,選擇一個點作為定位點,觀測目標(biāo)車輛車身上這兩個特征點通過選定的定位點的畫面幀數(shù),獲取參數(shù)Δt,然后根據(jù)目標(biāo)車輛車身上選擇的兩個特征點確定Δl,從而完成測量的方法。例如,車身測量法,是在對各種車輛車身長度已知或可查知的前提下進行的。以車前端和車后端某兩點(最好是兩輪胎著地點)作為標(biāo)定點,在被測視頻畫面中,在屏幕上車前端的特征點位置進行標(biāo)注,作為定位點,逐幀播放視頻,觀測目標(biāo)車輛車身后端通過這個定位點的畫面幀數(shù),獲取參數(shù)Δt,然后,根據(jù)車型確定數(shù)據(jù)Δl(如軸距),從而完成測量。利用這種方法測量車速,優(yōu)點是無需到現(xiàn)場,只要能夠確定目標(biāo)車輛的類型,并通過車輛數(shù)據(jù)庫或上網(wǎng)搜索相關(guān)車長數(shù)據(jù),即可完成測量。
三是利用畫面匹配獲取參數(shù)Δl的方法。這種方法是基于畫面匹配的原理實現(xiàn)測量的[1]。即首先要在被測視頻中觀察目標(biāo)車輛行駛的軌跡,取一定時間段的畫面進行匹配,標(biāo)出測量點或線,根據(jù)被測視頻標(biāo)出的點或線,建立標(biāo)定視頻。然后,進入現(xiàn)場測量標(biāo)定點之間的實際距離以獲取參數(shù)Δl,再查算車輛通過標(biāo)記點的畫面幀數(shù),求得參數(shù)Δt,從而完成測量。
針對不同場景下的目標(biāo)車輛的速度測量,本項研究開發(fā)了一個可重復(fù)性高、操作簡便、準(zhǔn)確性較高的專用軟件——速度測量工具。
(一)系統(tǒng)結(jié)構(gòu)
本軟件主要分為三個部分:應(yīng)用界面、解碼庫、算法庫。如圖2-1所示。
圖2-1 系統(tǒng)結(jié)構(gòu)
解碼庫負(fù)責(zé)對各種視頻文件進行解碼;應(yīng)用界面負(fù)責(zé)顯示視頻畫面,為用戶提供標(biāo)注界面入口,并接收用戶輸入?yún)?shù),調(diào)用算法庫獲取結(jié)果;算法庫負(fù)責(zé)實現(xiàn)不同測算方法的算法實現(xiàn),接收測算參數(shù),返回測算結(jié)果。
(二)開發(fā)環(huán)境和開發(fā)工具
本系統(tǒng)為了便于普及和基層民警使用,對運行環(huán)境要求只要滿足硬件環(huán)境CPU為雙核,不低于1.6GHz,內(nèi)存為DDR II或DDR III,不少于4GB,硬盤不低于100GB,顯卡具有2D、3D硬件加速性能即可。運行軟件環(huán)境支持操作系統(tǒng)為Windows XP/ Windows 7,32位或64位。
本系統(tǒng)采用visual studio 2008為開發(fā)工具,開發(fā)語言為C++。
(三)測速計算方式計算法實現(xiàn)
本軟件提供了三種速度測量方法。
1.車身測速法
車身測速法是以車軸距為基準(zhǔn),對同一車輛在視頻中不同時間點所標(biāo)定的車身軸距進行空間建模,建立三維空間關(guān)系,再求出車輛的行駛速度。本方法適用大部分視頻拍攝角度場景下的車輛測速。這種方法的優(yōu)勢是已知型號車輛的軸距是已知的,在實際操作中,用戶只需要標(biāo)定4軸距線就可以測試出結(jié)果,無需去現(xiàn)場進行實地測量,適用范圍廣、操作簡單、準(zhǔn)確度較高。
2.空間測速法
空間測速法同樣使用了空間建模技術(shù),通過標(biāo)定視頻中路面寬高,以及該車輛行駛的起始時間點和結(jié)束時間點求得車輛的行駛速度。該方法適合于可以找到原始現(xiàn)場,具備現(xiàn)場地面測量條件的現(xiàn)場。本方法可適用于高機位拍攝角度的場景,原理和車身測速法一樣。如果由于相機架設(shè)原因看不到車輛的前后輪,就不能利用車輛軸距的方法來標(biāo)定,此時可以利用車道線當(dāng)成參考物來標(biāo)定,目的也是要得到4條標(biāo)定線。在實際場景中,推薦用戶在車道上選取矩形框,這樣就可以生成4條已知線段,矩形的寬和高需要回到現(xiàn)場測量,之后的步驟和空間法一樣求出車輛的速度。
3.平面測速法
平面測速法采用了平面按比例進行測算的方式,通過標(biāo)定視頻中已知參照物的尺寸,以及該車輛行駛的起始時間點和結(jié)束時間點求得車輛的行駛速度。該方法適合于原始現(xiàn)場有可測量的參照物,且視頻拍攝角度與車輛行駛方向垂直,參照物與車輛處于同一平面的現(xiàn)場。
平面測速法的原理的依據(jù)是:在同一平面中,各物體尺寸的比例是相等的。如果一個車輛在同一平面上行駛,那么從起點到終點這段距離對應(yīng)的路面線段,與這個平面中其他物體的尺寸是等比例的,知道了這個平面中其他物體的尺寸,則這段路面線段的尺寸也就知道了。再通過終點與起點視頻幀的時間差,就能夠知道這段距離所使用的時間,根據(jù)“速度=距離/時間”計算出這段距離的平均車速。
(四)操作方法
1.車身測速法
具體操作步驟如下:
步驟一:定位視頻中待測車輛位置。
播放待測視頻,在出現(xiàn)待測車輛的畫面時點擊暫停按鈕。
步驟二:標(biāo)定車輛軸距。
切換到車身測速tab頁,點擊“畫標(biāo)記線”按鈕,并在車輛前后車輪接觸地面的位置標(biāo)定軸距線。如果擔(dān)心標(biāo)定不夠準(zhǔn)確,可以點擊按鈕。在標(biāo)定前先開啟放大功能并滾動鼠標(biāo)滾輪,將車輪位置放大后再標(biāo)定。標(biāo)注點的位置會在右下角的框中放大顯示,可以使用Ctrl+方向鍵、Shift+方向鍵對標(biāo)注點進行微調(diào)。標(biāo)定完一條軸距線后,可拖動幀刻度游標(biāo),對播放進度進行微調(diào),使車輛移動一小段距離,再標(biāo)定下一條軸距線。如此反復(fù),標(biāo)定4~8條軸距線。如圖2-2所示。
圖2-2 標(biāo)定軸距線
步驟三:測算測量速度。
標(biāo)定完軸距線后,根據(jù)待測車輛的型號,在車輛軸距編輯框中輸入實際軸距,再點擊“測算速度”按鈕,獲得測算結(jié)果。如圖2-3所示。
圖2-3 測算結(jié)果
2.空間測速法
具體操作步驟如下:
步驟一:標(biāo)定路面矩形區(qū)域。
播放待測視頻,在出現(xiàn)待測車輛經(jīng)過的路面畫面時點擊暫停按鈕。切換到空間測速tab頁,點擊“畫矩形”按鈕,并依次在車輛經(jīng)過的路面的左上、右上、左下、右下四個角點擊標(biāo)定出事先確定好的路面的矩形區(qū)域。為了提高精度,可先放大再標(biāo)定。如圖2-4所示。
步驟二:輸入矩形區(qū)域的寬、高值。
在寬度、高度輸入框中輸入實地測量好的路面矩形區(qū)域的寬高值。
圖2-4 標(biāo)定路面
步驟三:標(biāo)記始末位置。
拖動幀刻度游標(biāo),微調(diào)播放進度,使待測車輛出現(xiàn)在視頻畫面中,點擊“畫標(biāo)記點”按鈕,選擇車身中易標(biāo)注的地方標(biāo)注一個點,如車輪外側(cè)著地的點、車燈、車輪中心點等。再次拖動幀刻度游標(biāo),微調(diào)播放進度,使待測車輛移動一段距離,并在車身相同的地方再次標(biāo)注一個點。
步驟四:測算測量速度。
點擊“測算速度”按鈕,獲得測算結(jié)果。如圖2-5。
圖2-5 測算結(jié)果
3.平面測速法
具體操作步驟如下:
步驟一:標(biāo)定參照物。
播放待測視頻,在出現(xiàn)待測車輛畫面時點擊暫停按鈕。切換到平間測速tab頁,點擊“畫標(biāo)記線”按鈕,在視頻畫面中標(biāo)定出參照物線段。
步驟二:輸入?yún)⒄瘴锍叽纭?/p>
在參照物長度輸入框中輸入?yún)⒄瘴镩L度。
步驟三:標(biāo)定始末位置。
拖動幀刻度游標(biāo),微調(diào)播放進度,使待測車輛出現(xiàn)在視頻畫面中,點擊“畫標(biāo)記點”按鈕,選擇車身中易標(biāo)注的地方標(biāo)注一個點,如車輪外側(cè)著地的點、車燈、車輪中心點等。再次拖動幀刻度游標(biāo),微調(diào)播放進度,使待測車輛移動一段距離,并在車身相同的地方再次標(biāo)注一個點。
步驟四:測算測量速度。
點擊“測算速度”按鈕,獲得測算結(jié)果。如圖2-6所示。
圖2-6 測算結(jié)果
(五)被動式視頻測速應(yīng)注意的問題
1.被動式視頻測速應(yīng)具備的基本條件
首先,目標(biāo)車輛在被測視頻中應(yīng)有一定長度的行駛軌跡。
其次,采用空間測速方法時,通過被測視頻反映出的案(事)件,應(yīng)可以找到原發(fā)現(xiàn)場。而且,原發(fā)現(xiàn)場應(yīng)有尚未發(fā)生變化的參照物或標(biāo)志線,可以提供較準(zhǔn)確的畫面測量與實地測量。
再次,采用車身測速時,應(yīng)可以確定車型和相關(guān)車長數(shù)據(jù),可以測量出車身上相關(guān)特征點的實際距離。
最后,被測視頻播放應(yīng)正常,均勻流暢、幀速固定,并無丟幀現(xiàn)象。
2.被動式視頻測速的應(yīng)注意的問題
在城市視頻監(jiān)控網(wǎng)絡(luò)中,場景復(fù)雜,攝像機的種類繁多,參數(shù)不一。因此,基于視頻監(jiān)控的目標(biāo)車輛速度被動式測量方法應(yīng)注意以下問題。
其一,盡量選擇攝像機的分辨率高的高清視頻作為被測視頻。
其二,測量方向和高度的選擇。在視頻畫面目標(biāo)車輛速度測量中,應(yīng)選擇攝像機鏡頭光軸與目標(biāo)運動方向夾角較大的畫面作為視頻測量畫面。如圖2-7所示。
圖2-7 攝像機鏡頭光軸與目標(biāo)運動方向夾角示意圖
因為攝像機在A或者B點(正對目標(biāo))時,在視頻畫面中,相同的行駛軌跡長度在顯示上變化不明顯。隨著機位的高度的升降,畫面中行駛軌跡長短不同。機位高時,畫面顯示的行駛軌跡相對長一些;機位低時,畫面顯示的行駛軌跡則相對短一些。機位由A或B向C點變化時,相同的行駛軌跡長度在畫面顯示上,也會隨著角度的增加而增加。對于目標(biāo)車輛速度的測量,若Δl值太小,容易產(chǎn)生較大的測量誤差。因此,在審看被測視頻時,應(yīng)選擇攝像機鏡頭光軸與目標(biāo)運動方向夾角較大的畫面作為被測視頻畫面。
此外,考慮到現(xiàn)場測量行駛軌跡長度的難易程度,還應(yīng)盡量選擇車輛直行路段為宜。當(dāng)目標(biāo)車輛通過兩點的幀數(shù)太少時,即高速行駛的情況下,誤差可能較大。
被動式視頻測速是根據(jù)當(dāng)前司法實踐的需求,專門針對那些沒有安裝測速裝置和系統(tǒng)(不能通過主動式檢測獲取車速信息的情況)的路段,僅通過被測視頻完成目標(biāo)車輛行駛速度檢測的方法。經(jīng)過測試,該系統(tǒng)具有可重復(fù)性強、操作簡便和測量精度高的特點。當(dāng)然,一種技術(shù)方法不可能解決所有問題,一個問題也不都是僅由一種技術(shù)方法解決的。
[1]李苑,謝賢能.視頻畫面測量中的畫面匹配測量技術(shù)研究[J].中國刑警學(xué)院學(xué)報,2010(3):32-33.
[2]靳慧云,李苑,謝賢能,等.監(jiān)控視頻中目標(biāo)車輛速度被動式測量方法研究[J].測繪通報,2012(8):47-50.
[3]王俊飛,羅大庸.一種新的基于視頻技術(shù)的車速檢測方案[J].自動化技術(shù)與應(yīng)用,2010(3):63-66.
[4]關(guān)曉慧,周志敏.一種復(fù)雜背景下的運動目標(biāo)檢測方法[J].浙江水利水電??茖W(xué)校學(xué)報,2010(1):38-40.
責(zé)任編輯:賈永生
D918.2
A
1009-3192(2016)03-0041-06
2016-04-10
靳慧云,女,河南鄭州人,浙江警察學(xué)院計算機與信息技術(shù)系教授,主要從事網(wǎng)絡(luò)安全與計算機公安應(yīng)用研究;李苑,男,甘肅蘭州人,浙江警察學(xué)院教授,主要從事視頻偵查教學(xué)和研究工作;馬程,男,江蘇無錫人,杭州??低晹?shù)字技術(shù)有限公司工程師,主要從事智能視頻分析研究;張彬,男,重慶人,杭州海康威視數(shù)字技術(shù)有限公司工程師,主要從事windows/ linux下多媒體、智能相關(guān)應(yīng)用的設(shè)計與開發(fā);刁一平,男,浙江杭州人,杭州??低晹?shù)字技術(shù)有限公司工程師,主要從事應(yīng)用軟件技術(shù)研究。
本文為浙江省公益技術(shù)研究社會發(fā)展項目“基于視頻監(jiān)控的目標(biāo)車輛速度被動式測量方法及軟件研究”(2013C33035)研究成果。