王 瑩,毛蘭霞
(1.無錫職業技術學院 汽車與交通學院,江蘇 無錫 214121;2.江蘇省無錫交通高等職業技術學院,江蘇 無錫 214151)
為了判斷內河船舶航跡是否異常,必不可少的就是要獲取船舶的航跡等各方面信息,便要預先完成的是運動目標的檢測。將視頻圖像序列中存在變化的區域分割出背景圖像就是通常所說的運動船只的檢測,對于運動船只檢測的方法主要有背景差法、光流法和幀間差分法三種。
在本文中,提取運動目標的特征采用背景差法[1]:第一步是確定背景,背景圖像通常會選用圖像序列中一幀或幾幀圖像的平均值,第二步是確定運動目標,為了消去背景,把背景圖像之后的序列圖像的當前幀減去背景圖像,此時設定一個閾值,若相減得到的像素值大于之前設定的閾值,則被監視場景中可以確定運動物體的存在,可以進而得到運動目標。[2]當被檢測的船只行動區域不大且背景圖像為準靜態或是靜態時,用得最多的一種運動分割的方法是背景差分法,這種情況下,背景差分的計算量雖然小但是提供的數據特征卻是最為完備的,因此具有很大的實際應用價值,同時,為了彌補它在動態背景下實時性差的缺點,實時更新背景模型需要經常被考慮到。除此以外,得到航道水路中船舶的立體尺寸、航速、航向、交通流信息以及天氣情況是在船舶檢測的同時進行的。
通常來說,在序列圖像中,將與背景圖像相比有變化的區域分離出來的這種手段稱之為運動目標的檢測。
基于視頻信息的船舶檢測及其后續的預警流程主要有視頻圖像的采集;視頻圖像序列的分析(包括分析圖像和船舶的位置、速度、大小以及對船只的計數)和對船舶所進行的預警處理這三個步驟。在這其中視頻的采集主要由視頻的采集和存儲系統來完成。而在視頻的圖像序列的分析階段,通過圖像處理的分析技術可以獲得船舶的位置、速度、船只的大小,以及船舶的數量等信息。在對船舶進行的預警處理階段中,首先需要通過圖像域對實際域的映射從而獲得船舶在實際情況中的位置;然后再根據預先設定的預警區域對船只進行瞬態預警或者預測預警。在基于視頻信息處理的船舶檢測及其預警的整個流程中,視頻序列的處理是實現船舶的檢測與預警的基礎。在視頻序列處理過程中涉及的主要處理方法有圖像預處理,即視頻中的圖像濾波和圖像增強等手段;運動目標的檢測,它主要是基于圖像的形態學原理來實現的。
現有的運動目標的檢測方法一般來說可以分為三大類:光流法、幀間差分法和背景減除法[4]。
當被檢測的目標與檢測者產生相對運動時,視覺心理學認為給檢測者帶來目標的運動結構信息的是被檢測目標表面具備光學特征的局部位移。光流就是指檢測工具和被檢測目標間的相對移動時帶來的亮度模式運動,簡單地說就是被檢測目標具有光學特征處在平面圖像的投影形成了光流,可以簡單地理解為物體的速度矢量場。通常我們認為,圖像中被測物體的運動和檢測工具的運動產生了光流,或者光流是由兩者共同運動所產生。
運用光流法來計算被檢測物體的運動場的基本流程是:首先,估計運動場,這種運動場是通過前后兩幀圖像來獲取的;然后,利用前一步所得到的運動向量分割一些場景;接著再進行一些后期處理,當然對象是分割的結果,這些后期處理主要是合并小區域并且將小的噪聲干擾區域消除掉等;最后,對完成后期處理的圖像結果進行區域個數的統計,若說場景是有變化的,則是因為有著一個以上的不同區域的存在,反之,我們則可以認為沒有任何改變發生在場景里。
能適用于檢測工具的移動和多個被檢測物體的方法是幀間差分法,它得到被檢測物體的輪廓是運用視頻圖像序列中相鄰幀做差分的方法。為了確定視頻圖像序列中是否存在需要被檢測的目標,通常會選擇將兩幀圖像相減得到的亮度差的絕對值與設定的閾值相比較,以此來處理分析被檢測目標的運動特性,這種方法類似于用高通濾波的辦法對時域下的圖像進行處理。幀間差分法同時也叫作瞬時差分法或是時間差分法,流程圖如圖1所示,通常是選擇鄰近的圖像序列作為被檢測幀的背景,利用圖像序列相鄰幀的強相關性來檢測圖像是否發生了變化,而來確定被檢測物體的則是濾波等的后期處理[5]。

圖1 幀間差分法的基本流程圖
幀間差分法是受被檢測物體速度影響較大的一種方法,這種方法對場景光照變化是適應力強是因為對被檢測物體的檢測是通過相鄰兩幀圖像相減來實現的,不管是被檢測物體運動的過快還是過慢,都會導致重復檢測或者檢測不完全,但是,若單單只是給其他種類的算法提供運動信息,幀間差分法是一種很好的辦法。
背景減除法通過預先建立背景圖像,即利用訓練圖像獲得背景圖像,再將每一幅待檢測圖像與當前背景圖像作比較來檢測運動的目標,并且根據場景的變化能夠動態地對背景圖像進行更新動作。其流程圖如圖2所示。

