黃磊
摘 要:車輛檢測系統(tǒng)是智能交通系統(tǒng)的重要環(huán)節(jié),基于視頻圖像的車型識別和車輛檢測技術研究也越來越多。本文以實時視頻為基礎,介紹了一種車輛特征提取算法-彈性松弛袋算法,來提取車輛的車長車高特征,從而實現(xiàn)對車輛的檢測和分類。本文著重介紹了彈性松弛袋算法提取車型特征的程序?qū)崿F(xiàn),通過實驗的結(jié)果,驗證了該算法的可行性。
【關鍵詞】車輛檢測 車輛特征 彈性松弛袋
我國在“十五”綜合交通體系發(fā)展規(guī)劃中明確指出要以可持續(xù)發(fā)展為前提,以市場經(jīng)濟為導向,建立智能交通系統(tǒng)即ITS (Intelligent Transportation Systems)。其中,車輛動態(tài)監(jiān)測和高速公路收費站全自動收費對公路交通自動化程度的提高,促進智能交通系統(tǒng)的發(fā)展具有極其重大的實際意義。而車型檢測和識別技術在車輛動態(tài)監(jiān)測和高速公路全自動收費中起著至關重要的作用。近年來基于圖像處理的視頻車輛檢測方法發(fā)展很快,由于它具有系統(tǒng)設置靈活、檢測區(qū)域大等突出的優(yōu)點,已成為車輛檢測領域研究的一個重點方向。本文的目的是旨在采用“視頻采集和預處理設備+應用軟件”的最小系統(tǒng)結(jié)構模式,實現(xiàn)對車輛的檢測和識別。
1 車輛檢測程序過程分析
在車輛檢測中,通常先使用攝像頭和視頻采集卡來采集AVI視頻流,圖像采集卡接收到視頻圖像信號后,通過采樣和量化將其二值化,實時顯示并逐幀將圖像存入計算機內(nèi)存中。然后通過對這些圖像的分析與處理,提取出車輛的車型特征,即車輛的長度和高度數(shù)據(jù),由此判斷出檢測車輛的車型。
2 車輛特征提取算法-彈性松弛袋算法
通過對車輛檢測程序過程的分析,我們可以得出以下算法:判定車輛存在與該車輛車型特征提取算法——彈性松弛袋算法。
該算法表述如下:
輸入:視頻當前圖像與背景圖像之差,即幀差圖像。
算法處理過程:
(1)在當前背景圖像的右邊建立兩根豎線TAG1和TAG2。其中,TAG1作為車輛的最右端判斷依據(jù),TAG2作為車輛的左端判定依據(jù)。如圖1所示。
(2)當車輛進入到攝像區(qū)域內(nèi)時,檢測到右側(cè)的按列投影將發(fā)生急劇的變化,此時當前列的像素個數(shù)大于deltaA,其中deltaA是一個給定的閾值,只要TAG2始終處于劇烈變化塊中,即TAG2所在列的像素個數(shù)大于deltaA,TAG1便跟隨著急劇變化塊向左端推進。
(3)當上一幀圖片內(nèi)TAG2處在車型塊中,而在當前幀中TAG1沒有處在車型塊中,TAG1不再往左端推進。
(4)此時,可以從投影圖片的右側(cè)開始往左側(cè)尋找,確定車型的右邊界位置,然后繼續(xù)往左尋找,確定車型左側(cè)位置,兩者之差即為車長,如圖2所示。
(5)在第四步處理結(jié)束后,對提取車長length進行后續(xù)處理,跳轉(zhuǎn)到第7步。
(6)將TAG1和TAG2歸位。跳轉(zhuǎn)到第2步。
(7)如果length滿足一定的分類要求,可以作出檢測到某一類型車的判定,否則,認為是無用噪點的影響,直接舍棄。
以上是通過彈性松弛袋算法提取車輛車長的方法,對于提取車輛的車高,只需要將兩根豎線設置為垂直的即可。
3 利用彈性松弛袋算法,提取車輛的車長車高特征,對車輛進行分類
在彈性袋松弛算法中,當一輛車從右至左行駛進入攝像區(qū)域(因為該算法假定如此,當然也可以沿相反方向,結(jié)果一樣)時,偵測到的車長在不斷增大,直到下一幀偵測到的車長小于某個設定的最小值,就認為該車輛的偵測結(jié)束。根據(jù)以上結(jié)論,程序結(jié)構流程圖如圖3所示。
其程序如下:
bool bTag = false;//標志變量,標示是否有下一輛車進入攝像區(qū)域
int preLength = 0;//preLength為前一幀上偵測到的車長
int curLength = 0;//curLength為當前幀上偵測到的車長
int preHeight = 0;//preHeight為前一幀上偵測到的車高
int curHeight = 0;//curHeight為當前幀上偵測到的車高
int minLength = 70;//minLength為系統(tǒng)設定的最小車長
int minHeight = 10;//minHeight為系統(tǒng)設定的最小車高
Trait t = getNextFrame();//Trait為車輛提取特征類
while (t != null)
{ curLength = t.length;
curHeight = t.height;
if (preLength < curLength && curLength > minLength && preHeight < curHeight && curHeight > minHeight)
{ bTag = true;}
else
{ Console.WriteLine(velCheck(curLength, curHeight));
preLength = curLength;//當前幀替換前一幀
preHeight = curHeight;
t = getNextFrame();//getNextFrame()為獲得下一幀圖像的相關信息 }}
//車輛檢測分類
static string velCheck(int length ,int height)
{ string s = "";
if (length>=400 && length <1000 && height>=100 && height<110)
{ s = "公交車";}
if (length >= 270 && length < 400 && height >= 80 && height < 100)
{ s = "小型貨車";}
if (length >= 180 && length < 270&& height >= 60 && height < 80)
{ s = "面包車";}
if (length >= 110 && length < 180 && height >= 40 && height < 60)
{ s = "轎車";}
return s;
}
4 實驗結(jié)果
在實驗中,選用了一段實時視頻,該視頻是由安裝在道路上的攝像機獲取的。在整段實時視頻里,總共有48輛不同類型的汽車。除此之外,還包括了行人、自行車等干擾信號。實驗中采用兩種統(tǒng)計方法,分別是通過人工統(tǒng)計,以及通過提取車輛車長車高信息進行綜合統(tǒng)計。通過實驗后,統(tǒng)計結(jié)果如表1所示。
從表1的實驗結(jié)果可以看出,通過提取車輛車長車高信息進行車輛識別的結(jié)果還是可以接受的。誤差主要是由以下原因造成的:一是建立的背景可能還不夠理想,含有噪點;二是實時視頻中的車輛不是在一個單向的車道上,相向車輛相互影響。
5 結(jié)束語
目前,視頻圖像檢測技術作為一種新興的交通信息檢測技術,在智能交通系統(tǒng)的研究和開發(fā)工作中已經(jīng)得到了廣泛的應用。但是在我國這種技術尚處在起步階段。視頻圖像檢測技術在算法上具有適應能力強和柔性大等特點,本文以彈性松弛袋算法為基礎,分析了車輛進入攝像區(qū)域的整個過程,通過提取車輛的車長車高特征,對車輛進行分類,并取得了不錯的效果。
參考文獻
[1]張全元.基于實時視頻流的車型識別系統(tǒng)設計[J].中國地質(zhì)大學(武漢)碩士學位論文,2007.
[2]王春波,張衛(wèi)東.智能交通系統(tǒng)運動車輛的視覺檢測[J].紅外與毫米波學報,2001(20).
[3]張帆,基于視頻流的車型識別特征提取方法研究[J].中國地質(zhì)大學(武漢)碩士學位論文,2010.
[4]林曉梅,李琳娜.基于小波邊緣檢測的圖象去噪方法[J].光學精密工程,2004.
[5]王耀南等.計算機圖像處理與識別技術[M].北京:高等教育出版社,2001.
[6]范伊紅.基于視頻的車型自動識別系統(tǒng)的實現(xiàn)[D].(學位論文)鄭州:鄭州大學,2006(05).
[7]高大山.智能交通系統(tǒng)中運動目標檢測方法的研究[J].清華大學(碩士學位論文),2002.
作者單位
廣東省高級技工學校 廣東省惠州市 516100