林立原,陳 林
(武漢科技大學(xué)信息科學(xué)與工程學(xué)院,湖北 武漢,430081)
基于高斯混合模型和卡爾曼濾波的車輛檢測與跟蹤方法
林立原,陳 林
(武漢科技大學(xué)信息科學(xué)與工程學(xué)院,湖北 武漢,430081)
提出一種改進(jìn)的車輛檢測與跟蹤方法。在目標(biāo)檢測階段,針對傳統(tǒng)高斯混合建模算法對環(huán)境變化適應(yīng)能力較差的問題,設(shè)計(jì)一個環(huán)境變化判斷因子,據(jù)此進(jìn)行高斯混合模型更新率的自動切換;在車輛跟蹤階段,為提高跟蹤精度和跟蹤效率,引入卡爾曼濾波并設(shè)計(jì)了跟蹤列表進(jìn)行單目標(biāo)和多目標(biāo)的跟蹤。實(shí)驗(yàn)表明,該方法對光照突變有較好的適應(yīng)性,能實(shí)現(xiàn)車輛的有效檢測與跟蹤。
目標(biāo)檢測;車輛跟蹤;高斯混合模型;卡爾曼濾波;光照變化
車流量、車速等交通信息是現(xiàn)代智能交通系統(tǒng)中非常重要的基礎(chǔ)數(shù)據(jù),交通管理部門可以利用這些信息進(jìn)行運(yùn)力調(diào)配以及預(yù)防和處理交通事故等工作。對于基于視覺圖像的智能交通系統(tǒng)而言,交通數(shù)據(jù)的獲取在很大程度上依賴于車輛目標(biāo)的檢測和跟蹤算法。
一個好的目標(biāo)檢測算法應(yīng)具備高準(zhǔn)確性、高實(shí)時性以及良好的環(huán)境變化適應(yīng)能力[1]。目前運(yùn)動目標(biāo)檢測方法主要有幀間差分法、背景差分法和光流法[2],其中屬于背景差分法的高斯混合建模方法應(yīng)用最為廣泛[3-4]。高斯混合建模是一種在線學(xué)習(xí)式方法,可以較為準(zhǔn)確地提取前景運(yùn)動目標(biāo),并且能夠適應(yīng)緩慢的環(huán)境變化,有較好的場景適應(yīng)能力。但該方法有兩個需要解決的問題[5]: ①在視頻檢測時,所有像素點(diǎn)都要進(jìn)行背景模型的匹配工作,這無疑增加了程序運(yùn)行時間,消耗一定的系統(tǒng)資源,而在一般場景中,處于背景區(qū)的像素點(diǎn)往往是穩(wěn)定的,并不需要進(jìn)行頻繁的匹配更新;②背景模型更新率往往被設(shè)定為一個固定值,這樣當(dāng)環(huán)境(例如光照強(qiáng)度等)發(fā)生突變時,傳統(tǒng)的高斯混合模型很難快速適應(yīng)并恢復(fù)到穩(wěn)定的狀態(tài)。
車輛目標(biāo)的跟蹤可以根據(jù)模型、區(qū)域、輪廓、特征這4種指標(biāo)來進(jìn)行[6],其中,基于區(qū)域和特征的跟蹤方法最為常用。
本文提出一種改進(jìn)的車輛檢測與跟蹤方法。在車輛目標(biāo)檢測階段,針對上述傳統(tǒng)高斯混合建模方法存在的第二個問題,引入環(huán)境變化判斷因子,采用學(xué)習(xí)更新率自動切換的策略,以提高系統(tǒng)的自適應(yīng)性;在車輛目標(biāo)跟蹤階段,采用基于區(qū)域和特征的方法,并引入卡爾曼濾波,從而提高跟蹤精度和效率,同時針對多目標(biāo)問題,設(shè)計(jì)了一個跟蹤列表。最后通過實(shí)驗(yàn)對本文提出的車輛檢測與跟蹤方法進(jìn)行驗(yàn)證。
1.1 傳統(tǒng)高斯混合建模原理
在傳統(tǒng)高斯混合模型中,認(rèn)為圖像中每個像素點(diǎn)的觀測灰度值在一定時間域內(nèi)服從高斯分布,并為每個像素點(diǎn)分配K(一般取3~5)個高斯模型,然后利用這K個模型建立該像素點(diǎn)的背景。在建立背景的過程中,用采集到的圖像各像素點(diǎn)的灰度值作為K個模型的期望,并且為每個模型分配一個較大的方差和權(quán)重。
在開始匹配時,將讀入的圖像中各個像素點(diǎn)與背景中相同位置的像素點(diǎn)的K個模型進(jìn)行匹配,若匹配成功則進(jìn)行模型的更新,否則進(jìn)行模型的替換。與此同時,對K個模型的權(quán)重進(jìn)行排序,將前B個作為背景模型,若被考察的像素點(diǎn)與這B個模型均不匹配,則可認(rèn)為其為前景目標(biāo)點(diǎn),否則為背景點(diǎn)。
1.2 改進(jìn)的高斯混合建模算法
當(dāng)車輛目標(biāo)環(huán)境突然發(fā)生較大變化時,圖像中的大部分像素點(diǎn)的灰度值會發(fā)生變化,由于檢測出的前景圖通常是一幅二值化圖像,那么這時灰度值為255的白色像素點(diǎn)會占據(jù)前景圖像的大部分。對于高斯混合模型中的學(xué)習(xí)更新率α,其值設(shè)置較大則該算法能快速適應(yīng)環(huán)境的變化,但會占用較多的系統(tǒng)資源;反之,該算法雖然占用的系統(tǒng)資源較少,但對環(huán)境變化的適應(yīng)能力較差。
本文設(shè)計(jì)了一個環(huán)境變化判斷因子λ,其值定義如下:
λ=Tf/Tb+f
(1)
式中:Tf為前景目標(biāo)圖像中灰度值為255的白色像素點(diǎn)個數(shù);Tb+f為像素點(diǎn)總數(shù)。同時設(shè)兩個閾值T1和T2,且T1>T2,根據(jù)λ的取值,分3種情況設(shè)置更新率α:
(2)
其中,α1>α2>α3。式(2)中的參數(shù)T1、T2、α1、α2、α3均可根據(jù)實(shí)際應(yīng)用情況進(jìn)行設(shè)定。由式(2)可見,本文提出的改進(jìn)高斯混合建模算法是一種自適應(yīng)檢測算法,當(dāng)車輛目標(biāo)環(huán)境突然變化時,λ值較大,這時更新率α就會設(shè)為較大值。
改進(jìn)的高斯混合建模算法主要包括以下5個步驟:
(1) 對獲取的圖像進(jìn)行灰度轉(zhuǎn)化,并進(jìn)行圖像的平滑去噪預(yù)處理,除掉圖像中的噪聲點(diǎn)。本文采用中值濾波算法進(jìn)行圖像去噪。
(2) 根據(jù)視頻的前20幀對高斯混合模型中的背景模型進(jìn)行訓(xùn)練。第20幀之后需要對背景模型進(jìn)行更新,并且利用此模型進(jìn)行前景目標(biāo)的提取,檢測出的前景圖像是一個二值化圖像,像素值只有0和255兩種。
(3) 利用提取出的二值化圖像計(jì)算環(huán)境變化因子λ,然后根據(jù)式(2)設(shè)定具體的高斯混合模型更新率。
(4) 對提取出的二值化圖像進(jìn)行平滑處理并去除噪聲點(diǎn)。
(5) 由于檢測出的目標(biāo)圖像可能包含非車輛目標(biāo),此時需要去除圖像中面積較大和較小的團(tuán)塊區(qū)域,然后求取檢測目標(biāo)的最小外接矩形,將檢測出的目標(biāo)加入所設(shè)計(jì)的檢測容器,為下階段的車輛目標(biāo)跟蹤做好準(zhǔn)備工作。
1.3 車輛目標(biāo)檢測實(shí)驗(yàn)與結(jié)果分析
以運(yùn)動車輛的AVI視頻作為實(shí)驗(yàn)對象,視頻分辨率為220×240,單張圖像中像素點(diǎn)總數(shù)為52 800,視頻時長為3 min,總幀數(shù)為3423,幀率為28幀/s。軟件開發(fā)平臺為微軟公司的VS2010,并采用OpenCV計(jì)算機(jī)視覺庫。通過實(shí)驗(yàn)分析,T1和T2分別設(shè)為0.4和0.04,3個更新率值α1、α2和α3分別設(shè)為0.08、0.05和0.02。在視頻的第242幀,光照突然增強(qiáng),此后光照強(qiáng)度又逐漸降低,直到第402幀恢復(fù)到光照突變前的情況,環(huán)境變化判斷因子λ及更新率α的變化情況如表1所示。
由表1可見,在第241幀時,前景目標(biāo)圖像中白色像素點(diǎn)個數(shù)與像素點(diǎn)總數(shù)的比值小于0.04,更新率設(shè)為較小值0.02;在第242幀時光照突變,環(huán)境變化判斷因子λ大于0.4,則更新率α由0.02變?yōu)檩^大值0.08以適應(yīng)環(huán)境的突變;之后由于光照強(qiáng)度又逐漸降低,λ值介于0.04和0.4之間,故系統(tǒng)將更新率自動設(shè)置為0.05。
為了進(jìn)行對比分析,采用傳統(tǒng)高斯混合建模算法、文獻(xiàn)[7]中的目標(biāo)檢測算法和本文提出的改進(jìn)高斯混合建模算法對上述視頻中的運(yùn)動車輛進(jìn)行目標(biāo)檢測,車輛的視頻截圖和目標(biāo)檢測結(jié)果如圖1所示。
從圖1中可以看出,高斯混合建模算法對環(huán)境突變的適應(yīng)能力較差,在光照突然變強(qiáng)的一瞬間,大量原背景像素點(diǎn)被當(dāng)做前景目標(biāo)誤檢出來,即前景圖像中出現(xiàn)了大量白色像素點(diǎn)(如圖中b2和d2所示)。傳統(tǒng)高斯混合建模算法中僅將更新率設(shè)為一個固定值,通常為0.05,由圖1(b)可見,直到第308幀時目標(biāo)檢測情況才逐漸恢復(fù)到正常狀態(tài)。文獻(xiàn)[7]將高斯混合建模算法和三幀差分法相結(jié)合來克服光照突變的影響,其首先根據(jù)高斯混合模型檢測出的圖像來計(jì)算前景圖像像素點(diǎn)的比例,當(dāng)該比例大于某一閾值時就采用三幀差分法進(jìn)行目標(biāo)檢測,否則就利用高斯混合模型檢測出的結(jié)果作為前景目標(biāo)。從圖1(c)可以看出,三幀差分法對環(huán)境變化具有較強(qiáng)的適應(yīng)能力,在光照強(qiáng)度陡增的第242幀以及隨后的若干幀檢測結(jié)果中并沒有出現(xiàn)大量的白色偽目標(biāo)像素點(diǎn),但此算法出現(xiàn)了很嚴(yán)重的漏檢情況,新進(jìn)入攝像頭范圍的目標(biāo)都沒有被檢測出來。從圖1(d)可以看出,采用本文提出的改進(jìn)算法時,從視頻的第262幀開始,目標(biāo)檢測情況便可逐漸恢復(fù)到正常狀態(tài),并且在后續(xù)幀中均有不錯的檢測效果。
2.1 卡爾曼濾波
在順利提取車輛的前景目標(biāo)圖像之后,需要對車輛進(jìn)行跟蹤。本文采用基于區(qū)域和特征的跟蹤方法,將包含車輛目標(biāo)的團(tuán)塊作為跟蹤區(qū)域,將該區(qū)域外接矩形的形心作為跟蹤特征。為提高跟蹤效率和精度,本文引入了卡爾曼濾波算法對目標(biāo)形心進(jìn)行預(yù)估計(jì)。
卡爾曼濾波器是一種線性遞歸濾波器,其利用上一時刻的狀態(tài)對當(dāng)前狀態(tài)進(jìn)行最優(yōu)狀態(tài)預(yù)估計(jì),具有實(shí)時性強(qiáng)、計(jì)算量小的特點(diǎn)[8-9]??柭鼮V波的預(yù)測方程如下:
X(t|t-1)=AX(t-1|t-1)+BU(t)
(3)
式中:X(t-1|t-1)為t-1時刻的最優(yōu)狀態(tài)估計(jì)值;X(t|t-1)為根據(jù)t-1時刻的最優(yōu)估計(jì)值得出的t時刻狀態(tài)預(yù)測值;A為狀態(tài)轉(zhuǎn)移矩陣;B為噪聲輸入矩陣;U(t)為隨機(jī)噪聲序列。本文中,將X(t-1|t-1)定義為上一幀中被跟蹤車輛的形心位置,X(t|t-1)則被定義為當(dāng)前幀中被跟蹤目標(biāo)的形心位置。
2.2 改進(jìn)的車輛跟蹤算法
為了對單目標(biāo)和多目標(biāo)進(jìn)行有效跟蹤,本文設(shè)計(jì)了一個跟蹤列表,如表2所示,其中,第一行代表已經(jīng)被跟蹤的目標(biāo),第一列代表檢測出的目標(biāo),TD11、TD21、…、TDij為已被跟蹤的目標(biāo)用卡爾曼濾波預(yù)測出的形心與被檢測出的目標(biāo)形心之間的距離。由于車輛在前后兩幀之間的移動距離不大,故可設(shè)定一閾值,當(dāng)移動距離小于此閾值時,可以認(rèn)定此距離對應(yīng)的被檢測目標(biāo)和被跟蹤目標(biāo)為同一目標(biāo)。本文中將此閾值設(shè)定為45。車輛跟蹤算法流程如圖2所示。在開始匹配時,先求出所有TD值,將其加入跟蹤列表,然后找出其中的最小值TDpq,若TDpq<45,則判斷Tp和Dq為同一目標(biāo),令TDpq=TDpq+45,繼續(xù)找出跟蹤列表中的最小值,重復(fù)以上判斷過程,直到所有TD值全部大于45,則此次匹配結(jié)束。對于第一列檢測出的目標(biāo),如果在第一行中沒有與之匹配的元素,則認(rèn)為其為新目標(biāo),此時為其分配新的卡爾曼濾波器和新的ID號,并將其加入跟蹤列表;對于第一行被跟蹤的目標(biāo),如果在第一列中沒有與之匹配的元素,則將其看作可能已丟失的目標(biāo),如果連續(xù)N幀(本文取N=5)都沒有匹配成功,則可認(rèn)為該目標(biāo)正式丟失,并在跟蹤列表中將其刪除。
2.3 車輛目標(biāo)跟蹤實(shí)驗(yàn)與結(jié)果分析
采用本文提出的改進(jìn)算法對AVI視頻中的運(yùn)動車輛進(jìn)行跟蹤實(shí)驗(yàn),結(jié)果如圖3所示,其中,圖3(a)和圖3(b)的場景中光照強(qiáng)度基本一致,而圖3(c) 的場景則是在第242幀發(fā)生光照突變后的情況。由圖3可見,不論是出現(xiàn)單目標(biāo)或多目標(biāo),每臺車輛都能被有效跟蹤。
如前所述,在車輛目標(biāo)檢測階段,當(dāng)發(fā)生光照突變時,在檢測出的前景圖像中會產(chǎn)生大量的白色偽目標(biāo)像素點(diǎn)。為克服偽目標(biāo)帶來的影響,在本文提出的車輛目標(biāo)檢測算法中采取了兩項(xiàng)措施,即加大高斯混合模型的更新率以及去除檢測圖像中一些非車輛的較小團(tuán)塊。從圖3(c)中可以看出,在采取以上措施后,從視頻的第270幀開始即可恢復(fù)到正常的車輛跟蹤狀態(tài)。但是,在實(shí)驗(yàn)過程中也發(fā)現(xiàn)了本文算法的一些不足之處,在視頻中出現(xiàn)的實(shí)際車輛數(shù)為83,但最終的跟蹤計(jì)數(shù)結(jié)果只有79輛,原因是出現(xiàn)了車輛互相遮擋的情況,從而造成了漏檢。另外,從圖3中還可以看出一個問題,車輛的跟蹤框要比視頻中的車輛圖像大,其原因是出現(xiàn)了陰影現(xiàn)象,使得檢測器將車輛和陰影檢測為同一目標(biāo)。
本文提出了一種具有自適應(yīng)性的車輛檢測與跟蹤方法。在車輛目標(biāo)檢測階段,根據(jù)環(huán)境變化情況自動設(shè)置高斯混合模型的更新率,以克服傳統(tǒng)高斯混合建模算法對環(huán)境變化的適應(yīng)能力較差的缺陷;在車輛目標(biāo)跟蹤階段,引入卡爾曼濾波并設(shè)計(jì)了一個跟蹤列表,以實(shí)現(xiàn)單目標(biāo)和多目標(biāo)車輛的有效跟蹤。實(shí)驗(yàn)表明,本文設(shè)計(jì)的車輛檢測與跟蹤算法具有較好的實(shí)時性和環(huán)境變化適應(yīng)能力。該算法也可以用來進(jìn)行車輛計(jì)數(shù),從而應(yīng)用到車流量測算等工作之中。另外,如何解決圖像遮擋導(dǎo)致的車輛漏檢問題以及去除陰影對車輛跟蹤框的影響還有待于進(jìn)一步研究。
[1] Cucchiara R, Grana C, Piccardi M, et al. Detecting moving objects, ghosts and shadows in video streams[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2003, 25(10):1337-1342.
[2] 白向峰, 李艾華,蔡艷平,等. 復(fù)雜場景實(shí)時目標(biāo)檢測方法[J]. 計(jì)算機(jī)輔助設(shè)計(jì)與圖形學(xué)學(xué)報, 2012, 24(1): 104-111.
[3] Stauffer C, Grimson W E L. Adaptive background mixture models for real-time tracking[C]//Proceedings of IEEE Computer Society Conference on Computer Vision and Pattern Recognition. Los Alamitos: IEEE Computer Society Press, 1999, 2: 246-252.
[4] Chen Z, Ellis T. A self-adaptive Gaussian mixture model[J]. Computer Vision and Image Understanding, 2014, 122:35-46.
[5] 梅娜娜,王直杰. 基于高斯混合模型的運(yùn)動目標(biāo)檢測算法[J]. 計(jì)算機(jī)工程與設(shè)計(jì), 2012, 33(8): 3149-3153.
[6] 吳朝輝. 智能交通車流量檢測系統(tǒng)[D]. 鎮(zhèn)江:江蘇大學(xué),2013.
[7] 盧章平,孔德飛,李小蕾,等. 背景差分與三幀差分結(jié)合的運(yùn)動目標(biāo)檢測算法[J]. 計(jì)算機(jī)測量與控制,2013,21(12): 3315-3318.
[8] 胡學(xué)剛,劉忠振. 基于高斯模型和卡爾曼預(yù)測的檢測與跟蹤[J]. 計(jì)算機(jī)工程與設(shè)計(jì),2013, 34(1): 247-251.
[9] 王相海,方玲玲,叢志環(huán).卡爾曼粒子濾波的視頻車輛跟蹤算法研究[J]. 中國圖象圖形學(xué)報,2012, 15(11): 1615-1622.
[責(zé)任編輯 尚 晶]
Vehicle detecting and tracking method based on Gaussian mixture model and Kalman filtering
LinLiyuan,ChenLin
(College of Information Science and Engineering, Wuhan University of Science and Technology, Wuhan 430081, China)
An improved vehicle detecting and tracking method is proposed. In the target detecting stage, aiming at the problem that traditional Gaussian mixture model (GMM) method has weak adaptability to environmental changes, a judgment factor about environmental change is designed and used in the automatic switching of the update rate of GMM. In the vehicle tracking stage, Kalman filtering is introduced to increase the tracking accuracy and efficiency, and a tracking list is designed for single and multiple target tracking. Experimental results show that the proposed method has strong adaptability to the abrupt change of illumination and is efficient in vehicle detecting and tracking.
target detecting; vehicle tracking; Gaussian mixture model; Kalman filtering; illumination change
2015-01-23
林立原(1988-),男,武漢科技大學(xué)碩士生. E-mail:529481621@qq.com
陳 林(1963-),男,武漢科技大學(xué)教授. E-mail:Whchenlin@163.com
TP391.9
A
1674-3644(2015)03-0226-05