摘 要: 现代船舶交通管理系统中,雷达与AIS航迹的关联处在一个非常重要的位置上。结合LabVIEW图形化编程特点和MATLAB强大的矩阵运算能力,应用二者混合编程和BP网络算法的改进,实现雷达与AIS的航迹关联。利用图形化编程工具LabVIEW开发平台与神经网络相结合,能更直观地分析关联模型,拓宽了二者的应用领域,并为提高航迹关联技术和开发效率提供了新的思路。
关键词: 航迹关联;LabVIEW;神经网络
0 引言
在现代海上交通管理中,船舶交通管理系统(VTS)起到了提高航运效率、保障航运安全、保护水域环境等不可替代的作用[1]。VTS信息来源是多渠道的,主要包括雷达与AIS。在船舶信息获取完成后,VTS首先要对其进行航迹关联处理。关联的目的是对其进行分类,找出同一目标船的特征信息。由于VTS系统每时每刻都会接收来自不同传感器(雷达和AIS)的数据,这些数据可能源自同一目标也可能是不同目标,因此航迹关联便尤为重要。实际上关联解决了多传感器数据融合过程中重复融合、错误融合的问题。
目前关于航迹关联的常用方法主要有基于模糊数学和统计理论方法。这其中有最邻近方法、多因素模糊综合评判法、模糊聚类法等。有学者提出了基于多因素模糊综合决策的雷达与AIS航迹关联算法,讨论了关联门限取值等问题,但关联门限的自适应问题还有待进一步探讨与研究。本文则采用近年研究比较热门但在航迹关联上应用不多的神经网络方法。神经网络的选择着眼于既能满足问题要求又不至于浪费系统资源的原则。BP算法是利用梯度下降的思想对网络神经元连接的权值进行修正和更新的[2],对其改进加入动量因子以避免网络训练中陷入极小值,增加网络训练的层数以提高训练过程中的性能。具体实现过程中选择图形化软件,LabVIEW在虚拟化仪器仪表的可视性方面有非常好的表现。
1 系统模型
1.1 神经网络
1.1.1 基本BP神经网络
BP神经网络是指应用误差反向传播学习算法的多层前馈神经网络,其一般结构如图1所示。
网络分为输入层、隐层、输出层,在正常工作时,信号经输入层节点输入,然后传输到隐层节点,经隐层函数作用后传递至输出层输出。中间隐层函数一般选取Sigmoid型函数,它是一种非线性函数[3]。
设一个具有P层结构的BP神经网络,一组输入样本与期望输出分别为Xk=(X1k,…,Xnk)、dk,k=1,…,n,n为样本总数。对于网络节点i,其输出为Oi。设输入样本为Xk,输出为Yk,节点i的输出为O。则定义单个样本的误差为:
所以网络总误差为:
该误差是网络学习的目标函数,网络训练的结果是使得该误差达到或者趋近于最小,BP网络在学习过程中采用梯度下降法,为了使误差最小化,就要不断地修正各神经元之间的连接权值。取第k个样本,即为网络的第k次迭代,下面讨论节点i所在层右侧某神经元j,该节点的输入表示为:
其中,w表示神经元i和j的连接权值。记节点j此时的误差应该为:
定义局部梯度为:
所以:
当节点j是输出节点时:
当节点j是隐层节点时:
对于下一层某一节点m有:
1.1.2 BP神经网络的改进
原始的BP神经网络自身存在一些不足,为解决缺陷,在修正权值时对修正量添加动量因子,即:
其中,表示动量项系数,取值范围为[0,1]。这么做的意义在于动量项反映了之前时刻权值改变积累的“经验”,对当前时刻权值的调整起到了阻尼作用。动量因子的引入一定程度上解决了网络训练过程中陷入局部极小值的问题。
1.2 关联算法
对目标航迹的关联采用两级门限判定。在航迹关联过程中,单一时刻的雷达与AIS神经网络关联判断过程中神经网络的输出作为第一门限值。根据样本构造的情况,这一门限值确定为Th=0.85。Th1的数值大小意义并不十分重要,其大小完全由神经网络训练样本来决定。在本文使用的训练样本中,期望输出为0.9,综合考虑网络误差等因素选定0.85。
为保证关联准确性,选择多时刻多次判断求关联次数法。具体选定雷达目标Ri和一组需要判定的AIS目标A={a1,a2,a3,…,an},待关联目标选取N个时刻,依次关联判断每个目标每个时刻。目标关联则K加1,否则不加,统计每个AIS目标与Ri关联次数K。在多次试验测试总结下设定K值为第二门限。若对雷达目标Ri的AIS组A每个目标aj关联次数K两两相异,则取K值最大且超过第二门限值的AIS目标为与Ri关联目标。若存在两个或者两个以上K值的情况,则定义dij(Ri,Aj)为:
dij(Ri,Aj)表征了雷达目标与AIS目标的相似测度,在存在不全相异关联次数时调用,其值越大越关联。
同时为减少需要比对的时刻数,采用等差列法取时刻。即相邻观测时刻的间隔为?驻tn=?驻tn-1+d,其中d是观测间隔的公差。这种方法避免了在航迹重合或十分接近时重复无用功。等差法的应用实际是在有限关联时刻次数内扩大了时刻取值范围,这在航迹小范围接近情况下十分有效。
2 LabVIEW实现
LabVIEW是美国NI公司推出的图形化虚拟仪器开发平台软件,它的图形化编程语言具有简洁、快速、直观、易于编程开发等优点。现在LabVIEW的应用已经十分广泛,本文主要是体现了它的直观和易于开发的特性[4]。
LabVIEW实现BP神经网络的方法有两种,一种是利用软件本身的编程语言实现BP网络;另一种是发挥LabVIEW和MATLAB强大的联合工作能力,利用MATLAB script节点导入MATLAB编译好的神经网络程序实现LabVIEW中的BP网络。本文采用第二种方法。这种联合工作的方法很好地发挥了两个软件各自的优势。具体的实现如图2所示。
系统总体流程图如图3。
3 仿真分析
系统仿真过程中,BP神经网络训练样本的构造尤为重要,在构造过程中要充分考虑现实情况,提高网络的健壮性。因此,训练样本中遍历了航速、航向等参数值,这里不做过多展示。图4是网络训练完成后得到的实际输出与期望输出的比较,可以看出实际输出与期望输出的拟合程度是良好的。
MATLAB下网络输出误差分布图如图5所示。
由图5可以看出误差主要分布在[0,0.2]范围内,所以在判定门限值的设置上参考这一数值分布确定第一门限值为0.85。误差的范围十分有限,这说明实际训练得到的网络性能是优良的。
图6是LabVIEW中测试样本的各相关参数的对比图。
测试样本原始航迹图如图7所示。
在不同第一门限值下50次关联测试中关联频数分布如图8所示。
从图8可以明显看到,由于网络性能良好,在第一门限值为0.8以后关联频数已经很理想了,但保守起见选择0.85。关联频数图还能很好地反映出对关联时刻选取方法改进的效果。
4 结论
本文提出了一种基于LabVIEW的雷达与AIS航迹关联实现的方法,改进了关联算法中关联时刻的选取方法。利用LabVIEW和MATLAB完成了设计的仿真,验证了设计的可行性和LabVIEW在可视性方面的优点。在关联判断时刻的选取上,改进对有限时间内航迹重合或接近时的判断起到了很好的过滤作用,大大提高了关联实现的可靠性。
参考文献
[1] 王世远,许开宇.AIS现状、前景及对策[J].航海技术,2001(5):2-8.
[2] PANDYA A S, MACYR B.神经网络模式识别及其实现[M].徐勇,荆涛,译.北京:电子工业出版社,1999.
[3] 徐婷婷,柳晓明,杨鑫.基于BP神经网络的船舶航迹实时预测[J].大连海事大学学报,2012,38(1):9-11.
[4] 刘君华.基于LabVIEW的虚拟仪器设计[M].北京:电子工业出版社,2003.