舰船科学技术  2017, Vol. 39 Issue (1A): 28-30   PDF    
基于云平台规模样本条件下模拟训练船舶航迹点生成算法
岳守春, 张莉莉     
重庆科创职业学院, 重庆 402160
摘要: 随着海上交通环境的日益复杂,海上智能交通成为人们研究的热点,其中,对船舶航迹的有效分析与控制是其中的关键技术。本文主要对船舶航迹分析方法进行研究,给出一种基于云平台规模样本条件下模拟训练船舶航迹点生成算法。为得到效果较好的航迹云图,本文借助云平台扩大训练样本集,然后利用正态云分析算法模拟生成与实际船舶航迹相符合的航迹云图。
关键词: 云平台     训练集     船舶航迹     正态云    
Simulation training ship's flight path generation algorithm based on cloud platform scale sample
YUE Shou-chun, ZHANG Li-li     
Chongqing Creation Vocational College, Chongqing 402160, China
Abstract: With the increasing complexity of the marine traffic environment, the intelligent transportation became a hot topic in the research of the sea, and the effective analysis and control of the ship's track was the key technology. In this paper, we mainly studied the method of ship track analysis, and proposed a simulation training ship's track point generation algorithm based on cloud platform scale samples. In order to get better track image, this paper expanded the training sample set with the help of cloud platform, and then used the normal cloud analysis algorithm to generate the track cloud image which was in accordance with the actual ship's track.
Key words: cloud platform     training set     ship track     normal cloud    
0 引言

随着海上贸易运输的繁荣,海上船只数量逐年增多,交通环境变得越来越复杂,为了保护海洋生态环境与人类的生命财产安全,海上交通安全监管已经成为人们关注的热点问题。本文以船舶航迹分析与规划为研究对象。有效的航迹分析与规划首先能够为船舶驾驶员提供安全可靠的航迹数据,在发生紧急状况时,作出准确的操作行为;其次,航迹分析与规划能够提高海上交通管理的效率,提升船舶航行质量,减少对海洋环境的污染。

本文主要研究船舶航迹点生成算法。为了使训练样本充分,本文借助云平台的存储与计算能力,构建云平台规模的训练样本数据。然后给出一种基于正态云的航迹点生成算法,正态云属于云模型的一种,是定性问题到定量表示的有效解决方法。

1 构建训练样本

目前,海上交通运输监管中主要使用的系统有VTS(vessel traffic system)、AIS(Automatic Identification System)及雷达系统[1]。然而随着海上贸易的繁荣,船舶数量的剧增,使得需要处理的信息量越来越大。为了有效应对和使用海量数据,本文借助云平台的存储与处理能力,将AIS与雷达系统多捕获的信息进行融合,以构建训练航迹生成的样本。

AIS能够提供船舶位置、航速、航向等动态信息,以及船舶类型、船名、呼号等船舶静态信息。雷达系统则能够获取覆盖范围内的所有目标情况与干扰情况。本文结合AIS与雷达系统各自的优点,将两者捕获的信息利用云平台进行融合与存储。

云平台负责实现信息的融合算法、航迹生成算法以及相关信息的存储。本文中的云平台使用微软成熟软件和产品构建出符合需求的高性能计算群集(HPC)和微软桌面虚拟化(VDI)解决方案。HPC集群如图 1所示。

图 1 HPC集群示意图 Fig. 1 Schematic diagram of HPC cluster

样本集合构建方法如图 1所示。

图 2 样本构建过程 Fig. 2 Sample construction process

图中,航迹滤波采用卡尔曼滤波,航迹相关则使用分布式多传感器的统计关联算法,融合滤波使用联合卡尔曼滤波器。通过融合得到航迹路径,覆盖范围广、空间分辨力高,并且空间维度增多,可靠性增加。得到航迹路径后,再进行采样得到样本数据集合。由此可见,使用融合后的航迹作为样本数据能够减少样本的模糊性,提高有效性。

由于本文所利用的原始信息来自于AIS与雷达系统,AIS与雷达的接收传感器所观测到的船舶运动状态近似于线性状态,因此,本文使用卡尔曼滤波[2]对船舶航迹进行处理。卡尔曼滤波过程如图 3所示。

图 3 卡尔曼滤波 Fig. 3 Kalman filtering

