胡俊雅 李勇華 唐 晨
(武漢理工大學計算機科學與技術學院 湖北 武漢 430063)(武漢理工大學交通物聯(lián)網技術湖北省重點實驗室 湖北 武漢 430070)
港口是水陸運輸樞紐中心,內河港口的裝卸船作業(yè)通常采用內運車輛對貨物進行中轉,一般涉及將碼頭的貨物運輸到堆場(卸貨作業(yè))、將堆場的貨物運輸到碼頭(裝貨作業(yè))、將堆場的貨物運輸到其他堆場(轉堆作業(yè))等作業(yè)行為。在中轉過程中,由于港內道路復雜、中轉作業(yè)類型多樣、堆場環(huán)境惡劣,以及人為因素不可控等原因,該過程極易發(fā)生一些異常作業(yè)行為(偷運貨物、裝卸貨紊亂、未按流程作業(yè)等),貨物的安全亟需得到監(jiān)管,而貨物的安全與內運車的運行意圖密切相關。內運車在作業(yè)過程中會產生海量的軌跡數據,通過對軌跡數據[1]進行分析,可以發(fā)現(xiàn)內運車的移動特征。而軌跡的異常行為表現(xiàn)出與正常行為不一致的現(xiàn)象,通過對軌跡進行異常檢測,能夠發(fā)現(xiàn)移動對象隱藏在正常行為模式中的真實行為模式,暴露出內運車運行的異常意圖,可令監(jiān)管人員做出相應措施。
目前,軌跡異常檢測[2]已成為學術界和工業(yè)界研究領域的熱點。然而國內外針對港口內運車作業(yè)軌跡異常檢測的研究較少,在社會安全[3-4]、智能交通[5-6]、海事航行[7-8]等領域的研究較多。
Le等[3]針對辦公場所的非法入侵問題,提出一個線性距離函數來比較兩個軌跡活動序列,并使用動態(tài)時間規(guī)整(Dynamic Time Warping,DTW)的度量方法來計算序列間的相似性,最后利用單分類支持向量機(One Class Support Vector Machine,One-Class SVM)對軌跡活動序列進行分類,檢測異常軌跡活動序列。該方法能夠成功檢測到誤報率極低情景中的異常序列,然而并未在真實數據集中進行校驗且構建檢測模型的過程耗時較長。Wang等[5]針對交通流量異常問題提出了一種基于特征的流量異常檢測方法,該方法對原始軌跡進行地圖匹配,通過索引結構聚合路段所有軌跡,并通過路段及軌跡特征等方面進行分析,檢索異常候選段,最后根據候選段的密度變化、駛出比率等推斷交通異常情況。但是該方法考慮的特征并不全面,沒有誤報率的評估實驗。Toloue等[7]針對船舶航海安全問題,結合船舶的速度、位置、航向等參數,提出了一種基于隱馬爾可夫模型(Hidden Markov Model,HMM)的海上船舶異常行為檢測方法,該方法相比于SVM方法有效地降低了誤報率,提高了檢測精度等。然而隨著船舶海上航線的增加,也需要為每個路徑構建不同的行為模型。文獻[2]對現(xiàn)有的異常檢測技術進行了分類,并闡述了每個類型的異常檢測方法的不足之處。
本文考慮到港口內運車作業(yè)的特殊性(部分路網較為密集、作業(yè)類型和作業(yè)貨物多樣、作業(yè)環(huán)節(jié)存在駐留和移動狀態(tài)、作業(yè)司機可更換等),提出軌跡真實狀態(tài)提取方法并設計自適應有限狀態(tài)機(Adaptive Finite State Machine,AFSM)對內運車作業(yè)軌跡進行異常檢測。首先根據路網匹配知識[9]獲取軌跡點所屬路段,形成臨時狀態(tài)序列集;然后利用規(guī)則和DBSCAN[10]聚類算法將臨時狀態(tài)序列轉化為真實狀態(tài)序列;最后結合港口領域專家經驗、港口實時情況、作業(yè)真實數據等制定規(guī)則,利用每趟序列得到的反饋結果來構建AFSM,將軌跡真實狀態(tài)序列作為AFSM的輸入,檢測內運車作業(yè)軌跡是否異常。
港口調度人員發(fā)布作業(yè)指令后,內運車根據該指令執(zhí)行對應的作業(yè)流程,同時產生海量的軌跡數據。這些軌跡數據根據行駛路徑、作業(yè)流程的每個作業(yè)環(huán)節(jié)等形成不同的軌跡狀態(tài),如直接過磅的移動狀態(tài)、堆場/碼頭作業(yè)的耗時駐留狀態(tài)等。雖然通過傳統(tǒng)的聚類方法能夠得到軌跡駐留狀態(tài),然而由于GPS的精度問題和港區(qū)路網較為密集等原因,傳統(tǒng)的聚類方法得到的軌跡真實狀態(tài)并不足夠準確,此外類似過磅的這種移動狀態(tài)更是無法聚類。為此,本文提出軌跡真實狀態(tài)序列提取方法,其流程如圖1所示,首先搜索軌跡點的候選路段,結合軌跡數據以及港口路網數據,基于啟發(fā)式半徑搜索軌跡點的候選路段集(候選點集)。然后結合軌跡點的上下文信息,計算軌跡點到候選點的觀測概率和候選點間的形成的狀態(tài)轉移概率,并根據1.2節(jié)提出的算法為每個軌跡點匹配路段信息。最后基于規(guī)則和DBSCAN聚類算法判斷軌跡的真實狀態(tài),并形成軌跡真實狀態(tài)序列,該規(guī)則結合了作業(yè)流程和作業(yè)數據,DBSCAN聚類算法是用于判斷狀態(tài)內的軌跡數據集的駐留情況,其中軌跡真實狀態(tài)是指軌跡形成的駐留區(qū)域以及滿足作業(yè)環(huán)節(jié)的區(qū)域。

