徐文進, 董少康
(青島科技大學 信息科學技術學院, 青島 266061)
中國是一個人口大國, 也是一個漁業大國, 近年來,漁業從業人員與日俱增, 截止2020 年年末, 我國的漁船總數為56.33 萬艘, 海洋捕撈的產值為2197.20 億元, 漁業捕撈為我國沿海經濟的發展做出了重要的貢獻[1]. 但是隨著漁業經濟的不斷發展, 未報告、過度和非法捕撈問題日益嚴重[2]. 這些行為不斷破壞海洋的可持續性. 據聯合國糧食及農業組織估計, 世界17%的海洋物種被過度捕撈, 6%的海洋物種已滅絕[3]. 為了保護剩下的漁業資源, 實現漁業的可持續發展, 對漁船的作業進行監督管理變得越來越重要.
隨著船舶自動識別系統(AIS)的廣泛部署, 產生了大量的軌跡數據[4]. AIS 軌跡數據中包含了大量的船舶運動信息, 如位置經緯度, 對地航速(SOG)和對地航向(COG)[5], 這些信息可以顯示漁船完整的捕撈活動,為漁業管理提供了有價值的信息[6]. 利用漁船的AIS軌跡數據監測漁船的作業方式比傳統的現場監測具有難度小、成本低、風險低等優點. 所以國內外學者基于AIS 軌跡數據提出了許多漁船作業類型識別算法進行漁船監測. 現有的識別方法大致可以分為兩類: 一類是基于機器學習的方法[7–10], 另一類是基于深度學習的方法[11–14]. 傳統的基于機器學習的算法需要手動提取特征, 學習的是淺層的特征. 隨著深度學習的發展, 學者提出的基于深度學習的算法則能自動學習特征. 但是這兩類算法使用的都是AIS 軌跡中位置經緯度、速度、加速度和航向等運動特征, 忽略了軌跡的時域特征.
為了解決上述問題, 本文提出了一個基于滑動窗口和LSTM 自動編碼器的漁船作業類型識別算法. 該算法基于深度學習, 能從軌跡數據中自動學習運動特征和時域特征, 提高了識別的準確率. 本文的具體內容和貢獻如下:
(1)針對每一條漁船的AIS 軌跡數據采樣時間不同、數據稀疏和數據量過大的問題, 我們采用滑動窗口提取軌跡的運動特征.
(2)提出利用LSTM 自動編碼器生成軌跡的深度表征向量, 重構軌跡特征, 提取軌跡的運動特征、時域特征和隱含特征.
(3)在LSTM 自動編碼器中嵌入Softmax 分類器.并構造一個新的損失函數, 利用新的損失函數反向傳播優化網絡. 最終實現拖網漁船與圍網漁船的精確識別.
目前, 利用漁船AIS 軌跡數據進行漁船作業監測的算法越來越多. 隨著機器學習和深度學習的發展, 國內外相關學者圍繞這兩個方面提出了很多漁船作業類型識別算法.
基于機器學習的識別算法需要手動構建特征. 依據不同漁船之間進行捕撈時速度、航向角的變化趨勢不同, Souza 等人[7]以速度為主要的影響因素, 提出了一個識別拖網、圍網、延繩釣3 種漁船的算法. Huang等人[8]使用特征工程和XGBoost 兩個模塊構建了一個識別模型, 用于識別7 種類型的漁船. Gao 等人[9]為了充分利用數據中包含的信息, 克服以往使用單一數據進行漁船作業類型識別的弊端, 將漁業監管機構的政策文件和數據與AIS 數據進行融合并利用XGBoost進行識別, 提升了識別的準確率. Guan 等人[10]從漁船AIS 軌跡提取60 個特征, 利用LightGBM (light gradient boosting machine)方法進行漁船作業分類.
基于深度學習的算法可以自動學習軌跡特征,Kroodsma 等人[11]使用CNN 將7000 多條漁船數據劃分為6 種作業類型. 鄭巧玲等人[12]以我國近海3 種不同類型78 艘漁船為研究對象, 基于航速和航向設計了對應的BP 神經網絡, 提出的模型能準確識別拖網和張網漁船. 湯先峰等人[13]將漁船AIS 軌跡數據轉化為圖片, 利用自定義的CNN 網絡提取軌跡的空間特征進行漁船作業類型識別, 提出的算法在刺網和拖網漁船的數據集上進行了驗證, 具有較高的準確率. Kim等人[14]用基于滑動窗口的數據切片方法來生成訓練數據集. 使用CNN 構建深度神經網絡模型進行漁船作業類型識別.
AIS 軌跡. 一條漁船AIS 軌跡是由一組有序的空間點組成. 它可以表示為Tra=(p0,p1,···,pi,···,pn),0 ≤i≤n, 其中pi=(lati,loni,ti,fi),lati和loni代表ti時刻的位置坐標,fi代表ti時刻軌跡點的運動特征(如速度、航向、加速度等).
漁船類型. 進行海洋捕撈的漁船按捕撈方式可以分為拖網、圍網 刺網、延繩釣等. 我國的漁船作業方式以拖網和圍網為主. 拖網漁船主要圍捕底層和中下層水域的魚類. 圍網漁船主要圍捕中層和中上層水域的魚類. 拖網漁船捕撈時的軌跡一般是直線, 航向變化小, 由于要拖曳網具, 所以需要定速行駛較長時間, 速度一般為3–6 海里/小時. 圍網漁船捕撈時的軌跡呈圓形, 航向時刻變化, 當收到某海域發現密集魚群的信息時, 需要快速駛向中心漁場, 所以圍網漁船的速度變化較大并且最高速度可以達到14 海里/小時. 圖1 顯示了編號為27034 (拖網)、23457 (圍網)漁船航跡圖、速度和航向變化圖.

