基于Fast-DTW的船舶识别方法与流程

未命名 08-27 阅读:186 评论:0

基于fast-dtw的船舶识别方法
技术领域
1.本发明涉及智慧渔港领域,尤其涉及一种基于fast-dtw的船舶识别方法。


背景技术:

2.智能进出港管理可以全面提升渔港管理的信息化水平,是实现依港管港、依港管船、依港管人的坚固基石,如何实时精确地识别进出港船舶,更是智能进出港管理的重中之重。传统渔船进出港时仅依靠拍照识别和人工登船登记,拍照识别是利用港口的高清云台摄像机抓拍进出港船舶,结合ocr照片识别算法识别出船舶号,此种识别方式极易受到天气、摄像头配置、识别算法、拍照角度和船舶号清晰度等影响。当遇到下雨天等不利因素时,实际识别率往往不足30%。人工登记更是存在人工成本高,审核时间长,无电子台账等问题,使得进出港效率低下,更有甚者因为误识别和手工登记错误导致无法真实溯源,致使整个渔港存在较大的安全隐患。


技术实现要素:

3.为了解决上述问题,本发明的目的在于提供一种基于fast-dtw的船舶识别方法,能够精确的识别进出港船舶不受天气环境影响。
4.为实现上述目的,本发明采用以下技术方案:一种基于fast-dtw的船舶识别方法,包括以下步骤:岸基雷达实时扫描港口船舶,识别出疑似出港船舶,并获取疑似进出港船舶的雷达轨迹,然后将雷达轨迹加入候选对比序列;对候选对比序列中的雷达轨迹进行预处理;基于大圆航线转换算法,将预处理后的雷达轨迹转换为经纬度表示;基于船舶定位设备发送的实时位置,识别疑似进出港船舶,并获取疑似进出港船舶定位轨迹;基于转换后的雷达轨迹,使用fast-dtw算法与定位轨迹进行轨迹相似度匹配,将匹配成功的雷达轨迹和定位轨迹加入待确认序列;基于待确认序列中的雷达轨迹和定位轨迹,进行点匹配,若满足预设条件,即将该疑似进出港船舶标记为进出港船舶,并根据船舶终端号获取船舶信息。
5.进一步的,所述岸基雷达识别疑似进出港船舶具体如下: 岸基雷达扫描港口附近船舶,当跟踪时间超过预设时间,且船舶运动方向是朝向港口方向时,将目标船舶标记为疑似进出港船舶。
6.进一步的,所述预处理具体为:对雷达轨迹做降噪处理,首先将轨迹中偏离较大的点移除,并根据二分法自动回填,形成一条相对完整的轨迹点,引入噪声阈值判断,将移动距离超过指定阈值的点判定为噪声点并剔除。
7.进一步的,所述基于大圆航线转换算法,将预处理后的雷达轨迹转换为经纬度表示,具体为:
设渔港岸基雷达所在位置为起始点a,作为转换目标的经纬度表示的船舶雷达轨迹点为目标点b,雷达轨迹数据中的方位角即为大圆航线的正方位角;岸基雷达的安装位置距离水平地面高度为h,因此雷达船舶轨迹点位中的距离通过如下公式(1)转换为大圆航线算法计算所需的水平方向距离d:
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1)通过大圆航线算法由船舶雷达轨迹方位角距离表示向经纬度表示转换的具体步骤如下:

根据起始点a的纬度,计算起始点a的球面归化纬度,如下所示:
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(2)其中,f为转换因数;

然后,计算起始点a和大圆航线与椭球赤道的交点在椭球上的球面角距,如下所示:
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(3)

由此可得大圆航线在赤道的方位角,计算公式如下所示:
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(4)

通过下列公式计算得到大圆航线与赤道的交点到大圆航线中点的球面角距、起始点a和目标点b之间的球面角距以及大圆航海长度修正项:
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(5)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(6)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(7)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(9)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(10)其中,为大圆航线长度的中间系数,和为计算大圆航线长度修正项的嵌套系数;a、b分别为起始点a和目标点与大圆航线中点的距离;