圖1 軌跡真實狀態(tài)序列提取方法的工作流程
內河港口的道路結構復雜,某港口道路結構如圖2所示,其中:粗框矩形的邊框為堆場道路;左下角矩形邊框區(qū)域為碼頭道路;五角星所標區(qū)域為地磅所在位置。由于GPS定位不可避免地存在精度問題,在堆場區(qū)域,堆場和堆場之間的距離較近,且部分堆場相通,軌跡點很容易因為偏差而被識別到另一個堆場中,對于地磅區(qū)域,其與其他道路的距離更為接近,基于傳統(tǒng)的幾何路網匹配方法很難精確地將軌跡點匹配到正確的路段上,這給內運車作業(yè)軌跡的異常檢測帶來了挑戰(zhàn)。

圖2 某港口道路區(qū)域
為此本文基于港口領域,充分結合軌跡點上下文信息和路網拓撲結構,提出基于上下文的軌跡所屬路段判斷算法(TBRSJ)。如圖3所示,確定軌跡點A的候選點是由其自身及其前序和后序軌跡點共同決定的。

圖3 基于上下文的軌跡候選點判斷



(1)基于啟發(fā)式半徑的軌跡候選路段搜索。本文對港口路網模型建立路網索引,并根據該索引確定觀測軌跡點Pi所屬網格,以該網格為中心,基于網格索引查詢出3×3網格內的路段集L={l1,l2,…,ln},計算觀測點Pi到路段li的投影點,投影點是指觀測點投射到路段上的候選點,其與觀測點的距離最近。計算投影點時,需考慮觀測點與路段的三種位置關系:路段中的投影點、路段左側的投影點、路段右側的投影點。如圖4所示,觀測點Pi對應的候選點即為Pc、Pa、Pb,觀測點到候選點的投影距離即為dic、dia、dib,投影距離是指兩點間的大圓距離。

圖4 軌跡點到路段的投影
如果以觀測點為中心,設置一個半徑大小為R的閾值,簡單地將投影距離小于R的路段添加到候選集中,R大小的選取直接影響候選集的大小。考慮到GPS的誤差以及路段自身存在的寬度等因素,本文將R≤w/2+p的路段加入到該點所屬的候選集中,其中:w為路段寬度;p為軌跡點的定位精度。候選點即為其投影點。路寬因素確定了觀測點到路段投影的閾值選取,經驗證可以減少候選集的大小,降低后續(xù)算法的時間開銷且保證了算法的有效性。
(2)觀測概率。觀測概率是指GPS觀測點和候選點的匹配程度,匹配程度越高說明該候選點與觀測點越接近。文獻[11]認為觀測到的軌跡點符合正態(tài)分布,可以使用高斯函數來表達距離因素的觀測概率,文獻[12]使用均值μ=0、標準差σ=20的高斯分布來模擬觀測概率,如式(1)所示。
(1)

