劉 江, 郭榮春,王燕妮
(1.西安現代控制技術研究所,陜西 西安 710065;2.西安郵電大學數字藝術學院, 陜西 西安 710121;3.西安建筑科技大學信息與控制工程學院,陜西 西安 710055)
運動目標檢測是計算機視覺和模式識別領域中的一個重要課題,是在基于動態圖像分析的基礎上結合圖像模式識別和圖像跟蹤方法對圖像序列中的目標進行檢測、識別的過程,被廣泛應用于視頻監控等監測和分析系統中。隨著計算機技術、高分辨率傳感技術與圖像處理技術的迅速更新,它在網絡安全、智能監控系統、生物醫學等國民經濟和軍事領域的許多方面有著廣泛的應用,同時人們對運動目標檢測系統的穩定性、魯棒性提出了更高的要求。
最近幾年,許多科研人員對背景建模的目標提取算法[1]進行廣泛而深入的研究,取得了非常優秀的成果。文獻[2]即是構建背景模型,在此基礎上對背景模型的相關參數進行自適應地調節,得到不斷更新的背景參考圖像。當圖像中無運動信息時,可以得到較為準確的初始背景幀,同時選取系統參數等計算的工作量較大。文獻[3]研究了行掃描點線的信息聚類多目標提取算法,解決了經典幀差法等算法引起的誤差問題。在Codebook模型[4]中,采用的前景目標檢測方法相比經典的算法,有更好的準確度和適應性。文獻[5]研究了自適應聚類的背景檢測方法,解決了人工取閾值引起的各種不足。文獻[6]中,采用分水嶺方法對目標進行分割檢測,得到了很好的提取效果。文獻[7]研究了視頻圖像中運動目標區域檢測算法,接收端有較好的視覺感受,可以應用于背景單一的圖像目標檢測中。文獻[8]結合離散矩變換和局部同質性檢測傳輸幀中的種子點,采用區域生長法分割檢測區間。根據以上方法的優缺點,結合目標檢測的完整性以及計算量等問題,提出基于卡爾曼濾波的高斯混合模型目標檢測算法,預期快速且準確地提取目標。
采用卡爾曼濾波和高斯混合模型,使它們優勢互補,從而克服相互的弱點,提高運動檢測的效果。但在實際場景中,由于光線等各種原因造成背景不斷變化,若不及時對背景進行更新,錯誤的檢測結果將隨時間不斷累計、循環,從而造成監控失效。因此在卡爾曼濾波背景建模的基礎上,采用高斯混合模型修改不斷變化的背景信息,準確檢測目標[9-10]。
背景建模的結果與最終目標檢測關系密切,所有的視頻目標提取算法,皆需要適應各種復雜的背景情況。由于現實中背景圖像的不可控因素很多,例如光線的忽變、圖像遮擋、位移等的影響,使背景的建模和仿真變得比較困難,因此視頻圖像的運動矢量,可以采用圖像的相鄰幀間的像素信息來預測并重構,所以不斷地更新背景模型。
卡爾曼濾波是一種遞歸估計的時域濾波器,通過獲知前一幀圖像的背景值以及當前幀的測量值就可以推算得到當前幀的背景估計值,不必采集測量和預測之前的圖像信息。
fk=Ufk-1+VPk+N1k,
(1)
dk=Hfk+N2k,
(2)
式(1)、式(2)中,fk是k幀圖像的背景值,Pk是k幀圖像的約束參量,U和V是圖像系統參數矩陣,dk是k幀的參考值,H是背景建模系統的參數矩陣,N1k和N2k分別為高斯噪聲,表示圖像傳輸過程中遇到的各種干擾信號,對應的相關矩陣是R1,R2。
在預測階段,濾波器通過前一幀傳輸圖像的背景估計值,預測當前幀背景的像素信息估計值。
預測k幀的背景估計值
(3)
預測估計協方差矩陣
Ck/k-1=UkCk-1/k-1UkT+R1k,
(4)
對于在預測階段獲得的預測值,濾波器采用當前像素幀的觀測值進行優化,獲取下一個更加準確的估計值。在此需要分別計算以下三個變量:
參考差值
d1k=dk-Hfk/k-1,
(5)
參考差值協方差
C1k=HkCk/k-1HkT+R2k,
(6)
最優卡爾曼增益
Kgk=Ck/k-1HkTC1k-1。
(7)
更新的背景像素估計值表示為:
(8)
則更新的協方差估計
Ck/k=(I-KgkHk)Ck/k-1,
(9)
其中I為1的矩陣,對于單模型單輸入,I=1。當算法進入k+1幀時,Ck/k就是式(4)的Ck-1/k-1。算法依次循環進行更新運算。
(10)
E[d1k]=0。
(11)
且協方差矩陣準確地反映了估計的協方差:
(12)
(13)
C1k=cov(d1k),
(14)
式中,E[x]表示x的期望值,cov(x)=E[xxT]。
在以上卡爾曼濾波背景建模的基礎上,采用混合高斯模型對目標進行精確檢測[11-12]。使用規定的高斯模型表征圖像中各個像素點的特征,在輸入下一幀圖像后重新計算混合高斯模型,采用當前各個像素點與混合高斯模型進行匹配,若匹配成功表明該像素點為背景點,否則為前景點。背景建模由方差和均值代表的參數決定,采取不同的更新機制,將影響高斯模型的平穩性、準確性和收斂性。由于檢測目標為運動目標,在背景提取建模時需要對模型中方差和均值兩個參數實時更新。同時為了提高模型的修正能力,引入權值的概念。因此建立背景圖像并實時更新,需要結合權值、均值和方差對像素點進行前景和背景的分類。
高斯分布函數的概率密度為:
(15)
式(15)中,數學期望μ確定位置,方差δ2確定函數的幅度。
針對圖像像素,如果給定高斯模型的各個參數,預測每個高斯模型的權值:
(16)
式(16)中,μ1、μ2、δ1、δ2、ρ為常數,當ρ=0,δ1=δ2=δ,所取模板中心位置為原點:
(17)
對于樣本xi,yj(i,j=1,2,…,N)來說,它由設定的第k個模型生成的概率為:
(18)
(19)

