当前位置: 首页 > 专利查询>天津大学专利>正文

基于集群计算体系的小目标多阶段检测编程方法技术

技术编号:36956358 阅读:63 留言:0更新日期:2023-03-22 19:16
本申请涉及基于集群计算体系的小目标多阶段检测编程方法,采用主从工作模式,将小目标多阶段检测过程拆分为多个子任务,结合节点检测机制、容错机制以及任务调度策略,利用集群计算体系实现小目标多阶段检测,并对该过程进行了封装,设计出了一种能够帮助开发人员编写出正确而高效的小目标多阶段检测编程方法。解决了集群计算体系下小目标多阶段检测编程复杂且困难的问题,可以在保证系统的可拓展性、容错性和高效性的前提下,达到简化编程的目的。目的。目的。

【技术实现步骤摘要】
基于集群计算体系的小目标多阶段检测编程方法


[0001]本申请涉及小目标多阶段检测、并行编程模型与集群系统领域,具体涉及一种基于集群计算体系的小目标多阶段检测编程方法。

技术介绍

[0002]目标检测是计算机视觉的核心问题之一,主要任务是在图像或视频数据中预测物体的类别和位置。视频数据中的小目标检测作为目标检测的重要组成部分,被广泛应用在海上救援、森林火警、安全生产、无人机搜索等场景中。由于小目标具有尺寸小、特征少、难以识别等特点,小目标检测仍是一个亟需解决的难题。现有的解决方案可分为两类,一类是根据数据或场景对小目标检测模型进行优化;另一类是使用多阶段检测方法,先应用一个模型检测小目标所依赖的物体(ROI检测阶段),再利用高精度模型检测小目标(小目标检测阶段)。前者属于单阶段模型优化,目前仍存在精度与速度之间的矛盾:高精度模型运行速度缓慢,检测时间较长;轻量级模型容易识别错误,检测精度较低。后者因具有通用性强,检测效果不依赖数据集等优点,引起了学者们的广泛关注。
[0003]多阶段检测方法能大幅度缩小目标在视频帧上的查找范围,排除潜在的识别干扰;也能有效减少输入到高精度模型的数据量,降低模型的整体运行时间,因此它可以有效提升目标检测的精度与速度。目前,小目标的多阶段检测方法得到了广泛的应用,在汽车车牌检测、工业表计示数检测以及行人的人脸检测等场景中十分普遍。小目标多阶段检测方法在多节点集群环境下编程复杂,需要将视频数据分配到多个计算节点中进行处理,其中涉及到数据的切割与整合、任务的分配与调度以及错误的检测与恢复等诸多并行计算内容,使得目标检测领域的开发人员编写出正确而高效的程序非常困难。由于小目标多阶段检测流程具有通用性,在不同应用场景下只需对模型进行更改,所以对复杂的并行计算过程进行封装,实现一个用于简化编程的小目标多阶段检测编程模型及系统具有重要意义。

技术实现思路

[0004]针对集群计算体系下小目标多阶段检测编程复杂且困难的问题,本专利技术提供了一种基于集群计算体系的小目标多阶段检测编程模型及系统,可以在保证系统的可拓展性、容错性和高效性的前提下,达到简化编程的目的。
[0005]为实现上述目的,本专利技术采用如下技术方案:
[0006]一种基于集群计算体系的小目标多阶段检测编程方法,采用集群计算体系中的主从Manager

Worker模式;其中,Manager为主节点,负责任务的分配与调度;Worker为工作节点,负责任务的执行;所述基于集群计算体系的小目标多阶段检测编程方法包括如下步骤:
[0007]步骤S1:Manager切割输入数据将其封装为若干ROI检测任务并分配给空闲的Worker进行ROI目标检测;
[0008]步骤S2:所述Worker执行Manager分配的ROI检测任务产生ROI截图,将其封装为小目标检测任务保存到系统指定的临时目录中;
[0009]步骤S3:Manager将所述小目标检测任务分配给空闲的Worker;
[0010]步骤S4:所述Worker执行Manager分配的小目标检测任务,产生小目标检测结果;
[0011]步骤S5:Manager将所述小目标检测结果排序和重组,产生最终的检测结果保存到用户指定的磁盘路径下。
[0012]优选的,步骤S1中,Manager对输入数据的类型进行判断:若为视频数据类型,则使用FFmpeg工具对视频数据进行均等切割;若为图像集合,则将所述图像集合均等分配到若干个不同的文件夹中;否则,系统抛出异常,停止运行;当Manager完成对输入数据的切割后,将其封装成ROI检测任务,并记录每一个ROI检测任务的ID和对应数据的路径。
[0013]优选的,步骤S2中,Worker对ROI检测截图的名称进行标注,具体格式为“帧序号

ROI序号