(2)

(3)狀態(tài)轉移概率。軌跡點所屬路段不僅與前序軌跡相關,后序軌跡也是其重要權重因素。在圖5中,對于P2,僅考慮前序P1的影響,易丟失下文信息,而導致P2匹配到路段L2的概率更大。

圖5 點到路段位置
因此在本文中,狀態(tài)轉移概率是指結合了相鄰軌跡狀態(tài)到該軌跡狀態(tài)轉移這一過程的概率,其公式為:
(3)



算法1TBRSJ算法
輸入:預處理后的軌跡集Traj。
輸出:包含所屬路段的軌跡集TrajRes。
1TrajRes=[]
2 計算每個軌跡點的候選路段集合L、軌跡點到候選點的觀測概率Po、候選點到候選點的轉移概率Pt等

4 foriin range(1,len(Traj)-1)




9 forliinLi
11 forli+1inLi+1

16TrajRes.push(pi,l)

18TrajRes.push(pend,l)
19 returnTrajRes
對于此算法,設T為某趟作業(yè)的軌跡數據個數,V為路網節(jié)點數,E為路網中的路段數,假設每個軌跡點的候選路段最多為K。基于HMM的后聯(lián)合概率計算時要計算觀測概率、轉移概率和聯(lián)合概率,候選路段到候選路段的條數共有(T-1)×K2個,觀測概率、聯(lián)合概率需要計算T×K次,又因A*算法最壞的時間復雜度為O(V2),因此轉移概率的時間復雜度為O(TK2V2),該過程的全局復雜度為O(2KT+TK2V2),狀態(tài)轉移概率需要計算T(K2+1),所以此算法的時間復雜度為O(2KT+TK2V2+T(K2+1))。在實際中,K可以取較小的值,因此,該算法的時間復雜度接近于O(TV2)。
DBSCAN(Density-Based Spatial Clustering of Applications with Noise)是一個比較有代表性的基于密度的聚類算法。DBSCAN聚類算法過程是從數據集中,任選一個核心對象作為種子,再由此對象出發(fā)找出其密度可達的樣本,生成聚類簇,直到所有核心對象均被訪問,即確定了最終相應的聚類簇。由于該算法有著優(yōu)良的管理空間特征能力,能夠發(fā)現(xiàn)任意形狀的聚類簇,且對數據集的噪聲數據不敏感,因此本文通過DBSCAN聚類判斷內運車的真實駐留狀態(tài)。然而車輛過磅這類作業(yè)環(huán)節(jié)屬于非耗時操作,簡單地通過密度聚類容易丟失某些內運車軌跡的真實狀態(tài)且全局的聚類算法耗時較長,因此本文從實際作業(yè)流程和真實的作業(yè)數據制定相應規(guī)則,提出基于規(guī)則和DBSCAN的軌跡真實狀態(tài)提取算法。
對1.1節(jié)中提取的TrajRes進行狀態(tài)合并,得到軌跡臨時狀態(tài)序列tState=(S1,S2,…,Sn),其中狀態(tài)S是一個五元組S=(sName,trajList,enTime,exTime,trajNum),包含狀態(tài)名稱、軌跡數據集、駛入時間、駛出時間和軌跡總數量。圖6顯示了幾輛內運車的軌跡臨時狀態(tài),其中駛入和駛出時間是用時間戳進行表示的。