(yj-μk)(yj-μk)T,
(20)
(21)
式(18)—式(21)中,k為模型的個數,ωk為第k個高斯的權重,pxi,yj(k)則為第k個高斯的概率密度函數,其均值為μk,方差為δk。對圖像背景像素點的估計就是求ωk、μk和δk各個變量的值。重復上述步驟直到算法收斂,得到每個像素點的均值、方差以及權重。
高斯混合模型即是把每一個像素點所表示的色度及亮度值用M(M=3~5)個狀態來表示,每個顏色狀態用一個高斯分布來計算。用隨機變量(xi,yj)表示像素點的顏色,則對于第k個狀態(0 (22) 顏色隨機變量(xi,yj)的分布可用k個狀態分布的加權和來表示: (23) 若滿足 (24) 對基于卡爾曼濾波的高斯混合模型目標檢測算法進行仿真測試,選擇Intel(R) Core(TM) i7-16 G-512 G的PC機,軟件為Matlab 7.0以上版本,采用自拍的視頻進行驗證。輸入圖像的分辨率為1 600×1 200,具體仿真結果如下所示。 實驗1 檢測運動小目標 采用新算法對自制錄像序列中運動小目標進行檢測。首先采用卡爾曼濾波建模方法對輸入圖像進行濾波,除去前景圖像,用低通濾波預測近似不變的背景圖像,并持續更新背景信息。通過采集的前一幀背景值和當前幀的輸入值可以計算當前幀的背景預測值。接著在卡爾曼濾波背景建模的基礎上,結合混合高斯模型對圖像目標進行精確定位標定。采用高斯函數模型表示圖像各個像素點的均值、方差和權值,根據其顏色值更新背景圖像。 設起始點位置為模板原點,對于輸入圖像,依次提取每一行每一列的(xi,yj)像素信息。根據式(19)計算各個像素均值,圖像大小為M×N=1 200×1 600,當k=1時,得到μk=96。同時在Matlab仿真環境下,輸入此圖像,觀察其像素的直方圖,根據直方圖的波峰和波谷的個數預測該圖像的狀態集個數。如果波峰和波谷很多,說明圖像的狀態數目較多;波峰和波谷較少,說明圖像的狀態數目較少。圖1是當前輸入圖像的直方圖。 圖1 輸入圖像的直方圖Fig.1 The histogram of the pixels of the image 圖2 運動小目標的檢測結果Fig.2 Detection results of the small moving targets 實驗2 檢測多運動目標 采用新算法對自制錄像序列中多運動目標進行檢測。設起始點為圖像原點,根據視頻特點選取狀態M為4個狀態,分別計算各個狀態像素的概率p(xi,yj/k),ωk、μk和δk。通過多次實驗給定閾值T的大小為30,大于30的像素狀態確定為背景模型,其余目標像素。在連續輸入多幀后,對背景圖像進行更新并重新輸入。圖3是輸入圖像以及對應的目標像素,兩幅圖像的絕對差即為背景圖像。在此視頻中,每5幀進行一次背景更新。圖4是對多目標連續輸入視頻的第5幀、第20幀和第30幀的目標檢測結果。 實驗3 MSE曲線的比較 采用背景差分算法(background difference algorithm, BDA)、經典光流算法(optical flow algorithm, OFA)和新算法對自制錄像序列中單運動目標進行檢測。采用BDA算法與新算法分別對一段200幀的視頻流目標進行檢測,圖5(a)是兩種算法產生的均方誤差(mean square error, MSE)曲線圖;采用OFA算法和新算法分別對另一段300幀的視頻流進行目標檢測,圖5(b) 是兩種算法產生的均方誤差曲線圖;采用BDA算法、OFA算法和新算法分別對另一段500幀的視頻流進行目標檢測,圖5(c) 是兩種算法產生的均方誤差曲線圖。 圖4 多運動目標的檢測結果Fig.4 Detection results of multi-moving targets 圖5 視頻流的均方誤差曲線圖Fig.5 The MSE of video streams 實驗4 算法運行時間的比較 采用BDA算法、OFA算法和新算法對自制的200幀、300幀錄像序列中特定運動目標進行檢測。記錄檢測時間如表1所示。 表1 各種算法的檢測時間對比Tab.1 Comparison of detection time 以上實驗是分別采用背景差分算法、經典光流算法和基于卡爾曼濾波的高斯混合模型目標檢測算法對采集的各種視頻信息進行測試。在實驗1中,新算法能夠對視頻圖像中的較小目標進行準確提取;在實驗2中,視頻圖像中有多個運動個體,新算法可以檢測到每個運動個體狀態并標識;在實驗3中,對于一段200幀、一段300幀和一段500幀的視頻信息,分別采用新算法與背景差分算法、經典光流算法兩種方法相比較,新算法均獲得了較小的檢測誤差。在實驗4中,對于輸入的200幀和300幀的視頻流,新算法的運行時間相對與其他算法較少,實時性較強。通過實驗分析,新算法對于小目標、多目標等的移動情況有較好的檢測結果。對于復雜場景的輸入圖像,設置較多的狀態數目,可以對圖像中各個像素點分別描述,以區別其屬于背景或者是不同的前景目標,提高算法魯棒性。 本文提出基于卡爾曼濾波的高斯混合模型目標檢測算法。該算法采用卡爾曼濾波對輸入的目標信息進行濾波,得到背景模型并不斷更新;根據設置的混合高斯模型計算圖像像素的特征指標點,并更新背景模型;同時通過實驗獲取合適的閾值,比較權值與方差的比例確定目標像素點。仿真結果表明,該算法可以實時準確地檢測運動目標,對場景變化、目標移動情況具有較好的魯棒性。下一步將繼續研究,將該算法應用于視頻監控等監測和分析系統,期望取得更好的檢測效果。2.3 檢測像素點



3 仿真分析






4 結論