1. 引言
随着世界经济的发展,水上交通运输承担着越来繁重的任务,与此同时,伴随着人类对海洋的开发和利用,各种渔船、勘探船和水上作业船也日益增多,水上交通活动日益繁忙、复杂。在正常的船舶运输、作业活动之外,存在各种利用船舶进行非法活动的行为,如走私、劫持、海盗、非法移民、非法作业等[1] 。加强水上交通监控和管理,及时发现安全隐患并采取相应措施,既是保障船舶安全航行、港口正常作业生产的迫切需要,也是防止各种水上非法活动、保护海洋环境和维护国家主权的要求。水上交通监控的中心内容是对船舶行为的监控,传统基于人工监控的方法在日益复杂的环境下变得越来越被动 [1] 。随着各种助航仪器、通信设备的使用,大量与船舶航行相关的数据通过这些设备、传感器被收集和存储起来。这为我们利用这些数据获取相关海域的交通信息、船舶航行信息,进行有效的水上交通监控和管理提供了一条新途径。因此,如何从海量的数据中获取有用信息,用于替代或辅助人工对海上船舶行为进行监控,已经成为当前水上交通研究和应用领域所面临的重要问题。
船舶自动识别系统(Automatic Identification System, AIS)是一种集网络技术、现代通讯技术、计算机技术、电子信息显示技术为一体的数字助航系统和设备,它通过自身接口连接船上的GPS定位仪、测深仪、电罗经等采集各种船舶航行动态信息,显示在电子显示屏上为操纵人员提供船舶的实时航行信息;同时也通过系统的发射设备将船舶的静态和动态信息发送到附近的岸上基站或者卫星上,在这个过程中,周围船舶和交管中心均能够收到这种信息。AIS发送的信息包括船舶身份、船舶位置、吃水、航速、船首向、船舶类型、船舶长度、宽度。AIS设备的使用积累了大量的船舶航行数据,为利用数据挖掘技术对正常行为建模,并据此对船舶的异常行为进行检测提供重要的基础数据。基于AIS的船舶异常行为检测就是根据输入的船舶航行信息,对其航行的正常性进行评估和预警。重点需要解决如下几个问题:1) 航迹分割;2) 正常行为建模;3) 异常检测。本文围绕这几个方面进行综述,重点总结近年来基于AIS数据的船舶异常行为检测方面所取得的成果;探索该领域面临的问题和今后的研究方向。第2节讨论异常行为检测的含义和影响因素;第3节讨论船舶异常行为检测的研究内容;第4节讨论基于AIS数据的船舶异常行为检测方法;第5节指出基于AIS数据的船舶异常行为检测方面未来的研究方向。
2. 异常行为检测的概念
“异常”这个词在不同的情况下有不同的含义,根据维基百科的定义,异常指的是我们观测到的事物与人们所期望的、现有准则、现有科学理论所不同的现象 [2] 。对异常数据的检测最早可以追溯到19世纪 [3] 。一般意义上的异常行为指违反社会文明准则或成群体行为习惯和标准的“反常”行为 [4] 。异常行为检测就是对某个特定的行为进行评估,判断其是否符合普遍的行为习惯。Portnoy等人 [5] 给出数据挖掘领域的异常行为定义是“异常行为检测方法是对正常行为进行建模,然后检测观察数据与正常数据建模的差异”。Holst [6] 给出的另一个定义是:异常行为检测是一种将少数不规则的、难以表达的数据与主要数据区分开来的方法,这种方法是通过对大多数数据进行研究和刻画,从而使得这些少数数据与主要数据在某种模式上表现出差异。从这些定义可以看出,为了检测、判断异常行为,我们必须首先知道什么是正常行为,然后才可以根据正常行为的标准来检测异常行为。异常行为检测目前已经成为机器学习领域的一个热门研究内容,在很多领域有着广泛的应用,例如,商业领域,异常行为检测可以用来预防商业诈骗;在工业领域,异常行为检测可以用于对故障进行监控;在网路安全方面,异常行为检测可以用来对非法的入侵进行检测;在视频监控领域,异常行为检测是根据视频信息,找出其中的人、物不合乎常规的运动。
在水上交通管理方面,船舶是航海领域的行为主体,船舶异常行为是指船舶非正常偏离航道、航向,突然加速、减速,出现在不该进入的区域等,这些行为往往与走私、醉驾、碰撞、劫持、海盗、恐怖主义等相关 [7] 。Roy认为海上异常检测的任务是找出航海领域的非正常行为并评估其潜在的威胁 [8] 。我们认为船舶异常行为检测就是根据输入的船舶运动相关数据对船舶的航速、航向、航迹进行分析,判断该船的运动是否符合正常的航行活动规律,进而对船舶自身的安全,或者是否存在非法活动嫌疑进行识别,并对可能发生的危险进行评估和预警。
3. 船舶异常行为的分类
船舶的异常行为与船舶经过的航迹和船舶所处的位置密切相关,船舶经过的航迹不符合该类型船舶正常的运动规律,或者船舶在特定的时间处于不合适的位置,都可以被看作异常,应该引起监控部门的注意和重视。Martineau和Roy [8] 将船舶异常行为分为运动异常和所处位置异常量大类,而运动异常包括航速异常和航迹异常两类,而位置异常被分为偏离历史航迹、出现在非法位置和其他一些不该出现的位置,他们将船舶的异常行为分为如下16类(图1)。