圖6 臨時軌跡狀態(tài)序列結構
軌跡的臨時狀態(tài)序列反映了內運車在港內作業(yè)每條路段上的行駛情況,其作為基于規(guī)則和DBSCAN的軌跡真實狀態(tài)提取算法的輸入。其算法流程如算法2所示,其中:Rule1表示如果狀態(tài)si處于作業(yè)區(qū)域且實際的作業(yè)時間點處于該狀態(tài)的時間段內則為True;Rule2表示如果狀態(tài)si的軌跡數量大于15或時間段長度超過了120 s則為True。
算法2基于規(guī)則和DBSCAN的軌跡真實狀態(tài)提取算法
輸入:軌跡臨時狀態(tài)序列集tState。
輸出:軌跡真實狀態(tài)集合RealState=(S1,S2,…,Sm)。
1Rule1:?si∈tState∧W(si)→True
W(si):si處于作業(yè)區(qū)域且時間段包含實際作業(yè)時間
2Rule2:?si∈tState∧(si.trajNum>15∨si.time>120 s)→True
3RealState=[]
4 foriin range(len(tState))
5 ifsiinRule1
6RealState.push(si)
7 else ifsiinRule2
8clusterRes=_DBSCAN(si.trajList)
#返回聚類結果
9 ifclusterRes.num>0
#有聚類簇
10RealState.push(si)
11 returnRealState
算法2首先制定了作業(yè)規(guī)則,然后遍歷狀態(tài)序列,將符合的狀態(tài)加入到真實狀態(tài)中,對該狀態(tài)內的軌跡數據集進行DBSCAN聚類處理,如果存在聚類類簇則將該狀態(tài)加入到真實狀態(tài)中,否則進行下一次狀態(tài)判斷,最后得到軌跡的真實狀態(tài)序列。

軌跡異常是指該軌跡沒有遵守某種預期模式的事件,或者是根據某種相似性準則表現(xiàn)出與其他軌跡相異的行為。在不同的應用中對軌跡異常存在不同的定義。基于港口監(jiān)管人員對內運車作業(yè)長期觀察得到的作業(yè)異常類型,本文將內運車作業(yè)的異常行為定義為:(1)未按標準作業(yè)流程作業(yè);(2)同一指令下的多趟作業(yè)的作業(yè)區(qū)域不同;(3)在非作業(yè)區(qū)域駐留超時或作業(yè)區(qū)域作業(yè)超時;(4)違法關閉作業(yè)終端逃避監(jiān)管。
港口內運車根據作業(yè)指令進行生產作業(yè),在正常的作業(yè)流程中,按照每個指令環(huán)節(jié)執(zhí)行相應操作,從一個工作狀態(tài)遷移到另一個工作狀態(tài),直至作業(yè)流程完結,整個作業(yè)環(huán)節(jié)的狀態(tài)是確定且有限的,該過程符合有限狀態(tài)機(Finite State Machine,FSM)這一數學模型[14]。軌跡的真實狀態(tài)代表了內運車作業(yè)的行駛意圖,可將第一節(jié)中提取到的軌跡真實狀態(tài)序列放入內運車作業(yè)的FSM中檢測其是否異常。然而在內運車作業(yè)過程中,不同的作業(yè)指令存在不同的作業(yè)類型,每個環(huán)節(jié)的作業(yè)時長跟作業(yè)類型、作業(yè)貨物密切相關,同一指令下的多趟作業(yè)的作業(yè)區(qū)域應當相差無幾,且某些停車、加油等狀態(tài)屬于合法狀態(tài),這些因素都影響著內運車軌跡異常檢測的精度。因此為了更好適應各種異常類型,本文在FSM的基礎上對其進行調整,通過制定一些規(guī)則和獲取一些反饋數據,設計了自適應有限狀態(tài)機AFSM來檢測內運車作業(yè)軌跡是否異常。
AFSM在FSM的基礎上自適應地制定了作業(yè)規(guī)則以及結合了該條指令下的反饋數據,將這些因素作為狀態(tài)遷移的前置條件。通過AFSM能夠更加精確地判斷內運車作業(yè)軌跡異常。AFSM由一個七元組M=(S,Σ,R,δ,s0,F,φ)表示。其中:S=(s0,s1,…,sn)是一個非空的有限狀態(tài)集合,在每個確定的時刻,AFSM只能處于一個確定的狀態(tài)si;Σ=(σ1,σ2,…,σn)是一個非空的輸入消息集合,在每個確定的時刻,AFSM只能接收一個確定的輸入σk;R=(r1,r2,…,rn)是狀態(tài)的規(guī)則集合,每個狀態(tài)存在最多一個確定的規(guī)則集rk;δ:S×Σ×R×φ→S是狀態(tài)轉移函數,在某一個狀態(tài)下,給定輸入且滿足前置條件,AFSM將由狀態(tài)轉移函數決定一個新的狀態(tài);s0∈S是初始狀態(tài),AFSM由此開始接收輸入,在內運車作業(yè)過程中,初始狀態(tài)為第一次過磅;F∈S是最終狀態(tài)集合,AFSM在到達終態(tài)后結束,并得到軌跡異常檢測的結果;φ是反饋數據,由同一指令下每趟作業(yè)經過AFSM處理后到達等待狀態(tài)得到的反饋數據。
圖7是AFSM結構,其中:狀態(tài)1為第一次過磅狀態(tài);狀態(tài)2為碼頭或堆場狀態(tài);狀態(tài)3為第二次過磅狀態(tài);狀態(tài)4為目標堆場/碼頭狀態(tài);狀態(tài)5為等待狀態(tài);狀態(tài)6為異常狀態(tài);狀態(tài)7為成功狀態(tài);R為規(guī)則;φ為反饋數據。首先根據內運車作業(yè)指令獲取作業(yè)數據,然后通過作業(yè)數據信息確定有限狀態(tài)S、終止狀態(tài)F,制定狀態(tài)規(guī)則R,確定初始狀態(tài)s0;接著將軌跡真實狀態(tài)序列作為輸入條件Σ,利用規(guī)則R以及軌跡狀態(tài)內的聚類類簇信息自適應設計狀態(tài)轉移函數δ;最后結合每趟作業(yè)狀態(tài)計算反饋數據φ,并作為狀態(tài)5(等待狀態(tài))轉移函數的前置條件,輸出終態(tài)結果,從而檢測出內運車作業(yè)軌跡是否異常。

