江晗



【摘要】為了準確檢測出內河中的運動船舶并實時跟蹤船舶,提出了一種改進的Vibe算法和Camshift算法組合的多目標跟蹤方法。首先,通過Vibe算法得到運動的前景目標,再運用圖像形態學處理和連通域標記進行多目標分離,準確地提取各目標區域,最后利用Camshift算法跟蹤多個目標船舶。采用了一種基于鄰域背景區域直方圖與前景區域直方圖匹配程度的決策方式來解決Vibe算法中的鬼影問題。實驗結果表明,改進后的算法在運動目標檢測的準確率和識別率上均有所提高,且組合算法對多目標跟蹤的運算速度較快、效率較高。
【關鍵詞】Vibe算法 船舶檢測Camshift算法 多目標跟蹤Opencv
0引言
內河航運在我國經濟中扮演著極其重要的角色,它具有輸送量大、成本低、排污小、耗能省等優點,是一種較為環保的運輸方式,在運輸大規模貨物上有著無與倫比的作用。內河水域航道窄、彎道多、支流多,內河船舶船型雜亂、船載設備設施參差不齊,為在這些復雜環境下提高內河航道的監管效率,高度整合水文氣象、全球定位系統( Global Positioning System,GPS)、船舶自動識別系統(Automatic Identification System.AIS)、電子江圖、管道閉路電視系統(Closed Circuit Television,CCTV)、雷達、船舶業務等信息系統,已成為內河航道監管的發展趨勢。而CCTV系統作為航道監管的關鍵部分,如何從繁雜的視頻中獲取盡可能多的有用信息提高水上交通安全監管的工作效率,實現航道監控、船舶檢測、船舶實時跟蹤等目的成為研究熱點。基于內河航道船舶監控視頻的多目標檢測和跟蹤的主要問題是來自于復雜背景的干擾、天氣變化、目標外觀變化和光照強度等問題。
對視頻中的內河船舶進行檢測和跟蹤主要分為運動目標檢測和跟蹤檢測出的目標兩個部分。運動目標檢測目前國內外常用的算法有光流法、背景差分法和幀間差分法。其中光流法的計算量較大,易受光照變化影響,不適用于實時監控系統,幀間差分法雖然計算量小、原理簡單,但是檢測到的目標不完整,所以本文采用的是由Olivier Bamich和Marc Van Droogenbroeck提出的可視化背景提取(Visual Background Extractor)算法,即Vibe算法。Vibe算法用鄰域像素來建立背景模型,再經過比較當前輸入像素值和背景模型來得到運動前景。初始化只需要一幀,且樣本的更新是隨機替換的,能確保樣本值在一個周期內平滑的指數衰減,從而會增強背景模型對視頻場景變化的適應性,將會使檢測效果更好。但該算法還有一些待改進的地方,如鬼影問題。為了從Vibe算法檢測出的目標中找到鬼影區域,文中采用了一種根據鄰域背景區域直方圖與前景區域直方圖匹配程度來決策的方式,確定鬼影區域,消除鬼影。
現在常用的目標跟蹤算法有基于Camshift算法的跟蹤、基于Kalman濾波的跟蹤、基于粒子濾波的跟蹤等。其中在Meanshift算法基礎上改進的Camshift目標跟蹤算法能夠適應目標的大小變化來自動調節搜索窗口大小,且魯棒性好、計算簡單,十分適合實時跟蹤。
1、Vibe算法的改進方法
Vibe算法的背景建模方法會出現鬼影問題。如圖1所示,因為Vibe算法是初始背景模型是利用視頻的初始幀來建立的,則當第一幀圖像中含有運動目標的情形下(如圖1(a)所示),就會產生鬼影,如圖1(c)所示。出現鬼影的原因主要有兩種:(1)原本靜止的目標狀態轉變為運動,背景變化的速率和背景模型的更新速率達不到同步,就會產生鬼影;(2)運動目標存在于背景模型的第一幀中。 為了解決和改善前景中的鬼影問題,接下來對Vibe算法進行了改進。如圖2所示:
如圖2(b)所示,用A代表含有運動目標的最小外接矩形區域,用Af代表Vibe檢測到的目標,用Ab代表矩形框內的背景區域,則Ab=A-Ai。
算出Af的直方圖Hf和Ab的直方圖Hb,對比Hf和Ab這兩個直方圖的匹配度,若該區域是運動目標,由于Af和Ab的顏色排列差別很大,所以Hf和Hb匹配度低;如果該區域是鬼影,則Af和Ab的顏色排列相接近,Hf和Hb的匹配度高。
即鬼影判別標準如下:
其中Dist(Hf,Hb)代表相鄰背景與前景的直方圖匹配度,T代表閾值。運動目標的前景與背景的顏色直方圖差別較大,由此可以鑒別出運動目標和鬼影。
2、運動目標檢測與跟蹤算法
首先對改進后的Vibe算法檢測到的前景目標進行去噪、形態學處理,提取連通分量和區域填充,獲得較為完整的跟蹤目標。然后再用Camshift算法對提取到的前景目標進行跟蹤,運動目標跟蹤流程如圖3所示。
3、實驗結果及分析
本文算法的實驗發平臺是Qt5.7.O+VS2015,同時還結合了Opencv3.1提供的庫函數。
為了驗證Vibe算法改進后的運動目標檢測效果,本文分別對Vibe算法和改進后的Vibe算法進行了實驗。
如圖4(a)所示,視頻的第一幀圖像就存在運動船舶,即背景模型的初始幀存在運動目標,如圖4(c)所示,當視頻運行到第274幀,采用原來Vibe算法,檢測到的前景目標產生了鬼影。而如圖4(d)所示,采用改進后的Vibe算法,得到的運動目標檢測結果中,成功的去除了原來的鬼影。
為了驗證本文跟蹤算法的性能,下面用本文的目標跟蹤算法分別對單運動目標跟蹤(圖5)和多運動目標跟蹤(圖6)進行實驗。
采用本文的檢測和跟蹤方法,進行多組實驗,統計實驗結果并整理實驗數據后,可知單目標跟蹤比多目標跟蹤的準確度要高,之所以有這樣的結果,主要是因為在多目標跟蹤的過程中運動目標會相互遮擋。
本文算法雖然在單目標跟蹤上準確度較好,多目標跟蹤上略差一些,但是算法的處理速度很快,跟蹤速率平均為0.120s/幀,能滿足實時跟蹤的需求。
4、結語
提出了一種改進的Vibe算法和Camshift算法組合的多目標跟蹤方法。采用了一種基于鄰域背景區域直方圖與前景區域直方圖匹配程度來決策的方式對Vibe算法進行了改進,且與Camshift算法結合的目標跟蹤算法魯棒性高,運算簡單。實驗結果表明,改進的Vibe算法在運動船舶檢測的準確性上得到了提高,而且目標跟蹤的運算效率較高能滿足實時跟蹤的要求。而如何提高多目標跟蹤的準確率,解決多目標跟蹤中運動目標相互遮擋的問題,是下一步繼續研究的方向。
參考文獻:
[1]楊光偉,肖廣貞.水上交通智能管理系統在內河海事的應用[A].中國航海學會內河海事專業委員會、武漢內河交通安全法規研究所.中國航海學會2014年海事管理學術年會優秀論文集[C],中國航海學會內河海事專業委員會、武漢內河交通安全法規研究所:,2014:6.
[2]Wei p,Lu X,TangT,et al.A highway vehicledetectionmethod based on the improvedvisual background extractor[C].InternationalConferem:e on hzzy SystenIs and XnofvledgeDiscovery.IEEE,2018(1):1519-1524.