張?jiān)骑w,黃潤(rùn)輝,單云霄,周曉梅
(1.珠海云洲智能科技有限公司,廣東 珠海 519080;2.中山大學(xué)數(shù)據(jù)科學(xué)與計(jì)算機(jī)學(xué)院,廣東 廣州 510275)
近年來(lái),越來(lái)越多的海事平臺(tái)被用于海上運(yùn)輸,生態(tài)監(jiān)測(cè),海洋安全等場(chǎng)景,海洋的探索受到廣泛關(guān)注[1-2]。為了平臺(tái)的安全,視覺(jué)目標(biāo)跟蹤技術(shù)被廣泛用于跟蹤潛在的感興趣目標(biāo),例如船舶[3],浮標(biāo)等。但是,在復(fù)雜環(huán)境中,并不容易完成準(zhǔn)確穩(wěn)定的跟蹤任務(wù)。因此,開(kāi)發(fā)用于跟蹤船舶的視覺(jué)跟蹤算法必須具有足夠強(qiáng)的場(chǎng)景適應(yīng)能力。
開(kāi)發(fā)船舶視覺(jué)跟蹤算法存在一些挑戰(zhàn)。與地面車(chē)輛不同,船舶漂浮在水面上,其運(yùn)動(dòng)很復(fù)雜,無(wú)法準(zhǔn)確預(yù)測(cè)。此外,海洋環(huán)境對(duì)天氣和光照敏感。大海經(jīng)常遭遇有霧或多雨等惡劣天氣,海風(fēng)會(huì)加劇船的搖晃。因此,由于船舶的不穩(wěn)定運(yùn)動(dòng),相鄰幀圖片中的目標(biāo)狀態(tài)可能有較大差別。此外,圖像的質(zhì)量可能受到水面反射的太陽(yáng)光的影響。
針對(duì)海上視覺(jué)目標(biāo)跟蹤問(wèn)題,研究人員也提出幾種解決方法。Yang Z 等[4]提出了一種基于非平穩(wěn)平臺(tái)的船舶視覺(jué)檢測(cè)方法。利用基于DCT 的特征向量作為輸入[5],采用高斯混合模型(GMM)對(duì)海域進(jìn)行建模。利用背景相減和前景分割方法實(shí)現(xiàn)了船舶檢測(cè)[6]。滕飛等人[7]提出了一個(gè)魯棒的內(nèi)河CCTV(閉路電視監(jiān)控)單船舶跟蹤算法。Xiangyu K 等[8]利用紅外圖像對(duì)海天線和小目標(biāo)進(jìn)行了探測(cè)。首先對(duì)海天線進(jìn)行檢測(cè),縮小感興趣區(qū)域,然后采用改進(jìn)的互小波能量組合算法對(duì)小目標(biāo)進(jìn)行檢測(cè)。雖然實(shí)驗(yàn)證明該方法比以往的一些方法有更好的效果,但作為一種基于生成的方法,它們只使用目標(biāo)對(duì)象的信息,如RGB 值,而忽略了背景信息,如波浪,只是在檢測(cè)幀中隨機(jī)搜索目標(biāo)。因此,它們不能處理復(fù)雜的運(yùn)動(dòng)模式和海上常見(jiàn)的光照變化。近年來(lái),基于深度學(xué)習(xí)的跟蹤器在目標(biāo)跟蹤中越來(lái)越受歡迎,被廣泛應(yīng)用于地面物體跟蹤[9-10],但對(duì)海洋環(huán)境的研究較少。
本文通過(guò)對(duì)陸地上表現(xiàn)比較好的Siamese RPN 跟蹤模型進(jìn)行改進(jìn),以適應(yīng)其在海上跟蹤場(chǎng)景的應(yīng)用。模型通過(guò)大量的數(shù)據(jù)訓(xùn)練挖掘到目標(biāo)不同深度的特征,在不同天氣環(huán)境下對(duì)各種類型的船舶實(shí)現(xiàn)了準(zhǔn)確高效的跟蹤。本模型在采集的海上跟蹤數(shù)據(jù)中,跟蹤平均準(zhǔn)確率為58%,平均幀率達(dá)到了124.21 FPS。
機(jī)載合成孔徑雷達(dá)(SAR)[11]、常規(guī)艦載雷達(dá)(Lidars)[12-13]、機(jī)載光學(xué)傳感器[14]等多種傳感器均可實(shí)現(xiàn)對(duì)海上目標(biāo)的跟蹤?;赟AR 的跟蹤器可以覆蓋更大的海域,在全天候條件下連續(xù)工作,但圖像分辨率有限。雷達(dá)和激光雷達(dá)可以在極端條件下工作,提供稀疏和短距離信息。對(duì)于光學(xué)傳感器,紅外攝像機(jī)提供更長(zhǎng)的視距,特別是在夜間或低能見(jiàn)度時(shí)。然而,紅外相機(jī)的低分辨率成像和高功耗限制了其應(yīng)用。相比之下,可見(jiàn)光圖像不僅擁有高分辨率,而且具有更豐富的顏色和紋理信息。本文采用可見(jiàn)光圖像進(jìn)行船舶跟蹤算法研究,具有成本低、安裝方便、功耗低等優(yōu)點(diǎn),能在海洋目標(biāo)跟蹤領(lǐng)域更為普及。
現(xiàn)階段單目標(biāo)跟蹤方法可分為生成類跟蹤方法和判別類跟蹤方法。生成方法在當(dāng)前幀中構(gòu)建目標(biāo)區(qū)域的模型,然后在下一幀中用建立的模型搜索最相似的區(qū)域。作為傳統(tǒng)的跟蹤方法,它們被廣泛用于跟蹤各種目標(biāo)。對(duì)于海洋實(shí)踐應(yīng)用的情況,大多數(shù)現(xiàn)有的跟蹤算法屬于生成方法。
生成類跟蹤方法的具體思路是先在當(dāng)前幀中建立目標(biāo)區(qū)域的模型,然后在下一幀中對(duì)與所建立模型最相似的區(qū)域進(jìn)行搜索。該類方法被廣泛應(yīng)用于多目標(biāo)跟蹤場(chǎng)景。
現(xiàn)有的海洋環(huán)境跟蹤算法大多屬于生成類方法。Wu-ChihHu 等[15]將跟蹤問(wèn)題表示為自適應(yīng)邊界框的計(jì)算,當(dāng)前幀中的邊界框?qū)η耙粠械倪吔缈蜻M(jìn)行自適應(yīng),以補(bǔ)償當(dāng)前幀與前一幀的背景不匹配,采用模板(區(qū)域)匹配方法實(shí)現(xiàn)跟蹤任務(wù)。他們所提出的四連通分量標(biāo)記方法,降低計(jì)算成本并對(duì)移除波浪漣漪也起到了作用。這個(gè)基于自適應(yīng)模板塊匹配的全搜索算法,可有效去除波紋并跟蹤尺度變化的重疊船舶。Fei Teng 等[16]提出一種跟蹤內(nèi)河閉路電視(CCTV)視頻序列中一艘船的方法。該方法的先驗(yàn)信息只需給出單船在第一幀的位置。首先,基于壓縮感知理論,利用2 個(gè)隨機(jī)測(cè)量矩陣提取2 種互補(bǔ)的特征以實(shí)現(xiàn)目標(biāo)船舶的跟蹤。另外,為了同時(shí)獲得跟蹤目標(biāo)的位置和尺度,該方法利用連續(xù)幀的時(shí)序與空間結(jié)構(gòu)約束構(gòu)造了隨機(jī)測(cè)量矩陣,可方便地離線獲取和記錄目標(biāo)位置。最后使用貝葉斯濾波判斷像素塊是屬于前景還是背景。Szpak 等[17]提出了一種跟蹤動(dòng)態(tài)目標(biāo)的方法。該方法采用背景相減法,采用基于水平集的曲線演化的實(shí)時(shí)逼近方法,對(duì)海洋中運(yùn)動(dòng)船舶輪廓線進(jìn)行標(biāo)定。但當(dāng)目標(biāo)與海洋的對(duì)比度比較小時(shí),背景差可能會(huì)導(dǎo)致錯(cuò)誤檢測(cè)。需要注意的是,基于水平集的系統(tǒng)需要先驗(yàn)形狀知識(shí),這在大多數(shù)情況下是難以實(shí)現(xiàn)的。Duncan 等[18]意識(shí)到傳統(tǒng)的基于水平集的方法存在問(wèn)題,他們將目標(biāo)輪廓提取為跟蹤圖像中的感興趣對(duì)象,探索將船舶形狀的先驗(yàn)知識(shí)分解到水平集分割中以提高分割結(jié)果的可能性,使得圖像中目標(biāo)受損也能正常跟蹤。
雖然生成方法在上述大多數(shù)情況下都能正常工作,但計(jì)算成本較高,單幀處理時(shí)間較長(zhǎng),不能實(shí)現(xiàn)實(shí)時(shí)的視頻追蹤,而且這些方法大多只關(guān)注目標(biāo)特征,忽略了目標(biāo)與背景或其他非目標(biāo)的相關(guān)特征,不足以應(yīng)對(duì)海洋多變的天氣狀況。
與生成方法不同,判別類跟蹤方法是利用具有學(xué)習(xí)能力的分類器進(jìn)行學(xué)習(xí)和跟蹤,可以利用圖像中目標(biāo)和背景信息以及其他可用的相關(guān)信息對(duì)分類器進(jìn)行訓(xùn)練。因此,判別類跟蹤方法的跟蹤性能普遍優(yōu)于生成類跟蹤方法。近年來(lái),許多判別類方法被用于檢測(cè)或跟蹤地面上的物體,如車(chē)輛[19-20]、行人[21]等,尤其是深度學(xué)習(xí)方法,隨著大數(shù)據(jù)時(shí)代的到來(lái),神經(jīng)網(wǎng)絡(luò)的優(yōu)勢(shì)逐漸顯現(xiàn)出來(lái),從而成為主流方法,現(xiàn)階段跟蹤性能較好的跟蹤方法大多數(shù)基于深度學(xué)習(xí)。但只有比較少的方法關(guān)注海洋環(huán)境的應(yīng)用。
Bousetouane 等[22]提出了一種基于卷積神經(jīng)網(wǎng)絡(luò)(CNN)的視頻監(jiān)控系統(tǒng)小目標(biāo)檢測(cè)模型。該方法結(jié)合手工設(shè)計(jì)的特征和深度網(wǎng)絡(luò)學(xué)習(xí)得到的特征,從而實(shí)現(xiàn)船舶的檢測(cè)和分類。候選目標(biāo)邊界框的深度CNN 特征通過(guò)微調(diào)VGG16 網(wǎng)絡(luò)的卷積層的前向傳播來(lái)計(jì)算獲得。最后使用CNN 特征和具有線性內(nèi)核的支持向量機(jī)分類器進(jìn)行細(xì)粒度分類以進(jìn)行對(duì)象驗(yàn)證。實(shí)驗(yàn)結(jié)果表明,該模型在船舶檢測(cè)分類上的性能優(yōu)于Fast-R-CNN[23]。Leclerc 等[24]部署了一個(gè)基于Inception[25]和ResNet 架構(gòu)[26]的預(yù)訓(xùn)練CNN 進(jìn)行微調(diào)以實(shí)現(xiàn)船舶分類。雖然實(shí)驗(yàn)證明分類精度得到了顯著提高,但沒(méi)有實(shí)現(xiàn)對(duì)跟蹤性能的評(píng)估。
目前基于神經(jīng)網(wǎng)絡(luò)的船舶檢測(cè)研究已取得了一定的成果,但應(yīng)用于海事跟蹤的方法卻比較少。首先,海洋環(huán)境的開(kāi)源數(shù)據(jù)集難以用于船舶追蹤?,F(xiàn)有效果較好的神經(jīng)網(wǎng)絡(luò)框架需要大量高質(zhì)量的數(shù)據(jù)來(lái)支撐其訓(xùn)練(雖然Leclerc 等使用了6 個(gè)數(shù)據(jù)集進(jìn)行測(cè)試,但只有MARVEL 和VAIS 的數(shù)據(jù)集是開(kāi)源的。此外,都是野外非常少的與地面交通數(shù)據(jù),如KITTI[27],VOT[28])。其次,動(dòng)態(tài)背景下的海上物體特征與陸地上物體特征有較大的不同,將現(xiàn)有的在地面上表現(xiàn)良好的網(wǎng)絡(luò)直接遷移到海事場(chǎng)景并不能得到較好的跟蹤效果。
對(duì)基于孿生網(wǎng)絡(luò)和區(qū)域推薦網(wǎng)絡(luò)的海上跟蹤模型SiamRPN[29]進(jìn)行改進(jìn),以適應(yīng)海事跟蹤場(chǎng)景,如圖1所示。
孿生網(wǎng)絡(luò)中的特征提取模塊為改進(jìn)后的AlexNet,如圖1 所示。本專利去掉了AlexNet 中的填充,并修改了卷積層中的深度,以適應(yīng)設(shè)定的場(chǎng)景。孿生網(wǎng)絡(luò)有2 個(gè)分支:模板分支和檢測(cè)分支。這2 個(gè)分支分別實(shí)現(xiàn)模板幀和檢測(cè)幀的特征提取,分別用φ(z)和φ(x)表示,z 表示模板幀,x 表示檢測(cè)幀。
與孿生網(wǎng)絡(luò)對(duì)應(yīng),區(qū)域推薦網(wǎng)絡(luò)也有2 個(gè)分支:分類分支和回歸分支。分類分支判斷錨點(diǎn)框?qū)儆谀繕?biāo)還是背景,對(duì)應(yīng)的回歸分支計(jì)算錨點(diǎn)框的位置偏移量。設(shè)錨點(diǎn)框的數(shù)目為k,分類分支的輸出大小為2k,回歸分支的輸出為4k。φ(z)和φ(x)分別輸入?yún)^(qū)域推薦網(wǎng)絡(luò)計(jì)算對(duì)應(yīng)的分類和回歸值。
定義錨點(diǎn)框的表達(dá)式為:
從計(jì)算得到的回歸框中先篩選出置信度最高的K 個(gè)候選框,再加入大小形變等約束篩選出最優(yōu)的目標(biāo)邊界框。
本模型的輸出包括分類結(jié)果和回歸結(jié)果,因此損失函數(shù)由兩部分組成。首先,分類損失的計(jì)算方法如下式:其中:yi為分類的標(biāo)簽;Si為分類正確的概率。
圖 1 跟蹤器概覽圖Fig.1 An overview of our proposed tracker
對(duì)于回歸分支,設(shè)預(yù)測(cè)框表示為(Ax,Ay,Aw,Ah),對(duì)應(yīng)的真值框表示為(Gx,Gy,Gw,Gh),先對(duì)其進(jìn)行歸一化:
回歸損失的計(jì)算公式如下:
其中,smoothL1函數(shù)的計(jì)算方法如下:
總損失函數(shù)可表示為:
其中,γ 為超參數(shù),用于平衡分類和回歸損失。
為從K 個(gè)候選框中選出最優(yōu)的目標(biāo)邊界框,采用2 種策略。第1 個(gè)策略是加入歷史航行軌跡作為約束??紤]到目標(biāo)運(yùn)動(dòng)具有連續(xù)性,選用了歷史軌跡的前5 幀采用最小二乘法預(yù)測(cè)目標(biāo)在檢測(cè)幀的位置,其中的距離計(jì)算選用的是曼哈頓距離。
其中,pospredicted為使用歷史軌跡預(yù)測(cè)的目標(biāo)位置,pos 為神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)的目標(biāo)位置,Distance(pos,pospre-dicted)表示2 個(gè)預(yù)測(cè)點(diǎn)之間的曼哈頓距離。第2 個(gè)策略是考慮目標(biāo)的大小形狀變化。在視頻流中,目標(biāo)可認(rèn)為在相鄰兩幀中的大小形狀不會(huì)有太大變化,并對(duì)與前一幀大小變化較大的預(yù)測(cè)框進(jìn)行懲罰:
其中:k 為人工設(shè)置的超參數(shù),r 為前一幀目標(biāo)框的寬高比,r'為當(dāng)前預(yù)測(cè)幀的候選框?qū)捀弑?;s 和s'分別為前一幀和當(dāng)前幀目標(biāo)框的面積。本網(wǎng)絡(luò)使用Softmax 函數(shù)計(jì)算每個(gè)候選框?yàn)槟繕?biāo)框的置信度Score。加入約束后,目標(biāo)框根據(jù)Score 值大小重新排序:
其中:size_influence 和distance_influence 為人工設(shè)置的超參數(shù)。對(duì)重新排序后的候選框,再采用非極大值抑制算法合并重復(fù)候選框,最后選擇置信度最高的候選框作為當(dāng)前目標(biāo)框。
由于船舶跟蹤實(shí)驗(yàn)需要船舶在海面上航行的視頻流數(shù)據(jù),但是此場(chǎng)景下的公開(kāi)數(shù)據(jù)集很少,而神經(jīng)網(wǎng)絡(luò)的訓(xùn)練和測(cè)試需要大量的視頻流數(shù)據(jù),因此到珠海九洲港附近海域采集船舶視頻流數(shù)據(jù)用于網(wǎng)絡(luò)的訓(xùn)練。本文將采集的視頻根據(jù)跟蹤目標(biāo)進(jìn)行剪輯、分類、整理后,共獲得260 多個(gè)視頻段,共計(jì)有目標(biāo)的圖像有54 000 多張。為了探索船舶類型對(duì)跟蹤效果的影響,把數(shù)據(jù)集根據(jù)船型,貨船、漁船、客船和快艇,分為4 類(如圖2 所示),再根據(jù)天氣狀況分為晴天、陰天、雨天、霧天4 類,分別探索船舶類型和多種天氣情況對(duì)海上船舶跟蹤的影響。
圖 2 數(shù)據(jù)集中包含4 種不同類型的船舶Fig.2 The dataset contains four different types of ships
為擴(kuò)大訓(xùn)練的數(shù)據(jù)集,獲得更多的訓(xùn)練數(shù)據(jù),本文使用數(shù)據(jù)增強(qiáng)的方法。在數(shù)據(jù)驅(qū)動(dòng)的深度學(xué)習(xí)領(lǐng)域中,數(shù)據(jù)增強(qiáng)能有效增廣數(shù)據(jù)集,使得深度學(xué)習(xí)模型獲得更多的數(shù)據(jù)用于訓(xùn)練,提高模型的泛化能力。常用的數(shù)據(jù)增強(qiáng)方法可以分為兩大類:基于空間的方法和基于顏色的方法?;诳臻g的方法有平移、旋轉(zhuǎn)、翻轉(zhuǎn)、裁剪、縮放等;而基于顏色的有調(diào)整圖像的飽和度、亮度等。另外,為了加強(qiáng)模型對(duì)噪聲的魯棒性,也會(huì)在訓(xùn)練數(shù)據(jù)集上加入噪聲,例如高斯噪聲。本文主要采用了基于空間的數(shù)據(jù)增強(qiáng)方法,平移、旋轉(zhuǎn)、翻轉(zhuǎn)、裁剪和縮放這5 個(gè)方法。
為衡量分析本專利所提出方法的性能,采用精確度、召回率、F 值和幀率作為本次實(shí)驗(yàn)的性能衡量指標(biāo),具體計(jì)算方法如下:
設(shè)Ωt為目標(biāo)在t 時(shí)刻預(yù)測(cè)框與真值框的交并集,AtG表示在t 時(shí)刻目標(biāo)的真值框,AtT(θt),θt表示在t 時(shí)刻的預(yù)測(cè)置信度,τθ是分類閾值,Ng真值框不為空的幀數(shù),Nt為檢測(cè)過(guò)程中預(yù)測(cè)框不為空的幀數(shù),N 為網(wǎng)絡(luò)預(yù)測(cè)次數(shù),PT(im(i))為編號(hào)為i 的檢測(cè)幀im 的處理時(shí)間。4 個(gè)衡量指標(biāo)的計(jì)算公式如下:
分析實(shí)驗(yàn)結(jié)果可得,本文提出的海上跟蹤模型可達(dá)到5 8%的平均跟蹤準(zhǔn)確率,運(yùn)行幀率達(dá)到了124.21FPS,能實(shí)現(xiàn)海上船舶實(shí)時(shí)準(zhǔn)確跟蹤。在本實(shí)驗(yàn)中,采用原始的AlexNet 和vgg16 作為特征提取模塊進(jìn)行實(shí)驗(yàn)。結(jié)果表明,改進(jìn)后的AlexNet 的跟蹤準(zhǔn)確率相對(duì)于原模型有3%的提升,也比vgg16 高1%,而且取得了124.21 的高幀率。
為驗(yàn)證本模型在不同天氣環(huán)境下對(duì)不同船舶跟蹤的魯棒性,根據(jù)天氣情況和船舶類型設(shè)置實(shí)驗(yàn)。結(jié)果如表2~表4 所示。
由表2 和表3 可以看出,在惡劣天氣條件下,跟蹤器的平均精度達(dá)到56%,平均召回率為53%。其中霧天氣對(duì)跟蹤效果影響較大,因?yàn)樗:四繕?biāo)的大部分特征,對(duì)于不同類型的船舶,外觀和速度將影響跟蹤結(jié)果。通常,客船彼此之間具有更高的相似性,并且尺寸非常接近。此外,客船有固定的路線,以便順利運(yùn)行,因此客船的跟蹤效果較好。相比之下,快艇的跟蹤性能較差??焱Ь哂行〕叽绾透咚俣?,并且駕駛員隨機(jī)地改變其路線,因此其位置偏移和外觀變化是顯著的,這對(duì)跟蹤具有負(fù)面影響。在表4 中,F(xiàn) 值集成了精度和召回率,以證明所提出的跟蹤器的優(yōu)良性能。圖3 為跟蹤效果展示,分別截取了視頻中的第1,10 和20 幀。
表 1 不同CNN 下跟蹤模型性能效果Tab.1 Tracking model performance under different CNNs
表 2 不同天氣和船舶類型數(shù)據(jù)集上的準(zhǔn)確率Tab.2 Accuracy of our model in data sets of different weather and ship types
表 3 不同天氣和船舶類型數(shù)據(jù)集上的召回率Tab.3 Recall of our model in data sets of different weather and ship types
表 4 不同天氣和船舶類型數(shù)據(jù)集上的F 值Tab.4 F-measure of our model on different weather and ship type data sets
圖 3 跟蹤效果展示Fig.3 Tracking performancedisplay
本文將深度學(xué)習(xí)方法應(yīng)用于船舶跟蹤,提出使用孿生網(wǎng)絡(luò)和區(qū)域推薦網(wǎng)絡(luò)的海上船舶跟蹤方法。為進(jìn)一步提高跟蹤性能,參照AlexNet 網(wǎng)絡(luò)對(duì)孿生網(wǎng)絡(luò)的CNN 模塊進(jìn)行修改,并提出一種基于歷史軌跡的自適應(yīng)搜索區(qū)域提取方法,以適應(yīng)不同的運(yùn)動(dòng)場(chǎng)景。利用數(shù)據(jù)集對(duì)所提出的跟蹤器進(jìn)行評(píng)估。結(jié)果表明,在使用Intel Xeon CPU E5-2620,GTX TITAN 的PC 機(jī)上可以達(dá)到58%的平均精度和124.21 FPS。