一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于距离度量和隔离机制的船舶异常行为检测方法

2022-12-09 23:14:32 来源:中国专利 TAG:


1.本发明属于数据挖掘技术领域,具体涉及一种船舶异常行为检测方法。


背景技术:

2.海洋的安全问题以及安保问题一直是海事导航的关注点,尤其是随着航海交通数量的剧烈增长,海洋的安全与安保问题变得尤为重要。为了确保船舶在航海过程中的安全,我们需要实时监测船舶的航行信息,例如位置信息与速度信息等。目前大部分船舶装有的自动识别系统ais(automatic identification system)可以实时的记录船舶的航行信息,这些航行信息中包含了船舶的唯一标识号mmsi(maritime mobile serviceidentify)、经度、维度、航速和航向等。利用这些信息可以帮助我们分析船舶的航行状态以及对船舶的异常轨迹进行检测,以此来预警船舶应采取相应的措施,例如实时的调整船舶航线,降低或加快船舶速度等,进一步提高船舶航行的安全性。
3.然而目前,普遍的船舶异常行为检测都是离线检测,即无法实时的对船舶行为进行异常检测,虽然在实验中异常检测的效果较好,但无法应用于实际工程中。而对于在线的船舶行为异常检测的方法中则普遍采用了距离度量的方式和数学建模的方式,这两种方式都是通过衡量待检测对象与正确对象的距离来判断待检测对象是否存在行为异常。但存在的问题是距离阈值的选取对判断待检测对象是否为异常的影响较大,而基于数学建模的船舶异常行为检测的方法可扩展性较低。同时目前其他大多数在线的船舶异常行为检测的方法中,其只在船舶轨迹异常检测中挖掘出了位置异常信息,并没有挖掘出速度异常信息。
4.综上所述,研究船舶异常行为在线检测的方法具有重要的研究意义。


技术实现要素:

5.为了克服现有技术的不足,本发明提供了一种基于距离度量和隔离机制的船舶异常行为检测方法。该方法基于船舶ais数据进行分析,首先对ais数据进行预处理以及轨迹压缩,然后在多维度密度聚类后的轨迹簇中提取船舶的位置信息模型,通过比较船舶轨迹点与船舶位置信息模型的差异性,实现对船舶的位置信息进行实时的异常检测;接下来采用孤立森林算法检测船舶速度异常,建立了速度权重与判定速度异常的得分值的函数关系,对异常速度值进行检测并剔除,以此得到确的船舶速度集合;最后将待检测速度加入到速度集合中,通过计算待检测速度的异常得分值判断是否出现速度异常。本发明能够提高海上船舶的行驶安全,针对海上船舶的异常行为进行及时检测与预警。
6.本发明解决其技术问题所采用的技术方案包括如下步骤:
7.步骤1:对船舶的ais数据点进行数据预处理,并筛选出船舶的典型轨迹;
8.步骤1-1:对于ais数据点,如果有大于等于两条的ais数据点各项值完全相同,则只保留其中任意一条ais数据点;
9.步骤1-2:根据米勒投影将每个ais数据点的经纬度坐标转化为平面直角坐标,并
通过的标准化方式,将坐标映射到0到10的范围内,得到ais数据点的平面直角坐标x和平面直角坐标y;
10.步骤1-3:将每条船舶的ais数据点按照时间先后进行排序,构建船舶的典型轨迹tr(p1,p2...pn),pi为第i时刻船舶的典型轨迹上的数据点,i=1,2,...n;船舶的典型轨迹上的任意两个相邻ais数据点的时间间隔小于t分钟;如果两个ais数据点的时间间隔大于等于t分钟,则这两个ais数据点中时间较早的一个点为一个典型轨迹的终点,时间较晚的一个点为下一个典型轨迹的起点;
11.步骤2:对船舶的典型轨迹进行轨迹压缩,并划分船舶子轨迹;
12.步骤2-1:采用基于加速度的最小长度描述准则amdl方法对船舶的轨迹进行压缩;
13.步骤2-1-1:将轨迹中的第一个ais数据点标记为特征点;设定startindex=1, length=1;开始遍历船舶一条轨迹上的所有点,令currentindex=startindex length;
14.步骤2-1-2:判断船舶从startindex点到currentindex点的轨迹中任意一个数据点 pi的加速度是否由正变为负或者由负变为正,即或或分别为上一个数据点的速度、当前数据点的速度、下一个数据点的速度;如果currentindex-startindex<2,则认为不存在加速度是否由正变为负或者由负变为正的数据点;
15.步骤2-1-3:如果不存在加速度是否由正变为负或者由负变为正的数据点,则采用 mdl方法进行轨迹压缩,即计算这段轨迹中的分割成本和不分割成本;如果分割成本大于不分割成本且currentindex-startindex≥2,则将currentindex-1处的点标记为轨迹特征点,并令startindex=currentindex-1,length=1;否则,令length=length 1;
16.如果存在加速度是否由正变为负或者由负变为正的数据点,将该点的位置标记为 currentindex并将该点标记为轨迹特征点,同时令startindex=currentindex,length=1;
17.步骤2-1-4:若startindex length>n,将所有特征点输出;基于amdl方法压缩后的轨迹点表示为其压缩后的轨迹表示为
18.步骤2-2:在压缩后的轨迹上,将相邻两轨迹点构成的线段作为船舶的子轨迹,表示为
19.步骤3:对船舶子轨迹进行多维度密度聚类,同时去除噪声;
20.步骤3-1:采用dbscan算法,将算法中的聚类对象改为船舶的子轨迹,将相似性度量改为子轨迹间的角度距离、垂直距离、平行距离以及速度差异;
21.两个子轨迹的相似度度量表示为:
[0022][0023]
其中,ω

