王春丹,謝紅薇,李亞旋,張 昊
1.太原理工大學 軟件學院,太原 030024
2.太原理工大學 信息與計算機學院,太原 030024
運動物體檢測[1](前景檢測),即在視頻中識別運動目標(前景)和相對靜態部分(背景)的過程。它是運動分析、視頻監控的關鍵步驟,也是最基礎和重要的步驟。常見的檢測算法有背景減法、幀差法和光流法等。背景減法[2-4]是先建立背景模型,當前幀減去背景模型即可得到前景。背景減法計算過程簡單、計算量小,可滿足實時性的要求和解決幀差提取目標存在內部空洞問題,但不適合光照變化、相機抖動等背景噪聲大的環境[5]。背景減法包括:背景建模、前景提取和前景檢測三個步驟,其中背景減法最重要部分是背景建模[6]。常用的背景建模有單高斯模型[7]、混合高斯模型[8-9]以及ViBe(Visual Background extractor)算法等。
針對其減少計算量、提高實時性檢測和減少內存消耗的問題,Barnich 等人在 2011 年提出了 ViBe 算法[10]。ViBe 算法是一種魯棒性強的非參數背景模型算法,具備占用內存低和高效的優點。但是ViBe算法使用第一幀圖像獲得初始化背景模型,會產生拖影,影響背景檢測的準確性;背景更新過程采用固定閾值區分前景和背景,在刮風天氣引起的樹葉搖擺、湖面水紋波動等動態背景下,都有可能被檢測為前景。ViBe 算法背景模型更新速度過快,將緩慢運動的目標誤檢為背景或噪聲,造成檢測目標的準確性和完整性下降。
針對上述問題,文獻[11]采用結合三幀差分和邊緣檢測技術進行ViBe 算法的改進,對緩慢移動的目標其檢測完整性和準確性還是有影響;文獻[12]針對每個像素設定閾值,提高前景檢測的精確度,但是還存在較多噪聲點在大范圍的動態背景下;文獻[13]提出將ViBe算法與Canny邊緣檢測[14]結合進行運動目標提取,改善拖影的現象,在光照突變和樹葉晃動的復雜背景下,抗干擾能力較差。本文算法在初始化背景模型階段,選用在多幀圖像使用基于Canny的三幀差分改進算法,改善初始背景模型造成的拖影現象;使用自適應閾值調整固定閾值和背景更新率,提高其在相對動態背景下的準確率;使用改進的ViBe算法和三幀差分融合,提高目標的完整性。
2011年,Barnich提出了ViBe[10]算法,是一種高效快速提取前景的算法,ViBe算法計算過程簡單,魯棒性和實時性較高。主要是從以下三方面來體現。
首幀圖像所有像素點構成的樣本集合就是初始化背景模型。第一幀的某個像素點x的背景像素值從領域中隨機選取N個樣本,作為像素點x的樣本集第一幀圖像中每個像素點都存儲了樣本集,這些樣本集構成了初始化的背景模型。
在前景檢測過程中,像素點x處新的像素值和樣本集合中的元素比較判斷,確認是否屬于前景。樣本集合的大小為N,以x為中心,R為半徑建立一個二維歐幾里得色度空間的球體SR(v(x)),如圖1所示。

圖1 色度空間的球體SR(v(x))
當前幀某像素點x處的像素值與該點歷史樣本集合值作差并且與R進行比較,比R小的值存儲在中,即計算集合M(x)與區域相交的樣本個數,如公式(1)所示:


ViBe 算法首幀建立初始化模型,會出現漏檢和檢測錯誤的現象;固定閾值和背景更新率分別用于前景檢測和更新背景模型,不適合多擾動的背景環境。三幀差分算法利用相鄰的三幀相減提取出相鄰幀間運動的前景目標,計算簡單,速度快,但是捕捉到的目標輪廓不完整。本文算法使用基于Canny 的三幀差分改進算法構建ViBe 算法中的背景模型,提高其檢測的準確性減少漏檢現象。根據公式設置調整因子,動態調整判斷閾值和背景模型更新率以適應多擾動的背景環境。改進后算法與三幀差分算法結合,提高檢測目標的完整性。如圖2所示。
為了消除初始幀造成的拖影,選取視頻多幀使用基于Canny 的三幀差分改進算法構建背景樣本模型。在視頻多幀圖像中,隨機選取k幀圖像的每個像素在領域中存儲N個值為。在相鄰幀間使用基于Canny的三幀差分改進算法取幀差,存儲相鄰幀差。選用k幀圖像每個像素在領域中存儲N個值和三幀幀差值作為背景模型。三幀幀差是由基于Canny 的三幀差分改進算法獲取。如公式(3)所示,是多幀圖像建立的背景模型,即是由該幀x像素點的樣本集合和相鄰之間的幀差構成的,例如和表示的是相鄰三幀x位置處的像素值,幀差值存儲得到Nk,最終得到Dk作為背景模型樣本值。

圖2 改進ViBe算法的框架圖

ViBe 算法在模型更新中,固定的半徑R和更新率T不適合在真實背景環境。為適應多模態的場景,本文根據背景的復雜程度來調整更新率T(P)和半徑閾值。第k幀中x位置的新像素點與其樣本集合之間的距離差異反映當前位置像素點的差值,即反映像素級的背景復雜程度,忽略了背景變化中存在的空間相關性。將幀差值作為背景模型中的一部分,填補像素級存在的信息不充分的問題,第k幀中x位置的新像素點與其樣本集合之間的最小距離值與背景模型中存儲的三幀差分值比較,獲取最小值表示當前位置像素點的復雜情況,如公式(4)所示:




在背景模型更新階段,應用自適應調節因子提高檢測運動目標的準確性。在光照突變、相機抖動和樹葉晃動的背景環境下,為提高其檢測準確性和完整性。將三幀差分和改進ViBe 算法的結合獲取到前景目標,通過邏輯或、邏輯與、中值濾波操作和形態學濾波操作得到最終的前景目標,這樣就形成優劣互補,提高目標檢測的準確性和完整性。改進ViBe算法得到的前景目標經過中值濾波(用于保護邊緣信息)和形態學濾波處理(消除噪聲和填補空洞),最終得到前景圖像。三幀差分提取到的前景目標,對三幀差分和改進ViBe 算法得到的前景目標進行邏輯“或”運算,如公式(8)所示:

上述獲得的結果再和改進ViBe算法進行邏輯“與”運算,如公式(9)所示:

公式(9)的處理前景目標經過形態學濾波操作,形態學操作包括開運算(消除小物體或小斑塊)和閉運算(填充孔洞),其中B表示大小為(3,3)的內核矩陣,最終得到三幀差分和改進ViBe 算法結合獲得的前景目標。公式(10)和(11)如下所示:

選用Highway 測試視頻中第273 幀圖像截取三幀差分和改進ViBe 算法進行邏輯或、邏輯與和形態濾波處理,每一步處理過程結果展示如圖3所示。
圖3顯示的結果表明,三幀差分算法提取到的運動目標,還存在著噪聲和完整性的問題;改進后的ViBe算法提取到的運動目標較為完整;將改進后的ViBe 算法和三幀差分算法提取到的運動目標進行邏輯或操作,提高目標檢測的完整性,但還存在樹影噪聲的影響;將邏輯或得到的目標和改進ViBe 算法進行邏輯與操作,消除噪聲的影響。最終將得到的前景目標再經過形態濾波處理,得到最終的前景目標。

