郭志濤,曹小青,厲成元,于洪澤,王卿粹
(1.天津電氣科學研究院有限公司,天津 300301;2.河北工業大學 電子信息工程學院,天津 300401)
運動目標檢測[1]是智能視頻處理和計算機視覺過程中的關鍵技術,其主要目的是將視頻信息中的運動目標與背景分離開,以提取到清晰完整的運動目標。當前常見的運動目標檢測方法主要包括光流法[2]、背景差分法、幀間差分法[3]、視覺背景提取法等。視覺背景提取算法(ViBe算法[4])是目前比較高效的背景建模方法,其內存占用少運行速度快,抗噪性能好,十分適用于對精確度與實時性均要求較高的實時視頻監控及智能處理領域。但是 ViBe 算法在處理比較復雜情景時可能會出現運動目標檢測不完整的問題,包括運動目標內部有大量空洞、運動目標中間有斷層等[5],同時在交通監控視頻中還容易出現陰影問題[6],需要及時消除才能保證檢測的準確度。
ViBe算法主要由背景模型的初始化、前景檢測過程、背景模型的更新策略[7]三個部分組成:
(1)背景模型的初始化。ViBe算法利用視頻序列的第一幀來初始化背景模型,再以幀為單位迭代對每幀的每個像素點進行建模。在用視頻序列第一幀初始化背景模型時,用v(x)表示像素點x處的背景像素值,用M(x)表示x處的背景樣本集,其背景模型為(1)式。
M(x)={v1,v2,…,vN}
(1)
(2)前景檢測過程。比較每個新像素值v(x)和樣本值M(x),若新像素值和樣本集中每個樣本值的歐式空間距離小于閾值R,則近似樣本點數增加,一旦近似樣本點數大于判定閾值Min,則判定其為背景點,否則為前景點。
(3)背景模型的更新策略。ViBe算法背景模型的隨機更新策略主要包括:第一,無記憶更新策略。用新的像素值隨機取代像素點樣本集M(x)中的一個樣本值來確定該像素點需要進行更新的背景模型。第二,時間取樣更新策略。實際過程中并不是每幀都更新,而是按一定的更新率更新背景模型。
針對傳統ViBe算法閾值R固定,容易出現背景誤檢為前景和前景誤檢為背景的問題,本文分別定義了兩種誤檢情況對應的評價函數evaluation1(k)和evaluation2(k)來動態調整閾值R。下面將分別介紹兩種評價函數以及動態閾值R的定義式。
2.1.1 評價函數evaluation1(k)定義
評價函數evaluation1(k)以視頻幀中目標像素點數量的變化情況為評價對象,如果檢測到小范圍幀內目標像素點數量發生劇烈波動則說明前景目標區域檢測并不穩定,此時需要提高背景模型的準確度。
首先,用傳統ViBe背景建模方法得到K幀(例K取值為20)圖像的運動目標二值圖并統計每幀二值圖的目標像素點個數Data(i) (i=1,2,...,K),再統計這K幀圖像目標像素點個數Data(i)與第一幀目標像素點個數Data(1)差值的波動情況,并設定波動范圍為正負T1。第一種評價函數的定義如式(2)所示。

(2)
其中,W、H分別為圖像的寬和高。最后用同樣方法得到第(K,2K),(2K,3K),...幀的評價函數。
2.1.2 評價函數evaluation2(k)定義
評價函數evaluation2(k)以檢測完整率為評價對象,即單幀圖像運動目標檢測的完整性,評價目標是否存在內部有空洞、斷層、邊緣呈C字型凹陷等問題。
定義ViBe算法檢測到的單幀圖像的運動目標區域為area1,包含目標區域的最小凸形區域為area2,則區域差Δarea如式(3)所示。
Δarea=area2-area1
(3)
若圖像里包括n個獨立的目標區域,則圖像的總區域差定義為式(4):

(4)
該式表明第二種誤檢情況不僅與閾值R有關系,也與圖像內的運動目標個數n有關。為了更好地表明第二種評價函數與閾值R及運動目標個數n之間的關系,其定義式如式(5)所示。

