数据驱动的大型船舶靠泊行为监控设计

2022-09-27 02:22
系统仿真技术 2022年2期
关键词:码头轨迹服务器

贺 泷

(中国地质大学(武汉)海洋学院, 湖北武汉 430074)

大型船舶靠泊是海上交通运输中的一个重要环节, 一旦发生事故, 容易造成人员伤亡、港口设施损坏、船舶和货物受损的严重后果。这些事故的发生会损害航运公司和港口公司的声誉, 从而导致业务量下降。更严重的还会使船舶运输的货物散落或燃油泄漏, 从而污染海洋环境。所以, 大型船舶在靠泊过程中发生事故造成的损失巨大, 各国港口管理当局为了减少船舶在港区发生事故, 对船舶靠泊安全都非常重视(Debnath et al., 2011)。近年来, 为了适应全球航运市场激烈竞争的环境, 各航运和港口公司加快了码头的物流运作, 导致停泊作业仓促进行, 使船舶发生事故的风险增加(Hsu, 2012)。船舶发生的事故中, 碰撞事故所占比例最高(Debnath and Chin, 2010;Hsu, 2012)。碰撞事故大多发生在船舶靠泊过程中(Wen-Kai, 2015)。因此, 为了减少船舶事故, 船舶靠泊安全的问题必须考虑。

为了保障船舶靠泊安全, 各文献从不同角度对保障船舶安全靠泊进行研究。如陈航(2005)、蔡长泗(2005)和闫晓飞(2016)介绍了使用激光技术, 彭国均等(2012)使用两点定位差分全球定位系统(DGPS)、船舶自动识别系统(AIS)和无线网络通信技术(Wi-Fi)设计辅助靠泊仪。以上这些技术主要是为了精确提供船舶在泊位附近的动态, 对船舶靠泊措施是否正确没有给出决策判断[1]。为此, 一些文献使用数据统计的方法统计船舶靠泊速度的分布情况, 如肖潇(2014)和黄泽洋(2016)使用最小二乘法拟合船舶航速与码头距离之间的关系曲线, 说明船舶在靠泊过程中航速的分布规律。Roubos(2017)对鹿特丹港各种船型靠泊速度在不同泊位和操纵条件下进行测量, 得出靠泊速度与船舶尺度、装载状态、海洋结构类型、防撞系统、港口遮蔽情况、靠泊方案之间的关系[2]。近年来, 随着人们对航运安全的重视和自动控制技术的发展, 为了避免由于人为因素的失误而导致船舶靠泊时碰撞码头事故的发生, 一些文献在自动靠泊上进行了研究并取得了一些成果。如Ahmed(2013)、Tran(2013)和Im(2018)使用教学数据对人工神经网络进行训练, Mizuno(2012)使用非线性的动态模型(MMG模型)和图像处理单元(GPU), Zhang(2017)使用MMG模型和比例-积分-微分控制器(PID)实现船舶自动靠泊。这些研究大多都是基于仿真数据或者固定模型控制船舶靠泊行为, 没有考虑各码头的环境差异对船舶靠泊行为的影响[3-4]。船舶在实际靠泊中, 由于各码头的环境条件差异较大, 需要根据码头环境条件配置船舶靠泊行为智能监控设备, 帮助船舶操纵人员和码头管理人员监视船舶靠泊行为是否正常, 并根据实际情况及时给出预警。而如何构建各船型在不同环境条件下停靠不同码头的靠泊行为模型, 并对新的靠泊行为进行判断是配置船舶靠泊行为智能监控设备和指导船舶自动靠泊的基础环节。为此, 本文设计了一种基于局部异常因子(LOF), 使用船舶历史轨迹和对应的风、流和潮汐数据建立船舶靠泊行为模型, 并对异常靠泊行为给出预警的系统设计。

1 靠泊行为监控系统框架

由于船舶行为分析需要处理大量的船舶轨迹数据和环境数据, 为了提高船舶靠泊行为监控系统的数据处理效率, 系统需要采用模块化的设计架构, 系统架构如图1所示, 各功能模块如表1所示。

图1 船舶靠泊行为监控系统框架图Fig.1 Framework diagram of ship berthing behavior monitoring system

表1 各功能模块介绍Tab.1 Introduction of each function module

