張禮雄,張忠林
(蘭州交通大學 電子與信息工程學院,甘肅 蘭州 730070)
隨著智能交通系統(ITS)和智能車輛監控系統[1]的迅速發展,車輛自動檢測及跟蹤具有重要作用[2]。文中主要研究在攝像機靜止-物體運動的情況下,根據道路監控實時采集視頻并檢測車輛位置。
傳統的基于圖像特征的車輛檢測與跟蹤技術采取了車輛顯著的視覺特性、統計特性、變更系數特性和代數特性。運動檢測方法主要有三種,分別是幀間差分法[3]、光流場法[4]和背景差法[5]。王栓等[6]采用幀間差分法[7]來檢測運動物體;Ryuzo Okada等[8]改進了光流法,根據各個像素點的速度矢量特征,對圖像進行動態分析;丁業兵等[9]提出改進的Camshift目標跟蹤算法,能更好地跟蹤多色彩目標[10];楊龍文等[11]提出一種利用HOG特征和Adaboost檢測和混合粒子濾波(MPF)相結合的觀測模型算法;劉翔等[12]提出了一種基于卡爾曼濾波思想的改進碼本模型目標檢測算法,能在視頻流的靜態幀中較好地檢測出車輛。
在已有研究的基礎上,文中提出一種對監控下車輛進行檢測與跟蹤的方法,基于車輛的視覺特性,聯合Adaboost和幀差算法對車輛進行檢測,檢測成果使用基于熵值法求權重的混合模型進行處理,在檢測到車輛后,使用KCF算法對車輛進行追蹤。通過對采集的實際道路環境的視頻信息處理和分析,進行自然背景下的車輛識別和跟蹤。
道路交通監控以快球監控為主,首先對公路的車道線進行檢測,提取出攝像頭所在的車道,去除反方向的車道以及車道外的其他環境和物體的影響。在識別出車道兩邊的車道線后,以左右兩車道線為邊界,取出中間的公路部分并提取。
由于Adaboost算法[13]可以對較為完整的車身進行檢測,但在汽車出入視野只有小部分車身時,檢測效果不佳。幀差法可以對移動的物體很好地進行檢測,但是當背景環境變化及車輛靜止時,卻很難進行檢測。針對以上兩種方法的優劣,建立一種熵值法加權的Adaboost和幀差檢測模型,將兩者結合,檢測出視野內的車輛。
KCF是一種辨別式追蹤方法,該方法一般都是在追蹤過程中訓練一個目標檢測器,使用目標檢測器去檢測下一幀預估位置是否為目標,然后再使用新檢測成果去更新訓練集進而更新目標檢測器。在檢測出車輛后,將每一個車輛分別作為一個目標檢測器,對下一幀預測目標是否存在的情況下預測其位置,實現對當前視野下的所有車輛進行追蹤。
標準的高速公路和合規的等級公路兩側存在平行的一對車道線。車輛的檢測和跟蹤僅需識別當前檢測的單車道或者多車道上的車輛。
圖像的灰度改變主要取決于邊緣檢測。車道線大多是階梯形邊緣,若變度曲面在這個點是N階不連續的,那么階梯形邊緣是一階不連續的,所以運用梯度求解算子來獲取車道線的邊緣信息,而Sobel算子具有較高的時間性能及計算效果。

(1)

(2)
式1和式2為Sobel的卷積核,對原圖像進行了卷積。
(3)
(4)
式3和式4表示圖像f(x,y)在(x,y)處的梯度和方向角。
測驗過程中,th為設定的一個閾值,當f(x,y)
針對拍攝特點,獲取的車道路面被處理為背景,圖像分割的閾值必須大于此值。將包括車道線的前段分割出來,突顯車道線以及灰度較一致的區域位置,而邊緣檢測獲得包含車道線的邊緣圖像,如圖1所示。