(5)
2.1.3 動態閾值R調整方法
基于以上兩種評價函數對閾值R的影響分析,定義閾值R的動態調整式如式(6)所示。
(6)
其中T1、T2分別為評價函數evaluation1(k)、evaluation2(k)的比較門限,ΔR為閾值R的增量。
傳統ViBe算法根據上式(6)實現閾值R動態更新后,得到的檢測目標圖再進行中值濾波。
在交通監控視頻中,除了上述提到的運動目標檢測完整性,陰影能否及時有效消除也直接影響運動目標提取的準確度,關系著后續目標的識別、跟蹤過程,因此本文提出了一種融合顏色特征和角點特征的陰影消除方法。
2.2.1 顏色特征
陰影區域的像素亮度值相較于同位置的背景區域會更低[8],根據這一特性可以初步判定陰影區域。判定方法為將RGB顏色空間內一個像素的R、G、B分量與參考背景像素的R、G、B分量進行比較,若均有所降低,則該像素被初步判定為疑似陰影像素點,以此方法得到一個疑似陰影像素點集。考慮到現實視頻中存在的噪聲問題,定義判定公式如式(7)。
(7)
其中SRGB為疑似陰影像素點集, (xbg,ybg)為參考背景像素點,(x,y)為當前幀像素點,(t1,t2,t3)為噪聲干擾量,可依視頻情況調整。參考背景像素點(xbg,ybg)由ViBe算法背景建模取均值給出并進行更新。
2.2.2 角點特征
角點為鄰域內具有兩個主方向的特征點,其所在的區域通常穩定且包含信息豐富,具有光照不變性、仿射不變性[9]。角點檢測結果在同一場景中不受光照變化影響,而且角點分布情況與車輛結構密切相關,陰影區域形狀較光滑角點少,而車輛區域處角點密集。
采用Shi-Tomasi方法[10]提取視頻流中的角點特征,標注為彩色圓點,檢測結果圖如圖1所示。由于角點特征主要集中在車輛車燈、車窗、防護杠等處,且成帶狀或聚合狀分布,因此可以采用最小距離聚類算法進行模式聚類,轉換角點分布問題為點集聚類問題。根據得到的聚類結果,利用快速凸包方法畫出一個包含聚類點集的面積最小的凸多邊形,該凸包即為可能的運動車輛區域。將根據顏色特征判定的結果與角點特征得到的凸包進行陰影融合,即可以得到陰影區域并進行清除。

圖1 角點檢測結果圖
本文實驗環境為:Win 7系統,雙核 Intel Core i5-5200U @ 2.20 GHz,8 GB內存的計算機;算法采用 Visual Studio 2010和 Open CV 2.4.11編譯實現。實驗數據采用三個標準測試視頻,并與傳統ViBe算法進行對比實驗。三個視頻數據具體信息如表1所示。
表11 測試視頻數據信息

視頻名稱分辨率幀率總幀數highwayⅠ320×24014438Intelligentroom320×24010300campus352×288101 170
在測試中根據測試結果不斷調整評價函數比較門限和閾值R的增量,最終確定當T1=0.05,T2=0.2,增量ΔR=2時得到最好的檢測結果。為了更全面驗證改進算法在各種視頻環境中的效果,本文選取三種典型的監控視頻進行測試。視頻intelligentroom為室內監控視頻,視頻campus為室外監控視頻,這兩個測試視頻均背景較復雜。視頻highwayⅠ為交通監控視頻,目標動態性較強,且容易有陰影干擾檢測結果。
表2為intelligentroom 視頻第284幀和Campus視頻第1064幀的檢測結果。從中可以看出intelligentroom 視頻室內背景復雜,運動目標與背景區分不大,傳統ViBe算法不能根據不同情況及時調整R,因此運動目標檢測準確度并不高,可能會出現284幀目標內部有空洞、目標邊緣殘缺的問題。Campus視頻中室外光照條件不是很理想,背景較復雜,運動目標較小,這幾個因素均為運動目標提取造成困難,其第1064幀出現了目標中間有斷層的問題。本文改進算法有效解決了以上問題,得到更為清晰完整的目標,為后續視頻分析處理提供良好的基礎。
表12 intelligentroom、Campus 視頻檢測結果

幀數原始圖像原Vibe結果改進Vibe結果2841 064
圖2為highwayⅠ測試視頻第308幀的目標檢測結果,交通監控視頻中運動目標移動速度快,傳統ViBe算法由于閾值固定很難達到實時調整的要求,故而容易出現目標內部有空洞和目標邊緣殘缺等問題。本論文的改進算法自適應調整閾值R,并結合上述提出的融合顏色特征和角點特征的陰影消除方法,其檢測結果較傳統算法更加清晰,檢測準確度較高。

圖2 highwayⅠ視頻檢測結果
傳統ViBe算法檢測背景復雜或目標動態性較強的視頻時容易出現檢測不完整的問題,本論文針對這一問題分別定義了兩種評價函數來動態調整閾值R,使其在不同檢測情況下自適應調整,得到更加準確、完整的目標區域。同時提出的融合顏色特征和角點特征的陰影消除方法也可以及時消除交通監控視頻的陰影區域,檢測結果更加準確。實驗結果表明改進算法在各項評價指標上較傳統ViBe算法均有所改進,在視頻監控應用方面具有一定的實用性。