基于虛擬線(xiàn)的交通信息視頻檢測技術(shù)及應用
摘要:提出一種基于虛擬線(xiàn)的交通參數(車(chē)速、車(chē)輛計數等)視頻檢測方法。通過(guò)檢測在實(shí)時(shí)圖像序列中設置的虛擬線(xiàn),檢測車(chē)輛存在,進(jìn)而計算出車(chē)速、車(chē)流量等交換信息。該方法自適應更新背景和閾值,具有較高的檢測精度和良好的抗干擾性,避免了大量乘法運算,有效地提高了檢測速度,具有良好的實(shí)時(shí)性。
關(guān)鍵詞:虛擬線(xiàn) 背景估計 閾值更新 存在檢測線(xiàn) 速度檢測區
目前,交通問(wèn)題已成為城市發(fā)展的主要制約因素之一。ITS(Intelligent Transportation System)智能交通系統,是指將先進(jìn)的信息技術(shù)、數據通訊技術(shù)、自動(dòng)控制技術(shù)、計算機處理技術(shù)等應用于交通運輸,實(shí)現交通信息管理現代化。目前國內外對ITS已經(jīng)有了較深入的研究和實(shí)踐。近20年的研究表明:實(shí)行ITS,可以使道路的通行能力提高2~3倍,將產(chǎn)生巨大的經(jīng)濟效益和社會(huì )效益。
交通視頻檢測設備是ITS的重要組成部分,它實(shí)時(shí)地檢測交通參數,進(jìn)行數據處理并傳送至交管中心。傳統的檢測方法是在車(chē)道下埋置磁感應線(xiàn)圈,當有車(chē)輛經(jīng)過(guò)時(shí),產(chǎn)生一個(gè)電信號,檢測出這輛車(chē)正在感應線(xiàn)圈的位置。根據一車(chē)輛通過(guò)不同的感應線(xiàn)圈的時(shí)間間隔Δt和兩個(gè)感應線(xiàn)圈之間的距離L,求得車(chē)速v=L/Δt。
本文提出的視頻檢測方法,首先在圖像上設置虛擬線(xiàn),虛擬線(xiàn)的作用與上述磁感應線(xiàn)圈類(lèi)似。根據虛擬線(xiàn)上像素點(diǎn)的數值變化判斷是否有車(chē)經(jīng)過(guò)檢測線(xiàn)。如果當前檢測線(xiàn)上的數值大于背景估計值,則認為有車(chē)輛經(jīng)過(guò)檢測線(xiàn),從而檢測出車(chē)輛。由于背景的變化,必須實(shí)時(shí)更新背景的估計值,才能夠保證檢測的精度。
1 虛擬線(xiàn)檢測算法
視頻車(chē)輛檢測流程如圖1所示,用一個(gè)架設在車(chē)道上方的攝像頭同時(shí)監視多個(gè)車(chē)道,攝像頭采集的圖像以25幀/秒(PAL)的速度進(jìn)入圖像采集模塊,得到數字化的圖像(YUV 4:2:2),數字圖像數據進(jìn)入圖像處理模塊,這個(gè)模塊是整個(gè)系統的核心,實(shí)現對實(shí)時(shí)動(dòng)態(tài)圖像的分析處理,檢測出多項交通信息。圖像處理流程如圖2所示。
1.1 攝像機的安裝與虛擬線(xiàn)的實(shí)際距離
圖3中:φ為攝像機的視場(chǎng)(FOV)角度;
φ/r為一條檢測線(xiàn)對應的角度;
D是一條檢測線(xiàn)對應的實(shí)際距離;
r是圖像的垂直分辨率(一幅圖像的行數)。
實(shí)際應用中,根據圖3所示的視頻角度(FOV),攝像機比較理想的安裝高度應該在7.5m~10m的范圍內,并且保證監視的視場(chǎng)能夠覆蓋1~4條車(chē)道。
在機器視覺(jué)系統中,一行掃描線(xiàn)代表的實(shí)際距離與攝像機的安裝密切相關(guān),本系統中由三個(gè)參數確定,分別是攝像機的安裝高度(h)、光軸與垂直方向的角度及視場(chǎng)(FOV),各參數間的關(guān)系如圖3。式(1)為每條檢測線(xiàn)代表的實(shí)際距離:
D=htan[arctan(d/h) φ/r]-d (1)
由圖3所示幾何關(guān)系,容易得到圖像覆蓋的實(shí)際最大距離為:
dmax=htan[arctan(dmin/h) φ] (2)
顯然攝像機能夠監視的最大距離dmax用安裝高度h、最小距離dmix和FOV角度φ決定。
1.2 背景估計和車(chē)輛檢測
一條道路通常被分為幾條車(chē)道,在每條車(chē)道上分別設置如圖4(圖中數字1,2,3…表示像素點(diǎn))所示的檢測區。每個(gè)檢測區由一條車(chē)輛存在檢測線(xiàn)和緊跟其后的速度檢測區構成。存在檢測線(xiàn)長(cháng)度為50pixel/line,速度檢測區由30條30pixel/line檢測線(xiàn)構成。
判斷存在檢測線(xiàn)上是否有車(chē)通過(guò)的基本原理是:如果當前幀檢測上像素點(diǎn)的灰度值明顯大于背景的估計值,認為這一時(shí)刻檢測線(xiàn)上有車(chē)輛存在,否則認為此刻檢測線(xiàn)上無(wú)車(chē)輛存在。
由于環(huán)境的變化,必須實(shí)時(shí)更新存在檢測線(xiàn)的背景估計值。把一條檢測線(xiàn)上對應五個(gè)不同時(shí)刻(相鄰時(shí)刻的間隔是10幀)的像素點(diǎn)的灰度值存入緩沖區,用lineTn(n=1,2…)表示第n時(shí)刻檢測線(xiàn)上的數據。這樣連續5個(gè)時(shí)刻的數據為一組,通過(guò)對連續兩組數據的比較計算來(lái)更新背景的估計值。例如,當前緩沖區存的是lineT1到linet5,那么輸入的lineT6與lineT1的間隔是50幀(2s,PAL制),這樣在車(chē)速大于20km/h,車(chē)長(cháng)小于1lm的條件下(通常情況下滿(mǎn)足此條件),不可能有同一車(chē)輛既經(jīng)過(guò)lineT1又經(jīng)過(guò)lineT6,定義一個(gè)變量如(3)式:
式(3)中s'I是lineT(1 j)是第i個(gè)像素點(diǎn)的灰度值,si是lineT(6 j)的第i個(gè)像素點(diǎn)的灰度值(j=0,1,2,3,4)。把第一組數據和第二組數據比較,即lineT1與6,2與7,3與8,4與9,5與10分別逐像素點(diǎn)地比較,由式(3)得到5個(gè)變量,然后lineT6~10覆蓋lineT1~5存入緩沖區,用lineT6~10和lineT11~15重復上述計算過(guò)程。通過(guò)比較lineT1~5和lineT6~10兩組數據得到的5個(gè)變量中,第j個(gè)變量Vj最小,令Vmin=Vj,與這個(gè)最小值對應的后一組數據中的lineT(6 j)用于存在檢測線(xiàn)的背景估計。檢測線(xiàn)的背景估計通過(guò)式(4)的經(jīng)驗公式更新。
R'i=ωRi (1-ω)Bi i=1,…,50 (4)
式(4)中Ri是檢測線(xiàn)上第i點(diǎn)的背景估計值,Ri是該點(diǎn)上一次的估計值,Bi是后一組數據中對應于最小變量值Vmin的檢測線(xiàn)上第i點(diǎn)的值。ω是權系數,它決定了上一次的背景估計值對當前背景估計值的影響,(1-ω)決定了對應于Vmin的檢測線(xiàn)數據對于背景估計的影響。如果ω=1,當前背景估計等于上一次背景估計;如果ω=0,當前背景估計完全被對應于Vmin的檢測線(xiàn)數據代替。為了達到實(shí)時(shí)更新背景的目的,ω的值應該較小,但是為了提高抗干擾能力,ω的值應該較大,綜合兩方面的考慮,實(shí)際系統中取固定值ω=0.8。通過(guò)上述計算過(guò)程,檢測線(xiàn)上的背景估計值每隔2s更新一次,對于緩慢變化的環(huán)境,能夠得到實(shí)時(shí)準確的背景估計。
如果一條檢測線(xiàn)上像素點(diǎn)的值比與它比較的檢測線(xiàn)上相應點(diǎn)的值高得多(或低得多),由(3)式得到V',而兩條檢測線(xiàn)上對應點(diǎn)的值基本相同時(shí)得到V’’,那么V'會(huì )明顯大于V'',這就是進(jìn)行車(chē)輛檢測的基本依據。定義變量:
式(5)中Li是當前時(shí)刻檢測線(xiàn)上第I點(diǎn)的值,R'i是背景估計值。
當VD大于選定的閾值時(shí),認為檢測線(xiàn)上有車(chē)輛存在。式(6)是閾值表達式:
T=kVmin (6)
式(6)中Vmin是當前最小的變化值,對應于Bi,k是常數,如果
VD>T (7)
說(shuō)明當前時(shí)刻檢測線(xiàn)上的值大于背景估計值,此時(shí)檢測出有車(chē)輛經(jīng)過(guò)存在檢測線(xiàn)。
1.3 速度檢測
如圖4所示,速度檢測區緊跟在存在檢測線(xiàn)之后,當存在檢測線(xiàn)檢測到有車(chē)輛經(jīng)過(guò)時(shí),觸發(fā)速度檢測區工作。為了避免車(chē)高的影響,當車(chē)輛相對攝像機的監視方向運動(dòng)時(shí),應該按照車(chē)頭的位置計算速度。而當車(chē)輛運動(dòng)方向與攝像機的監視方向相同時(shí),應該按照車(chē)尾的位置計算速度。
以前一種情況為例,一旦檢測到車(chē)輛進(jìn)入速度檢測區,速度檢測模塊依次檢測每條虛擬線(xiàn)(從Line0開(kāi)始),方法與存在檢測算法相同,當檢測到連續兩條虛擬線(xiàn)都沒(méi)有車(chē)輛存在停止。認為這兩條線(xiàn)的前一條就是車(chē)頭的位置l0,下一幀的檢測就從這條線(xiàn)開(kāi)始。一幀一幀重復上述過(guò)程,直到車(chē)頭位置超出了速度檢測區,那么上一幀得到的車(chē)頭位置ln就是車(chē)頭最后的位置。車(chē)速為:
Vf=[(ln-lo)/n]25(lines/s) (8)
計算ln-l0是必須的,因為車(chē)頭的開(kāi)始位置和最后位置在每次測量時(shí)并不是固定的。適當設置30條虛擬線(xiàn)組成的速度檢測區,使ln-l0的最小值是20,則由檢測線(xiàn)引起的最大量化誤差是1/20。
由圖3所示的幾何關(guān)系,(8)式的速度值能夠轉換成m/s為單位的實(shí)際速度,與ln-l0對應的實(shí)際距離為:
D=D0-Dn (9)
式(9)中Δθ=φ/r
θ為line0與垂直方向的角度,則實(shí)際速度為:
V=(D/n)25(m/s) (10)
評論