羅國強(qiáng)
(廣東工業(yè)大學(xué),廣東廣州510006)
視頻序列中運(yùn)動(dòng)目標(biāo)檢測與跟蹤是計(jì)算機(jī)視覺研究領(lǐng)域的一個(gè)重要課題,在機(jī)器人導(dǎo)航、交通監(jiān)測、醫(yī)學(xué)圖像處理等領(lǐng)域都有廣泛應(yīng)用。國內(nèi)外學(xué)者對此進(jìn)行了大量研究,提出了許多算法。文獻(xiàn)[1]采用單高斯模型作為背景模型,該模型雖然簡單,但其分布比較復(fù)雜而且需要精細(xì)的參數(shù)設(shè)定。文獻(xiàn)[2]中提到混合高斯模型,而且有文獻(xiàn)[3][4]發(fā)展為目前常用的表現(xiàn)形式。
本文給出了自適應(yīng)高斯模型建模,由多個(gè)高斯分布組成,可以在包括運(yùn)動(dòng)目標(biāo)的視頻中自適應(yīng)地提取背景模型,對背景模型的描述更加準(zhǔn)確。最終通過OpenCV實(shí)現(xiàn)對目標(biāo)的準(zhǔn)確檢測和跟蹤。
運(yùn)動(dòng)目標(biāo)檢測是視頻圖像跟蹤中的重要環(huán)節(jié)。目前常用的運(yùn)動(dòng)檢測算法有光流法,幀間差法和背景差法。光流法運(yùn)算量較大,不適合實(shí)時(shí)處理。幀間差法雖實(shí)時(shí)性好,但檢測目標(biāo)內(nèi)部容易產(chǎn)生空洞。背景差法克服了上述方法的缺點(diǎn),但對動(dòng)態(tài)場景的變化較為敏感。本文在背景差法的基礎(chǔ)上,提出自適應(yīng)混合高斯背景模型的概念。
背景圖像的每一個(gè)像素分別用由K個(gè)高斯分布構(gòu)成的混合高斯模型來建模,即
式中:K為高斯模型中高斯分布的個(gè)數(shù),通常取3~5;Xt為t時(shí)刻的像素值表示在t時(shí)刻第i個(gè)高斯分布的權(quán)值;μi,t和σ2i,t分別表示第i個(gè)高斯分布的均值和方差;η表示概率密度函數(shù)。
為使模型不斷貼近當(dāng)前像素值的分布,常更新高斯分布自身的參數(shù)和各分布的權(quán)重。將每一新捕獲幀的像素值置Xt與混合高斯模型中的K個(gè)高斯分布分別匹配。若新像素值
則認(rèn)為該像素值和高斯分布匹配。匹配成功的高斯分布按下式更新,即
其中:α為用戶定義的學(xué)習(xí)率,0≤α≤1,決定背景更新速度。ρ為參數(shù)學(xué)習(xí)率,近似為若沒有任何高斯分布與Xi匹配,則將權(quán)重最小的高斯分布用新的高斯分布代替。新分布的均值為Xi,方差為最大初始差,權(quán)重為最小初始權(quán)重。其余高斯分布保持不變,但權(quán)值按ωi,t=(1-α)ωi,t-1進(jìn)行更新。
混合高斯模型的參數(shù)更新后,將組成混合高斯模型的K個(gè)高斯分布按由大到小排列,最有可能描述穩(wěn)定背景過
程的高斯分布位于前面,而出背景暫態(tài)擾動(dòng)產(chǎn)生的分布位于后面。若前B個(gè)分布滿足:
則認(rèn)為前B個(gè)分布是背景分布,其余為前景分布。其中T為預(yù)定的閾值。背景分布確定之后,將當(dāng)前輸入的圖像與背景模型相比較,若當(dāng)前像素值Xt和每個(gè)背景高斯分布滿足:
就認(rèn)為當(dāng)前像素為前景,即運(yùn)動(dòng)物體。這樣就將運(yùn)動(dòng)目標(biāo)從背景中檢測出來。
開放源代碼的計(jì)算機(jī)視覺類庫0penCV(Intel Open Source Computer Vision Library)由英特爾公司位于俄羅斯的研究實(shí)驗(yàn)室所開發(fā),它是一套可免費(fèi)獲得的、由一些C函數(shù)和C++類所組成的庫,用來實(shí)現(xiàn)一些常用的圖像處理及計(jì)算機(jī)視覺算法。OpenCV主要用于對圖像進(jìn)行一些高級處理,比如說特征檢測與跟蹤、運(yùn)動(dòng)分析、目標(biāo)分割與識(shí)別以及3D重建等。
OpenCV是Intel公司開發(fā)的圖像處理和計(jì)算機(jī)視覺函數(shù)庫,它有以下特點(diǎn):
(1)開放C及C++源碼;
(2)基于Intel處理器指令集開發(fā)的優(yōu)化代碼;
(3)統(tǒng)一的結(jié)構(gòu)和功能定義;
(4)強(qiáng)大的圖像和矩陣運(yùn)算能力;
(5)方便靈活的用戶接口;
(6)同時(shí)支持Windows,Linux平臺(tái);
(7)在速度上OpenCV還有Intel公司的minx和ssl優(yōu)化。
OpenCV設(shè)計(jì)一些基本數(shù)據(jù)類型,基本的數(shù)據(jù)類型包括:圖像類的Ipllmage,矩陣類的CvMat,可變集合類的CvSeq、CvSet、CvGraph以及用于多維柱狀圖的混合類CvHistogram。輔助數(shù)據(jù)類型包括:用于表示二維點(diǎn)坐標(biāo)的Cv-Point,用于表示圖像寬和高的CvSize等。
OpenCV中每個(gè)函數(shù)的命名都以“CV”開始,然后是該函數(shù)的行為及目標(biāo)。例如用來創(chuàng)建圖像的函數(shù)“cvCreatelmage”,載入圖像的函數(shù)“cvLoadlmage”。OpenCV是為圖像處理及計(jì)算機(jī)視覺在實(shí)際工程中的應(yīng)用而設(shè)計(jì)的一個(gè)類庫,其中所有的函數(shù)都由于其在實(shí)際應(yīng)用中所實(shí)現(xiàn)的不同的功能而分屬不同的類型,主要的函數(shù)類型有:
(1)基本的圖像處理與分析函數(shù)。這個(gè)類型的函數(shù)主要用于實(shí)現(xiàn)一些基本的圖像處理與分析功能,例如圖像平滑函數(shù)cvSmooth,Sobel算子cvSobe,Canny邊緣分割函數(shù)cvCanny等。
(2)結(jié)構(gòu)分析函數(shù)。包括有輪廓處理函數(shù),幾何學(xué)函數(shù)以及平面細(xì)分函數(shù)。
(3)運(yùn)動(dòng)分析與目標(biāo)跟蹤函數(shù)。包括有用于運(yùn)動(dòng)分析與目標(biāo)跟蹤的函數(shù),例如背景重建函數(shù)cvAcc,卡爾曼濾波函數(shù)CvKalman等。
(4)攝像機(jī)標(biāo)定和3D重建函數(shù)。包括有用于攝像機(jī)標(biāo)定,姿態(tài)估計(jì)以及從兩個(gè)攝像機(jī)進(jìn)行3D相似重構(gòu)的函數(shù)。
(5)GUI與視頻處理函數(shù)。包括有高級圖形用戶接口highGUI用以實(shí)現(xiàn)對圖像的載入、顯示及保存等基本操作以及用以實(shí)現(xiàn)視頻輸入輸出及處理的函數(shù)。
針對混合高斯模型運(yùn)動(dòng)目標(biāo)檢測方法在背景建模中目標(biāo)檢測與背景更新的效果做實(shí)驗(yàn),本文實(shí)驗(yàn)的視頻是《OpenCV教程——基礎(chǔ)篇》教材中提供的一段公路視頻片段,幀速度為15幀/秒。下圖分別是10,20,50幀視頻的原圖,背景圖和目標(biāo)檢測圖。
從以上3幀圖像的視頻圖、背景圖、檢測圖可以看出,該方法可以較好地檢測出視頻的運(yùn)動(dòng)目標(biāo)。
提出了一種針對固定場景的視頻圖像運(yùn)動(dòng)目標(biāo)檢測和跟蹤算法。針對傳統(tǒng)的背景差分法對動(dòng)態(tài)場景變化較為敏感的問題,提出改進(jìn)的混合高斯背景建模算法,使背景模型的參數(shù)隨著場景的變化進(jìn)行自適應(yīng)更新,實(shí)現(xiàn)了準(zhǔn)確的檢測,解決了目標(biāo)形體和尺度發(fā)生變化對限蹤效果的影響,滿足運(yùn)動(dòng)目標(biāo)跟蹤魯棒性的要求。由于本文算法主要針對在靜止攝像機(jī)條件下的運(yùn)動(dòng)目標(biāo),應(yīng)用范圍受到一定限制,還需做進(jìn)一步的研究。
[1]Wren C R,Azarbayejani A,Darrell T,et a1.Pfinder:Real-time of the human body[J].IEEE Transactions on PAMI,1997,19(7):780—785.
[2]Friedman N,Russell S.Image segmentation in video sequences:A probabilistic approach[A].In:Proceedings Thirteenth Conference on Uncertainty in Artificial Intelligence[C],Providence,Rhode Island,USA,1997:175~181.
[3]Stauffer C,Grimson W E L.Adaptive background mixture models for real—time tracking[A]In:Proceedings of IEEE Conference on Computer Vision and Pattern Recognition[C],F(xiàn)ort Collis Colorado,USA,1999:246—252.
[4]Stauffer C,Grimson W E L.Learning patterns of activity using real-time tracking[J].IEEE Transactions Pattern Analysis and Machine Intelligence,2000,22(8):747~757..
[5]劉瑞禎,于仕琪.OpenCV教程——基礎(chǔ)篇[M].北京:北京航天航空出版社,2006.