圖1 車道線檢測
由于干擾的存在不便于車道線的擬合,采取迭代最小二乘方式擬合車道標志點。同時,假設只檢測拍攝車道的雙邊的車道線,所用車道模型運用直線模型。以左車道線為例,迭代最小二乘法剔除非車道線標記點的步驟如下:
(1)對車道線全部i個點的集合{(x1,y1),(x2,y2),…,(xi,yi)},進行一階最小二乘擬合,獲取擬合參數kl、bl和擬合誤差均值el。
(2)將{xl(i)}代入由上一步獲得擬合參數方程,計算其擬合值{yl(i)}。
(3)計算擬合值與檢測點真實值的絕對差,當yl(i)-xl(i)≤pth時,則[xl(i),yl(i)]∈LeftLine,否則[xl(i),yl(i)]?LeftLine,并剔除。其中pth為一設定的較小像素閾值,LeftLine為左車道線標記點集合。
(4)LeftLine對中車道線標記點集重新運用最小二乘擬合,重新計算其擬合參數kl、bl和擬合誤差el,若‖el‖≥δ,則[xl(i),yl(i)]∈LeftLine,轉至第2步,否則停止。
(5)存儲kl、bl。
Adaboost是一種迭代算法,主要思想是針對同一個訓練集訓練不同的弱分類器,然后把這些弱分類器進行組合,構成一個更強的分類器。
3.1.1 Haar-like特性
常用Haar-like特性分為線性特性、邊緣特性和中心特性三類。特征模板內有黑白兩種顏色的矩形,每種矩形特征值定義為減去黑色矩形像素和白色矩形像素的和。Haar-like反映了圖像的灰度改變情況,對光照、噪聲等具有較好的魯棒性。常用Haar-like特征如圖2所示。

圖2 Haar-like特征
汽車尾部包括車牌、車標等重要信息,而且汽車尾部在視頻檢測中成像非常居中,便于Haar-like特性的提取和匹配。因此文中大量采集汽車尾部圖像,提取汽車尾部Haar-like特性,作為正樣本來訓練分類器。
3.1.2 分類器訓練
給定訓練樣本集{(x1,y1),(x2,y2),…,(xn,yn)},其中n為樣本數目,xi為訓練樣本,yi(yi∈{0,1})為樣本描述。設正樣本個數為α,負樣本個數為β。
1.初始化樣本xi的權重。
(5)
2.設弱分類器的個數為T,在整個樣本集上,對t=1,2,…,T進行如下操作:
(1)歸一化樣本權重。
(6)
(2)針對每個特性f,訓練一個弱分類器hf,計算該特征的弱分類器的加權錯誤率。
(7)
(3)選出并采取擁有最小錯誤率et的弱分類器ht。
(8)
(4)重新更新調整樣本權重,得到:
(9)

3.最后生成強分類器。
(10)
訓練過程如圖3所示。
圖像差分法是將兩幀圖像對應像素點的灰度值相減,假若圖像中某處的灰度改變比較大,則可認為這是由圖像中的運動物體引起的,反之,則認為景物是靜止的。由于公路監控器處于絕對靜止狀態,故差分法相對穩定,考慮到光線及周圍環境的變化[14],取當前幀的前n幀作為背景,并不斷更新背景圖,運用擴展補償得到運動區域,然后利用分類器檢測。

圖3 各種車型訓練
設I(x,y,t)為t時的圖像序列,選取視頻序列的兩幀I(x,y,t),I(x,y,t-n),利用式11對其作幀間差分:
Dt,t-n(x,y)=|I(x,y,t)-I(x,y,t-n)|
(11)
選取合適的閾值T對獲得的差分圖像Dt,t-n(x,y)進行二值化,如下式:
(12)
得到的結果如圖4所示。

圖4 幀差檢測法所得結果
在信息論中,熵是對不確定性的一種衡量。隨著信息量的增大,對應的不確定性就減小,熵也就越小。根據熵的特征,運用熵值法求解各指標因子的權重,根據歸納得分求出汽車的位置。
1.選取n種方法(這里n=2),m個汽車可能存在的位置,則xij(a,b)為第i種方法求出的第j輛汽車的位置,i=1,2,…,n,j=1,2,…,m,其中(a,b)表示汽車存在的位置的中心點坐標。
2.指標的歸一化處理:異質指標同質化。
在計算歸納指標前,先對各項指標進行標準化處理,使各項指標的計量單元一致。并令xij(a,b)=|xij(a,b)|,從而解決了各項不同質指標值的同質化問題。又因為正向指標數值越高越好,負向指標數值越低越好,所以用不同的算法對高低指標進行數據標準化處理。具體方法如下所示:
正向指標:
(13)
負向指標:
(14)

