張云飛,黃潤輝,單云霄,周曉梅
(1.珠海云洲智能科技有限公司,廣東 珠海 519080;2.中山大學數據科學與計算機學院,廣東 廣州 510275)
近年來,越來越多的海事平臺被用于海上運輸,生態監測,海洋安全等場景,海洋的探索受到廣泛關注[1-2]。為了平臺的安全,視覺目標跟蹤技術被廣泛用于跟蹤潛在的感興趣目標,例如船舶[3],浮標等。但是,在復雜環境中,并不容易完成準確穩定的跟蹤任務。因此,開發用于跟蹤船舶的視覺跟蹤算法必須具有足夠強的場景適應能力。
開發船舶視覺跟蹤算法存在一些挑戰。與地面車輛不同,船舶漂浮在水面上,其運動很復雜,無法準確預測。此外,海洋環境對天氣和光照敏感。大海經常遭遇有霧或多雨等惡劣天氣,海風會加劇船的搖晃。因此,由于船舶的不穩定運動,相鄰幀圖片中的目標狀態可能有較大差別。此外,圖像的質量可能受到水面反射的太陽光的影響。
針對海上視覺目標跟蹤問題,研究人員也提出幾種解決方法。Yang Z 等[4]提出了一種基于非平穩平臺的船舶視覺檢測方法。利用基于DCT 的特征向量作為輸入[5],采用高斯混合模型(GMM)對海域進行建模。利用背景相減和前景分割方法實現了船舶檢測[6]。滕飛等人[7]提出了一個魯棒的內河CCTV(閉路電視監控)單船舶跟蹤算法。Xiangyu K 等[8]利用紅外圖像對海天線和小目標進行了探測。首先對海天線進行檢測,縮小感興趣區域,然后采用改進的互小波能量組合算法對小目標進行檢測。雖然實驗證明該方法比以往的一些方法有更好的效果,但作為一種基于生成的方法,它們只使用目標對象的信息,如RGB 值,而忽略了背景信息,如波浪,只是在檢測幀中隨機搜索目標。因此,它們不能處理復雜的運動模式和海上常見的光照變化。近年來,基于深度學習的跟蹤器在目標跟蹤中越來越受歡迎,被廣泛應用于地面物體跟蹤[9-10],但對海洋環境的研究較少。
本文通過對陸地上表現比較好的Siamese RPN 跟蹤模型進行改進,以適應其在海上跟蹤場景的應用。模型通過大量的數據訓練挖掘到目標不同深度的特征,在不同天氣環境下對各種類型的船舶實現了準確高效的跟蹤。本模型在采集的海上跟蹤數據中,跟蹤平均準確率為58%,平均幀率達到了124.21 FPS。
機載合成孔徑雷達(SAR)[11]、常規艦載雷達(Lidars)[12-13]、機載光學傳感器[14]等多種傳感器均可實現對海上目標的跟蹤。基于SAR 的跟蹤器可以覆蓋更大的海域,在全天候條件下連續工作,但圖像分辨率有限。雷達和激光雷達可以在極端條件下工作,提供稀疏和短距離信息。對于光學傳感器,紅外攝像機提供更長的視距,特別是在夜間或低能見度時。然而,紅外相機的低分辨率成像和高功耗限制了其應用。相比之下,可見光圖像不僅擁有高分辨率,而且具有更豐富的顏色和紋理信息。本文采用可見光圖像進行船舶跟蹤算法研究,具有成本低、安裝方便、功耗低等優點,能在海洋目標跟蹤領域更為普及。
現階段單目標跟蹤方法可分為生成類跟蹤方法和判別類跟蹤方法。生成方法在當前幀中構建目標區域的模型,然后在下一幀中用建立的模型搜索最相似的區域。作為傳統的跟蹤方法,它們被廣泛用于跟蹤各種目標。對于海洋實踐應用的情況,大多數現有的跟蹤算法屬于生成方法。
生成類跟蹤方法的具體思路是先在當前幀中建立目標區域的模型,然后在下一幀中對與所建立模型最相似的區域進行搜索。該類方法被廣泛應用于多目標跟蹤場景。
現有的海洋環境跟蹤算法大多屬于生成類方法。Wu-ChihHu 等[15]將跟蹤問題表示為自適應邊界框的計算,當前幀中的邊界框對前一幀中的邊界框進行自適應,以補償當前幀與前一幀的背景不匹配,采用模板(區域)匹配方法實現跟蹤任務。他們所提出的四連通分量標記方法,降低計算成本并對移除波浪漣漪也起到了作用。這個基于自適應模板塊匹配的全搜索算法,可有效去除波紋并跟蹤尺度變化的重疊船舶。Fei Teng 等[16]提出一種跟蹤內河閉路電視(CCTV)視頻序列中一艘船的方法。該方法的先驗信息只需給出單船在第一幀的位置。首先,基于壓縮感知理論,利用2 個隨機測量矩陣提取2 種互補的特征以實現目標船舶的跟蹤。另外,為了同時獲得跟蹤目標的位置和尺度,該方法利用連續幀的時序與空間結構約束構造了隨機測量矩陣,可方便地離線獲取和記錄目標位置。最后使用貝葉斯濾波判斷像素塊是屬于前景還是背景。Szpak 等[17]提出了一種跟蹤動態目標的方法。該方法采用背景相減法,采用基于水平集的曲線演化的實時逼近方法,對海洋中運動船舶輪廓線進行標定。但當目標與海洋的對比度比較小時,背景差可能會導致錯誤檢測。需要注意的是,基于水平集的系統需要先驗形狀知識,這在大多數情況下是難以實現的。Duncan 等[18]意識到傳統的基于水平集的方法存在問題,他們將目標輪廓提取為跟蹤圖像中的感興趣對象,探索將船舶形狀的先驗知識分解到水平集分割中以提高分割結果的可能性,使得圖像中目標受損也能正常跟蹤。
雖然生成方法在上述大多數情況下都能正常工作,但計算成本較高,單幀處理時間較長,不能實現實時的視頻追蹤,而且這些方法大多只關注目標特征,忽略了目標與背景或其他非目標的相關特征,不足以應對海洋多變的天氣狀況。
與生成方法不同,判別類跟蹤方法是利用具有學習能力的分類器進行學習和跟蹤,可以利用圖像中目標和背景信息以及其他可用的相關信息對分類器進行訓練。因此,判別類跟蹤方法的跟蹤性能普遍優于生成類跟蹤方法。近年來,許多判別類方法被用于檢測或跟蹤地面上的物體,如車輛[19-20]、行人[21]等,尤其是深度學習方法,隨著大數據時代的到來,神經網絡的優勢逐漸顯現出來,從而成為主流方法,現階段跟蹤性能較好的跟蹤方法大多數基于深度學習。但只有比較少的方法關注海洋環境的應用。
Bousetouane 等[22]提出了一種基于卷積神經網絡(CNN)的視頻監控系統小目標檢測模型。該方法結合手工設計的特征和深度網絡學習得到的特征,從而實現船舶的檢測和分類。候選目標邊界框的深度CNN 特征通過微調VGG16 網絡的卷積層的前向傳播來計算獲得。最后使用CNN 特征和具有線性內核的支持向量機分類器進行細粒度分類以進行對象驗證。實驗結果表明,該模型在船舶檢測分類上的性能優于Fast-R-CNN[23]。Leclerc 等[24]部署了一個基于Inception[25]和ResNet 架構[26]的預訓練CNN 進行微調以實現船舶分類。雖然實驗證明分類精度得到了顯著提高,但沒有實現對跟蹤性能的評估。
目前基于神經網絡的船舶檢測研究已取得了一定的成果,但應用于海事跟蹤的方法卻比較少。首先,海洋環境的開源數據集難以用于船舶追蹤。現有效果較好的神經網絡框架需要大量高質量的數據來支撐其訓練(雖然Leclerc 等使用了6 個數據集進行測試,但只有MARVEL 和VAIS 的數據集是開源的。此外,都是野外非常少的與地面交通數據,如KITTI[27],VOT[28])。其次,動態背景下的海上物體特征與陸地上物體特征有較大的不同,將現有的在地面上表現良好的網絡直接遷移到海事場景并不能得到較好的跟蹤效果。
對基于孿生網絡和區域推薦網絡的海上跟蹤模型SiamRPN[29]進行改進,以適應海事跟蹤場景,如圖1所示。
孿生網絡中的特征提取模塊為改進后的AlexNet,如圖1 所示。本專利去掉了AlexNet 中的填充,并修改了卷積層中的深度,以適應設定的場景。孿生網絡有2 個分支:模板分支和檢測分支。這2 個分支分別實現模板幀和檢測幀的特征提取,分別用φ(z)和φ(x)表示,z 表示模板幀,x 表示檢測幀。
與孿生網絡對應,區域推薦網絡也有2 個分支:分類分支和回歸分支。分類分支判斷錨點框屬于目標還是背景,對應的回歸分支計算錨點框的位置偏移量。設錨點框的數目為k,分類分支的輸出大小為2k,回歸分支的輸出為4k。φ(z)和φ(x)分別輸入區域推薦網絡計算對應的分類和回歸值。

