掌桥专利:专业的专利平台
掌桥专利
首页

一种单拖船只目标的识别方法及装置

文献发布时间:2023-06-19 11:14:36


一种单拖船只目标的识别方法及装置

技术领域

本发明涉及通信技术领域,特别是指一种单拖船只目标的识别方法及装置。

背景技术

单拖渔船(由单船拖曳网具进行捕捞作业的渔船)的精准识别,能提高涉海涉渔违法违规行为情报获取能力,进而强化对涉渔违法违规行为的精准打击和伏季休渔精细化管理。

现有技术至少存在如下问题:

一般的单拖作业长达几个小时以上,而传统的基于规则的单拖可用于识别的轨迹时间较短(1个小时),无法完整表达单拖的轨迹特征。基于规则的识别都需要设置固定的阈值,有一定的局限性,无法适应多变的运动轨迹,导致误报和漏报。

发明内容

本发明要解决的技术问题是提供一种单拖船只目标的识别方法及装置,基于单拖船只的运动特点,抽象出航向变化、转弯次数、分段直行时间等特征,不直接设置阈值,而是学习大量单拖轨迹特征,抽取至少3个小时的历史轨迹,对轨迹进行分类,极大降低了误报率,提高了涉海涉渔违法违规行为情报获取能力。

为解决上述技术问题,本发明的技术方案如下:

一种单拖船只目标的识别方法,包括:

获取船只的实时行驶轨迹数据;

对所述实时行驶轨迹数据进行预处理,获得预处理结果;

对所述预处理结果进行轨迹聚类,获得聚类结果;

对所述聚类结果进行特征抽取,获得特征数据;

将所述特征数据输入识别单拖船只目标的预设模型进行处理,获得单拖船只目标的识别结果。

可选的,对所述实时行驶轨迹数据进行预处理,包括:

删除所述实时行驶轨迹数据中轨迹的点数少于第一值的实时行驶轨迹数据;

删除所述实时行驶轨迹数据中平均速度小于第二值的实时行驶轨迹数据;和/或

删除所述实时行驶轨迹数据中平均速度大于第三值的实时行驶轨迹数据。

可选的,对所述预处理结果进行轨迹聚类,获得聚类结果,包括:

对所述预处理结果通过聚类算法进行轨迹聚类,获取中间聚类结果;

根据所述中间聚类结果,计算出待识别船只的活动范围,获取活动范围结果;

将小于或者等于第一阈值的活动范围结果删除;否则,则保留该活动范围,得到最终的聚类结果。

可选的,对所述聚类结果进行特征抽取,获得特征数据,包括:

对所述聚类结果进行特征抽取,得到以下至少一种特征数据:航向变化结果、转弯次数结果、直行时间结果、绕圈率结果、航速、航向。

可选的,所述航向变化结果是待识别船只的航向变化之和,所述航向变化是待识别船只的两个时刻的航向差;

所述转弯次数结果是待识别船只的转弯次数;

所述直行时间结果是待识别船只的分段统计直行时间;

所述绕圈率结果是待识别船只的绕圈率;所述绕圈率是待识别船只的总路程除以位移。

可选的,预测单拖船只目标模型通过如下通过训练:

获取船只的历史轨迹样本数据;

对所述船只的历史轨迹样本数据进行数据清洗处理,获取清洗结果;

对所述清洗结果进行数据可视化处理,获取可视化结果;

对所述可视化结果进行特征抽取,获取所述特征抽取结果;

对所述特征抽取结果通过随机森林模型进行训练,获取所述预设模型。

可选的,所述随机森林模型的参数包括:

n_estimators=60;

max_depth=10;

min_samples_split=10;

其中,n_estimators为决策树个数,max_depth为决策树的深度,min_samples_split为节点最小样本数。

可选的,将所述特征数据输入识别单拖船只目标的预设模型进行处理,获得单拖船只目标的识别结果,包括:

将所述特征数据输入预设模型,输出预测结果;

根据所述预测结果对待识别船只的类别进行判断,获取判断结果;

根据所述判断结果,获取单拖船只目标。

可选的,所述根据所述判断结果,获取单拖船只目标,包括:

当所述判断结果为待识别船只为单拖船只目标的概率大于0.7时,获取单拖船只目标。

本发明的实施例还提供一种单拖船只目标的识别装置,包括:

获取模块,用于获取船只的实时行驶轨迹数据;

预处理模块,用于对所述实时行驶轨迹数据进行预处理,获得预处理结果;

聚类模块,用于对所述预处理结果进行轨迹聚类,获得聚类结果;

特征抽取模块,用于对所述聚类结果进行特征抽取,获得特征数据;

识别模块,用于将所述特征数据输入识别单拖船只目标的预设模型进行处理,获得单拖船只目标的识别结果。

本发明的上述方案至少包括以下有益效果:

基于单拖船只的运动特点,抽象出航向变化、转弯次数、分段直行时间等特征,不直接设置阈值,而是学习大量单拖轨迹特征,抽取至少3个小时的历史轨迹,对轨迹进行分类,极大降低了误报率,几乎不会漏报,提高了涉海涉渔违法违规行为情报获取能力。

附图说明

图1是本发明实施例的单拖船只目标的识别方法的流程示意图;

图2是本发明实施例的单拖船只目标的识别方法的算法流程示意图;

图3是本发明实施例的单拖船只目标的识别装置的结构示意图。

具体实施方式

下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。

如图1所示,本发明的实施例提供一种单拖船只目标的识别方法,包括:

步骤S1:获取船只的实时行驶轨迹数据;

步骤S2:对所述实时行驶轨迹数据进行预处理,获得预处理结果;

步骤S3:对所述预处理结果进行轨迹聚类,获得聚类结果;

步骤S4:对所述聚类结果进行特征抽取,获得特征数据;

步骤S5:将所述特征数据输入识别单拖船只目标的预设模型进行处理,获得单拖船只目标的识别结果。

具体的,如图2所示,获取船只的实时行驶轨迹数据,包括:

1)前端创建单拖模板,画单拖识别区域并关联上该模板生成预警条件存放到Redis(Remote Dictionary Server,即远程字典服务);后端保存预警条件;并将数据存储至Redis以及Mysql(关系型数据库管理系统)中。

2)使用Spark(大规模数据处理的快速通用的计算引擎)读取过去3个小时的目标轨迹,用Redis中的区域条件过滤轨迹,并保存至本地文件。

本发明的该实施例,基于单拖船只的运动特点,抽象出航向变化、转弯次数、分段直行时间等特征,不直接设置阈值,而是学习大量单拖轨迹特征,抽取至少3个小时的历史轨迹,对轨迹进行分类,极大降低了误报率,几乎不会漏报,提高了涉海涉渔违法违规行为情报获取能力。

本发明的一可选的实施例中,如图2所示,步骤S2中,对所述实时行驶轨迹数据进行预处理,包括:

删除所述实时行驶轨迹数据中轨迹的点数少于第一值的实时行驶轨迹数据;

删除所述实时行驶轨迹数据中平均速度小于第二值的实时行驶轨迹数据;和/或

删除所述实时行驶轨迹数据中平均速度大于第三值的实时行驶轨迹数据。

其中,第一值可以为10个;第二值可以为2节;第三值可以为6节;

本发明的一可选的实施例中,步骤S3中,对所述预处理结果进行轨迹聚类,获得聚类结果,包括:

对所述预处理结果通过聚类算法进行轨迹聚类,获取中间聚类结果;

根据所述中间聚类结果,计算出待识别船只的活动范围,获取活动范围结果;

将小于或者等于第一阈值的活动范围结果删除;否则,则保留该活动范围,得到最终的聚类结果。

其中,对预处理结果使用KMeans聚类算法进行聚类,第一阈值可以为20分钟内一般活动范围为900米;

本发明的一可选的实施例中单拖船只目标的识别方法还包括:

删除船长不在0~60米范围内的船只;

轨迹的特点:在固定区域内来回活动。

本发明的一可选的实施例中,步骤S4中,对所述聚类结果进行特征抽取,获得特征数据,包括:

对所述聚类结果进行特征抽取,得到以下至少一种特征数据:航向变化结果、转弯次数结果、直行时间结果、绕圈率结果、航速、航向。

本发明的一可选的实施例中,步骤S4中,所述航向变化结果是待识别船只的航向变化之和;所述航向变化是待识别船只的两个时刻的航向差;

所述转弯次数结果是待识别船只的转弯次数;

所述直行时间结果是待识别船只的分段统计直行时间;

所述绕圈率结果是待识别船只的绕圈率;所述绕圈率是待识别船只的总路程除以位移。

本发明的一可选的实施例中,如图2所示,步骤S5中,预测单拖船只目标模型通过如下通过训练:

获取船只的历史轨迹样本数据;

对所述船只的历史轨迹样本数据进行数据清洗处理,获取清洗结果;

对所述清洗结果进行数据可视化处理,获取可视化结果;

对所述可视化结果进行特征抽取,获取所述特征抽取结果;

对所述特征抽取结果通过随机森林模型进行训练,获取所述预设模型。

具体的,python离线部分包括:

1)获取船只的历史轨迹样本数据,包括:人工识别相同数量的单拖船只目标和正常目标(不是单拖船只的目标),从历史轨迹库中查询出历史轨迹作为样本数据。

2)对所述船只的历史轨迹样本数据进行数据清洗处理,获取清洗结果,包括:删除点数过少的轨迹,轨迹数据太少不具备参考价值。

