周治國 荊 朝 王秋伶 屈 崇②
①(北京理工大學信息與電子學院 北京 100081)
②(中國船舶重工集團公司第七一一研究所 上海 201108)
近年來,能夠獨立完成自主作業任務的水面無人艇(Unmanned Surface Vehicle, USV)發展迅速,主要用于執行不適于有人船只執行的危險任務,在民用和軍事領域的應用前景極其廣泛。無人艇的自主導航需要利用視覺檢測與跟蹤感知周圍環境,但是水面存在目標難以采樣,目標形變、光照變化、尺度變化、目標遮擋、攝像頭抖動等多種狀況[1],這些不可預測的問題增加了無人艇視覺檢測跟蹤的難度,可能會造成虛警、漏檢、跟蹤失敗等后果。
在海天背景下的目標檢測識別領域,主要從傳統圖像處理方法和深度學習兩個角度展開研究。傳統方法主要是通過研究水面環境下的前景和背景特征、濾波理論實現對目標的識別。傳統算法[2,3]運行速度較快,在光照條件良好、沒有遮擋、運動緩慢的環境下表現較好,但在水面復雜條件下檢測效果不佳,例如光照過強或過弱時,往往會出現誤檢過亮波浪噪點、漏檢過暗目標等問題,難以滿足魯棒性需求。
深度學習算法在目標識別領域中取得了良好的效果。Faster RCNN[4], YOLO[5], SSD[6]等在經典數據集上的目標識別效果已經遠遠超過了傳統方法。在水面目標識別方面,Qin等人[7]設計FCN-8s網絡結構用于檢測水面障礙物;Yang等人[8]通過Faster-RCNN檢測目標的候選框,在候選框中實現圖像分割。深度學習算法精度較高,但是檢測速度較慢,需要高功耗實驗設備的支持,難以移植到嵌入式設備中。
目前的視覺檢測算法大都是針對固定的一幀靜態圖片進行處理,而幀與幀之間時間上的信息并沒有得到充分利用,在對視頻進行處理時可能會出現目標漏檢等情況。
與視覺目標檢測相比,目標跟蹤對實時性的要求更高,按有無檢測過程的參與,可分為生成式跟蹤與判別式跟蹤。生成式跟蹤[9—11]是先對前景目標進行表觀建模,再按一定的跟蹤策略估計目標的最優位置,這類方法極易受到干擾,導致跟蹤失敗。判別式跟蹤[12—14]將跟蹤看作前景與背景的二分類問題,通過對每一幀圖像進行目標檢測來獲取跟蹤目標狀態,跟蹤相對穩定但對訓練樣本的依賴程度相對較高。基于時頻變換的相關濾波跟蹤算法計算高效,近年來受到廣泛關注[15—20]。Henriques 等人[21]于2015年提出了核化相關濾波器(Kernelized Correlation Filter, KCF)算法,擴充了CSK,在其中引入不同的核方法以及方向梯度直方圖(Histogram of Oriented Gradient, HOG)特征,大大提高了跟蹤算法的精度。
這些目標跟蹤算法主要是基于視頻序列中的時間信息對目標進行處理,對其具體位置及尺度等空間信息的確定精確度不高,跟蹤過程中可能會不斷積累誤差,造成目標漂移,導致跟蹤失敗。
本文提出基于時空信息融合的無人艇水面目標檢測跟蹤,利用深度學習檢測獲得更加精確的空間位置和尺度信息,減少累積誤差,利用相關濾波跟蹤計算視頻幀間梯度特征的時間信息相關性,即視頻幀與幀之間的關聯性,降低漏檢概率,保證運行速度,在跟蹤的過程中每隔一定的圖像幀數后運行一次檢測,通過特征對比將時空信息進行融合,在確保跟蹤速度和準確率的情況下,還能夠及時檢測到水面視野中新出現的目標并長時間持續跟蹤。
基于時空信息融合的無人艇水面目標檢測跟蹤主要分為3個部分,基于空間信息的深度學習檢測、基于時間信息的相關濾波跟蹤和時空信息的融合。先通過單發多盒探測器(Single Shot multibox Detector, SSD)檢測視頻圖像,再利用KCF技術對水面目標進行跟蹤,在跟蹤一定幀數后再次引入SSD檢測機制,比較舊跟蹤框與新檢測框的置信度,通過時空信息融合策略得到合適的框繼續跟蹤,若在視野中檢測到有新的目標出現,則同時跟蹤新目標。系統整體架構如圖1所示。