圖1 編號為27034 (拖網)、23457 (圍網)漁船航跡圖、速度和航向變化圖
本節介紹了提出的算法. 如圖2 所示, 第①部分顯示了原始的軌跡數據; 第②部分顯示了特征提取方法,在3.1 節給出了具體介紹; 第③部分LSTM 自動編碼器用于重構原始軌跡, 學習軌跡的運動特征、時域特征和隱含特征, 并將這些特征向量輸入Softmax 分類器進行分類, 詳細介紹在3.2 節給出; 第④部分顯示使用提出算法得到的分類數據.

圖2 漁船作業類型識別算法框架
AIS 系統進行數據采樣時, 會存在數據丟失的情況且每一條漁船的AIS 軌跡數據過于龐大、稀疏[15].限制軌跡大數據進行挖掘分析、應用的最重要因素也是海量的數據規模和數據采樣精度[16]. 針對這一問題,本文提出利用滑動窗口處理原始的AIS 軌跡數據, 提取軌跡的運動特征. 軌跡特征提取的原理是利用設定的滑動窗口遍歷整條漁船軌跡, 計算每個窗口中的軌跡點的統計信息并生成特征序列. 該方法在拓展每個窗口內軌跡點的特征、降低了數據的長度, 同時解決了數據稀疏的問題. 特征提取方法的具體步驟如下:
Step 1. 直接從數據庫中獲取的軌跡會存在速度、坐標、航向角的離群點. 因此采用經驗閾值過濾這些異常點, 并通過經緯度重新計算航向角. 式(1)給出了計算過程. 其中loni代表ti時刻軌跡點的經度, 其中lati代表ti時刻軌跡點的緯度.

Step 2. 通過式(2)計算漁船行駛的加速度, 拓展軌跡序列的特征.vti代表ti時刻軌跡點的速度

Step 3. 初始化滑動窗口的寬度W和滑動步長S.
Step 4. 利用滑動窗口遍歷所有軌跡, 記錄每一個窗口內軌跡點. 由于采樣精度的不同以及數據的丟失,有些窗口會沒有軌跡點. 如圖3 所示, 顯示了使用W=10 min的滑動窗口遍歷漁船30 min 內采集的軌跡的示意圖, 從圖中可以看出, 第1 個窗口中有p1,p2,p3三個軌跡點, 第2 個窗口中的軌跡點為p3, 同時可以看出第3 個窗口沒有軌跡點.

圖3 滑動窗口遍歷軌跡示意圖
Step 5. 計算每一個窗口內所有軌跡點的速度、加速度、經度、緯度、航向角的統計特征, 并挑選如下6 個統計特征: mean, max, min, 75% quantile, 50%quantile, 25% quantile.
Step 6. 組合所有的特征, 并生成 (b,T, 5×6) 的特征序列. 其中b表示漁船的數目,T表示窗口的數量,5×6表示5 個特征的統計特征的組合.
提取特征序列后, 本文使用基于LSTM 自編碼器和Softmax 分類器的分類模型進行漁船作業類型識別.分類模型如圖4 所示, 圖4(a)在第3.2.1 節進行了詳細介紹. 在圖4(b)在第3.2.2 節進行了詳細說明.

圖4 分類模型
3.2.1 LSTM 自動編碼器
自動編碼器是一種無監督學習方法, 能將不等長的序列轉化為固定長度的序列, 能更好地用于特征降維、獲取隱含特征. 相比于LSTM 提取軌跡的運動特征和時域特征, 在本文中, 我們使用多層長短期記憶(LSTM)神經網絡構建自動編碼器重構軌跡的特征向量, 學習軌跡的運動特征、時域特征和隱含特征.
LSTM 是對傳統RNN 的一個改進, 它是由是Hochreiter 等人[17]在1997 年提出, LSTM 基本單元如圖5 所示, 主要由輸入門、遺忘門和輸出門控制長期狀態C, 它們用來新增或刪除記憶細胞中的信息, 控制信息的流動, 式(3)–式(7)給出了圖中各個變量的更新過程, 其中W表示權重,b表示偏移量, σ表示激活函數.LSTM 克服了長序列訓練進行反向傳播時“梯度消失”和“梯度爆炸”的問題. 并且在時序數據挖掘方面, 實現很多成功的應用[18,19].


