劉 江, 郭榮春,王燕妮
(1.西安現(xiàn)代控制技術(shù)研究所,陜西 西安 710065;2.西安郵電大學(xué)數(shù)字藝術(shù)學(xué)院, 陜西 西安 710121;3.西安建筑科技大學(xué)信息與控制工程學(xué)院,陜西 西安 710055)
運(yùn)動(dòng)目標(biāo)檢測(cè)是計(jì)算機(jī)視覺和模式識(shí)別領(lǐng)域中的一個(gè)重要課題,是在基于動(dòng)態(tài)圖像分析的基礎(chǔ)上結(jié)合圖像模式識(shí)別和圖像跟蹤方法對(duì)圖像序列中的目標(biāo)進(jìn)行檢測(cè)、識(shí)別的過程,被廣泛應(yīng)用于視頻監(jiān)控等監(jiān)測(cè)和分析系統(tǒng)中。隨著計(jì)算機(jī)技術(shù)、高分辨率傳感技術(shù)與圖像處理技術(shù)的迅速更新,它在網(wǎng)絡(luò)安全、智能監(jiān)控系統(tǒng)、生物醫(yī)學(xué)等國(guó)民經(jīng)濟(jì)和軍事領(lǐng)域的許多方面有著廣泛的應(yīng)用,同時(shí)人們對(duì)運(yùn)動(dòng)目標(biāo)檢測(cè)系統(tǒng)的穩(wěn)定性、魯棒性提出了更高的要求。
最近幾年,許多科研人員對(duì)背景建模的目標(biāo)提取算法[1]進(jìn)行廣泛而深入的研究,取得了非常優(yōu)秀的成果。文獻(xiàn)[2]即是構(gòu)建背景模型,在此基礎(chǔ)上對(duì)背景模型的相關(guān)參數(shù)進(jìn)行自適應(yīng)地調(diào)節(jié),得到不斷更新的背景參考圖像。當(dāng)圖像中無(wú)運(yùn)動(dòng)信息時(shí),可以得到較為準(zhǔn)確的初始背景幀,同時(shí)選取系統(tǒng)參數(shù)等計(jì)算的工作量較大。文獻(xiàn)[3]研究了行掃描點(diǎn)線的信息聚類多目標(biāo)提取算法,解決了經(jīng)典幀差法等算法引起的誤差問題。在Codebook模型[4]中,采用的前景目標(biāo)檢測(cè)方法相比經(jīng)典的算法,有更好的準(zhǔn)確度和適應(yīng)性。文獻(xiàn)[5]研究了自適應(yīng)聚類的背景檢測(cè)方法,解決了人工取閾值引起的各種不足。文獻(xiàn)[6]中,采用分水嶺方法對(duì)目標(biāo)進(jìn)行分割檢測(cè),得到了很好的提取效果。文獻(xiàn)[7]研究了視頻圖像中運(yùn)動(dòng)目標(biāo)區(qū)域檢測(cè)算法,接收端有較好的視覺感受,可以應(yīng)用于背景單一的圖像目標(biāo)檢測(cè)中。文獻(xiàn)[8]結(jié)合離散矩變換和局部同質(zhì)性檢測(cè)傳輸幀中的種子點(diǎn),采用區(qū)域生長(zhǎng)法分割檢測(cè)區(qū)間。根據(jù)以上方法的優(yōu)缺點(diǎn),結(jié)合目標(biāo)檢測(cè)的完整性以及計(jì)算量等問題,提出基于卡爾曼濾波的高斯混合模型目標(biāo)檢測(cè)算法,預(yù)期快速且準(zhǔn)確地提取目標(biāo)。
采用卡爾曼濾波和高斯混合模型,使它們優(yōu)勢(shì)互補(bǔ),從而克服相互的弱點(diǎn),提高運(yùn)動(dòng)檢測(cè)的效果。但在實(shí)際場(chǎng)景中,由于光線等各種原因造成背景不斷變化,若不及時(shí)對(duì)背景進(jìn)行更新,錯(cuò)誤的檢測(cè)結(jié)果將隨時(shí)間不斷累計(jì)、循環(huán),從而造成監(jiān)控失效。因此在卡爾曼濾波背景建模的基礎(chǔ)上,采用高斯混合模型修改不斷變化的背景信息,準(zhǔn)確檢測(cè)目標(biāo)[9-10]。
背景建模的結(jié)果與最終目標(biāo)檢測(cè)關(guān)系密切,所有的視頻目標(biāo)提取算法,皆需要適應(yīng)各種復(fù)雜的背景情況。由于現(xiàn)實(shí)中背景圖像的不可控因素很多,例如光線的忽變、圖像遮擋、位移等的影響,使背景的建模和仿真變得比較困難,因此視頻圖像的運(yùn)動(dòng)矢量,可以采用圖像的相鄰幀間的像素信息來(lái)預(yù)測(cè)并重構(gòu),所以不斷地更新背景模型。
卡爾曼濾波是一種遞歸估計(jì)的時(shí)域?yàn)V波器,通過獲知前一幀圖像的背景值以及當(dāng)前幀的測(cè)量值就可以推算得到當(dāng)前幀的背景估計(jì)值,不必采集測(cè)量和預(yù)測(cè)之前的圖像信息。
fk=Ufk-1+VPk+N1k,
(1)
dk=Hfk+N2k,
(2)
式(1)、式(2)中,fk是k幀圖像的背景值,Pk是k幀圖像的約束參量,U和V是圖像系統(tǒng)參數(shù)矩陣,dk是k幀的參考值,H是背景建模系統(tǒng)的參數(shù)矩陣,N1k和N2k分別為高斯噪聲,表示圖像傳輸過程中遇到的各種干擾信號(hào),對(duì)應(yīng)的相關(guān)矩陣是R1,R2。
在預(yù)測(cè)階段,濾波器通過前一幀傳輸圖像的背景估計(jì)值,預(yù)測(cè)當(dāng)前幀背景的像素信息估計(jì)值。
預(yù)測(cè)k幀的背景估計(jì)值
(3)
預(yù)測(cè)估計(jì)協(xié)方差矩陣
Ck/k-1=UkCk-1/k-1UkT+R1k,
(4)
對(duì)于在預(yù)測(cè)階段獲得的預(yù)測(cè)值,濾波器采用當(dāng)前像素幀的觀測(cè)值進(jìn)行優(yōu)化,獲取下一個(gè)更加準(zhǔn)確的估計(jì)值。在此需要分別計(jì)算以下三個(gè)變量:
參考差值
d1k=dk-Hfk/k-1,
(5)
參考差值協(xié)方差
C1k=HkCk/k-1HkT+R2k,
(6)
最優(yōu)卡爾曼增益
Kgk=Ck/k-1HkTC1k-1。
(7)
更新的背景像素估計(jì)值表示為:
(8)
則更新的協(xié)方差估計(jì)
Ck/k=(I-KgkHk)Ck/k-1,
(9)
其中I為1的矩陣,對(duì)于單模型單輸入,I=1。當(dāng)算法進(jìn)入k+1幀時(shí),Ck/k就是式(4)的Ck-1/k-1。算法依次循環(huán)進(jìn)行更新運(yùn)算。
(10)
E[d1k]=0。
(11)
且協(xié)方差矩陣準(zhǔn)確地反映了估計(jì)的協(xié)方差:
(12)
(13)
C1k=cov(d1k),
(14)
式中,E[x]表示x的期望值,cov(x)=E[xxT]。
在以上卡爾曼濾波背景建模的基礎(chǔ)上,采用混合高斯模型對(duì)目標(biāo)進(jìn)行精確檢測(cè)[11-12]。使用規(guī)定的高斯模型表征圖像中各個(gè)像素點(diǎn)的特征,在輸入下一幀圖像后重新計(jì)算混合高斯模型,采用當(dāng)前各個(gè)像素點(diǎn)與混合高斯模型進(jìn)行匹配,若匹配成功表明該像素點(diǎn)為背景點(diǎn),否則為前景點(diǎn)。背景建模由方差和均值代表的參數(shù)決定,采取不同的更新機(jī)制,將影響高斯模型的平穩(wěn)性、準(zhǔn)確性和收斂性。由于檢測(cè)目標(biāo)為運(yùn)動(dòng)目標(biāo),在背景提取建模時(shí)需要對(duì)模型中方差和均值兩個(gè)參數(shù)實(shí)時(shí)更新。同時(shí)為了提高模型的修正能力,引入權(quán)值的概念。因此建立背景圖像并實(shí)時(shí)更新,需要結(jié)合權(quán)值、均值和方差對(duì)像素點(diǎn)進(jìn)行前景和背景的分類。
高斯分布函數(shù)的概率密度為:
(15)
式(15)中,數(shù)學(xué)期望μ確定位置,方差δ2確定函數(shù)的幅度。
針對(duì)圖像像素,如果給定高斯模型的各個(gè)參數(shù),預(yù)測(cè)每個(gè)高斯模型的權(quán)值:
(16)
式(16)中,μ1、μ2、δ1、δ2、ρ為常數(shù),當(dāng)ρ=0,δ1=δ2=δ,所取模板中心位置為原點(diǎn):
(17)
對(duì)于樣本xi,yj(i,j=1,2,…,N)來(lái)說,它由設(shè)定的第k個(gè)模型生成的概率為:
(18)
(19)
(yj-μk)(yj-μk)T,
(20)
(21)
式(18)—式(21)中,k為模型的個(gè)數(shù),ωk為第k個(gè)高斯的權(quán)重,pxi,yj(k)則為第k個(gè)高斯的概率密度函數(shù),其均值為μk,方差為δk。對(duì)圖像背景像素點(diǎn)的估計(jì)就是求ωk、μk和δk各個(gè)變量的值。重復(fù)上述步驟直到算法收斂,得到每個(gè)像素點(diǎn)的均值、方差以及權(quán)重。
高斯混合模型即是把每一個(gè)像素點(diǎn)所表示的色度及亮度值用M(M=3~5)個(gè)狀態(tài)來(lái)表示,每個(gè)顏色狀態(tài)用一個(gè)高斯分布來(lái)計(jì)算。用隨機(jī)變量(xi,yj)表示像素點(diǎn)的顏色,則對(duì)于第k個(gè)狀態(tài)(0 (22) 顏色隨機(jī)變量(xi,yj)的分布可用k個(gè)狀態(tài)分布的加權(quán)和來(lái)表示: (23) 若滿足 (24) 對(duì)基于卡爾曼濾波的高斯混合模型目標(biāo)檢測(cè)算法進(jìn)行仿真測(cè)試,選擇Intel(R) Core(TM) i7-16 G-512 G的PC機(jī),軟件為Matlab 7.0以上版本,采用自拍的視頻進(jìn)行驗(yàn)證。輸入圖像的分辨率為1 600×1 200,具體仿真結(jié)果如下所示。 實(shí)驗(yàn)1 檢測(cè)運(yùn)動(dòng)小目標(biāo) 采用新算法對(duì)自制錄像序列中運(yùn)動(dòng)小目標(biāo)進(jìn)行檢測(cè)。首先采用卡爾曼濾波建模方法對(duì)輸入圖像進(jìn)行濾波,除去前景圖像,用低通濾波預(yù)測(cè)近似不變的背景圖像,并持續(xù)更新背景信息。通過采集的前一幀背景值和當(dāng)前幀的輸入值可以計(jì)算當(dāng)前幀的背景預(yù)測(cè)值。接著在卡爾曼濾波背景建模的基礎(chǔ)上,結(jié)合混合高斯模型對(duì)圖像目標(biāo)進(jìn)行精確定位標(biāo)定。采用高斯函數(shù)模型表示圖像各個(gè)像素點(diǎn)的均值、方差和權(quán)值,根據(jù)其顏色值更新背景圖像。 設(shè)起始點(diǎn)位置為模板原點(diǎn),對(duì)于輸入圖像,依次提取每一行每一列的(xi,yj)像素信息。根據(jù)式(19)計(jì)算各個(gè)像素均值,圖像大小為M×N=1 200×1 600,當(dāng)k=1時(shí),得到μk=96。同時(shí)在Matlab仿真環(huán)境下,輸入此圖像,觀察其像素的直方圖,根據(jù)直方圖的波峰和波谷的個(gè)數(shù)預(yù)測(cè)該圖像的狀態(tài)集個(gè)數(shù)。如果波峰和波谷很多,說明圖像的狀態(tài)數(shù)目較多;波峰和波谷較少,說明圖像的狀態(tài)數(shù)目較少。圖1是當(dāng)前輸入圖像的直方圖。 圖1 輸入圖像的直方圖Fig.1 The histogram of the pixels of the image 圖2 運(yùn)動(dòng)小目標(biāo)的檢測(cè)結(jié)果Fig.2 Detection results of the small moving targets 實(shí)驗(yàn)2 檢測(cè)多運(yùn)動(dòng)目標(biāo) 采用新算法對(duì)自制錄像序列中多運(yùn)動(dòng)目標(biāo)進(jìn)行檢測(cè)。設(shè)起始點(diǎn)為圖像原點(diǎn),根據(jù)視頻特點(diǎn)選取狀態(tài)M為4個(gè)狀態(tài),分別計(jì)算各個(gè)狀態(tài)像素的概率p(xi,yj/k),ωk、μk和δk。通過多次實(shí)驗(yàn)給定閾值T的大小為30,大于30的像素狀態(tài)確定為背景模型,其余目標(biāo)像素。在連續(xù)輸入多幀后,對(duì)背景圖像進(jìn)行更新并重新輸入。圖3是輸入圖像以及對(duì)應(yīng)的目標(biāo)像素,兩幅圖像的絕對(duì)差即為背景圖像。在此視頻中,每5幀進(jìn)行一次背景更新。圖4是對(duì)多目標(biāo)連續(xù)輸入視頻的第5幀、第20幀和第30幀的目標(biāo)檢測(cè)結(jié)果。 實(shí)驗(yàn)3 MSE曲線的比較 采用背景差分算法(background difference algorithm, BDA)、經(jīng)典光流算法(optical flow algorithm, OFA)和新算法對(duì)自制錄像序列中單運(yùn)動(dòng)目標(biāo)進(jìn)行檢測(cè)。采用BDA算法與新算法分別對(duì)一段200幀的視頻流目標(biāo)進(jìn)行檢測(cè),圖5(a)是兩種算法產(chǎn)生的均方誤差(mean square error, MSE)曲線圖;采用OFA算法和新算法分別對(duì)另一段300幀的視頻流進(jìn)行目標(biāo)檢測(cè),圖5(b) 是兩種算法產(chǎn)生的均方誤差曲線圖;采用BDA算法、OFA算法和新算法分別對(duì)另一段500幀的視頻流進(jìn)行目標(biāo)檢測(cè),圖5(c) 是兩種算法產(chǎn)生的均方誤差曲線圖。 圖4 多運(yùn)動(dòng)目標(biāo)的檢測(cè)結(jié)果Fig.4 Detection results of multi-moving targets 圖5 視頻流的均方誤差曲線圖Fig.5 The MSE of video streams 實(shí)驗(yàn)4 算法運(yùn)行時(shí)間的比較 采用BDA算法、OFA算法和新算法對(duì)自制的200幀、300幀錄像序列中特定運(yùn)動(dòng)目標(biāo)進(jìn)行檢測(cè)。記錄檢測(cè)時(shí)間如表1所示。 表1 各種算法的檢測(cè)時(shí)間對(duì)比Tab.1 Comparison of detection time 以上實(shí)驗(yàn)是分別采用背景差分算法、經(jīng)典光流算法和基于卡爾曼濾波的高斯混合模型目標(biāo)檢測(cè)算法對(duì)采集的各種視頻信息進(jìn)行測(cè)試。在實(shí)驗(yàn)1中,新算法能夠?qū)σ曨l圖像中的較小目標(biāo)進(jìn)行準(zhǔn)確提??;在實(shí)驗(yàn)2中,視頻圖像中有多個(gè)運(yùn)動(dòng)個(gè)體,新算法可以檢測(cè)到每個(gè)運(yùn)動(dòng)個(gè)體狀態(tài)并標(biāo)識(shí);在實(shí)驗(yàn)3中,對(duì)于一段200幀、一段300幀和一段500幀的視頻信息,分別采用新算法與背景差分算法、經(jīng)典光流算法兩種方法相比較,新算法均獲得了較小的檢測(cè)誤差。在實(shí)驗(yàn)4中,對(duì)于輸入的200幀和300幀的視頻流,新算法的運(yùn)行時(shí)間相對(duì)與其他算法較少,實(shí)時(shí)性較強(qiáng)。通過實(shí)驗(yàn)分析,新算法對(duì)于小目標(biāo)、多目標(biāo)等的移動(dòng)情況有較好的檢測(cè)結(jié)果。對(duì)于復(fù)雜場(chǎng)景的輸入圖像,設(shè)置較多的狀態(tài)數(shù)目,可以對(duì)圖像中各個(gè)像素點(diǎn)分別描述,以區(qū)別其屬于背景或者是不同的前景目標(biāo),提高算法魯棒性。 本文提出基于卡爾曼濾波的高斯混合模型目標(biāo)檢測(cè)算法。該算法采用卡爾曼濾波對(duì)輸入的目標(biāo)信息進(jìn)行濾波,得到背景模型并不斷更新;根據(jù)設(shè)置的混合高斯模型計(jì)算圖像像素的特征指標(biāo)點(diǎn),并更新背景模型;同時(shí)通過實(shí)驗(yàn)獲取合適的閾值,比較權(quán)值與方差的比例確定目標(biāo)像素點(diǎn)。仿真結(jié)果表明,該算法可以實(shí)時(shí)準(zhǔn)確地檢測(cè)運(yùn)動(dòng)目標(biāo),對(duì)場(chǎng)景變化、目標(biāo)移動(dòng)情況具有較好的魯棒性。下一步將繼續(xù)研究,將該算法應(yīng)用于視頻監(jiān)控等監(jiān)測(cè)和分析系統(tǒng),期望取得更好的檢測(cè)效果。2.3 檢測(cè)像素點(diǎn)
3 仿真分析
4 結(jié)論