圖1 算法框架圖
本文采用基于SSD算法框架實現對目標的檢測,并針對水面環境的特殊性,改進默認框生成方法,提高目標空間信息檢測精度。
輸入圖像首先由基礎網絡經過迭代卷積運算充分提取特征,再通過附加網絡進行進一步的特征提取與分析,利用卷積預測器進行目標位置偏移量預測與分類,最后用非極大值抑制方法去除冗余。基礎網絡采用VGG結構作為特征提取網絡,在網絡末端使用2個卷積層替換原網絡的2個全連接層,并在其后增加8層附加網絡進一步提高特征提取能力。深度不同的特征圖的感受野不同,對不同尺度目標的響應也不同。SSD檢測網絡從特征提取網絡抽取conv4_3, conv7, conv8_2, conv9_2,conv10_2和池化層pool11共6層尺度遞減的特征圖作為輸入,以實現多尺度目標的檢測。其網絡結構圖如圖2所示。
檢測多尺度目標分3步:在不同尺度特征圖上生成寬高比不同面積相同的默認框;經過大量樣本的訓練卷積預測器以默認框中的抽象特征為輸入,預測默認框的偏差;通過非極大值抑制去除置信度較低的冗余框。
默認框生成方法改進如下:
設需要在共m個特征圖上做預測,則第k個特征圖上默認框面積(尺度)sk為

本文取m=6,最小面積為0.20,最大面積為0.95。本文采用K-means聚類分析算法處理數據集中所有目標的寬高比,得到5個聚類中心,即新的寬高比ar∈{1.0, 1.8, 2.5, 3.8, 5.0},為目標檢測提供更好的初值。

圖2 檢測算法網絡結構圖
利用SSD卷積網絡得到固定默認框到實際目標的坐標偏移量與類別的得分,通過類別得分和坐標偏移量的歸一化和加權,得到損失函數

對于水面無人艇來說,在海面任務中跟蹤的實時性至關重要,本文基于在速度方面優勢較大的KCF算法實現,同時考慮到水面目標尺度變化較大的特點,加入多尺度自適應模塊。
采用HOG特征訓練分類器,轉化為嶺回歸模型[20],建立輸入的樣本變量x和輸出的響應y之間的映射關系,嶺回歸目標函數為

其中λ(λ ≥0)是正則化參數,加入正則項是為了避免過擬合的發生。
為了使通過回歸器預測到的樣本標簽與真實標簽差距最小,為每個樣本分配權值系數,得到回歸參數的閉合求解公式

由于密集采樣計算比較耗時,采用循環移位構建訓練樣本,將問題變換到離散傅里葉域,利用循環矩陣的性質,避免矩陣求逆的過程,加速學習。循環矩陣對角化為

為了簡化計算,將線性空間嶺回歸得到的特征通過核函數映射到非線性空間,在非線性空間求解一個對偶問題。通過映射函數φ(x)分類器變為

在傅里葉域得到所有測試樣本的響應

采用響應最強的采樣作為本幀位置。
跟蹤算法整體框架圖如圖3所示。首先對首幀圖像進行初始化,對初始圖像進行特征提取,從而進行模型訓練,得到濾波器模板;然后進行目標跟蹤,對當前幀進行特征提取,與前一幀訓練得到的濾波器模板做卷積,得到響應圖,最相關的即為目標位置。
為應對目標尺度變化,制定尺度自適應策略來保證跟蹤的穩定性。以目標位置為中心,選取不同尺度的矩形區域作為樣本,分別提取其HOG特征,通過跟蹤分類器后得到各自的樣本響應R0,R+1,R-1,比較后得到最強的響應R

得到響應最強的樣本所對應矩形框即為當前目標尺度。利用此方法進行多尺度自適應,運算量小且高效可行。