ROI左上角x轴坐标_ROI左上角y轴坐标_ROI宽度_ROI高度”。
[0014]优选的,步骤S1与S3中,Manager会根据任务调度算法对ROI检测任务或小目标检测任务进行分配与调度,具体为:在所有任务尚未全部完成时,Manager对每一个可用Worker进行遍历,检查Worker的运行状态;若Worker空闲,则对该Worker分配新的任务;若Worker繁忙,则不对该Worker分配新的任务,即不进行任何操作。
[0015]优选的,所述步骤S1、S2、和S3中,还包括执行阶段过渡算法,包括如下步骤:
[0016]S51:初始化每一个Worker的worker_stage属性值为ROI_STAGE,表示多阶段检测过程开始时需要处理ROI检测任务;
[0017]S52:Manager开启一个新的线程listenStage用于监听每个Worker的worker_stage变化情况;
[0018]S53:Manager若发现ROI阶段的待执行任务队列为空且某个Worker空闲,直接将该Worker的worker_stage属性修改为TARGET_STAGE;
[0019]S54:listenStage只要发现某个Worker的worker_stage发生改变,就会开启小目标检测过程,对已经存在的小目标检测任务进行分配。
[0020]优选的,所述基于集群计算体系的小目标多阶段检测编程方法还包括执行节点检测机制,包括如下步骤:
[0021]S61:所有的Worker每隔interval的时间定期向Manager发送心跳数据,所述心跳数据包括Worker的运行状态、Worker的工作执行状态以及发送数据时间信息;
[0022]S62:Manager接收所述心跳数据,对每个Worker进行超时判断:若Manager发现某个Worker超时,则执行步骤S63;否则,执行步骤S61;
[0023]S63:Manager按interval的频率向所述超时Worker发送三次状态请求,一旦Manager在指定时间内获取到了来自该Worker的状态数据,则系统继续正常运行;若在这三次请求期间Manager没有收到回应,则判定该Worker无法继续工作,此时Manager将更新当前系统的可用Worker列表,重新分配该Worker尚未完成的任务。
[0024]优选的,所述基于集群计算体系的小目标多阶段检测编程方法还包括会执行任务容错机制,包括如下步骤:
[0025]S71:Manager将任务队列中的队首任务提取出来,根据最近的Worker检测结果,对运行状态正常且空闲的Worker分配任务,并把任务的分配情况保存在Worker Array中;
[0026]S72:每个空闲的Worker接收到来自Manager所分配的任务信息后,从文件系统中获取相关数据并执行ROI检测任务或小目标检测任务;
[0027]S73:Manager定期扫描Worker Array中每个Worker的任务执行情况,以检测任务是否超时本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于集群计算体系的小目标多阶段检测编程方法,采用集群计算体系中的主从Manager

Worker模式;其中,Manager为主节点,负责任务的分配与调度;Worker为工作节点,负责任务的执行;其特征在于,所述基于集群计算体系的小目标多阶段检测编程方法包括如下步骤:步骤S1:Manager切割输入数据将其封装为若干ROI检测任务并分配给空闲的Worker进行ROI目标检测;步骤S2:所述Worker执行Manager分配的ROI检测任务产生ROI截图,将其封装为小目标检测任务保存到系统指定的临时目录中;步骤S3:Manager将所述小目标检测任务分配给空闲的Worker;步骤S4:所述Worker执行Manager分配的小目标检测任务,产生小目标检测结果;步骤S5:Manager将所述小目标检测结果排序和重组,产生最终的检测结果保存到用户指定的磁盘路径下。2.根据权利要求1所述的基于集群计算体系的小目标多阶段检测编程方法,其特征在于,步骤S1中,Manager对输入数据的类型进行判断:若为视频数据类型,则使用FFmpeg工具对视频数据进行均等切割;若为图像集合,则将所述图像集合均等分配到若干个不同的文件夹中;否则,系统抛出异常,停止运行;当Manager完成对输入数据的切割后,将其封装成ROI检测任务,并记录每一个ROI检测任务的ID和对应数据的路径。3.根据权利要求1所述的基于集群计算体系的小目标多阶段检测编程方法,其特征在于,步骤S2中,Worker对ROI检测截图的名称进行标注,具体格式为“帧序号

ROI序号

ROI左上角x轴坐标_ROI左上角y轴坐标_ROI宽度_ROI高度”。4.根据权利要求1所述的基于集群计算体系的小目标多阶段检测编程方法,其特征在于,步骤S1与S3中,Manager会根据任务调度算法对ROI检测任务或小目标检测任务进行分配与调度,具体为:在所有任务尚未全部完成时,Manager对每一个可用Worker进行遍历,检查Worker的运行状态;若Worker空闲,则对该Worker分配新的任务;若Worker繁忙,则不对该Worker分配新的任务,即不进行任何操作。5.根据权利要求1所述的基于集群计算体系的小目标多阶段检测编程方法,其特征在于,所述步骤S1、S2、和S3中,还包括执行阶段过渡算法,包括如下步骤:S51:初始化每一个Worker的worker_stage属性值为ROI_STAGE,表示多阶段检测过程开始时需要处理ROI检测任务;S52:Manager开启一个新的线程listenStage用于监听每个Worker的worker_stage变化情况;S53:Manager若发现ROI阶段的待执行任务队列为空且某个Worker空闲,直接将该Worker的worker_stage属性修改为TARGET_STAGE;S54:l...

【专利技术属性】
技术研发人员:汤善江孟松孙超于策肖健
申请(专利权)人:天津大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1