以公式(9)第一项为初始迭代条件,对公式(8)至公式(10)进行迭代,直到起始点a和目标点b之间的球面角距的变化小于预设值;

然后,计算起始点a和目标点b的经度差,计算公式如下所示:
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(11)

最后通过如下公式(12)和公式(13)分别计算得到目标点b的经纬度坐标

ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(12)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(13)。
8.进一步的,所述基于船舶定位设备发送的实时位置,识别疑似进出港船舶,具体如下:

通过船舶历史轨迹中是否已定位的标识,剔除掉未定位的轨迹点;

根据识别半径和渔港中心点经纬度坐标,构建一个圆形的渔港识别区域;

筛选出定位轨迹在圆形识别区域内且连续轨迹点数量要大于预设值的轨迹,连续轨迹点是指定位轨迹上每两个相隔点的距离不超过n米;

根据轨迹的朝向判断是驶入还是驶离渔港,驶离渔港的轨迹无需再识别,则移出识别区域;

判断当前船舶在预设时间内是否有做2米以上的位移,如果否,则为停泊船舶,停泊的船舶不参与识别,故也移出识别区域。
9.进一步的,dtw设置,具体为设有两条由经纬度点组成的轨迹曲线q=(q1,q2...,q
i,
...qn)和c=(c1,c2,...,cj,...cm),其中(q1,q2...,q
i,
...qn)和(c1,c2,..cj,.cm)分别为两条轨迹曲线上的经纬度点,数据长度分别为和,一般;定义一个行列距离矩阵,其元素为两条轨迹曲线经纬度点之间的距离d(qi,cj)=arccos(cos(90
°‑
wqi)cos(90
°‑
wcj)sin(90
°‑
wqi)sin(90
°‑
wcj)cos
△jqc
);其中wqi,wcj分别为经纬度点qi,cj的纬度,
△jqc
为经纬度点qi,cj的经度差,1≤i≤n,1≤j≤m,该矩阵即为轨迹曲线和轨迹曲线的距离矩阵,距离矩阵的具体计算如下所示:
ꢀꢀꢀꢀꢀꢀꢀꢀ
(14)在距离矩阵中,定义表现轨迹曲线相似关系的一组连续的矩阵元素的集合,即为弯曲路径,其中(w1,w2...,wk)为一组连续的矩阵元素;定义累计距离为当前格点的经纬度点间距离与能够到达该点的最小的相邻元素的累计距离之和,即如下公式所示:
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(15)因此轨迹曲线和轨迹曲线之间的dtw距离为:
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(16)。
10.进一步的,所述fast-dtw算法使用限制搜索空间和数据抽象两种方法加速dtw距离的计算,具体如下:

对原始的数据序列进行数据抽象处理,用对应多个细粒度数据点的平均值作为粗粒度数据点;

使用dtw算法计算粗粒度化数据序列的dtw距离和规整路径;