圖3 跟蹤算法整體框架圖
利用深度學習進行目標檢測來提取單幀圖像特征,精確度較高,可以對未知目標進行識別分類,魯棒性強。但檢測沒有結合視頻圖像幀與幀之間的時間信息關系,可能會導致漏檢,且運行速度較慢。而相關濾波跟蹤是通過提取連續幀圖像的特征并訓練濾波器實現,計算量少,處理速度快,但是其容易累積誤差,導致目標漂移,易受目標遮擋與水面風浪引起的晃動等影響。因此,將時間信息與空間信息進行融合,可以充分利用兩者的優點,提高整體性能,實現對水面目標更加準確、穩定的檢測跟蹤,兼顧魯棒性和實時性。
融合時,在首幀圖像中通過檢測算法確定目標空間位置信息,再將首幀目標的位置作為跟蹤算法的輸入,之后的數幀采用跟蹤算法對目標進行跟蹤。跟蹤固定幀數后運行再檢測機制,通過檢測算法確保持續檢測跟蹤的精確度。兩次再檢測之間進行跟蹤的幀數通過實驗確定。
運行再檢測機制后,并不能確定之前的跟蹤候選框和再檢測得到的檢測候選框哪個效果更好,因此本文設計了候選框選擇策略,如圖4所示。

圖4 候選框選擇策略流程圖
首先計算檢測候選框Si與跟蹤候選框Kj之間的重合度,判斷檢測到的與跟蹤的是否是同一個目標。本文使用交并比(Intersection Over Union,IOU)作為重合度的評判標準,即兩個候選框交集與并集的比值,計算方法為

如果 ? Kj, IOU(Si, Kj) < 0.4,則將Si視為新目標并輸出,參與跟蹤算法的初始化。如果 ? Kj,IOU(Si, Kj) > 0.4,則認為檢測框Si與跟蹤框Kj檢測到了同一目標,此時將檢測算法輸出框的置信度conf(Si)與跟蹤算法輸出框的歸一化響應conf(Kj)進行比較,取置信度較大的框作為系統的輸出。
為了提高檢測算法在水面任務中的精確度和魯棒性,本文自行構建了水面無人艇檢測目標數據集,共1550張圖片。訓練時,以Pascal VOC2007訓練出的SSD模型作為權重起點對網絡進行微調,設置學習率為0.001,權重衰減為0.0005,在NVIDIA GeForce GTX 1080TI上進行了30000次訓練。
本文選取實地實驗中5個比較有代表性的視頻進行驗證,視頻1顯視角、尺度變化,視頻2顯示目標遮擋和尺度變化,視頻3, 4顯示由風、浪等引起的視野晃動,視頻5顯示光照變化。測試平臺為2.1 GHz, 8GB內存的AMD Ryzen 5 3500U主機。
本文使用精確度和成功率作為衡量指標來比較實驗結果,前者為視頻序列圖像中心位置誤差小于某個閾值的相對幀數,后者為目標邊界框重疊率超過閾值的幀所占百分比[19]。
無人艇在不同環境影響下對水面目標的檢測跟蹤結果如表1所示,5個不同視頻序列中檢測跟蹤的具體精確度和成功率曲線如圖5所示。

表1 測試數據集和檢測跟蹤結果(IOU@0.6)