3.計算第j輛汽車下第i種算法占該指標的比重。
(15)
4.計算第j輛汽車的熵值。
(16)
其中,k=1/ln(n),滿足eij≥0。
5.計算信息熵冗余度。
dj=1-ej
(17)
6.計算各項指標的權值。
(18)
7.計算每輛車的綜合得分。
(19)
KCF(kernerlized correlation filter)跟蹤算法使得數據矩陣變成了一個循環矩陣。然后基于循環矩陣的特征把問題的求解變更到了傅里葉變換域,從而避免了矩陣求逆的過程,大大減少了算法的復雜度,且提高了檢測速率。
圖像進行循環偏移的方式可以得到一些類似的負樣本作為訓練樣本進行訓練。通過循環偏移獲得的圖像在邊界處并不是很平滑,通過對base圖像乘以一個漢寧窗來降低邊緣圖像的權重。
(20)
循環矩陣具有的性質是可以被離散傅里葉變換對角化,如式(21)所示:
(21)

樣本訓練過程是一個正則化最小二乘問題。假設給定一些回歸值{(x1,y1),(x2,y2),…,(xn,yn)},訓練的最終目標是找到一個w,使得函數f(z)=wTz能夠最小化樣本x和目標y之間的最小二乘誤差,如式22所示:
(22)
其中,λ為正則化參數。
式22閉式解的復數形式為:
w=(XH+λI)-1XHy
(23)
其中,XH=(X*)T。
為檢測可能的圖像位置,需要檢測多個candidate patch,這些patch可通過循環矩陣得到。由于樣本和patches[15]分別是由base samplex和base patchz循環偏移得到的,構建的所有訓練樣本和候選樣本之間的核矩陣為Kz=C(kxz),其中每一個元素可以表達為k(Pi-1z,Pj-1x)。
基于測試樣本z的循環偏移構成的所有測試樣本的響應為:
f(z)=(Kz)Tα
(24)
式24是一個vector,包含所有z的循環偏移的響應值。根據循環偏移的性質,將式24變換到DFT域:
(25)
對文中提出的檢測與追蹤算法進行實驗。在對Adaboost分類器進行訓練時,通過搜集不同情況下的訓練樣本,建立樣本庫:包含車輛尾部的正樣本400幅,其中公交車和面包車120幅、轎車240幅,其他車輛40幅;不包含車輛的負樣本100幅。將正樣本歸一化到24×24,便于計算其特征。其檢測追蹤結果如圖5所示。
為了檢驗該算法的準確性,在同一條件下,對同一車輛分別使用光流法、背景建模法和文中算法進行處理,結果如表1所示。

圖5 檢測與追蹤效果圖

算法實際車流量/輛檢測車輛/輛檢測率/%檢測時間/s光流法40036290.514.847背景建模法40035488.511.548文中算法40038295.58.564
可以看出,在同樣環境下,光流法的準確率略高于背景建模法,而文中算法的準確率均高于兩者;在耗時上,背景建模法略大于文中算法,光流法的耗時最大,效率最低。
實驗結果證明,相比于傳統的一些方法,基于熵值法求權重的Adaboost和幀差檢測模型及改進的KCF算法更具有實用性,還能有效減少每幀檢測時間,提高檢測率,檢測率達95.5%。
為了提高行駛車輛檢測與追蹤的準確性、時效性,提出了一個基于熵值法求權重的Adaboost和幀差法的混合檢測算法,并通過實驗對其進行了驗證。實驗結果表明,該算法能夠有效提高檢測率,具備一定的實用
性,可以運用于交通路口的監控,給社會提供更安全可靠的服務。