周治國 荊 朝 王秋伶 屈 崇②
①(北京理工大學(xué)信息與電子學(xué)院 北京 100081)
②(中國船舶重工集團(tuán)公司第七一一研究所 上海 201108)
近年來,能夠獨(dú)立完成自主作業(yè)任務(wù)的水面無人艇(Unmanned Surface Vehicle, USV)發(fā)展迅速,主要用于執(zhí)行不適于有人船只執(zhí)行的危險任務(wù),在民用和軍事領(lǐng)域的應(yīng)用前景極其廣泛。無人艇的自主導(dǎo)航需要利用視覺檢測與跟蹤感知周圍環(huán)境,但是水面存在目標(biāo)難以采樣,目標(biāo)形變、光照變化、尺度變化、目標(biāo)遮擋、攝像頭抖動等多種狀況[1],這些不可預(yù)測的問題增加了無人艇視覺檢測跟蹤的難度,可能會造成虛警、漏檢、跟蹤失敗等后果。
在海天背景下的目標(biāo)檢測識別領(lǐng)域,主要從傳統(tǒng)圖像處理方法和深度學(xué)習(xí)兩個角度展開研究。傳統(tǒng)方法主要是通過研究水面環(huán)境下的前景和背景特征、濾波理論實(shí)現(xiàn)對目標(biāo)的識別。傳統(tǒng)算法[2,3]運(yùn)行速度較快,在光照條件良好、沒有遮擋、運(yùn)動緩慢的環(huán)境下表現(xiàn)較好,但在水面復(fù)雜條件下檢測效果不佳,例如光照過強(qiáng)或過弱時,往往會出現(xiàn)誤檢過亮波浪噪點(diǎn)、漏檢過暗目標(biāo)等問題,難以滿足魯棒性需求。
深度學(xué)習(xí)算法在目標(biāo)識別領(lǐng)域中取得了良好的效果。Faster RCNN[4], YOLO[5], SSD[6]等在經(jīng)典數(shù)據(jù)集上的目標(biāo)識別效果已經(jīng)遠(yuǎn)遠(yuǎn)超過了傳統(tǒng)方法。在水面目標(biāo)識別方面,Qin等人[7]設(shè)計(jì)FCN-8s網(wǎng)絡(luò)結(jié)構(gòu)用于檢測水面障礙物;Yang等人[8]通過Faster-RCNN檢測目標(biāo)的候選框,在候選框中實(shí)現(xiàn)圖像分割。深度學(xué)習(xí)算法精度較高,但是檢測速度較慢,需要高功耗實(shí)驗(yàn)設(shè)備的支持,難以移植到嵌入式設(shè)備中。
目前的視覺檢測算法大都是針對固定的一幀靜態(tài)圖片進(jìn)行處理,而幀與幀之間時間上的信息并沒有得到充分利用,在對視頻進(jìn)行處理時可能會出現(xiàn)目標(biāo)漏檢等情況。
與視覺目標(biāo)檢測相比,目標(biāo)跟蹤對實(shí)時性的要求更高,按有無檢測過程的參與,可分為生成式跟蹤與判別式跟蹤。生成式跟蹤[9—11]是先對前景目標(biāo)進(jìn)行表觀建模,再按一定的跟蹤策略估計(jì)目標(biāo)的最優(yōu)位置,這類方法極易受到干擾,導(dǎo)致跟蹤失敗。判別式跟蹤[12—14]將跟蹤看作前景與背景的二分類問題,通過對每一幀圖像進(jìn)行目標(biāo)檢測來獲取跟蹤目標(biāo)狀態(tài),跟蹤相對穩(wěn)定但對訓(xùn)練樣本的依賴程度相對較高?;跁r頻變換的相關(guān)濾波跟蹤算法計(jì)算高效,近年來受到廣泛關(guān)注[15—20]。Henriques 等人[21]于2015年提出了核化相關(guān)濾波器(Kernelized Correlation Filter, KCF)算法,擴(kuò)充了CSK,在其中引入不同的核方法以及方向梯度直方圖(Histogram of Oriented Gradient, HOG)特征,大大提高了跟蹤算法的精度。
這些目標(biāo)跟蹤算法主要是基于視頻序列中的時間信息對目標(biāo)進(jìn)行處理,對其具體位置及尺度等空間信息的確定精確度不高,跟蹤過程中可能會不斷積累誤差,造成目標(biāo)漂移,導(dǎo)致跟蹤失敗。
本文提出基于時空信息融合的無人艇水面目標(biāo)檢測跟蹤,利用深度學(xué)習(xí)檢測獲得更加精確的空間位置和尺度信息,減少累積誤差,利用相關(guān)濾波跟蹤計(jì)算視頻幀間梯度特征的時間信息相關(guān)性,即視頻幀與幀之間的關(guān)聯(lián)性,降低漏檢概率,保證運(yùn)行速度,在跟蹤的過程中每隔一定的圖像幀數(shù)后運(yùn)行一次檢測,通過特征對比將時空信息進(jìn)行融合,在確保跟蹤速度和準(zhǔn)確率的情況下,還能夠及時檢測到水面視野中新出現(xiàn)的目標(biāo)并長時間持續(xù)跟蹤。
基于時空信息融合的無人艇水面目標(biāo)檢測跟蹤主要分為3個部分,基于空間信息的深度學(xué)習(xí)檢測、基于時間信息的相關(guān)濾波跟蹤和時空信息的融合。先通過單發(fā)多盒探測器(Single Shot multibox Detector, SSD)檢測視頻圖像,再利用KCF技術(shù)對水面目標(biāo)進(jìn)行跟蹤,在跟蹤一定幀數(shù)后再次引入SSD檢測機(jī)制,比較舊跟蹤框與新檢測框的置信度,通過時空信息融合策略得到合適的框繼續(xù)跟蹤,若在視野中檢測到有新的目標(biāo)出現(xiàn),則同時跟蹤新目標(biāo)。系統(tǒng)整體架構(gòu)如圖1所示。
圖1 算法框架圖
本文采用基于SSD算法框架實(shí)現(xiàn)對目標(biāo)的檢測,并針對水面環(huán)境的特殊性,改進(jìn)默認(rèn)框生成方法,提高目標(biāo)空間信息檢測精度。
輸入圖像首先由基礎(chǔ)網(wǎng)絡(luò)經(jīng)過迭代卷積運(yùn)算充分提取特征,再通過附加網(wǎng)絡(luò)進(jìn)行進(jìn)一步的特征提取與分析,利用卷積預(yù)測器進(jìn)行目標(biāo)位置偏移量預(yù)測與分類,最后用非極大值抑制方法去除冗余?;A(chǔ)網(wǎng)絡(luò)采用VGG結(jié)構(gòu)作為特征提取網(wǎng)絡(luò),在網(wǎng)絡(luò)末端使用2個卷積層替換原網(wǎng)絡(luò)的2個全連接層,并在其后增加8層附加網(wǎng)絡(luò)進(jìn)一步提高特征提取能力。深度不同的特征圖的感受野不同,對不同尺度目標(biāo)的響應(yīng)也不同。SSD檢測網(wǎng)絡(luò)從特征提取網(wǎng)絡(luò)抽取conv4_3, conv7, conv8_2, conv9_2,conv10_2和池化層pool11共6層尺度遞減的特征圖作為輸入,以實(shí)現(xiàn)多尺度目標(biāo)的檢測。其網(wǎng)絡(luò)結(jié)構(gòu)圖如圖2所示。
檢測多尺度目標(biāo)分3步:在不同尺度特征圖上生成寬高比不同面積相同的默認(rèn)框;經(jīng)過大量樣本的訓(xùn)練卷積預(yù)測器以默認(rèn)框中的抽象特征為輸入,預(yù)測默認(rèn)框的偏差;通過非極大值抑制去除置信度較低的冗余框。
默認(rèn)框生成方法改進(jìn)如下:
設(shè)需要在共m個特征圖上做預(yù)測,則第k個特征圖上默認(rèn)框面積(尺度)sk為
本文取m=6,最小面積為0.20,最大面積為0.95。本文采用K-means聚類分析算法處理數(shù)據(jù)集中所有目標(biāo)的寬高比,得到5個聚類中心,即新的寬高比ar∈{1.0, 1.8, 2.5, 3.8, 5.0},為目標(biāo)檢測提供更好的初值。
圖2 檢測算法網(wǎng)絡(luò)結(jié)構(gòu)圖
利用SSD卷積網(wǎng)絡(luò)得到固定默認(rèn)框到實(shí)際目標(biāo)的坐標(biāo)偏移量與類別的得分,通過類別得分和坐標(biāo)偏移量的歸一化和加權(quán),得到損失函數(shù)
對于水面無人艇來說,在海面任務(wù)中跟蹤的實(shí)時性至關(guān)重要,本文基于在速度方面優(yōu)勢較大的KCF算法實(shí)現(xiàn),同時考慮到水面目標(biāo)尺度變化較大的特點(diǎn),加入多尺度自適應(yīng)模塊。
采用HOG特征訓(xùn)練分類器,轉(zhuǎn)化為嶺回歸模型[20],建立輸入的樣本變量x和輸出的響應(yīng)y之間的映射關(guān)系,嶺回歸目標(biāo)函數(shù)為
其中λ(λ ≥0)是正則化參數(shù),加入正則項(xiàng)是為了避免過擬合的發(fā)生。
為了使通過回歸器預(yù)測到的樣本標(biāo)簽與真實(shí)標(biāo)簽差距最小,為每個樣本分配權(quán)值系數(shù),得到回歸參數(shù)的閉合求解公式
由于密集采樣計(jì)算比較耗時,采用循環(huán)移位構(gòu)建訓(xùn)練樣本,將問題變換到離散傅里葉域,利用循環(huán)矩陣的性質(zhì),避免矩陣求逆的過程,加速學(xué)習(xí)。循環(huán)矩陣對角化為
為了簡化計(jì)算,將線性空間嶺回歸得到的特征通過核函數(shù)映射到非線性空間,在非線性空間求解一個對偶問題。通過映射函數(shù)φ(x)分類器變?yōu)?/p>
在傅里葉域得到所有測試樣本的響應(yīng)
采用響應(yīng)最強(qiáng)的采樣作為本幀位置。
跟蹤算法整體框架圖如圖3所示。首先對首幀圖像進(jìn)行初始化,對初始圖像進(jìn)行特征提取,從而進(jìn)行模型訓(xùn)練,得到濾波器模板;然后進(jìn)行目標(biāo)跟蹤,對當(dāng)前幀進(jìn)行特征提取,與前一幀訓(xùn)練得到的濾波器模板做卷積,得到響應(yīng)圖,最相關(guān)的即為目標(biāo)位置。
為應(yīng)對目標(biāo)尺度變化,制定尺度自適應(yīng)策略來保證跟蹤的穩(wěn)定性。以目標(biāo)位置為中心,選取不同尺度的矩形區(qū)域作為樣本,分別提取其HOG特征,通過跟蹤分類器后得到各自的樣本響應(yīng)R0,R+1,R-1,比較后得到最強(qiáng)的響應(yīng)R
得到響應(yīng)最強(qiáng)的樣本所對應(yīng)矩形框即為當(dāng)前目標(biāo)尺度。利用此方法進(jìn)行多尺度自適應(yīng),運(yùn)算量小且高效可行。
圖3 跟蹤算法整體框架圖
利用深度學(xué)習(xí)進(jìn)行目標(biāo)檢測來提取單幀圖像特征,精確度較高,可以對未知目標(biāo)進(jìn)行識別分類,魯棒性強(qiáng)。但檢測沒有結(jié)合視頻圖像幀與幀之間的時間信息關(guān)系,可能會導(dǎo)致漏檢,且運(yùn)行速度較慢。而相關(guān)濾波跟蹤是通過提取連續(xù)幀圖像的特征并訓(xùn)練濾波器實(shí)現(xiàn),計(jì)算量少,處理速度快,但是其容易累積誤差,導(dǎo)致目標(biāo)漂移,易受目標(biāo)遮擋與水面風(fēng)浪引起的晃動等影響。因此,將時間信息與空間信息進(jìn)行融合,可以充分利用兩者的優(yōu)點(diǎn),提高整體性能,實(shí)現(xiàn)對水面目標(biāo)更加準(zhǔn)確、穩(wěn)定的檢測跟蹤,兼顧魯棒性和實(shí)時性。
融合時,在首幀圖像中通過檢測算法確定目標(biāo)空間位置信息,再將首幀目標(biāo)的位置作為跟蹤算法的輸入,之后的數(shù)幀采用跟蹤算法對目標(biāo)進(jìn)行跟蹤。跟蹤固定幀數(shù)后運(yùn)行再檢測機(jī)制,通過檢測算法確保持續(xù)檢測跟蹤的精確度。兩次再檢測之間進(jìn)行跟蹤的幀數(shù)通過實(shí)驗(yàn)確定。
運(yùn)行再檢測機(jī)制后,并不能確定之前的跟蹤候選框和再檢測得到的檢測候選框哪個效果更好,因此本文設(shè)計(jì)了候選框選擇策略,如圖4所示。
圖4 候選框選擇策略流程圖
首先計(jì)算檢測候選框Si與跟蹤候選框Kj之間的重合度,判斷檢測到的與跟蹤的是否是同一個目標(biāo)。本文使用交并比(Intersection Over Union,IOU)作為重合度的評判標(biāo)準(zhǔn),即兩個候選框交集與并集的比值,計(jì)算方法為
如果 ? Kj, IOU(Si, Kj) < 0.4,則將Si視為新目標(biāo)并輸出,參與跟蹤算法的初始化。如果 ? Kj,IOU(Si, Kj) > 0.4,則認(rèn)為檢測框Si與跟蹤框Kj檢測到了同一目標(biāo),此時將檢測算法輸出框的置信度conf(Si)與跟蹤算法輸出框的歸一化響應(yīng)conf(Kj)進(jìn)行比較,取置信度較大的框作為系統(tǒng)的輸出。
為了提高檢測算法在水面任務(wù)中的精確度和魯棒性,本文自行構(gòu)建了水面無人艇檢測目標(biāo)數(shù)據(jù)集,共1550張圖片。訓(xùn)練時,以Pascal VOC2007訓(xùn)練出的SSD模型作為權(quán)重起點(diǎn)對網(wǎng)絡(luò)進(jìn)行微調(diào),設(shè)置學(xué)習(xí)率為0.001,權(quán)重衰減為0.0005,在NVIDIA GeForce GTX 1080TI上進(jìn)行了30000次訓(xùn)練。
本文選取實(shí)地實(shí)驗(yàn)中5個比較有代表性的視頻進(jìn)行驗(yàn)證,視頻1顯視角、尺度變化,視頻2顯示目標(biāo)遮擋和尺度變化,視頻3, 4顯示由風(fēng)、浪等引起的視野晃動,視頻5顯示光照變化。測試平臺為2.1 GHz, 8GB內(nèi)存的AMD Ryzen 5 3500U主機(jī)。
本文使用精確度和成功率作為衡量指標(biāo)來比較實(shí)驗(yàn)結(jié)果,前者為視頻序列圖像中心位置誤差小于某個閾值的相對幀數(shù),后者為目標(biāo)邊界框重疊率超過閾值的幀所占百分比[19]。
無人艇在不同環(huán)境影響下對水面目標(biāo)的檢測跟蹤結(jié)果如表1所示,5個不同視頻序列中檢測跟蹤的具體精確度和成功率曲線如圖5所示。
表1 測試數(shù)據(jù)集和檢測跟蹤結(jié)果(IOU@0.6)
圖5 測試數(shù)據(jù)集檢測跟蹤精確度及成功率
由表1和圖5可知,與視頻1相比,視頻2, 3, 4,5的跟蹤成功率都下降,可見遮擋、尺度變化、晃動和光照都對檢測跟蹤效果有影響,其中遮擋和光照變化影響較大,晃動劇烈程度不同,對檢測跟蹤的影響也不同。在設(shè)定目標(biāo)重疊率(IOU)閾值為0.6的情況下,平均檢測跟蹤精確度為77%,平均速度可達(dá)到15 FPS。視頻2的處理速度較慢是由于視野中出現(xiàn)新目標(biāo)引起的,視頻4中目標(biāo)尺度較大,因此檢測跟蹤時間較長。
選擇受環(huán)境影響更大的目標(biāo)遮擋條件下的視頻2和光照變化條件下的視頻5進(jìn)行對比實(shí)驗(yàn),分別將本文提出的基于時空信息融合的水面目標(biāo)檢測跟蹤算法與單一跟蹤算法、檢測算法進(jìn)行比較。
視頻2中存在目標(biāo)遮擋的問題,實(shí)驗(yàn)結(jié)果如表2和圖6所示。就精確度和成功率而言,顯然融合算法更為出色。深度學(xué)習(xí)檢測算法可能無法檢測到尺度過小的目標(biāo),導(dǎo)致召回率較低,造成漏檢。在長時間的檢測跟蹤中,相關(guān)濾波跟蹤算法會累積誤差,導(dǎo)致準(zhǔn)確性較差,尤其是對于被遮擋的目標(biāo),很容易發(fā)生跟蹤漂移現(xiàn)象。這些原因使得單一檢測或跟蹤算法下的精確度和成功率不高。融合算法通過KCF跟蹤保證了較高的召回率,通過SSD檢測糾正了累積誤差,在目標(biāo)被遮擋后仍然能重新檢測到目標(biāo)并持續(xù)跟蹤,解決了水面目標(biāo)檢測跟蹤中的遮擋問題。
視頻5中存在光照變化問題,實(shí)驗(yàn)結(jié)果如表3和圖7所示。由于受到光照變化的影響,目標(biāo)邊緣與背景之間的明暗程度難以區(qū)別,檢測跟蹤的目標(biāo)邊界框很難確定,即使能夠檢測跟蹤到目標(biāo)的位置,對于目標(biāo)尺度的判斷卻并不準(zhǔn)確,因此KCF跟蹤算法中利用中心位置誤差計(jì)算得到的精確度較高,利用目標(biāo)重疊率計(jì)算得到的成功率卻較低。SSD檢測算法的魯棒性較強(qiáng),但是卻存在漏檢現(xiàn)象。融合算法的檢測跟蹤效果則比較好,在光照變化明顯的環(huán)境中綜合表現(xiàn)較好。
本文采用了不同檢測和跟蹤算法在單目標(biāo)視頻(視頻1、視頻3、視頻4、視頻5)上進(jìn)行了對比實(shí)驗(yàn)。其中,空間維度上選取了在工業(yè)界廣泛應(yīng)用的YOLOv3和SSD算法,時間維度上選取了經(jīng)典單目標(biāo)跟蹤算法DSST, ECO與KCF算法。該實(shí)驗(yàn)分為兩個部分,第1部分是單一的空間檢測算法或時間跟蹤算法,與本文融合算法的對比;第2部分是在本文融合策略的基礎(chǔ)上,不同檢測和跟蹤算法組合的對比。
表4顯示了單一算法的對比結(jié)果。若單獨(dú)對比檢測算法,SSD算法的檢測精度更高,雖然YOLOv3在公開數(shù)據(jù)集上有較好的普適性,但是SSD在本數(shù)據(jù)集上更有針對性。而時間上則是KCF算法的精度更高,體現(xiàn)了其在水天背景下的優(yōu)勢。整體來看,單一算法的成功率遠(yuǎn)低于SSD+KCF融合算法。這是因?yàn)闄z測算法受到水面環(huán)境下的復(fù)雜光線反射的影響,導(dǎo)致其出現(xiàn)大量的漏檢現(xiàn)象;而時間算法會受到攝像頭晃動的影響,積累誤差導(dǎo)致跟蹤框漂移,使跟蹤框與Ground Truth的IOU達(dá)不到0.6。
表2 分別使用KCF、SSD和融合算法的結(jié)果比較(視頻2)
圖6 分別使用 KCF、SSD和融合算法的檢測跟蹤精確度和成功率比較(視頻2)
表3 分別使用KCF, SSD和融合算法的結(jié)果比較(視頻5)
圖7 與分別使用 KCF, SSD和融合算法的檢測跟蹤精確度和成功率比較(視頻5)
表4 單一SSD, YOLOv3, KCF, DSST和ECO的算法成功率對比(IOU@0.6)
表5對比了不同經(jīng)典算法在IOU為0.6時的融合效果。由于空間上YOLOv3在數(shù)據(jù)集上的效果較差,漏檢較多,因此未將其作為空間檢測算法參與融合測試。因此這一部分實(shí)驗(yàn)空間上僅采用了SSD,時間上分別采用KCF, DSST和ECO算法測試了融合的效果。其檢測結(jié)果如表5。
表5 SSD與KCF, DSST和ECO融合算法的成功率對比
從表5中可以看出 SSD+KCF算法的效果最好。由于表4中KCF算法在跟蹤算法中效果較好,同樣的SSD+KCF的整體效果也優(yōu)于SSD+DSST和SSD+ECO。因?yàn)楦櫵惴ɡ脮r間信息了填補(bǔ)了檢測算法的漏檢,而檢測算法又通過對單幀圖像的精確檢測糾正了跟蹤框的漂移,所以融合算法檢測的成功率相比表4中的單一算法有了明顯提升。不同融合算法在實(shí)際視頻上的表現(xiàn)如圖8所示,綠色框代表SSD+KCF,紅色框代表SSD+DSST,粉色框代表SSD+ECO。
圖8 3種融合算法的檢測跟蹤結(jié)果對比
在無人艇水面目標(biāo)檢測跟蹤中,通常會面臨各種環(huán)境干擾,尤其是目標(biāo)尺度變化、遮擋、光照變化以及晃動,本文提出了基于時空信息融合的無人艇水面目標(biāo)檢測跟蹤。利用深度學(xué)習(xí)檢測提取空間信息,提高檢測精確度,避免目標(biāo)位置漂移;利用相關(guān)濾波跟蹤得到時間信息,結(jié)合幀間特征相關(guān)性,避免漏檢;利用時空信息融合策略,使檢測信息與跟蹤信息互補(bǔ),從而優(yōu)化檢測跟蹤系統(tǒng)。為了驗(yàn)證該系統(tǒng)的有效性,實(shí)地進(jìn)行無人艇實(shí)驗(yàn),在水面拍攝視頻作為測試數(shù)據(jù)集,結(jié)果表明基于時空信息融合的檢測跟蹤算法能夠高效地對不同復(fù)雜場景下的水面目標(biāo)進(jìn)行持續(xù)檢測跟蹤,在一定程度上可以應(yīng)對上述環(huán)境干擾因素的影響,兼具魯棒性和實(shí)時性,可應(yīng)用于實(shí)際水面無人艇的工作中。但對于尺度過小的水面目標(biāo)檢測跟蹤效果稍差,下一步工作將在這方面做出改進(jìn)。