将在较粗粒度上得到的规整路径经过的格点细粒度化还原到较细粒度的数据序列上,最终能得到两个数据序列的dtw距离和规整路径;最终计算得到两条轨迹曲线之间的dtw距离, dtw距离越小,则代表两条轨迹曲线越接近,即轨迹间相似度越高。
11.进一步的,所述fast-dtw算法还在较细粒度的空间内额外向外扩展k个粒度。
12.进一步的,所述点匹配,具体为:取两条轨迹上时间最接近的两个时间点,对目标时间点的坐标做距离比对,如距离相差超过阈值,则为误识别,移出队列。
13.一种基于fast-dtw的船舶识别系统,包括设备子系统、船舶识别子系统和数据中心子系统;所述设备子系统包括岸基雷达和显示单元;所述船舶识别子系统包括数据处理单元和轨迹匹配单元;所述数据中心子系统包括定位管理单元和船籍管理单元;所述设备子系统通过岸基雷达实时扫描港口船舶,识别出疑似进出港船舶,并获取疑似进出港船舶的雷达轨迹,然后将雷达轨迹加入候选对比序列;所述数据处理单元, 对候选对比序列的雷达轨迹进行预处理;并基于大圆航线转换算法,将预处理后的雷达轨迹转换为经纬度表示;所述定位管理单元,基于船舶定位设备发送的实时位置,识别疑似进出港船舶,并获取疑似进出港船舶定位轨迹;所述轨迹匹配单元,基于转换后的雷达轨迹,使用fast-dtw算法与定位轨迹进行轨迹相似度匹配,将匹配成功的雷达轨迹和定位轨迹加入待确认序列;基于待确认序列中的雷达轨迹和定位轨迹,进行点匹配,若满足预设条件,即将该疑似进出港船舶标记为进出港船舶;所述船籍管理单元,根据船舶终端号获取船舶信息并传输至设备子系统的显示单元。
14.本发明具有如下有益效果:本发明将渔港现有的岸基雷达和船舶定位系统有机结合,利用船泊自身的北斗/gps定位数据形成定位历史轨迹,然后与岸基雷达跟踪形成的雷达运动轨迹做对比分析,结合基于fast-dtw的轨迹相似度比较算法,进行n:n轨迹相似度分析,能够准确识别进出港船舶并获取船舶信息,不受天气和环境影响。
附图说明
15.图1为本发明一实施例中系统示意图;图2为本发明一实施例中方法流程示意图。
具体实施方式
16.以下结合附图和具体实施例对本发明做进一步详细说明:本发明提供一种基于fast-dtw的船舶识别系统,包括设备子系统、船舶识别子系统和数据中心子系统;设备子系统包括岸基雷达和显示单元;船舶识别子系统包括数据处
理单元和轨迹匹配单元;数据中心子系统包括定位管理单元和船籍管理单元。
17.在本实施例中,系统根据实际环境设置雷达采集高度、噪声过滤阈值、轨迹点比率,完成系统参数初始化。
18.通过岸基雷达实时扫描港口船舶,自动跟踪识别出的运动船舶,当跟踪时间超过3秒,且船舶运动方向是朝向港口方向时,将目标船舶标记为疑似进出港船舶,并获取该船舶的雷达轨迹,然后将目标船舶的雷达轨迹加入候选比对序列中;数据处理单元,后台定时任务每隔3秒执行一次扫描,调取候选序列中的雷达船舶轨迹,对船舶轨迹做降噪处理,首先将轨迹中偏离较大的点移除,并根据二分法自动回填,形成一条相对完整的轨迹点,此外引入噪声阈值判断,将计算距离超过指定阈值的点判定为噪声点并剔除,提高轨迹点的匹配精确度。针对某些数据点过多或者轨迹点集合数量相差过大的场景,可以通过设置合适轨迹点比率减少计算量,提高轨迹相似度计算效率。
19.在本实施例中,岸基雷达扫描得到的船舶轨迹点一般由距离和方位角组成,因此在进行轨迹相似度匹配之前,需要先将原始雷达轨迹由距离和方位角表示转换为经纬度表示,本方案使用大圆航线算法进行转换。
20.设渔港岸基雷达所在位置为起始点a,作为转换目标的经纬度表示的船舶雷达轨迹点为目标点b,雷达轨迹数据中的方位角即为大圆航线的正方位角。一般情况下,岸基雷达的安装位置距离水平地面存在一定高度h,因此雷达船舶轨迹点位中的距离需要通过如下公式(1)转换为大圆航线算法计算所需的水平方向距离d:
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1)通过大圆航线算法由船舶雷达轨迹方位角距离表示向经纬度表示转换的具体步骤如下:

首先,根据起始点a的纬度,计算起始点a的球面归化纬度,如下所示:
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(2)其中,f为转换因数;

然后,计算起始点a和大圆航线与椭球赤道的交点在椭球上的球面角距,如下所示:
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(3)

由此可得大圆航线在赤道的方位角,计算公式如下所示:
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(4)

