呂揚(yáng)建,李光耀
基于視頻分析的車流量統(tǒng)計(jì)算法研究
*呂揚(yáng)建,李光耀
(同濟(jì)大學(xué)電子與信息工程學(xué)院,上海 201804)
車流量統(tǒng)計(jì)作為智能交通系統(tǒng)的關(guān)鍵技術(shù)之一,逐漸成為研究的熱點(diǎn)。主要研究了基于虛擬線圈的車流量統(tǒng)計(jì)算法和基于目標(biāo)跟蹤的車流量統(tǒng)計(jì)算法,綜合了兩種算法的優(yōu)勢,結(jié)合Canny算子邊緣檢測算法、均值背景建模法和背景差分法等技術(shù),提出了一種基于質(zhì)心的車流量統(tǒng)計(jì)綜合算法。實(shí)驗(yàn)結(jié)果表明綜合算法在實(shí)時(shí)性和準(zhǔn)確性方面均取得較好的實(shí)驗(yàn)結(jié)果。
智能交通系統(tǒng);車流量;虛擬線圈;目標(biāo)跟蹤
隨著我國經(jīng)濟(jì)的飛速發(fā)展,我國的城市交通量也驟然增加,于是基于視頻分析的智能交通系統(tǒng)的重要性日益顯著[1],車流量統(tǒng)計(jì)作為智能交通系統(tǒng)的關(guān)鍵技術(shù)之一,逐漸成為研究的重要領(lǐng)域。車流量統(tǒng)計(jì)可以為道路智能化調(diào)度管理提供依據(jù),從而減少道路擁塞,提高路面資源的利用率。目前有很多種方法來進(jìn)行車流量統(tǒng)計(jì),例如:電磁感應(yīng)裝置法和超聲波檢測法。然而,車輛在行駛過程中,車輛速度、方向始終變化,所以普遍存在反射信號不穩(wěn)定,測量誤差大的問題?;谝曨l分析的車流量統(tǒng)計(jì)算法適應(yīng)性強(qiáng)且容易維護(hù),目前已經(jīng)開始應(yīng)用于智能交通監(jiān)控系統(tǒng)中[2]。90年代開始,基于視頻分析的車流量統(tǒng)計(jì)產(chǎn)品開始進(jìn)入商業(yè)化應(yīng)用,美國的ISS公司生產(chǎn)的AUTOSCOPE系統(tǒng)和日本 Sumitomo 公司的 IDET是其中比較有代表性的[3]。與其相比,國內(nèi)對基于視頻分析的車流量統(tǒng)計(jì)技術(shù)的研究起步較晚,但是由于我國城市交通越來越擁堵,近些年也對這方面的研究加大投入,如清華紫光和清華大學(xué)聯(lián)合開發(fā)的車流量統(tǒng)計(jì)系統(tǒng)VS3001[4]和廈門恒深智能有些公司開發(fā)的車流量統(tǒng)計(jì)系統(tǒng)HeadSunSmartViewer-II[5]
本文以獲取道路的車流量為目標(biāo),研究基于視頻分析的車輛車流量統(tǒng)計(jì)技術(shù),討論了現(xiàn)有的兩種常用的車流量統(tǒng)計(jì)算法:基于虛擬線圈的車流量統(tǒng)計(jì)算法[6-7]和基于目標(biāo)跟蹤的車流量統(tǒng)計(jì)算法[8-9]。一般評價(jià)一個(gè)基于視頻分析的車流量統(tǒng)計(jì)算法有兩個(gè)重要的評價(jià)指標(biāo):實(shí)時(shí)性和準(zhǔn)確性[10],本文也主要從這兩個(gè)角度來評價(jià)算法,通過改進(jìn),提出了一種基于質(zhì)心的車流量統(tǒng)計(jì)綜合算法。本文還介紹了實(shí)現(xiàn)該方法所要用到的一些關(guān)鍵方法和步驟:Canny算子邊緣檢測算法、均值背景建模法和背景差分法,并且通過實(shí)驗(yàn)對比驗(yàn)證了本文所改進(jìn)算法的優(yōu)越性。
智能交通系統(tǒng)中對車流量統(tǒng)計(jì)有很高的實(shí)時(shí)性要求。因此,在大多數(shù)采用車流量統(tǒng)計(jì)算法中很少對提取的整個(gè)監(jiān)控圖像進(jìn)行檢測和分析,通常都是進(jìn)行基于感興趣區(qū)域的局部檢測[11],即基于虛擬線圈檢測。虛擬線圈概念與傳統(tǒng)的物理線圈對應(yīng)的,實(shí)際上是指圖像中設(shè)置一塊矩形區(qū)域,也就是我們所感興趣的區(qū)域,如圖1所示。該區(qū)域的選取一般是根據(jù)道路的結(jié)構(gòu)特征和環(huán)境而定的。如果采用背景差分法檢測運(yùn)動(dòng)車輛,在檢測結(jié)果中,用像素值0表示背景,對應(yīng)圖像中的黑色區(qū)域,用像素值255表示運(yùn)動(dòng)車輛,對應(yīng)圖像中的白色區(qū)域。當(dāng)車輛經(jīng)過虛擬線圈的過程中,該區(qū)域便會(huì)呈現(xiàn)黑-白-黑的變化。因此,在圖像中設(shè)置虛擬線圈,通過檢測虛擬線圈中像素的變化便可檢測出車流量。
車輛沿箭頭方向行駛,虛擬線圈設(shè)置于車道中央,大小與車體基本相同。由于一個(gè)車輛在經(jīng)過虛擬線圈的時(shí)候?qū)σ欢芜B續(xù)圖像幀序列進(jìn)行處理,為了避免對一輛車輛重復(fù)計(jì)數(shù),引入一個(gè)狀態(tài)變量state,當(dāng)有車輛在虛擬線圈內(nèi)時(shí),狀態(tài)變量state=1,當(dāng)虛擬線圈內(nèi)沒有車輛時(shí),狀態(tài)變量state=0,根據(jù)以下的規(guī)則來判定是否有車通過虛擬線圈:
圖1 基于虛擬線圈的車流量統(tǒng)計(jì)算法效果圖
1)上一幀狀態(tài)變量state=0,當(dāng)前幀與背景模板作對比,當(dāng)突變像素點(diǎn)的數(shù)量<虛擬線圈內(nèi)像素總數(shù)的10%,設(shè)置當(dāng)前幀狀態(tài)變量state=0,表明沒有車經(jīng)過;
2)上一幀狀態(tài)變量state=0,當(dāng)前幀與背景模板作對比,當(dāng)突變像素點(diǎn)的數(shù)量>虛擬線圈內(nèi)像素總數(shù)的10%,設(shè)置當(dāng)前幀狀態(tài)變量state=1,表明有車輛進(jìn)入到該區(qū)域;
3)上一幀狀態(tài)變量state=1,當(dāng)前幀與背景模板作對比,當(dāng)突變像素點(diǎn)的數(shù)量>虛擬線圈內(nèi)像素總數(shù)的10%,設(shè)置當(dāng)前幀狀態(tài)變量state=1,表明該車還沒有駛出該區(qū)域;
4)上一幀狀態(tài)變量state=1,當(dāng)前幀與背景模板作對比,當(dāng)突變像素點(diǎn)的數(shù)量<虛擬線圈內(nèi)像素總數(shù)的10%,設(shè)置當(dāng)前幀狀態(tài)變量state=0,表明車已經(jīng)駛出[12]。
當(dāng)車輛通過虛擬線圈時(shí),從駛?cè)胩摂M線圈到駛離虛擬線圈的過程中,虛擬線圈內(nèi)的目標(biāo)像素個(gè)數(shù)會(huì)隨著車輛的運(yùn)動(dòng)呈現(xiàn)出有規(guī)律的周期變化:從理論上來說,當(dāng)車輛剛開始駛?cè)胩摂M線圈時(shí),目標(biāo)像素個(gè)數(shù)從零開始逐漸增加;當(dāng)車輛完全被虛擬線圈覆蓋時(shí),目標(biāo)像素個(gè)數(shù)達(dá)到峰值;當(dāng)車輛開始駛離虛擬線圈時(shí),目標(biāo)像素點(diǎn)開始逐漸減少,當(dāng)完全離開虛擬線圈,目標(biāo)像素個(gè)數(shù)變?yōu)榱恪?/p>
基于目標(biāo)跟蹤的車流量統(tǒng)計(jì)算法主要思想是對連續(xù)的圖像幀序列進(jìn)行分析,在相鄰幀之間根據(jù)車輛的特有屬性(如大小、形狀、位置等)進(jìn)行相關(guān)聯(lián)。也就是在當(dāng)前幀獲得所需要的目標(biāo)像素后,在相鄰的下一幀中尋找與其相匹配的目標(biāo)像素,以此來獲取目標(biāo)的運(yùn)動(dòng)軌跡,為更加深入的圖像處理研究提供基礎(chǔ)[13]。圖2是基于目標(biāo)跟蹤的車流量統(tǒng)計(jì)算法的效果圖。
圖2 基于目標(biāo)跟蹤車輛檢測算法效果圖
基于目標(biāo)跟蹤的車流量統(tǒng)計(jì)算法主要是在檢測區(qū)域中對運(yùn)動(dòng)目標(biāo)進(jìn)行檢測、匹配和跟蹤,確定車輛的運(yùn)動(dòng)軌跡,根據(jù)車輛運(yùn)動(dòng)軌跡的持續(xù)性完成車輛目標(biāo)計(jì)數(shù)。進(jìn)行圖形的預(yù)處理后,首先要進(jìn)行目標(biāo)檢測,進(jìn)行目標(biāo)檢測的目的是將汽車從圖像中提取出來,能否正確地分離運(yùn)動(dòng)的汽車是基于目標(biāo)跟蹤車輛計(jì)數(shù)方法的關(guān)鍵。提取出運(yùn)動(dòng)的汽車后,對連通區(qū)域進(jìn)行標(biāo)記,畫出連通區(qū)域的最小外接矩形。在此基礎(chǔ)上進(jìn)行標(biāo)跟蹤,根據(jù)汽車的有效特征,通過一些匹配算法,在序列圖像上找出與汽車模版最相似的位置,給汽車定位,基于目標(biāo)跟蹤的車流量統(tǒng)計(jì)算法的總體流程如下:
圖3 檢測算法流程圖
在算法的時(shí)間復(fù)雜度方面,基于目標(biāo)跟蹤的車流量統(tǒng)計(jì)算法需要進(jìn)行車輛檢測,而且檢測完后需要根據(jù)車輛的特有屬性來進(jìn)行車輛目標(biāo)跟蹤,所以時(shí)間復(fù)雜度比較高,實(shí)時(shí)性不強(qiáng);而基于虛擬線圈的車流量統(tǒng)計(jì)算法僅僅是對圖像中某些感興趣區(qū)域的像素進(jìn)行提取并分析,同時(shí)算法簡單[14],所以時(shí)間復(fù)雜度比較低,實(shí)時(shí)性較強(qiáng)。
在車流量統(tǒng)計(jì)的準(zhǔn)確性方面,基于目標(biāo)跟蹤的車流量統(tǒng)計(jì)算法可以根據(jù)需要剔除那些面積小的目標(biāo),減少行人、自行車等非感興趣目標(biāo)的干擾,所以車流量統(tǒng)計(jì)的準(zhǔn)確性較高,此外,基于目標(biāo)跟蹤的車流量統(tǒng)計(jì)算法通過目標(biāo)跟蹤獲得了車輛目標(biāo)的軌跡和準(zhǔn)確位置,為車速測量和車型分類等研究課題打好了基礎(chǔ)。而基于虛擬線圈的車流量統(tǒng)計(jì)算法獲得車輛目標(biāo)的信息較少,而且容易受到外界環(huán)境的影響從而影響車流量統(tǒng)計(jì)的準(zhǔn)確性。
綜合以上分析,兩種常用車輛計(jì)數(shù)算法各有優(yōu)缺點(diǎn),基于目標(biāo)跟蹤的車流量統(tǒng)計(jì)算法在時(shí)間復(fù)雜度方面比較有優(yōu)勢,而基于虛擬線圈的車流量統(tǒng)計(jì)算法在車流量統(tǒng)計(jì)的準(zhǔn)確性方面表現(xiàn)的更加突出。
傳統(tǒng)Canny算子邊緣檢測算法主要包括4個(gè)部分:圖像濾波、計(jì)算圖像梯度、抑制梯度非極大值、檢測和連接邊緣。
1)對圖像進(jìn)行平滑濾波
Canny算法首先用二維高斯函數(shù)的一階導(dǎo)數(shù),對圖像進(jìn)行平滑濾波,所選二維高斯函數(shù)如下:
其對應(yīng)的梯度矢量為:
2)計(jì)算圖像梯度
傳統(tǒng)Canny算法采用2×2 鄰域一階偏導(dǎo)的差分來計(jì)算經(jīng)過平滑濾波后的數(shù)據(jù)陣列 I(x, y)的梯度幅值和方向。其中,x 方向和y 方向的偏導(dǎo)數(shù)的兩個(gè)陣列Gx[i,j]和Gy[i,j]分別為:
那么利用二階范數(shù)來計(jì)算梯度幅度為
梯度方向?yàn)?
3)抑制梯度非極大值
傳統(tǒng)Canny算法抑制梯度非極大值是遍歷圖像每一個(gè)梯度幅度非零的點(diǎn),查找沿其梯度方向的相鄰像素點(diǎn),如果該點(diǎn)梯度幅度小于相鄰像素點(diǎn)的梯度幅度,則此點(diǎn)不是邊緣點(diǎn)。否則,則為候選邊緣點(diǎn)。
4)檢測和連接邊緣
傳統(tǒng)Canny算法選用高、低兩個(gè)閾值Vh和Vl對候選邊緣點(diǎn)做進(jìn)一步的處理,如果候選邊緣點(diǎn)的梯度幅度大于高閾值Vh,則一定是邊緣點(diǎn);如果候選邊緣點(diǎn)的梯度幅度小于低閾值Vl,則一定非邊緣點(diǎn);介于高閾值Vh和低閾值Vl之間的候選邊緣點(diǎn)如果與上述得到的邊緣點(diǎn)有鄰接,則也是邊緣點(diǎn)[15]。
均值背景建模法主要是把連續(xù)的N幀視頻幀序列存儲(chǔ)起來,并且計(jì)算同一個(gè)點(diǎn)像素值的平均值,其計(jì)算公式為:
背景差分法主要是用當(dāng)前幀減去背景幀,從而獲得所需要的前景目標(biāo)。設(shè)P(i,j)表示當(dāng)前幀,B(i,j)表示背景圖像[16],則差分圖像D(i,j)表示為:
由于受到光照、天氣情況等影響,所以背景幀要定時(shí)更新。圖3是進(jìn)行背景建模和背景差分的示意圖。
本文采用的基于質(zhì)心的車流量統(tǒng)計(jì)綜合算法,在車輛目標(biāo)的檢測階段采用基于目標(biāo)跟蹤的車流量統(tǒng)計(jì)算法,當(dāng)檢測到車輛目標(biāo)后,改用基于目標(biāo)跟蹤的車輛計(jì)數(shù)算法,對車輛進(jìn)行跟蹤,當(dāng)跟蹤的持續(xù)性大于某一閾值時(shí),車流量的統(tǒng)計(jì)數(shù)加一。
算法總體思想描述:首先在車道上設(shè)置一個(gè)檢測區(qū)域ROI,對虛擬線圈區(qū)域進(jìn)行分析,根據(jù)虛擬線圈區(qū)域的變化來判斷虛擬線圈區(qū)域內(nèi)有否車輛通過,此時(shí)執(zhí)行的是基于虛擬線圈的車輛計(jì)數(shù)算法;當(dāng)檢測到有車輛通過時(shí),切換到基于目標(biāo)跟蹤的車流量統(tǒng)計(jì)算法,首先對汽車進(jìn)行輪廓提取,提取出車輛的輪廓信息,本文采用的基于Canny算子的邊緣檢測法來提取車輛的輪廓信息;然后根據(jù)找到的車輛輪廓畫出其矩形邊界,得到矩形邊界后我們就可以確定包圍汽車矩形邊界的質(zhì)心;根據(jù)同一個(gè)車輛目標(biāo)在連續(xù)圖像幀序列中的質(zhì)心來跟蹤車輛目標(biāo);當(dāng)跟蹤同一輛車輛的持續(xù)時(shí)間大于某一閾值時(shí),車流量統(tǒng)計(jì)數(shù)加一。
本文采用的綜合汽車檢測算法相較于兩種常用的車流量統(tǒng)計(jì)算法,主要有兩點(diǎn)改進(jìn):
(1)發(fā)揮了兩種常用的車流量統(tǒng)計(jì)算法各自的優(yōu)點(diǎn),當(dāng)沒有檢測通過時(shí),采用基于虛擬線圈的車流量統(tǒng)計(jì)算法,發(fā)揮了此算法在時(shí)間復(fù)雜度方面的優(yōu)勢,當(dāng)檢測到有車輛通過時(shí),進(jìn)行車輛跟蹤,從而提高了車流量統(tǒng)計(jì)的準(zhǔn)確性,并且為后續(xù)的研究做好基礎(chǔ)性工作。
(2)本文采用車輛跟蹤方法是根據(jù)當(dāng)前幀中車輛目標(biāo)的質(zhì)心位置和相鄰的下一幀中目標(biāo)車輛的質(zhì)心位置做比較,如果兩者的質(zhì)心位置小于某一閾值,則認(rèn)為是同一輛車輛,繼續(xù)跟蹤這輛車輛。如果大于某一閾值,則認(rèn)為是剛進(jìn)入的車輛。其中基于質(zhì)心的車輛目標(biāo)跟蹤方法如下:
①在畫出車輛輪廓的外接矩形邊界后,我們可以得到外接矩形邊界左下角的坐標(biāo)為(,),矩形的長度為l,寬度為,設(shè)車輛輪廓的質(zhì)心坐標(biāo)為(C,C)。并且把C、Cy保存到數(shù)組[],[],車流量為。其中:
②在檢測區(qū)域ROI內(nèi),檢測是否有新的車輛進(jìn)來。
其中dis是車輛跟蹤的距離閾值。
為了證明本文所提出綜合算法的有效性和優(yōu)點(diǎn),本文利用OpenCV在VS2010平臺上進(jìn)行仿真分析,程序運(yùn)行效果如圖4所示。
(a)原始圖 (b)背景圖
(c)前景圖 (d)跟蹤目標(biāo)圖
圖5 程序運(yùn)行效果圖
Fig.5 Effect chart of program running
為了驗(yàn)證本文提出的算法在車輛統(tǒng)計(jì)的準(zhǔn)確性和實(shí)時(shí)性,實(shí)驗(yàn)數(shù)據(jù)采用了不同場景下30分鐘和45分鐘的交通視頻流。本文提出算法與基于虛擬線圈的車流量統(tǒng)計(jì)算法和基于目標(biāo)跟蹤的車流量統(tǒng)計(jì)算法在兩個(gè)場景Scene1,Scene2下,對車輛識別率和處理幀速度兩方面進(jìn)行了對比測試,得到車流量統(tǒng)計(jì)結(jié)果如表1所示。
表1 車流量統(tǒng)計(jì)結(jié)果圖
從表1可以看出,本文所改進(jìn)的算法在兩個(gè)場景中都識別率較高,跟基于目標(biāo)跟蹤的車流量統(tǒng)計(jì)算法的識別率相差不大,而每秒處理幀的數(shù)量較基于虛擬線圈的車流量統(tǒng)計(jì)算法有比較大的提高,在車流量統(tǒng)計(jì)的準(zhǔn)確性方面和時(shí)間復(fù)雜度的兩方面都達(dá)到了比較好的結(jié)果,達(dá)到了算法預(yù)期的設(shè)計(jì)目的,總體效果還是令人十分滿意的。
本文對現(xiàn)有的兩種常用車流量統(tǒng)計(jì)算法進(jìn)行了對比和分析,提出了了一種基于質(zhì)心的車流量統(tǒng)計(jì)綜合算法,從實(shí)驗(yàn)結(jié)果可以看出,本文提出的改進(jìn)算法能夠滿足車流量統(tǒng)計(jì)的實(shí)時(shí)性要求,同時(shí)又具有較高的準(zhǔn)確度。然而,同現(xiàn)有的許多方法一樣,本文的方法在夜間和惡劣環(huán)境(如大雨、大雪等)下的路面上并不能得到較高的準(zhǔn)確性,也是目前這個(gè)研究領(lǐng)域公認(rèn)的難題,這也是本文作者繼續(xù)研究的方向。
[1] 張帥,崔本亮,黃學(xué)達(dá). 視頻檢測技術(shù)在公路車流量檢測系統(tǒng)中的應(yīng)用[J].實(shí)驗(yàn)室研究與探索,2012,31(10):64- 66.
[2] Wang Guolin,Xiao Deyun,Gu J. Review on vehicle detection based on video for traffic surveillance[C]. IEEE International Conference on Automation and Logistics,2008: 2961-2966.
[3] 王榮.智能交通系統(tǒng)中的一些算法的研究與實(shí)現(xiàn)[D].成都:四川大學(xué),2011.
[4] 朱志剛,徐光佑.VISATARAM:全天候自動(dòng)交通檢測視覺系統(tǒng)[C].北京智能交通系統(tǒng)發(fā)展趨勢國際學(xué)術(shù)研討會(huì)論文集,1997.
[5] Haritaoglu I, Harwood D, Davis L. W4: Real-time surveillance of people and their activities [J]. IEEE Trans Pattern Analysis and Machine Intelligence, 2000, 22 (8): 809-830.
[6] 張飛 ,王庫 ,史小磊.基于機(jī)器視覺的公路車流量檢測系統(tǒng)研究[J]. 微計(jì)算機(jī)信息.2008,24(2):138-140.
[7] 墨芹.運(yùn)動(dòng)車輛視頻檢測與車流量檢測方法的研究[D].長沙:中南大學(xué),2012.
[8] 王曉.基于視頻圖像處理與跟蹤的公交客流檢測技術(shù)研究[D].青島:中國海洋大學(xué),2005.
[9] 田立明.基于視頻的高速公路車流量檢測系統(tǒng)研究與實(shí)現(xiàn)[D].濟(jì)南:山東大學(xué),2012。
[10] 譚曉軍,沈偉,郭志豪. 一種基于視頻的道路交通流量監(jiān)測方法[J].計(jì)算機(jī)應(yīng)用技術(shù).,2005, 25(5):1215-1218.
[11] 王勃,賈克斌.基于視頻分析的車流量綜合檢測算法[J]. 交通信息與安全, 2010, 28 (1): 20-25.
[12] 王小鵬,郭莉瓊.公路車流量視頻檢測方法[J].計(jì)算機(jī)應(yīng)用,2012,32(6) : 1585 -1588.
[13] 肖文明,基于DSP的車流量視頻檢測技術(shù)及其實(shí)現(xiàn)研究[D].昆明:云南大學(xué),2011.
[14] 李天坤,基于視頻檢測技術(shù)的車流量檢測算法研究[D].長春:吉林大學(xué),2011.
[15] 蘇恒陽,袁先珍,一種改進(jìn)的Canny的圖像邊緣檢測算法[J].計(jì)算機(jī)仿真,2010,27(10):242-245.
[16] 崔鳳英,基于視頻的車流量檢測算法研究[D].青島:青島科技大學(xué),2007.
THE ALGORITHM RESEARCH OF TRAFFIC FLOW MEASURING BASED ON VIDEO ANALYSIS
*Lü Yang-jian,LI Guang-yao
(School of Electronics and Information,Tongji University,Shanghai 201804,China;)
Statistics of the traffic flow, as one of the key technology of intelligent transportation system, gradually become a research hotspot. We mainly studied two kinds of existing algorithms for statistics of the traffic flow: traffic statistics algorithm based on virtual loop and traffic statistics algorithm based on target tracking. Furthermore, we integrated the advantages of both methods and combined with some technology Canny operator edge detection algorithm, the mean background modeling method and background difference method. Finally, we proposed an improved traffic statistics algorithm based on mass. Experimental results show that integrated algorithm achieves good results in real-time and accuracy.
intelligent transport system ; traffic flow;virtual loop;target tracking
TP391
A
10.3969/j.issn.1674-8085.2013.04.010
1674-8085(2013)04-0046-06
2013-04-18;
2013-05-25
上海市科委國際合作基金資助項(xiàng)目(10510712500)
*呂揚(yáng)建(1990-),男,浙江溫州人,碩士生,主要從事圖形處理、虛擬現(xiàn)實(shí)研究(E-mail: 343784928@qq.com);
李光耀(1965-),男,安徽安慶人,教授,博導(dǎo),主要從事大規(guī)模城建模與仿真、數(shù)據(jù)挖掘研究(E-mail:lgy@#edu.cn).