?

一種提升鬼影抑制性能的改進視覺背景提取算法

2024-03-10 09:54張義飛
鄭州航空工業管理學院學報 2024年1期
關鍵詞:鬼影時域背景

杜 瑾,蘇 雨,張義飛,鄒 坤

(1.中國空空導彈研究院,河南 洛陽 471000;2.空基信息感知與融合全國重點實驗室,河南 洛陽471000;3.西北工業大學,陜西 西安 710072;4.中航光電科技股份有限公司,河南 洛陽 471000)

0 引 言

相機等攝影錄像設備的廣泛使用和互聯網信息的快速傳播帶來了大量視頻數據,目標在這些數據中占較小比例卻包含了大部分信息量[1]。作為處理視頻的計算機視覺任務的第一步,運動目標檢測為視頻中運動目標“在哪里”的問題提供可靠信息,可以高效提取視頻數據信息,在智能視頻監控、智能交通系統、航空航天、國防軍事等需要自動分析視頻的領域有著潛在經濟價值和良好應用前景[2,3]。運動目標檢測的任務是確定視頻幀中運動目標所在區域,即分離視頻中的前景運動目標和背景,為視頻每一幀生成指示運動目標的二值圖。

背景減除法是較為常用的運動目標檢測算法,其關鍵步驟是將背景圖像與當前圖像的像素、區域等進行比較,從而獲得運動目標所在區域[4]。依照建模方式,背景減除法可分為基于參數的方法、基于樣本的方法、基于低秩的方法和基于深度神經網絡的方法[2]?;跇颖镜谋尘皽p除法應用較為廣泛,通常是通過收集一系列樣本值來建立背景模型。Barnich等[5]提出的視覺背景提取算法(visual background extractor,Vibe)是較流行的基于樣本的方法之一,其核心是利用第一幀圖像內各像素的鄰域像素產生背景樣本,通過判別當前幀各像素點和背景樣本的相似度來區分前景和背景像素。該算法只需利用一幀圖像的鄰域像素完成初始化,且計算量小、內存占用小,由于其快而準的檢測能力而受到越來越多的關注[6]。

原始Vibe 算法采用保守更新的方式,不能及時更新背景模型以適應背景變化,因此利用Vibe 算法檢測運動目標的挑戰之一是易引入“鬼影”[7]。如果Vibe 的背景樣本中包含運動區域像素,當運動目標離開該區域時,該區域一系列聯結的像素點會被誤判為前景運動目標,即“鬼影”(“ghosts”)。因此,若視頻初始幀包含的運動目標或原本靜止的運動目標開始運動,會出現鬼影現象,即原本屬于背景的像素被錯誤分類為前景像素。每幀檢測結果中的鬼影作為虛假目標,其所在區域的像素在檢測結果中屬于對運動目標的誤檢像素,且可能與真實目標區域的像素粘連,導致難以將視頻幀中的前景運動目標準確提取出來,這會對運動目標檢測的后續任務造成干擾[8]。如何快速有效地消除鬼影是運動目標檢測算法需要解決的問題之一[9]。本文對這一問題進行研究,提出使用時域區間參考模塊來已知鬼影,以達到準確提取運動目標的目的。

針對鬼影問題,文獻[7]、文獻[10]和文獻[11]都提出在背景模型中加入計算像素被判定為前景次數的模塊,但該方法需依據經驗提前設定全局計數閾值,對復雜場景適應性較差。利用鬼影區域與運動目標區域的鄰域特性存在差異(如方差[12]、直方圖[6,13,14]等),可以確定鬼影像素點,但此類方法對時間信息利用不足??紤]到初始化背景樣本中包含運動區域像素是引入鬼影的因素,文獻[11]和文獻[15]都采用前幾幀作為初始化背景樣本選取的范圍,使得初始化背景模型包含背景信息,但該方法對于后續視頻幀中原本靜止的目標轉為運動狀態產生的鬼影抑制效果較差。上述方法對Vibe 算法的改進方式主要可分為兩類,或是在Vibe 算法背景初始化階段利用視頻某幾幀來擴大背景樣本抽取范圍,或是利用一定的手段確定鬼影區域再對其進行處理[3]。為充分利用視頻幀序列的時空信息,本文將利用多個視頻幀與判別鬼影的改進方式綜合考慮,提出利用時域區間內的像素信息來區分鬼影像素與運動目標像素,在識別出鬼影像素后將其劃分為背景像素,從而緩解鬼影現象。

