戚秀真,李娜
(1.長(zhǎng)安大學(xué)信息工程學(xué)院,西安 710064;2.西安郵電大學(xué)通信與信息工程學(xué)院,西安 710121)
基于視頻的車流量統(tǒng)計(jì)算法
戚秀真1,李娜2
(1.長(zhǎng)安大學(xué)信息工程學(xué)院,西安 710064;2.西安郵電大學(xué)通信與信息工程學(xué)院,西安 710121)
提出一種基于視頻的車流量統(tǒng)計(jì)算法,首先采用高斯混合模型建立背景模型,然后采用背景差分法提取前景,通過形態(tài)學(xué)處理得到運(yùn)動(dòng)車輛,接著利用多示例學(xué)習(xí)的方法對(duì)目標(biāo)進(jìn)行跟蹤。在Visual Studio 2008上結(jié)合OpenCV 2.4.4編程實(shí)現(xiàn)并驗(yàn)證該算法,取得較好的效果。
計(jì)算機(jī)視覺;車流量統(tǒng)計(jì);目標(biāo)檢測(cè)
隨著圖像處理技術(shù)的飛速發(fā)展,視頻檢測(cè)逐漸體現(xiàn)出其優(yōu)越性:安裝維護(hù)方便,不破壞路面,不影響道路的正常使用;檢測(cè)范圍廣,能夠檢測(cè)出靜止車輛;系統(tǒng)采用模塊化、結(jié)構(gòu)化設(shè)計(jì),擴(kuò)展性好,運(yùn)行效率高。因此,視頻檢測(cè)技術(shù)在交通監(jiān)控、交通管理等領(lǐng)域得到了廣泛的應(yīng)用[1-2]。
本文在研究國(guó)內(nèi)外相關(guān)技術(shù)的基礎(chǔ)上,提出了一種基于視頻的車流量統(tǒng)計(jì)算法,并在Visual Studio 2008上結(jié)合OpenCV 2.4.4編程實(shí)現(xiàn),取得了較好的效果。
基于視頻的車流量統(tǒng)計(jì)算法主要包括車輛檢測(cè)和車輛跟蹤兩個(gè)部分。首先,讀入視頻序列,利用高斯混合模型(Gaussian Mixture Model,GMM)對(duì)背景建模,然后利用背景差分法,提取前景圖像,并進(jìn)行形態(tài)學(xué)處理,從而檢測(cè)得到運(yùn)動(dòng)目標(biāo)。對(duì)目標(biāo)所在區(qū)域提取Haar-like特征,訓(xùn)練并更新多示例學(xué)習(xí)(Multiple Instance Learning,MIL)分類器,實(shí)現(xiàn)對(duì)目標(biāo)的連續(xù)跟蹤。最后統(tǒng)計(jì)感興趣區(qū)域內(nèi)單位時(shí)間內(nèi)的車輛總數(shù),即得到車流量。
圖1 車流量統(tǒng)計(jì)流程
(1)車輛檢測(cè)
背景建模中較常用的是高斯混合模型,但實(shí)驗(yàn)發(fā)現(xiàn):經(jīng)GMM建模后,利用背景差分法檢測(cè)得到的前景圖像中,車輛內(nèi)部容易出現(xiàn)空洞,這給后續(xù)車輛的檢測(cè)和跟蹤帶來了困難。本文采用GMM結(jié)合背景差分法得到二值化圖像,然后在目標(biāo)像素的鄰域范圍內(nèi),將與目標(biāo)像素具有相似鄰域結(jié)構(gòu)的背景像素標(biāo)記為目標(biāo)像素,這將在一定程度上,填補(bǔ)車輛內(nèi)部空洞,便于對(duì)車輛區(qū)域進(jìn)行進(jìn)一步處理。具體方法如下:
對(duì)于一幅M×N的圖像I,對(duì)坐標(biāo)為(x,y)的像素點(diǎn)求它的絕對(duì)坐標(biāo),記為j,即 j=(y-1)×M+x,因此,(x,y)處的像素點(diǎn)即為像素j。記Wjr表示以像素j為中心、大小為r×(rr為奇數(shù))的搜索窗,像素p是落在這個(gè)搜索窗內(nèi)的像素點(diǎn)。在搜索窗Wjr內(nèi),像素p與像素j之間的相似度djp由下式定義:
其中,h是控制djp衰減程度的參數(shù);v(Nj)表示以像素j為中心、大小為f×f的相似窗Nj上的灰度向量,為利用高斯核函數(shù)定義的像素j和像素p之間的距離,其中,α>0是高斯核函數(shù)的標(biāo)準(zhǔn)差;δj是歸一化常數(shù),具體定義為:
像素p與像素j之間的相似度djp反映了兩個(gè)像素之間鄰域結(jié)構(gòu)的相似性。如果djp越大,說明兩個(gè)像素之間鄰域結(jié)構(gòu)越相似;反之,兩個(gè)像素之間鄰域結(jié)構(gòu)越不相似。如果兩個(gè)像素的鄰域結(jié)構(gòu)很相似,而其中一個(gè)像素點(diǎn)為目標(biāo),那么另一個(gè)像素點(diǎn)也應(yīng)該是目標(biāo)。
經(jīng)過這樣處理后,得到一個(gè)包含更多目標(biāo)信息的二值化圖像,利用腐蝕和膨脹等形態(tài)學(xué)處理方法對(duì)該圖像進(jìn)行處理,去掉離散的點(diǎn),填充小的空洞,然后采用連通域標(biāo)記方法,得到車輛的候選區(qū)域,把距離較近的連通域進(jìn)行合并,把面積較小的連通域進(jìn)行刪除,得到的就是候選目標(biāo)區(qū)域。由于該區(qū)域中可能存在多個(gè)車輛粘連的情況,按照文獻(xiàn)[3]中的方法,利用占空比對(duì)粘連區(qū)域進(jìn)行檢測(cè),然后提取粘連區(qū)域的骨架,檢測(cè)骨架上的角點(diǎn),根據(jù)角點(diǎn)的聚類結(jié)果對(duì)相互遮擋的車輛進(jìn)行準(zhǔn)確分割,最終得到的每一個(gè)連通域就代表著一輛車,由此完成運(yùn)動(dòng)車輛檢測(cè)。
(2)車輛跟蹤
本文采用MIL的方法[4]對(duì)運(yùn)動(dòng)目標(biāo)進(jìn)行跟蹤。在檢測(cè)出的運(yùn)動(dòng)車輛的鄰域內(nèi)提取正包和負(fù)包,通過對(duì)訓(xùn)練包的學(xué)習(xí),得到MIL分類器,然后讀入下一幀圖像,利用訓(xùn)練得到的MIL分類器,在當(dāng)前幀中找到分類器響應(yīng)最大的區(qū)域作為跟蹤結(jié)果,然后在其鄰域內(nèi)提取正包和負(fù)包,更新MIL分類器,在下一幀中判斷目標(biāo)所在位置,如此重復(fù),直到目標(biāo)消失。具體方案如下:
①提取正包和負(fù)包
提取正包和負(fù)包的方法為:在第t幀目標(biāo)所在位置lt*的鄰域內(nèi),找到兩個(gè)圖像集合 Xγ={x:||l(x)-lt*||<γ}和 Xγ,β={x:γ<||l(x)-lt*||<β},將 Xγ作為正包,Xγ,β作為負(fù)包。其中,γ,β分別是正、負(fù)包的選擇半徑,l(x)為圖像塊x的位置,用目標(biāo)中心點(diǎn)坐標(biāo)(x,y)表示。
②訓(xùn)練MIL分類器
第一步,訓(xùn)練M個(gè)弱分類器。每一個(gè)弱分類器hk(x)由特征fk及其所服從分布的參數(shù)唯一確定。假設(shè)p(y=1)=p(y=0),可計(jì)算得到弱分類器hk(x),即:
經(jīng)訓(xùn)練最終得到M個(gè)弱分類器φ={h1,h2,...,hM}。
第二步,構(gòu)造MIL分類器。從M個(gè)弱分類器中依次選擇K個(gè)弱分類器構(gòu)成強(qiáng)分類器,使得包的對(duì)數(shù)似然函數(shù)最大。最終得到的分類器為:
③判斷目標(biāo)在當(dāng)前幀中的位置
在當(dāng)前幀中,根據(jù)前一幀中目標(biāo)位置lt-1*,在其鄰域內(nèi)提取圖像集合,利用MIL分類器計(jì)算出與目標(biāo)相似性最大的圖像塊,并把它的位置作為當(dāng)前幀中目標(biāo)所在位置lt*。
④更新MIL分類器
第一步,更新特征分布的參數(shù)。分別假設(shè)正包和負(fù)包中示例的特征均服從高斯混合模型和單高斯分布,分別更新其均值和方差。
以負(fù)包中示例為例,其特征服從高斯分布:
按下式更新其參數(shù):
其中,μ0,t,σ0,t2為t時(shí)刻高斯分布的均值和方差,為t時(shí)刻負(fù)包中所有示例第k個(gè)特征的均值,為t時(shí)刻負(fù)包中所有示例第k個(gè)特征的方差,0<ζ<1為參數(shù)更新速率,通過目標(biāo)與模型的相似度來定義。
第二步,重新訓(xùn)練M個(gè)弱分類器。
第三步,重新構(gòu)造MIL分類器。
本文在Visual Studio 2008平臺(tái)上,利用機(jī)器視覺庫(kù)OpenCV 2.4.4,編程實(shí)現(xiàn)了該算法,如圖2所示。首先設(shè)定用戶感興趣的區(qū)域,算法自動(dòng)對(duì)感興趣區(qū)域內(nèi)的車輛進(jìn)行檢測(cè)跟蹤和計(jì)數(shù)。對(duì)1小時(shí)視頻內(nèi)的交通量進(jìn)行統(tǒng)計(jì),準(zhǔn)確率可達(dá)95%。分析漏統(tǒng)計(jì)和錯(cuò)統(tǒng)計(jì)的原因主要是車輛之間嚴(yán)重遮擋,以及光線對(duì)背景建模的影響所致。因此,下一步可從提高背景建模準(zhǔn)確率和解決遮擋情況下的跟蹤入手,提高交通量統(tǒng)計(jì)的準(zhǔn)確性。
本文提出了一種基于視頻的車流量統(tǒng)計(jì)算法,采用GMM對(duì)感興趣區(qū)域的背景建模,然后利用背景差分法提取目標(biāo),利用MIL方法對(duì)其進(jìn)行跟蹤,并在Visual Studio 2008上結(jié)合OpenCV編程實(shí)現(xiàn)并驗(yàn)證了該算法。但是當(dāng)目標(biāo)相互遮擋和光線變化時(shí),算法性能有所下降,需要進(jìn)一步深入研究。
圖2 軟件界面
[1]丁兆威.智能交通發(fā)展前景[J].中國(guó)公共安全(綜合版),2008(3):5-7.
[2]陳艷,何春明,智能交通系統(tǒng)應(yīng)用現(xiàn)狀及其存在問題分析[J].交通標(biāo)準(zhǔn)化,2007(8):62-65.
[3]李娜,陳俊艷,劉穎,等.基于骨架角點(diǎn)檢測(cè)的粘連車輛分割[J].西安郵電大學(xué)學(xué)報(bào),2015,20(6):14-18.
[4]李娜,趙祥模,趙鳳,等.基于外觀模型的目標(biāo)跟蹤算法研究進(jìn)展[J].計(jì)算機(jī)工程與科學(xué),2017,39(3):524-533.
Traffic Flow Statistics Algorithm Based on Video
Qi Xiu-zhen1,LI Na2
(1.School of Information Engineering,Chang'an University,Xi'an 710064;2.School of Telecommunications and Information Engineering,Xi'an University of Posts and Telecommunications,Xi'an 710121)
Presents a traffic flow statistics algorithm based on video,firstly,the background model is established by Gaussian mixture model,and then the background subtraction method is used to extract the foreground.After the morphological processing,the moving vehicles are detected.And multiple instance learning is adopted for object tracking.The algorithm is implemented in Visual Studio 2008 combined with OpenCV 2.4.4,and provides good performance.
Computer Vision;Traffic Flow Statistics;Object Detection
陜西省西安市碑林區(qū)科技項(xiàng)目(No.GX1502)
1007-1423(2017)32-0079-03
10.3969/j.issn.1007-1423.2017.32.018
戚秀真(1981-),女,安徽碭山人,博士,研究方向?yàn)橹悄芙煌?、圖像處理
李娜(1981-),女,四川瀘州人,碩士,研究方向?yàn)閳D像處理、模式識(shí)別
2017-08-15
2017-10-28