APP下载

基于BLSTM-RNN的船舶轨迹修复方法

2019-10-14王贵槐初秀民张代勇

关键词:轨迹武汉船舶

王贵槐,钟 诚,初秀民,张代勇

(1. 武汉交通职业学院,湖北 武汉 430065; 2. 武汉理工大学 国家水运安全工程技术研究中心,湖北 武汉 430063)

0 引 言

在水上交通众多感知手段中,雷达与船舶自动识别系统(automatic identification system, AIS)是为核心的部分。受制于AIS设备自身及环境因素等影响,AIS数据质量存在可用性不高的问题。内河船舶普遍安装低成本的Class-B级AIS船台,船台本身软硬件质量可靠性不足。此外,AIS基站布设存在很多盲区,导致该区域内AIS信号传播有一定衰减[1]。以上因素导致AIS在实际应用过程中,不可避免产生数据异常、丢失等情况。

为保障AIS数据质量,大量学者对AIS数据的错误甄别、缺失修复开展了研究。研究方法主要分为船舶运动学建模方法,线性插值模型方法以及机器学习方法。在船舶运动学建模中,通常采用建立多自由度的船舶力学模型来预测船舶运动轨迹和姿态[2-3],由于AIS数据仅包含船舶位置和速度、航迹向信息,不能为模型提供足够的参数,因而该方法实际上不具有可行性。线性插值方法则通过AIS数据对船舶轨迹进行建模估计,在不同模型(直行、转向等)中采用不同的插值方法对船舶运动轨迹进行修复,但在轨迹上下文信息丢失过多的情况下,不能取得较好的模拟效果[4]。

和传统建模方法及线性插值方法相比,机器学习方法对于轨迹的上下文信息应用更有优势。徐婷婷等[5]提出一种基于三层BP神经网络的船舶轨迹预测模型;王体迎等[6]提出一种基于门限单元循环神经网络的船舶预测方法,通过时间序列的挖掘,对交通流量的上下文数据进行利用,以数据驱动的方法获取了较高的预测精度。

在神经网络结构中,循环神经网络在时序问题的处理上有较为突出的表现[7-8]。如将船舶轨迹信息视为一种时间序列数据,无疑RNN在船舶轨迹信息上可有极为契合的应用。然而,循环神经网络方法要求输入数据具有固定的时间周期,而内河AIS船台的时间周期通常都不稳定,会造成严重的预测及修复误差。

笔者通过对AIS数据分析研究,根据AIS数据特性,对船舶轨迹数据进行了数据清洗及采样频次统一等预处理工作,以解决循环神经网络应用与AIS数据建模上的结构问题。并引入双向循环神经网络(BLSTM-RNN)方法,对船舶AIS缺失数据进行修复。

1 基于双向循环神经网络的船舶轨迹修复模型

在船舶AIS轨迹数据中,每一个点不仅与其前向点相关,与后向点也有一定的关系,而传统的神经网络仅能进行单向学习。SCHUSTER在1997年提出一种双向递归神经网络(BRNN),该模型能有效解决双向学习问题。随后在RNN模型的改进上,HOCHREITER提出了一种长短时记忆单元结构(LSTM)来解决循环神经网络中存在的长距离依赖问题。由此,基于长短时结构的双向循环神经网络(BLSTM-RNN)被提出。

在BLSTM-RNN中,隐层需要存储两个值,一个值参与计算,另一个值参与反向计算。最终输出值Y是由正反向两个存储值共同决定。假设Ot表示t时刻的输出,可以表示如式(1)~(3):

Ot=g(Vst+V′s′t)

(1)

st=f(Uxt+Wst-1)

(2)

(3)

式中:Ot为LSTM结构t时刻的输出值;g为输出权重矩阵;V及V′为别为正向及逆向结果的权重矩阵;st及s′t分别为t时刻的正逆向输出结果;xt为t时刻的LSTM结构输入;U及U′为正向及逆向输入权重矩阵;W及W′为上一时刻输入的权重矩阵。基于该结构,笔者构建了一个两层的双向深度循环神经网络,其LSTM层共设有两层,每层均含有正向及反向两层,其结构如图1。

图1 BLSTM-RNN结构Fig. 1 BLSTM-RNN structure diagram

2 模型输入及超参数设置

2.1 BLSTM-RNN模型输入构建

在AIS回传数据中,一条典型的报文信息包括船号(mmsi)、回传时间(utc)、经纬度信息(lon,lat)、航速(speed)、航向(course)等共含有9个变量。在剔除掉船舶mmsi编号等无关的3个变量,剩下变量中选择相关性最高变量作为输入元数据,变量的数量即为输入元数据的维度。

