嚴(yán)榮慧,謝海成,花敏恒,羊箭鋒*
1 蘇州大學(xué) 文正學(xué)院, 江蘇 蘇州 215104
2 蘇州大學(xué) 電子信息學(xué)院, 江蘇 蘇州 215006
我國內(nèi)河航運正處于快速發(fā)展的階段[1-2],貨運、水上旅游等需求不斷擴大,航道內(nèi)除了貨船、游船等大型船舶航行外,還有各類小型船舶(游艇、皮劃艇、摩托艇等)在航道內(nèi)交互穿梭,航行環(huán)境日益復(fù)雜,監(jiān)管難度增大,碰撞風(fēng)險也愈加嚴(yán)峻,對水上交通安全構(gòu)成了巨大挑戰(zhàn)[3-4]。傳統(tǒng)的航道內(nèi)航行監(jiān)管主要依賴船舶上安裝的自動識別系統(tǒng)(AIS), 然而,受供電限制的小型船舶無法安裝AIS系統(tǒng)終端,且AIS系統(tǒng)定位精度及可靠性也不足,導(dǎo)致現(xiàn)有監(jiān)管系統(tǒng)一直存在監(jiān)控盲點[4]。因此,對關(guān)鍵廣闊水域(廣域)內(nèi)航行的所有船舶進行識別管理是當(dāng)前航道監(jiān)管亟待解決的問題[5]。
目前,基于圖像的目標(biāo)檢測方法(例如YOLO檢測算法)在航道船舶監(jiān)控領(lǐng)域具有顯著的應(yīng)用價值[6-9]。馬吉順等[10]提出的基于 YOLO 檢測算法的航區(qū)內(nèi)船舶識別定位系統(tǒng)取得了很好的效果,但采用YOLO檢測算法對廣域范圍內(nèi)航行的船舶進行識別定位時,經(jīng)過多層卷積和池化后,使得識別小目標(biāo)的準(zhǔn)確率偏低,基本上丟失了小目標(biāo)特征,而在監(jiān)控范圍內(nèi)遠(yuǎn)水域的大型船舶則呈現(xiàn)出的是小目標(biāo)特征,致使YOLO檢測算法無法準(zhǔn)確識別??梢?,基于YOLO檢測算法的船舶識別系統(tǒng)只局限于近水域,不能滿足對廣域內(nèi)航行船舶實施監(jiān)控的實際需求。
本文擬將運動目標(biāo)檢測方法(例如,基于背景差算法)與圖像表象特征識別方法(例如,基于深度學(xué)習(xí)算法的YOLO檢測算法)相結(jié)合,設(shè)計關(guān)鍵廣域內(nèi)航行船舶的識別算法,綜合運用目標(biāo)的運動及表象特征進行兩個維度的識別,并通過改進的目標(biāo)檢測方法,進一步提高識別的準(zhǔn)確率。最后,使用常規(guī)監(jiān)控攝像頭現(xiàn)場對廣域航道監(jiān)控區(qū)域內(nèi)船舶圖像進行統(tǒng)計分析,用以驗證所提船舶目標(biāo)檢測方法。
航道內(nèi)船舶往來頻繁,船舶慣性大,且均有穩(wěn)定的運動特征,同時目標(biāo)還呈現(xiàn)出了一定的圖像表象特征。然而,由于航道監(jiān)控具有范圍廣、高縱深等特點(如圖1所示),在監(jiān)控范圍內(nèi),同一艘船舶的遠(yuǎn)、近處位置不同,因此在監(jiān)控畫面內(nèi)呈現(xiàn)的外形大小、表象特征迥異。本文根據(jù)目標(biāo)成像的面積,將這些船舶分為大、小、微小目標(biāo)3個類別。
圖1 航道監(jiān)控中遠(yuǎn)、近水域內(nèi)船舶目標(biāo)對比Fig.1 Comparison of ship target in the far and near water areas during waterway monitoring
航道內(nèi)近水域航行的船舶其運動及表象特征明顯,但在近水域會有明顯的水紋、漂浮物等噪聲干擾,一定程度上影響了識別船舶目標(biāo)的準(zhǔn)確率,而遠(yuǎn)水域雖無水紋、漂浮物等噪聲干擾,但船舶運動及表象特征卻不明顯,也不利于對船舶目標(biāo)進行準(zhǔn)確的識別。
背景差分算法(background subtraction algorithm)[11-12]是一種運動目標(biāo)檢測方法,其基本思想是通過多幀時間序列圖像構(gòu)建一個不含運動目標(biāo)的背景模板,將當(dāng)前單幀圖像與背景圖像相減,計算得到與背景偏離超過一定閾值的區(qū)域作為運動區(qū)域,再根據(jù)當(dāng)前幀的圖像自適應(yīng)更新背景圖像參數(shù)。背景模板建構(gòu)方法能夠自適應(yīng)處理光照及長時間的場景變化等干擾。此外,該算法具有像素級檢測能力,對船舶目標(biāo)識別召回率極高,既可識別近處大的船舶目標(biāo),對遠(yuǎn)水域小及微小的船舶目標(biāo)也具有準(zhǔn)確的識別率,而且能夠極大地擴展對船舶監(jiān)控的范圍。如圖2所示,基于背景差分算法檢測得到的小目標(biāo)識別效果。
圖2 基于背景差分算法對小目標(biāo)船舶的識別效果Fig.2 Recognition effect of small-sized ship target by background subtraction algorithm
采用基于背景差算法的運動目標(biāo)檢測方法需要圖像背景完全靜止,但在航道中作為背景的水面環(huán)境復(fù)雜,含有持續(xù)性的噪聲干擾。例如,動態(tài)的水紋噪聲會被識別為運動目標(biāo),運動檢測方法得到的識別結(jié)果會存在大量的噪聲框,降低了船舶目標(biāo)識別的準(zhǔn)確率。圖3所示為運動目標(biāo)檢測效果,其中藍(lán)色邊框為船舶真實目標(biāo),紅色部分為水紋噪聲。為此,需要對基于水紋特征的船舶目標(biāo)檢測降噪方法進行改進。
圖3 基于背景差分算法對運動目標(biāo)檢測效果Fig.3 Detection effect of motion target by background subtraction algorithm
鑒于航道監(jiān)控成像具有高縱深的特點,監(jiān)控畫面中近處水面的細(xì)節(jié)特征豐富、變化劇烈,而遠(yuǎn)水域水面的細(xì)節(jié)特征模糊、平穩(wěn),且水紋噪聲分布多位于監(jiān)控畫面視角的近處。因此,根據(jù)水紋噪聲分布的特點采取如下水紋降噪的改進措施。
1) 漸變?yōu)V波降噪。
水紋噪聲屬于椒鹽噪聲,平緩的水紋中交雜有明暗變化,邊緣特征不明顯,故采用中值濾波算法進行初步的水紋降噪處理[13]。濾波模板的大小會影響平滑效果,模板越大效果越好,但模板過大又會損失邊緣信息。航道監(jiān)控圖像中船舶目標(biāo)大小呈現(xiàn)了近大、遠(yuǎn)小的分布特點,若對整幅圖像使用同一個濾波模板處理,將嚴(yán)重?fù)p失遠(yuǎn)水域的小目標(biāo)、微小目標(biāo)的表象特征。為此,針對航道監(jiān)控的水紋噪聲多分布在圖像下方的特點,本文設(shè)計了漸變中值濾波算法。式(1)為航道遠(yuǎn)近自適應(yīng)調(diào)整濾波模板。
式中:Ksize為 濾波模板像素尺寸;h為圖像中像素點與天際線之間的垂直像素差。由此算法,靠近圖像下方的水域濾波模板像素尺寸較大,靠近天際線的水域濾波模板像素尺寸小,實現(xiàn)了漸變?yōu)V波模板的效果。
圖4所示為漸變?yōu)V波示意圖。通過漸變?yōu)V波可以濾除平緩的水紋噪聲,降低后續(xù)濾波過程的復(fù)雜度,同時保留遠(yuǎn)水域小目標(biāo)圖像的運動及表象特征。
圖4 漸變?yōu)V波示意圖Fig.4 Schematic diagram of gradual filtering
2) 圖像平均降噪。
如圖5所示,水紋有波狀紋理,其局部呈現(xiàn)為正弦型特征,其中某個像素點短時間的水紋明暗變化有一定的周期性。含水紋噪聲的水面圖像組成如式(2)所示。
圖5 水紋噪聲特征Fig.5 Features of water ripple noise
式中:g(x,y)為 含有水紋噪聲的水面圖像;f(x,y)為靜止的無噪聲水面圖像; δ(x,y)為波狀噪聲,且均值為0。為了得到靜止的無噪聲水面圖像f(x,y),本文對k幅含有不同噪聲的連續(xù)圖像累加取平均值,得到平均無噪聲的水面圖像gˉ(x,y),如式(3)所示,其中g(shù)i(x,y)為 第i幅監(jiān)控圖像中 (x,y)坐標(biāo)位置的像素值。
隨著圖像幀數(shù)k值的增加,gˉ(x,y)逐漸接近于靜止的無噪聲水面圖像f(x,y)。
本文考慮到計算復(fù)雜度及船舶航速緩慢等因素,最終選取了圖像幀數(shù)k=20,得到理想的gˉ(x,y)圖像,并將gˉ(x,y)作為目標(biāo)運動檢測模型的輸入圖像,通過圖像平均法降噪,進一步削弱了水紋噪聲對構(gòu)建一個不含運動目標(biāo)背景模板的影響。
3) 支持向量機(SVM)分類器降噪。
運用漸變?yōu)V波算法、圖像平均濾波算法雖然可以濾除一些平緩的水紋噪聲,但對于船舶航行過程中產(chǎn)生的波浪等噪聲無法完全濾除。因此,本文對運動中的船舶目標(biāo)面積與總圖像面積的比例、水紋噪聲目標(biāo)面積與總圖像面積的比例(以下稱目標(biāo)面積占比)與被監(jiān)控目標(biāo)距離的關(guān)系進行了統(tǒng)計分析,結(jié)果如圖6所示。圖中,橫坐標(biāo)為運動目標(biāo)實際距離,縱坐標(biāo)為目標(biāo)面積占比。通過統(tǒng)計分析,發(fā)現(xiàn)船舶目標(biāo)與水紋噪聲存在明顯的分類邊界。因此,提出采用SVM分類器來判別和刪除噪聲。作為一種基于統(tǒng)計學(xué)習(xí)理論實現(xiàn)分類的非參數(shù)方法[14],SVM分類器通過迭代學(xué)習(xí)方式,逐步確定船舶目標(biāo)和水紋噪聲大小的分類邊界線,據(jù)此對運動目標(biāo)識別結(jié)果中目標(biāo)框大小及位置信息進行分類,從而實現(xiàn)對波浪等較大噪聲目標(biāo)框的濾除。
圖6 航道中目標(biāo)面積占比與目標(biāo)距離的關(guān)系Fig.6 The relationship between targets area ratio and target distance
如圖7所示,結(jié)合多種降噪算法,水面常規(guī)的水紋噪聲得以濾除,提高了識別運動目標(biāo)的抗干擾性。
圖7 水紋濾波效果圖Fig.7 Effect images of water ripple filtering
4) 多級運動檢測模塊。
基于背景差分算法的運動目標(biāo)檢測方法建立的是一種動態(tài)背景模型,其可根據(jù)最新監(jiān)控畫面更新背景參數(shù)。但是,航道監(jiān)控圖像中遠(yuǎn)水域的船舶運動幅度較小,甚至短時間內(nèi)呈現(xiàn)靜止?fàn)顟B(tài),而遠(yuǎn)水域的小目標(biāo)船舶經(jīng)常會被錯誤地識別為背景,導(dǎo)致漏檢了遠(yuǎn)水域的船舶。鑒此,本文根據(jù)遠(yuǎn)、近船舶目標(biāo)的運動特征差異,提出了建立快、慢兩級運動檢測機制的改進措施。其中,快速運動目標(biāo)檢測模塊的速度為1幀/s,主要用于識別近處特征強的運動目標(biāo),而慢速運動目標(biāo)檢測模塊的速度為1幀/10 s,主要用于識別遠(yuǎn)水域特征弱的運動目標(biāo)。將兩個模塊檢測結(jié)果擬合可得到實時的識別結(jié)果。針對擬合過程中檢測目標(biāo)框重復(fù)的現(xiàn)象,本文提出了極大值抑制的邊框合并算法,對比兩個模塊輸出的邊框,由式(4)計算兩者間的交并比(intersection over union,IOU)。
式中:Sslow為慢速目標(biāo)檢測模塊中檢測的目標(biāo)框;Sfast為快速目標(biāo)檢測模塊檢測的目標(biāo)框。
當(dāng)IOU超過閾值時,表明兩個模塊檢測到的是同一目標(biāo)。鑒于慢速檢測模塊檢測的滯后性,刪除了該模塊中的目標(biāo)邊框,并將模塊保留的目標(biāo)邊框整合到快速模檢測模塊的目標(biāo)邊框集合中,如此,即可獲得全局所有船舶運動檢測的目標(biāo)框,如圖8所示。
圖8 快慢二級運動目標(biāo)檢測結(jié)果Fig.8 Results of two-level detection for the fast and slow motion targets
本文提出的基于背景差分算法的目標(biāo)檢測方法,通過漸變?yōu)V波降噪、圖像平均降噪、SVM分類器降噪、多級運動檢測方法的改進,消除了水紋噪聲、運動特征不一致對船舶目標(biāo)識別的干擾,其不僅能夠識別大、小目標(biāo)船舶,對極遠(yuǎn)水域的微小目標(biāo)船舶也具有準(zhǔn)確的識別率。
基于改進背景差算法的目標(biāo)檢測方法實現(xiàn)了航道中船舶捕捉和定位功能,對于極遠(yuǎn)水域微小目標(biāo)船舶的識別準(zhǔn)確率非常高,但該方法對大、小目標(biāo)的識別準(zhǔn)確率略顯不足,主要體現(xiàn)在:
1)無法識別船舶類型、停泊岸邊的船舶,以及無法濾除具有較大圖像面積的水紋噪聲;
2)受船舶航行產(chǎn)生的波浪、投影等因素影響,近處目標(biāo)船舶的邊框明顯大于目標(biāo)本身,而近處小型船舶(例如漁船、皮劃艇等)表象特征面積小,SVM分類器會將其歸類為噪聲并刪除。
上述缺陷均需通過對目標(biāo)圖像表象特征分析和修正,特別是距離較近的目標(biāo)船舶,更需要準(zhǔn)確識別表象特征以獲取目標(biāo)船舶類型。為此,本文運用YOLO檢測算法的運動目標(biāo)識別方法來解決上述問題。YOLO檢測算法是一種端到端的目標(biāo)檢測模型[15-16],作為依據(jù)圖像特征進行目標(biāo)識別的算法,其可識別具有表象特征的目標(biāo)船舶類型,可對基于目標(biāo)運動特征的識別算法進行補充和優(yōu)化。
對于高縱深、船舶尺度變化大的廣域航道監(jiān)控而言,近水域的船舶特征明顯,可采用YOLO檢測算法進行二次識別。如圖9所示,中間帶水域內(nèi)的小目標(biāo)船舶雖然具有一定的表象特征,但因其成像面積較小,影響了識別的準(zhǔn)確率,并且對于極遠(yuǎn)水域的微小目標(biāo),目標(biāo)圖像表象特征基本丟失,無法運用YOLO檢測算法進行識別。因此,本文提出了對基于目標(biāo)圖像窗口分割檢測的YOLO檢測方法進行改進。
圖9 中間帶水域內(nèi)小目標(biāo)船舶檢測圖像Fig.9 Image of detected small-sized ship target in the intermediate waterways
YOLO 檢測算法之所以對小目標(biāo)識別不準(zhǔn)確,主要原因是卷積神經(jīng)網(wǎng)絡(luò)中存在大量卷積,導(dǎo)致頂層特征的感受野(receptive field)過大。感受野的計算如式(5)所示。
式 中:RFi為 第i層 卷 積 層 的 感 受 野;RFi+1為 第i+1層 上的感受野;S tridei為 卷積的步長;Ksizei為本層卷積核的大小。
經(jīng)計算,YOLO算法網(wǎng)絡(luò)結(jié)構(gòu)中高層特征的理論感受野為整張圖像,即高層的各特征值理論上受圖像所有像素信息的影響。但是,對于運動目標(biāo)面積占比小的目標(biāo),感受野過大會引入過多的噪聲,導(dǎo)致小目標(biāo)的微弱特征信息被淹沒,從而無法被正確識別。
為提高識別中間帶水域內(nèi)小目標(biāo)船舶的準(zhǔn)確率,需要將域內(nèi)目標(biāo)感受野降至合理的范圍,以提高感受野中中、小目標(biāo)特征的信噪比。在航道監(jiān)控畫面中,可以發(fā)現(xiàn)船舶軌跡相對固定,目標(biāo)船舶在近水域航道圖像面積中占比大,而在遠(yuǎn)水域航道圖像面積中占比小,根據(jù)此透視特點,本文提出基于縱深窗口分割檢測改進船舶目標(biāo)識別方法,將監(jiān)控畫面按照航道透視規(guī)律進行窗口分割,如圖10所示。
圖10 航道監(jiān)控畫面中的窗口分割Fig.10 Window segmentation of waterway monitoring image
考慮到Y(jié)OLO檢測算法中高層感受野過大、運動目標(biāo)面積占比與監(jiān)控目標(biāo)距離的關(guān)系,本文將航道監(jiān)控圖像劃分為1,2,3級窗口,如圖10所示。其中,1級窗口為近水域航道監(jiān)控圖像的剪切,2級和3級窗口為遠(yuǎn)水域航道監(jiān)控圖像的剪切,將剪切后的窗口圖像統(tǒng)一放縮為416*4166像素尺寸,并逐級識別。
針對遠(yuǎn)水域航道監(jiān)控圖像的剪切提取的預(yù)處理,可以保證遠(yuǎn)水域航道監(jiān)控區(qū)域窗口中的小目標(biāo)船舶圖像面積占比達(dá)到可識別的閾值要求,同時對識別中間帶水域內(nèi)的小目標(biāo)過程中的感受野范圍進行控制,去除不必要的數(shù)據(jù)噪聲,提高識別準(zhǔn)確率。最終,將從多級航道窗口識別得到的船舶目標(biāo)邊框映射到原航道監(jiān)控畫面中,再使用非最大值抑制(non-maximum suppression, NMS)算法去除冗余的目標(biāo)邊框,保留最優(yōu)邊框。如圖11所示,經(jīng)過對航道監(jiān)控圖像進行窗口分割再識別的改進,提高了YOLO 檢測算法對小目標(biāo)船舶的細(xì)節(jié)特征提取能力和目標(biāo)識別的準(zhǔn)確率。
圖11 基于YOLO檢測算法的船舶目標(biāo)識別效果Fig.11 Effect of ship target recognition based on YOLO detection algorithm
如上所述,可知基于背景差分算法的運動目標(biāo)檢測方法對極遠(yuǎn)處水域的微小目標(biāo)船舶的識別準(zhǔn)確率很高,而對近水域、中間帶水域航行的目標(biāo)存在邊框不準(zhǔn)確且無法識別類型,以及易受陰影、波浪干擾等缺點;而基于YOLO檢測算法的目標(biāo)檢測方法雖可以識別近水域、中間帶水域航行的船舶類型且具有邊框準(zhǔn)確、抗干擾能力強的優(yōu)點,但對識別目標(biāo)的大小有一定的要求,無法識別遠(yuǎn)水域的微小目標(biāo)。
權(quán)衡上述兩種目標(biāo)檢測方法的優(yōu)缺點,本文采用極大值抑制算法對這兩種算法的檢測結(jié)果進行組合,以達(dá)到相互補充的效果。具體而言,以YOLO檢測算法目標(biāo)識別結(jié)果為基準(zhǔn),將基于背景差分算法的運動目標(biāo)檢測邊框結(jié)果與YOLO檢測邊框結(jié)果分別進行對比,再通過極大值抑制算法,刪除運動目標(biāo)檢測方法中重復(fù)的目標(biāo)邊框,如式(6)所示:
式中:SYolo為采用YOLO檢測算法識別的目標(biāo)框;SKNN為采用基于背景差分算法識別的目標(biāo)框。當(dāng)IOU超過閾值時,則表明兩種算法識別得到的是同一目標(biāo)。由于YOLO 檢測算法識別的目標(biāo)更準(zhǔn)確,將刪除基于運動檢測的邊框。保留的運動檢測邊框則多為極遠(yuǎn)處的小目標(biāo)船舶,并將保留的小目標(biāo)邊框組合到Y(jié)OLO檢測算法的目標(biāo)識別結(jié)果中,即得到廣域內(nèi)所有船舶的識別和定位結(jié)果。圖12所示為目標(biāo)識別系統(tǒng)的完整流程圖。
圖12 基于二維特征的船舶目標(biāo)識別流程圖Fig.12 Process of ship target recognition based on two-dimensional features
綜上所述,結(jié)合使用目標(biāo)運動及其表象特征的改進船舶識別方法,能夠準(zhǔn)確地識別航道監(jiān)控畫面中任意尺度的船舶目標(biāo),且噪聲抗干擾能力強,使用常規(guī)攝像頭即可實現(xiàn)對半徑3 km范圍內(nèi)的船舶進行準(zhǔn)確識別與定位。廣域內(nèi)船舶目標(biāo)識別效果如圖13所示。
圖13 基于二維特征的船舶目標(biāo)識別效果Fig.13 Effect of ship target recognition based on two-dimensional features
為了驗證針對網(wǎng)絡(luò)的各改進方法的可行性及其檢測效果,使用基于背景差分算法的方法、基于YOLO檢測算法的方法與改進的方法進行目標(biāo)識別驗證,并分析結(jié)果。
實驗驗證現(xiàn)場選擇在蘇州周莊大橋上,通過架設(shè)監(jiān)控攝像機對白艦湖航道進行了5 h的實景拍攝。攝像頭安裝高度為10 m,監(jiān)控畫面圖像分辨率為1 080 P,共獲取了36 000幀連續(xù)監(jiān)控圖像。本文采用上述不同算法對每幀圖像的識別準(zhǔn)確率及最遠(yuǎn)識別距離進行了統(tǒng)計,結(jié)果如表1所示。結(jié)果表明,與未改進前的其他算法相比,改進后方法在目標(biāo)檢測靈敏度、抗干擾能力、監(jiān)控范圍等方面均顯著提高。
表1 船舶目標(biāo)識別原算法與其改進方法檢測效果對比Table 1 Effect comparison of ship target recognition by original and improved algorithms
本文充分分析了廣域航道環(huán)境內(nèi)船舶航行的特點,結(jié)合基于背景差分算法的運動目標(biāo)檢測方法(靈敏度高)和基于深度學(xué)習(xí)算法的目標(biāo)表象特征識別方法(抗干擾能力強)二者的優(yōu)勢,提出了時間序列與表象特征分析相結(jié)合的廣域船舶識別算法,通過對水紋降噪、多級運動檢測、航道監(jiān)控圖像窗口分割檢測等方法的改進,進一步提高了目標(biāo)識別的準(zhǔn)確率。現(xiàn)場驗證驗證結(jié)果表明,改進后的方法在攝像頭高度為10 m、畫面圖像分辨率為1 080 P的條件下,可以實現(xiàn)半徑3 km范圍內(nèi)對船舶的準(zhǔn)確識別與定位,效果達(dá)到了人工瞭望的識別水平,具備監(jiān)控范圍廣、船舶類型全覆蓋、自動識別、抗干擾能力強等優(yōu)點,其成果對于關(guān)鍵水域船舶航行的安全管理、港航實時監(jiān)控具有重要意義。