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