发明内容
为解决上述技术问题,本申请提出一种能够解决现有海上监管中,不能快速且精准查找出异常船舶,并且在查找异常船舶时要依靠有关专家的经验,识别速度慢,效率低等问题的异常船舶查找方法。
为此,本发明的第一个目的在于,提供一种基于轨迹知识图谱的异常船舶查找方法。
本发明的第二个目的在于,提供一种基于轨迹知识图谱的异常船舶查找装置。
本发明的第三个目的在于,提供一种基于轨迹知识图谱的异常船舶查找装置。
本发明的第四个目的在于,提供一种可读存储介质。
有鉴于此,本发明第一方面的技术方案提供了一种基于轨迹知识图谱的异常船舶查找方法,包括:获取所有船舶的AIS数据;根据所有船舶的AIS数据构建轨迹知识图谱,轨迹知识图谱包括船舶航行的关键区域、船舶列表和船舶轨迹段列表,以及船舶列表中的每个船舶与每个关键区域和每个轨迹段之间的对应关系。异常船舶确定步骤:根据轨迹知识图谱计算船舶列表中的任一目标船舶的路线合理度,并将计算出的路线合理度记录到轨迹知识图谱中;从轨迹知识图谱中抽取路线合理度小于预设合理度的船舶,并将其确定为异常船舶;和/或根据轨迹知识图谱分析船舶列表中的任一目标船舶的航行行为是否异常,并将分析结果作为对应船舶的航行行为的属性记录到轨迹知识图谱中;从轨迹知识图谱中抽取航行行为的属性为异常的船舶,并将其确定为异常船舶;根据轨迹知识图谱计算船舶列表中的任一目标船舶的路线合理度的步骤包括:根据目标船舶的轨迹确定其经过的关键区域,记为关键经过区域;根据轨迹知识图谱确定出在轨迹上相邻的任意两个关键经过区域之间的抵达度;根据目标船舶的关键经过区域将目标船舶的轨迹划分成一个或多个轨迹段,轨迹段为目标船舶从一个关键经过区域到另一个关键经过区域所经过的路线,将轨迹段所连接的两个关键经过区域之间的抵达度确定为轨迹段的路线合理度;根据目标船舶所有的轨迹段的路线合理度计算出目标船舶的路线合理度。
在该技术方案中,提供了一种基于轨迹知识图谱的异常船舶查找方法,该异常船舶查找方法的步骤具体为:首先从数据库中获取所有船舶在一定时间段内的AIS数据,然后根据所有船舶的AIS数据构建轨迹知识图谱,所有船舶的AIS数据包括船舶航行经过的关键区域、船舶的信息以及船舶的行驶轨迹段等,其中,关键区域是指在航行过程中,船舶出现低速或者转向的区域,因此,由所有船舶的AIS数据构建的轨迹知识图谱包括船舶航行的关键区域、船舶列表和船舶轨迹段列表,此外,轨迹知识图谱中还包括每个船舶与每个关键区域和每个轨迹段之间的对应关系。由此,构建出的轨迹知识图谱能够反映出所有船舶的航行信息,在后续筛选异常船舶时,通过这些关键区域、船舶信息以及船舶的轨迹段信息能够对异常船舶进行有针对性的筛选。
在构建好轨迹知识图谱后,可以对异常船舶进行筛选。具体而言,首先,确定出想要查找的目标船舶,目标船舶可以为一艘,也可以为多艘,但目标船舶的各种信息需要在知识图谱中,本发明中异常船舶信息要提前加入到轨迹知识图谱中,如果选择的目标船舶未在轨迹知识图谱中,可随时加入到轨迹知识图谱中,在确定好目标船舶之后,确定目标船舶的路线合理度。轨迹知识图谱中的信息包括:目标船舶航行的关键区域、行驶轨迹段以及关键区域与行驶轨迹段的关系,并且根据这些信息确定目标船舶的路线合理度,同时将目标船舶的路线合理度数值添加到轨迹知识图谱中,基于业务中给定的合理度阈值,从中抽取出路线合理度小于合理度阈值的船舶,并将其确定为异常船舶。此外,还可以根据轨迹知识图谱分析目标船舶的航行行为是否异常,这里的航行行为异常指的是在航行相同路线的船舶中,目标船舶的航行行为与大多数船舶的航行行为相差较远,在数据上表现为目标船舶存在一个属性向量与其余相同路线船舶的属性向量距离较远的轨迹段。在轨迹知识图谱中分析出目标船舶为异常船舶时,将这个异常的属性向量添加到轨迹知识图谱中,从轨迹知识图谱中抽取出有异常属性向量的船舶,将其确定为异常船舶。在本发明的技术方案中,根据轨迹知识图谱查找异常船舶,一方面能够摆脱专家经验的局限,从而识别出规则之外的异常船舶,另一方面,通过轨迹知识图谱能够快速查找到异常船舶,提高筛选的准确性,为海上监管工作提供精准的参考信息。
根据轨迹知识图谱计算船舶列表中的任一目标船舶的路线合理度的步骤包括:先根据目标船舶的AIS数据确定目标船舶的航线,通过分析其航线能够确定出目标船舶所经过的关键区域,并将其记为关键经过区域,然后根据轨迹知识图谱中记载的所有船舶的AIS数据,确定相邻的任意两个关键经过区域之间的抵达度,需要说明的是,抵达度的数值是根据所有船舶的AIS数据确定出的,与目标船舶的AIS数据无关,再将目标船舶从一个关键经过区域到另一个关键经过区域作为目标船舶的轨迹段,目标船舶的轨迹段有一个或多个时,将轨迹段所连接的两个关键经过区域之间的抵达度确定为轨迹段的路线合理度,最后,根据目标船舶所有的轨迹段的路线合理度计算出目标船舶的路线合理度。在本发明中,根据所有船舶的AIS数据确定出所有的关键区域,关键区域和关键区域之间形成轨迹段,由多个轨迹段组成轨迹网,船舶从一个关键区域离开,会有很多个选择,抵达度就是船舶从一个关键区域离开,到达另一个关键区域(有多个另一个关键区域)的概率,即抵达度是目标船舶会走某一条轨迹段的概率,将轨迹段所连接的两个关键经过区域之间的抵达度确定为轨迹段的路线合理度,最后根据目标船舶的所有轨迹段的路线合理度计算出目标船舶的路线合理度。
本发明中,通过目标船舶的轨迹段合理度来计算出目标船舶路线合理度,此后便可基于路线合理度来确定该船舶是否为异常船舶。该种方法是以所有船舶的历史航线记录,将其拆分为多个轨迹段,每个轨迹段上附带有船舶选择这条轨迹段的概率,那么选择概率高的轨迹段也就是大多数船舶都会选择的轨迹段路线,如果目标船舶行驶的轨迹段是大多数船舶都会选择的轨迹段,那么由各个轨迹段汇总成的路线确定为合理路线。如果目标船舶行驶的轨迹段是大多数船舶没有选择的轨迹段,则认为该船舶出现异常,由这些轨迹段汇总成的路线确定为异常路线。通过路线的合理度确定目标船舶是否为异常船舶,基于此,本发明的方法是以所有船舶的历史记录为参考,对异常船舶进行查找,相比于依靠专家的个人经验来说,本发明为后续判断异常船舶提供了精准的数据支持,由历史船舶的航线记录判断目标船舶是否为异常船舶的准确度也大大提高。
上述技术方案中,根据轨迹知识图谱确定出在轨迹上相邻的任意两个关键经过区域之间的抵达度的步骤包括:当轨迹知识图谱中未记录两个关键经过区域之间的抵达度时,根据轨迹知识图谱计算出两个关键经过区域之间的抵达度,并向轨迹知识图谱中记录两个关键经过区域之间的抵达关系及对应抵达关系的抵达度,然后从轨迹知识图谱中获取任意两个关键经过区域之间的抵达度;当轨迹知识图谱中记录有两个关键经过区域之间的抵达度时,直接从轨迹知识图谱中获取两个关键经过区域之间的抵达度。
在该技术方案中,获取抵达度的方式有两种,一种情况是轨迹知识图谱中没有从该关键区域到另一个关键区域的抵达度,此时,需要根据历史船舶的记录计算出这个抵达度,另一种情况是轨迹知识图谱中记录有从该关键经过区域到另一个关键经过区域的抵达度,此时,直接从轨迹知识图谱中直接获取即可。具体来说,当轨迹知识图谱中没有记录两个关键经过区域之间的抵达度时,根据轨迹知识图谱中记载的所有船舶的AIS数据,确定相邻的任意两个关键经过区域之间的抵达度,并且将这个抵达度添加到轨迹知识图谱中,然后再从轨迹知识图谱中获取抵达度,需要说明的是,添加到轨迹知识图谱中的抵达度为以后判断目标船舶是否为异常船舶提供数据支持。另外一种情况是,轨迹知识图谱中存在两个关键经过区域之间的抵达度,也就是说,在之前计算过该抵达度,此时,可以直接从轨迹知识图谱中直接获取两个关键经过区域之间的抵达度。本发明获取抵达度时,分为直接获取和间接获取,在轨迹知识图谱中没有记录所需要的抵达度时,通过所有船舶的信息来确定抵达度,也就是间接获取;在轨迹知识图谱中有记录所需要的抵达度时,直接获取抵达度即可,即轨迹知识图谱中的各种信息是逐渐完善的,只计算需要的抵达度,将确定抵达度的工作分配到每一次异常船舶的查找中,逐步完善轨迹知识图谱,相比于一次确定所有轨迹段的抵达度,将确定抵达度的工作分配到每一次异常船舶的查找中能够降低构建轨迹知识图谱的难度,提高构建轨迹知识图谱的效率。此外,对于直接获取的方式,轨迹知识图谱具有储存抵达度的功能,能够减少获取抵达度的时间,提高异常船舶查找的速度。
上述技术方案中,计算任意两个关键区域wpi、wpj之间的抵达度的公式为:
其中,wwpi,wpj指的是关键区域wpi到关键区域wpj的抵达度,num_traj(wpi,wpj)指的是从关键区域wpi到关键区域wpj的轨迹段的个数,num_traj(wpi,x)指的是离开关键区域wpi后到达除wpi外的关键区域的轨迹段的个数,num_traj(x,wpj)指的是离开其他关键区域后到达关键区域wpj的轨迹段的个数。
该技术方案中,计算任意两个关键区域之间的抵达度是通过轨迹段完成的,不同关键区域之间存在一个或者多个轨迹段,也可能不存在轨迹段,当计算关键区域wpi到关键区域wpj时,用两倍的关键区域wpi到关键区域wpj轨迹段个数除以关键区域wpi到达其他区域x与其他区域x到达关键区域wpj的和,由此,获得关键区域wpi到关键区域wpj的抵达度。
在上述技术方案中,计算任一目标船舶的路线合理度的计算公式为:
其中,route_rationality指的是船舶路线合理度,route_rationalitytraj指的是轨迹段traj的路线合理度,traj_list指的是船舶的轨迹段列表,轨迹段traj为轨迹段列表中的任一轨迹段,∏表示连续求积,∈表示包含,而上述公式表示,船舶路线合理度等于其所有轨迹段的路线合理度的乘积,而该乘积表示的是,一艘船舶在航行时,选择当前航行轨迹的概率,如果其概率值较低,说明大多数船舶不会选择该路线,因此,有理由认为,其路线选择是不太合理的,故而存在异常的可能性,因此便可将其认为是异常船舶。如果其概率值较高,则说明选择该路线的船舶是比较多的,故而可以说明其路线是比较合理的。
在上述技术方案中,根据轨迹知识图谱分析船舶列表中的任一目标船舶的航行行为是否异常的步骤包括:获取目标船舶的轨迹段,针对每个轨迹段,在轨迹知识图谱中查找出与该轨迹段经过相同关键区域的所有轨迹段及其属性,将查找出的所有轨迹段汇总成轨迹段样本;基于轨迹段样本,通过聚类算法对每个轨迹段的航行行为是否异常进行判断,具体步骤为:给定DBSCAN聚类算法(Density-Based Spatial Clustering of Applicationswith Noise,基于密度的聚类算法)中的邻域半径参数Eps(epsillon)和最小样本个数参数MinPts(领域密度阀值);若轨迹段的Eps邻域中至少包含MinPts个轨迹段,则确定轨迹段为核心轨迹段;若轨迹段的Eps邻域中包含的轨迹段个数小于MinPts,且轨迹段在其他核心轨迹段的Eps邻域中,则确定轨迹段为边界轨迹段;若轨迹段既不是核心轨迹段,也不是边界轨迹段,则确定轨迹段为异常轨迹段。
在该技术方案中,还可通过目标船舶的航行行为确定其是否为异常船舶,获取目标船舶的所有轨迹段,对于每个轨迹段,从所构建的轨迹知识图谱中抽取与该轨迹段经过相同关键区域的轨迹段,所抽取轨迹段的属性向量列表即构成轨迹段样本。通过DBSCAN聚类算法对轨迹段是否异常进行判断。具体来说,DBSCAN聚类算法将具有足够密度的区域划分为簇,并可以在具有噪声的数据集中发现任意形状的簇,它将簇定义为密度相连的点的最大集合。在DBSCAN聚类算法中将样本集中的数据点分为三类,分别为核心点、边界点和噪音点,即将轨迹段样本集分为核心轨迹段、边界轨迹段和噪音轨迹段,噪音轨迹段即为我们要发现的异常轨迹段。给定DBSCAN聚类算法中的邻域半径参数Eps和最小样本个数参数MinPts,其中,给定对象半径Eps内的邻域称为该对象的Eps邻域,核心轨迹段的定义为,若轨迹段traj的Eps邻域中至少包含了MinPts个轨迹段,即至少存在MinPts个轨迹段与轨迹段traj的距离小于Eps,则称轨迹段traj为核心轨迹段;边界轨迹段的定义为,若轨迹段traj的Eps邻域中包含的轨迹段个数小于MinPts,但是该轨迹段在其他核心轨迹段的Eps邻域中,则称轨迹段traj为边界轨迹段;噪音轨迹段的定义为,若轨迹段traj既不是核心轨迹段也不是边界轨迹段,则称该轨迹段为噪音轨迹段。
在上述技术方案中,在异常船舶确定步骤之前还包括:将给定时间段内经过给定区域内的所有船舶确定为目标船舶。
在该技术方案中,在确定异常船舶之前,需要先确定目标船舶,目标船舶可以通过时间和空间来确定,即可以设定一个指定时间段和一个指定区域,那么在指定时间段内经过指定区域的船舶则被确定为目标船舶。在实际过程中,可以根据需要实际需要的排查时间和区域,来合理设置给定时间段和经过给定区域,从而对给定时间段内经过给定区域的船舶进行排查,以便确定给定时间段内经过给定区域的船舶是否有异常行为。
在上述技术方案中,根据所有船舶的AIS数据构建轨迹知识图谱的步骤包括:确定关键区域:根据所有船舶的AIS数据,筛选出所有船舶低速或转向的关键点,对关键点进行密度聚类,得到至少一个带有关键点集合的多边形图形;将任一个多边形图形确定为一个关键区域。
在该技术方案中,构建轨迹知识图谱的关键步骤便要先确定出关键区域。而确定关键区域的方法在于:首先根据所有船舶的AIS数据,这里的AIS数据包括船舶近一年的航行记录,记录了每艘船近一年的轨迹点列表,其中列表中的每个轨迹点数据包含该点的utc时间戳、经度、纬度、对地航速、对地航向、船艏向、旋转角速度等,根据所有船舶的AIS数据筛选出所有船舶低速或转向的关键点,也就是将船舶在航行过程中,低速和停留以及异常停留的地点作为关键点,再利用DBSCAN聚类算法将所有的关键点进行划分,从而得到多个关键点的集合,将具有多个关键点的集合作为关键区域,关键区域的数量为多个。将关键区域添加到轨迹知识图谱中,相比于将所有的关键点信息都储存到轨迹知识图谱中,将关键区域添加到轨迹知识图谱中,能够减少轨迹知识图谱储存的信息量,同时,又能体现出所有船舶的历史行驶轨迹的特征,确定出比较容易出现船舶异常行为或航线异常的区域。
本发明第二方面的技术方案提供了一种基于轨迹知识图谱的异常船舶查找装置,包括:获取模块、构建模块、合理度确定模块以及航行行为确定模块。获取模块用于获取所有船舶的AIS数据;构建模块用于根据所有船舶的AIS数据构建轨迹知识图谱,轨迹知识图谱包括船舶航行的关键区域、船舶列表和船舶轨迹段列表,以及船舶列表中的每个船舶与每个关键区域和每个轨迹段之间的对应关系;合理度确定模块用于根据轨迹知识图谱计算船舶列表中的任一目标船舶的路线合理度,并将计算出的路线合理度记录到轨迹知识图谱中,从轨迹知识图谱中抽取路线合理度小于预设合理度的船舶,并确定为异常船舶;航行行为确定模块用于根据轨迹知识图谱分析船舶列表中的任一目标船舶的航行行为是否异常,并将分析结果作为对应船舶的航行行为的属性记录到轨迹知识图谱中,从轨迹知识图谱中抽取航行行为的属性为异常的船舶,并确定为异常船舶;根据轨迹知识图谱计算船舶列表中的任一目标船舶的路线合理度包括:根据目标船舶的轨迹确定其经过的关键区域,记为关键经过区域,根据轨迹知识图谱确定出在轨迹上相邻的任意两个关键经过区域之间的抵达度,根据目标船舶的关键经过区域将目标船舶的轨迹划分成一个或多个轨迹段,轨迹段为目标船舶从一个关键经过区域到另一个关键经过区域所经过的路线,将轨迹段所连接的两个关键经过区域之间的抵达度确定为轨迹段的路线合理度,根据目标船舶所有的轨迹段的路线合理度计算出目标船舶的路线合理度。
在该技术方案中,首先获取模块从数据库中获取所有船舶在一定时间段内的AIS数据,然后构建模块根据所有船舶的AIS数据构建轨迹知识图谱,所有船舶的AIS数据包括船舶航行经过的关键区域、船舶的信息以及船舶的行驶轨迹段,其中,关键区域是指在航行过程中,船舶出现低速或者转向的区域,因此,由所有船舶的AIS数据构建的轨迹知识图谱包括船舶航行的关键区域、船舶列表和船舶轨迹段列表。此外,轨迹知识图谱中还包括每个船舶与每个关键区域和每个轨迹段之间的对应关系。由此,构建出的轨迹知识图谱能够反映出所有船舶的航行信息,在后续筛选异常船舶时,通过这些关键区域、船舶信息以及船舶的轨迹段信息能够对异常船舶进行有针对性的筛选。
在构建好轨迹知识图谱后,可以对异常船舶进行筛选。具体而言,首先,确定想要查找的目标船舶,目标船舶可以为一艘,也可以为多艘,但目标船舶的各种信息需要在知识图谱中,即本发明中异常船舶信息要提前加入到轨迹知识图谱中,如果选择的目标船舶未在轨迹知识图谱中,可随时加入到轨迹知识图谱中,在确定好目标船舶之后,确定目标船舶的路线合理度。轨迹知识图谱中的信息包括:目标船舶航行的关键区域、行驶轨迹段以及关键区域与行驶轨迹段的关系,并且合理度确定模块根据这些信息确定目标船舶的路线合理度,同时将目标船舶的路线合理度数值添加到轨迹知识图谱中,基于业务中给定的合理度阈值,从中抽取出路线合理度小于合理度阈值的船舶,并将其确定为异常船舶。此外,还可以根据轨迹知识图谱分析目标船舶的航行行为是否异常,这里的航行行为指在航行相同路线的船舶中,目标船舶的航行行为与大多数船舶的航行行为相差较远,在数据上表现为目标船舶存在一个属性向量与其余相同路线船舶的属性向量距离较远的轨迹段。航行行为确定模块在轨迹知识图谱分析到目标船舶为异常船舶时,将这个异常的属性向量添加到轨迹知识图谱中,从轨迹知识图谱中抽取出有异常属性向量的船舶,将其确定为异常船舶。在本发明的技术方案中,根据轨迹知识图谱查找异常船舶,一方面能够摆脱专家经验的局限,从而识别出规则之外的异常船舶,另一方面,通过轨迹知识图谱能够快速查找到异常船舶,提高了筛选的准确性,为海上监管工作提供精准的参考信息。
根据轨迹知识图谱计算船舶列表中的任一目标船舶的路线合理度具体包括:先根据目标船舶的AIS数据确定目标船舶的航线,通过分析其航线能够确定出目标船舶所经过的关键区域,并将其记为关键经过区域,然后根据轨迹知识图谱中记载的所有船舶的AIS数据,确定相邻的任意两个关键经过区域之间的抵达度,需要说明的是,抵达度的数值是根据所有船舶的AIS数据确定出的,与目标船舶的AIS数据无关,再将目标船舶从一个关键经过区域到另一个关键经过区域作为目标船舶的轨迹段,目标船舶的轨迹段有一个或多个时,将轨迹段所连接的两个关键经过区域之间的抵达度确定为轨迹段的路线合理度,最后,根据目标船舶所有的轨迹段的路线合理度计算出目标船舶的路线合理度。在本发明中,根据所有船舶的AIS数据确定出所有的关键区域,关键区域和关键区域之间形成轨迹段,由多个轨迹段组成轨迹网,船舶从一个关键区域离开,会有很多个选择,抵达度就是船舶从一个关键区域离开,到达另一个关键区域(有多个另一个关键区域)的概率,即抵达度是目标船舶会走某一条轨迹段的概率,将轨迹段所连接的两个关键经过区域之间的抵达度确定为轨迹段的路线合理度,最后根据目标船舶的所有轨迹段的路线合理度计算出目标船舶的路线合理度。
本发明的第三方面提出了一种基于轨迹知识图谱的异常船舶查找装置,包括:存储器,其上存储有程序或指令;处理器,执行存储器存储的程序或指令时,实现第一方面提供的基于轨迹知识图谱的异常船舶查找方法的步骤。
本发明的第四方面提出了一种可读存储介质,其上存储有程序或指令,程序或指令被处理器执行时实现第一方面提供的基于轨迹知识图谱的异常船舶查找方法的步骤。
本发明的附加方面和优点将在下面的描述部分中变得明显,或通过本发明的实践了解到。
具体实施方式
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采样其他不同于在此描述的其他方式来实施,因此,本发明的保护范围并不受下面公开的具体实施例的限制。
下面参照图1至图16来描述本发明提供的基于轨迹知识图谱的异常船舶查找方法、装置以及可读存储介质。
如图1所示,根据本发明的一个实施例,提出了一种基于轨迹知识图谱的异常船舶查找方法,该方法包括:
S102:获取所有船舶的AIS数据;
S104:根据所有船舶的AIS数据构建轨迹知识图谱,轨迹知识图谱包括船舶航行的关键区域、船舶列表和船舶轨迹段列表,以及船舶列表中的每个船舶与每个关键区域和每个轨迹段之间的对应关系;
S106:根据轨迹知识图谱计算船舶列表中的任一目标船舶的路线合理度,并将计算出的路线合理度记录到轨迹知识图谱中,从轨迹知识图谱中抽取路线合理度小于预设合理度的船舶,并确定为异常船舶;
S108:根据轨迹知识图谱分析船舶列表中的任一目标船舶的航行行为是否异常,并将分析结果作为对应船舶的航行行为的属性记录到轨迹知识图谱中,从轨迹知识图谱中抽取航行行为的属性为异常的船舶,并确定为异常船舶。
在该实施例中,提供了一种基于轨迹知识图谱的异常船舶查找方法,该异常船舶查找方法的步骤具体为:首先从数据库中获取所有船舶在一定时间段内的AIS数据,然后根据所有船舶的AIS数据构建轨迹知识图谱,所有船舶的AIS数据包括船舶航行经过的关键区域、船舶的信息以及船舶的行驶轨迹段等,其中,关键区域是指在航行过程中,船舶出现低速或者转向的区域,因此,由所有船舶的AIS数据构建的轨迹知识图谱包括船舶航行的关键区域、船舶列表和船舶轨迹段列表,此外,轨迹知识图谱中还包括每个船舶与每个关键区域和每个轨迹段之间的对应关系。由此,构建出的轨迹知识图谱能够反映出所有船舶的航行信息,在后续筛选异常船舶时,通过这些关键区域、船舶信息以及船舶的轨迹段信息能够对异常船舶进行有针对性的筛选。
在构建好轨迹知识图谱后,可以对异常船舶进行筛选。具体而言,首先,确定出想要查找的目标船舶,目标船舶可以为一艘,也可以为多艘,但目标船舶的各种信息需要在知识图谱中,本发明中异常船舶信息要提前加入到轨迹知识图谱中,如果选择的目标船舶未在轨迹知识图谱中,可随时加入到轨迹知识图谱中,在确定好目标船舶之后,确定目标船舶的路线合理度。轨迹知识图谱中的信息包括:目标船舶航行的关键区域、行驶轨迹段以及关键区域与行驶轨迹段的关系,并且根据这些信息确定目标船舶的路线合理度,同时将目标船舶的路线合理度数值添加到轨迹知识图谱中,基于业务中给定的合理度阈值,从中抽取出路线合理度小于合理度阈值的船舶,并将其确定为异常船舶。此外,还可以根据轨迹知识图谱分析目标船舶的航行行为是否异常,这里的航行行为异常指的是在航行相同路线的船舶中,目标船舶的航行行为与大多数船舶的航行行为相差较远,在数据上表现为目标船舶存在一个属性向量与其余相同路线船舶的属性向量距离较远的轨迹段。在轨迹知识图谱中分析出目标船舶为异常船舶时,将这个异常的属性向量添加到轨迹知识图谱中,从轨迹知识图谱中抽取出有异常属性向量的船舶,将其确定为异常船舶。在本发明的技术方案中,根据轨迹知识图谱查找异常船舶,一方面能够摆脱专家经验的局限,从而识别出规则之外的异常船舶,另一方面,通过轨迹知识图谱能够快速查找到异常船舶,提高筛选的准确性,为海上监管工作提供精准的参考信息。
如图2所示,根据本发明的一个实施例,提出了一种基于轨迹知识图谱的异常船舶查找方法,该实施例中的异常船舶查找方法与上述方法大致相同,区别在于,对计算目标船舶的路线合理度进行了详细说明,具体而言,可以按照下方方法来计算任一目标船舶的路线合理度:
S202:根据目标船舶的轨迹确定其经过的关键区域,记为关键经过区域;
S204:根据轨迹知识图谱确定出在轨迹上相邻的任意两个关键经过区域之间的抵达度;
S206:根据目标船舶的关键经过区域将目标船舶的轨迹划分成一个或多个轨迹段,轨迹段为目标船舶从一个关键经过区域到另一个关键经过区域所经过的路线,将轨迹段所连接的两个关键经过区域之间的抵达度确定为轨迹段的路线合理度;
S208:根据目标船舶所有的轨迹段的路线合理度计算出目标船舶的路线合理度。
在该实施例中,先根据目标船舶的AIS数据确定目标船舶的航线,通过分析其航线能够确定出目标船舶所经过的关键区域,并将其记为关键经过区域,然后根据轨迹知识图谱中记载的所有船舶的AIS数据,确定相邻的任意两个关键经过区域之间的抵达度,需要说明的是,抵达度的数值是根据所有船舶的AIS数据确定出的,与目标船舶的AIS数据无关,再将目标船舶从一个关键经过区域到另一个关键经过区域作为目标船舶的轨迹段,目标船舶的轨迹段有一个或多个,将轨迹段所连接的两个关键经过区域之间的抵达度确定为轨迹段的路线合理度,最后,根据目标船舶所有的轨迹段的路线合理度计算出目标船舶的路线合理度。在本发明中,根据所有船舶的AIS数据确定出所有的关键区域,关键区域和关键区域之间形成轨迹段,由多个轨迹段组成轨迹网,船舶从一个关键区域离开,会有很多个选择,抵达度就是船舶从一个关键区域离开,到达另一个关键区域(有多个另一个关键区域)的概率,即抵达度是目标船舶会走某一条轨迹段的概率,将轨迹段所连接的两个关键经过区域之间的抵达度确定为轨迹段的路线合理度,最后根据目标船舶的所有轨迹段的路线合理度计算出目标船舶的路线合理度。
本发明中,通过目标船舶的轨迹段合理度来计算出目标船舶路线合理度,此后便可基于路线合理度来确定该船舶是否为异常船舶。该种方法是以所有船舶的历史航线记录,将其拆分为多个轨迹段,每个轨迹段就是船舶选择这条轨迹航线的概率,那么选择概率高的轨迹段也就是大多数船舶都会选择的轨迹段路线,如果目标船舶行驶的轨迹段是大多数船舶都会选择的轨迹段,那么由各个轨迹段汇总成的路线确定为合理路线。如果目标船舶行驶的轨迹段是大多数船舶没有选择的轨迹段,则认为该船舶出现异常,由这些轨迹段汇总成的路线确定为异常路线。通过路线的合理度确定目标船舶是否为异常船舶,基于此,本发明的方法是以所有船舶的历史记录为参考,对异常船舶进行查找,相比于依靠专家的个人经验来说,本发明为后续判断异常船舶提供了精准的数据支持,由历史船舶的航线记录判断目标船舶是否为异常船舶的准确度也大大提高。
如图3所示,根据本发明的一个实施例,提出了一种基于轨迹知识图谱的异常船舶查找方法,在该实施例中,基于轨迹知识图谱的异常船舶查找方法与上述方法大致相同,区别在于,对确定出两个关键经过区域的抵达度进行了详细说明。其中,确定出在轨迹上相邻的任意两个关键经过区域之间的抵达度的步骤可具体包括如下步骤:
S302:当轨迹知识图谱中未记录两个关键经过区域之间的抵达度时,根据轨迹知识图谱计算出两个关键经过区域之间的抵达度,并向轨迹知识图谱中记录两个关键经过区域之间的抵达关系及对应抵达关系的抵达度,然后从轨迹知识图谱中获取任意两个关键经过区域之间的抵达度;
S304:当轨迹知识图谱中记录有两个关键经过区域之间的抵达度时,直接从轨迹知识图谱中获取两个关键经过区域之间的抵达度。
在该实施例中,获取抵达度的方式有两种,一种情况是轨迹知识图谱中没有从该关键区域到另一个关键区域的抵达度,此时,需要根据历史船舶的记录计算出这个抵达度,另一种情况是轨迹知识图谱中记录有从该关键区域到另一个关键区域的抵达度,此时,直接从轨迹知识图谱中直接获取即可。具体来说,当轨迹知识图谱中没有记录两个关键经过区域之间的抵达度时,根据轨迹知识图谱中记载的所有船舶的AIS数据,确定相邻的任意两个关键经过区域之间的抵达度,并且将这个抵达度添加到轨迹知识图谱中,然后再从轨迹知识图谱中获取抵达度,需要说明的是,添加到轨迹知识图谱中的抵达度为以后判断目标船舶是否为异常船舶提供数据支持。另外一种情况是,轨迹知识图谱中存在两个关键经过区域之间的抵达度,也就是说,在之前计算过该抵达度,此时,可以直接从轨迹知识图谱中直接获取两个关键经过区域之间的抵达度。本发明获取抵达度时,分为直接获取和间接获取,在轨迹知识图谱中没有记录所需要的抵达度时,通过所有船舶的信息来确定抵达度,也就是间接获取,在轨迹知识图谱中有记录所需要的抵达度时,直接获取抵达度即可,即轨迹知识图谱中的各种信息是逐渐完善的,只计算需要的抵达度,将确定抵达度的工作分配到每一次异常船舶的查找中,逐步完善轨迹知识图谱,相比于一次确定所有轨迹段的抵达度,将确定抵达度的工作分配到每一次异常船舶的查找中能够降低构建轨迹知识图谱的难度,提高构建轨迹知识图谱的效率。此外,对于直接获取的方式,轨迹知识图谱具有储存抵达度的功能,能够减少抵达度的时间,提高异常船舶查找的速度。
在另一个实施例中,计算任意两个关键区域wpi、wpj之间的抵达度的公式为:
其中,wwpi,wpj指的是关键区域wpi到关键区域wpj的抵达度,num_traj(wpi,wpj)指的是从关键区域wpi到关键区域wpj的轨迹段的个数,num_traj(wpi,x)指的是离开关键区域wpi后到达除wpi外的关键区域的轨迹段的个数,num_traj(x,wpj)指的是离开其他关键区域后到达关键区域wpj的轨迹段的个数。
该实施例中,计算任意两个关键区域之间的抵达度是通过轨迹段完成的,不同关键区域之间存在一个或者多个轨迹段,也可能不存在轨迹段,当计算关键区域wpi到关键区域wpj时,用两倍的关键区域wpi到关键区域wpj轨迹段个数除以关键区域wpi到达其他区域x与其他区域x到达关键区域wpj的和,由此,获得关键区域wpi到关键区域wpj的抵达度。
在另一个实施例中,计算任一目标船舶的路线合理度的计算公式为:
其中,route_rationality指的是船舶路线合理度,route_rationalitytraj指的是轨迹段traj的路线合理度,traj_list船舶的轨迹段列表,轨迹段traj为轨迹段列表中的任一轨迹段,∏表示连续求积,∈表示包含。
在该实施例中,船舶路线合理度等于其所有轨迹段的路线合理度的乘积,而该乘积表示的是,一艘船舶在航行时,选择当前航行估计的概率,如果其概率值较低,说明大多数船舶不会选择该路线,因此,有理由认为,其路线选择是不太合理的,故而存在异常的可能性,因此便可将其认为是异常船舶。如果其概率值较高,则说明选择该路线的船舶是比较多的,故而可以说明其路线是比较合理的。
如图4所示,根据本发明的一个实施例,提出了一种基于轨迹知识图谱的异常船舶查找方法,在该实施例中,基于轨迹知识图谱的异常船舶查找方法与上述方法大致相同,区别在于,对目标船舶的航行行为是否异常的判断进行详细说明,根据轨迹知识图谱分析船舶列表中的任一目标船舶的航行行为是否异常的步骤包括:
S402:获取目标船舶的轨迹段,针对每个轨迹段,在轨迹知识图谱中查找出与该轨迹段经过相同关键区域的所有轨迹段及其属性,将查找出的所有轨迹段汇总成轨迹段样本;
S404:基于轨迹段样本,通过聚类算法对每个轨迹段的航行行为是否异常进行判断。
在该实施例中,还可通过目标船舶的航行行为确定其是否为异常船舶,获取目标船舶的所有轨迹段,对于每个轨迹段,从所构建的轨迹知识图谱中抽取与该轨迹段经过相同关键区域的轨迹段,所抽取轨迹段的属性向量列表即构成轨迹段样本。通过DBSCAN聚类算法(Density-Based Spatial Clustering of Applications with Noise,基于密度的聚类算法)对轨迹段是否异常进行判断。具体来说,DBSCAN聚类算法将具有足够密度的区域划分为簇,并可在具有噪声的数据集中发现任意形状的簇,它将簇定义为密度相连的点的最大集合。在DBSCAN聚类算法中将样本集中的数据点分为三类,分别为核心点、边界点和噪音点,即将轨迹段样本集分为核心轨迹段、边界轨迹段和噪音轨迹段,噪音轨迹段即为我们要发现的异常轨迹段。给定DBSCAN聚类算法中的邻域半径参数Eps和最小样本个数参数MinPts,核心轨迹段的定义为,若轨迹段traj的Eps邻域中至少包含了MinPts个轨迹段,即至少存在MinPts个轨迹段与轨迹段traj的距离小于Eps,则称轨迹段traj为核心轨迹段;边界轨迹段的定义为,若轨迹段traj的Eps邻域中包含的轨迹段个数小于MinPts,但是该轨迹段在其他核心轨迹段的Eps邻域中,则称轨迹段traj为边界轨迹段;噪音轨迹段的定义为,若轨迹段traj既不是核心轨迹段也不是边界轨迹段,则称该轨迹段为噪音轨迹段。
如图5所示,根据本发明的一个实施例,提出了一种基于轨迹知识图谱的异常船舶查找方法,该方法具体包括:
S502:获取所有船舶的AIS数据;
S504:根据所有船舶的AIS数据构建轨迹知识图谱,轨迹知识图谱包括船舶航行的关键区域、船舶列表和船舶轨迹段列表,以及船舶列表中的每个船舶与每个关键区域和每个轨迹段之间的对应关系;
S506:将给定时间段经过给定区域内的所有船舶确定为目标船舶;
S508:根据轨迹知识图谱计算船舶列表中的任一目标船舶的路线合理度,并将计算出的路线合理度记录到轨迹知识图谱中,从轨迹知识图谱中抽取路线合理度小于预设合理度的船舶,并确定为异常船舶;
S510:根据轨迹知识图谱分析船舶列表中的任一目标船舶的航行行为是否异常,并将分析结果作为对应船舶的航行行为的属性记录到轨迹知识图谱中,从轨迹知识图谱中抽取航行行为的属性为异常的船舶,并确定为异常船舶。
在该实施例中,在确定异常船舶之前,需要先确定目标船舶,目标船舶可以通过时间和空间来确定,即可以设定一个指定时间段和一个指定区域,那么在指定时间内经过指定区域的船舶则被确定为目标船舶。在实际过程中,可以根据需要实际需要的排查时间和区域,来合理设置给定时间段经过给定区域,从而对给定时间段内经过给定区域的船舶进行排查,以便确定给定时间段内经过给定区域的船舶是否有异常行为。
如图6所示,根据本发明的一个实施例,提出了一种基于轨迹知识图谱的异常船舶查找方法,在该实施例中,基于轨迹知识图谱的异常船舶查找方法与上述方法大致相同,区别在于,对确定关键区域进行详细说明,确定关键区域的步骤具体包括:
S602:根据所有船舶的AIS数据,筛选出所有船舶低速或转向的关键点,对关键点进行密度聚类,得到至少一个带有关键点集合的多边形图形;
S604:将任一个多边形图形确定为一个关键区域。
在该实施例中,构建轨迹知识图谱的关键步骤便要先确定出关键区域。而确定关键区域的方法在于:首先根据所有船舶的AIS数据,这里的AIS数据包括船舶近一年的航行记录,记录了每一艘船舶的航行速度、航行轨迹、船名信息、航行时间、转向率、经纬度等等,根据所有船舶的AIS数据筛选出所有船舶低速或转向的关键点,也就是将船舶在航行过程中,低速和停留以及异常停留的地点作为关键点,再利用DBSCAN密度聚类算法将所有的关键点进行划分,从而得到多个关键点的集合,将具有多个关键点的集合作为关键区域,关键区域的数量为多个。将关键区域添加到轨迹知识图谱中,相比于将所有的关键点信息都储存到轨迹知识图谱中,将关键区域添加到轨迹知识图谱中,能够减少轨迹知识图谱储存的信息量,同时,又能体现出所有船舶的历史行驶轨迹的特征,确定出比较容易出现船舶异常行为或航线异常的区域。
如图7所示,本发明第二方面的实施例,提供了一种基于轨迹知识图谱的异常船舶查找装置10包括:获取模块110、构建模块120、合理度确定模块130以及航行行为确定模块140。获取模块110用于获取所有船舶的AIS数据;构建模块120用于根据所有船舶的AIS数据构建轨迹知识图谱,轨迹知识图谱包括船舶航行的关键区域、船舶列表和船舶轨迹段列表,以及船舶列表中的每个船舶与每个关键区域和每个轨迹段之间的对应关系;合理度确定模块130用于根据轨迹知识图谱计算船舶列表中的任一目标船舶的路线合理度,并将计算出的路线合理度记录到轨迹知识图谱中,从轨迹知识图谱中抽取路线合理度小于预设合理度的船舶,并确定为异常船舶;航行行为确定模块140用于根据轨迹知识图谱分析船舶列表中的任一目标船舶的航行行为是否异常,并将分析结果作为对应船舶的航行行为的属性记录到轨迹知识图谱中,从轨迹知识图谱中抽取航行行为的属性为异常的船舶,并确定为异常船舶。
在该实施例中,首先获取模块110从数据库中获取所有船舶在一定时间段内的AIS数据,然后构建模块120根据所有船舶的AIS数据构建轨迹知识图谱,所有船舶的AIS数据包括船舶航行经过的关键区域、船舶的信息以及船舶的行驶轨迹段等,其中,关键区域是指在航行过程中,船舶出现低速或者转向的区域,因此,由所有船舶的AIS数据构建的轨迹知识图谱包括船舶航行的关键区域、船舶列表和船舶轨迹段列表。此外,轨迹知识图谱中还包括每个船舶与每个关键区域和每个轨迹段之间的对应关系。由此,构建出的轨迹知识图谱能够反映出所有船舶的航行信息,在后续筛选异常船舶时,通过这些关键区域、船舶信息以及船舶的轨迹段信息能够对异常船舶进行有针对性的筛选。
在构建好轨迹知识图谱后,可以对异常船舶进行筛选。具体而言,首先,确定出想要查找的目标船舶,目标船舶可以为一艘,也可以为多艘,但目标船舶的各种信息需要在知识图谱中,本发明中异常船舶信息要提前加入到轨迹知识图谱中,如果选择的目标船舶未在轨迹知识图谱中,可随时加入到轨迹知识图谱中,在确定好目标船舶之后,确定目标船舶的路线合理度。轨迹知识图谱中的信息包括:目标船舶航行的关键区域、行驶轨迹段以及关键区域与行驶轨迹段的关系,并且合理度确定模块130根据这些信息确定目标船舶的路线合理度,同时将目标船舶的路线合理度数值添加到轨迹知识图谱中,基于业务中给定的合理度阈值,从中抽取出路线合理度小于合理度阈值的船舶,并将其确定为异常船舶。此外,还可以根据轨迹知识图谱分析目标船舶的航行行为是否异常,这里的航行行为异常指的是在航行相同路线的船舶中,目标船舶的航行行为与大多数船舶的航行行为相差较远,在数据上表现为目标船舶存在一个属性向量与其余相同路线船舶的属性向量距离较远的轨迹段。航行行为确定模块140在轨迹知识图谱中分析出目标船舶为异常船舶时,将这个异常的属性向量添加到轨迹知识图谱中,从轨迹知识图谱中抽取出有异常属性向量的船舶,将其确定为异常船舶。在本发明的技术方案中,根据轨迹知识图谱查找异常船舶,一方面能够摆脱专家经验的局限,从而识别出规则之外的异常船舶,另一方面,通过轨迹知识图谱能够快速查找到异常船舶,提高筛选的准确性,为海上监管工作提供精准的参考信息;
根据轨迹知识图谱计算船舶列表中的任一目标船舶的路线合理度的步骤包括:先根据目标船舶的AIS数据确定目标船舶的航线,通过分析其航线能够确定出目标船舶所经过的关键区域,并将其记为关键经过区域,然后根据轨迹知识图谱中记载的所有船舶的AIS数据,确定相邻的任意两个关键经过区域之间的抵达度,需要说明的是,抵达度的数值是根据所有船舶的AIS数据确定出的,与目标船舶的AIS数据无关,再将目标船舶从一个关键经过区域到另一个关键经过区域作为目标船舶的轨迹段,目标船舶的轨迹段有一个或多个时,将轨迹段所连接的两个关键经过区域之间的抵达度确定为轨迹段的路线合理度,最后,根据目标船舶所有的轨迹段的路线合理度计算出目标船舶的路线合理度。在本发明中,根据所有船舶的AIS数据确定出所有的关键区域,关键区域和关键区域之间形成轨迹段,由多个轨迹段组成轨迹网,船舶从一个关键区域离开,会有很多个选择,抵达度就是船舶从一个关键区域离开,到达另一个关键区域(有多个另一个关键区域)的概率,即抵达度是目标船舶会走某一条轨迹段的概率,将轨迹段所连接的两个关键经过区域之间的抵达度确定为轨迹段的路线合理度,最后根据目标船舶的所有轨迹段的路线合理度计算出目标船舶的路线合理度。
如图8所示,本发明第三方面的实施例,提供了一种基于轨迹知识图谱的异常船舶查找装置10,包括:存储器150,其上存储有程序或指令;处理器160,执行存储器150存储的程序或指令时,实现第一方面提供的基于轨迹知识图谱的异常船舶查找方法的步骤。
本发明的第四方面提出了一种可读存储介质,其上存储有程序或指令,程序或指令被处理器160执行时实现第一方面提供的基于轨迹知识图谱的异常船舶查找方法的步骤。
如图9所示,根据本发明的一个实施例,提出了一种基于轨迹知识图谱的异常船舶查找装置,包括:构建模块120和异常船舶查找模块,构建模块120用于构建轨迹知识图谱模型,构建模块120包含4个子模块,分别为:第一构建子模块122、第二构建子模块124、第三构建子模块126以及第四构建子模块128。
其中,第一构建子模块122用于获取船舶AIS数据。从数据库获取近一年的全球船舶AIS数据。第二构建子模块124用于从船舶AIS数据集抽取知识图谱的实体部分。第三构建子模块126用于从船舶AIS数据集抽取知识图谱的实体之间的关系。实体关系包含轨迹段与关键区域的到达关系、轨迹段与关键区域的离开关系、轨迹段与船舶的从属关系。对于轨迹段与关键区域的到达关系,以ARRIVE(到达)表示该关系的关系类型,由轨迹段和关键区域的id(身份)拼接得到该关系的名称。对于轨迹段与关键区域的离开关系,以DEPART(离开)表示该关系的关系类型,由轨迹段和关键区域的id拼接得到该关系的名称。对于轨迹段与船舶的属于关系,以BELONG_TO(属于)表示该关系的关系类型,由轨迹段和船舶的id拼接得到该关系的名称。
第四构建子模块128,用于从船舶AIS数据集抽取实体的属性,并向轨迹知识图谱中添加实体的属性。船舶的属性包含MMSI(Maritime Mobile Service Identify,水上移动通信业务标识码)、船长、船宽、船舶类型以及船籍国,关键区域的属性包含中心点经纬度属性、关键区域的经纬度范围属性、轨迹段属性包含开始时间、结束时间、轨迹点个数、速度的1、25、50、75、99分位数、平均值以及方差、航向的1、25、50、75、99分位数、均值以及方差。其中分位数、均值以及方差的计算公式为行业内通用计算公式,在此不做赘述。
所构建的轨迹知识图谱示例图如图10所示,从构建的轨迹知识图谱中抽取出船舶vsl_413776实体和与其存在关系的4个轨迹段实体以及与每个实体存在关系的关键区域实体共8个实体及各实体间的12个关系的子轨迹知识图谱对所构建的轨迹知识图谱进行解释。
轨迹知识图谱示例图中的每个椭圆代表1个实体,其中不同英文字母的椭圆代表不同的实体,带有vsl字样的椭圆表示船舶实体,带有traj字样的椭圆表示轨迹段实体,带有wpt字样的椭圆表示关键区域实体。在图10中,我们构建了1个船舶实体,以vsl_413776表示,其中,椭圆中的字符串表示该船舶实体的名称属性,该船舶实体的属性列表如图11所示,船舶实体的属性列表包括:id船舶专属号码、flag船舶国籍、length船舶长度、mmsi水上移动通信业务标识码、name船舶名称、shiptype船舶类型、width船舶宽度。与船舶vsl_413776实体存在关系的4个轨迹段实体在图10中以带有traj字样的椭圆表示,其中,椭圆中的字符串表示每个轨迹段实体的名称属性,名称属性值为traj_413776_1669815300(图10中轨迹段字符串有八位数省略)的轨迹段实体的属性列表如图12所示,轨迹段实体的属性列表具体包括:id轨迹段的专属号码、begin_utc轨迹段开始时间、cog_1对地航向的百分之一分位数、cog_25对地航向的百分之二十五分位数、cog_50对地航向的百分之五十分位数、cog_75对地航向的百分之七十五分位数、cog_99对地航向的百分之九十九分位数、cog_mean对地航向的均值、cog_variance对地航向的方差、duration轨迹段的持续时间(单位:小时)、end_utc轨迹段结束时间、name轨迹段名称、sog_1对地航速的百分之一分位数、sog_25对地航速的百分之二十五分位数、sog_50对地航速的百分之五十分位数等,对地航向和对地航速的分位数都是衡量轨迹段的指标。
与轨迹段存在关系的3个关键区域实体在图10中以带有wpt字样的椭圆表示,其中,椭圆中的字符串表示每个关键区域实体的名称属性,名称属性值为wpt_3864_12093(图10中关键区域字符串有两位数省略)的关键区域实体的属性列表如图13所示,关键区域实体的属性列表具体包括:id关键区域专属号码、area_polygon多边形区域、center_lat中心点的纬度、center_lon中心点的经度、name关键区域名称。
图10中的每个有向线段代表两个实体间的一个关系,其中,有向线段上的字符串代表关系的类型。BELONG_TO(属于)类型的关系发生在船舶实体和轨迹段实体之间,表示轨迹段实体属于船舶实体,例如名称属性为traj_413776_1669815300的轨迹段实体属于名称属性值为vsl_413776的船舶实体;DEPART(离开)类型的关系发生在轨迹段实体和关键区域实体之间,表示轨迹段实体从某个关键区域离开,例如,名称属性为traj_413776_1669815300的轨迹段实体是从名称属性为wpt_3864_12093(图10中关键区域字符串有两位数省略)的关键区域离开的;ARRIVE(到达)类型的关系发生在轨迹段实体和关键区域实体之间,表示轨迹段实体到达某个关键区域,例如,名称属性为traj_413776_1669815300(图10中轨迹段字符串有八位数省略)的轨迹段实体从名称属性为wpt_3864_12093(图10中关键区域字符串有两位数省略)的关键区域离开后又到达了该区域。
需要说明的是,该知识图谱是可以更新的,当数据库中接收到新的轨迹数据,即可基于新的数据在图谱中添加新的节点和新的关系,或者当产生新的分析结论时,也可以添加新的节点和新的关系。
此外,如图14所示,第二构建子模块124还包含3个分模块,分别为:第一分模块1242、第二分模块1244以及第三分模块1246。
第一分模块1242用于从船舶AIS数据集抽取关键区域,其中,数据集是从数据库中抽取的船舶数据集合,然后在知识图谱中创建关键区域实体。筛选所有船舶的速度较小或者转向角较大的轨迹点,存储这些轨迹点的经纬度数据为关键点数据集。对关键点数据集进行DBSCAN密度聚类,得到多个关键点集合,计算每个关键点集合的多边形凸包,所得到多边形凸包集合即为关键区域集合。DBSCAN密度聚类模型和关键点集合的多边形凸包计算模型为经典模型,此处不赘述。以Waypoints(航点)表示关键区域的实体类型,关键区域的节点名称由其中心点的经纬度拼接而成,关键区域的id与节点名称保持一致。
第二分模块1244用于从船舶AIS数据集抽取船舶列表,并在知识图谱中创建船舶实体。以Vessel(货轮、船舶)表示船舶的实体类型,船舶的节点名称由船舶MMSI得到,船舶的id与其节点名称保持一致。
第三分模块1246用于从船舶AIS数据集抽取轨迹段实体,并在知识图谱中创建轨迹段实体。根据该船舶进入关键区域和离开关键区域的时间点对其时序AIS数据集进行切割,得到多个时序AIS数据集,即为轨迹段。轨迹段切割算法,不是本发明重点保护技术,此处不赘述。以Traj表示轨迹段的实体类型,轨迹段的节点名称由船舶MMSI和轨迹段开始的utc时间拼接而成,轨迹段的id与其节点名称保持一致。
异常船舶查找模块用于基于轨迹知识图谱查找给定区域和给定时间段的异常船舶。异常船舶通常指航行路线异常的船舶和航行行为异常的船舶,异常船舶查找模块包含2个子模块,分别为:合理度确定模块130和航行行为确定模块140。
其中,航行路线异常船舶查找模块,用于查找航行路线异常的船舶。航行路线异常的船舶,指的是船舶的航行路线仅存在较少船舶航行过或者从来没有船舶航行过。如图15所示,合理度确定模块130还具体包含:抵达度计算模块1301、抵达关系添加模块1302、第一合理度计算模块1303、第一合理度属性添加模块1304、第二合理度计算模块1305、第二合理度属性添加模块1306、第一异常船舶提取模块1307。
抵达度计算模块1301用于计算关键区域到关键区域之间的抵达度。抵达度用来描述从一个关键区域航行到另一个关键区域的路线为正常路线的概率。
抵达关系添加模块1302,用于向轨迹知识图谱添加关键区域到关键区域的抵达关系及该关系的抵达度属性。以CONNECTION(抵达)表示抵达关系的类型,以transition_prob表示抵达度属性的名称。
第一合理度计算模块1303用于计算轨迹段的路线合理度。轨迹段的路线合理度指的是该轨迹段离开的关键区域到到达的关键区域的抵达度,可以从轨迹知识图谱查询得到,以route_rationality表示轨迹段路线合理度属性的名称。
第一合理度属性添加模块1304用于向轨迹知识图谱的轨迹段实体添加路线合理度的属性。
第二合理度计算模块1305用于计算船舶的路线合理度。以route_rationality表示船舶的路线合理度属性的名称。对于船舶实体中的任意船舶,从轨迹知识图谱中查找属于该船舶的轨迹段的路线合理度属性,进而基于轨迹段路线合理度属性计算船舶的路线合理度属性。
第二合理度属性添加模块1306用于向轨迹知识图谱添加船舶实体的路线合理度属性。
第一异常船舶提取模块1307,用于基于知识图谱抽取异常船舶实体。
航行行为确定模块140用于查找航行行为异常的船舶。航行行为异常指的是,在航行相同路线的船舶中,该船舶的航行行为与大多数船舶的航行行为相差较远,表现在数据上即为,船舶存在一个属性向量与其余相同路线的属性向量距离较远的轨迹段。如图16所示,航行行为确定模块140模块包含:轨迹段样本生成模块1402和轨迹段航行行为异常属性添加模块1404,以及第二异常船舶提取模块1406,轨迹段样本生成模块1402用于生成判断轨迹段是否异常的轨迹段样本。对于每个轨迹段,查询知识图谱中与该轨迹段经过相同关键区域的所有轨迹段及其属性,生成轨迹段样本。
航行行为确定模块140用于判断轨迹段的航行行为是否异常。基于轨迹段样本,通过DBSCAN聚类算法的异常判断模型对轨迹段是否异常进行判断,通过异常判断模型得到轨迹段样本中每个轨迹段航行行为是否异常的属性。
轨迹段航行行为异常属性添加模块1404用于向轨迹知识图谱添加轨迹段航行行为异常属性。以abn_behavior_idx(异常行为指标)表示轨迹段航行行为异常属性的名称。
第二异常船舶提取模块1406用于提取航行行为异常船舶实体。
在本说明书的描述中,术语“一个实施例”、“一些实施例”、“具体实施例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或实例。而且,描述的具体特征、结构、材料或特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。