3)对所述清洗结果进行数据可视化处理,获取可视化结果,包括:对每个待识别船只的轨迹进行可视化,删除明显的离群点,有些离群点和正常轨迹距离非常远,如果不删除会对模型的准确率影响很大。

4)对所述可视化结果进行特征抽取,获取所述特征抽取结果,特征抽取的内容具体包括如下特征:

41、统计待识别船只的航向变化之和(对于同一个目标ID,计算前后两个时刻航向差,然后累加)。

42、统计待识别船只的转弯次数(如果前后两次航向差大于180度,为转弯)。

43、统计待识别船只的分段统计直行时间(同一个目标ID的总轨迹时长除以转弯次数就是每段直行时长)。

44、计算待识别船只的绕圈率(活动总路程除以位移)。

45、统计待识别船只的航速的最大值、最小值、平均值、中位数、去重统计值、标准差,分位数。

46、将航向变化大于180和小于180的分两组,分别和航速做组合:

具体的,计算同一个目标ID的航向差,大于等于180的分为一组,小于180的分为一组,形成特征:航向差大于等于180_航速1,航相差小于180_航速1,航向差大于等于180_航速2,航相差小于180_航速2。

通过上述特征抽取的获取的特征抽取结果具体包括:航向变化结果、转弯次数结果、直行时间结果、绕圈率结果、航速、航向。

5)对所述特征抽取结果通过随机森林模型进行训练,获取所述预测单拖船只目标模型,包括:

51、从HDFS(Hadoop Distributed File System)中加载离线模型(预设模型),从样本数据中有放回地随机采样选出n个样本;

52、上述步骤4)获取的所有特征抽取结果中随机选择k个特征,对选出的n个样本利用这些k个特征建立决策树(一般是分类树CART,也可是别的或混合);

53、重复以上步骤51和步骤52,m次,即生成m棵决策树,形成随机森林模型;

54、对于新数据,经过每棵树决策,最后投票确认分到哪一类。

本发明的一可选的实施例中,步骤S5中,所述随机森林模型的参数包括:

n_estimators=60;

max_depth=10;

min_samples_split=10;

其中,n_estimators为决策树个数,max_depth为决策树的深度,min_samples_split为节点最小样本数。

具体的,决策树个数值越大,生成的决策树越多,结果越准确,但是训练时间也会边长;节点最小样本数,值越小越不容易发生过拟合,决策树的深度,值越大,树越深,越容易发生过拟合,值越小越不容易发生过拟合;

如图2所示,使用网格搜索和交叉验证选择最佳参数,并将预设模型保存到HDFS。

本发明的一可选的实施例中,步骤S5中,将所述特征数据输入识别单拖船只目标的预设模型进行处理,获得单拖船只目标的识别结果,包括:

将所述特征数据输入预设模型,输出预测结果;

根据所述预测结果对待识别船只的类别进行判断,获取判断结果;

根据所述判断结果,获取单拖船只目标。

具体的,调用python离线流程中特征工程(特征抽取)方法,对实时数据生成相同的特征并加载离线模型(预设模型),实时预测,得到预测结果。

其中,训练好的预设模型为多棵由一堆ifelse语句组成的树,从根节点开始向下逐层判断,直到叶子节点,得到最终该目标所属的类别,再综合多棵树的结果进行投票,少数服从多数得到最终类别,进行预测,输出该目标是单拖目标的概率;其中,输出结果可以是目标所属的类别,也可以是概率。

目标类别包括:AISB(船舶自动识别系统)、RADAR_AIS_B、RADAR(雷达)。

本发明的一可选的实施例中,如图2所示,步骤S5中,所述根据所述判断结果,获取单拖船只目标,包括:

当所述判断结果为待识别船只为单拖船只目标的概率大于0.7时,获取单拖船只目标。

具体的,如图2所示,单拖船只目标的识别方法还包括:

1)ES(文件浏览器)根据预测结果查询最近一次的经纬度等信息,以便于获取所述单拖船只目标的位置信息,并将所述位置信息发送至分布式发布订阅消息系统Kafka;

2)根据所述分布式发布订阅消息系统Kafka的预警数据,保存结果到Redis和Mysql以及Hive(数据仓库工具),前端定时请求预警结果(预测单拖船只目标模型识别该目标是否为单拖船只目标,如果是单拖船只目标就保存到Kafka,不是就不保存到Kafka),用标记圈出单拖作业目标,获取预警结果并保存至Mysql中;

3)对所述预警结果进行展示。

本发明实施例的上述技术方案,实现了对单拖渔船的精准识别,提高了涉海涉渔违法违规行为情报获取能力,进而强化了对涉渔违法违规行为的精准打击和伏季休渔精细化管理。

如图3所示,本发明的实施例还提供一种单拖船只目标的识别装置30,包括:

获取模块31,用于获取船只的实时行驶轨迹数据;

