張凱麗 何 玥 程雅茹 孫晨靜 陳亞寧 紀亞芳
(山西師范大學(xué)物理與信息工程學(xué)院,山西 臨汾 041000)
隨著各行各業(yè)的飛速發(fā)展,國家對人民的人身安全、財產(chǎn)安全的重視不斷提高。視頻監(jiān)控已經(jīng)從最初只在特殊行業(yè)中使用,發(fā)展為各行各業(yè)的必備產(chǎn)品。但是在這種社會背景下,依然有不法分子頂風作案,拐賣兒童、入室搶劫等案例仍然存在。
在尋找走失兒童與抓捕罪犯的過程中,最常用的方法是通過監(jiān)控視頻觀察。監(jiān)控視頻中記錄了他們犯罪的證據(jù),但是在查看監(jiān)控回放時,人力監(jiān)測耗時耗力,容易錯過最佳時期,監(jiān)測過程難免有疏忽遺漏的地方,因此對監(jiān)控系統(tǒng)的優(yōu)化是必要的。針對普通監(jiān)控系統(tǒng)所存在的缺陷,本文采用SAD匹配算法和IMM Kalman濾波算法,對現(xiàn)有的監(jiān)控系統(tǒng)進行了優(yōu)化,實現(xiàn)了對監(jiān)控范圍內(nèi)重點目標全程持續(xù)跟蹤和信息捕捉,進而完成視頻分析。
目前,對收集到的數(shù)據(jù)進行前期3D 標定的方法為單目視覺或雙目立體視覺。為克服僅使用單目視覺無法對目標精確追蹤的缺點,本文采用雙目立體視覺方式。雙目立體視覺的重點是進行立體匹配,本文通過采用SAD(Sum of Absolute Differences)匹配算法確定左右視圖匹配關(guān)系,從而實現(xiàn)雙目立體視覺目標檢測。
SAD匹配算法是將模板圖樣I(尺寸為m*n)與待檢索圖樣I’(尺寸為M*N)進行對比,尋找出最佳匹配圖樣。具體算法步驟如下所示:
(1)將待檢索圖樣和模板圖樣通過卷積神經(jīng)網(wǎng)絡(luò)選擇出所有像素點;
(2)將模板圖樣灰度減去待檢索圖樣灰度,求出二者灰度差之和[1]
其中i,j 表示子圖的中心坐標,1≤x≤M-m+1,1≤y≤N-n+1。
(3)移動模板圖樣,采用(1)中SAD匹配算法選擇出模板圖樣中的所有像素點,并重復(fù)步驟(2);
(4)當SAD值最小時,則為待檢索圖樣的最佳匹配。
目標追蹤算法主要是對目標的外觀進行追蹤,目標外觀不被遮擋屬于理想情況。在實際檢測中,由于受外界因素干擾,目標常會受到遮擋,使追蹤出現(xiàn)失效情況,此時可利用IMM Kalman濾波算法修正失效段,對追蹤過程進行優(yōu)化。
在SAD匹配算法的基礎(chǔ)上,采用一種有效性判斷方法,其方法的一般步驟如下:
(1)將目標檢測時計算的所有SAD值列成矩陣(設(shè)模板圖樣T大小為a*b,待檢索圖樣S大小為A*B),則可知矩陣大小為(A-a+1)*(B-b+1);
(2)找出SAD最小值在矩陣中的位置坐標(x,y);
(3)在SAD 矩陣中,以最小值(x,y)為中心點,取一個一定大小的矩陣Gi(矩陣Gi的大小不能太小,否則變化不明顯,無法更準確地判斷有效性),用Gi來表示某一幀的圖像。將矩陣分塊,選取不同大小的矩陣,根據(jù)選取的矩陣,設(shè)置不同大小的權(quán)重系數(shù),這就提高了目標跟蹤的準確性,減少了目標跟蹤過程中受到遮擋等干擾因素的消極影響;
(4)模板圖像是從第1幀圖像獲取的,以第1幀圖像對應(yīng)的G1為依據(jù),與其他幀圖像對應(yīng)的矩陣Gi采用歸一化互相關(guān)的方法進行計算,公式[1]為:
(5)計算模板T的像素平均值[1]:
計算相關(guān)性閾值[1]:
將每幀圖像對應(yīng)的Ri與RT進行比較,若Ri≥RT,則相關(guān)跟蹤有效,否則相關(guān)跟蹤失效。
Kalman 濾波算法是一種利用線性系統(tǒng)狀態(tài)方程,通過系統(tǒng)輸入輸出觀測數(shù)據(jù),對系統(tǒng)狀態(tài)進行最優(yōu)估計的算法[1]。由于觀測數(shù)據(jù)中存在系統(tǒng)噪聲和干擾的影響,所以最優(yōu)估計也可看作是濾波過程。在目標追蹤時,可通過Kalman 濾波算法進行動態(tài)估計。當目標的運動模型服從高斯分布時,對其運動狀態(tài)進行預(yù)測,將預(yù)測模型與觀察模型進行對比,根據(jù)誤差來更新運動目標的狀態(tài)。由于Kalman 濾波算法一般適用于線性系統(tǒng),而線性系統(tǒng)屬于理想情況,因此在實際應(yīng)用中存在一些弊端。
本文采用的是IMM Kalman 濾波算法,IMM Kalman 濾波算法是1984年H.A.PBlom基于Kalman濾波算法而提出的一種新型濾波算法。該算法克服了Kalman濾波算法的局限性,通過對多個模型的估計結(jié)果進行加權(quán)平均,對動態(tài)系統(tǒng)進行更優(yōu)的估計,從而得到更理想的效果。
IMM Kalman濾波算法的一般步驟如下:
(1)設(shè)跟蹤目標運動狀態(tài)有m種,與之對應(yīng)m個運動模型,第j個模型可用如下公式[1]表示:
其中Φj(k)是狀態(tài)轉(zhuǎn)移矩陣,Wj(k)~(0,Qj)是滿足高斯分布(均值為0,協(xié)方差矩陣為Qj)的白噪聲序列,Gj(k)是噪聲驅(qū)動矩陣,H(k)是系統(tǒng)模型,V(k)是觀測噪聲。
(2)m種模型間的馬爾可夫概率轉(zhuǎn)移矩陣為:
其中pij表示由第i個運動模型轉(zhuǎn)移到第j個運動模型的概率。
(3)由上一步模型概率μj(k-1)得到模型j的預(yù)測概率pj,計算出模型i到模型j的混合概率μij(k-1),結(jié)合目標的狀態(tài)估計得出模型j的混合狀態(tài)估計,從而得到模型j的混合協(xié)方差估計。
模型j的混合狀態(tài)估計:
(4)以模型j的混合狀態(tài)估計、混合協(xié)方差估計以及量測方程Z(k)作為輸入進行Kalman 濾波,更新預(yù)測狀態(tài)和濾波協(xié)方差。
(5)采用似然函數(shù)(Likelihood function)對μj(k)進行更新。
模型j的似然函數(shù):
(6)通過對模型j 進行輸出交互,計算多個模型估計結(jié)果的加權(quán)平均值,得到總的狀態(tài)估計和協(xié)方差估計。
在追蹤監(jiān)控過程中,采用SAD匹配算法和IMM Kalman濾波算法相結(jié)合的方式,不斷更新目標的概率,從而優(yōu)化目標追蹤的精確度。
用相機平行移動拍攝得到監(jiān)測目標的左、右兩幅視點圖像,通過MATLAB對SAD匹配算法進行仿真,結(jié)果圖1、2所示。
圖1 不受遮擋的監(jiān)測目標
圖2 受遮擋的監(jiān)測目標
如圖1、2所示,以左目圖像的源匹配點為中心,定義一個窗口,通過移動右目圖像逐步計算灰度差值,從而尋找最佳匹配點。仿真得到不同狀態(tài)下監(jiān)測目標的檢測結(jié)果,當目標不受遮擋和受遮擋時,SAD匹配算法都可以無失真地檢測出目標。由此可見,SAD匹配算法可實現(xiàn)對目標的檢測功能。
將目標運動軌跡劃分成三個模型:勻速直線運動(模型一),右轉(zhuǎn)(模型二),左轉(zhuǎn)(模型三)。
0~20s,目標向右前方做276m/s 的勻速直線運動;第20s時,改變其運動方向;20s~60s,向左前方做247m/s 的勻速直線運動;第60s時,再次改變目標的運動方向;60s~100s,向右前方做247m/s的勻速直線運動。
圖3為目標運動軌跡追蹤示意圖,由圖可知濾波值與目標真實軌跡偏差較小。
圖3 目標運動軌跡
圖4和圖5分別為追蹤過程中目標位置和速度的誤差分析曲線。從圖中可以看出,目標在做勻速直線運動時,誤差值均在0值附近波動,且時間越長誤差波動幅度越小,越接近0值;當目標方向突然發(fā)生改變時,由于時間較短,變動較大,因此誤差值較大;第60s 時相較第20s 時誤差值有所下降。分析仿真結(jié)果可得,在追蹤過程中,隨著追蹤時間的延長,追蹤次數(shù)的增加,系統(tǒng)的優(yōu)化效果會逐漸顯著。
圖4 位置跟蹤誤差
圖5 速度跟蹤誤差
圖6 為IMM Kalman 濾波算法模型概率曲線,從圖中可以看出,在目標做勻速直線運動的過程中,模型一概率接近100%;在20s時目標左轉(zhuǎn),模型一概率逐漸降低,模型三概率逐漸提高,最終模型三概率接近100%;60s時刻目標右轉(zhuǎn),模型一概率逐漸降低,模型二概率逐漸提高,最終模型二概率接近100%。
圖6 IMM Kalman濾波算法模型概率曲線
由仿真結(jié)果可知,SAD 匹配算法能確定目標位置,可以用于目標檢測。IMM Kalman 濾波算法能修復(fù)失效段,可以用于目標追蹤。通過仿真軟件進行驗證,結(jié)果表明,在監(jiān)控設(shè)備的輔助下,該系統(tǒng)對監(jiān)控視頻中某目標可以實現(xiàn)檢測與追蹤功能,具有現(xiàn)實意義。但系統(tǒng)尚未進行實物測試,仍停留在仿真研究階段,實際測試情況有待進一步研究。