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