AIS岸站接收AIS船站通过网络发送的原始AIS数据到数据处理中心。数据处理中心建有AIS解码服务器、通信服务器、船舶行为分析服务器和数据库系统, 引航客户端和监控客户端可通过通信服务器接收数据中心的AIS数据和报警提示, 也可将引航信息和监控信息与数据中心进行交换。AIS数据编码格式符合ITU协议(ITU, 2010), 需要通过解码服务器对数据进行解析, 转换成可理解的船舶属性[5]。AIS数据包括27种报文格式, 这里只关注船舶的动态消息(报文1和18)和静态消息(报文5和19)。动态消息包括船舶的MMSI、航行状态、SOG、经度、纬度、COG、船首向等;静态消息包括船舶的MMSI、船名、呼号、类型和货物类型、尺寸等。另外, AIS解码服务器还具有数据预处理的功能, 可以筛选出监控区域的船舶轨迹, 并过滤轨迹中的噪声。经解析后的AIS数据被发送给通信服务器, 通信服务器起到数据分发和交换的功能。将AIS数据发送给船舶行为分析服务器, 并将数据存入数据库系统, 以便船舶行为分析服务器分析和监控船舶靠泊行为。当船舶靠泊行为分析服务器发现有船舶靠泊行为出现异常, 会及时通过通信服务器给引航客户端和监控客户端发出报警信息。从船舶靠泊行为监控系统框架可知, 船舶行为分析服务器是整个系统的核心, 负责船舶行为的分析和决策。

2 轨迹数据预处理

本节描述AIS通信服务器如何对船舶轨迹数据进行预处理, 包括数据筛选和噪声去除。

2.1 数据筛选

2.1.1 范围筛选

AIS数据具有更新频率快和覆盖范围广的特点。更新频率快是指AIS数据包括船舶的动态消息和静态消息。动态消息根据船舶航行状态、速度和航向变化率每2 s~3 min更新一次, 静态消息为6 min更新一次, 数据量很大。当前, 中国沿海和内河4级以上河段的AIS网络已覆盖[6], 这极大地增加了AIS网络的覆盖范围。本研究只针对码头附近水域, 因此在对AIS数据进行接收和解析后, 需要对AIS数据进行筛选, 筛选出所有靠泊指定码头的船舶轨迹数据。

船舶在进港靠泊过程中, 由于大型船舶的操纵性能较好, 一般在距离泊位的10 n mile时开始备车(洪碧光, 2017)。因此, 本文以码头岸线为基准, 在岸线前、左和右方各10 n mile做一方形区域, AIS解码服务器只转发在此方形区域内的船舶数据。

2.1.2 船型筛选

经过范围筛选后的AIS数据中包括大量的拖轮、渔船、交通艇等小型船舶的轨迹, 此类船舶的轨迹较为杂乱且数量较多, 如不删除这些数据, 会严重影响到分析结果。

本文根据AIS静态数据中的船长(天线位置与船首距离+天线位置与船尾距离)数据和研究对象的设计船型抽取靠泊船舶轨迹数据。

2.2 噪声去除

由于使用不当、信号传输问题及AIS本身因素, AIS数据会产生一些位置、速度或航向噪声。如果噪声数据不被删除, 将影响实验结果。由于船舶惯性较大, 船舶的轨迹应是一条按时间序列排序的连续变化点, 异常跳跃点可视为噪声点。基于此, 本文使用滑动均值滤波清除轨迹中的AIS噪声, 具体处理过程如下:

(1)对于一个轨迹点Pi(i=[1,n]), 取Pi和其前后各2个轨迹点, 计算5个点的纬度、经度、速度和船首向均值j={纬度, 经度, 速度, 船首向}),j的取值从AIS数据中获取。

图2 船舶轨迹噪声示意图Fig.2 Schematic diagram of ship trajectory noise

3 靠泊行为检测模型建立

本节描述船舶行为分析服务器抽取靠泊轨迹的方法, 首先通过样本特征值的坐标变换和标准化处理, 将数据转换为适合模型学习的标准化数据, 然后使用局部异常因子建立靠泊行为异常检测模型。

3.1 靠泊轨迹抽取

经过预处理的轨迹包括靠泊、离泊和过路船轨迹, 这些船舶靠泊轨迹需要从数据中抽取出来。最理想的靠泊轨迹抽取方法是通过码头或船舶的靠泊时间记录进行筛选, 但由于准确的船舶靠泊记录数据获取较为困难, 因此本文使用停留点检测算法抽取靠泊轨迹。