圖7 AFSM結構
1)作業(yè)規(guī)則。作業(yè)規(guī)則的設計結合了港口領域專家經驗、內運車作業(yè)數據、港口交通實時狀態(tài)等因素,其目的在于判斷內運車作業(yè)軌跡真實狀態(tài)序列中的某些狀態(tài)是否合法,以提高AFSM對軌跡異常檢測的精度。
由于篇幅原因,本文僅列出了AFSM的部分通用規(guī)則,以及作業(yè)指令編號為LXH99201812191328550、作業(yè)貨物為智利粉礦的部分卸貨的非通用規(guī)則,如表1所示。其中:si表示真實狀態(tài);S表示真實狀態(tài)序列集合;Gas(si)表示si處于加油站區(qū)域;Light(si)表示si處于紅綠燈區(qū)域;Canteen(si)表示si處于食堂區(qū)域。Ct(si.t)表示si.t處于就餐時間內;Yard(si)表示si處于堆場作業(yè)區(qū)域;Pier(si)表示si處于碼頭作業(yè)區(qū)域;PGRules(si)表示si處于通用規(guī)則區(qū)域;Traj(si.t)表示獲取si時間段內港口所有軌跡信息;Congestion(Traj(si.t))表示si處于擁堵狀態(tài);Legal(si)表示si為合法狀態(tài)。
2)反饋數據。反饋數據的設計是利用同一指令下的每趟作業(yè)軌跡真實狀態(tài)來確定的,其目的在于校驗內運車在堆場或碼頭執(zhí)行作業(yè)時,內運車作業(yè)的具體位置是否合法,以提高AFSM對軌跡異常檢測的精度。
港口調度人員通過發(fā)布作業(yè)指令調度內運車執(zhí)行作業(yè),在同一條作業(yè)指令下至少存在一趟以上的作業(yè),且對于每趟作業(yè)而言,它的作業(yè)流程完全相同,其對應的具體作業(yè)區(qū)域相近或一致。由于內運車在不同趟數作業(yè)的作業(yè)時長并不一致,采集的軌跡長度基本不相等,因此本文采用動態(tài)時間規(guī)整(Dynamic Time Warping,DTW)[15]的方法來對同一指令下不同趟數在堆場或碼頭的軌跡的真實狀態(tài)進行相似度分析。
基于DTW的反饋數據算法如算法3所示。其步驟如下,首先計算多趟作業(yè)在作業(yè)區(qū)域之間的相似度,并得到相似度矩陣,然后將每趟和其他趟數的相似度值進行累加,并比較不同趟數得到的相似度值,最后將相似度值最小(相似度最大)的那趟作業(yè)區(qū)域定為合法作業(yè)區(qū)域,并將該趟作業(yè)與其他趟作業(yè)的相似度數據作為反饋數據返回。
算法3基于DTW的反饋數據φ的設計
輸入:已抵達AFSM的等待狀態(tài)下的同一指令下的多趟軌跡真實狀態(tài)RS。
輸出:返回合法趟數φ。
1dtw=[]
#相似度矩陣
2 foriin range(len(RS))
3 forjin range(len(RS))
4 ifi==j
#當前趟數作業(yè)的狀態(tài)轉移到5
5dtw.append(0)
6 else
7dtw.append(DTW(RSi,RSj))
#計算作業(yè)區(qū)域的相似度
8min=sum(dtw0)
#計算當前與其他趟數的相似度之和
9 foriin range(len(dtw))
10 ifmin>sum(dtwi)
11min=sum(dtwi)
12idx=i
13φ=dtwidx
14 returnφ
#選擇φ最小的那趟作業(yè)區(qū)域為標準作業(yè)區(qū)域
3)作業(yè)規(guī)則和反饋數據的應用。根據本章開頭定義的內運車作業(yè)軌跡異常類型,下面將舉例分析這些異常類型下作業(yè)規(guī)則和反饋數據在ASFM中的應用。
(1)未按標準作業(yè)流程作業(yè)。內運車首先完成第一次過磅,然后駛入碼頭作業(yè),之后未完成第二次過磅,再次駛入碼頭作業(yè)并完成第二次過磅,最后到達堆場結束作業(yè)。該過程并未按照標準的作業(yè)流程作業(yè),因此此趟作業(yè)存在異常。對應的AFSM會在狀態(tài)2到狀態(tài)3之間經過作業(yè)規(guī)則的判斷后,變遷為異常狀態(tài)。
(2)同一指令下的多趟作業(yè)的作業(yè)區(qū)域不同。在同一指令下,內運車兩趟作業(yè)在堆場的具體作業(yè)區(qū)域不同,因此其中存在異常趟數的作業(yè)。對應的AFSM會在等待狀態(tài)經過反饋數據的判斷后變遷為異常狀態(tài)。
(3)在非作業(yè)區(qū)域駐留超時或作業(yè)區(qū)域作業(yè)超時。內運車完成第一次過磅后駛入碼頭,并在碼頭短暫停留,然而在第二次過磅時,遠超出作業(yè)時長,因此該趟作業(yè)存在異常。對應的AFSM會在狀態(tài)2到狀態(tài)3間,經過規(guī)則的判斷,變遷為異常狀態(tài)。
(4)違法關閉作業(yè)終端逃避監(jiān)管。內運車在經過第一次過磅后便關閉了作業(yè)終端系統(tǒng),導致后續(xù)作業(yè)軌跡無法上報,因此該趟作業(yè)存在異常。對應的AFSM從狀態(tài)1到狀態(tài)2間,經過規(guī)則判斷后變遷為異常狀態(tài)。
本文采用的軌跡數據集是從重慶某港口中獲取的一個月(2018年12月19日00:00:00至2019年01月18日23:59:59)的內運車作業(yè)軌跡數據。利用車載移動終端,以8 s/次的采樣頻率進行數據采集,共采集了1 239條作業(yè)指令、7 547趟作業(yè)、3 415 835個軌跡點。


