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