圖5 測試數據集檢測跟蹤精確度及成功率
由表1和圖5可知,與視頻1相比,視頻2, 3, 4,5的跟蹤成功率都下降,可見遮擋、尺度變化、晃動和光照都對檢測跟蹤效果有影響,其中遮擋和光照變化影響較大,晃動劇烈程度不同,對檢測跟蹤的影響也不同。在設定目標重疊率(IOU)閾值為0.6的情況下,平均檢測跟蹤精確度為77%,平均速度可達到15 FPS。視頻2的處理速度較慢是由于視野中出現新目標引起的,視頻4中目標尺度較大,因此檢測跟蹤時間較長。
選擇受環境影響更大的目標遮擋條件下的視頻2和光照變化條件下的視頻5進行對比實驗,分別將本文提出的基于時空信息融合的水面目標檢測跟蹤算法與單一跟蹤算法、檢測算法進行比較。
視頻2中存在目標遮擋的問題,實驗結果如表2和圖6所示。就精確度和成功率而言,顯然融合算法更為出色。深度學習檢測算法可能無法檢測到尺度過小的目標,導致召回率較低,造成漏檢。在長時間的檢測跟蹤中,相關濾波跟蹤算法會累積誤差,導致準確性較差,尤其是對于被遮擋的目標,很容易發生跟蹤漂移現象。這些原因使得單一檢測或跟蹤算法下的精確度和成功率不高。融合算法通過KCF跟蹤保證了較高的召回率,通過SSD檢測糾正了累積誤差,在目標被遮擋后仍然能重新檢測到目標并持續跟蹤,解決了水面目標檢測跟蹤中的遮擋問題。
視頻5中存在光照變化問題,實驗結果如表3和圖7所示。由于受到光照變化的影響,目標邊緣與背景之間的明暗程度難以區別,檢測跟蹤的目標邊界框很難確定,即使能夠檢測跟蹤到目標的位置,對于目標尺度的判斷卻并不準確,因此KCF跟蹤算法中利用中心位置誤差計算得到的精確度較高,利用目標重疊率計算得到的成功率卻較低。SSD檢測算法的魯棒性較強,但是卻存在漏檢現象。融合算法的檢測跟蹤效果則比較好,在光照變化明顯的環境中綜合表現較好。
本文采用了不同檢測和跟蹤算法在單目標視頻(視頻1、視頻3、視頻4、視頻5)上進行了對比實驗。其中,空間維度上選取了在工業界廣泛應用的YOLOv3和SSD算法,時間維度上選取了經典單目標跟蹤算法DSST, ECO與KCF算法。該實驗分為兩個部分,第1部分是單一的空間檢測算法或時間跟蹤算法,與本文融合算法的對比;第2部分是在本文融合策略的基礎上,不同檢測和跟蹤算法組合的對比。
表4顯示了單一算法的對比結果。若單獨對比檢測算法,SSD算法的檢測精度更高,雖然YOLOv3在公開數據集上有較好的普適性,但是SSD在本數據集上更有針對性。而時間上則是KCF算法的精度更高,體現了其在水天背景下的優勢。整體來看,單一算法的成功率遠低于SSD+KCF融合算法。這是因為檢測算法受到水面環境下的復雜光線反射的影響,導致其出現大量的漏檢現象;而時間算法會受到攝像頭晃動的影響,積累誤差導致跟蹤框漂移,使跟蹤框與Ground Truth的IOU達不到0.6。

表2 分別使用KCF、SSD和融合算法的結果比較(視頻2)

圖6 分別使用 KCF、SSD和融合算法的檢測跟蹤精確度和成功率比較(視頻2)

表3 分別使用KCF, SSD和融合算法的結果比較(視頻5)

圖7 與分別使用 KCF, SSD和融合算法的檢測跟蹤精確度和成功率比較(視頻5)

表4 單一SSD, YOLOv3, KCF, DSST和ECO的算法成功率對比(IOU@0.6)
表5對比了不同經典算法在IOU為0.6時的融合效果。由于空間上YOLOv3在數據集上的效果較差,漏檢較多,因此未將其作為空間檢測算法參與融合測試。因此這一部分實驗空間上僅采用了SSD,時間上分別采用KCF, DSST和ECO算法測試了融合的效果。其檢測結果如表5。

表5 SSD與KCF, DSST和ECO融合算法的成功率對比
從表5中可以看出 SSD+KCF算法的效果最好。由于表4中KCF算法在跟蹤算法中效果較好,同樣的SSD+KCF的整體效果也優于SSD+DSST和SSD+ECO。因為跟蹤算法利用時間信息了填補了檢測算法的漏檢,而檢測算法又通過對單幀圖像的精確檢測糾正了跟蹤框的漂移,所以融合算法檢測的成功率相比表4中的單一算法有了明顯提升。不同融合算法在實際視頻上的表現如圖8所示,綠色框代表SSD+KCF,紅色框代表SSD+DSST,粉色框代表SSD+ECO。

圖8 3種融合算法的檢測跟蹤結果對比
在無人艇水面目標檢測跟蹤中,通常會面臨各種環境干擾,尤其是目標尺度變化、遮擋、光照變化以及晃動,本文提出了基于時空信息融合的無人艇水面目標檢測跟蹤。利用深度學習檢測提取空間信息,提高檢測精確度,避免目標位置漂移;利用相關濾波跟蹤得到時間信息,結合幀間特征相關性,避免漏檢;利用時空信息融合策略,使檢測信息與跟蹤信息互補,從而優化檢測跟蹤系統。為了驗證該系統的有效性,實地進行無人艇實驗,在水面拍攝視頻作為測試數據集,結果表明基于時空信息融合的檢測跟蹤算法能夠高效地對不同復雜場景下的水面目標進行持續檢測跟蹤,在一定程度上可以應對上述環境干擾因素的影響,兼具魯棒性和實時性,可應用于實際水面無人艇的工作中。但對于尺度過小的水面目標檢測跟蹤效果稍差,下一步工作將在這方面做出改進。