(a)候選路段數量對比
在基于上下文的軌跡所屬路段判斷算法中,本文結合HMMM算法,不僅考慮了前序軌跡點的概率,同時也結合了后序軌跡點的概率。由于堆場之間的距離相近,且GPS易漂移,極易發(fā)生在A堆場作業(yè)的部分軌跡點漂移到B堆場。圖9展示了兩者在堆場時的提取狀態(tài),(a)是本文算法在該區(qū)域的匹配結果,右側是正確匹配的部分,(b)是HMMM算法在該區(qū)域的匹配結果,右側是錯誤的匹配部分。

圖9 本文算法與HMMM算法局部匹配結果對比
在軌跡真實狀態(tài)提取中,為了對其進行評估,本文將基于DBSCAN的軌跡真實狀態(tài)提取、基于規(guī)則的軌跡真實狀態(tài)提取、基于規(guī)則和DBSCAN的軌跡真實狀態(tài)提取進行實驗對比。圖10是本文隨機選取20趟作業(yè)軌跡數據下的時間結果,可知基于規(guī)則和DBSCAN的軌跡真實狀態(tài)提取算法能夠最大程度有效地提取出內運車作業(yè)軌跡的真實狀態(tài)。

(a)三種方式的真實狀態(tài)提取數量
為了評估AFSM對內運車作業(yè)軌跡異常檢測的有效性,本文從兩個方面進行實驗,一方面基于DTW的反饋數據的計算方式,另一方面是AFSM軌跡異常檢測結果。
本文選取了作業(yè)指令為LXH99201812190253-431的5趟作業(yè)軌跡數據,經DTW相似度計算后,該5趟作業(yè)在D1堆場的相似度的堆積柱形圖如圖11所示,兩個具體作業(yè)區(qū)域的相似度值越高說明其相似度越低。