、ω
||
、ω
θ
分别为垂直距离权重、平行距离权重、角度距离权重;d

、d
||
、 d
θ
分别表示任意两个子轨迹间的垂直距离、平行距离、角度距离;ωv表示速度权重;
表示相邻两轨迹点构成的线段而形成的船舶的子轨迹;子轨迹的速度为迹的速度为分别表示相邻两轨迹点的速度,分别表示相邻两轨迹点的速度;
[0024]
步骤3-2:根据不同维度权重与噪声点个数的关系图,确定速度权重值ωv<0.25;
[0025]
步骤4:在多维度密度聚类的轨迹簇中进行网格划分,同时在每个网格上提取中心向量;
[0026]
网格划分方法为:将压缩后的轨迹中轨迹点的平面直角坐标x值按照从小到大进行排序,均匀划分10个网格;每个网格表示为,1≤k≤10,每个网格的轨迹点数表示为
[0027]
在每个网格上提取轨迹的中心向量,中心向量由该网格所有轨迹点的x坐标的平均值avgx、y坐标的平均值avgy以及中值距离mediumd构成,表示为cv=(avgx,avgy,mediumd),中值距离其中len表示计算两个轨迹点的欧式距离;
[0028]
步骤5:通过多维度密度聚类的速度权重计算速度异常阈值score(ωv),计算公式为:
[0029][0030]
其中k=1.26787944为调和数;
[0031]
步骤6:通过孤立森林算法检测出每个网格中的异常速度值,并将其进行剔除;
[0032]
通过孤立森林算法计算网格中每个轨迹点速度的异常得分值,如果该异常得分值大于速度异常阈值score(ωv),则将该点进行去除,以此得到所有网格中船舶轨迹点正确速度的集合;
[0033]
步骤7:检测船舶是否出现位置异常或速度异常。
[0034]
步骤7-1:计算每个网格中待检测点与中心向量的距离阈值;
[0035]
计算网格中每个轨迹点到中心向量的相对距离的均值μ和标准差σ,定义距离阈值为μ 3σ和μ-3σ;
[0036]
相对距离的计算公式如下:
[0037][0038]
其中,p表示轨迹点;cv表示中心向量,包括x坐标的平均值cv.avgx、y坐标的平均值cv.avgy以及中值距离cv.mediumd三部分;
[0039]
步骤7-2:计算待检测船舶轨迹点的平面直角坐标,确定待检测船舶所属的网格;然后计算待检测船舶所在轨迹点与该网格中心向量的相对距离,如果该相对距离大于μ 3σ或小于μ-3σ,则判定船舶位置出现异常;
[0040]
步骤7-3:通过孤立森林算法计算待检测速度的异常得分值,如果该异常得分值大于速度异常阈值score(ωv),则判定船舶速度出现异常。
[0041]
优选地,所述ais数据点的值包括mmsi,longitude,latitude,year,month, day,hour,minute,second,sog,cog。
[0042]
优选地,所述t=6。
[0043]
本发明的有益效果如下:
[0044]
本发明提出了一种新型的轨迹压缩方式
‑‑
基于加速度的最小长度描述准则。通过该方式对船舶轨迹进行压缩,不仅可以保留原始轨迹的位置特征点,也可以保留其速度特征点。同时本发明不仅可以在船舶轨迹异常检测中挖掘出位置信息异常,还可以在位置信息正常的基础上判断船舶是否出现速度异常,以此来预警船舶应采取相应的措施,例如实时的调整船舶航线,降低或加快船舶速度等,进一步提高船舶航行的安全性。
附图说明
[0045]
图1为本发明方法框图。
[0046]
图2为本发明实施例某船舶的一条典型轨迹。
[0047]
图3为本发明实施例压缩后的一条轨迹。
[0048]
图4为本发明实施例权重与噪声点的关系。
[0049]
图5为本发明实施例多维度密度聚类后的轨迹簇。
[0050]
图6为本发明实施例速度异常阈值与检测率和误报率的关系。
具体实施方式
[0051]
下面结合附图和实施例对本发明进一步说明。
[0052]
本发明设计了一种基于距离度量和隔离机制的船舶异常行为检测方法,其不仅可以实时的检测船舶轨迹的位置信息异常,也可以实时的检测船舶的速度信息异常。包括如下步骤:
[0053]
步骤1:对船舶的ais数据点进行数据预处理,并筛选出船舶的典型轨迹;
[0054]
步骤1-1:对于ais数据点,如果有大于等于两条的ais数据点各项值完全相同,则只保留其中任意一条ais数据点;
[0055]
步骤1-2:根据米勒投影将每个ais数据点的经纬度坐标转化为平面直角坐标,并通过的标准化方式,将坐标映射到0到10的范围内,得到ais数据点的平面直角坐标x和平面直角坐标y;
[0056]
步骤1-3:将每条船舶的ais数据点按照时间先后进行排序,构建船舶的典型轨迹tr(p1,p2...pn),pi为第i时刻船舶的典型轨迹上的数据点,i=1,2,...n;船舶的典型轨迹上的任意两个相邻ais数据点的时间间隔小于6分钟;如果两个ais数据点的时间间隔大于等于t分钟,则这两个ais数据点中时间较早的一个点为一个典型轨迹的终点,时间较晚的一个点为下一个典型轨迹的起点;
[0057]
步骤2:对船舶的典型轨迹进行轨迹压缩,并划分船舶子轨迹;
[0058]
步骤2-1:采用基于加速度的最小长度描述准则amdl方法对船舶的轨迹进行压缩;
[0059]
步骤2-1-1:将轨迹中的第一个ais数据点标记为特征点;设定startindex=1, length=1;开始遍历船舶一条轨迹上的所有点,令currentindex=startindex length;
[0060]
步骤2-1-2:判断船舶从startindex点到currentindex点的轨迹中任意一个数据点 pi的加速度是否由正变为负或者由负变为正,即或或分别为上一个数据点的速度、当前数据点的速度、下一个数据点的速度;如果currentindex-startindex<2,则认为不存在加速度是否由正变为负或者由负变为正的数据点;
[0061]
步骤2-1-3:如果不存在加速度是否由正变为负或者由负变为正的数据点,则采用 mdl方法进行轨迹压缩,即计算这段轨迹中的分割成本和不分割成本;如果分割成本大于不分割成本且currentindex-startindex≥2,则将currentindex-1处的点标记为轨迹特征点,并令startindex=currentindex-1,length=1;否则,令length=length 1;
[0062]
如果存在加速度是否由正变为负或者由负变为正的数据点,将该点的位置标记为 currentindex并将该点标记为轨迹特征点,同时令startindex=currentindex,length=1;
[0063]
步骤2-1-4:若startindex length>n,将所有特征点输出;基于amdl方法压缩后的轨迹点表示为,其压缩后的轨迹表示为
[0064]
步骤2-2:在压缩后的轨迹上,将相邻两轨迹点构成的线段作为船舶的子轨迹,表示为
[0065]
步骤3:对船舶子轨迹进行多维度密度聚类,同时去除噪声;
[0066]
步骤3-1:采用dbscan算法,将算法中的聚类对象改为船舶的子轨迹,将相似性度量改为子轨迹间的角度距离、垂直距离、平行距离以及速度差异;
[0067]
两个子轨迹的相似度度量表示为:
[0068][0069]
其中,ω