对于同一艘船的轨迹数据, 首先选出船舶速度等于0的轨迹点, 然后使用Li(2008)的停留点检测算法计算船舶停泊位置, 最后将属于停留点的第一个点的时间作为靠泊时间, 在此时间前的一定时间段内的轨迹作为靠泊轨迹。Li(2008)的停留点检测算法将停留点分为2种情况, 第一种:如图3中Stay point 1, 发生在点P3, 目标保持静止一段时间且超过阈值。这种情况大多发生在当目标到达某一位置并失去信号一段时间, 直到目标再出现[7]。如船舶靠泊后关闭AIS设备, 开航前再将设备开启。另一种情况, 像Stay point 2, 目标在某一空间区域巡游一段时间。此时, 若干GPS点(P5,P6,P7和P8)包含在此空间区域。因此, 需要基于这些GPS点计算空间的平均坐标作为停留点。如船舶靠泊后, 由于GPS位置误差或船舶摆动, 位置点会围绕泊位在较小范围内随机移动。在Li(2008)的停留点检测算法中需要设置2个阈值, 一个是距离阈值, 一个是时间阈值, 根据经验分别设置为20 m和1 h。

图3 轨迹记录和停留点Fig.3 Trajectory record and stop point

将属于停留点的第一个轨迹点的时间作为靠泊时间, 如Stay point 2中的P5。由于一艘船可能多次停靠过同一个码头, 因此需要对靠泊时间有一个限制, 以抽取每次靠泊的轨迹数据, 这里将靠泊时间前2小时内的轨迹作为一艘船舶的单次靠泊轨迹。

通过上述的停留点检测、靠泊时间, 确定和比较可抽取每艘船各航次的靠泊轨迹数据。

3.2 特征值处理

3.2.1 坐标转换

一般来说, 同一码头上会有多个泊位供船舶停靠, 即使只有一个泊位的码头, 船舶停靠的位置也可能有偏移。如果直接使用船舶位置进行训练, 分类器会将大量的轨迹作为噪声信号处理。因此, 需要对船舶轨迹进行坐标变化, 体现各轨迹间的共性特点。为了达到这一目的, 使用式(1)将船舶的经纬度坐标转换成直角坐标, 然后平移坐标, 将停泊位置移动到坐标原点。

式(1)中, (φ,λ)为轨迹点经纬度坐标;(x,y)为平面坐标;r0为基准纬度圈半径;a为地球椭球长轴半径;q为等量维度;e为椭球第一偏心率。

3.2.2 数据标准化

由于原始数据各特征值的量纲不同, 需要对数据进行标准化处理, 以提升模型的收敛速度和训练精度。使用Z-score标准化, 其转化函数为

μ为均值;σ为标准差。Z-score标准化方法适用于属性的最大值和最小值未知, 或有超出取值范围的离群数据的连续型特征值。

3.3 异常靠泊行为检测

在异常检测的研究算法中, 根据数据是否获得标签, 可分为三大类(Goldstein, 2016):监督异常检测、半监督异常检测和无监督异常检测。监督异常检测需要训练数据有标签, 如SVM和ANN, 但由于通常异常不是提前知道的, 或者是测试阶段实时产生的, 这种设置通常意义不大。半监督异常检测用无异常值的训练集训练出模型, 对偏离训练模型的实例判断为异常值, 如One-class SVMs和autoencoders。无监督异常检测不需要训练数据有标签, 且训练数据中可包含部分异常值。

在大量的船舶轨迹数据中很难区分船舶靠泊轨迹行为正确与否, 船舶轨迹属于典型的无标签数据, 且轨迹中可能包含异常轨迹。因此只能假定大多数的靠泊行为属于正常行为, 异常靠泊行为只发生在极少数情况下。靠泊轨迹行为异常检测模型需要使用无监督异常检测为研究对象, 应考虑训练数据中存在异常值。基于此, 本文使用局部异常因子(LOF)(Breunig, 2000)算法建立船舶靠泊行为模型。LOF算法是一种适用于中等高维数据集实现异常值检测的有效方法。LOF算法的思想是计算出反映观测异常程度的得分(称为局部异常系数)。异常系数表示给定数据点相对于其邻近点的局部密度偏差。对于具有比其邻近点明显更低密度系数的样本可认为是异常点[8]。

在同一空间中, 异常值可能存在于不同密度的簇附近, 如船舶在距离码头较远时, 相同行为的轨迹分布会较为稀疏;在距离码头较近时, 相同行为的轨迹分布会较为稠密。而LOF使用的局部异常系数可以适应具有不同密度分布的异常值检测。对于一个物标p, 其基于MinPts个近邻条件下的局部异常因子可由式(3)求得。

lrdMinPts(p)表示物标p的局部可达密度;NMinPts(p)表 示p的MinPts-distance近 邻;|NMinPts(p)|表 示p的MinPts-distance近邻个数;MinPts为形成一个簇的最少物标数量, 取潜在局部异常值附近簇的最大对象数量, 这里设置为靠泊船舶轨迹数。