本算法研究對象是視頻中的運動目標,因此選擇運動目標檢測常用的CDnet2014[16]數據集中的視頻序列作為實驗對象。本文提出的TIR-Vibe 算法相比原始Vibe 算法加入了時域區間參考(temporal integral reference,TIR)模塊,該模塊利用連續視頻幀區間內同一位置像素的統計值,以該統計值作為二次判別前景像素的參考依據,通過比較當前幀前景候選像素與參考值的差異來識別鬼影像素,從而去除誤判為前景的鬼影像素,最終實現對視頻序列中運動目標的檢測。

1 Vibe算法

Vibe 算法是一種基于樣本一致性進行建模的背景減除法,本文為緩解原始Vibe 算法帶來的鬼影問題,加入了時域區間參考模塊來改進Vibe算法。

1.1 背景模型及其初始化

Vibe 算法為每個像素建立的背景模型M(x) ={v1,v2,…,vN}為N個背景樣本的集合(N取值為20 時效果最好[5]),模型建立在圖1 所示的2D 歐式顏色空間(C1,C2)內,其中,v(x)為當前像素,vi為第i個背景樣本,圖1中展示了N= 6時v(x)的背景模型,其中每個黑色實心圓表示v(x)的每個背景樣本[5]。與其他常用的背景減除法不同,Vibe 算法根據鄰近像素具有相似性的思想,只需一幀圖像即可完成模型初始化。對于第一幀圖像中的各像素,其背景模型是通過在其鄰域中隨機選取N次像素填充而得到的。

圖1 像素v(x)的背景模型

1.2 像素判別

與其他背景減除法的判定思想相同,V i b e 算法根據像素與背景模型的相似程度來判定像素為背景或者前景,其判別指標是距離閾值R和決策閾值#min。具體而言,如圖1 所示,在當前像素v(x)的所有背景樣本中,如果樣本在以該像素為中心、半徑為R的圓內(滿足dist(v(x),vi)<R),則認為像素與該背景樣本匹配,這樣的樣本的個數記為#R,即#Rv(x) =#{SRv(x) ?{v1,v2,…vN}}。然后,將#R與設定好的決策閾值#min比較,如果#R小于#min,則判定其為前景像素,否則認為該像素與其背景模型相似程度較高,把該像素分類為背景像素,并更新其背景模型[5]。

1.3 背景更新

依據是否將前景像素點包含到模型中,背景減除法更新機制分為保守更新機制和盲目更新機制。保守更新的模型不包含前景像素,但在靜止的背景物體突然開始移動的情況下(比如,停著的車開始行駛)會引起“死鎖”,即被錯誤分類為前景的背景樣本并不會被加入背景模型中;盲目更新機制會把前景像素包含進背景模型,但同時也意味著不能有效檢測出移動速度很低的運動目標。Vibe 算法采取的是保守更新機制,并引入無記憶更新、隨機時間子采樣和鄰域像素空間傳播的樣本更新策略。如果某個像素經判別被認為是背景像素,則從它的背景模型中隨機抽出一個樣本替換為當前像素,而不是“先進先出”的替換方法,這種無記憶更新的方式保證了每一個樣本更新概率相同,都有指數平滑衰減壽命,從而提高算法的魯棒性[17]。由于在現實場景中,并非需要更新每一幀像素的每一個背景樣本,因此,Vibe 引入了隨機時間子采樣,并引入時間子采樣因子Φ(Φ = 16)[5]。出于空間一致性的考慮,在更新某個像素的背景模型的同時,其鄰域像素的背景模型也會被隨機更新,即空間擴散。綜合以上策略,若v(x)被判定為背景像素,則以1/Φ 的概率隨機選取背景模型中的一個樣本并用該像素值代替樣本值,同時以相同的概率隨機替換其鄰域像素的背景樣本。