XK表示K时刻系统的状态矢量,NK表示K时刻系统的干扰噪声,那么系统的状态方程为:

$ {X_K} = \phi (K,K - 1){X_{K - 1}} + {N_{K - 1}}。 $ (1)

ZK表示K时刻传感器的观测矢量,H表示系数矩阵,${\mathop Z\limits^\sim _{K + 1}}$表示残差(测量值与预测值的差值),那么传感器的测量方程与残差方程分别为:

$ \begin{array}{l} {Z_K} = {H_K}{X_K} + {V_K},\\ {\mathop Z\limits^\sim _{K + 1}} = {Z_K} - {H_{K + 1}}{\mathop X\limits^ \wedge _{K + 1/K}}。 \end{array} $ (2)

${\mathop X\limits^ \wedge _{K + 1/K}}$表示K + 1时刻系统预测的系统估值,那么其求解过程为:

$ \begin{array}{l} {\mathit{\boldsymbol{P}}_{K + 1/K}} = {\phi _K}{P_K}\phi _K' + {Q_K},\\[4pt] {\mathop X\limits^ \wedge _{K + 1/K}} = {\phi _K}{\mathop X\limits^ \wedge _K},\\[8pt] {\mathit{\boldsymbol{K}}_{(K + 1)opt}} \!\!=\!\! {P_{K \!+\! 1/K}}H_{K \!+\! 1}'{[{H_{K \!+\! 1}}{P_{K \!+\! 1/K}}H_{K \!+\! 1}' \!+\! {R_{K \!+\! 1}}]^{ - 1}},\\[8pt] {P_{K + 1}} = [I - {K_{K + 1}}{H_{K + 1}}][{\phi _K}{P_K}\phi _K' + {Q_K}] \times \\[8pt] \quad \quad \quad {[I - {K_{K + 1}}{H_{K + 1}}]'} + {K_{K + 1}}{R_{K + 1}}{K'} = \\[8pt] \begin{array}{*{20}{c}} \end{array}[I - {K_{K + 1}}{H_{K + 1}}]{P_{K + 1/K}}{[I - {K_{K + 1}}{H_{K + 1}}]'} + \\[8pt] \quad \quad \quad {K_{K + 1}}{R_{K + 1}}{K'},\\[10pt] {\mathop X\limits^ \wedge _{K + 1}} = {\mathop X\limits^ \wedge _{K + 1/K}} + {K_{K + 1}}{\mathop Z\limits^\sim _{K + 1}} = \\[10pt] \begin{array}{*{20}{c}} \end{array}{\mathop X\limits^ \wedge _{K + 1/K}} + {K_{K + 1}}[{Z_{K + 1}} - {H_{K + 1}}{\mathop X\limits^ \wedge _{K + 1/K}}]。 \end{array} $ (3)

式中:${{\mathit{\boldsymbol{K}}}_{(K + 1)opt}}$为增益矩阵;PK+1为协方差矩阵;${\mathop X\limits^ \wedge _{K + 1}}$为滤波估值。

2 航迹点生成算法

使用正态云算法模拟船舶航迹点的生成过程。正态云是云模型[3]中的重要算法,云模型非常适合于解决不确定中又带有确定性,稳定中又带有变化的问题。因此,本文利用云模型对船舶航迹点生成进行分析。云模型中主要由期望Ex,熵En和超熵He来表示它的数学特性,其中,期望Ex云滴在论域中的空间分布期望;熵En用于不确定程度的度量,En越大,概念越大。超熵He表示熵的熵,由熵的随机性和模糊性共同决定。

正态云生成算法(伪代码描述)如下:

Input:{ExEnHe},n //输入

Ouput:{(x1u1),…,(xnun)} //输出

For:i=1 ton //求得期望为En

//He方差为正态随机数

En’=Randn(EnHe

xi=Randn(ExEn’

$u = {e^{ - \frac{{{{(x - Ex)}^2}}}{{2{{(E{n'})}^2}}}}}$

Drop(xiu)//生成云滴。

其中,输入量为第一节中求得的训练样本集合${A_i}\{ {\varphi _{{D_i}}},{\lambda _{{D_i}}}\} $。根据Ai分别求得期望Ex、熵En、超熵He,方法如下:

1)期望

$ \begin{array}{l} E\mathop {{x_i}}\limits^\wedge = \overline {{\varphi _{S{T_i}}}} = \frac{1}{{D/S}}\sum\limits_{i = 1}^{D/S} {{\varphi _{{S_i}{T_i}}}} ,\\[10pt] E\mathop {{y_i}}\limits^\wedge = \overline {{\lambda _{S{T_i}}}} = \frac{1}{{D/S}}\sum\limits_{i = 1}^{D/S} {{\lambda _{{S_i}{T_i}}}} ; \end{array} $ (4)

2)熵

$ \begin{array}{l} En\mathop {{x_i}}\limits^\wedge = \sqrt {\pi /2} \frac{1}{{D/S}}\sum\limits_{i = 1}^{D/S} {\left| {{\varphi _{{S_i}{T_i}}} - \overline {{\varphi _{S{T_i}}}} } \right|} ,\\[10pt] En\mathop {{y_i}}\limits^\wedge = \sqrt {\pi /2} \frac{1}{{D/S}}\sum\limits_{i = 1}^{D/S} {\left\| {{\lambda _{{S_i}{T_i}}} - \overline {{\lambda _{S{T_i}}}} } \right\|} ; \end{array} $ (5)

3)超熵

$ \begin{array}{l} He\mathop {{x_i}}\limits^\wedge = \sqrt {{{(S\mathop x\limits^\wedge )}^2} - {{(En\mathop x\limits^\wedge )}^2}} ,\\ He\mathop {{y_i}}\limits^\wedge = \sqrt {{{(Sy)}^2} - {{(En\mathop y\limits^\wedge )}^2}} ; \end{array} $ (6)

其中:

$ \begin{array}{l} {(S\mathop {{x_i}}\limits^\wedge )^2} = \frac{1}{{D/S - 1}}{\sum\limits_{i = 1}^{D/S - 1} {\left( {{\varphi _{{S_i}{T_i}}} - \overline {{\varphi _{S{T_i}}}} } \right)} ^2},\\[10pt] {(S\mathop {{y_i}}\limits^\wedge )^2} = \frac{1}{{D/S - 1}}{\sum\limits_{i = 1}^{D/S - 1} {\left( {{\lambda _{{S_i}{T_i}}} - \overline {{\lambda _{S{T_i}}}} } \right)} ^2}, \end{array} $ (7)

计算完上述参数之后,生成期望为$(E\mathop {{x_i}}\limits^\wedge ,\mathop {E{y_i})}\limits^\wedge $、方差为$(EN\mathop {{x_i}}\limits^\wedge ,\mathop {EN{y_i})}\limits^\wedge $的二维正态随机数。得到

$ {\mu _{{N_j}}} = {e^{ - \left[ {\frac{{{{\left( {{\varphi _{{N_j}}} - E\mathop {{x_i}}\limits^\wedge } \right)}^2}}}{{2\left( {En{{\mathop {{x_i}}\limits^\wedge }'}} \right)}} + \frac{{{{\left( {{\lambda _{Nj}} - E\mathop {{y_i}}\limits^\wedge } \right)}^2}}}{{2\left( {En{{\mathop {{y_i}}\limits^\wedge }'}} \right)}}} \right]}}。 $ (8)

然后重复上述过程,直至得到N个云滴。

本文使用的是Matlab仿真工具,得到的船舶航迹点云图如图 4所示。云图的离散度与样本数量密切相关,样本数量越多,离散度越低。图 4所示为样本数量为10 000的情况。

图 4 航迹点云图 Fig. 4 Track point cloud image
3 结语

本文主要研究了船舶航迹点生成方法。连续的航迹云图能够准确反映航迹实际情况,为了得到理想的航迹图,本文借助云平台,构建了云平台规模的训练样本,然后利用正态云统计分析算法进行航迹点的生成。实验结果表明本文方法能够得到较好的航迹云图。

参考文献
[1] 孙文力, 孙文强. 船载自动识别系统[M]. 大连: 大连海事大学出版社, 2004.
[2] 李春霞. 卡尔曼滤波方程的改进算法及应用[J]. 哈尔滨商业大学学报(自然科学版), 2002, 18 (3): 264–267.
[3] 李德毅.隶属云和语言原子模型[C].计算机智能接口与应用论文集, 1993:272-277.