, ,,,
(浙江工業(yè)大學(xué) 計算機科學(xué)與技術(shù)學(xué)院,杭州 310023)
融合ViBe與幀差法的交叉路口多車輛檢測方法
高飛,高炎,徐云靜,盧書芳,肖剛
(浙江工業(yè)大學(xué)計算機科學(xué)與技術(shù)學(xué)院,杭州310023)
前景檢測的精確程度是交叉路口車輛檢測的重要因素,傳統(tǒng)的基于背景建模的前景檢測方法存在拖影現(xiàn)象,并且通常難以分辨出無牌車輛,針對上述問題,提出一種融合ViBe與幀差法的前景檢測算法,并在此基礎(chǔ)上結(jié)合車牌檢測算法來檢測場景當中的車輛;首先,結(jié)合幀差法和ViBe算法對背景像素點的判定結(jié)果,采用不同更新因子更新背景模型,其次,使用一種多條件過濾車牌檢測算法定位運動區(qū)域當中車牌,最后,以檢測到的車牌中心為錨點,定位出最終車牌區(qū)域;實驗結(jié)果表明,該前景檢測算法可有效應(yīng)對交叉路口場景下的前景檢測的拖影現(xiàn)象,同時車輛檢測算法可以準確檢測出進入場景時的車輛,并分辨出無牌車輛。
前景檢測;車牌檢測;車輛檢測;智能交通
基于視頻分析的交通車輛違章檢測系統(tǒng)是智能交通領(lǐng)域的研究熱點之一,其中車輛檢測是基礎(chǔ)和關(guān)鍵技術(shù)之一,為后續(xù)車輛跟蹤以及車輛違章檢測提供前提,如何準確而又及時地檢測出經(jīng)過路口的車輛成為研究的重點。
通常,交叉路口監(jiān)控視頻分辨率高,背景復(fù)雜,直接在全圖中檢測車輛往往耗時嚴重,準確率也不高,因此常用的方法主要為對視頻進行背景建模,提取出前景區(qū)域,并在這些區(qū)域內(nèi)進一步做車輛檢測。
目前國內(nèi)外常用的背景提取方法有:1)背景減除法[1-2],利用當前幀與參照的背景幀(或背景模型)之間的差異來檢測運動目標;由于只需要簡單比較像素之間的差異,因此該方法的速度非常快,但是由于光照等環(huán)境因素的變化,參照的背景模型需要持續(xù)更新,并且更新算法的好差對檢測結(jié)果的影響很大;另一方面,該方法對于噪聲干擾的魯棒性也不好,需結(jié)合濾波、形態(tài)學(xué)變化等去噪方法來使用;2)幀差法[3],作為最常用的目標檢測算法,使用相鄰幀進行差分,保留差異較大的像素作為運動目標;該方法具有對運動變化敏感的優(yōu)勢,但目標內(nèi)部會留下空洞部分;3)參數(shù)化模型的方法,混合高斯模型[4](gaussian mixture model,GMM),該類方法利用統(tǒng)計原理,為每個像素點構(gòu)建單個或多個高斯分布模型,從而分離出前景目標,是目前常用的背景提取方法之一,但由于該方法基于對歷史像素點的概率統(tǒng)計,當車輛啟動或者驟停時,不能快速把車輛前景提取中提取出來,另外該方法也存在計算量大的問題,難以應(yīng)對高分辨率視頻;4)直接計算背景像素值,如中值法、均值法[5]等,該類方法雖然計算效率較高,但是易受到周期性噪聲干擾的影響,場景細微擾動比如相機抖動也會對其產(chǎn)生影響。
提取出前景區(qū)域之后,需要將其分割為單一的車輛。文獻[6]結(jié)合Grubcut以及光流場,基于前景目標顏色相似度對車輛進行分割,但是光流場的計算復(fù)雜,不適合實時檢測;文獻[7](contour feature point, CFP)根據(jù)前景區(qū)域的輪廓特征對車輛進行分割,但實際場景中由于光照產(chǎn)生的陰影等原因,車輛之間的重疊區(qū)域并不一定是凹多邊形,從而無法準確分割;文獻[8](vehicles skeleton corner, VSC)通過對前景區(qū)域骨架角點進行檢測及聚類來分割車輛,該方法依賴于精確的骨架檢測算法以及角點的檢測結(jié)果,但實際情況是角點與車輛骨架并非嚴格對應(yīng),從而造成分割結(jié)果出現(xiàn)偏差;文獻[9]使用Adaboost訓(xùn)練車輛模型,在GMM分離得到的二值前景圖中檢測車輛,該算法對于車輛粘連的情況效果不理想。
上述方法都被成功應(yīng)用于各種不同的場合,并具有一定的適應(yīng)性,但對于城市交叉路口監(jiān)控視頻中的車輛檢測應(yīng)用來說,目前多數(shù)路口都采用高清相機進行監(jiān)控,上述前景檢測方法存在計算量大的問題,無法滿足實時性要求;在車輛檢測階段,上述方法多采用在檢測到的前景上進行車輛檢測,沒有有效利用原始視頻的信息,因此對于車輛檢測的結(jié)果不夠精確,并且也無法做到于無牌車輛的判斷。針對現(xiàn)有方法的不足,提出一種融合ViBe[10]與幀差法的交叉路口多車輛檢測方法。
算法融合幀差法對于細微運動變化敏感的特點以及ViBe算法計算量小,結(jié)果準確的特點,其算法流如圖1所示。
圖1 背景提取算法流程示意圖
首先在背景初始化階段使用ViBe算法對初始背景進行建模,并保留前一幀數(shù)據(jù)以用于幀差法;在背景更新階段,通過幀差法標記可能為前景的區(qū)域,其中前進區(qū)域標記為1,非前景區(qū)域標記為0,ViBe背景模型根據(jù)當前像素點與背景模型像素集的匹配次數(shù)是否大于最小閾值#min判別是否為前景,其中1表示背景,0表示前景。根據(jù)幀差法與ViBe算法結(jié)果組合,產(chǎn)生以4種情況,對用不同的Φ取值,見表1。
表1 4種情況下Φ的取值
算法結(jié)合幀差法對背景區(qū)域的判定結(jié)果,對Φ的取值列為不同的等級,以快速對運動區(qū)域變化做出反應(yīng)。當ViBe算法和幀差法都認為像素點為背景時,調(diào)整Φ=1,立即對背景進行更新;當ViBe算法和幀差法都認為像素點為前景時,調(diào)整Φ=128,即以一個較小的概率更新背景,在實際使用時,該值可以調(diào)整為更??;當ViBe算法認為像素點是背景,而幀差法認為是前景,則對ViBe的檢測結(jié)果更加信任,調(diào)整Φ=16,以默認的更新因子更新;當ViBe算法認為是前景而幀差法認為是背景,則可能是Ghost區(qū)域,調(diào)整Φ=5以一個較大的概率更新背景,快速去除Ghost區(qū)域。
對得到的前景區(qū)域,經(jīng)過膨脹形態(tài)學(xué)操作后,以面積為條件,先去除那些明顯不是車輛的小團塊區(qū)域。以這些前景區(qū)域為掩碼,在原始視頻中進行快速車牌檢測。
2.1 快速車牌定位算法
在前一節(jié)中得到了車輛的前景區(qū)域,以這些候選區(qū)域為掩碼,在原始輸入圖像中得到對應(yīng)的區(qū)域Isub,并對Isub做BGR三通道分離,得到分別對應(yīng)于藍色通道、紅色通道和綠色通道和的灰度圖Gb,Gg,和Gr,根據(jù)式(1)計算得到灰度圖Gsub:
Gsub=Gr-α*Gb
(1)
其中:α表示光照系數(shù),對于藍牌和紅牌,α取不同光照系數(shù)。對Gsub使用最大類間方差法做二值化操作,得到對應(yīng)二值圖Bsub,并使用大小為11*1,錨點在(5,0)處的矩形結(jié)構(gòu)元算子對Bsub進行膨脹操作,以填充車牌內(nèi)部的字符區(qū)域。采用輪廓提取算法對Bsub進行輪廓提取,得到輪廓集合S={Ci|i=1,2,…,m},其中Ci={(xj,yj)|j=1,2,...n}表示集合S中第i個輪廓,(x,y)表示輪廓中的點,n表示點的個數(shù),m表示集合S中的輪廓數(shù)量。對于幾個S中的每個輪廓Ci,按照如下步驟過濾:
1)按面積條件過濾。計算Ci的最小外接矩形Ri=(xi,yi,wi,hi):
xi=min{(xi,yi)|i=1,2,...n}
yi=min{(xi,yi)|i=1,2,...,n}
wi=max{(xi,yi)|i=1,2,...n}-xi
hi=max{(xi,yi)|i=1,2,...,n}-yi
(2)
其中:(xi,yi)表示外接矩形的左上角,(wi,hi)表示其寬和高。A=wi*hi為外接矩形的面積,從S中剔除不滿足φ*As 2)按寬高比條件過濾。計算輪廓Ci外接矩形的寬高比ri=wi/hi,將那些不滿足u 3)灰度跳變過濾。根據(jù)外接矩形Ri從Gsub中截取對應(yīng)的子圖Ki,根據(jù)式(3)計算子圖Ki中對應(yīng)的灰度跳變行數(shù)Ji: (3) 式中,(wi,hi)分別為Ri的寬高,ω表示單行跳變閾值,跳變行數(shù)Ji表示子圖Ki滿足單行跳變閾值的行數(shù),GKi,x,y表示子圖Ki在橫坐標為x、縱坐標為y處的像素點的灰度值。將那些不滿足Ji<θ的輪廓從S中剔除,其中θ表示跳變行數(shù)閾值。 4)經(jīng)上述步驟過濾,最終S中剩下的輪廓Ci以及對應(yīng)的外接矩形Ri即為最終車牌的輪廓和其外接矩形。 2.2 車牌與車輛位置關(guān)系分析 對于獲得的車牌區(qū)域,如圖2所示的3種情況: 圖2 車與車牌位置關(guān)系的3種情況 其中:w表示前景區(qū)域最小包絡(luò)矩形R的寬,dl表示車牌位置左邊界與R左邊界的距離,dr表示車牌位置右邊界域R右邊界的距離,(px,py,pw,ph)分別代表車牌區(qū)域左上角坐標以及寬和高,根據(jù)下式可以區(qū)分車牌在左側(cè)、中間還是右側(cè)3種情況: (4) 其中:ζ是一個閾值系數(shù),根據(jù)實際情況,取ζ=1/2即可區(qū)分出車牌的位置。根據(jù)3種情況,分別調(diào)整車牌區(qū)域的左上角坐標: (5) 經(jīng)過以上變換,把車牌相對車輛的位置都變換到了中間這種情況,因此,車輛的矩形框(Bx,By,Bw,Bh)可以通過下式近似得出: Bx=px′-pw By=py-ph*5 Bw=pw*3.4 Bh=ph*9 (6) 3.1 改進ViBe算法背景提取 實驗選取了兩段某交叉路口的監(jiān)控視頻,其中視頻1為車輛從運動狀態(tài)逐漸停止的過程,視頻2為車輛從停止狀態(tài)到起步的過程,分別如圖3與圖4所示。 圖3 車輛從運動到停止狀態(tài) 圖4 車輛從運動到停止狀態(tài) 從圖3可以看到,在第135幀附近,車輛開始停止,到第165幀,ViBe算法還能看到車輛的前景區(qū)域,而改進算法的前景區(qū)域已經(jīng)基本消失。在圖4中,車輛從136幀開始啟動,到第174幀附近,改進算法已經(jīng)基本消除了Ghost區(qū)域,而ViBe算法還留有明顯的Ghost區(qū)域。 3.2 車輛檢測 實驗選取了分辨率為2 714*1 606的某城市交叉路口監(jiān)控視頻,在Windows 10 系統(tǒng)下,配置為Intel(R) Core(TM) i5-4590 CPU @3.30GHZ,8GB RAM的計算機上進行實驗對CFP, VSC, GMM+Adaboost以及基于改進ViBe的交叉路口多車輛檢測方法進行了實驗(Multi-vehicle Detection Based on Improve ViBe, 以下簡稱MVD-ViBe),選取#4825幀分析,如圖5所示,其中圖5(f)為手工標定的真實車輛區(qū)域。 圖5 車輛檢測效果對比 4.1 定量與定性分析 在圖5(b)與圖5(c)中,可以看出CFP算法與VSC算法檢測車輛的效果不錯,但是對于車輛邊緣,尤其是陰影部分的去除并不理想;在圖5(d)中Adaboost算法存在漏檢情況和誤檢情況,其中誤檢情況可能因電瓶車尾燈與汽車尾燈較為接近導(dǎo)致;在圖5(e)中MVD-ViBe除檢測車身邊緣與手工標定區(qū)域有差異外,車輛均完成檢測到。 對上述算法進行定量分析,采用準確率(Pacc)、誤檢率(Pfalse)、漏檢率(Pmiss)3個指標對車輛檢測進行評價,上述3個指標公式如下: (7) (8) (9) 其中:OR指真實(手工標定)區(qū)域,SR指檢測區(qū)域,SOR指重疊部分,根據(jù)式(7)(8)(9)計算上述算法的車輛檢測性能,見表2。 表2 算法性能比較 通過表2可以看出,MDV-ViBe在準確率以及誤檢率方面都是優(yōu)于其他車輛檢測算法的,在漏檢率方面,由于是直接通過車牌比例關(guān)系來定位車身的,車身邊緣與實際并非吻合,因此漏檢率會上升,但并不影響對車輛的檢測結(jié)果。后續(xù)工作可以結(jié)合前景檢測結(jié)果來精確定位車身邊緣。在單幀耗時方面,MDV-ViBe也優(yōu)于其余算法,能達到實時檢測的要求。 實驗選還取了4段分辨率為2 714*1 606的某城市交叉路口監(jiān)控視頻,使用MDV-ViBe統(tǒng)計了每段視頻中車輛檢測正確率,見表3。 表3 車輛檢測結(jié)果統(tǒng)計 綜合表3中的數(shù)據(jù),4個視頻中對于交叉路口車輛檢測的正確率為94.0%,平均每幀的處理時間約為31.9 ms。從表4中可以看到3種算法對于藍牌的正確率都在90%以上,可以滿足實際使用的要求。 4.2 算法局限性 此外,經(jīng)實驗發(fā)現(xiàn)提出的車輛檢測算法仍然具有一定的局限性,表現(xiàn)在當后車車輛如果遮擋了前車車輛的車牌,那么對于前車的檢測就會失效,如圖6所示,途中由于紅色車輛被后面大車擋住車牌,故無法檢測到。從實際的應(yīng)用角度出發(fā),前車車輛在整個過程中只要有一幀露出車牌即有很大的概率被檢測到,而自始至終被遮擋車牌的情況畢竟少數(shù)。從另一方面來說,如果前車車牌無法被捕捉到,那么即使違章了也無法找到車主,因此在這種情況下即使沒有檢測到車輛也沒有關(guān)系。 圖6 算法局限性 在融合幀差法和ViBe算法各自的優(yōu)點的基礎(chǔ)上,提出一種改進的ViBe前景檢測算法,在此基礎(chǔ)上,結(jié)合一種快速車牌檢測算法,對運動區(qū)域當中的車牌進行檢測,并把結(jié)果還原到原圖中,檢測出車輛的位置。實驗證明該車輛檢測算法相比與已有的車輛檢測算法有著較高的準確率較快的檢測速度,適合交叉路口實時檢測環(huán)境。 [1]張小駿, 劉志鏡, 陳 昆. 一種基于像素梯度信息的背景減除法[J]. 計算機科學(xué), 2015, 42(8):300-304. [2]邵奇可, 周 宇, 李 路,等. 復(fù)雜場景下自適應(yīng)背景減除算法[J]. 中國圖象圖形學(xué)報, 2015, 20(6):756-763. [3]周 曉, 方玖琳, 鄭定超. 基于三幀差分和滑動平均背景的運動目標檢測[J]. 計算機測量與控制, 2016, 24(5):32-34. [4]於正強, 潘 赟, 宦若虹. 一種結(jié)合幀差法和混合高斯的運動檢測算法[J]. 計算機應(yīng)用與軟件, 2015(4):129-132. [5]劉妍江, 智 敏. 基于碼本和運行期均值法的雙層背景建模方法[J]. 計算機工程與科學(xué), 2016(6):1220-1224. [6]呼延秀娟, 梁 英. 基于光流場和Grabcut算法融合的運動目標分割[J]. 電子技術(shù), 2015(2):3-6. [7]朱世松, 樊菁芳, 朱洪錦. 基于輪廓特征點的重疊車輛檢測與分割[J]. 計算機工程, 2016, 42(7):244-250. [8]李=娜, 陳俊艷, 劉 穎,等. 基于骨架角點檢測的粘連車輛分割[J]. 西安郵電大學(xué)學(xué)報, 2015, 20(6):14-18. [9]王相海, 秦鉅鰲, 方玲玲. 基于感興趣區(qū)域AdaBoost分類器的視頻車輛檢測研究[J]. 遼寧師范大學(xué)學(xué)報(自然科學(xué)版), 2014(1):52-62. [10]Barnich O, Van D M. ViBe: a universal background subtraction algorithm for video sequences.[J]. IEEE Transactions on Image Processing, 2011, 20(6):1709-24. MultiVehicleDetectionBasedonViBeandFrameDifferenceMethod Gao Fei,Gao Yan,Xu Yunjing,Lu Shufang,Xiao Gang (College of Computer Science and Technology, Zhejiang University of Technology, Hangzhou 310023, China) The accuracy of foreground detection is an important factor to the intersection of vehicle detection. There’s ghost phenomenon in traditional foreground detection method based on background modeling, and it’s difficult to distinguish unlicensed vehicles. Aiming at the above problems, put forward a foreground detection method based on ViBe and frame difference, and combining with license plate detection result to detect vehicles in scene. Firstly, using different factor to update background model depend on the result of frame difference method and the ViBe algorithm. Secondly, a multi condition filter is applied to detect license plate in foreground. Finally, take the center of license plate as the anchor to locate vehicle area. The experimental results show that multi vehicle detection based on ViBe and frame difference method can effectively deal with the ghost phenomenon in intersection scene, at the same time the vehicle detection algorithm can accurately detect vehicles enters the scene, and identify unlicensed vehicles. foreground detection; license plate detection; vehicle detection; intelligent transportation system 2017-04-14; 2017-05-03。 國家自然科學(xué)基金項目(61272310, 61402410);浙江省自然科學(xué)基金項目(LQ14F020004, LY13F020029)。 高 飛(1974-),男,四川鄰水人,博士生導(dǎo)師,主要從事計算機視覺、圖像處理方向的研究。 1671-4598(2017)10-0035-04 10.16526/j.cnki.11-4762/tp.2017.10.010 TP391.41 A3 實驗結(jié)果與分析
4 算法討論
5 結(jié)論