圖11 不同趟數在D1堆場的軌跡相似度堆積結果
可以看出第一趟作業(yè)在堆場的具體作業(yè)區(qū)域與其他四趟在堆場的具體作業(yè)區(qū)域相似度較低,第四趟作業(yè)的堆積值最低,即第四趟作業(yè)與其他趟數的相似度較高,因此本文選取第四趟作業(yè)的堆場作業(yè)區(qū)域為該指令下的標準具體作業(yè)區(qū)域。對于判斷兩個具體作業(yè)區(qū)域是否為同一作業(yè)區(qū)域,需要度量兩者的相似度大小,本文經過大量的計算,該相似度度量值取值為1 066,即當兩個具體作業(yè)區(qū)域的相似度小于1 066時,即可認為兩個具體作業(yè)區(qū)域為同一作業(yè)區(qū)域。
由于人工計算結果集工作量非常大,因此本節(jié)實驗在數據集中隨機選取了50條(45條卸船指令和5條轉堆指令)、75條(67條卸船指令和8條轉堆指令)、100條(90條卸船指令和10條轉堆指令)、125條(112條卸船指令和13條轉堆指令)作業(yè)指令下的軌跡數據,在經過軌跡真實狀態(tài)的提取后,將其作為AFSM的輸入,將其結果與人工獲取結果集進行對比,最終得到的結果如圖12所示。

(a)不同規(guī)模數據的AFSM檢測結果
不同異常類型在不同作業(yè)指令數量下的異常趟數,如圖13所示,其中:異常1是指未按標準作業(yè)流程作業(yè)的軌跡異常類型;異常2是指同一指令下的多趟作業(yè)的作業(yè)區(qū)域不同的軌跡異常類型;異常3是指在非作業(yè)區(qū)域駐留超時或作業(yè)區(qū)域作業(yè)超時的軌跡異常類型;異常4是指違法關閉作業(yè)終端逃避監(jiān)管的異常類型;誤報異常是指AFSM錯誤識別為異常的情況。可以看出,內河港口內運車作業(yè)過程中,異常4類型出現(xiàn)的情況較多,這是由于部分內運車司機在作業(yè)過程中并沒有長時間地打開作業(yè)終端,僅在需要的時候開啟,用完后就關閉。

圖13 不同異常類型的數據量
為了對內河港口內運車輛在進行貨物中轉的過程中進行有效的監(jiān)管,本文提出一種軌跡真實狀態(tài)序列提取方法,并設計了AFSM對內運車作業(yè)軌跡數據進行異常檢測來判斷內運車作業(yè)是否存在異常意圖。在軌跡真實狀態(tài)序列提取方法中,采用啟發(fā)式半徑閾值降低了路段候選集大小,提高了本文方法的時間效率;
綜合考慮了軌跡的上下文信息,利用軌跡點的觀測概率和候選點間形成的狀態(tài)轉移概率得到了軌跡的所屬路段,并基于規(guī)則和DBSCAN聚類提取軌跡真實狀態(tài)。在AFSM中,結合了港口領域專家經驗、港口交通實時狀態(tài),以及每趟作業(yè)的實際數據制定了相應規(guī)則,并對每趟作業(yè)的作業(yè)區(qū)域進行DTW的相似性分析獲取反饋數據,自適應地調整了FSM。最后,基于重慶某港口提供的真實數據集對軌跡真實狀態(tài)提取方法和AFSM軌跡異常檢測模型進行實驗。實驗表明,本文方法能夠精確地提取內運車作業(yè)的軌跡真實狀態(tài),不僅提取出非作業(yè)環(huán)節(jié)和作業(yè)環(huán)節(jié)的內運車駐留狀態(tài),還能夠有效提取作業(yè)環(huán)節(jié)中的內運車移動狀態(tài),最終在以上方法的基礎上,AFSM對內運車作業(yè)軌跡的異常檢測精度達95%~96%。實驗證明了本文方法適用于該港口的內運車作業(yè)異常檢測。