官洪運,井倩倩,王亞青,繆新苗,張抒藝
(東華大學 信息科學與技術學院,上海201620)
隨著電子技術與計算機視覺技術的不斷發(fā)展,視頻監(jiān)控被廣泛地運用于各種場所。動態(tài)目標檢測作為獲取視頻信息的重要技術,其實時性與準確性變得至關重要。常用的動態(tài)目標檢測算法有幀差法、背景差分法以及光流法[1]。幀差法由于計算簡單,算法運行速度快,光照突變也不會對其造成影響,但是當運動目標在相鄰幀位置變化緩慢時,算法提取出的前景目標會出現空洞現象[2]。背景差分法的關鍵是背景建模及背景更新,其基本思想是利用背景的參數模型來近似真實背景,再用當前圖像幀與背景模型進行差分,從而達到檢測運動目標的目的[3]。但是由于背景無法做到實時更新且在攝像頭運動的情況下算法的檢測效果也會受到一定影響。光流法的基本原理是為圖像中的每一個像素建立一個運動矢量,當圖像中存在運動目標時,運動目標的矢量場會與背景的矢量場存在明顯差異,由此來獲取圖像中的運動目標[4],但是無法同時保證光流法的時效性與準確性。
ViBe 算法由于思想簡單、檢測效果好且易于實現,被廣泛運用于動態(tài)目標檢測,但是算法自身也存在著局限性,會產生鬼影、空洞和陰影前景等問題[5]。文獻[6]提出一種結合三幀差法的改進 ViBe算法,解決了ViBe 算法光適應性差的問題;針對傳統ViBe 算法存在鬼影問題,文獻[7]提出了一種V-ViBe 算法的改進方案;文獻[8]為了解決陰影問題,結合色相和紋理特征對ViBe 算法做出了改進。
針對傳統ViBe 算法的鬼影和陰影問題,本文提出了一種更加有效的目標檢測算法,利用均值背景建模對傳統ViBe 算法進行改進,消除鬼影現象,并且在此基礎上進一步融合了混合HSV 色度空間與HSI 色度空間的閾值自適應陰影消除算法,消除了前景目標中包含的陰影區(qū)域。
2009 年 ,Olivier Barnich 和 Marc Van Droogenbroeck首次提出了ViBe 前景檢測算法。ViBe 算法是一種魯棒性強的隨機背景建模的動態(tài)前景目標檢測算法,其計算過程簡單、實時性高、應用廣泛。
ViBe 算法使用視頻序列的第一幀圖像進行背景模型初始化。在初始化過程中,對每個像素隨機抽取鄰域內的像素值生成樣本集,構建背景模型。通常一個像素點在其8 鄰域的范圍內隨機選取20個樣本點來構建對應的背景模型。由于ViBe 算法只使用視頻序列的第一幀來構建背景模型,背景模型初始化時間大大縮短,使得算法的實時性變得更好。但是當第一幀圖像中存在運動目標時,這樣的方法會使檢測結果出現所謂的“鬼影”,經過一段時間背景更新后鬼影才會消除,動態(tài)目標檢測的準確性會有所降低。
ViBe 算法根據二維空間中的歐氏距離來對像素點進行分類,從而分割前景與背景。記 v(x)為 x位置像素點的像素值,S(v(x))是以像素點為中心,R 為半徑生成的圓形。以 v(x)與 x 像素點的背景模型中的所有樣本點的歐式距離與半徑閾值R 進行比較,小于閾值時則說明當前像素點與該樣本點匹配。記 #min 為最小匹配次數,當前像素點與背景模型中的樣本點的匹配次數大于#min 時,將該像素點分類為背景點,反之則分類為前景點。
ViBe 算法背景更新即對構成像素點背景模型的樣本集的更新。當像素值被判斷為背景點時,用當前像素的像素值替換樣本集中的樣本點的概率為 1/φ(一般 φ 取 16)。同時 根據鄰域傳播 原 則 ,該像素點鄰域中的像素值也將以相同的概率被當前像素點的像素值替換,這種策略有效地保證了空間一致性,可以很快地恢復被誤判為前景目標的背景像素。
在傳統的ViBe 算法中使用第一幀來進行背景模型初始化,但是當視頻第一幀存在運動目標時,初始背景模型的準確性會受到很大的影響,導致動態(tài)目標檢測會出現鬼影現象。因此提高初始背景模型的準確性會消除前期檢測的鬼影現象。本文利用均值背景建模構建了ViBe 算法的初始化背景。
均值背景建模是背景差分法的一種,其背景建模是基于統計濾波思想[9]。原理是將一段時間采集到的N 幀圖像相加,求其平均值,計算出的圖像作為參考背景模型。計算公式如式(1)所示:

其中,Bn為計算出的參考背景,N 為選取的幀數,(fn+fn-1+…+fn-N+1)為連續(xù)的 N 幀圖像。根據式(1)對視頻序列進行均值背景建模,獲取的初始背景模型如圖1 所示。

圖1 數據集不同幀數獲取的參考背景
從圖1 可知,當計算均值背景選取的幀數越大,得到的背景就越貼近真實背景;選取的幀數越小,有前景目標經過的背景區(qū)域顏色會比真實背景相同的區(qū)域更深。
融合了均值建模的ViBe 算法在開始時就已經獲得了較為準確的背景模型,所以前景提取不會出現鬼影現象,大大提高了動態(tài)目標檢測的準確性。
傳統的 ViBe 算法是在像素點 8 鄰域的范圍內隨機選取20 個樣本點構成背景模型,這樣會導致背景模型中樣本重復的概率增大,重復選取樣本會增大背景點與前景點的誤判概率,所以本文將像素點的 24 鄰域作為背景模型樣本選取范圍,降低樣本重復選取概率,從而降低誤判概率。
改進的ViBe 算法選取了均值背景建模的結果作為背景初始化模型,有效地消除了鬼影現象。由于光照因素,視頻序列中的動態(tài)目標會產生陰影,并且陰影的運動特性與真實目標相似,所以陰影也會被誤檢為前景目標,會對檢測的準確性造成影響。
HSV 是根據顏色的直觀特性由A.R.Smith 在1978 年創(chuàng)建的一種顏色空間,模型中的三個參數分別為色調(H)、飽和度(S)、明度(V)。相 較于 RGB 色度空間,HSV 更貼近于人眼感覺顏色的方式[10]。當陰影覆蓋背景像素時,色度和飽和度基本不發(fā)生變化,只有亮度會明顯降低。基于這一特性,根據式(2)來判斷像素點是否為陰影點。

當 Sp(x,y)=1 時,當前位置的像素點判斷為陰影 點 。其 中 IH(x,y)、IS(x,y)、IV(x,y)和 BH(x,y)、BS(x,y)、BV(x,y)分別是當前幀與背景圖像在(x,y)位置的像素在HSV 色度空間的分量; 由于陰影點的像素亮度小于背景點像素,因此 0≤α≤β≤1;τS是飽和度參數的閾值;τH是色度參數的閾值。
HSI 色彩空間是從人的視覺系統出發(fā),與HSV色度空間不同的是亮度分量。HSI 色彩空間可以用一個圓錐空間模型來描述,而HSV 色度空間相當于一半的圓錐空間模型。HSV 陰影消除也是根據亮度來區(qū)分陰影點。本文中主要使用了HSI 色度空間中的亮度參數來獲取當前視頻的亮度,從而動態(tài)設置判斷條件的閾值。
陰影是由于物體遮擋光線而形成的,它會隨著物體的運動而運動,所以會被誤檢為前景目標。對于視頻序列中同一位置的區(qū)域,被陰影覆蓋時的亮度相較于沒有覆蓋時會降低,但當運動目標經過時亮度一般會比真實背景區(qū)域的亮度要高[11]。本文基于這一特征進行陰影消除。
首先讀取視頻幀,此時讀取的圖像處于RGB 色度空間。進行陰影消除之前需要將圖像轉換至HSV色度空間。RGB 轉換至 HSV 的公式如式(3)~式(5)所示:

運動目標陰影和背景相比較只有V 分量明顯降低,在HSV 色度空間中,陰影像素點三個參數的向量和小于被覆蓋的背景像素點的向量和,所以陰影判斷公式如式(6)所示:

如果 Sp(x,y)=1,則像素點為陰影點;如果 Sp(x,y)=0,則像素點為前景點。其中 IH(x,y)、IS(x,y)、IV(x,y)和 BH(x,y)、BS(x,y)、BV(x,y)分 別 是 當 前 幀 與 背景圖像在 (x,y) 位置的像素在HSV 色度空間的分量;α 和 β 分 別 為自 設閾值 。
在實際情況中,攝像頭采集到的視頻序列亮度會不斷發(fā)生變化,為了達到最好的陰影消除效果,需要更改判斷條件的閾值。所以考慮到算法的實用性,進一步對算法進行改進,使其可以根據當前檢測視頻亮度自動更改陰影判斷閾值。將視頻轉換至HSI 色度空間,獲取視頻亮度分量如式(7)所示:

在當前圖像隨機選取一定數量的像素點計算HSI 色度空間的亮度分量,根據式(8)計算均值作為當前幀的亮度。

根據多次實驗結果總結,自適應閾值更改公式如式(9)所示:

視頻經過運動目標提取和陰影消除后,為進一步消除圖像小部分區(qū)域殘存的陰影,以防止提取到的車輛目標中存在空洞,利用圖像處理中的膨脹、腐蝕、開運算與閉運算等形態(tài)學處理操作,去除未消除的小區(qū)域陰影像素點及噪聲點,之后再對提取出的車輛前景進行孔洞填充,從而提取出完整的運動目標。
本文實驗環(huán)境為1.4 GHz 4 核 Intel Core i5 處理器、8 GB 內存計算機,系統為 MacOS Mojave,運行環(huán)境為 PyCharm CE,結合開源 OpenCV 庫。
為了驗證本文提出的目標檢測算法的有效性,采用國際上通用的標準數據集Highway I 和Highway II進行實驗。分別對不同光照強度下的道路車輛進行檢測及動態(tài)陰影消除。本文提出的 ViBe 改進算法實驗結果與傳統ViBe 算法實驗結果進行比較,結果如圖2 所示。其中圖2(a)為 Highway I 和 Highway II視頻序列的第 1 幀圖像;圖2(b)為 Highway I 視頻序列的第 56 幀和 Highway II 視頻序列的第 114 幀輸入圖像;圖2(c)為傳統 ViBe 算法對 Highway I 視頻序列的第56 幀和 Highway II 視頻序列的第114幀的實驗結果;圖2(d)為改進 ViBe 算法,即融合均值背景建模算法對Highway I 視頻序列的第 56 幀和 Highway II 視頻序列的第114 幀的實驗結果;圖2(e)為本文提出的基于ViBe 改進算法的閾值自適應陰影消除算法對Highway I 視頻序列的第56幀和Highway II 視頻序列的第114 幀的實驗結果。
由于兩個視頻序列第一幀均存在運動目標,從圖2(c)的實驗結果可以看出,傳統的 ViBe 檢測算法存在嚴重的鬼影現象,在 Highway I 第 56 幀和Highway II 視頻第114 幀中動態(tài)目標提取結果中仍存在明顯的“鬼影”,并且視頻中的運動陰影也會被當作前景提取出來。從圖2(e)的實驗結果可以看出,本文提出的算法有效地抑制了鬼影的產生和陰影像素點的錯誤提取,很好地提取出運動前景,并且經過形態(tài)學處理之后,運動目標更加清晰完整。

圖2 實驗結果
動態(tài)目標檢測是獲取視頻序列中信息的關鍵步驟,保證目標檢測的準確性十分重要。本文提出了一種融合改進的ViBe 和閾值自適應混合色度空間陰影消除的動態(tài)目標檢測算法,該算法有效地抑制了傳統ViBe 算法產生的鬼影,并且消除了動態(tài)目標產生的陰影。實驗表明,本文提出的動態(tài)目標檢測算法易于實現,具有很好的實時性及魯棒性,且可以準確提取出運動目標,得到的目標完整且輪廓清晰。