2 用于抑制鬼影的時域區間參考

2.1 鬼影問題

為說明“鬼影”問題,截取CDnet2014 的baseline視頻組中highway 視頻序列第1000 幀以后的序列幀,即以原1001 幀作為新視頻序列初始化幀。由于highway 序列第1001 幀中含有運動目標,當使用原始Vibe 算法時,這些目標區域像素會被包含到初始化背景樣本,使得后續幀中該區域被誤檢為前景。如圖2所示,對第1001幀對應groundtruth圖中的運動目標用外接矩形框指示,同樣位置和大小的方框在后續第1201幀的檢測結果圖對應的區域內出現鬼影,可以看出,經過200幀后原始Vibe算法仍未完全消除鬼影像素。

圖2 “鬼影”現象

如前所述,因Vibe 算法采取了保守的背景更新方式,所以易出現“鬼影”問題,盡管其樣本更新策略可使鬼影像素慢慢吸收進背景模型中,但經過較多幀數后才可將鬼影區域完全消除,對檢測準確度不利。本文基于視頻幀序列中背景部分占有較大比例的規律,使用一定長度時域區間內多個連續視頻幀的像素統計值獲得背景參考,根據像素值與背景參考的差異區分出前景像素與鬼影像素,并將鬼影像素歸為背景像素,以實現對鬼影的抑制。

2.2 時域區間參考

對于一個視頻幀序列,將其按照選定的時域區間長度劃分為若干區間,例如,一個200 幀的視頻序列按照25 幀的時域區間長度將劃分為8 個區間。在時域區間內,均值和眾數在一定程度上可反映像素值時間分布的總體情況和出現頻次,而中位數可以降低異常像素值的影響,本文的時域區間參考模塊綜合利用這些統計數。在本文提出的時域區間參考模塊中,使用每一區間內的每個視頻幀在同一位置處的像素值組成該位置像素的時域區間集合,綜合使用取均值、取中位數等統計方式對該集合進行處理,獲得該集合的像素統計值,該像素統計值即該位置處像素在該區間內獲得的時域區間參考值,以該值作為辨識鬼影像素與前景像素的背景參考值。通過對視頻幀每個位置處像素作上述統計學處理,便可獲得對應的時域區間參考幀,時域區間參考幀相當于對視頻畫面中運動目標所占區域做了一定的時域平滑處理,以使該區域像素取值偏離原本的運動目標像素而更接近背景像素。

圖3(c)、圖3(d)和圖3(e)展示了以pedestrians 視頻序列第701 幀至725 幀為時域區間時,分別取時域上的均值、眾數和中位數的情況下獲得的參考幀。設選定的時域區間長度為m,即該區間內有m個連續視頻幀,以這m幀圖像中同一位置處像素作為統計對象,該位置處的背景像素參考值是按照以下方式做統計處理而獲取的,記為由第k個區間獲得的時域區間參考幀,則由第k個區間獲得的視頻幀中(x,y)處背景像素參考值(x,y)為[18]:

圖3 時域區間參考幀

公式(1)中,mode、mean 和median 分別表示統計一組數據的眾數、平均數和中位數。{(x,y)}k表示第k個區間內m幀圖像中(x,y)處像素ft(x,y)的集合。

2.3 鬼影抑制

利用上述背景像素參考值,對上一節介紹的算法檢測出的前景像素做進一步處理,以這些前景像素為前景候選像素,然后對這些前景候選像素進一步作前景像素和鬼影像素的區分,區分依據是歐氏空間內像素的距離。若fg'(x,y)為經上一節算法判別出的前景像素(即前景候選像素),則鬼影像素的判別規則如公式(3)所示。

