孫耀航 劉 萍
(中國人民解放軍陸軍軍官學(xué)院基礎(chǔ)部計算中心 合肥 230031)
今年“兩會”的政府工作報告中,再一次提到“加快推進(jìn)新型城鎮(zhèn)化”的重要課題。隨著我國城鎮(zhèn)化建設(shè)不斷推進(jìn),私家車數(shù)量以及車輛里程數(shù)的不斷提高,交通擁堵愈發(fā)嚴(yán)重;嚴(yán)重的擁堵增加了車輛能耗,會造成嚴(yán)重的資源浪費和環(huán)境污染[1]。為了提升對現(xiàn)有交通設(shè)施的利用效率,緩解交通壓力,提高能源使用效率,降低環(huán)境污染,從20世紀(jì)60年代開始,以智能交通管理系統(tǒng)為代表的智能交通系統(tǒng)(ITS)[2]得到了廣泛關(guān)注。在智能交通管理系統(tǒng)中,人們有望對路口車輛的數(shù)量進(jìn)行實時監(jiān)控,并且根據(jù)當(dāng)前各方向車輛數(shù)量,對紅綠燈的轉(zhuǎn)換時間進(jìn)行即時調(diào)整。這一改進(jìn)無疑可以減少車輛的等待時間,從而降低擁堵,減少污染。而相比于需要在地下放置傳感器(比如地磁線圈)的智能交通燈,基于路口交通視頻處理的交通燈更能有效利用現(xiàn)有的資源(路口監(jiān)控攝像頭),成本更低,也易于修理維護(hù)。
在傳統(tǒng)的交通系統(tǒng)中,終端(紅綠燈、攝像頭等)采集到的左右信息都傳回控制中心,由控制中心對終端統(tǒng)一“發(fā)號施令”。但是,如果所有視頻流都傳輸回中心進(jìn)行處理,不僅會浪費網(wǎng)絡(luò)帶寬,并且傳輸過程中的丟幀也會使視頻分析變得非常困難。所以,在終端對視頻進(jìn)行分析就變得十分有必要。而因為終端處理器的性能有限,這就要求我們的算法復(fù)雜度低,并且高效。
總體來說,對物體進(jìn)行計數(shù)的算法可以分為以下三類:基于邊緣檢測,基于聚類,或者基于回歸的算法[3]。邊緣檢測算法需要對每個物體進(jìn)行分割,或者尋找每個物體的特征點。所以,邊緣檢測算法不適用于遮擋嚴(yán)重的路口車輛計數(shù);而聚類算法雖然在克服遮擋上優(yōu)于邊緣檢測算法,但是其對靜止物體的識別相對較差。而路口車輛由于需要等待綠燈而常常處于靜止?fàn)顟B(tài),所以聚類算法在此情況下表現(xiàn)較差。而基于回歸的算法直接提取圖像的整體信息,對車流的密度進(jìn)行整體估計。這種方法非常適用路口密集、緩慢的車流。所以,回歸模型更適合在此環(huán)境下進(jìn)行計數(shù)。
如上所述,對物體進(jìn)行計數(shù)的算法可以分為邊緣檢測、聚類檢測以及回歸模型三類。而過去的研究主要將目光聚焦于邊緣檢測和聚類檢測上。浙江工業(yè)大學(xué)的阮體洪[4]提出了一種Haar-like和HOG特征結(jié)合的車輛識別算法;吉林大學(xué)的楊寧[5]則提出了基于邊緣特征的前方車輛識別算法,設(shè)想以霍夫變換對前方車輛的頂部進(jìn)行識別;中國海洋大學(xué)的王蕾[6]提出了一種基于Harris角點檢測的車輛識別技術(shù)。對于本文所設(shè)想的環(huán)境來說,這些方法的共同缺陷,在于對遮擋情況沒有進(jìn)行處理,進(jìn)行實驗的視頻中,車輛密度很低,便于提取特征點,所以顯然缺乏實用性。
同時我們注意到,在之前的研究中,回歸模型大多用于對擁擠場景下的人數(shù)進(jìn)行檢測。比如Davies等[7]首先提出了一個線性回歸模型,用于從照片中抓取整體特征,估計人群中的人數(shù)。Chan等[8]提出了一個視角歸一化的方法,同時采取多種互補(bǔ)的特征進(jìn)行特征提取,有效提高了計數(shù)精度。謝輝等提出了基于半監(jiān)督學(xué)習(xí)的計數(shù)方法,通過交互學(xué)習(xí),可以發(fā)現(xiàn)更多的未標(biāo)記數(shù)據(jù)。這一方法在視頻視角復(fù)雜,不便于標(biāo)記的情況下表現(xiàn)較為良好。近幾年,卷積神經(jīng)網(wǎng)絡(luò)(CNN)[9]在跨視角人群計數(shù)上得到了廣泛的應(yīng)用。CNN的原理是通過給定的數(shù)據(jù)集訓(xùn)練神經(jīng)網(wǎng)絡(luò),然后使用訓(xùn)練完善的特征模板,可以對陌生場景進(jìn)行識別。
然而,現(xiàn)有的利用回歸模型對車輛進(jìn)行計數(shù)的方法非常稀少,因為相比于人,車輛的特點更加多元化。根據(jù)我們的研究,只有一個三級級聯(lián)回歸模型和一個基于兩層分類的回歸模型被用于車輛計數(shù)[10],而此研究關(guān)注高速公路上的車輛計數(shù),與路口車輛密度不可同日而語。而更多的研究則關(guān)注一些粗略的交通參數(shù),例如擁堵狀況、車輛速度等。
在本論文中,我們嘗試解決利用交通視頻對路口車輛數(shù)量進(jìn)行計數(shù)的問題。問題的主要困難在于:
1)車輛的外形特征多樣,提取適用性強(qiáng)的特征有困難;
2)路口車輛密度變化較大,使用單一的回歸模型易造成統(tǒng)計結(jié)果不準(zhǔn)確。
以上兩個問題,是造成路口車輛計數(shù)困難的主要原因。在本次研究中,提取多種特征對場景進(jìn)行描述,以此解決單一特征有可能造成計數(shù)不準(zhǔn)確的問題;針對路口車輛密度變化較大的問題,提出一種新的計數(shù)模型——密度敏感的回歸模型,根據(jù)路面上車輛密度的不同,靈活地采取對應(yīng)的子模型。
圖1 路口車輛計數(shù)方法框架
圖1展示了本文方法的框架??梢钥吹剑痉椒ㄖ饕袃蓚€步驟:1)特征提??;2)車輛數(shù)目統(tǒng)計。在特征提取階段,提取視頻圖像ROI的邊緣特征和紋理特征;之后利用SVM分類器對車輛密度進(jìn)行辨別。最后,根據(jù)路口車輛密度的估計,對低密度情況利用線性回歸模型進(jìn)行計數(shù),對高密度情況利用高斯過程回歸模型進(jìn)行計數(shù)。
圖2 回歸模型計數(shù)原理
在介紹本文提出方法的細(xì)節(jié)之前,有必要對回歸模型進(jìn)行簡要的說明。通過回歸模型進(jìn)行計數(shù)避免了對場景中的每一個對象進(jìn)行分割,轉(zhuǎn)而從被計數(shù)對象組成的集群中提取整體性特征。因為其過程中不包含分割對象或者追蹤單一對象的運(yùn)動軌跡,所以回歸模型計數(shù)非常適用于在擁擠的環(huán)境中進(jìn)行計數(shù),因為在此環(huán)境下,邊緣檢測或者運(yùn)動軌跡檢測的性能被極大地限制了。
Davies等最早對使用回歸模型計數(shù)進(jìn)行了探索。他們首先截取視頻圖像的幾個幀,然后從每個幀中抓取粗糙的特征,比如前景像素、邊緣特征等。之后,再從粗糙特征中抓取前景區(qū)域、邊緣總數(shù)等整體特征。然后,利用一個線性回歸模型在整體特征和場景人數(shù)之間建立一個映射。對回歸模型計數(shù)的改進(jìn)主要聚焦在如何選取整體特征,以及使用哪種回歸模型,而回歸模型計數(shù)的原理基本沒有變化。圖2比較形象地展示了回歸模型計數(shù)的原理。
3.3.1 邊緣特征
邊緣特征可以較為清楚地展示圖像的局部特征,同時對密度的變化比較敏感。可以直觀地認(rèn)為,低密度情況下可以得到較為粗糙的邊緣特征,而高密度情況則得到比較精細(xì)的邊緣特征。由于高密度遮擋比較嚴(yán)重,邊緣特征在此情況下準(zhǔn)確性有所下降。本文使用Canny算子進(jìn)行邊緣檢測,利用高斯平滑濾波器進(jìn)行降噪,我們使用的高斯內(nèi)核如式(1)所示:
由于需要記錄邊緣的像素值和梯度,用以下公式計算梯度幅值和方向:
3.3.2 紋理特征
紋理特征對交通場景中車輛的密度非常敏感,在高密度情況下紋理特征對場景的描繪遠(yuǎn)優(yōu)于邊緣特征。所以在車輛密度較高的情況下,我們選用紋理特征進(jìn)行統(tǒng)計。有兩種紋理特征廣泛用于物體數(shù)量統(tǒng)計——GLCM算子和LBP算子。因為LBP算子較為簡單有效,在本文中使用LBP算子。因為對MPEG格式的視頻進(jìn)行處理,MPEG格式視頻圖像的基本單位為宏塊(MB),每個MB對應(yīng)的LBP算子由其鄰接的8個MB算出。將需計算的MB定義為Bij,其LBP的計算公式為
其中Nij代表Bij的鄰接MB的集合,Bk表示N中的每個MB,k=0,1,…,7。d()是用于比較兩個運(yùn)動向量(MV)間相似程度的函數(shù),d的定義是
s()是一個符號函數(shù):
在這里Ts是一個臨界值。在實驗期間,我們令Ts=0.9。
我們采用回歸作為車輛計數(shù)的模型。為了使實驗結(jié)果真實可靠,從合肥徽州大道與望江路路口實時采集了視頻圖像(此路口為主干道路口,車流繁忙擁擠,符合真實狀況)??梢钥吹皆诟叻迤冢嚯x、視角與車輛密度的關(guān)系比較復(fù)雜,并非簡單的線性關(guān)系。造成這種復(fù)雜條件的原因有:1)車輛前部的視覺特征、尺寸差異較大;2)監(jiān)控攝像頭視域較寬。同時需要注意的是,路口車輛密度隨時間(紅綠燈交替、高峰期低谷期交替)變化很大,而密度較低的情況和密度較高的情況適用的回歸模型不同,所以采用單一回歸模型是行不通的。
基于以上情況,提出基于SVM的回歸模型,其原理在圖1進(jìn)行了展示。首先利用SVM將交通場景分為高密度和低密度兩種情況。在本實驗中,SVM采用RBF核函數(shù)。在場景分為兩種情況后,對低密度情況使用計算量小的線性回歸模型計數(shù),對遮擋嚴(yán)重、不適用線性回歸模型高密度情況使用高斯過程回歸模型進(jìn)行計數(shù)。本實驗中,高斯回歸模型的協(xié)方差函數(shù)如下:
本式中δij是一個符號函數(shù),我們規(guī)定當(dāng)i=j時δij=0,其他情況δij=1。規(guī)定參數(shù)組θ=(a0,a1,a2,a3,a4,a5)為參數(shù)組,其中a0,a1為線性趨勢,a2捕捉局部非線性情況,后面幾個參數(shù)對圖像噪聲進(jìn)行處理。
我們使用WSC-7R1W戶外監(jiān)控攝像頭對徽州大道-望江路口進(jìn)行實地拍攝,圖像處理硬件平臺為聯(lián)想T420S筆記本,搭載英特爾i5 2.50GHz處理器,4GB RAM,軟件平臺為Microsoft Visual Studio 2013。
為了保證實驗符合實際情況,實地拍攝了徽州大道與望江路十字路口的車流視頻用于實驗。圖3反映了路口車輛狀況。我們以16為臨界值,路口車輛數(shù)目大于16為密集情況。
圖3 前景分割
表1 各基于回歸模型的計數(shù)方法標(biāo)準(zhǔn)偏差
使用監(jiān)控視頻圖像對各方法進(jìn)行測試,視頻分辨率為640×480,25fps,分別以200,600和800張截圖為測試集。為了保證實驗客觀,分別對使用邊緣+紋理特征的高斯過程回歸(GPR)模型和線性回歸(LR)模型,使用邊緣特征的LR模型、紋理特征的GPR模型以及本文方法,利用SVM對低密度情況使用LR模型,對高密度情況使用GPR模型進(jìn)行了比較。可以看到,隨著測試集擴(kuò)大,抓取單一特征的回歸模型標(biāo)準(zhǔn)偏差較高(LR模型1.822,GPR模型1.247),而本文方法和使用邊緣+紋理特征的GPR模型標(biāo)準(zhǔn)偏差較為相近,低于0.5。但是根據(jù)進(jìn)程開銷,LR開銷僅為GPR的39.6%,所以在車流較稀疏的交通低谷期本文方法的開銷大大低于使用邊緣+紋理特征的GPR回歸模型。由于交通路口的計算設(shè)備性能較為有限,所以本文方法比參考方法更加適用。
針對車輛外觀多樣、路口車流密度變化較大、視頻處理受網(wǎng)絡(luò)帶寬限制等問題,我們提出了基于SVM回歸模型的路口車輛計數(shù)方法。首先提取視頻圖像ROI中車輛的邊緣特征和紋理特征,利用SVM對車輛密度進(jìn)行辨別,最后對低密度情況使用線性回歸模型進(jìn)行計數(shù),對高密度情況使用高斯過程回歸模型(GPR)進(jìn)行計數(shù)。實驗證明,本方法對路口車輛數(shù)量統(tǒng)計比較精確,同時算法開銷較小,速度較快,有效地說明了本文方法的優(yōu)越性。