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