馬 杰, 李文楷, 張春瑋, 張 煜
(武漢理工大學 a.航運學院; b.內(nèi)河航運技術(shù)湖北省重點實驗室;c.國家水運安全工程技術(shù)研究中心; d.物流工程學院, 武漢 430063)
船舶會遇問題是海上船舶交通的研究熱點[1],是確定船舶避讓責任的重要依據(jù)和前提。[2]船舶會遇態(tài)勢是船舶在航行過程中從不同方向相互駛近形成的會遇局面,一般分為對遇態(tài)勢、交叉態(tài)勢和追越態(tài)勢。[3]在交通密度大、態(tài)勢復雜的交匯水域,若能準確辨識船舶會遇態(tài)勢,將對交匯水域的交通安全監(jiān)管和降低船舶碰撞事故率產(chǎn)生重要的現(xiàn)實意義和應用價值。[4]
近年來,船舶自動識別系統(tǒng)(Automatic Identification System, AIS)[5]在海上交通控制和監(jiān)控中得到廣泛的應用,AIS也成為研究船舶會遇態(tài)勢的重要工具?,F(xiàn)有基于AIS數(shù)據(jù)的會遇態(tài)勢研究主要是從空間角度展開利用統(tǒng)計分析、分布擬合等方法提煉船舶會遇特征,挖掘船舶會遇行為規(guī)律。冮龍暉等[6]從最近會遇距離和兩船航向夾角等會遇特征參量中提取船舶會遇信息;朱姣等[7]構(gòu)造由船舶位置、航速和航向組成的船舶航行狀態(tài)空間模型辨識船舶會遇態(tài)勢;甄榮等[8]利用AIS數(shù)據(jù)提取船舶經(jīng)緯度信息,通過計算船舶間的相對距離并利用密度聚類方法進行船舶空間位置聚類分析,制定船舶會遇態(tài)勢判別規(guī)則;ZHANG等[9]通過構(gòu)建兩船距離、航向差和相對航速的擬合方程對船舶會遇態(tài)勢和潛在的碰撞風險進行描述。從空間角度進行會遇特征分析和會遇態(tài)勢辨識,忽略了會遇過程的時空變化特性,特別是在通航環(huán)境復雜的交匯水域,船舶機動轉(zhuǎn)向的情況較多,船舶運動表現(xiàn)出較大的不確定性將導致會遇特征更大范圍的波動。僅考慮會遇船舶間的空間約束和位置特征進行會遇態(tài)勢判別,會發(fā)生誤判的情況。馬杰等[10]考慮會遇的時空變化,提出一種船舶會遇特征序列構(gòu)建方法并利用支持向量機(Support Vector Machine, SVM)實現(xiàn)船舶會遇態(tài)勢信息的分類提取,但該方法需利用完整的船舶會遇軌跡信息,無法用于船舶會遇態(tài)勢的在線辨識。
鑒于以上不足,本文重點考慮船舶會遇過程的時空演化特性,從AIS產(chǎn)生的海量數(shù)據(jù)中提取船舶航向差和相對距離作為會遇特征并構(gòu)建會遇特征序列,建立基于支持向量機與貝葉斯濾波(Support Vector Machine and Bayesian Filter, SVM-BF)[11]的會遇態(tài)勢辨識模型。通過建立BF與會遇態(tài)勢的對應關(guān)系,使改進的SVM-BF模型能滿足交叉、對遇和追越等不同會遇態(tài)勢辨識的需要,有效提高辨識準確率,為船舶會遇危險局面分析與研判提供一種智能化方法。
會遇幾何模型是研究在會遇過程中兩船行為的重要方法。[12]會遇幾何模型將會遇船舶視作以一定速度做矢量運動的2個質(zhì)點,因此,可借助平面幾何的相關(guān)知識來計算在會遇過程中的會遇特征參量。[13]2艘船舶的會遇場景見圖1,在會遇過程中,相對距離的最小值(最近距離)可反映出兩船接近的程度,若最近距離大于一定范圍,則兩船之間發(fā)生不會遇,通常將6 n mile作為會遇局面的限定值。[14]但僅考慮距離特征是不夠的,辨識會遇態(tài)勢還需考慮2艘船舶的相對方位。航向差是判別船舶會遇態(tài)勢的重要依據(jù),由于大多數(shù)船舶的對地航向都能通過全球定位系統(tǒng)(Global Positioning System, GPS)有效地獲取,因此,采用對地航向計算兩船的航向差作為會遇船舶相對方位的表征。[15]綜合以上因素,確定以會遇船舶的相對距離與航向差作為會遇特征參量。設(shè)本船的經(jīng)緯度坐標為(lngo,lato),速度標量為vo,對地航向為φo,目標船的經(jīng)緯度坐標為(lngt,latt),速度標量為vt,對地航向為φt。2種會遇特征參量為
圖1 2艘船舶的會遇場景
(1)
2)兩船航向角φo和φt延長線交于點Q,航向差為
(2)
從AIS原始數(shù)據(jù)中提取會遇船舶軌跡數(shù)據(jù)(包括經(jīng)緯度、航速和航向等),考慮AIS數(shù)據(jù)缺失和不同步等問題,對軌跡進行插值、同步等預處理,保證每秒時間點上都有數(shù)值,最后利用式(1)和式(2)計算會遇船舶2個特征量。
船舶會遇是一個時空演化的過程,因此,需同時從空間和時間2個方面對其進行考量。通過上述會遇特征參量的計算,獲得會遇船舶在空間上的表征。進一步考慮會遇特征在時間上的變化。首先,從會遇初始階段,以10 s為采樣間隔,對其內(nèi)的相對距離和航向差分別計算平均值,得到2維均值向量作為會遇特征向量??紤]到2種會遇特征參量的量綱存在差異,對其進行標準化處理為
(3)
(4)
[D1A1…DkAk…DmAm]
(5)
設(shè)數(shù)據(jù)集中包含的會遇船舶數(shù)量為s對,則可提取s條會遇特征序列構(gòu)成會遇特征矩陣Wm,s為
(6)
SVM[17]是一種基于邊緣最大化的監(jiān)督學習算法,其目標是找到一個超平面使不同類別的數(shù)據(jù)點之間的分離間隔最大化。其基本原理是利用核函數(shù)[18]的方法將數(shù)據(jù)從低維度投影到高維度,實現(xiàn)數(shù)據(jù)點在高維空間的線性可分。僅使用SVM辨識會遇態(tài)勢建模容易出現(xiàn)誤判虛警的情況。針對該問題,采用SVM與BF相結(jié)合的方式進行辨識建模,在現(xiàn)有SVM-BF[19]的基礎(chǔ)上,通過設(shè)計SVM-BF中BF與會遇態(tài)勢的對應關(guān)系,使每個BF對應一種船舶會遇態(tài)勢,將辨識船舶會遇態(tài)勢設(shè)計成一個二分類問題,從而實現(xiàn)對交叉態(tài)勢、對遇態(tài)勢和追越態(tài)勢等態(tài)勢,模型框架見圖2。
圖2 基于SVM-BF的船舶會遇態(tài)勢辨識模型框架
模型的訓練過程如圖2所示,首先從AIS數(shù)據(jù)集中構(gòu)建會遇特征矩陣Wm,s并將其劃分為訓練集特征矩陣Tm,n和測試集特征矩陣Tm,n*。tm,j表示訓練集中第j對船舶的會遇特征序列為
tm,j=[f1,j…fk,j…fm,j],fk,j=[Dk,jAk,j]
(7)
式(7)中:根據(jù)fk,j可確定Ck,j的類別,Ck,j∈{交叉,對遇,追越,其他(非會遇)}。隨后對SVM每個判別模塊逐次訓練,將fk,j與Ck,j輸入到SVM判別模塊(由3個SVM組成)中,得到每個SVM超平面的權(quán)重和偏置。訓練BF判別模塊(由3個BF組成)并確定每個BF判別模塊的閾值τ,不失一般性,3個BF判別模塊分別對應交叉態(tài)勢、對遇態(tài)勢和追越態(tài)勢。對應模型的測試過程如圖2所示,tm,j*為測試集中第j*對船舶的會遇特征序列,將tm,j*輸入到SVM判別模塊,SVM判別模塊會輸出第j*對船舶對應的會遇類別序列C為
C=[C1,j*…Ck,j*…Cm,j*]
(8)
將其作為BF判別模塊的輸入,并將每個BF判別模塊輸出的后驗概率與對應的閾值τ進行比較即可實現(xiàn)對交叉態(tài)勢、對遇態(tài)勢和追越態(tài)勢等態(tài)勢的辨識。
首先對SVM判別模塊進行訓練。在SVM判別模塊中,根據(jù)Tm,n中fk,j以及對應的Ck,j建立形如{fk,j,Ck,j}的數(shù)據(jù)對,并在每個SVM判別模塊中按照Ck,j的類別賦予Ck,j標簽。在第1個SVM判別模塊中,當Ck,j屬于交叉時,Ck,j被標記為1,否則,Ck,j被標記為-1。將這些數(shù)據(jù)對作為第1個SVM判別模塊的輸入。在Ck,j(wΤfk,j+b)≥1的約束條件下,目標函數(shù)為
(9)
式(9)中:w和b為超平面的權(quán)重和偏置。由于訓練數(shù)據(jù)通常是線性不可分的,因此,需要尋找一個核函數(shù)將這些低維數(shù)據(jù)映射到更高維度的空間,即
φ(fk,j)×φ(fq,l)=K(fk,j,fq,l)
(10)
結(jié)合拉格朗日乘子法,有
(11)
對式(11)進行求解為
(12)
由式(9)~式(12)可得到第1個SVM超平面的權(quán)重與偏置,實現(xiàn)第1個SVM判別模塊的訓練。初始化Ck,j并重新確定Ck,j標簽,當Ck,j屬于對遇時,Ck,j被標記為1,否則,Ck,j被標記為-1,將數(shù)據(jù)對輸入到第2個SVM判別模塊中,計算相應超平面的權(quán)重與偏置,以完成第2個SVM判別模塊的訓練。依此類推,重新標記Ck,j并將標記好的數(shù)據(jù)對輸入到第3個SVM判別模塊中,計算第3個SVM超平面的權(quán)重與偏置,結(jié)束SVM判別模塊的訓練過程。
隨后對BF判別模塊進行訓練。建立由Ck,j組成的會遇類別序列C作為BF判別模塊的輸入,第1個BF判別模塊會求解交叉態(tài)勢對應的后驗概率密度函數(shù)P(θ|C)。由于BF是對Ck,j進行二分類,而直接使用二項分布較難求解P(θ|C),考慮到共軛分布不僅可求出后驗分布的封閉形式,同時,也保留先驗分布的性質(zhì),使估計概率更加準確。而β分布與二項分布是一組共軛分布,因此,采用β分布作為θ的先驗分布[20]為
(13)
式(13)中:β分布的超參數(shù)a和b為每種會遇態(tài)勢的“置信度”權(quán)重,即Ck,j所屬的會遇態(tài)勢的有效觀測值,a和b初始值設(shè)定為1,表示θ在初始時刻服從均勻分布。Γ(a)是Gamma函數(shù)為
(14)
θ的似然函數(shù)服從二項分布為
(15)
根據(jù)貝葉斯公式,θ的后驗分布P(θ|C)可通過似然函數(shù)bin(u|v,θ)與先驗分布β(θ|a,b)相乘得到[21]:
(16)
當會遇類別序列C中的Ck,j為交叉時,v=1,u=1;Ck,j為非交叉(對遇,追越和其他(非會遇))時,v=1,u=0。隨著每次輸入Ck,j,a和b的表達式更新為a=a+u,b=b+v-u。通過計算P(θ|C)的期望值來累積辨識tm,j是否屬于交叉態(tài)勢為
E(θ|C)=P(tm,j=交叉態(tài)勢|C)=
(17)
將E(θ|C)與τ1進行比較,如果E(θ|C)>τ1,第1個BF判別模塊會將第j對船舶的會遇態(tài)勢辨識為交叉態(tài)勢。與第1個BF判別模塊相同,第2個BF判別模塊也會根據(jù)E(θ|C)和τ2的關(guān)系辨識第j對船舶是否為對遇態(tài)勢。依此類推,第3個BF判別模塊會根據(jù)E(θ|C)和τ3的關(guān)系辨識第j對船舶是否為追越態(tài)勢。如果3個BF判別模塊的期望都小于閾值,SVM-BF會將第j對船舶辨識為其他(非會遇)。遍歷Tm,n中會遇類別序列C,得到BF判別模塊對交叉態(tài)勢、對遇態(tài)勢和追越態(tài)勢等態(tài)勢的整體辨識準確率。當整體辨識準確率達到90%時,可使SVM-BF模型獲得良好的訓練效果和泛化性能。因此,在對BF判別模塊訓練的過程中,如果BF判別模塊對交叉態(tài)勢、對遇態(tài)勢和追越態(tài)勢的整體辨識準確率小于90%,則需分別修改閾值τ1、τ2和τ3的數(shù)值,并再次遍歷Tm,n中的會遇類別序列C,重復上述步驟,直到BF判別模塊對每種會遇態(tài)勢的整體辨識準確達到90%,才可結(jié)束BF判別模塊的訓練過程。從Tm,n*中選取tm,j*輸入SVM判別模塊,得到tm,j*對應的會遇類別序列C,將其輸入到BF判別模塊得到第j*對船舶的會遇態(tài)勢,實現(xiàn)船舶會遇態(tài)勢辨識(測試)?;赟VM-BF的會遇態(tài)勢辨識偽碼如下:
算法名稱:基于SVM-BF的船舶會遇態(tài)勢辨識
輸入:測試集矩陣Tm,n*,閾值τ1、τ2和τ3
BEGIN
1.FORj*INn*
2.選取tm,j*=[D1,j*A1,j*…Dk,j*Ak,j*…Dm,j*Am,j*]
3.令fk,j*=[Dk,j*Ak,j*],tm,j*=[f1,j*…fk,j*…fm,j*]
4.初始化會遇類別序列C
5.FORkINm
6.輸入fk,j*到SVM判別模塊
7.根據(jù)式(10)~式(12)計算的w和b得到Ck,j*
8.添加Ck,j*到C
9.END FOR
10.FORi=1 TO 3 DO
11.輸入C到第i個BF判別模塊
12.根據(jù)式(16)~式(17)計算E(θ|C)
13.IFE(θ|C)>τi
14.IFi=1
15.RETRUN 第j*對船舶屬于交叉態(tài)勢
16.IFi=2
17.RETRUN第j*對船舶屬于對遇態(tài)勢
18.IFi=3
19.RETRUN 第j*對船舶屬于追越態(tài)勢
20.END FOR
21.RETRUN第j*對船舶屬于其他(非會遇)
22.END FOR
選取長江口南槽交匯水域作為研究對象,見圖3,該水域船舶交通流量較大且船舶發(fā)生會遇的情況頻繁,是典型的交匯水域,辨識該水域進行會遇態(tài)勢的研究具有代表意義。收集該水域2017年7月—2017年11月的AIS數(shù)據(jù)開展模型訓練和算法驗證。提取船舶會遇態(tài)勢信息并利用人工標注的方式確定船舶會遇態(tài)勢類別,共得到1 200條船舶會遇數(shù)據(jù),其中:訓練集有800條數(shù)據(jù),包含3種船舶會遇態(tài)勢以及其他(非會遇)的數(shù)據(jù)各200條;測試集則包含每類數(shù)據(jù)各100條,共400條數(shù)據(jù)。進行數(shù)據(jù)預處理和特征提取并將時間窗口長度設(shè)置為150 s,因此,每條會遇特征序列中包含15個2維均值向量。
使用訓練集數(shù)據(jù)訓練SVM-BF模型,根據(jù)辨識算法中閾值的確定規(guī)則,得到τ1、τ2和τ3分別為0.7、0.8和0.7。分別使用SVM模型和SVM-BF模型對測試集進行測試。2種模型對5種場景實例的船舶會遇態(tài)勢辨識結(jié)果見圖4。交叉、對遇、追越、其他(非會遇)、有避讓的交叉場景實例以及2種模型對不同場景實例的會遇態(tài)勢辨識結(jié)果見圖4a~圖4t,圖中實線為SVM-BF模型辨識結(jié)果的取值范圍由左邊的縱坐標軸確定;虛線為SVM模型的辨識結(jié)果并由右縱坐標軸確定,當取值1.0(YES)時為SVM模型正確辨識會遇態(tài)勢,當取值-1.0(NO)時為SVM模型產(chǎn)生錯誤的辨識結(jié)果;水平虛線則表示τ1、τ2和τ3,5個場景實例中方框?qū)能壽E段的窗口長度為150 s。
圖3 長江口南槽交匯水域
1)對于交叉場景實例,由圖4b~圖4d可知:SVM模型在70 s時產(chǎn)生誤判,辨識結(jié)果直到80 s后才趨于穩(wěn)定,最終SVM模型會將此場景實例辨識為交叉態(tài)勢。相比于在對交叉態(tài)勢辨識時,SVM-BF模型產(chǎn)生的期望E(θ|C)在20 s時已超過τ1,雖然E(θ|C)在60~80 s時出現(xiàn)波動但始終大于τ1。因此,SVM-BF模型會在20 s時將此場景實例辨識為交叉態(tài)勢。
2)對于對遇場景實例,由圖4f~圖4h可知:2種模型在所有的采樣點都產(chǎn)生了正確判斷,2種模型都會將此場景實例辨識為對遇態(tài)勢。
3)對于追越場景實例,由圖4j~圖4l可知:SVM模型在50 s和100 s 2個時刻產(chǎn)生誤判,辨識結(jié)果直到110 s后才穩(wěn)定。相比于SVM-BF模型在辨識追越態(tài)勢時,雖然期望曲線也在這2個采樣點出現(xiàn)震蕩,但E(θ|C)始終大于τ3所在的水平線,因此,SVM-BF模型會將此場景實例辨識為追越態(tài)勢。
4)由圖4n~圖4p可知:在對其他(非會遇)場景實例辨識時,由于存在頻繁的轉(zhuǎn)向行為,SVM模型產(chǎn)生大量的誤判,并做出錯誤的辨識結(jié)果。而SVM-BF模型可對SVM產(chǎn)生的初判結(jié)果做出累積判別,雖然期望曲線出現(xiàn)持續(xù)的波動,但E(θ|C)一直都小于τ1、τ2和τ3。因此,SVM-BF模型會將此場景實例辨識為其他(非會遇)。
5)對于有避讓的交叉場景實例,由圖4r~圖4t可知:船舶避讓行為使得SVM模型在120 s后都做出誤判,相比于在辨識交叉態(tài)勢時,雖然SVM-BF模型的期望曲線在120 s時也出現(xiàn)下降,但E(θ|C)始終位于τ1所在的水平線之上,因此,SVM-BF模型會將此場景實例辨識為交叉態(tài)勢。由圖4a~圖4t可知:在對交叉、對遇和有避讓的交叉3種場景實例的會遇態(tài)勢進行辨識時,SVM-BF模型產(chǎn)生的累積期望在第2個采樣時刻已經(jīng)超過閾值。
因此,將SVM-BF模型應用到實船避碰時,超過閾值的辨識結(jié)果可幫助船長辨識船舶的會遇態(tài)勢。此外,交匯水域存在多船會遇的情況,多船會遇態(tài)勢辨識的通常采用兩兩船舶依次判斷,本文所提出的方法雖然基于兩船之間進行會遇態(tài)勢辨識,但很容易應用到多船場景。
a)交叉場景實例
b)辨識交叉態(tài)勢
c)辨識對遇態(tài)勢
d)辨識追越態(tài)勢
e)對遇場景實例
f)辨識交叉態(tài)勢
g)辨識對遇態(tài)勢
h)辨識追越態(tài)勢
i)追越場景實例
j)辨識交叉態(tài)勢
k)辨識對遇態(tài)勢
l)辨識追越態(tài)勢
m)其它(非會遇)場景實例
n)辨識交叉態(tài)勢
o)辨識對遇態(tài)勢
p)辨識追越態(tài)勢
q)有避讓的交叉場景實例
r)辨識交叉態(tài)勢
s)辨識對遇態(tài)勢
t)辨識追越態(tài)勢
2種模型對測試集進行辨識的總體結(jié)果見表1,表1中的準確率是2種模型在不同窗口長度下的辨識結(jié)果。例如,在90 s時間窗口中,SVM和交叉對應的百分數(shù)表示SVM在窗口長度為90 s時對交叉態(tài)勢的辨識準確率。由表1可知:在不同場景下,SVM-BF模型在各個時間窗口下的準確率都要高于SVM模型,尤其對其他(非會遇)場景,SVM-BF仍能以超過91%的準確率對其進行辨識。此外,2種模型辨識的準確率都隨著窗口長度的增加而提高,這也與實際情況相吻合,更長的時間序列包含更豐富的會遇態(tài)勢信息,因而模型的泛化能力也會相應的提高。
表1 2種模型的辨識結(jié)果
針對因交匯水域通航環(huán)境復雜易產(chǎn)生船舶會遇態(tài)勢的誤判問題,選取相對距離和航向差得到會遇船舶在空間上的表征,計算其均值向量并在時間軸上展開,構(gòu)建會遇特征序列。使用會遇特征序列辨識船舶會遇態(tài)勢考慮會遇過程時空演化特性。聯(lián)合SVM與BF建立會遇態(tài)勢辨識模型,實現(xiàn)對SVM初步辨識結(jié)果的平滑濾波,消除誤判虛警的情況,提高辨識準確率。選取長江口南槽交匯水域的AIS數(shù)據(jù)開展模型和方法驗證,結(jié)果表明:SVM-BF能以較高準確率對交叉態(tài)勢、對遇態(tài)勢和追越態(tài)勢等態(tài)勢進行辨識。在SVM模型產(chǎn)生誤判的情況下,SVM-BF模型依然可根據(jù)累積的期望做出正確的辨識結(jié)果。提出的模型和方法可應用于交匯水域的會遇態(tài)勢自動識別與預警。今后可在辨識模型中考量更多的會遇特征參量,并進一步探究影響會遇態(tài)勢演化的相關(guān)因素,以提升模型的準確性。