圖2 背景減除法的基本流程圖
創建背景模型是根據第一幀的情況,而迭代地更新現在存在的模型是由后續輸入的圖像來決定的,這就是迭代建模的方法,并不需要開辟大量存儲空間,能夠適應背景的動態變化的情況,而且算法是比較簡單的。所以本文采用背景減除法中的迭代建模方法進行船舶目標檢測,在檢測中存在的一些問題,例如水波和相機抖動造成的噪聲,本文對其進行相應改進以適應該內河航道中運動船舶目標檢測的背景。
對于基于可見光的船舶流量的統計通常用虛擬檢測線法計算,簡單實用。在一個檢測區域中,當船只經過虛擬檢測線時,檢測區域產生變化,則可以判斷是否有船只經過,整個船流量統計模塊的流程圖如圖3所示。

圖3 基于可見光的船舶流量統計流程圖
在本文中,基于可見光的船舶流量統計在上、下行方向均采用雙虛擬檢測線法,雙虛擬檢測線中,一條首次通過的虛擬檢測線可以稱為注冊線,另一條再次經過的虛擬檢測線則稱為檢測線,如圖4所示。當船只通過注冊線時,進行船只登記,但不用來計數;而當船只經過檢測線,對已經登記的船只進行計數,船舶通過注冊線并且通過檢測線時,船舶計數器加1。由于此方法通過2條檢測線進行判斷,系統的可靠性相比單條檢測線要有所提高。由此方法得到的船舶流量數的準確度問題受虛擬檢測線的寬度、間隔和位置等因素的影響,一般來說,虛擬檢測線的寬度可以和船舶航道的寬度相同;通過一些嘗試,選擇注冊線與檢測線之間的距離為正常船只長度的2/3左右,并且上、下行分開設置;同時,在船只清晰可見的地方放置虛擬檢測線,即視頻的近端。

圖4 基于可見光的船流量統計虛擬檢測線
在船只通過虛擬檢測線時,一般由于船只的灰度值與背景航道的灰度值不會相同,所以,船只的經過會造成虛擬檢測線上灰度值的變化。但是,有些時候攝像機的晃動或者光照的變化也會在灰度值上造成一定的干擾,這一問題可以由設置一個閾值來解決。故可以認為判斷有船只經過的閾值即為虛擬檢測線上的灰度值發生變化的像素個數超過30%[7],即

式(1)中,(x,y)為虛擬檢測線的灰度值坐標;P(x,y)為當前幀圖像中(x,y)處的灰度值;B(x,y)為背景圖像中(x,y)處的灰度值;num為虛擬檢測線的像素點總個數;為設定的閾值。
相較于基于可見光的船舶流量統計采用虛擬檢測線法,基于紅外的船舶流量統計是基于船只駛入、存在和駛出與否的判斷來進行計數。船舶流量統計模塊的流程圖如圖5所示,在進行船只存在于檢測區域判斷時,應用雙幀圖像的差分檢驗來提高流量統計的準確性和穩定性,即若某一幀圖像和后一幀圖像經過處理后被判斷為結果一致,則我們可以認為此結果有效;反之,當被判斷為結果不一致時,則認為該結果無效并予以舍棄。基于紅外的船舶流量檢測區域圖如圖6所示。

圖5 基于紅外的船舶流量統計流程圖
圖4是基于可見光的流量統計視頻,拍攝于上海閔浦大橋,日期是2012年3月21日下午,溫度為12℃,天氣晴,風力為4級,能見度大約大于10 km,幀圖像大小為320×240像素。圖6基于紅外圖像的流量統計視頻為2011年12月20日下午于上海同三高速G1501橫潦涇大橋拍攝,溫度12℃,陰天,風力4~5級,視頻總幀數為3 100,幀圖像大小為768×576。
分別對以上兩視頻用上述方法進行船只的流量統計工作,并將檢測結果與實際船舶流量進行對比,如表1所示。
通過實驗可以發現,船只流量統計的準確率并不是很高,造成這種結果的主要原因是在河面上經常出現一些橫穿、斜穿河面以及跨航道轉彎、掉頭的船只,這些有異常行為的船只經過檢測區域時觸發了計數器,導致了統計結果的不是很精確,但基本能滿足工程需求。

表1 可見光與紅外圖像的船舶流量統計結果對比

圖6 基于紅外的船舶流量檢測區域
本文對于內河橋梁防船撞的船舶檢測和船舶流量統計進行了一定的描述。針對文中應用不同傳感器所拍攝的場景,提出了不同的船舶流量統計算法,即基于可見光的船舶流量統計采用虛擬檢測線法而基于紅外的船舶流量統計是基于船只駛入、存在和駛出與否的判斷來進行計數。通過進行相關的實驗并對實驗結果的分析表明,以上兩種算法能夠解決上述所提出的問題,可以滿足工程需求,同時算法的計算量小,適用于實時性應用場景。
[1] JAIN R.Difference and accumulative difference pictures in dynamic scene analysis[J].Image and Vision Computing(S0262-8856),1984,2(2):99-108.
[2] 云霄,肖剛.基于Camshift的多特征自適應融合船舶跟蹤算法 [J].光電工程,2011,38(5):52-62.
[3] 阮秋琦.數字圖像處理學[M].北京:電子工業出版社,2001.
[4] 王歡.運動目標檢測與跟蹤技術研究[D].南京:南京理工大學,2009.
[5] 陳燕萍.基于背景減除的運動目標檢測算法研究[D].廈門:廈門大學,2008.
[6] 吳志偉,范彥斌,盧清華.基于視頻的車輛流量自動檢測方法設計[J].佛山科學技術學院學報:自然科學版,2012,30(1):1-5.