通过下列公式计算得到大圆航线与赤道的交点到大圆航线中点的球面角距、起始点a和目标点b之间的球面角距以及大圆航海长度修正项:
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(5)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(6)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(7)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(9)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(10)其中,a、b分别为起始点a和目标点与大圆航线中点的距离;为大圆航线长度的中间系数,和为计算大圆航线长度修正项的嵌套系数。
21.⑤
以公式(9)第一项为初始迭代条件,对公式(8)至公式(10)进行迭代,直到起始点a和目标点b之间的球面角距的变化可忽略不计。
22.⑥
然后,计算起始点a和目标点b的经度差,计算公式如下所示:
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(11)

最后通过如下公式(12)和公式(13)分别计算得到目标点b的经纬度坐标:
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(12)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(13)。
23.在本实施例中,优选的,定位管理单元,基于船舶定位设备发送的实时位置,识别疑似进出港船舶,并获取疑似进出港船舶定位轨迹;船舶在行驶过程中会定时通过船载定位设备(北斗/gps/ais)向系统发送实时位置,后台任务先初步筛选目标船舶,步骤如下:

通过船舶历史轨迹中是否已定位的标识,剔除掉未定位的轨迹点,这部分轨迹可能存在较大的定位偏差;

根据系统配置的识别半径(默认2公里)和渔港中心点经纬度坐标,构建一个圆形的渔港识别区域;

筛选出定位轨迹在圆形识别区域内且连续轨迹点数量要大于10的轨迹,连续轨迹点是指定位轨迹上每两个相隔点的距离不超过30米;

根据轨迹的朝向判断是驶入还是驶离渔港,驶离渔港的轨迹无需再识别,则移出识别区域;

判断当前船舶在3秒内是否有做2米以上的位移,如果否,则为停泊船舶,停泊的船舶不参与识别,故也移出识别区域。
24.在本实施例中,优选的,轨迹匹配单元,基于转换后的雷达轨迹,使用fast-dtw算法与定位轨迹进行轨迹相似度匹配,将匹配成功的雷达轨迹和定位轨迹加入待确认序列;基于待确认序列中的雷达轨迹和定位轨迹,进行点匹配,若满足预设条件,即将该疑似进出港船舶标记为进出港船舶;优选的,dtw算法计算轨迹相似度的具体过程如下:设有两条由经纬度点组成的轨迹曲线q=(q1,q2...,q
i,
...qn)和c=(c1,c2,...,cj,...cm),其中(q1,q2...,q
i,
...qn)和(c1,c2,..cj,.cm)分别为两条轨迹曲线上的经纬度
点,数据长度分别为和,一般;定义一个行列距离矩阵,其元素为两条轨迹曲线经纬度点之间的距离d(qi,cj)=arccos(cos(90
°‑
wqi)cos(90
°‑
wcj)sin(90
°‑
wqi)sin(90
°‑
wcj)cos
△jqc
);其中wqi,wcj分别为经纬度点qi,cj的纬度,
△jqc
为经纬度点qi,cj的经度差,1≤i≤n,1≤j≤m,该矩阵即为轨迹曲线和轨迹曲线的距离矩阵,距离矩阵的具体计算如下所示:
ꢀꢀꢀꢀꢀꢀꢀꢀ
(14)在距离矩阵中,定义表现轨迹曲线相似关系的一组连续的矩阵元素的集合,即为弯曲路径,其中(w1,w2...,wk)为一组连续的矩阵元素;弯曲路径需满足下述一系列条件:

边界条件:弯曲路径需从总矩阵左下角出发,直到右上角终止,即;

有界性:;

连续性:若,那么对于路径要经过的下一点,需要满足,即保证弯曲路径上的所有元素两两之间必须是连续的;