其中,SegMap(x,y)表示二值分割圖中(x,y)的像素,dist表示歐式距離,fg表明將當前像素分類為前景像素,ghost則表明當前像素為鬼影像素,應當歸為背景像素。若前景候選像素與背景像素參考值的距離小于距離閾值,則認為該像素位于鬼影區域,將該像素分類為背景像素。鬼影像素也應當吸收進背景模型中,按照Vibe 算法的無記憶更新策略和隨機時間子采樣策略,更新鬼影像素對應的背景樣本模型,即以1/Φ 的概率隨機替換其背景模型中的某個樣本為該像素值。圖4(c)中左側白色區域為鬼影,圖4(b)是利用時域區間參考模塊獲得的背景參考幀,比較圖4(c)和圖4(d)可以看出利用時域區間參考,檢測結果左側的鬼影得到了抑制。

圖4 時域區間參考與鬼影

3 實 驗

實驗平臺是Windows 10 操作系統的電腦,使用MATLAB R2017a在CDnet2014[13]數據集上進行驗證,該數據集為視頻連續幀提供有前景目標的參考真值圖像,其中,highway、pedestrians等涉及監控場景的視頻包含了一般場景需要應對的噪聲、動態背景等挑戰,因而可被用作評價運動目標檢測算法通用性的測試數據。

3.1 鬼影抑制效果

為驗證算法的鬼影抑制效果,分別從highway 序列第1001 幀和pedestrians 序列第601 幀開始截取視頻幀序列,記為high 序列和pedes 序列,以這兩個首幀含有運動目標的視頻序列作為待處理視頻序列。

Vibe 算法和本文算法對high 序列和pedes 序列的處理結果可通過圖5 直觀比較,圖5(a)自左至右對應high 序列第26 幀、第101 幀、第201 幀,圖5(b)自左至右對應pedes 序列第30 幀、第66 幀、第115 幀,圖5(a)和圖5(b)自上至下對應輸入幀、groundtruth、原始Vibe 檢測結果和本文算法檢測結果。以high 序列為例,其以highway 視頻幀序列第1001 幀為初始化幀,原始Vibe 算法對high 序列的檢測結果中明顯出現了鬼影現象。經25 幀后,本文算法已將大部分鬼影區域消除,而在原始Vibe 算法的檢測結果中,仍可以清晰看出初始化幀中的運動目標的外觀和所在區域,而這些區域內像素應被歸為背景;經200 幀后,本文算法的檢測結果中已幾乎不存在鬼影像素,而原始Vibe 算法檢測結果的左下區域和右上區域仍存在較多鬼影像素。對于pedes 序列,統計初始幀(即pedestrians 序列第600幀)運動目標在后續幀檢測結果中引起的鬼影像素的個數,本文算法的時域區間長度取為25,由于本文不涉及對陰影的研究,故陰影引起的鬼影像素不在計數范圍內。后續幀中該區域內前景像素個數如圖6所示,本文算法經50幀左右已基本將鬼影消除,而Vibe算法經250幀左右仍只抑制了部分鬼影像素。

圖5 鬼影抑制效果

圖6 鬼影像素個數的變化

3.2 運動目標檢測結果

本文使用的CDnet2014 數據集關于運動目標像素的參考真值數據可用,因而使用像素級的定量評價指標作為算法性能的評價標準[1]。定量評價指標基于TP、TN、FP、FN這4 個參數,即混淆矩陣的4個分類(如圖7所示)。

圖7 混淆矩陣的4個分類

常用的運動目標檢測指標包括準確度、召回率和F1值。準確度反映算法對運動目標所在區域的檢測準確度,召回率描述算法對運動目標包含像素的檢測完整情況,F1 值則是調和平均二者所得的值。依據以上指標構建的曲線也可用來表示算法的性能,在運動目標檢測評價中常用的曲線是precisionrecall(P-R)曲線。理想情況下,準確度和召回率越高,P-R 曲線越靠右上角,F1 值越大,表明算法具有越好的性能。