Figure 1. The classification of abnormal behavior of the vessel
图1. 船舶异常行为分类
4. 船舶异常行为检测的方法
基于AIS数据的检测方法是随着海事领域数据大量积累而发展起来的一类方法,这类方法采用机器学习理论和数据挖掘技术,直接从数据中学习船舶行为知识,并根据学到的知识对船舶未来的航迹进行预测和监控。基于数据的方法包括航迹分割、正常行为建模和异常行为检测三个基本环节。
4.1. 航迹分割及相似性度量
由上面的讨论可知,船舶行为异常可能是由于它出现的位置不合适,也可能是由于它的运动不符合常规。但是不论那种异常,都是与船舶的航行轨迹相关的,因此,检测船舶的异常行为必须从其航迹入手。理论上,船舶的航迹是一个连续的过程,这种连续的数据不适合与计算机处理,因此航迹必须被离散化。事实上,船舶的AIS系统不是连续地发送数据,而是每隔一段时间发送一次数据,我们能够处理的AIS数据是离散的时间序列,即是由一个个的点构成。研究船舶运动轨迹有两种思路:1) 以航迹点的观点来分析 [9] - [11] ;2) 以航迹片段的观点来分析 [12] [13] 。
第一种方法以船舶出现的位置以及在该位置的速度、航向等为特征来刻画船舶的行为,首先用网格化的方法将海区分片 [6] ,然后用相应的方法对每片海区的船舶运动规律进行建模 [10] ,对于一艘进入相应海区的船舶,利用已建好的模型来判断船舶的行为是否合适。Laxhammar [14] 将研究的海域分成1200块,对于每一块海域,如果其中出现的船舶数量小于100,则认为进入该区域的船舶是异常的,没有必要进一步对该区域的船舶行为进行建模,否则,则对该块的船舶行为进行建模,然后用奇异点检测技术来监控船舶的异常行为 [9] 。朱飞祥 [15] 基于AIS数据将大连港水域划分成大小为0.02˚ × 0.02˚的多个网络,然后用关联规则挖掘船舶的行为模式。这类方法有两个缺点:一是没有考虑船舶的运动过程,即没有考虑相邻点之间的关系,也没有考虑时间与位置之间的关系 [14] 。二是将网格内的所有航迹看作一个整体来分析,只能得到概括性的信息,丢失了航迹的局部信息,不利于检测局部航迹的异常情况。
为了更好的刻画船舶运动行为,大量的研究集中在对航迹分片的方法上。在众多的移动物体轨迹分割技术中,分片线性分割(Piecewise Linear Segmentation, PLS) [13] 是应用最广的一种,Vries [12] 等人利用分片线性分割技术对航迹进行分割,取得较好的效果。Guillarme [1] 是用滑动窗口技术对航迹进行分割,这种滑动窗口的机制能够处理在线数据,更加适合于随时间而变化的船舶航迹。华裔科学家韩家炜教授的研究团队根据最小描述长度原理分割航迹 [16] [17] ,先找出特征点,然后根据特征点依次对路径进行分割,在确定特征点时,他们遵循两个标准:1) 简单性:所用的特征点越少越好2) 一致性:与原来的路径尽可能地接近。为了提高系统的性能,文献 [1] 和 [12] 在航迹的划分过程中采取了分步的策略,首先将航迹分为静止和移动两部分,静止部分包含所有瞬时速度小于给定阈值的点,不需要仅有一步分割,而移动部分包含瞬时速度大于给定阈值的点,对移动部分的航迹,进一步分割。
由于船舶运动是一个复杂的过程,分割后的航迹片段存在多种类型,比如直航、弱偏航、大偏航、刹车、加速和停止等 [14] ,为了将不同类型的航迹片段区分开来,以便后面对正常航迹进行建模,需要对分割后的航迹片段进行聚类,将相似的航迹片段分到同一个类中,使得同一类航迹相似度高,而不同类的航迹相似度低。目前用于船舶航迹聚类的方法有模糊c-均值聚类 [18] ,层次聚类 [19] ,谱聚类 [20] [21] ,在线自适应聚类 [22] ,自组织映射 [23] 和基于密度的聚类方法 [17] 。在聚类过程中需要计算样本点之间的距离(或者相似度),用来表示航迹片段之间距离的度量有基于序列比对的相似度 [1] [12] 、hausdorff距离 [7] [24] 和最小描述长度 [17] 。其中基于比对方法的相似度有最长公共子序列、动态时间缠绕(DTW) [1] [12] 和基于序列之间编辑距离的方法 [25] 。另外,Lee等人 [16] [17] 在他们的分析框架中提出了三种航迹相似性度量:垂直距离、平行距离和角度距离。
4.2. 正常行为建模
在船舶异常行为检测中,为了判断一个行为是否异常,我们首先必须知道什么是正常的行为。在基于AIS数据的异常行为检测中,我们通常拥有船舶正常航行的航迹数据,经过前面所讲的分割过程之后,船舶的航行轨迹被进一步划分成不同的片区或者片段,如何从这些航迹数据中得到船舶正常航行的行为规律,是船舶异常行为检测的核心问题,大量的研究工作都是围绕这个问题展开的。一般来说,船舶正常行为的建模包括如下几类:1) 基于统计的方法;2) 基于贝叶斯网络的方法;3) 基于神经网络的方法。
1) 基于统计的方法:
基于统计的方法假设船舶的局部航行规律服从某种概率分布,最基本的建模方法是高斯模型和核密度估计方法。高斯模型假设船舶的运动特征服从高斯分布,利用数据学习出高斯分布的参数,从而得到船舶运动的规律;核密度估计方法是一种无参估计技术,一般采用Parzen窗 [26] [27] 技术来估计船舶运动的分布规律。由于船舶运动是一个受多种因素的复杂过程,用一个分布函数很难有效刻画船舶的运动规律,一些学者提出用多个概率分布来对船舶航迹数据进行建模,最常见的是高斯混合模型(GMM) [14]
[28] ,这种模型用
表示第
个高斯分布的参数,其中
表示第
个高斯分量的均值向量,
表示相应的协方差矩阵,则高斯混合模型可以表示为
,
表示第
个高斯分量
的权重。求解高斯混合模型的基本方法是EM算法,在EM算法中,必须事先给定高斯分量的个数,然而,确定高斯分量的个数是一个困难的问题,数量太少则难以有效刻画样本的分布,数量太大则容易出现过拟合现象,而且增加计算的复杂度。Laxhammar [14] [26] 提出了一种分量个数可变的高斯混合模型,并greedy算法来求解该模型;为了适应航迹数据动态变化的情况,一些学者提出了基于高斯过程的建模方法(GPs) [2] [29] [30] ,高斯过程为我们提供了一种灵活的、鲁棒的船舶航迹建模方法,然而,高斯过程的时间复杂性为
,面对海量的航迹数据,高斯过程的可行性是研究人员面临的难题。为此,一些研究团队提出了相应的解决方案,Will等人 [30] 提出了一种基于高斯过程的模型,并用Kd-树的启发式近似算法来提高模型的训练速度和降低预测时间。Smith [2] 则是用cholesky分解方法对协方差矩阵进行分解以将算法的复杂度降低为
。Kowalska [29] 采用增量学习方法来适应航迹数据不断变化的情况,这种方法同时也可以降低算法的复杂度。最近Laxhammar在他的博士论文中 [31] 提出了一种基于一致性预测技术的船舶运动规律建模方法,该方法采用增量学习策略,不仅能够适合不断变化的船舶航迹数据,而且能够解决航迹数据缺失的问题。
从统计学角度来看,发生异常行为的船舶航迹数据经常是一些处于边缘状态的数据,这些边缘数据往往落在正常分布(比如高斯分布)的尾部,因此有的学者利用极值理论 [32] 来研究船舶的异常行为。Smith [2] 提出了一种将高斯过程和极值理论相结合的框架,而Lee [33] 则提出了将卡尔曼滤波器和极值理论相结合的方法,他们Gumbel分布对船舶航迹参数的最大值分布进行建模,这两种方法根据航迹数据的变化不断调整样本集,能够较好地适应航迹的时变性质。
2) 基于贝叶斯网络的方法:
贝叶斯网络 [34] 是一种概率图模型,以有向无环图的形式来表示研究对象之间的关系,图中的节点表示研究对象,连接节点之间的边表示研究对象之间的关系,边的权重表示父子节点之间的概率依赖关系。贝叶斯网络是一种推理模型,它通过条件概率来度量事件发生的可能性,已经被广泛应用于异常行为检测 [35] - [38] 。在船舶异常行为检测方面,Johansson和Falkman [39] 采用约束的PC算法从模拟数据中学习贝叶斯网络的结构,并用这种模型成功地检测出部分异常航迹。随后,Helldin [40] 用贝叶斯网络从AIS数据中检测船舶的异常行为,然而,他们仅利用了贝叶斯网络的推理机制,而没有从AIS数据中学习网络的结构。Steven等人 [41] [42] 在这方面做了较为深入的研究,分别从航迹点和整个航迹的角度来分析船舶的航行规律 [41] ,他们基于AIS数据构造静态和动态贝叶斯网络 [42] 。贝叶斯网络的优点在于它容易被非专业人员理解,能够处理数据缺失的问题,也可以将专家的知识嵌入到模型中。尽管如此,由于这类方法需要确定网络中所有节点和边的先验概率,如何在海量数据的基础上有效地构建贝叶斯网络模型,仍然是一个需要深入研究的问题。
3) 基于神经网络的方法:
人工神经网络是一种重要的机器学习方法,它是一种应用类似于大脑神经突触联接结构进行信息处理的数学模型。由于神经网络具有良好的非线性学习能力,在很多方面得到成功的应用。Rhodes [43] 基于Grossberg的自适应共振理论构建模糊神经网络研究位置与航速之间的关系,并将学习的结果用于检测船舶的异常行为。Bomberger等人 [43] 提出了一种基于关联神经网络的非监督增量学习算法,利用船舶当前的位置、速度和航行信息预测它未来的位置,一旦船舶实际出现的位置与预测的位置不一致,就认为是异常的。由于这种算法中的位置信息是用分割好的网格来刻画的,其预测效果受到网格分辨率的影响。Rhodes [44] 采用多尺度的方法来提高分析和预测效果。
除此之外,其他一些机器学习方法也逐渐被用到船舶异常行为检测的研究中,如邱洪生 [45] 将卡尔曼滤波技术用于预测船舶的未来行为。朱飞祥 [15] 运用关联规则算法挖掘包含时空维度的船舶多属性行为模式,并将获取的知识运用到船舶航行位置预测、船舶异常行为检测及海上交通流模拟等研究领域。
4.3. 异常行为检测
船舶航迹数据经过分割和建模之后,正常的航行行为以聚类、概率分布、贝叶斯网络等形式表示。根据这些知识,我们就可以对一个给定的航迹数据进行评估和判断,并确定船舶行为是否异常。目前采用的方法主要有三类:基于样本密度的方法 [14] 、基于概率的方法 [2] [29] [30] 和基于距离的方法 [46] 。
基于密度的方法是根据航迹数据所在海区中以往时候船舶出现的密度来判断,如果该区域的通航密度大于给定的阈值,则表示该船舶进入该区域是正常的、合法的,否则认为船舶的行为是异常的。这类方法建立在对海区进行网格划分的基础上,Laxhammar [14] 在早期的研究工作中就使用过这种方法,他将每个网格中船舶数量临界值设定为100。基于密度的方法简单、方便,能够快速地检测非法进入行为。
基于概率的方法是以航迹出现的概率来对船舶航迹数据进行检测,其基本思想是船舶航迹出现的概率越大表示该船的行为与大多数船舶的行为相同,越可能是正常的,否则,概率越小表示船舶行为越可能是异常的。这类方法根据已经学习到的船舶运动概率模型,计算给定航迹数据出现的概率,如果概率值大于给定阈值,表明当时船舶的行为符合正常船舶的行为,否则认为是异常的。这类方法主要用于对船舶行为已经建立统计模型的情况,目前在船舶异常行为检测领域得到广泛应用。一般认为落在3~5倍标准差之外的样本是异常的 [47] 。
基于距离的方法建立在样本之间的距离度量的基础上 [7] [18] [19] [24] [48] ,主要用于对样本进行聚类的场合,通过计算某个航迹数据到正常样本所代表的聚类之间的距离,如果这个距离小于给定阈值,则认为该航迹是正常航迹,否则认为是异常航迹。
5. 结论与研究展望
在过去的十来年里,研究人员对船舶的异常行为进行了大量的探索,取得了一些重要的进步,主要表现在如下几个方面:1) 数据越来越丰富。越来越多船舶安装AIS系统,加上卫星AIS系统的使用,使得我们能够获得越来越多的船舶航行历史数据,可以对各种船舶的航行规律做深入的分析和建模;2) 研究方法越来越高级。从简单的网格划分到聚类方法的使用,再到贝叶斯网络的建模,不断地加深对船舶运动规律的了解和认识;3) 一些检测系统原型已经建立。越来越多的研究团队将他们的算法转化为系统原型,这使得理论研究逐渐接近实际应用。
尽管船舶异常行为检测在数据积累、研究方法、原型系统开发方面已经取得了一些进展,这方面的研究仍然存在一些挑战:1) 大数据的挑战。随着越来越多的AIS系统被安装在各种船舶上,船舶行为数据越来越多,如何从海量的数据中挖掘各种船舶的运动规律将是这一领域研究人员不得不面对的问题;2) 数据的不可靠性。船舶航行相关数据的积累越来越多,但是非法船只可能发送虚假数据,甚至停止发送AIS数据,这将给异常行为识别带来很大的困难;3) 数据建模和异常检测中存在主观性。在数据分析中聚类的个数和混合高斯模型中高斯分量的数量是人为给定的,尤其是我们通常只能得到正常行为的数据,在缺乏异常行为数据的情况下确定异常行为与正常行为之间差异的临界值是一种困难的事情。4) 没有考虑船舶航行的环境因素。目前大多数研究仅利用了船舶的位置、速度和航迹等船舶自身信息,而没有考虑天气、潮汐等具体环境因素,缺乏对船舶异常行为的成因做深入研究。
未来船舶异常行为检测的研究应该重点解决如下几个问题:1) 研究船舶运动的动态行为。船舶本身的运动是一个动态行为,其运动的规律将随着时间和地点的变化而变化,因此船舶运动建模应该建立在变化的数据上,而不能仅仅停留在历史数据上;2) 研究船舶运动过程中航向的变化规律。船舶的总体航向是指向既定的目的地,然而在到达目的地之前,其航向随时根据船舶所处的具体环境而改变的。将船舶航向的变化规律与航道、船舶航速等信息结合起来,将有利于检测异常行为;3) 要充分考虑情景因素。由于相同的航行运动,在某些情境下是异常的,而在另一些情境下是正常的,因此需要将船舶的运动行为置于具体的环境下,包括船舶所处的海域、周围船舶和天气、潮汐和时间等。4) 考虑船东、货物、港口、乘客、船员的因素。一些非法船只的行为光从航迹来看,很难跟正常船只的行为区分开来,但是我们可以从这些因素入手,进行一定程度的甄别。
基金项目
国家自然科学基金资助(No. 60675016, 60633030);广东省交通运输厅科技项目(No. 2012-02-045)。广东省普通高校特色创新项目(A510602),广州航海学院特色创新项目(B510620)。