单调性:若,那么对于路径要经过的下一点,需要满足,这限制上面的点必须随着深度单调增加。
25.结合连续性和单调性,确定每一个格点的路径仅可能有三个方向,即假如路径已经到达了格点 ,则下一个可以通过的格点仅有上方格点、右方格点和右上方格点。dtw算法需要找到一个最佳路径,使得两段轨迹曲线距离值最小。定义累计距离为当前格点的经纬度点间距离与能够到达该点的最小的相邻元素的累计距离之和,即如下公式所示:
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(15)因此轨迹曲线和轨迹曲线之间的dtw距离为:
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(16)dtw算法每次执行都需要从轨迹序列的首元素搜索到尾元素,因此时间复杂度为,数据量较大时算法的实时性和计算效率较差。因此,本方案采用fast-dtw算法进行轨迹相似度计算以提高方案匹配速度与可用性,时间复杂度降至。fast-dtw算法主要
使用限制搜索空间和数据抽象两种方法加速dtw距离的计算,其主要步骤如下:

粗粒度化。对原始的数据序列进行数据抽象处理,用对应多个细粒度数据点的平均值作为粗粒度数据点,从而缩短数据序列的长度,减少搜索计算次数。
26.②
投影。使用上述dtw算法计算粗粒度化数据序列的dtw距离和规整路径。
27.③
细粒度化。将在较粗粒度上得到的规整路径经过的格点细粒度化还原到较细粒度的数据序列上,最终能得到两个数据序列的dtw距离和规整路径。除了细粒度化之外,fast-dtw算法还在较细粒度的空间内额外向外(横向,竖向,斜向)扩展k个粒度(k为半径参数,一般取1或2)。
28.最终计算得到两条轨迹曲线之间的dtw距离,dtw距离越小,则代表两条轨迹曲线越接近,即轨迹间相似度越高。
29.在本实施例中,系统输入样式如下所示:inputdata={'gpstracks':[{'gpstrackid':'gps标识',#gps标识'gpstrack':[['纬度','经度']]#gps轨迹集合}],'radartracks':[{'radartrackid':'雷达标识',#雷达标识'radartrack':[{'dist':'距离','angle':'角度'}]#雷达轨迹集合}],'trackfreq':'轨迹频率','filtervalue':'噪声点过滤距离阈值','basepoint':'雷达基点坐标','basepointheight':'雷达基点高度',}针对按格式输入并根据处理后得到的雷达轨迹和定位轨迹(北斗/gps/ais),使用fast-dtw算法计算每条雷达轨迹与不同定位轨迹间的dtw距离(即对应轨迹相似度)。当计算得到的轨迹相似度结果最小且小于阈值(默认100,可根据渔港环境配置)时,将该定位轨迹加入至对应雷达轨迹匹配待确认序列。
[0030]
优选地,fast-dtw算法在方案中的具体实现包含如下多个函数方法:(1)算法主函数方法get_fast_dtw。算法主函数方法get_fast_dtw的输入参数包含:轨迹序列x、轨迹序列y、搜索半径radius(默认初始为1)、距离函数dist(本系统基于python引用pyproj包中geod(ellps='wgs84').inv()方法计算经纬度点之间的距离)和噪声过滤阈值filter_value,最终输出计算得到的轨迹相似度(dtw距离)和路径path。计算步骤如下:

通过输入搜索半径radius计算最小边界值;

若序列x或序列y某一方长度小于最小边界值,则直接通过dtw_of_fast方法计算得到dtw距离与路径;

使用fast_dtw_reduce_by_half方法处理序列x和序列y,得到长度减半的新序
列x和新序列y;

重复调用以新序列x和新序列y为输入的get_fast_dtw主函数方法,得到dtw距离与路径;

调用fast_dtw_expand_window扩展窗口方法对

得到的路径进行粗粒度细化,得到扩展后的路径;

基于

得到的扩展路径调用dtw_of_fast方法计算dtw距离与路径,并作为最终返回,函数方法计算结束。
[0031]
(2)dtw_of_fast方法。用于计算dtw距离的方法,是算法实现的基础。输入参数包含:轨迹序列x、轨迹序列y、搜索范围window、距离函数dist和噪声过滤阈值filter_value,最终输出计算得到的轨迹相似度(dtw距离)和路径path。
[0032]
(3)fast_dtw_reduce_by_half方法。用于改变序列长度的方法,保证对序列取一半元素的同时不缺失每个元素的信息。输入参数为轨迹序列x,输出变化后的轨迹序列x_reduce。
[0033]
(4)fast_dtw_expand_window方法。实现窗口扩展的方法,对路径进行粗粒度细化。输入参数包含路径path、轨迹序列x的长度len_x、轨迹序列y的长度len_y和搜索半径radius,输出扩展后的窗口路径window。
[0034]
本实施例系统执行成功时的输出样式如下所示:{'code': 0,'data': {雷达标识: {'match_gps_id': gps标识,'match_distance': dtw距离},雷达标识: {'match_gps_id': gps标识,'match_distance': dtw距离},},'msg': '执行成功',}在本实施例中,后台任务会取出待确认序列中雷达轨迹和定位轨迹,做点匹配。即取两条轨迹上时间最接近的两个时间点。对目标时间点的坐标做距离比对,如距离相差100米以上,则为误识别,移出队列。二次确认后则可标注该船舶为已识别在本实施例中,船籍管理单元,根据船舶终端号(imei、北斗终端号)去查询船舶档案信息和船员档案信息,并将信息实时回显,雷达也会持续跟踪目标船舶,直至完成整个进出港的动作后,移出待观察序列。
[0035]
参考图2,在本实施例中,还提供一种基于fast-dtw的船舶识别方法,包括以下步骤:
岸基雷达实时扫描港口船舶,识别出疑似进出港船舶,并获取疑似进出港船舶的雷达轨迹,然后将雷达轨迹加入候选对比序列;对候选对比序列的雷达轨迹进行预处理;基于大圆航线转换算法,将预处理后的雷达轨迹转换为经纬度表示;基于船舶定位设备发送的实时位置,识别疑似进出港船舶,并获取疑似进出港船舶定位轨迹;基于转换后的雷达轨迹,使用fast-dtw算法与定位轨迹进行轨迹相似度匹配,将匹配成功的雷达轨迹和定位轨迹加入待确认序列;基于待确认序列中的雷达轨迹和定位轨迹,进行点匹配,若满足预设条件,即将该疑似进出港船舶标记为进出港船舶,并根据船舶终端号获取船舶信息。
[0036]
本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0037]
本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0038]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0039]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0040]
以上所述,仅是本发明的较佳实施例而已,并非是对本发明作其它形式的限制,任何熟悉本专业的技术人员可能利用上述揭示的技术内容加以变更或改型为等同变化的等效实施例。但是凡是未脱离本发明技术方案内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与改型,仍属于本发明技术方案的保护范围。

