石勝斌,王曙光,劉 楨,楊傳棟
(陸軍炮兵防空兵學院,安徽 合肥 230031)
中國的領海面積十分廣闊,海洋資源豐富;與此同時,海洋周邊環境復雜,存在一定的安全隱患,為了維護海洋安全穩定、準確鎖定及跟蹤可疑海上目標,艦船目標跟蹤系統的搭載勢在必行,因此對于海上目標的跟蹤技術的研究具有一定的現實意義[1]。
目標跟蹤在計算機視覺領域仍然是極富挑戰性的一個子領域。很多國家都投入了大量的人力、物力和財力進行該項研究。當前,基于計算機視覺的跟蹤具有非常廣泛的應用價值,國內外學者已提出了很多運動目標跟蹤的方法,并在不同的應用領域取得了一定的效果。在交通應用領域,主要有交通流量控制,車輛、船舶的異常檢測,利用智能交通監控系統提高交通的管控系統效率[2-3]。在精確制導領域,隨著目標跟蹤技術的不斷發展,制導精度也大幅提升。以往的跟蹤算法通常只能用簡單的軸對齊的邊界框來表示目標,這種方法固然存在一定的弊端,如目標發生外觀及形態變化時,傳統軸對齊的跟蹤框中勢必會引入大量背景信息,例如在導彈打擊目標時極有可能造成任務失敗。文中基于全卷積孿生網絡(Siamese)框架[4]并結合目標分割策略,使得跟蹤器能夠在目標發生變化時,自適應地調整跟蹤框的形狀,該方法能夠有效減小跟蹤器的跟蹤誤差。
孿生神經網絡(SiameseNet:Siamese neural network)最早是由Bromley和LeCun[5]提出用來處理簽名驗證的問題,該網絡主要包含兩個或多個具有相同結構且共享網絡參數的網絡模型,并經過不斷的發展,逐漸被應用到圖像匹配、分類等領域。孿生神經網絡的目標是尋找兩個可比較對象的相似程度(例如,簽名驗證、人臉和指紋識別等)。
在目標跟蹤中,該網絡有兩個相同的子網絡,并且這兩個子網絡有相同的參數和權重[6]。孿生網絡中間隱含層為傳統的卷積神經網絡,不同的是一個孿生網絡通常包含兩個甚至多個輸入,每個網絡分支的參數共享,通過對輸出相似度對比函數的學習,進而比較各分支輸入樣本的相似度,最終得到的是一個得分圖,進而確定目標位置。其跟蹤框架如圖1所示。相比于傳統卷積神經網絡的單輸入特性,多輸入的孿生網絡能代入一定的先驗信息,即能夠將更多的特征信息代入跟蹤器,使得訓練模型的小型化得以實現。

圖1 基于孿生網絡目標跟蹤框架
圖中*代表相關性計算,φ代表簡化的卷積神經網絡,結構與AlexNet類似[7],不過只有卷積層與池化層,沒有最后的全連接層,其結構如表1所示。

表1 網絡結構
其中池化層采用max-pooling的方法,除第五層外,每個卷積層后都連有非線性激活層,同時在訓練時對每個激活層進行批標準化,以降低訓練過程中的過擬合[8-9]。該算法雖能較為準確地確定目標位置,但由于采用的是軸對齊跟蹤框,在目標視角發生變化則會引入一定的背景信息。
文中采用實時在線目標分割與目標跟蹤統一架構(SiamMask)[10]來解決因目標旋轉變化所帶來的跟蹤精度下降的問題。SiamMask算法基于全卷積孿生網絡架構,通過在原有損失函數的基礎上增加對目標分割損失的計算,即對傳統孿生網絡的離線訓練過程進行改進。該算法的基本框架[11]如圖2所示。
與傳統孿生網絡不同的是,該算法中*d是對圖像經神經網絡得到的特征進行逐通道的相關性計算,所以保證了響應的通道數不變[12],得到的響應值稱為RoW(response of candidate window),然后在該響應的基礎上得到了分割mask和分類score兩個分支。

圖2 SiamMask算法目標跟蹤框架
由于每個Row最終生成的mask是一個63*63的向量,因此最終得到的分割結果的圖像較原圖的尺寸會小很多,因此該算法在輸出結果的基礎上加入了如圖3所示的上采樣過程,最終得到了127*127的mask圖像,進而取得了更加精細的分割結果。

