摘 要: 現(xiàn)代船舶交通管理系統(tǒng)中,雷達與AIS航跡的關(guān)聯(lián)處在一個非常重要的位置上,。結(jié)合LabVIEW圖形化編程特點和MATLAB強大的矩陣運算能力,,應(yīng)用二者混合編程和BP網(wǎng)絡(luò)算法的改進,實現(xiàn)雷達與AIS的航跡關(guān)聯(lián),。利用圖形化編程工具LabVIEW開發(fā)平臺與神經(jīng)網(wǎng)絡(luò)相結(jié)合,,能更直觀地分析關(guān)聯(lián)模型,拓寬了二者的應(yīng)用領(lǐng)域,,并為提高航跡關(guān)聯(lián)技術(shù)和開發(fā)效率提供了新的思路,。
關(guān)鍵詞: 航跡關(guān)聯(lián);LabVIEW,;神經(jīng)網(wǎng)絡(luò)
0 引言
在現(xiàn)代海上交通管理中,,船舶交通管理系統(tǒng)(VTS)起到了提高航運效率、保障航運安全,、保護水域環(huán)境等不可替代的作用[1]。VTS信息來源是多渠道的,,主要包括雷達與AIS,。在船舶信息獲取完成后,VTS首先要對其進行航跡關(guān)聯(lián)處理,。關(guān)聯(lián)的目的是對其進行分類,,找出同一目標(biāo)船的特征信息。由于VTS系統(tǒng)每時每刻都會接收來自不同傳感器(雷達和AIS)的數(shù)據(jù),,這些數(shù)據(jù)可能源自同一目標(biāo)也可能是不同目標(biāo),,因此航跡關(guān)聯(lián)便尤為重要。實際上關(guān)聯(lián)解決了多傳感器數(shù)據(jù)融合過程中重復(fù)融合,、錯誤融合的問題,。
目前關(guān)于航跡關(guān)聯(lián)的常用方法主要有基于模糊數(shù)學(xué)和統(tǒng)計理論方法。這其中有最鄰近方法,、多因素模糊綜合評判法,、模糊聚類法等。有學(xué)者提出了基于多因素模糊綜合決策的雷達與AIS航跡關(guān)聯(lián)算法,,討論了關(guān)聯(lián)門限取值等問題,,但關(guān)聯(lián)門限的自適應(yīng)問題還有待進一步探討與研究。本文則采用近年研究比較熱門但在航跡關(guān)聯(lián)上應(yīng)用不多的神經(jīng)網(wǎng)絡(luò)方法,。神經(jīng)網(wǎng)絡(luò)的選擇著眼于既能滿足問題要求又不至于浪費系統(tǒng)資源的原則,。BP算法是利用梯度下降的思想對網(wǎng)絡(luò)神經(jīng)元連接的權(quán)值進行修正和更新的[2],對其改進加入動量因子以避免網(wǎng)絡(luò)訓(xùn)練中陷入極小值,增加網(wǎng)絡(luò)訓(xùn)練的層數(shù)以提高訓(xùn)練過程中的性能,。具體實現(xiàn)過程中選擇圖形化軟件,,LabVIEW在虛擬化儀器儀表的可視性方面有非常好的表現(xiàn)。
1 系統(tǒng)模型
1.1 神經(jīng)網(wǎng)絡(luò)
1.1.1 基本BP神經(jīng)網(wǎng)絡(luò)
BP神經(jīng)網(wǎng)絡(luò)是指應(yīng)用誤差反向傳播學(xué)習(xí)算法的多層前饋神經(jīng)網(wǎng)絡(luò),,其一般結(jié)構(gòu)如圖1所示,。
網(wǎng)絡(luò)分為輸入層、隱層,、輸出層,,在正常工作時,信號經(jīng)輸入層節(jié)點輸入,,然后傳輸?shù)诫[層節(jié)點,,經(jīng)隱層函數(shù)作用后傳遞至輸出層輸出。中間隱層函數(shù)一般選取Sigmoid型函數(shù),,它是一種非線性函數(shù)[3],。
設(shè)一個具有P層結(jié)構(gòu)的BP神經(jīng)網(wǎng)絡(luò),一組輸入樣本與期望輸出分別為Xk=(X1k,,…,,Xnk)、dk,,k=1,,…,n,,n為樣本總數(shù),。對于網(wǎng)絡(luò)節(jié)點i,其輸出為Oi,。設(shè)輸入樣本為Xk,,輸出為Yk,節(jié)點i的輸出為O,。則定義單個樣本的誤差為:
所以網(wǎng)絡(luò)總誤差為:
該誤差是網(wǎng)絡(luò)學(xué)習(xí)的目標(biāo)函數(shù),,網(wǎng)絡(luò)訓(xùn)練的結(jié)果是使得該誤差達到或者趨近于最小,BP網(wǎng)絡(luò)在學(xué)習(xí)過程中采用梯度下降法,,為了使誤差最小化,,就要不斷地修正各神經(jīng)元之間的連接權(quán)值。取第k個樣本,,即為網(wǎng)絡(luò)的第k次迭代,,下面討論節(jié)點i所在層右側(cè)某神經(jīng)元j,該節(jié)點的輸入表示為:
其中,,w表示神經(jīng)元i和j的連接權(quán)值,。記節(jié)點j此時的誤差應(yīng)該為:
定義局部梯度為:
所以:
當(dāng)節(jié)點j是輸出節(jié)點時:
當(dāng)節(jié)點j是隱層節(jié)點時:
對于下一層某一節(jié)點m有:
1.1.2 BP神經(jīng)網(wǎng)絡(luò)的改進
原始的BP神經(jīng)網(wǎng)絡(luò)自身存在一些不足,,為解決缺陷,在修正權(quán)值時對修正量添加動量因子,,即:
其中,,表示動量項系數(shù),取值范圍為[0,,1],。這么做的意義在于動量項反映了之前時刻權(quán)值改變積累的“經(jīng)驗”,對當(dāng)前時刻權(quán)值的調(diào)整起到了阻尼作用,。動量因子的引入一定程度上解決了網(wǎng)絡(luò)訓(xùn)練過程中陷入局部極小值的問題,。
1.2 關(guān)聯(lián)算法
對目標(biāo)航跡的關(guān)聯(lián)采用兩級門限判定。在航跡關(guān)聯(lián)過程中,,單一時刻的雷達與AIS神經(jīng)網(wǎng)絡(luò)關(guān)聯(lián)判斷過程中神經(jīng)網(wǎng)絡(luò)的輸出作為第一門限值,。根據(jù)樣本構(gòu)造的情況,這一門限值確定為Th=0.85,。Th1的數(shù)值大小意義并不十分重要,,其大小完全由神經(jīng)網(wǎng)絡(luò)訓(xùn)練樣本來決定。在本文使用的訓(xùn)練樣本中,,期望輸出為0.9,,綜合考慮網(wǎng)絡(luò)誤差等因素選定0.85。
為保證關(guān)聯(lián)準(zhǔn)確性,,選擇多時刻多次判斷求關(guān)聯(lián)次數(shù)法,。具體選定雷達目標(biāo)Ri和一組需要判定的AIS目標(biāo)A={a1,a2,,a3,,…,,an},,待關(guān)聯(lián)目標(biāo)選取N個時刻,依次關(guān)聯(lián)判斷每個目標(biāo)每個時刻,。目標(biāo)關(guān)聯(lián)則K加1,,否則不加,統(tǒng)計每個AIS目標(biāo)與Ri關(guān)聯(lián)次數(shù)K,。在多次試驗測試總結(jié)下設(shè)定K值為第二門限,。若對雷達目標(biāo)Ri的AIS組A每個目標(biāo)aj關(guān)聯(lián)次數(shù)K兩兩相異,則取K值最大且超過第二門限值的AIS目標(biāo)為與Ri關(guān)聯(lián)目標(biāo),。若存在兩個或者兩個以上K值的情況,,則定義dij(Ri,Aj)為:
dij(Ri,,Aj)表征了雷達目標(biāo)與AIS目標(biāo)的相似測度,,在存在不全相異關(guān)聯(lián)次數(shù)時調(diào)用,,其值越大越關(guān)聯(lián)。
同時為減少需要比對的時刻數(shù),,采用等差列法取時刻,。即相鄰觀測時刻的間隔為?駐tn=?駐tn-1+d,其中d是觀測間隔的公差,。這種方法避免了在航跡重合或十分接近時重復(fù)無用功,。等差法的應(yīng)用實際是在有限關(guān)聯(lián)時刻次數(shù)內(nèi)擴大了時刻取值范圍,這在航跡小范圍接近情況下十分有效,。
2 LabVIEW實現(xiàn)
LabVIEW是美國NI公司推出的圖形化虛擬儀器開發(fā)平臺軟件,,它的圖形化編程語言具有簡潔、快速,、直觀,、易于編程開發(fā)等優(yōu)點。現(xiàn)在LabVIEW的應(yīng)用已經(jīng)十分廣泛,,本文主要是體現(xiàn)了它的直觀和易于開發(fā)的特性[4],。
LabVIEW實現(xiàn)BP神經(jīng)網(wǎng)絡(luò)的方法有兩種,一種是利用軟件本身的編程語言實現(xiàn)BP網(wǎng)絡(luò),;另一種是發(fā)揮LabVIEW和MATLAB強大的聯(lián)合工作能力,,利用MATLAB script節(jié)點導(dǎo)入MATLAB編譯好的神經(jīng)網(wǎng)絡(luò)程序?qū)崿F(xiàn)LabVIEW中的BP網(wǎng)絡(luò)。本文采用第二種方法,。這種聯(lián)合工作的方法很好地發(fā)揮了兩個軟件各自的優(yōu)勢,。具體的實現(xiàn)如圖2所示。
系統(tǒng)總體流程圖如圖3,。
3 仿真分析
系統(tǒng)仿真過程中,,BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練樣本的構(gòu)造尤為重要,在構(gòu)造過程中要充分考慮現(xiàn)實情況,,提高網(wǎng)絡(luò)的健壯性,。因此,訓(xùn)練樣本中遍歷了航速,、航向等參數(shù)值,,這里不做過多展示。圖4是網(wǎng)絡(luò)訓(xùn)練完成后得到的實際輸出與期望輸出的比較,,可以看出實際輸出與期望輸出的擬合程度是良好的,。
MATLAB下網(wǎng)絡(luò)輸出誤差分布圖如圖5所示。
由圖5可以看出誤差主要分布在[0,,0.2]范圍內(nèi),,所以在判定門限值的設(shè)置上參考這一數(shù)值分布確定第一門限值為0.85。誤差的范圍十分有限,,這說明實際訓(xùn)練得到的網(wǎng)絡(luò)性能是優(yōu)良的,。
圖6是LabVIEW中測試樣本的各相關(guān)參數(shù)的對比圖,。
測試樣本原始航跡圖如圖7所示。
在不同第一門限值下50次關(guān)聯(lián)測試中關(guān)聯(lián)頻數(shù)分布如圖8所示,。
從圖8可以明顯看到,,由于網(wǎng)絡(luò)性能良好,在第一門限值為0.8以后關(guān)聯(lián)頻數(shù)已經(jīng)很理想了,,但保守起見選擇0.85,。關(guān)聯(lián)頻數(shù)圖還能很好地反映出對關(guān)聯(lián)時刻選取方法改進的效果。
4 結(jié)論
本文提出了一種基于LabVIEW的雷達與AIS航跡關(guān)聯(lián)實現(xiàn)的方法,,改進了關(guān)聯(lián)算法中關(guān)聯(lián)時刻的選取方法,。利用LabVIEW和MATLAB完成了設(shè)計的仿真,驗證了設(shè)計的可行性和LabVIEW在可視性方面的優(yōu)點,。在關(guān)聯(lián)判斷時刻的選取上,,改進對有限時間內(nèi)航跡重合或接近時的判斷起到了很好的過濾作用,大大提高了關(guān)聯(lián)實現(xiàn)的可靠性,。
參考文獻
[1] 王世遠,,許開宇.AIS現(xiàn)狀、前景及對策[J].航海技術(shù),,2001(5):2-8.
[2] PANDYA A S,, MACYR B.神經(jīng)網(wǎng)絡(luò)模式識別及其實現(xiàn)[M].徐勇,荊濤,,譯.北京:電子工業(yè)出版社,,1999.
[3] 徐婷婷,柳曉明,,楊鑫.基于BP神經(jīng)網(wǎng)絡(luò)的船舶航跡實時預(yù)測[J].大連海事大學(xué)學(xué)報,,2012,38(1):9-11.
[4] 劉君華.基于LabVIEW的虛擬儀器設(shè)計[M].北京:電子工業(yè)出版社,,2003.