定義錨點框的表達式為:

從計算得到的回歸框中先篩選出置信度最高的K 個候選框,再加入大小形變等約束篩選出最優的目標邊界框。
本模型的輸出包括分類結果和回歸結果,因此損失函數由兩部分組成。首先,分類損失的計算方法如下式:其中:yi為分類的標簽;Si為分類正確的概率。


圖 1 跟蹤器概覽圖Fig.1 An overview of our proposed tracker
對于回歸分支,設預測框表示為(Ax,Ay,Aw,Ah),對應的真值框表示為(Gx,Gy,Gw,Gh),先對其進行歸一化:

回歸損失的計算公式如下:

其中,smoothL1函數的計算方法如下:

總損失函數可表示為:

其中,γ 為超參數,用于平衡分類和回歸損失。
為從K 個候選框中選出最優的目標邊界框,采用2 種策略。第1 個策略是加入歷史航行軌跡作為約束。考慮到目標運動具有連續性,選用了歷史軌跡的前5 幀采用最小二乘法預測目標在檢測幀的位置,其中的距離計算選用的是曼哈頓距離。

其中,pospredicted為使用歷史軌跡預測的目標位置,pos 為神經網絡預測的目標位置,Distance(pos,pospre-dicted)表示2 個預測點之間的曼哈頓距離。第2 個策略是考慮目標的大小形狀變化。在視頻流中,目標可認為在相鄰兩幀中的大小形狀不會有太大變化,并對與前一幀大小變化較大的預測框進行懲罰:

其中:k 為人工設置的超參數,r 為前一幀目標框的寬高比,r'為當前預測幀的候選框寬高比;s 和s'分別為前一幀和當前幀目標框的面積。本網絡使用Softmax 函數計算每個候選框為目標框的置信度Score。加入約束后,目標框根據Score 值大小重新排序:

其中:size_influence 和distance_influence 為人工設置的超參數。對重新排序后的候選框,再采用非極大值抑制算法合并重復候選框,最后選擇置信度最高的候選框作為當前目標框。
由于船舶跟蹤實驗需要船舶在海面上航行的視頻流數據,但是此場景下的公開數據集很少,而神經網絡的訓練和測試需要大量的視頻流數據,因此到珠海九洲港附近海域采集船舶視頻流數據用于網絡的訓練。本文將采集的視頻根據跟蹤目標進行剪輯、分類、整理后,共獲得260 多個視頻段,共計有目標的圖像有54 000 多張。為了探索船舶類型對跟蹤效果的影響,把數據集根據船型,貨船、漁船、客船和快艇,分為4 類(如圖2 所示),再根據天氣狀況分為晴天、陰天、雨天、霧天4 類,分別探索船舶類型和多種天氣情況對海上船舶跟蹤的影響。

圖 2 數據集中包含4 種不同類型的船舶Fig.2 The dataset contains four different types of ships
為擴大訓練的數據集,獲得更多的訓練數據,本文使用數據增強的方法。在數據驅動的深度學習領域中,數據增強能有效增廣數據集,使得深度學習模型獲得更多的數據用于訓練,提高模型的泛化能力。常用的數據增強方法可以分為兩大類:基于空間的方法和基于顏色的方法。基于空間的方法有平移、旋轉、翻轉、裁剪、縮放等;而基于顏色的有調整圖像的飽和度、亮度等。另外,為了加強模型對噪聲的魯棒性,也會在訓練數據集上加入噪聲,例如高斯噪聲。本文主要采用了基于空間的數據增強方法,平移、旋轉、翻轉、裁剪和縮放這5 個方法。
為衡量分析本專利所提出方法的性能,采用精確度、召回率、F 值和幀率作為本次實驗的性能衡量指標,具體計算方法如下:
設Ωt為目標在t 時刻預測框與真值框的交并集,AtG表示在t 時刻目標的真值框,AtT(θt),θt表示在t 時刻的預測置信度,τθ是分類閾值,Ng真值框不為空的幀數,Nt為檢測過程中預測框不為空的幀數,N 為網絡預測次數,PT(im(i))為編號為i 的檢測幀im 的處理時間。4 個衡量指標的計算公式如下:

分析實驗結果可得,本文提出的海上跟蹤模型可達到5 8%的平均跟蹤準確率,運行幀率達到了124.21FPS,能實現海上船舶實時準確跟蹤。在本實驗中,采用原始的AlexNet 和vgg16 作為特征提取模塊進行實驗。結果表明,改進后的AlexNet 的跟蹤準確率相對于原模型有3%的提升,也比vgg16 高1%,而且取得了124.21 的高幀率。
為驗證本模型在不同天氣環境下對不同船舶跟蹤的魯棒性,根據天氣情況和船舶類型設置實驗。結果如表2~表4 所示。
由表2 和表3 可以看出,在惡劣天氣條件下,跟蹤器的平均精度達到56%,平均召回率為53%。其中霧天氣對跟蹤效果影響較大,因為它模糊了目標的大部分特征,對于不同類型的船舶,外觀和速度將影響跟蹤結果。通常,客船彼此之間具有更高的相似性,并且尺寸非常接近。此外,客船有固定的路線,以便順利運行,因此客船的跟蹤效果較好。相比之下,快艇的跟蹤性能較差。快艇具有小尺寸和高速度,并且駕駛員隨機地改變其路線,因此其位置偏移和外觀變化是顯著的,這對跟蹤具有負面影響。在表4 中,F 值集成了精度和召回率,以證明所提出的跟蹤器的優良性能。圖3 為跟蹤效果展示,分別截取了視頻中的第1,10 和20 幀。

表 1 不同CNN 下跟蹤模型性能效果Tab.1 Tracking model performance under different CNNs

表 2 不同天氣和船舶類型數據集上的準確率Tab.2 Accuracy of our model in data sets of different weather and ship types

表 3 不同天氣和船舶類型數據集上的召回率Tab.3 Recall of our model in data sets of different weather and ship types

表 4 不同天氣和船舶類型數據集上的F 值Tab.4 F-measure of our model on different weather and ship type data sets

圖 3 跟蹤效果展示Fig.3 Tracking performancedisplay
本文將深度學習方法應用于船舶跟蹤,提出使用孿生網絡和區域推薦網絡的海上船舶跟蹤方法。為進一步提高跟蹤性能,參照AlexNet 網絡對孿生網絡的CNN 模塊進行修改,并提出一種基于歷史軌跡的自適應搜索區域提取方法,以適應不同的運動場景。利用數據集對所提出的跟蹤器進行評估。結果表明,在使用Intel Xeon CPU E5-2620,GTX TITAN 的PC 機上可以達到58%的平均精度和124.21 FPS。