圖3 Highway測試視頻檢測結果展示
本文算法的實驗代碼硬件環境:Intel i5,3.4 GHz CPU,RAM 8 GB。軟件環境:64位Windows10操作系統,Visual Studio 2013,OpenCV 2.3。背景模型建立參數m=100,N=20,R=20。
采用ChangeDetection(CDnet2014)數據集,提供室內室外逼真和實用性的視頻(包括共11 類有挑戰性的場景),大約有16萬幀視頻[16]。實驗選用有樹枝晃動、行人運動、抖動相機和運動緩慢的目標4 種情況的視頻,即4 組測試數據集5 569 張(Highway:1 700、PETS2006:1 200、traffic:1 570 和 Pedestrians:1 099)圖像序列完成實驗的比對。本文算法與ViBe原始算法和融合邊緣檢測的三幀差分算法進行實驗比對,從定性和定量兩個角度對其算法其結果的進行評價。
定性評價是由人眼觀察檢測結果得出的主觀量度[17],圖4給出了前景目標結果樣例。圖3第一列是Highway測試視頻在第1 638幀的效果對比,由于大風天氣造成樹枝晃動和樹影變換,文獻[18]算法在車輛擋風玻璃上漏檢了前景像素點,在樹枝晃動區域出現了噪聲;文獻[10]算法和本文算法有效地填補前景空洞和抑制去除搖曳樹枝造成的干擾。第二列是Pedestrians 測試視頻在第666 幀的效果對比,文獻[18]算法檢測到行人輪廓,漏檢了行人的上半身和左腿前景像素點;文獻[10]算法檢測的行人頭部前景像素不完整;改進的ViBe 算法檢測到行人整體像素點,沒有出現漏檢的現象。第三列是traffic 測試視頻在第1 548 幀的效果對比,相機的抖動對背景干擾很大,文獻[18]和文獻[10]算法出現誤檢,抖動相機造成晃動的樹影和震動背景像素點誤檢為前景。改進的ViBe 算法消除了背景噪聲的干擾,提高了檢測效果。

圖4 實驗檢測結果對比
如圖5 所示,第一行3 幅圖像是PETS2006 測試視頻的第542 幀、576 幀和699 幀的原圖像,圖像中紅框標明的是緩慢移動的運動目標。第二行和第三行是文獻[18]和文獻[10]算法對應時刻的檢測效果圖,可以看出紅框內前景像素已被吸收為背景像素,未能把目標完整提取出來。第四行是本文算法,可以看出本文算法檢測紅框內像素點較文獻[18]和文獻[10]算法效果更理想。

圖5 PETS2006視頻檢測結果

表1 算法定量評價
定量評價,選用精確度Precision、召回率Recall、評價F-measure 這3 個指標用于評估模型的性能[19]。前兩者之間的取值范圍在0到1之間,數值越接近1,代表的查準率或查全率越高,F-measure 是指前兩者的調和平均值。如公式(12)~(14)所示,其中TP是正確檢測為前景點個數,TN是正確檢測為背景點個數,FP是誤檢背景的前景點個數,FN是誤檢前景的背景點個數。

表1列出了本文算法與文獻[18]、文獻[10]算法在3個樣本測試視頻的精確度Precision、召回率Recall、評價F-measure 指標值對比。由表1 數據所示,本文算法的Precision、Recall 和F-measure 指標值明顯高于文獻[18]和文獻[10]算法。
本文首先對運動目標檢測的算法以及目前ViBe的改進方法進行介紹,在此基礎上提出融合改進三幀差分和ViBe 改進的運動目標檢測算法,選擇在CDnet-2014數據集選用多擾動背景環境下進行有效測試。改進算法使用基于Canny 的三幀差分改進算法建立接近真實背景的背景模型,引入自適應調節因子根據背景的復雜程度調整閾值,將其提取到的目標與三幀差分算法結合提高目標的完整性和準確性。實驗結果表明,本文算法能夠在樹枝晃動、相機抖動和目標體緩慢運動的背景環境下,得到完整和檢測準確的運動目標,具有一定的實施性和有效性。