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

(1)

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

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

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

3.最后生成強(qiáng)分類器。
(10)
訓(xùn)練過程如圖3所示。
圖像差分法是將兩幀圖像對(duì)應(yīng)像素點(diǎn)的灰度值相減,假若圖像中某處的灰度改變比較大,則可認(rèn)為這是由圖像中的運(yùn)動(dòng)物體引起的,反之,則認(rèn)為景物是靜止的。由于公路監(jiān)控器處于絕對(duì)靜止?fàn)顟B(tài),故差分法相對(duì)穩(wěn)定,考慮到光線及周圍環(huán)境的變化[14],取當(dāng)前幀的前n幀作為背景,并不斷更新背景圖,運(yùn)用擴(kuò)展補(bǔ)償?shù)玫竭\(yùn)動(dòng)區(qū)域,然后利用分類器檢測(cè)。

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

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

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

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

圖5 檢測(cè)與追蹤效果圖

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