圖8 展示了在pedes 序列和pedestrians 序列上,Vibe 算法、三幀差法、混合高斯模型法(GMM)以及本文算法的檢測結果的P-R 曲線。通過圖9 中的P-R曲線可看出,本文算法對應的曲線均比其他算法對應的曲線更靠近右上角,即本文算法具有更高的檢測準確度和完整度。對于首幀存在運動目標的pedes序列來說,本文算法與原始Vibe 算法的P-R 曲線差異更為明顯,這表明本文算法可以提升抑制鬼影性能,并改善算法的檢測性能。

圖8 P-R曲線示意圖

圖9 不同算法在各序列幀上的檢測結果

圖9 中,自左至右分別為待處理視頻幀、檢測結果參考真值、三幀差法檢測結果、混合高斯模型法檢測結果、Vibe 算法檢測結果和本文算法檢測結果,表1 給出了各算法檢測結果的準確度、召回率和F1 值,其中總體一欄對應的性能指標為各序列上性能指標的平均數。high 序列、pedes 序列和PETS2006 序列的初始幀中含有運動目標,從圖9(a)-(d)、圖9(i)-(j)可以看出鬼影影響了Vibe 算法檢測結果的準確度,而本文算法的檢測結果中幾乎不存在鬼影。此外,三幀差法的檢測結果完整度較差,對應著較低的召回率;混合高斯模型法召回率相對較高,但同時也為檢測結果引入了過多噪點,會對運動目標檢測后續任務造成額外干擾。

表1 各算法檢測結果評價

從圖9中各算法對不同序列的檢測結果可看出,本文算法魯棒性較好,不僅可較好地消除鬼影,而且對噪點也有一定的抑制作用。對于highway 和pedestrians 序列,本文算法的F1 值分別比Vibe 算法提高了13.69%和6.42%;對于初始幀有運動目標存在的high 序列和pedes 序列,本文算法具有最高的準確度,且F1 值分別比Vibe 算法提高了14.02%和20.40%,這進一步驗證了本文算法通過加入時域區間參考模塊可以改進對鬼影的抑制效果。從總體結果來看,本文算法有著最高的準確度和F1值,而在各測試序列中,本文算法與其他算法相比都對應了最高的F1 值,這表明本文算法可以同時較為準確而完整地檢測出運動目標。實驗表明,本文提出的時域區間參考模塊對原始Vibe 算法有明顯的改善作用,且對于首幀包含目標的視頻序列改進效果更為顯著。

4 結 論

Vibe 算法作為一種經典的運動目標檢測算法,可以較好地檢測出運動目標,但由于其保守更新背景模型,在檢測初始幀存在運動目標的視頻序列時會出現鬼影現象。本文針對Vibe 算法的這一問題進行研究,在原始算法框架的基礎上引入更多的時空信息,在判別前景目標像素時加入了一個時域區間參考模塊,通過像素值與參考值之間的差異性進一步確定背景像素和運動目標像素,以便去除原始算法產生的誤檢像素點。實驗結果表明,本文所提出的加入時域區間參考模塊的算法可有效抑制鬼影像素,提高運動目標檢測的準確率,具有較好的檢測性能。

猜你喜歡
鬼影時域背景
“新四化”背景下汽車NVH的發展趨勢
《論持久戰》的寫作背景
基于時域信號的三電平逆變器復合故障診斷
如何消除膠印“鬼影”?
晚清外語翻譯人才培養的背景
基于極大似然準則與滾動時域估計的自適應UKF算法
基于單應性矩陣的圖像拼接方法的對比分析
基于時域逆濾波的寬帶脈沖聲生成技術
基于時域波形特征的輸電線雷擊識別
實時的靜止目標與鬼影檢測及判別方法
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合