圖3 mask圖像上采樣
該方法使用具有可學習參數φ的簡單的兩層神經網絡hφ對每個RoW預測w×h二元掩模(Mask)[13]。令mn表示對應于第n個RoW的預測mask,則可表示為:

(1)
gθ(z,x)=fθ(z)*fθ(x)
(2)
其中,x和z分別表示待搜索區域以及目標模板,gθ(z,x)為響應值,經計算響應值最大的部分即為預測的目標位置。
由上式可知,最后生成的mask是待分割圖像x和目標圖像z的一個函數,因此可以看成是用z去指導完成x上的分割。而最終跟蹤結果的邊界框則根據分割所得結果的最小外接矩形繪制,故可以根據目標的外觀做出最佳預測。
對于模型的訓練采取端到端的方式,兩個分支同時進行訓練,即根據每一對訓練樣本都應給出每個分支的標簽,分割對應的損失函數[14]為:
(3)

分類分支對應損失函數為:
lscore=log(1+exp(-ynv))
(4)
即采用邏輯損失函數的方式,v為圖1中最終輸出得分圖中每點的真實值,yn=±1為該點對應標簽。而得分圖中整體損失函數為所有點損失函數的均值:

(5)
其中,u∈D表示該點在score map中的位置,最終可以得到該模型整體的損失函數:
L2B=λ1·Lmask+λ2·Lscore
(6)
其中,L2B表示模型整體的損失函數,Lscore為分類的損失函數。該算法令λ1=32,λ2=1,如果預測與真實的回歸框有至少0.6IOU(intersection-over-union,交并比)則是正例,否則是負例[15]。
網絡訓練所用數據集來自ILSVRC(ImageNet large scale visual recognition challenge)競賽中用于視頻目標檢測的ImageNet視頻集[16],這個數據集共有4 500個視頻,其中也包含大量的艦船目標的視頻,通過對這些視頻的訓練能夠有效提升跟蹤器中孿生網絡的判別能力。
實驗環境如表2所示。

表2 實驗環境
分別采用傳統基于孿生網絡(SiameseNet)跟蹤算法[17]以及文中的結合分割策略的(SiamMask)跟蹤算法在同一圖像測試集上進行實驗,以艦船模型為跟蹤目標進行跟蹤效果對比,結果如圖4所示。
可以看出傳統跟蹤算法的跟蹤框(圖中正矩形)在包含目標的同時不可避免地引入了大量背景信息,而文中算法能夠根據分割結果自適應地調整跟蹤框(圖中斜矩形)的角度與位置,充分減少了背景信息的干擾。

圖4 艦船模型跟蹤效果對比
為定量分析算法的實驗效果,傳統評估跟蹤效果方法計算預測框與標準框的重疊率,但由于文中算法與傳統算法的標注方式不同,即采用非軸對稱框的標注方式,使得算法的重疊率指標不具有可比性。因此通過計算對比SiamMask算法、SiameseNet算法以及經典檢測跟蹤算法KCF[18]的中心誤差,并繪制中心誤差曲線[19]來反映算法的跟蹤精度。
所謂中心誤差即算法對于目標中心像素的預測值與標準值的偏差。對采集的十組包含艦船模型的視頻進行逐幀標注,將各算法在這十個序列的測試所得中心誤差的平均值繪制成曲線,如圖5所示,曲線上的點代表跟蹤預測結果小于誤差閾值的幀數占視頻總幀數的百分比。

圖5 平均中心誤差
由實驗結果可知,SiamMask算法的跟蹤效果更好,其平均跟蹤成功率較SiameseNet以及KCF算法分別提升了19.5%和24.5%。選擇了其中艦船目標旋轉變化較明顯的一個視頻序列,對每一幀的中心誤差分析,如圖6所示。

(a)中心誤差

(b)成功率
可以看出,當目標視角發生變化時,文中算法較其他算法的中心誤差增量更小,跟蹤成功率更高。與此同時,算法在GPU加速的情況下其運行速度可達30 fps,可以較好地滿足實時性要求。
傳統跟蹤方法在目標發生外觀變化,尤其是旋轉變化時,其跟蹤精度明顯下降。而SiamMask算法從目標的Mask獲得旋轉邊界框的策略比簡單地提供軸對齊邊界框有顯著的優勢。通過對比SiamMask算法、SiameseNet以及KCF算法在標注好的包含艦船目標的圖像序列上的測試結果,進一步驗證了該算法的突出性能,能夠較好地滿足艦船目標跟蹤的準確性和實時性,具有較高的應用價值。