趙 璐 馬 野 李曉芳
(1.海軍大連艦艇學(xué)院學(xué)員五大隊(duì) 大連 116018)(2.海軍大連艦艇學(xué)院導(dǎo)彈與艦炮系 大連 116018)
當(dāng)前已有很多現(xiàn)代定位技術(shù)可以對(duì)海上移動(dòng)目標(biāo)進(jìn)行實(shí)時(shí)監(jiān)測(cè),獲得運(yùn)動(dòng)軌跡數(shù)據(jù),但監(jiān)測(cè)到的目標(biāo)數(shù)量眾多,難以人工進(jìn)行分類,所以根據(jù)運(yùn)動(dòng)軌跡對(duì)海上目標(biāo)進(jìn)行類型識(shí)別是具有重大現(xiàn)實(shí)意義的問(wèn)題,已有眾多學(xué)者對(duì)船舶軌跡分類識(shí)別進(jìn)行研究。Pelot等[1]采集四種休閑艇的GPS軌跡點(diǎn)樣本,并根據(jù)多種指標(biāo)開(kāi)發(fā)識(shí)別模型,能夠根據(jù)運(yùn)動(dòng)軌跡對(duì)不同類型的休閑艇進(jìn)行識(shí)別,有利于港口風(fēng)險(xiǎn)評(píng)估。趙梁濱[2]對(duì)船舶AIS軌跡進(jìn)行數(shù)據(jù)挖掘,獲得船舶運(yùn)動(dòng)模式,為船舶監(jiān)管提供參考。甄榮[3]等利用統(tǒng)計(jì)學(xué)理論分析船舶AIS軌跡,獲得船舶典型航行軌跡模型,其方法可以有效識(shí)別軌跡異常船舶。然而很多海上目標(biāo)并沒(méi)有AIS軌跡,而雷達(dá)卻可以獲取附近海域所有運(yùn)動(dòng)目標(biāo)的運(yùn)動(dòng)軌跡,因此需要一種可以有效對(duì)海上目標(biāo)運(yùn)動(dòng)軌跡分類的方法。
本文提出了一種基于多層感知器(Multi-Layer Perceptrons,MLP)的艦船類型識(shí)別方法,建立了多層感知器網(wǎng)絡(luò)模型,建立了艦船運(yùn)動(dòng)軌跡數(shù)據(jù)集,通過(guò)分析艦船運(yùn)動(dòng)軌跡識(shí)別艦船類型,可迅速對(duì)大量艦船目標(biāo)進(jìn)行分類,準(zhǔn)確地識(shí)別艦船類型。
如圖1所示,多層感知器包含很多依次相連的網(wǎng)絡(luò)層,網(wǎng)絡(luò)層的全長(zhǎng)稱為模型的深度[4]。
圖1 多層感知器
其中,第一層為輸入層,最后一層為輸出層,其他網(wǎng)絡(luò)層是隱層。若感知器網(wǎng)絡(luò)無(wú)隱層,則是單層感知器網(wǎng)絡(luò),單層感知器網(wǎng)絡(luò)對(duì)線性不可分問(wèn)題無(wú)法進(jìn)行分類,所以需要增加隱層數(shù)[5]。具有多個(gè)隱層的多層感知器能更好地模擬人類大腦神經(jīng)元結(jié)構(gòu),能夠逐層提取輸入數(shù)據(jù)的特征[6],可實(shí)現(xiàn)較為復(fù)雜的分類,具有更優(yōu)異的分類性能。
網(wǎng)絡(luò)的各個(gè)節(jié)點(diǎn)被稱作神經(jīng)元,神經(jīng)元通常接受多個(gè)不同輸入,產(chǎn)生單一輸出傳遞給網(wǎng)絡(luò)下一層多個(gè)神經(jīng)元,其結(jié)構(gòu)模型如圖2所示。
圖2 神經(jīng)元結(jié)構(gòu)模型
其中x表示從網(wǎng)絡(luò)上一層傳遞的信號(hào),共有n個(gè);w表示網(wǎng)絡(luò)上一層神經(jīng)元與這個(gè)神經(jīng)元連接的權(quán)值;b表示這個(gè)神經(jīng)元的偏置值;?為激活函數(shù);y是這個(gè)神經(jīng)元的輸出。則輸入與輸出的關(guān)系為
其中激活函數(shù)有多種選擇,早期淺層神經(jīng)網(wǎng)絡(luò)通常采用sigmoid激活函數(shù),由于在深層神經(jīng)網(wǎng)絡(luò)可能出現(xiàn)梯度消失等問(wèn)題,目前通常使用ReLU激活函數(shù)[7],其表達(dá)式為
其中z表示激活函數(shù)輸入,g(z)表示激活函數(shù)輸出。
在網(wǎng)絡(luò)輸出層常采用softmax激活函數(shù),對(duì)輸出進(jìn)行分類;也可采用tanh等性能較好的激活函數(shù)進(jìn)行歸一化。
網(wǎng)絡(luò)訓(xùn)練就是通過(guò)改變網(wǎng)絡(luò)中每個(gè)連接權(quán)值使網(wǎng)絡(luò)輸出盡可能接近理想值,理想值通常被稱作標(biāo)簽。輸出與理想值進(jìn)行對(duì)比得到誤差,一般被稱作損失函數(shù),損失函數(shù)對(duì)各個(gè)權(quán)值求偏導(dǎo),得到權(quán)值的更新梯度,按學(xué)習(xí)率的比例對(duì)權(quán)值進(jìn)行更新。但是,每個(gè)樣本訓(xùn)練一次均更新一次權(quán)值會(huì)減慢網(wǎng)絡(luò)訓(xùn)練速度。簡(jiǎn)單的解決方法是對(duì)一批訓(xùn)練樣本的損失函數(shù)求和再進(jìn)行權(quán)值更新,這就是批量梯度下降法。若隨機(jī)選取批量樣本,則是隨機(jī)梯度下降法。隨機(jī)選取批量樣本相當(dāng)于引入噪聲,訓(xùn)練過(guò)程中不易陷入局部極小值,一定程度上加快了收斂速度[8]。
為了進(jìn)一步加快網(wǎng)絡(luò)收斂速度,還可采用加入動(dòng)量的梯度更新[9],或是自適應(yīng)學(xué)習(xí)率算法。目前已有的自適應(yīng)學(xué)習(xí)率算法有 AdaGrad[10]、Adadelta[11]和 Adam[12]等。
原始數(shù)據(jù)來(lái)源于對(duì)某海域移動(dòng)目標(biāo)的時(shí)空監(jiān)測(cè)數(shù)據(jù),監(jiān)測(cè)持續(xù)時(shí)間約兩小時(shí),其中位置坐標(biāo)經(jīng)緯度已經(jīng)轉(zhuǎn)化為平面坐標(biāo)數(shù)據(jù),共92000余條坐標(biāo)數(shù)據(jù),部分原始數(shù)據(jù)如表1所示。
表1 原始數(shù)據(jù)示例
不同艦船代碼代表不同的艦船目標(biāo),按艦船代碼排序,統(tǒng)計(jì)不同艦船代碼個(gè)數(shù),共有約1880個(gè)艦船目標(biāo),對(duì)每個(gè)目標(biāo)監(jiān)測(cè)軌跡點(diǎn)數(shù)由1到3000余條不等。原始數(shù)據(jù)雜亂,無(wú)法直接用于網(wǎng)絡(luò)訓(xùn)練,需進(jìn)行清洗。
首先,監(jiān)測(cè)點(diǎn)數(shù)過(guò)少的目標(biāo)無(wú)法進(jìn)行有效分類,需剔除。本次實(shí)驗(yàn)設(shè)置點(diǎn)數(shù)下限為20,剩余有效監(jiān)測(cè)目標(biāo)數(shù)為1807個(gè),被剔除的目標(biāo)數(shù)較少,點(diǎn)數(shù)下限設(shè)置合理。其次,為便于網(wǎng)絡(luò)訓(xùn)練,需將每個(gè)目標(biāo)監(jiān)測(cè)軌跡點(diǎn)數(shù)統(tǒng)一,對(duì)于軌跡點(diǎn)數(shù)大于20個(gè)的目標(biāo),采用等間隔選取的方式取20條監(jiān)測(cè)數(shù)據(jù)。最后將每個(gè)目標(biāo)第一條監(jiān)測(cè)數(shù)據(jù)作為原點(diǎn),其余數(shù)據(jù)與第一條數(shù)據(jù)求差,獲得與原始坐標(biāo)、時(shí)間無(wú)關(guān)的軌跡點(diǎn)信息,使實(shí)驗(yàn)結(jié)果具有更強(qiáng)的通用性。剩余1807個(gè)目標(biāo)共36140條軌跡數(shù)據(jù),可作為網(wǎng)絡(luò)輸入,部分?jǐn)?shù)據(jù)如表2所示。
多層感知器的輸入端只采用時(shí)間、X坐標(biāo)和Y坐標(biāo)三組數(shù)據(jù),每個(gè)樣本數(shù)據(jù)大小為20行3列。為便于網(wǎng)絡(luò)訓(xùn)練,分別對(duì)三組數(shù)據(jù)進(jìn)行歸一化,歸一化處理公式如下:
其中,x表示原始數(shù)據(jù),xnorm表示歸一化后的數(shù)據(jù),xmax和xmin表示原始數(shù)據(jù)的最大值和最小值。因多層感知器只能采用一維輸入,所以將每個(gè)樣本數(shù)據(jù)形狀更改為1行60列。
表2 清洗后數(shù)據(jù)示例
網(wǎng)絡(luò)輸入數(shù)據(jù)整理完成后,接下來(lái)可以求出每個(gè)目標(biāo)在每個(gè)點(diǎn)的速度等特征。通過(guò)對(duì)每個(gè)目標(biāo)按最大速度排序,定義速度分類界限,可以分辨出飛機(jī)、軍艦、高速小艇等高速目標(biāo),此類目標(biāo)數(shù)約為15個(gè);還有13個(gè)最大速度為0的錨泊船只。剩余數(shù)目較多的貨船、游船和漁船等低速目標(biāo)有待進(jìn)一步進(jìn)行分類。
通過(guò)繪制目標(biāo)運(yùn)動(dòng)軌跡,結(jié)合速度等參數(shù),人工對(duì)部分貨船、游船和漁船目標(biāo)設(shè)置標(biāo)簽,制作樣本數(shù)較少的訓(xùn)練集和測(cè)試集,典型的貨船、游船和漁船軌跡如圖3所示。
圖3 貨船、游船和漁船軌跡
貨船軌跡近似一條直線,方向變化較小;游船多為一條折線;漁船軌跡雜亂。標(biāo)簽設(shè)置[1 0 0]代表貨船,[0 1 0]代表游船,[0 0 1]代表漁船。人工設(shè)置好標(biāo)簽的訓(xùn)練集與測(cè)試集樣本數(shù)目如表3所示。
表3 少量樣本數(shù)據(jù)集描述
由于對(duì)全部目標(biāo)人工設(shè)置標(biāo)簽過(guò)于繁瑣,故先使用人工設(shè)置好標(biāo)簽的少量樣本數(shù)據(jù)訓(xùn)練多層感知器,將訓(xùn)練好的多層感知器用于所有樣本的預(yù)分類,再人工剔除多層感知器預(yù)分類錯(cuò)誤的數(shù)據(jù),進(jìn)而制作出樣本數(shù)更多的訓(xùn)練集和測(cè)試集。
根據(jù)樣本維數(shù)與標(biāo)簽維數(shù)構(gòu)造多層感知器,多層感知器網(wǎng)絡(luò)結(jié)構(gòu)如表4所示。
表4 多層感知器結(jié)構(gòu)
為加快神經(jīng)網(wǎng)絡(luò)計(jì)算速度,多層感知器輸入層與隱層均采用ReLU激活函數(shù),在輸出層采用softmax激活函數(shù)對(duì)輸出進(jìn)行分類,損失函數(shù)采用均方誤差。為加快損失函數(shù)收斂速度,采用adam算法和小批量梯度下降法進(jìn)行權(quán)值更新。
實(shí)驗(yàn)過(guò)程基于TensorFlow的深度學(xué)習(xí)庫(kù),采用Keras高層神經(jīng)網(wǎng)絡(luò)API,采用Anaconda的Jupyter Notebook作為python編譯器,所用計(jì)算機(jī)配置為CPU i3-4005U,4GB內(nèi)存,Windows7 64位操作系統(tǒng)。
首先對(duì)用于初步分類多層感知器進(jìn)行實(shí)驗(yàn),將三種類別共190個(gè)訓(xùn)練樣本作為訓(xùn)練集,輸入到多層感知器網(wǎng)絡(luò)進(jìn)行訓(xùn)練,通過(guò)與人工設(shè)置的標(biāo)簽對(duì)比更新權(quán)值。訓(xùn)練集迭代5000次后終止訓(xùn)練,得到樣本訓(xùn)練過(guò)程中的損失函數(shù)誤差收斂曲線。將測(cè)試集共35個(gè)樣本輸入到訓(xùn)練好的網(wǎng)絡(luò),獲得測(cè)試集輸出,將輸出中的最大值所在位置與標(biāo)簽中1的所在位置進(jìn)行對(duì)比,一致則分類成功,否則分類失敗,統(tǒng)計(jì)正確分類數(shù)以及分類正確率,重復(fù)三次。
若分類正確率較高,將訓(xùn)練好的網(wǎng)絡(luò)用于剩余全部目標(biāo)初步分類,并人工剔除分類錯(cuò)誤數(shù)據(jù),制作樣本數(shù)較多的數(shù)據(jù)集,將此數(shù)據(jù)集用于多層感知器的訓(xùn)練和測(cè)試,統(tǒng)計(jì)分類正確率。
少量樣本訓(xùn)練過(guò)程的誤差收斂曲線如圖4所示。訓(xùn)練集迭代5000次,一分鐘內(nèi)訓(xùn)練完畢。可以看出,損失函數(shù)下降到較小的值,無(wú)需繼續(xù)增加訓(xùn)練次數(shù),訓(xùn)練結(jié)果可用于在測(cè)試集上測(cè)試。
將測(cè)試集輸入訓(xùn)練好的多層感知器進(jìn)行分類,分類結(jié)果如表5所示,考慮到人工制作標(biāo)簽可能存在錯(cuò)誤,多層感知器分類結(jié)果令人滿意,可用于樣本初步分類。
圖4 少量樣本誤差收斂曲線
表5 少量樣本分類結(jié)果
將全部約1800個(gè)樣本輸入上文訓(xùn)練好的第一個(gè)網(wǎng)絡(luò)進(jìn)行分類。結(jié)合軌跡圖片,人工剔除分類錯(cuò)誤或難于判斷軌跡類型的樣本,對(duì)剩余樣本設(shè)置標(biāo)簽,得到訓(xùn)練集與測(cè)試集樣本數(shù)目如表6所示。
表6 多數(shù)樣本數(shù)據(jù)集描述
對(duì)多數(shù)樣本的實(shí)驗(yàn)過(guò)程同少量樣本類似,訓(xùn)練集迭代500次,訓(xùn)練時(shí)間大約一分鐘。多數(shù)樣本訓(xùn)練過(guò)程的誤差收斂曲線如圖5所示??梢钥闯鲇?xùn)練500次損失函數(shù)已經(jīng)下降到很小。
圖5 多數(shù)樣本誤差收斂曲線
多數(shù)樣本的測(cè)試集分類結(jié)果如表7所示??梢钥闯?,分類正確率很高,且分類時(shí)間只要幾秒。增加訓(xùn)練集樣本數(shù)有利于提高分類正確率。
表7 多數(shù)樣本分類結(jié)果
采用多層感知器根據(jù)海上目標(biāo)運(yùn)動(dòng)軌跡對(duì)目標(biāo)進(jìn)行分類,并設(shè)計(jì)實(shí)驗(yàn)分析多層感知器分類結(jié)果。實(shí)驗(yàn)結(jié)果表明,多層感知器可有效進(jìn)行海上目標(biāo)分類,分類迅速正確率高,但也存在諸多限制。由于僅采用時(shí)空監(jiān)測(cè)數(shù)據(jù),若高速目標(biāo)低速航行,人工不能進(jìn)行分類,多層感知器也不能進(jìn)行分類;由于樣本數(shù)過(guò)少等原因,沒(méi)有將帆船、軍艦、高速小艇、飛機(jī)等海上目標(biāo)同時(shí)分類,這方面有待進(jìn)一步研究。多層感知器為基于運(yùn)動(dòng)軌跡的海上運(yùn)動(dòng)目標(biāo)分類提供了新的有效手段。