、ω
||
、ω
θ
分别为垂直距离权重、平行距离权重、角度距离权重;d

、d
||
、 d
θ
分别表示任意两个子轨迹间的垂直距离、平行距离、角度距离;ωv表示速度权重;表示相邻两轨迹点构成的线段而形成的船舶的子轨迹;子轨迹的速度为迹的速度为分别表示相邻两轨迹点的速度,的速度,分别表示相邻两轨迹点的速度;
[0070]
步骤3-2:根据不同维度权重与噪声点个数的关系图,确定速度权重值ωv<0.25;
[0071]
步骤4:在多维度密度聚类的轨迹簇中进行网格划分,同时在每个网格上提取中心向量;
[0072]
网格划分方法为:将压缩后的轨迹中轨迹点的平面直角坐标x值按照从小到大进
行排序,均匀划分10个网格;每个网格表示为,1≤k≤10,每个网格的轨迹点数表示为
[0073]
在每个网格上提取轨迹的中心向量,中心向量由该网格所有轨迹点的x坐标的平均值avgx、y坐标的平均值avgy以及中值距离mediumd构成,表示为cv= (avgx,avgy,mediumd),中值距离其中len表示计算两个轨迹点的欧式距离;
[0074]
步骤5:通过多维度密度聚类的速度权重计算速度异常阈值score(ωv),计算公式为:
[0075][0076]
其中k=1.26787944为调和数;
[0077]
步骤6:通过孤立森林算法检测出每个网格中的异常速度值,并将其进行剔除;
[0078]
通过孤立森林算法计算网格中每个轨迹点速度的异常得分值,如果该异常得分值大于速度异常阈值score(ωv),则将该点进行去除,以此得到所有网格中船舶轨迹点正确速度的集合;
[0079]
步骤7:检测船舶是否出现位置异常或速度异常。
[0080]
步骤7-1:计算每个网格中待检测点与中心向量的距离阈值;
[0081]
计算网格中每个轨迹点到中心向量的相对距离的均值μ和标准差σ,定义距离阈值为μ 3σ和μ-3σ;
[0082]
相对距离的计算公式如下:
[0083][0084]
其中,p表示。。。。;cv表示。。。,包括x坐标的平均值cv.avgx、y坐标的平均值cv.avgy 以及中值距离cv.mediumd三部分;
[0085]
步骤7-2:计算待检测船舶轨迹点的平面直角坐标,确定待检测船舶所属的网格;然后计算待检测船舶所在轨迹点与该网格中心向量的相对距离,如果该相对距离大于μ 3σ或小于μ-3σ,则判定船舶位置出现异常;
[0086]
步骤7-3:通过孤立森林算法计算待检测速度的异常得分值,如果该异常得分值大于速度异常阈值score(ωv),则判定船舶速度出现异常。
[0087]
具体实施例:
[0088]
1、对船舶的ais数据点进行数据预处理,并筛选出船舶的典型轨迹。图2为某船舶的典型轨迹;
[0089]
2、对船舶的典型轨迹进行轨迹压缩,并划分船舶子轨迹。图3为该船舶轨迹进行压缩后的轨迹。
[0090]
3、对船舶子轨迹进行多维度密度聚类,同时去除噪声。其中多维度密度聚类中速度权重的选取,可以通过图4进行确定。如果相较于其他权重的增加,速度权重的增加对噪
声点的个数下降影响最为明显时,那么反应该区域的船舶速度较为平均。那么小于0.25的速度权重值都可作为速度权重取值的参考。图5为对子轨迹进行多维度密度聚类后的轨迹簇,其中灰色为轨迹簇,黑色为噪声点。
[0091]
4、在多维度密度聚类的轨迹簇中进行网格划分,同时在每个网格上提取船舶正确位置模型。网格划分后可以形成图5中0-1,1-2....9-10共10个网格。
[0092]
5、通过多维度密度聚类的速度权重确定孤立森林算法判定速度为异常的得分值。将速度权重带入公式中,可以得到孤立森林算法判定速度为异常的得分值。
[0093]
6、通过孤立森林算法检测出每个网格中的异常速度值,并将其进行剔除。
[0094]
7、检测船舶是否出现位置异常或速度异常。
[0095]
检测效果可以通过检测率和误报率进行衡量。检测率又称真阳性率,指在船舶轨迹(速度)异常检测时间段内,由船舶轨迹(速度)异常检测算法检测出的船舶异常轨迹(速度)数占实际存在的船舶异常轨迹(速度)数的百分比。误报率又称假阳性率,指在船舶轨迹(速度)异常检测时间段内,由船舶轨迹(速度)异常检测算法检测出的虚假船舶异常轨迹(速度)数占实际存在的船舶正常轨迹(速度)数的百分比。
[0096]
本实施例选取了某网格区域的共246个船舶速度值。对其进行标签标记,其中5 个为异常值,241个为正常值。图6则描述了判定速度为异常的得分值的不同取值与 检测率和误报率的关系。从图6中可以看出,通过score(ω)选取的判定速度为异常的 得分值,在检测率和误报率之间都有着较好的平衡。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献