技术特征:
1.一种基于fast-dtw的船舶识别方法,其特征在于,包括以下步骤:岸基雷达实时扫描港口船舶,识别出疑似进出港船舶,并获取疑似进出港船舶的雷达轨迹,然后将雷达轨迹加入候选对比序列;对候选对比序列中的雷达轨迹进行预处理;基于大圆航线转换算法,将预处理后的雷达轨迹转换为经纬度表示;基于船舶定位设备发送的实时位置,识别疑似进出港船舶,并获取疑似进出港船舶定位轨迹;基于转换后的雷达轨迹,使用fast-dtw算法与定位轨迹进行轨迹相似度匹配,将匹配成功的雷达轨迹和定位轨迹加入待确认序列;基于待确认序列中的雷达轨迹和定位轨迹,进行点匹配,若满足预设条件,即将该疑似进出港船舶标记为进出港船舶,并根据船舶终端号获取船舶信息。2.根据权利要求1所述的基于fast-dtw的船舶识别方法,其特征在于,所述岸基雷达识别疑似进出港船舶具体如下: 岸基雷达扫描港口附近船舶,当跟踪时间超过预设时间,且船舶运动方向是朝向港口方向时,将目标船舶标记为疑似进出港船舶。3.根据权利要求1所述的基于fast-dtw的船舶识别方法,其特征在于,所述预处理具体为:对雷达轨迹做降噪处理,首先将轨迹中偏离较大的点移除,并根据二分法自动回填,形成一条相对完整的轨迹点,引入噪声阈值判断,将移动距离超过指定阈值的点判定为噪声点并剔除。4.根据权利要求1所述的基于fast-dtw的船舶识别方法,其特征在于,所述基于大圆航线转换算法,将预处理后的雷达轨迹转换为经纬度表示,具体为:设渔港岸基雷达所在位置为起始点a,作为转换目标的经纬度表示的船舶雷达轨迹点为目标点b,雷达轨迹数据中的方位角即为大圆航线的正方位角;岸基雷达的安装位置距离水平地面高度为h,因此雷达船舶轨迹点位中的距离通过如下公式(1)转换为大圆航线算法计算所需的水平方向距离d:
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1)通过大圆航线算法由船舶雷达轨迹方位角距离表示向经纬度表示转换的具体步骤如下:

根据起始点a的纬度,计算起始点a的球面归化纬度,如下所示:
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(2)其中,f为转换因数;

然后,计算起始点a和大圆航线与椭球赤道的交点在椭球上的球面角距,如下所示:
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(3)

由此可得大圆航线在赤道的方位角,计算公式如下所示:
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(4)

通过下列公式计算得到大圆航线与赤道的交点到大圆航线中点的球面角距、起始点a和目标点b之间的球面角距以及大圆航海长度修正项:
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(5)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(6)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(7)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(9)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(10)其中,为大圆航线长度的中间系数,和为计算大圆航线长度修正项的嵌套系数;a、b分别为起始点a和目标点与大圆航线中点的距离;

以公式(9)第一项为初始迭代条件,对公式(8)至公式(10)进行迭代,直到起始点a和目标点b之间的球面角距的变化小于预设值;

然后,计算起始点a和目标点b的经度差,计算公式如下所示:
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(11)

最后通过如下公式(12)和公式(13)分别计算得到目标点b的经纬度坐标:
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(12)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(13)。5.根据权利要求1所述的基于fast-dtw的船舶识别方法,其特征在于,所述基于船舶定位设备发送的实时位置,识别疑似进出港船舶,具体如下:

通过船舶历史轨迹中是否已定位的标识,剔除掉未定位的轨迹点;

根据识别半径和渔港中心点经纬度坐标,构建一个圆形的渔港识别区域;

筛选出定位轨迹在圆形识别区域内且连续轨迹点数量要大于预设值的轨迹,连续轨迹点是指定位轨迹上每两个相隔点的距离不超过n米;

根据轨迹的朝向判断是驶入还是驶离渔港,驶离渔港的轨迹无需再识别,则移出识别区域;

判断当前船舶在预设时间内是否有做2米以上的位移,如果否,则为停泊船舶,停泊的船舶不参与识别,故也移出识别区域。6.根据权利要求1所述的基于fast-dtw的船舶识别方法,其特征在于,dtw设置,具体为设有两条由经纬度点组成的轨迹曲线q=(q1,q2...,q
i,
...q
n
)和c=(c1,c2,...,c
ij
,...c
m
),其中(q1,q2...,q
i,
...q
n
)和(c1,c2,..c
j
,.c
m
)分别为两条轨迹曲线上的经纬度点,数据长度分别为和,一般;定义一个行列距离矩阵,其元素为两条轨迹曲线经纬度点
之间的距离d(q
i
,c
j
)=arccos(cos(90
°‑
wq
i
)cos(90
°‑
wc
j
)sin(90
°‑
wq
i
)sin(90
°‑
wc
j
)cos

j
qc
);其中wq
i
,wc
j
分别为经纬度点q
i
,c
j
的纬度,

