陳信強(qiáng),凌 峻,齊 雷,楊勇生,周亞民
上海海事大學(xué) 物流科學(xué)與工程研究院,上海201306
近海水域的水上通航環(huán)境中,船舶值班人員需要及時(shí)有效獲取他船的航行信息,并實(shí)時(shí)調(diào)整本船航行狀態(tài)以規(guī)避船舶碰撞事故。智能船舶的發(fā)展為自動(dòng)化地獲取水上交通態(tài)勢(shì)信息,優(yōu)化船舶航線設(shè)計(jì)和預(yù)防海上交通事故提供了新思路。智能船舶可使用傳統(tǒng)的船舶跟蹤方法(如類GPS(Global Positioning System)的船舶自動(dòng)識(shí)別系統(tǒng)、雷達(dá)等)獲取水上通航信息[1-4]。已有的船舶跟蹤方法將船舶視為質(zhì)點(diǎn),此類方法在分析宏觀或中觀水上交通態(tài)勢(shì)變化時(shí)能獲得較好的效果,但對(duì)微觀水上交通態(tài)勢(shì)感知(如近海區(qū)域的交通態(tài)勢(shì)感知)研究的效果不理想。主要原因是船舶的長(zhǎng)和寬等因素都會(huì)對(duì)水上交通態(tài)勢(shì)判斷產(chǎn)生不可忽略的影響?;陂]路電視(Close Circuit Television,CCTV)監(jiān)控視頻的船舶數(shù)據(jù)可提供三維船舶跟蹤數(shù)據(jù),為近海水域的水上交通態(tài)勢(shì)感知提供更為有效的通航信息。
不同于車輛跟蹤等常見(jiàn)視覺(jué)跟蹤任務(wù),基于水上交通圖像的船舶跟蹤任務(wù)中,圖像背景(主要是海浪)為非剛性物體運(yùn)動(dòng)模式,其隨著船舶運(yùn)動(dòng)狀態(tài)的變化而呈現(xiàn)出無(wú)規(guī)則、非剛性的成像規(guī)律。此外,不同海況、天氣、光照條件等因素也會(huì)對(duì)船舶成像造成干擾,弱化船舶的可視化特征,為船舶跟蹤提出了額外的挑戰(zhàn)。為應(yīng)對(duì)船舶跟蹤挑戰(zhàn),滕飛等人[5]利用先跟蹤再學(xué)習(xí)的檢測(cè)框架,構(gòu)建特征約束方程校驗(yàn)像素(pixel)的運(yùn)動(dòng)狀態(tài),并通過(guò)求解像素與特征方法相關(guān)系數(shù)的關(guān)系,獲得了穩(wěn)定的、可靠的短時(shí)船舶跟蹤效果。劉德華[6]針對(duì)復(fù)雜內(nèi)河通航環(huán)境下的船舶跟蹤難題,構(gòu)建了一種改進(jìn)的連續(xù)自適應(yīng)均值偏移(Continuously adaptive mean-shift,Camshift)跟蹤算法,通過(guò)優(yōu)化適應(yīng)度函數(shù),增加顏色概率相似性計(jì)算過(guò)程,以獲得較好的船舶跟蹤結(jié)果。張?jiān)骑w等人[7]利用孿生網(wǎng)絡(luò)和區(qū)域推薦網(wǎng)絡(luò)的方法構(gòu)建了一種可實(shí)現(xiàn)船舶實(shí)時(shí)跟蹤的框架。Chen 等人[8]針對(duì)遮擋等典型水上交通場(chǎng)景下的船舶跟蹤挑戰(zhàn)展開(kāi)了相關(guān)研究。部分學(xué)者基于水天線檢測(cè)、深度學(xué)習(xí)和相關(guān)濾波等方法,構(gòu)建可實(shí)時(shí)性、魯棒性地獲得船舶跟蹤效果的框架[9-14]。
綜上所述,已有研究主要集中在單目標(biāo)船舶跟蹤任務(wù),涉及水上通航態(tài)勢(shì)感知任務(wù)的多船舶跟蹤研究較少,針對(duì)不同海況干擾下的多船舶跟蹤的相關(guān)研究更少[15]。為此,本研究提出一種基于多特征融合和尺度濾波的船舶跟蹤框架,并將其應(yīng)用于不同海事交通場(chǎng)景下多目標(biāo)船舶跟蹤任務(wù),以驗(yàn)證提出算法的有效性和可行性。
針對(duì)多目標(biāo)船舶跟蹤任務(wù),利用相關(guān)濾波算法提取圖像中船舶方向梯度直方圖(Histogram of Oriented Gradients,HOG)特征,并使用該濾波器來(lái)判斷船舶在下一幀圖像的位置。在船舶尺度估計(jì)過(guò)程中,根據(jù)平移濾波器得到當(dāng)前幀目標(biāo)船舶的位置,并利用尺度濾波器獲取不同尺度的候選船舶目標(biāo)的最大響應(yīng),以得到該船舶在當(dāng)前圖像幀的尺度。在此基礎(chǔ)上,算法以循環(huán)迭代的方式對(duì)當(dāng)前圖像幀的其他船舶目標(biāo)執(zhí)行類似操作,以獲取當(dāng)前圖像幀中所有目標(biāo)船舶的位置。對(duì)當(dāng)前圖像所有目標(biāo)船舶完成遍歷循環(huán)跟蹤后,算法對(duì)后續(xù)圖像序列的目標(biāo)船舶均執(zhí)行類似操作,以獲得海事視頻序列中多目標(biāo)船舶的位置集。為簡(jiǎn)單起見(jiàn),后續(xù)章節(jié)以單一目標(biāo)船舶跟蹤為例,對(duì)提出的多目標(biāo)船舶跟蹤方法進(jìn)行闡述,算法流程圖如圖1所示。
圖1 提出的多目標(biāo)船舶跟蹤方法的流程圖
對(duì)于給定的船舶圖像幀,提出的船舶跟蹤方法從訓(xùn)練圖像中選擇包含目標(biāo)船舶的一組灰度圖像塊f1,f2,…,ft以提取船舶HOG 特征,并利用高斯函數(shù)對(duì)其進(jìn)行訓(xùn)練學(xué)習(xí)。假定高斯函數(shù)的濾波響應(yīng)輸出為g1,g2,…,gt,則船舶跟蹤結(jié)果的最優(yōu)解應(yīng)該滿足如下關(guān)系:
其中,變量ht、fj、gj均為M×N矩陣,“*”表示循環(huán)操作,參數(shù)Ht、Fj和Gj為ht、fj、gj的離散傅里葉變換函數(shù),為共軛復(fù)數(shù)。
式(1)的最小值可通過(guò)下式獲得:
當(dāng)高斯函數(shù)作用于圖像塊fj的極值時(shí),理想的相關(guān)濾波輸出和分別為Gj和Fj的共軛復(fù)數(shù),實(shí)際的求解過(guò)程中,更新了目標(biāo)船舶的跟蹤模板后,再分別對(duì)Ht的分子At和分母Bt進(jìn)行更新。
為獲得更好的船舶跟蹤效果,基于前述的單維特征的相關(guān)濾波船舶跟蹤方法,構(gòu)建基于多維特征的船舶跟蹤機(jī)制。給定船舶圖像序列,用符號(hào)f表示從該幀提取的船舶樣本圖像,f l為船舶特征維度l?{1,2,…,d}對(duì)應(yīng)的特征,參數(shù)d為特征維度序號(hào)。船舶位置估計(jì)(船舶跟蹤)問(wèn)題轉(zhuǎn)換為尋找相關(guān)濾波函數(shù)h的最優(yōu)解,其中hl為特征維度l的代價(jià)函數(shù),該問(wèn)題轉(zhuǎn)換為求式(3)的最優(yōu)值:
其中,參數(shù)g為濾波器在當(dāng)前圖像幀中循環(huán)迭代中的最大響應(yīng)(即目標(biāo)船舶在當(dāng)前圖像幀的位置),參數(shù)λ為正則化參數(shù)。
針對(duì)式(3),其最優(yōu)解如下所示:
Fl為f l的離散傅里葉變換形式,F(xiàn)k為不同的船舶樣本特征維度的離散傅里葉表示,為Fk的共軛復(fù)數(shù)形式。當(dāng)船舶訓(xùn)練樣本與濾波結(jié)果差異最小時(shí),可得到最佳的濾波結(jié)果(式(4)的最優(yōu)解)。針對(duì)任一圖像像素構(gòu)建d×d線性系統(tǒng)方程,即將式(4)變換為式(5)和(6):
其中,參數(shù)η為學(xué)習(xí)率,為At的傅里葉變換形式(該規(guī)則適用于
根據(jù)式(7),判定當(dāng)前圖像中矩形區(qū)域z被視為目標(biāo)區(qū)域的分值y(即置信度)為:
利用式(5)和(6)進(jìn)行濾波器的更新,并利用式(7)進(jìn)行相關(guān)分值y的更新,獲得圖像中目標(biāo)的位置估計(jì),即分值最大的響應(yīng)被視為目標(biāo)船舶在當(dāng)前幀的位置。
為了實(shí)現(xiàn)目標(biāo)船舶的尺度估計(jì),構(gòu)建了一種三維尺度空間濾波器,濾波器的尺寸是M×N×S,其中M和N分別是濾波器的寬和高,而S是濾波器的尺度數(shù)量。針對(duì)給定的船舶區(qū)域,首先計(jì)算一個(gè)特征金字塔。輸入的訓(xùn)練船舶樣本f中心即為重構(gòu)的特征金字塔,利用三維高斯函數(shù)獲得訓(xùn)練樣本在當(dāng)前輸入圖片的最大響應(yīng),根據(jù)式(5)和式(6)更新船舶尺度信息,式(7)的分值為最大時(shí),認(rèn)為當(dāng)前獲得的船舶尺度參數(shù)為尺度空間濾波器輸出的尺度信息,可視為目標(biāo)船舶在當(dāng)前圖像幀的尺度。
為了評(píng)價(jià)船舶跟蹤算法的性能,需要量化對(duì)比本研究提出的船舶跟蹤算法得到的船舶位置與手動(dòng)標(biāo)定的船舶位置(即船舶在圖像序列中的真實(shí)位置)誤差,本文利用中心點(diǎn)平均跟蹤誤差(Average Center Location Error,Ce)、均方根誤差(Root Mean Square Error,RMSE)、平均絕對(duì)誤差(Mean Absolute Deviation,MAD)和均方誤差(Mean Square Error,MSE)這4 個(gè)指標(biāo),計(jì)算公式如下所示:
xt和yt為算法跟蹤得到的船舶位置(x坐標(biāo)和y坐標(biāo)),而xg和yg為船舶真實(shí)坐標(biāo)位置,m是圖像幀的序號(hào)。
本文研究首先測(cè)試了算法在正常海況下多船舶跟蹤的性能。圖2 給出了正常海況下的原始船舶圖像序列及本文算法得到的多目標(biāo)船跟蹤結(jié)果圖。從圖2(b)可看出,待跟蹤的目標(biāo)船舶在駛離相機(jī)監(jiān)控區(qū)域的過(guò)程中,其成像尺度呈現(xiàn)了逐漸變小的趨勢(shì)。當(dāng)目標(biāo)船舶相互之間沒(méi)有遮擋,且目標(biāo)船舶沒(méi)有受到明顯海況的干擾時(shí),本文提出的船舶跟蹤算法能較好的判斷每幀圖像中的船舶位置和船舶尺度,并得到比較滿意的船舶跟蹤結(jié)果。此外,當(dāng)目標(biāo)船舶在相鄰的航道行駛(即船舶成像區(qū)域比較接近),且被跟蹤的船舶外觀特征比較接近時(shí),本文研究提出的算法依然能較好地獲得船舶位置。主要原因是提出的船舶跟蹤算法通過(guò)循環(huán)迭代的方式尋找訓(xùn)練樣本與當(dāng)前圖像幀的最大響應(yīng)。當(dāng)目標(biāo)船舶的圖像鄰域出現(xiàn)了干擾像素(如圖2(b)的船舶3 和船舶4),但不同船舶間的外形(如輪廓、邊緣等)差異性仍然會(huì)被本研究提出的算法進(jìn)行累積放大,從而有效抑制船舶跟蹤的干擾。
圖2 正常海況下的典型圖片幀序列及跟蹤結(jié)果
為了進(jìn)一步驗(yàn)證算法的性能,分別給出案例1 的4艘目標(biāo)船舶的跟蹤誤差曲線分布圖。圖3(a)、(b)和(c)顯示本研究提出的船舶跟蹤算法在每一幀的船舶跟蹤誤差均不超過(guò)5個(gè)像素,這說(shuō)明圖像序列中船舶1、船舶2 和船舶3 跟蹤得到的結(jié)果與船舶真實(shí)位置相差不大。圖3(d)最大的跟蹤誤差達(dá)到10 個(gè)像素,說(shuō)明提出的算法在該船舶的跟蹤精度略低于其他3 個(gè)子圖。相比于其他的3 個(gè)船舶,船舶4 的外觀特征與水面特征比較接近,因此會(huì)誤導(dǎo)跟蹤算法提取額外的水面背景信息以更好地確定船舶位置。根據(jù)目標(biāo)跟蹤精度準(zhǔn)則,如果跟蹤誤差在20 個(gè)像素以內(nèi),則說(shuō)明跟蹤算法得到的效果近似于真實(shí)值。基于此,可認(rèn)為提出的船舶跟蹤方法在海況正常的情況下能有效地實(shí)現(xiàn)多目標(biāo)船舶跟蹤的目的。
圖3 正常海況下船舶跟蹤誤差分布曲線
為了進(jìn)一步測(cè)試算法的有效性,將提出的船舶跟蹤算法分別應(yīng)用于陰天和海浪干擾條件下的多船舶跟蹤圖像序列(見(jiàn)圖4),由于篇幅限制,這里不給出典型圖像幀的船舶跟蹤結(jié)果,僅給出不同跟蹤場(chǎng)景下的誤差分布。表1顯示3種典型船舶跟蹤場(chǎng)景下中心點(diǎn)的平均跟蹤誤差均比較小,其中海浪干擾場(chǎng)景下的船舶跟蹤誤差2.52像素,比正常海況和陰天條件下的船舶跟蹤誤差值大概低10%(分別為3.32像素和3.09像素),這主要是因?yàn)楹@说某上衽c待跟蹤的目標(biāo)船舶成像差異較大,因此對(duì)船舶跟蹤的干擾相對(duì)較小,而另外兩種跟蹤場(chǎng)景下的船舶與場(chǎng)景相似度更高,因此Ce的值比第3 種場(chǎng)景的值更大。類似的,海浪干擾下的RMSE指標(biāo)值同樣小于其他兩種情況。
圖4 不同海況干擾下的典型船舶跟蹤圖像
表1 本文研究構(gòu)建的船舶跟蹤方法的跟蹤精度 像素
表1 的MAD 和MSE 指標(biāo)反映了不同船舶跟蹤案例下誤差的分布程度。正常海況下的MAD 和MSE 值分別為0.31 像素和0.24 像素,而海浪干擾條件下MAD和MSE 值為1.21 像素和2.54 像素,至少比正常海況下MAD和MSE值大4倍。這說(shuō)明海浪對(duì)船舶跟蹤算法呈現(xiàn)出比較明顯的瞬間干擾特性。在部分海浪干擾比較嚴(yán)重的圖像幀中,船舶跟蹤算法的跟蹤誤差會(huì)比較大(這與圖3(d)部分跟蹤誤差值接近10 個(gè)像素的吻合),而海浪遮擋不明顯的情況下,其跟蹤誤差又明顯小于其他兩個(gè)跟蹤場(chǎng)景。
為了比較算法的跟蹤效果,將中值流(median flow)跟蹤算法和多示例學(xué)習(xí)(multiple instance learning)跟蹤算法在上述3個(gè)場(chǎng)景下分別進(jìn)行跟蹤測(cè)試并統(tǒng)計(jì)了誤差分布(如表2和表3所示)。這兩種算法陰天海況時(shí)跟蹤誤差最大。中值流算法在處理海浪干擾時(shí)效果優(yōu)于處理其他場(chǎng)景,多示例學(xué)習(xí)方法在正常海況和海浪干擾時(shí)跟蹤誤差未見(jiàn)明顯區(qū)別。在正常海況、陰天和海浪干擾三種典型交通場(chǎng)景下,本文研究提出的船舶跟蹤算法的各項(xiàng)誤差指標(biāo)均明顯低于其他兩種跟蹤算法,說(shuō)明了提出的算法具有更高的船舶跟蹤精度。
表2 中值流跟蹤方法的船舶跟蹤精度 像素
表3 多示例學(xué)習(xí)跟蹤方法的船舶跟蹤精度 像素
船舶跟蹤是獲取水上交通態(tài)勢(shì)感知信息的重要途徑,也是智能船舶智能航行需要解決的關(guān)鍵問(wèn)題。本文研究針對(duì)海上交通圖像序列中多目標(biāo)船舶跟蹤挑戰(zhàn),構(gòu)建了一種基于多維度特征和尺度變化估計(jì)的多目標(biāo)船舶跟蹤方法。該方法首先利用位置濾波器學(xué)習(xí)訓(xùn)練樣本的船舶特征,并針對(duì)輸入的圖像序列獲取最大響應(yīng)以判斷當(dāng)前圖像的船舶位置,在此基礎(chǔ)上,構(gòu)建特征金字塔對(duì)船舶的尺度進(jìn)行再次更新,最終獲得多目標(biāo)船舶在圖像序列中的位置。實(shí)驗(yàn)結(jié)果表明,提出的多目標(biāo)船舶跟蹤算法在正常海況、陰天和海浪干擾較大等典型海事交通場(chǎng)景下均能獲得較好的效果。測(cè)試船舶長(zhǎng)時(shí)間被遮擋、船舶無(wú)規(guī)律的駛?cè)?駛出相機(jī)監(jiān)控范圍下算法的魯棒性測(cè)試,是未來(lái)需要開(kāi)展的研究工作。