预处理模块32,用于对所述实时行驶轨迹数据进行预处理,获得预处理结果;

聚类模块33,用于对所述预处理结果进行轨迹聚类,获得聚类结果;

特征抽取模块34,用于对所述聚类结果进行特征抽取,获得特征数据;

识别模块35,用于将所述特征数据输入识别单拖船只目标的预设模型进行处理,获得单拖船只目标的识别结果。

可选的,对所述实时行驶轨迹数据进行预处理,包括:

删除所述实时行驶轨迹数据中轨迹的点数少于第一值的实时行驶轨迹数据;

删除所述实时行驶轨迹数据中平均速度小于第二值的实时行驶轨迹数据;和/或

删除所述实时行驶轨迹数据中平均速度大于第三值的实时行驶轨迹数据。

可选的,对所述预处理结果进行轨迹聚类,获得聚类结果,包括:

对所述预处理结果通过聚类算法进行轨迹聚类,获取中间聚类结果;

根据所述中间聚类结果,计算出待识别船只的活动范围,获取活动范围结果;

将小于或者等于第一阈值的活动范围结果删除;否则,则保留该活动范围,得到最终的聚类结果。

可选的,对所述聚类结果进行特征抽取,获得特征数据,包括:

对所述聚类结果进行特征抽取,得到以下至少一种特征数据:航向变化结果、转弯次数结果、直行时间结果、绕圈率结果、航速、航向。

可选的,所述航向变化结果是待识别船只的航向变化之和,所述航向变化是待识别船只的两个时刻的航向差;

所述转弯次数结果是待识别船只的转弯次数;

所述直行时间结果是待识别船只的分段统计直行时间;

所述绕圈率结果是待识别船只的绕圈率;所述绕圈率是待识别船只的总路程除以位移。

可选的,预测单拖船只目标模型通过如下通过训练:

获取船只的历史轨迹样本数据;

对所述船只的历史轨迹样本数据进行数据清洗处理,获取清洗结果;

对所述清洗结果进行数据可视化处理,获取可视化结果;

对所述可视化结果进行特征抽取,获取所述特征抽取结果;

对所述特征抽取结果通过随机森林模型进行训练,获取所述预设模型。

可选的,所述随机森林模型的参数包括:

n_estimators=60;

max_depth=10;

min_samples_split=10;

其中,n_estimators为决策树个数,max_depth为决策树的深度,min_samples_split为节点最小样本数。

可选的,将所述特征数据输入识别单拖船只目标的预设模型进行处理,获得单拖船只目标的识别结果,包括:

将所述特征数据输入预设模型,输出预测结果;

根据所述预测结果对待识别船只的类别进行判断,获取判断结果;

根据所述判断结果,获取单拖船只目标。

可选的,所述根据所述判断结果,获取单拖船只目标,包括:

当所述判断结果为待识别船只为单拖船只目标的概率大于0.7时,获取单拖船只目标。

需要说明的是,该装置是与上述方法对应的装置,上述方法实施例中的所有实现方式均适用于该装置的实施例中,也能达到相同的技术效果。

本发明的实施例还提供一种计算机可读存储介质,包括指令,当所述指令在计算机上运行时,使得计算机执行如上所述的方法。上述方法实施例中的所有实现方式均适用于该实施例中,也能达到相同的技术效果。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本发明所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。

此外,需要指出的是,在本发明的装置和方法中,显然,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本发明的等效方案。并且,执行上述系列处理的步骤可以自然地按照说明的顺序按时间顺序执行,但是并不需要一定按照时间顺序执行,某些步骤可以并行或彼此独立地执行。对本领域的普通技术人员而言,能够理解本发明的方法和装置的全部或者任何步骤或者部件,可以在任何计算装置(包括处理器、存储介质等)或者计算装置的网络中,以硬件、固件、软件或者它们的组合加以实现,这是本领域普通技术人员在阅读了本发明的说明的情况下运用他们的基本编程技能就能实现的。

因此,本发明的目的还可以通过在任何计算装置上运行一个程序或者一组程序来实现。所述计算装置可以是公知的通用装置。因此,本发明的目的也可以仅仅通过提供包含实现所述方法或者装置的程序代码的程序产品来实现。也就是说,这样的程序产品也构成本发明,并且存储有这样的程序产品的存储介质也构成本发明。显然,所述存储介质可以是任何公知的存储介质或者将来所开发出来的任何存储介质。还需要指出的是,在本发明的装置和方法中,显然,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本发明的等效方案。并且,执行上述系列处理的步骤可以自然地按照说明的顺序按时间顺序执行,但是并不需要一定按照时间顺序执行。某些步骤可以并行或彼此独立地执行。

以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

相关技术
  • 一种单拖船只目标的识别方法及装置
  • 一种渔船单拖作业方式识别方法及装置
技术分类

06120112857678