j
qc
为经纬度点q
i
,c
j
的经度差,1≤i≤n,1≤j≤m,该矩阵即为轨迹曲线和轨迹曲线的距离矩阵,距离矩阵的具体计算如下所示:
ꢀꢀꢀꢀꢀꢀꢀꢀ
(14)在距离矩阵中,定义表现轨迹曲线相似关系的一组连续的矩阵元素的集合,即为弯曲路径,其中(w1,w2...,w
k
)为一组连续的矩阵元素;定义累计距离为当前格点的经纬度点间距离与能够到达该点的最小的相邻元素的累计距离之和,即如下公式所示:
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(15)因此轨迹曲线和轨迹曲线之间的dtw距离为:
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(16)。7.根据权利要求6所述的基于fast-dtw的船舶识别方法,其特征在于,所述fast-dtw算法使用限制搜索空间和数据抽象两种方法加速dtw距离的计算,具体如下:

对原始的数据序列进行数据抽象处理,用对应多个细粒度数据点的平均值作为粗粒度数据点;

使用dtw算法计算粗粒度化数据序列的dtw距离和规整路径;

将在较粗粒度上得到的规整路径经过的格点细粒度化还原到较细粒度的数据序列上,最终能得到两个数据序列的dtw距离和规整路径;最终计算得到两条轨迹曲线之间的dtw距离, dtw距离越小,则代表两条轨迹曲线越接近,即轨迹间相似度越高。8.根据权利要求7所述的基于fast-dtw的船舶识别方法,其特征在于,所述fast-dtw算法还在较细粒度的空间内额外向外扩展k个粒度。9.根据权利要求1所述的基于fast-dtw的船舶识别方法,其特征在于,所述点匹配,具体为:取两条轨迹上时间最接近的两个时间点,对目标时间点的坐标做距离比对,如距离相差超过阈值,则为误识别,移出队列。10.一种基于fast-dtw的船舶识别系统,其特征在于,包括设备子系统、船舶识别子系统和数据中心子系统;所述设备子系统包括岸基雷达和显示单元;所述船舶识别子系统包括数据处理单元和轨迹匹配单元;所述数据中心子系统包括定位管理单元和船籍管理单元;所述设备子系统通过岸基雷达实时扫描港口船舶,识别出疑似进出港船舶,并获取疑似进出港船舶的雷达轨迹,然后将雷达轨迹加入候选对比序列;所述数据处理单元, 对候选对比序列的雷达轨迹进行预处理;并基于大圆航线转换算
法,将预处理后的雷达轨迹转换为经纬度表示;所述定位管理单元,基于船舶定位设备发送的实时位置,识别疑似进出港船舶,并获取疑似进出港船舶定位轨迹;所述轨迹匹配单元,基于转换后的雷达轨迹,使用fast-dtw算法与定位轨迹进行轨迹相似度匹配,将匹配成功的雷达轨迹和定位轨迹加入待确认序列;基于待确认序列中的雷达轨迹和定位轨迹,进行点匹配,若满足预设条件,即将该疑似进出港船舶标记为进出港船舶;所述船籍管理单元,根据船舶终端号获取船舶信息并传输至设备子系统的显示单元。

技术总结
本发明涉及一种基于Fast-DTW的船舶识别方法,包括以下步骤:岸基雷达实时扫描港口船舶,识别出疑似出港船舶,并获取雷达轨迹,然后将雷达轨迹加入候选对比序列;对候选对比序列的雷达轨迹进行预处理;基于大圆航线转换算法,将预处理后的雷达轨迹转换为经纬度表示;基于船舶定位设备发送的实时位置,识别疑似进出港船舶,并获取定位轨迹;基于转换后的雷达轨迹,使用Fast-DTW算法与定位轨迹进行轨迹相似度匹配,将匹配成功的雷达轨迹和定位轨迹加入待确认序列;基于待确认序列中的雷达轨迹和定位轨迹,进行点匹配,若满足预设条件,即将该疑似进出港船舶标记为进出港船舶,并根据船舶终端号获取船舶信息。本发明能够精确的识别进出港船舶不受天气环境影响。出港船舶不受天气环境影响。出港船舶不受天气环境影响。


技术研发人员:谢云光 吴迎晖 黄炳裕 黄耀东 阮奶春 叶威鑫 刘骏
受保护的技术使用者:长威信息科技发展股份有限公司
技术研发日:2023.07.20
技术公布日:2023/8/24
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