唐 皇,尹 勇,神和龙
(大连海事大学 航海动态仿真和控制实验室,辽宁 大连,116026)
我国虽是世界航运大国,但在航运安全生产、管理诸多方面仍然有很多难题,特别是还未完全掌握船舶避碰规律,还难以稳定控制船舶安全航行,每年因船舶碰撞所造成直接经济损失居高不下。海上船只逐渐增加,船舶交通管理(vessel traffic service, VTS)中心的工作量也不断增大。通过计算机设计的异常检测系统能将VTS操作员从繁杂的工作中解脱出来,从事更高层次的管理工作。人的推理能力要远远高于机器,但机器稳定性更好,若能做到人机协同工作,不仅能提高工作效率,同时还能弥补因人员失误造成的监管漏洞。
海上交通特征规律蕴含于海量的船舶自动识别系统(automatic identification system, AIS)历史数据中。从海上交通工程的角度研究船舶行为模式,利用数据挖掘技术对AIS进行分析,所挖掘的船舶行为知识可运用到船舶航行位置预测、船舶异常行为检测以及海上交通流模拟等研究领域,为港口主管部门的通航环境管理等提供理论依据。
笔者主要对历年来利用AIS数据进行海上船舶航行轨迹的相关研究进行分析,通过对AIS历史数据分析,可提取出船舶在海上航行的异常行为,通过分析海上交通特征的规律,对相关机关制定管理措施、发展规划、航道设计、航标设置、定线制设计等都具有指导意义;同时,对于研究通航安全,相关船舶进行安全预警等方面也都有重要意义。
海船异常行为包括船舶的航行异常和行为异常。航行异常指的是船舶是否正常航行,是否出现航速过快、过慢、偏离航道等现象;行为异常指的是船舶是否出现偷渡、非法作业、威胁环境安全等。
船舶异常行为与船舶经过航迹和船舶所处位置密切相关,船舶经过航迹不符合该类型船舶正常运动规律,或船舶在特定时间处于不合适位置,都可被认为异常[1]。
P.R.LEI[2]将异常定义为3种形式:空间位置异常、序列异常、行为异常(图1)。
图1 位置异常、序列异常及行为异常示意Fig. 1 Spatial, sequential and behavioral features
显然文献[2]只将船舶异常行为简单地分为3类是不合理的。文献[3]结合船舶航行过程中的物理意义,将船舶异常行为分为16类(图2)。
图2 船舶异常行为分类Fig. 2 Classification of vessel abnormal behavior
笔者在此分类基础上对船舶行为异常产生原因作简要说明:① 运动异常:引起船舶运动异常原因有很多,例如:为提高效率,船舶进港后迟迟不采取减速行为;有些船舶为缩短航程,不按照通航规则行驶等。② 位置异常:造成船舶位置异常原因可能是该船舶为工程船,当前正处于工作状态;也可能是某些涉嫌走私船舶为躲避海关稽查而随意航行。无论异常行为产生原因是什么,该行为对港口通航安全都对存在着重大隐患。
在相似性度量方面,国内外已有学者做了相关研究,研究方向主要集中在度量准确性及计算效率方面。距离度量和相似性度量从单个距离度量方法向复合度量方法发展,常见的度量方式如下:Hausdorff距离[4-8]、Euclidean距离[9-10]、最小外包矩形距离[11-12]、最长公共序列[7]、主成分分析[13]、动态时间规整[10]、隐马尔科夫模型[14]、编辑距离[15]等。
基于欧氏距离轨迹差异度量是根据轨迹流矢量之间的一一对应关系计算得到的。对流矢量的时序变化非常敏感,容易受跟踪噪声影响;基于Hausdorff距离的方法仅通过2个特定点之间距离来反映这2条轨迹之间差异,没有充分考虑其他轨迹点信息和轨迹之间的结构关系;基于最长公共子序列轨迹分布模式在提取时,时、空误差阈值参数确定较困难,没有有效选择依据可供参考,且这些阈值均为固定常数,缺乏自适应性;编辑距离作为一种常用的度量符号序列之间差异的有效方法,不仅可计算长度不同的2个符号序列之间距离,也不需要在它们之间建立逐点对应关系,同时还能较好反映符号序列之间的结构性差别[16]。
ZHANG Zhang等[17]对各距离度量方式进行了比较,其中包括:Hausdorff距离、Euclidean距离、PCA(principle components analysis)+Euclidean距离、HMM(hidden Markov model)方法、DTW(dynamic time warping)和LCSS(longest common subsequence)方法,结果表明:在轨迹间相似度度量方面,PCA+ Euclidean距离方法相对于其它几种方法具有更好的实验效果。LEE Jae-Gil等[18]提出了一种轨迹间距离的度量方式,即度量轨迹间垂直距离、平行距离、角度距离。袁冠等[19]提出了基于结构相似度的轨迹聚类算法,该算法中轨迹结构包含目标的速度、形状、位置、转角、速度等。
轨迹异常检测的目的主要是通过借用计算机手段,将目标数据中隐含的异常情况检测出来,从而为有关部门提供决策依据。然而目前要想获得船舶轨迹异常的数据相当困难,因此大多数研究人员都将船舶历史数据作为正常数据来分析,从而对历史数据中隐藏规律进行建模,并将不符合模型分布的目标数据视为异常。异常检测的方法通常分为两个部分,分别为模型建立和使用建立好的模型进行异常检测。使用历史数据建立模型是模式识别的一部分,可以是目标驱动,也可以是数据驱动。一个模型可以为事件序列、统计分布或元素聚类。将目标数据代入模型中进行检测,判断其正常或者异常。不随数据变化的模型称为静态模型,反之称为动态模型。模型建立方法有很多,主要根据数据类型、性能要求、异常的性质来选择建模方法。常见的异常检测方法有:基于聚类分析的异常检测、基于统计分析方法、基于神经网络建模方法、船舶行为预测等方法。
船舶轨迹聚类目的是根据最大化类内相似性、最小化类间相似性原则,找出具有相似船舶运动演化方式的轨迹簇;再分别针对每个簇建立模型,从而对目标数据进行异常检测[46,47]。
在轨迹挖掘和轨迹异常检测中,使用较多的是基于密度的聚类算法[20-29],该算法的好处是不需要提前指定聚类类别个数,且可以聚类任意形状的簇,该算法不足之处是需要事先指定聚类半径和类别阈值。A.DAHLBOM等[30]采用基于样条的聚类方式对船舶轨迹进行了聚类分析;G.PALLOTTA等[31]采用无监督增量学习方式,对航线进行聚类及可视化,再进行统计分析,最后建立模型进行异常检测。
现阶段还有一种用的比较多的聚类方法叫谱聚类[4-6,15,32],该算法起源于图理论,它能在任意形状样本空间上聚类,且收敛于全局最优。
还有一种方法是通过网格划分将海域分块,然后将船舶位置点映射到相应海域块,并寻找频繁区域,采用相应算法对频繁区域进行聚类。P.R.LEI[2]建立了MT模型,采用网格划分寻找频繁区域,将船舶轨迹转换为用网格区域表示的轨迹,但该算法存在两个问题:① 网格划分的粒度关系到频繁区域确定,故怎样确定网格粒度需要实验尝试;② 模型仅采用船舶位置出现的次数来确定频繁区域,忽略了船型及船舶种类等静态信息。
基于统计分析的方法通常是先获取船舶航行轨迹概率分布并建立统计模型,再根据模型进行异常检测及行为预测。
统计分析包括参数化技术和非参数化技术,采用参数化技术,若数据对应于特定统计模型,则可快速、无监督地检测到异常,但此方法需要对参数进行优化估计。M.RIVEIRO等[33]提出了运用高斯混合模型(GMM)和以自组织映射神经网络实现的聚类算法(SOM)来挖掘AIS数据中船舶运动信息异常点。R.LAXHAMMAR[34]使用船舶位置、航速、航向建立无监督聚类模型,其中GMM作为聚类模型,聚类算法采用最大期望中的贪心算法。
使用非参数技术不会对数据底层分布做出假设。B.RISTIC等[35]利用AIS数据,基于统计学原理提取出船舶运动模式,并在KDE框架下进行异常检测。熊勇等[36]运用多核函数非参数估计方法,估计船舶正常运动模式的概率密度函数,根据假设检验方法,设定船舶异常运动判断标准,导入AIS实时监测数据检测设定航线出现异常运动的渡轮。该法仅适用于固定航线渡轮,对于可变航线船舶自动监测则有待深入研究。非参数估计虽然需要通过挖掘更大数据量来建立模型,但这种方法对自动化异常检测是有效的。
统计分析对异常值为极值的检测非常有效。例如船速异常检测,当船速大于或小于阈值时就认为是异常。但当异常值均匀分布时,异常和非异常之间的阈值就很难确定,从而导致异常检测具有较大误差。R.LAXHAMMAR[34]对GMM和KDE方法进行了评估,认为这两种方法没有显著差别,并且都是次优的,因此讨论了另一种融入了更多信息和背景知识的聚类方法,所提出的特征模型主要包括目标瞬时运动状态特征,例如位置、航向、速度、加速度和角速度。
基于神经网络的异常检测算法,主要是通过建立神经网络模型,再利用历史数据对网络进行训练[45];将目标数据输入神经网络模型中,通过网络输出判断该数据是否异常。神经网络最大缺点之一是该过程非常模糊,通常被称为黑盒子。并且输入和输出神经元之间处理是不可理解的,不能为操作者提供解释或相关理由。另外,神经网络容易出现过拟合现象,若网络在学习阶段针对性过于严格,则类别边界附近数据分类准确度可能会下降。N.A.BOMBERGER等[37]用神经网络学习船舶正常行为,从而进行异常检测和船位预测,该方法在不同海区效果不同,算法通用性有待进一步研究。B.J.RHODES等[38-39]采用无监督聚类方法获得港口船舶位置及速度分布,然后采用监督学习方法进行学习,具体学习方法为改进的模糊神经网络,此过程属于事件层面学习。
另一种用于异常检测方法是基于预测的方法。通过相应算法建立预测模型,对船舶行为进行预测,将观测值与预测值进行比较,若观测值与预测值差别较大,则认为出现异常。R.LAXHAMMAR等[40-43]提出了一种基于保形预测的异常检测算法(SNN-CAD),并采用Hausdorff距离度量轨迹相似性,保形预测产生预测集,若观测数据不在预测集中,则判定为异常。甄荣等[44]针对船舶航行行为多维度特点,提出结合AIS信息和BP神经网络的船舶行为预测方法。
基于预测的异常检测算法可提前预判船舶在未来某一时刻的行为是否出现异常,故对海上智能监管及危险预测具有重要意义。
笔者小结了海船行为异常检测方面常用的几种方法。先后介绍了利用聚类分析找出船舶正常航行的行为模式和基于网格划分方法寻找频繁区域,采用统计分析方法获取船舶航行轨迹概率分布并建立统计模型,利用模型对目标数据进行异常检测。现阶段,各方法都取得了一定进展,同时有学者也将人工免疫和遗传等仿生算法引入异常检测领域中。但现阶段取得的这些算法和进展也存在一定缺陷,例如:大部分算法都是采用离线方式对船舶轨迹进行检测,实时性方面还需进一步提高;且忽略了船舶非时空信息,仅采用时空维度对船舶行为进行研究,非时空信息包括船舶静态信息,例如船舶的类型、排水量、载货种类等。
笔者在利用前文所述方法获得异常检测结果后,还需对检测结果做出合理解释。这就涉及到怎样融入海上情景意识及相关语义分析。例如:一艘航行中的船舶,假如其速度与当前航向上的大多数船舶平均速度相同,则检测系统就会认为其行为是正常行为,然而对于该船本身而言,其速度已经超出自身的正常航行速度;再者,一艘停泊在航道中的工程船,检测系统会根据它的位置判定其为异常船舶,但事实上该船属于正常作业。因此,情景意识与行为语义分析再异常检测中也极为重要。
为提升轨迹数据解释能力、及时展示并反馈轨迹异常检测结果,可根据具体应用需要选择合适的可视化交互分析技术。一方面可借助人机交互技术,提供参数/阈值设置和检测方法选择等功能界面,引导用户逐步进行轨迹数据分析,参与具体的异常检测交互式分析过程;另一方面,借助于图表、动画等形式清晰地展示异常检测结果,帮助用户理解轨迹异常检测结果由来。基于此,可结合相关情景数据对所识别轨迹异常进行语义分析,发现异常之间语义联系和异常产生缘由,从而识别其隐含的异常事件。对于语义分析结果,可使用特定的颜色、不同层次亮度凸显异常及异常之间的联系,有助于判定异常发展趋势及影响范围,辅助决策者尽早制定异常控制策略[16]。
虽然国内外船舶轨迹分析的相关研究在相似性度量和可视化分析等方面取得了令人鼓舞的进展,但毕竟刚起步不久,其研究比较薄弱,主要体现如下[16,42-43]。
1)目前研究主要侧重于二维空间平面,忽略了纵向维度即航道水深对船舶行为约束,且没有考虑环境因素对船舶行为影响。而环境因素(如潮汐、气象等)又具有时变性,为相关研究增加了难度。
2)基于历史数据建立的模型不能有效融合新增加数据。由于船舶行为数据具有时变性,因此相关模型不能处理船舶行为异常的演化问题。故异常检测方法不仅需要设置阈值关注检测某时刻的异常轨迹,还要结合新到轨迹的异常影响因子和轨迹的历史异常分值计算获得轨迹进化异常分值,进而检测一段时间内的进化轨迹异常,以有效降低噪声数据对轨迹异常检测结果影响。
3)现阶段大多数模型都是基于历史数据挖掘船舶相关行为模式并建立模型。假设已有一条航迹将目标数据导入模型中获得检测结果,该方法在实时性方面还有待研究,且也不满足海上关于实时预警技术方面的相关要求,在异常行为预测方面还有待进一步提高。
4)异常检测结果语义分析方面也有所欠缺。大部分异常检测方法都只针对某一类异常,而忽视了异常行为之间的联系,以及异常产生的原因。可将关联规则和专家系统等方法与数据挖掘方法结合起来,进一步对异常进行语义分析。
在未来的研究中,应主要针对海船轨迹异常检测在实时性、在线检测、轨迹异常演化分析、海上情景意识及异常语义分析、轨迹可视化等方面展开。
对异常检测实时性、在线检测和异常演化问题,应主要考虑融合最新获取的数据,建立增量学习的异常检测系统,对目标进行实时异常检测和行为预测。
海上情景意识和语义分析也是一个非常重要的课题,需探索各行为异常之间的联系,并结合海上具体情景进行分析,对异常产生给出合理解释,并持续关注异常的发展趋势。
轨迹异常检测可视化交互分析可通过图表、动画等形式直观地描述轨迹数据及异常检测结果。同时辅以各类交互机制,帮助人们发现轨迹蕴含的移动趋势,了解轨迹数据不确定性及内在错误,实现轨迹数据的异常检测。
基于海上船舶航行的特殊性,以及轨迹数据本身的不确定性、时变性和稀疏性,使得现有异常检测算法无法更好适应轨迹大数据挖掘在实时性、准确性和鲁棒性等方面的要求。
笔者在海上航行相关背景下,梳理和分析了现有海船异常行为检测的研究和相关技术,分别对轨迹相似性度量、异常检测算法类别、海上情景意识和语义分析等方面进行了介绍。并整理分析了现阶段海船行为异常检测面临的挑战及未来研究方向。
尽管经过多年研究,海船异常检测领域取得了一定突破和进展,但仍然存在局限性,急需设计鲁棒性更强、功能更实用的海船行为异常检测系统。