物标p的k-distance近邻含义是, 存在任意正整数k,p和o∈D(D为数据集)之间的距离满足:

(1)至少有k个物标o′∈D{p}, 满足d(p,o′)≤d(p,o), 并且

(2)最多k-1个物标o′∈D{p}, 满足d(p,o')<d(p,o)。

reach-distk(p,o)表示p关于o的可达距离, 为o的k-distance和p、o距离之间的最大值, 即

如果物标p的LOF接近1, 则p不是异常值;而处于簇的边缘或簇的外面对象的LOF相对较大。LOF算法的优点是考虑到数据集的局部和全局属性, 即使在异常样本具有不同潜在密度的数据集中, 它也能够表现得很好。问题不在于样本是如何被分离的, 而是样本与周围近邻的分离程度有多大[9]。

4 实验验证

为了客观地分析本文建立的船舶靠泊行为检测模型的可行性, 使用停靠宁波舟山港北仑国际集装箱码头的船舶轨迹作为训练和测试数据, 船舶靠泊轨迹如图4所示。

图4 船舶靠泊轨迹图Fig.4 Ship berthing trajectory

(1)根据各船舶停靠时, 宁波舟山港北仑国际集装箱码头的潮汐高度变化, 可将船舶靠泊行为分为涨流靠泊和落流靠泊。通过轨迹抽取、噪声点消除和坐标转换, 分别得到船舶涨流靠泊和落流靠泊轨迹, 如图5所示。

图5 涨落流靠泊轨迹Fig.5 Berthing trajectory of fluctuating current

(2)分别对涨流靠泊轨迹和落流靠泊轨迹做数据标准化, 然后分别作为训练数据进行局部异常因子(LOF)检测。将训练后的异常检测模型分别对涨流靠泊轨迹和落流靠泊轨迹进行预测, 异常数据用-1标识, 正常数据用1标识。经过处理后得到正常落流靠泊轨迹和正常涨流靠泊轨迹如图6所示, 异常点轨迹如图7所示。

图6 正常涨落流靠泊轨迹Fig.6 Berthing trajectory of normal fluctuating current

图7 涨落流靠泊轨迹中的异常点Fig.7 Anomalous points in the berthing trajectory of fluctuating current

(3)通过实验分析, 本文采用局部异常因子(LOF)算法可以明显发现船只靠泊轨迹中的异常轨迹, 并可对其进行预警。涨流靠泊轨迹与落流靠泊轨迹差异明显, 如果不考虑实时靠泊环境条件, 船舶的靠泊安全将难以保证。本文采取的思路是将落流靠泊与涨流靠泊分开考虑, 显著地提高了不同环境下的靠泊轨迹异常检测的准确率。

5 结 论

近年来, 随着人们对航运安全的重视和自动控制技术的发展, 为了避免人为因素所导致的船舶靠泊时碰撞码头事故的发生, 一些文献在自动靠泊上进行了研究并取得了不错成果, 如Ahmed(2013)、Tran(2013)和Im(2018)等。但是自动靠泊的研究大多都是基于仿真数据, 没有考虑各码头环境条件对船舶靠泊行为的影响[10-11]。而在船舶实际靠泊情况下, 由于各码头的环境条件差异较大, 需要根据码头的环境条件制定不同的靠泊方案。采用AIS系统收集和处理数据, 并采用LOF算法进行整理, 得到如下结论。

(1)该系统的准确性、故障判断能力、抗干扰能力和对实际数据的刚性计算能力均达到了系统要求的水平, 满足使用要求, 在实际应用中可以维持较好的鲁棒性。该系统模块造价低于国外产品, 且拥有自主研发技术, 性价比较高。

(2)该系统形成了大型船舶靠泊行为监控预警。该系统采用AIS收集数据, 与宁波舟山港实际情况相结合, 形成了较有价值的风险数据预警及调度策略支持, 在得到相关机构检验报告后可进行大规模应用。

(3)该系统的本质是一个通用的AIS技术工业化测量系统和风险数据预警系统, 拥有较好的鲁棒性和实用性。其移植到其他船舶行业进行推广使用时, 仅需要对系统参数进行针对性的整定, 并对系统进行一定时间段的运行调试即可为该系统提供同等的数据支持, 因此具有良好的普适性。

猜你喜欢
码头轨迹服务器
全自动化码头来了
解析几何中的轨迹方程的常用求法
服务器组功能的使用
轨迹
理解Horizon 连接服务器、安全服务器的配置
轨迹
PowerTCP Server Tool
前往码头
基于在线轨迹迭代的自适应再入制导
计算机网络安全服务器入侵与防御