表1 经纬度相关性分析结果Table 1 Analysis results of latitude-longitude correlation

取518个特征点,进行相关性检测,采用皮尔逊(Pearson)为相关性准则,其测试结果如表1。在测试结果中,相关性系数值越大,则表明两个变量间的相关程度越高,显著性检测值小于0.05,则两列数据显著相关;反之,则两列数据在统计意义上相关性不明显。在实验结果中,选择相关性系数高于0.5,且双侧检验小于0.05的变量,作为输入集的选取变量。输入样本的长度,采用传统线性回归模型的滞后期法进行确定(ARIMA/AR)。将经纬度序列视为时空自相关序列,则可以通过其ACF和PACF参数进行自相关和偏自相关系数求取。ACF的定义如下:

(4)

自相关(ACF)值代表船舶轨迹序列点自身的线型关系,固定过程的两个观测值之间的自相关仅取决于他们的滞后值k。偏相关(PACF)是去除线型关系后的自相关值,其值求取涉及到求解Yule-Walker方程。经纬度自相关与偏相关的结果如图2。

图2 自相关及偏自相关系数Fig. 2 Autocorrelation and partial autocorrelation coefficients

由自相关及偏相关序列结果可知,滞后值为37。这意味着轨迹序列自相关性中,每一个轨迹点xi都与之前的轨迹点xi-37,xi-36,…,xi-1有着较强的相关性。则每一个训练样本的输入由37个轨迹点构成,其中每个轨迹点包括4个维度的信息,将训练样本展开为一维向量,构建为RNN单个输入集,每一个输入集包括148个神经元作为输入。

2.2 BLSTM-RNN模型及其超参数设置

BLSTM-RNN模型中,每层的LSTM结构单元数设置为输入单元数据的维度减1[9],同时添加Dropout层以避免模型过拟合[10],Dropout参数设定为0.5。LSTM门及连接层权值初始化方法采用SVD法[11],训练轮次设置为30轮。

传递函数及优化方法是另外两个较为重要的超参数。由于LSTM门结构的输出仅能存于[0-1]之间,选择sigmoid作为其传递函数。在连接层之间的传递函数,测试了sigmoid、tanh以及relu三种传递参数。优化方法上,测试了SGD,Adadalta,Adam,RMSprop四种优化方法,实验过程中,学习率改变步长均设置为0.1。测试标准为模型的准确率(ACC)。测试结果表明,relu最为传递函数时,收敛最快,精度最高, SGD作为优化方法时也有最好的效果。最终选择relu作为模型的传递函数,SGD作为模型的优化方法。实验结果如图3。

图3 传递函数及优化方法实验结果Fig. 3 Transfer functions and test results of optimization method

3 实验及结果

3.1 数据预处理

实际AIS数据中,船台回传数据存在两个问题:①回传时间不稳定,导致采样频率无法统一;②由于船舶漂移及AIS船台错误报文等原因,原始数据里有较多错误数据。

针对第一个问题,对武汉段2015年7月AIS数据进行统计,将其回传频率统一为6 s,10 s,15 s以及30 s,如图4。

图4 A、B型船台回传时间分布(武汉段2015年7月)Fig. 4 Return time distribution map of A and B berth(Wuhan section in July, 2015)

时间间隔的确定方式为:对数据包中的四类标准时间占比进行统计,若某一标准时间数据量占数据总量比大于70%,则认为该条轨迹的AIS发送时间间隔为该数据值。其中,每一条时间间隔值判断过程需满足如下条件:

|ts-T|<=T×0.1

(5)

式中:ts为相邻数据的时间差,s;T为标准时间间隔,s。

采用阈值方法对错误轨迹进行清洗。对船舶轨迹数据中求取4个参数:COURE_RES,SPEED_RES,TIME以及LL_RES。4个变量分别代表航向加速度,速度加速度,时间差以及偏移距离,其中偏移距离为欧式距离。分别对4个参数设定4个阈值,在实际轨迹中有一个参数超出该阈值,则删掉该数据。阈值同样由数据分布进行确定。以船舶速度为例,图5是武汉段7月船舶速度统计数据的分布图及累加百分比图。

图5 船舶速度分布及累加百分比(武汉段2015年7月)Fig. 5 Velocity distribution and cumulative percentage diagram ofships (Wuhan section in July, 2015)