圖5 LSTM 基本單元示意圖
本文構建的LSTM 自動編碼器由2 層的LSTM編碼器、2 層LSTM 解碼器組成, 2 層LSTM 編碼器重構軌跡特征, 輸出為 (b,N), 其中,N為重構后軌跡特征的維度, 如圖4(a). 同時, 本文選擇了均方誤差作為LSTM 自動編碼器的損失函數. 在式(8)給出了詳細的計算過程. 其中y?表示LSTM 解碼器輸出,x表示LSTM編碼器輸入即使用滑動窗口獲取的特征向量 (b,T, 5×6).

3.2.2 Softmax 分類器
Softmax 分類器將特征按照分類個數進行劃分, 保證類別是可分的, 這一點對多分類任務非常合適. 因此通過LSTM 自動編碼器得到固定長度的軌跡向量(b,N)后, 本文采用Softmax 分類器進行漁船作業類型識別, 分類器輸出為0 和1, 代表兩種類型的漁船. 模型圖如圖4(b).
Softmax 進行分類時采用的損失函數是交叉熵, 如式(9)所示.yi表示樣本i的類別,pi表示預測其中一個類的概率.

為了能讓網絡學習最佳參數, 使分類效果達到最佳. 文中提出了一個全新的損失函數, 如式(10)所示.網絡進行訓練時, 使用J進行反向傳播, 使重構特征進行分類的準確率最佳.

為了驗證提出算法的有效性和可靠性, 在本節中,我們在真實的數據集上評估了提出的算法. 第4.1 節給出了實驗數據來源, 第4.2 節給出了實驗結果及與其他深度學習算法的比較分析.
A. 實驗數據集
使用的數據集是2020 年數字中國創新大賽(智慧海洋建設)提供的數據集. 我們提取了其中包括圍網漁船3002 條和拖網漁船2632 條一共5634 條漁船AIS軌跡進行實驗. 表1 顯示了漁船AIS 軌跡數據的詳細信息.

表1 漁船AIS 軌跡數據信息
B. 評估指標
本文采用式(11)計算分類的準確度. 其中T拖網代表拖網漁船預測識別正確的總數,T圍網代表圍網漁船預測識別正確的總數,F拖網代表拖網漁船預測識別錯誤的總數,F圍網代表圍網漁船預測識別錯誤的總數.

4.2.1 實驗結果
在實驗時滑動窗口的寬度W設置7200 s, 滑動步長S設置為7200 s, 神經網絡的學習率lr設置為0.001,訓練epoch設置為100. 利用滑動窗口生成的特征序列訓練分類模型. 圖6 顯示了訓練的損失函數與訓練次數的關系曲線. 圖7 顯示了訓練的精度與訓練次數的關系曲線.

圖6 訓練的損失函數與訓練次數的關系曲線

圖7 訓練的精度與訓練次數的關系曲線
從圖6 和圖7 可以看出, 當迭代到100 次的時候測試集的損失函數達到最低為0.2670, 準確率達到最高為95.82%.
4.2.2 對比分析
為了進一步說明提出算法的有效性, 本文在相同的實驗環境下使用滑動窗口生成的特征序列訓練基于LSTM、CNN 和BP 神經網絡的分類模型. 學習率設置為0.001, 訓練次數設置為100 次, 實驗結果如表2 所示.

表2 不同模型分類結果對比 (%)
從表2 的結果可以看出, 將滑動窗口獲取的特征向量作為輸入, 使用LSTM、BP、CNN 和本文提出的算法識別漁船作業類型, 均取得了90%以上的準確率,證明利用滑動窗口預處理軌跡并提取軌跡特征是有效的. 同時本文算法在數據集上準確率達到最優證明提出的分類模型的可靠性. 與LSTM 模型相比, LSTM 自動編碼器的準確率更優, 說明自動編碼器在漁船識別中重構軌跡特征后能學習到隱含特征, 導致漁船識別模型準確率更高. 同時LSTM 分類模型準確率高于BP 神經網絡和CNN 分類模型說明學習軌跡的時域特征的重要性.
拖網漁船捕撈海洋底層的魚類, 會破壞海底的微生物從而損壞水質, 對海洋生態造成不可逆的影響. 目前我國存在少量漁船擅自改變作業方式、未登記作業方式甚至在禁漁線內作業. 因此本文提出了一種基于滑動窗口和LSTM 自動編碼器的漁船作業類型識別算法, 用于監測漁船的作業方式. 并且與其他模型進行了對比. 實驗表明, 提出的算法能進一步學習軌跡的時域特征和潛在的高級特征, 準確率更高, 證明本文提出算法的可靠性, 可用于輔助圍網和拖網漁船分類. 本文僅對兩種漁船AIS 軌跡進行了分類研究, 后續可以對更多的漁船AIS 軌跡進行分類研究, 提高算法的實用性.