李紅祥 方 遜
(武漢船舶職業(yè)技術(shù)學(xué)院1) 武漢 430050) (武漢理工大學(xué)航運(yùn)學(xué)院2) 武漢 430063)
目前已有一些研究船舶交通流量統(tǒng)計(jì)方法,但據(jù)調(diào)查,現(xiàn)有的船舶交通流量統(tǒng)計(jì)系統(tǒng)存在不穩(wěn)定、重復(fù)統(tǒng)計(jì)和漏統(tǒng)計(jì)等問題.本文提出了一種基于AIS的船舶交通流量的統(tǒng)計(jì)方法,該方法構(gòu)建一個(gè)船舶交通流量統(tǒng)計(jì)系統(tǒng),無需人工到航道現(xiàn)場觀測,工作人員在岸上的監(jiān)控中心即可實(shí)時(shí)觀測到航道內(nèi)船舶密度和船舶通過狀況,既可以人工記錄也可以自動記錄某一時(shí)間段內(nèi)船舶通過航道某一斷面的數(shù)量.通過理論研究和模擬軟件實(shí)驗(yàn)的方法證明了基于AIS的船舶交通流量統(tǒng)計(jì)系統(tǒng)的可行性.
系統(tǒng)由通過某一觀測斷面的船載AIS、岸臺AIS及開發(fā)的應(yīng)用軟件組成,其構(gòu)成框圖如圖1所示[1-2].船載 AIS可以提供船舶的位置(經(jīng)緯度)信息,岸臺AIS可以接收該信息,開發(fā)相關(guān)應(yīng)用軟件使其具有船舶交通流量的自動統(tǒng)計(jì)功能就可以在電子海圖上實(shí)時(shí)統(tǒng)計(jì)船舶通過某一斷面的交通流量.應(yīng)用軟件主要是基于VB,Map X控件,MATLAB和Microsoft Office Access數(shù)據(jù)庫而開發(fā)的.
圖1 系統(tǒng)構(gòu)成框圖
圖2 交通流觀測現(xiàn)場圖
為了使研究具有實(shí)際應(yīng)用價(jià)值,取武漢長江大橋作為觀測現(xiàn)場,觀測通過大橋處航道斷面的船舶交通流量,如圖2所示.由于現(xiàn)在通過武漢長江大橋的船舶大多數(shù)尚未安裝AIS,為了證明系統(tǒng)的可行性,在應(yīng)用軟件中用模擬數(shù)據(jù)代替AIS的接收數(shù)據(jù).
AD為觀測斷面,XYRS為上行航道,L MNP為下行航道,取上下2個(gè)航道斷面中點(diǎn)O2,O1為觀測中點(diǎn),畫一個(gè)覆蓋航道大小的圓形觀測區(qū),模擬軟件將目標(biāo)船的位置、船名、航向、MMSI等信息作為字段、每一艘船作為一條記錄保存到數(shù)據(jù)庫中作為船舶的基本信息,將此數(shù)據(jù)庫與電子海圖捆綁在一起.在電子海圖中建立船舶層,通過船舶的位置、航向信息將船舶在電子海圖的相應(yīng)位置上顯示出來.模擬軟件每隔一定周期,采取船舶的信息,并利用MMSI字段將船舶的信息更新到對應(yīng)船舶的記錄中去.利用兩次采樣的位置差值實(shí)現(xiàn)船舶在電子海圖上的移動.
船舶在航道中移動,正常情況下一定會經(jīng)過圓形觀測區(qū),模擬軟件利用電子海圖的空間分析函數(shù)Search within Distance判斷是否有船舶進(jìn)入圓形觀測區(qū),如果有船舶進(jìn)入,經(jīng)過分析、識別船舶后,將船舶流量統(tǒng)計(jì)值加1,并將船名記入記錄文檔以備校驗(yàn),避免重復(fù)計(jì)數(shù)、漏計(jì)數(shù)現(xiàn)象出現(xiàn),從而實(shí)現(xiàn)對該航道船舶交通流量的自動統(tǒng)計(jì).
當(dāng)然,由于信號的不穩(wěn)定、GPS天線的遮擋、AIS網(wǎng)絡(luò)堵塞及SOTDMA限制等原因,船舶在通過圓形觀測區(qū)的過程中可能出現(xiàn)自動交通流量統(tǒng)計(jì)中的漏跟蹤問題.解決該問題的方法是擴(kuò)大檢測范圍提高接收船舶AIS信號的概率,雖然電子海圖中的Search Within Rectangle函數(shù)可以擴(kuò)大檢測范圍,但是對于指定區(qū)域難以建立矩形區(qū)域,船舶是否通過觀測斷面分類困難,在此引入感知神經(jīng)網(wǎng)絡(luò)快速分類校驗(yàn)的方法.以觀測航道斷面為分界線,建立一個(gè)矩形感知神經(jīng)網(wǎng)絡(luò)區(qū)域,如圖2中下行航道所示,一邊為未通過航道斷面區(qū)域TZNP,另一邊為已經(jīng)通過航道斷面區(qū)域L MZT,很顯然矩形區(qū)域面積遠(yuǎn)大于圓形區(qū)域,可以提高對船舶接收AIS信號的概率.當(dāng)船舶進(jìn)入感知神經(jīng)網(wǎng)絡(luò)區(qū)域時(shí)即對船舶進(jìn)行分類處理,對分類后進(jìn)入通過區(qū)域的船舶進(jìn)行計(jì)數(shù)記錄校驗(yàn),核對記錄文檔,該船舶通過圓形區(qū)域時(shí)是否被記錄,如果通過了而未被記錄則補(bǔ)充記錄.整個(gè)校驗(yàn)過程快速、準(zhǔn)確、實(shí)現(xiàn)了可視化監(jiān)控,形象逼真.
首先在電子海圖上將觀測區(qū)域的點(diǎn)、線、圓歸入一個(gè)層,并顯示在電子海圖上[3-4],將觀測區(qū)域的實(shí)際位置的經(jīng)緯度采集下來,如表1所列.
表1 觀測區(qū)域各點(diǎn)的經(jīng)緯度
在VB中調(diào)用Map X控件,制作地物圖層.
REM將一條直線中的點(diǎn)加入點(diǎn)集
land_wpts.Add XY p_x,p_y
REM將點(diǎn)集中的點(diǎn)連接成線段
land_line.Parts.Add land_wpts
REM將線段加入地物層
Map1.Layers.Item(“l(fā)and”).Add Feature land_line
REM將圓的中心點(diǎn)賦值給點(diǎn)圖元
t mp_wpt.Set 114.283456,30.551805
REM畫一個(gè)60 m半徑的圓
Set ftr=Map1.FeatureFactory.CreateCircular Region(mi Circle TypeScreen,t mp_wpt,60,mi Unit Meter,300,Map1.Default Style)
REM將圓加入地物層
Set ftr new= Map1.Layers.Item(“l(fā)and”).Add Feature(ftr)
在電子海圖中建立的觀測區(qū)域如圖3所示.
圖3 電子海圖上的觀測區(qū)域
岸臺AIS接收到船舶信息經(jīng)過解碼處理后將其保存到 Access數(shù)據(jù)庫中[5-6],取其位置經(jīng)緯度、航向數(shù)據(jù)在電子海圖上以△符號代表船舶顯示出來,△的旋轉(zhuǎn)方向取航向值.
rs.MoveFirst
REM循環(huán)讀數(shù)據(jù)庫中的船舶位置數(shù)據(jù)
Do While Not rs.EOF
pt New.Set rs.Fields(“x”),rs.Fields(“y”)
REM在對應(yīng)的位置顯示船舶符號
Set ftr new = ff.CreateSy mbol(pt New,Map1.Default Style)
REM加入船舶層
Set ftr new =lyr New.Add Feature(ftr new,r vs)rs.Move Next Loop
建立的船舶層如圖4所示,同樣將2次采樣之間的位置差值作為偏移量,使用obj.Offset△X,△Y可以實(shí)現(xiàn)船舶在電子海圖上的移動.本模擬軟件則是在航道中取的位置值代替實(shí)際接收的位置值.
圖4 二種特殊情況的船舶通過模擬圖
在如圖3所示的圓形觀測區(qū)域,當(dāng)有船舶經(jīng)過該區(qū)域,系統(tǒng)將會自動對該船進(jìn)行識別,并記錄該船名,船舶流量統(tǒng)計(jì)值加1.
當(dāng)船舶正常通過圓形區(qū)域時(shí),使用語句:
center_point1.Set 114.283456,30.551805
Set mon_down_ship= Map1.Layers.Item(“ship”).Search Within Distance(center_point1,60,mi Unit Meter,miSearch TypePartially Within)
根據(jù)mon_down_ship的值可以判斷觀測圓形區(qū)域內(nèi)是否有船舶存在,為了準(zhǔn)確記錄通過觀測斷面的船舶,選定的圓形觀測區(qū)域不能太小,否則可能無法覆蓋航道,且對于速度較快的船舶容易出現(xiàn)前后兩次采樣時(shí)船舶均不出現(xiàn)在觀測圓形區(qū)域的情況,即跳躍過觀測圓形區(qū)域,造成漏統(tǒng)計(jì);當(dāng)然也不能太大,否則會出現(xiàn)采樣時(shí)多艘船舶同時(shí)出現(xiàn)在觀測圓形里面的情況,造成重復(fù)計(jì)數(shù).
結(jié)合該航道船舶的速度,將觀測區(qū)域選定為半徑60 m的圓形區(qū)域較合適,如圖3中⊙所示.
正常情況下每次采樣時(shí)mon_down_ship=0或者1或者2,如果采樣時(shí)mon_down_ship=1,即觀測圓形區(qū)域內(nèi)只有一艘船的情況,則檢查記錄文檔中該船舶是否被記錄,如果已經(jīng)被記錄則無需記錄,否則記錄數(shù)加1,并且將其船舶名字記錄到記錄文檔中.
如果采樣時(shí)mon_down_ship=2,即觀測圓形區(qū)域內(nèi)同時(shí)有兩艘船舶的情況,則檢查記錄文檔中有沒有前面一艘船舶的記錄,如果已經(jīng)被記錄則無需記錄,否則記錄數(shù)加1,并且將其船舶名字記錄到記錄文檔中.
為了模擬mon_down_ship=2情況,將上行航道的觀測圓形區(qū)域的半徑設(shè)置為160 m,如圖4所示,△4,△5同時(shí)出現(xiàn)在一個(gè)觀測圓形區(qū)域內(nèi),多次試驗(yàn)證明該方法記錄準(zhǔn)確,沒有出現(xiàn)重復(fù)計(jì)數(shù)的情況.
為了模擬因?yàn)榻邮詹坏紸IS信號等原因造成的漏統(tǒng)計(jì)情況,在下行航道中使用一艘速度較快的船舶、前后兩次采樣時(shí)船舶均不出現(xiàn)在觀測圓形區(qū)域,即跳過觀測圓形區(qū)域的情況,如圖4中△7船.
模擬試驗(yàn)表明,本方法無法記錄△7船跳過觀測斷面這種特殊情況,造成漏統(tǒng)計(jì)現(xiàn)象.因此,為了避免漏統(tǒng)計(jì)現(xiàn)象,必須對交通流量的統(tǒng)計(jì)數(shù)據(jù)進(jìn)行核實(shí)校驗(yàn),補(bǔ)充漏掉的記錄數(shù)值.
為了有效的校驗(yàn)統(tǒng)計(jì)的船舶交通流量,提出一種利用感知神經(jīng)網(wǎng)絡(luò)的校驗(yàn)方法,船舶交通流量的統(tǒng)計(jì)是以航道斷面作為分界線,船舶分為未通過、通過兩類,屬于典型的線性可分問題,使用單層感知器即可處理船舶的分類問題.通過建立一個(gè)感知神經(jīng)網(wǎng)絡(luò)區(qū)域,選取合適的樣本值來調(diào)整權(quán)值和閥值,使分界線恰好位于觀測交通流量的航道斷面,船舶進(jìn)入該感知神經(jīng)網(wǎng)絡(luò)區(qū)域,船舶的位置作為輸入樣本數(shù)據(jù),感知神經(jīng)網(wǎng)絡(luò)可以快速將其分為未通過船舶和通過船舶.
單層感知器的數(shù)學(xué)模型為:設(shè)輸入向量X=(x1,y1)T,則2個(gè)輸入分量在幾何上構(gòu)成一個(gè)二維平面.輸入樣本(船舶)可以用該平面上的一個(gè)點(diǎn)表示.節(jié)點(diǎn)的輸出為
如圖5中的L MZNPT為所建立的感知神經(jīng)網(wǎng)絡(luò)區(qū)域,由于實(shí)際觀測位置決定了該區(qū)域不是一個(gè)沿經(jīng)緯線建立的矩形區(qū)域,直接使用樣本空間值歸一化較困難,所以采取先將其旋轉(zhuǎn)到經(jīng)緯線上,再進(jìn)行歸一化處理的方法.
圖5 建立的感知神經(jīng)網(wǎng)絡(luò)區(qū)域
該區(qū)域6個(gè)點(diǎn)位置經(jīng)緯度如表2所列.
表2 感知神經(jīng)網(wǎng)絡(luò)區(qū)域位置點(diǎn)
通過計(jì)算,該區(qū)域需圍繞TZ中點(diǎn)O1(114.283 455 555 556E,30.551 805 555 555 6N),順時(shí)針旋轉(zhuǎn)57.49°,從而得到一個(gè)新的區(qū)域,如圖5中的L′M′Z′N′P′T′.該區(qū)域滿足L′,T′,P′,M′,Z′,N′各自在同一經(jīng)度線上;L′,M′,T′,Z′和P′,N′分別在同一緯度線上.旋轉(zhuǎn)后的各點(diǎn)坐標(biāo)如表3所列.
表3 旋轉(zhuǎn)后各點(diǎn)位置信息及歸一化結(jié)果
旋轉(zhuǎn)后得到的是一個(gè)對應(yīng)于經(jīng)緯線的標(biāo)準(zhǔn)矩形區(qū)域,橫坐標(biāo)對應(yīng)于經(jīng)度,縱坐標(biāo)對應(yīng)于緯度,從而可以容易地對該區(qū)域內(nèi)的樣本數(shù)據(jù)進(jìn)行歸一化 處 理, 如 L′(114.289 325 000 000E,30.552 344 444 444 4 N)對應(yīng)于XY坐標(biāo)軸中的L′(1,1),區(qū)域各邊界點(diǎn)L′M′Z′N′P′T′歸一化后的值見表3,而船舶的實(shí)際位置值經(jīng)過旋轉(zhuǎn)、歸一化處理后可以容易地被分類.
MATLAB是一個(gè)具有強(qiáng)大功能的數(shù)學(xué)處理軟件,神經(jīng)網(wǎng)絡(luò)工具箱是Matlab環(huán)境下開發(fā)出來的許多工具箱之一,它以人工神經(jīng)網(wǎng)絡(luò)理論為基礎(chǔ),應(yīng)用Matlab語言構(gòu)造典型神經(jīng)網(wǎng)絡(luò)的傳遞函數(shù),并針對特定的網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行網(wǎng)絡(luò)設(shè)計(jì)、學(xué)習(xí)、訓(xùn)練和仿真.
REM選擇合適的樣本空間數(shù)據(jù)P,按T規(guī)則分類
REM使用newp函數(shù)建立一個(gè)感知器神經(jīng)網(wǎng)絡(luò),默認(rèn)使用硬限幅傳遞函數(shù)har dli m,感知器權(quán)重及偏置.
net=newp([-1 1;-1 1],1);
REM在已繪制的圖上加上感知器分類線
handle= plotpc(net1.iw{1},net1.b{1});
REM利用樣本點(diǎn)訓(xùn)練網(wǎng)絡(luò)并繪出得到的分類線
REM adapt是神經(jīng)網(wǎng)絡(luò)自適應(yīng)函數(shù),sse是網(wǎng)絡(luò)平方和誤差函數(shù)
E=1;
while(sse(E))
[net,Y,E]=adapt(net,P,T);
Handle=plotpc(net.iw{1},net.b{1},handle);
end;
REM將船舶位置數(shù)據(jù)shippoints進(jìn)行分類并得到結(jié)果
ans=sim(net,shippoints)
MATLAB與Visual Basic語言接口可以采用DDE(Dynamic Data Exchange),DDE允許 Microsoft Windows應(yīng)用程序通過交換數(shù)據(jù)實(shí)現(xiàn)彼此間的通信.
在本模擬軟件中,VB通過DDE將進(jìn)入感知神經(jīng)網(wǎng)絡(luò)的船舶位置數(shù)據(jù)傳遞給MATLAB并發(fā)出分類的指令,MATLAB將分類的結(jié)果通過DDE傳遞給VB,并將分類結(jié)果以圖形的形式顯示出來,如圖6所示,可以清楚地看到上行航道感知神經(jīng)網(wǎng)絡(luò)中一艘船通過、兩艘船未通過的情景,分類結(jié)果為[0 0 1],這和電子海圖上的船舶通過情況完全一致.
只要船舶進(jìn)入感知神經(jīng)網(wǎng)絡(luò)區(qū)域內(nèi),就被分類為未通過、通過兩類,如圖6所示在下行航道感知神經(jīng)網(wǎng)絡(luò)區(qū)域內(nèi)的△3、△7船舶均為通過類型.
對于在感知神經(jīng)網(wǎng)絡(luò)中被分類到通過類的每一艘船,則核對記錄文本中船名是否被記錄,如果被記錄則屬于在通過圓形觀測區(qū)域時(shí)被正確記錄的船舶,如果未被記錄,例如圖6中的△7,則是因?yàn)槠渫ㄟ^圓形觀測區(qū)域時(shí)跳過了該區(qū)域而未被記錄,屬于漏記錄情況,在此需要補(bǔ)充上統(tǒng)計(jì)值記錄,同時(shí)將船名記錄到記錄文本中.
在正常情況下船舶經(jīng)過圓形觀測區(qū)都會被記錄.該軟件在實(shí)際應(yīng)用時(shí),雖然實(shí)際環(huán)境更為復(fù)雜,存在不同的船舶尺度、航速和船舶類型,但由于感知神經(jīng)網(wǎng)絡(luò)的區(qū)域遠(yuǎn)大于圓形觀測區(qū),即使是在特殊情況下漏記錄,也會被感知神經(jīng)網(wǎng)絡(luò)校驗(yàn).在實(shí)際應(yīng)用中,可以取1 d、1周、1月等時(shí)間段統(tǒng)計(jì)船舶交通流量的值,根據(jù)撐握的數(shù)據(jù)還可繪出該地段交通流量的規(guī)律(如泊松分布、正態(tài)分布等),以更好的為海事管理部分服務(wù).
圖6 感知神經(jīng)網(wǎng)絡(luò)校驗(yàn)過程圖
由于內(nèi)河大多數(shù)船舶暫時(shí)還沒有裝載AIS,采用了模擬的方法來證明基于AIS的船舶交通流量統(tǒng)計(jì)系統(tǒng)的可行性.基于長江干線的AIS網(wǎng)絡(luò)正在建設(shè)中,由于本模擬環(huán)境是以實(shí)際場景作為背景,很容易與AIS網(wǎng)絡(luò)連接,具有一定的現(xiàn)實(shí)意義.
基于AIS的船舶交通流量統(tǒng)計(jì)系統(tǒng)如在海事部門進(jìn)行推廣,將為海事部門大大節(jié)省人力資源,特別是在天氣惡劣的情況下,系統(tǒng)可能效改善船舶流統(tǒng)計(jì)工作者的工作環(huán)境,減小統(tǒng)計(jì)工作者的工作強(qiáng)度,提高統(tǒng)計(jì)的準(zhǔn)確度.
[1]孫文力,孫文強(qiáng).船載自動識別系統(tǒng)[M].大連:大連海事大學(xué)出版社,2004.
[2]張 勛,許文海,唐文彥.淺海航道水深實(shí)時(shí)監(jiān)測方法研究[J].儀器儀表學(xué)報(bào),2006,27(6):361-363.
[3]楊春金,潘 玲.Map X在電子海圖中的應(yīng)用與實(shí)現(xiàn)[J].船海工程,2006,35(6):116-118.
[4]朱恩亮,王 勇,王光耀.基于Map X的電子海圖顯示系統(tǒng)開發(fā)[J].船海工程,2008,37(5):127-129.
[5]徐志京,周薇娜.AIS輸出信息的采集及處理技術(shù)研究[J].航海技術(shù),2006(2):29-31.
[6]吳建華,陶德馨.自動船舶識別系統(tǒng)的信息解碼技術(shù)研究[J].武漢理工大學(xué)學(xué)報(bào):交通科學(xué)與工程版,2007,31(4):595-598.