其中,船舶速度单位为节(Knote。统计结果中,速度超过12.5节的船舶数量百分比占比为0.712%,远超出置信区间,超出该速度值的可以认定为异常速度值。同时按照内河船舶管理数据来看,船舶在内河桥区水域速度基本为5节之内。由此方法确定清洗数据的各项阈值后,对原始数据进行处理。

3.2 实验结果及分析

采用中国长江武汉段及重庆段两处的船舶时空轨迹做为实验数据。其中,武汉段为顺直河段,来往船只多,且伴随有大量轮渡,停靠点呈密集聚集趋势;重庆段河段较为弯曲,船舶行进轨迹中回转较大。船舶类型主要包括客船、货船以及油轮,包括有少量的执法船舶及工程施工船舶。数据采集时间3个月,分别是3月、7月及11月,包含典型的枯水季、丰水季及中水季。武汉段具体区域选取为军山至天兴洲头区域,该区域轮渡船舶较多,船舶行为相对复杂。重庆段区域选取主要为牛头溪处至石板滩处,以及沙咀向上至临江门方向河段,该区域航道曲率半径较大,船舶在航行过程中需完成较大的转向角度。

通过对武汉段及重庆段的数据采集,对原数据进行拆分重组,共得到142 655组训练数据,其中包含重庆段训练集100 129组,武汉段训练集42 526组。样本集顺序被随机打乱,并分为2个部分。一部分作为RNN建模数据集,包含80%的样本集数量,另一部分作为验证集,包含20%的样本集数量。训练之前,需要对数据进行归一化处理,具体归一化过程如式(6):

(6)

式中:xmax,xmin为训练集样本中最大及最小值;ymax,ymin为归一化样本后最大及最小值,笔者取ymax=0,ymin=1。为验证实验结果,引入以下指标衡量预测结果:

(7)

(8)

(9)

式中:系数RMSE为均方根误差;MAPE为统计中对预测精度的度量方法;指代统计量误差R2为决定系数,数值在0-1之间,该值越大表明实验结果越可靠;Xobx代表原始数据,Xpre代表预测数据。对比方法上,引入3种方法作为实验对比,分别是线型插值方法(PCHIP),神经网络方法(ANN)以及单向循环神经网络(RNN)。通过与其他3种方法修复结果进行对比,BLSTM-RNN在3个指标上均有提升。结果如表2。

表2 实验结果对比Table 2 Comparison of experimental results (°)

由实验结果可以看出,3种方法在武汉段的测试效果均好于在重庆段的测试效果,尤其是线性方法在武汉段的测试效果远好于重庆段测试效果。这是由于重庆段较弯曲,船舶轨迹数据中具有较多的转向操作,从而导致线性方法(插值法)在该区域内效果较差。非线性方法(ANN及RNN)在两个区域内结果差异不明显。在RMSE指标上,BLSTM-RNN实验结果比ANN及RNN提升了25%左右,而在MAPE指标上,提升了约75%,效果显著。

使用实例数据对长距离丢失点修复进行测试。在长距离丢失点上,非线性方法具有更好的效果,实验结果如图6。

图6 实证修复结果Fig. 6 The results of empirical repair (A. Chongqing sectionB. Wuhan section)

长距离丢失点由于信息的不全,导致线性方法几乎失效,而ANN方法及单向RNN方法在建模上,缺少对丢失点下文轨迹点的考虑。BLSTM-RNN在长距离点丢失上,则有较好的效果。实验结果如表3。

表3 长距离修复实验结果对比Table 3 Comparison of long distance repair test results m

由结果可以看出,插值的预测效果要远低于神经网络的预测效果,特别是当预测点数增加时尤为明显。虽然插值预测的R2的值仍在0.999以上,但是距离均方根误差随预测点数增加时变化较大,单向PCHIP线性方法预测20个点时,距离均方根误差甚至达到1 200 m量级,而BLSTM-RNN则将误差控制在50 m量级上。BLSTM-RNN方法决定系数R2控制在0.999 9量级上;MAPE指数上,模型将误差控制在16 m量级上,较其他方法均有一定精度上的提升。

4 结论

笔者将船舶轨迹序列作为时序序列输入,针对船舶时序轨迹数据特点,引入BLSTM-RNN方法。实验结果证明,与线性及其他机器学习方法相比,BLSTM-RNN方法在精度上有一定提升。在武汉段顺直河段实验中,将修复误差控制在15 m量级内,远低于其他非线性方法的50 m量级。在重庆复杂河段内,线性方法几乎失效,BLSTM-RNN模型由于多层结构化特征,可充分利用轨迹前后文信息,提高复杂轨迹的修复精度,修复误差控制在10 m量级。此外,模型解决了传统方法在长距离丢失点上精度缺失的问题,在20个连续点丢失的情况上,将修复误差降低至50 m量级。

猜你喜欢

轨迹武汉船舶
《船舶》2022 年度征订启事
轨迹
别哭武汉愿你平安
我们在一起
轨迹
武汉加油
决战武汉
船舶!请加速
BOG压缩机在小型LNG船舶上的应用
轨迹