本发明涉及机器视觉检测,特别是指一种基于数据缓冲的多模块并行金属表面缺陷检测方法。
背景技术:
1、在中厚板的生产流程中,其表面往往容易出现各类缺陷,这些缺陷会严重影响产品质量,进而损害企业的声誉和经济效益。因此,为避免质量低劣的钢板流入下游用户手中,必须对钢板表面的缺陷进行精准检测,并及时发出报警,从而实现对表面缺陷的有效跟踪预警,确保钢板质量符合市场和客户的严格需求。
2、然而,钢板表面缺陷检测面临多重挑战。水渍、氧化铁皮等干扰因素使得检测难度大增。传统的检测手段,如使用单一模型进行检测,往往效果不佳,存在检测能力不足、时效性差、分类不够精确等问题。由于钢板缺陷类型众多,每种缺陷的形态和特征各异,对数据的关注点也各有侧重,因此,仅依赖单一模型难以满足全面、细致的检测需求。
3、尽管现有技术中已出现多模型推理的方式,但这种方法在实际应用中仍存在诸多不足。例如,多模型推理会导致计算量剧增,各模型之间的互补性不强,检测速度受到影响,难以做到及时响应。这些问题限制了多模型推理在钢板表面缺陷检测中的实际应用。
技术实现思路
1、本发明提供了一种基于数据缓冲的多模块并行金属表面缺陷检测方法,以解决多模型推理在钢板表面缺陷检测的实际应用中受到限制的技术问题。
2、为解决上述技术问题,本发明提供了如下技术方案:
3、一方面,本发明提供了一种基于数据缓冲的多模块并行金属表面缺陷检测方法,该方法以数据缓冲区为纽带,将图像处理过程分配为一个主进程和多个子进程,通过进程之间的协同工作完成金属表面缺陷检测;其中,所述子进程包括缺陷检测子进程和轮廓检测子进程;所述多模块并行金属表面缺陷检测方法包括:
4、获取待检测的金属板的图像,作为待检测图像;
5、将待检测图像分别存入缺陷检测子进程的缓冲区以及轮廓检测子进程的缓冲区;缺陷检测子进程和轮廓检测子进程并行;其中,缺陷检测子进程执行缺陷检测任务,检测出图像中金属板表面的缺陷数据,并将检测出的缺陷数据存入主进程的缓冲区;轮廓检测子进程执行轮廓检测任务,检测出图像中金属板的轮廓;
6、主进程基于缺陷检测子进程输出的缺陷数据和轮廓检测子进程输出的轮廓,确定缺陷的类别并对缺陷数据进行筛选,并将筛选出的缺陷数据存入系统数据库。
7、进一步地,所述获取待检测的金属板的图像,作为待检测图像,包括:
8、构建金属表面缺陷检测系统;其中,所述金属表面缺陷检测系统包括多台线阵相机,且多台线阵相机经标定后采集位置平行且共线;
9、利用激光测速仪输出的脉冲信号同步触发各相机对金属板表面图像进行采集,各相机采集的实时帧图像经过重合区域去除后,横向拼接用作待检测图像。
10、进一步地,所述缺陷检测子进程的数量为多个;各缺陷检测子进程并行;
11、将待检测图像存入缺陷检测子进程的缓冲区中的过程包括:
12、设置待检测图像的索引值,并对各缺陷检测子进程进行编号;其中,待检测图像的索引值从0开始顺序设置,且缺陷检测子进程的编号从0开始依次编号;
13、依据待检测图像的索引值,将待检测图像均匀分配给多个缺陷检测子进程。
14、进一步地,依据待检测图像的索引值,将待检测图像均匀分配给多个缺陷检测子进程的方式为:将待分配的图像对应的索引值对缺陷检测子进程的数量进行取余操作,假设所得余数为i,则将待分配的图像分配至第i个缺陷检测子进程。
15、进一步地,每一缺陷检测子进程分别包括一阶缺陷检测进程和二阶缺陷检测进程;在每一缺陷检测子进程中,待检测图像首先被存入一阶缺陷检测进程对应的缓冲区中;首先由一阶缺陷检测进程对其缓冲区中的图像进行处理,检测出图像中的金属表面的缺陷数据,并将检测出的缺陷数据存入主进程的缓冲区,同时将其缓冲区中的图像以及其检测出的缺陷数据一并存入二阶缺陷检测进程对应的缓冲区中,然后由二阶缺陷检测进程对其缓冲区内的图像进行处理,检测出图像中的金属表面的缺陷数据,并将检测出的缺陷数据与一阶缺陷检测进程所检测出的缺陷数据进行对比,从中筛除与一阶缺陷检测进程所检测出的缺陷数据重复的缺陷数据,然后将剩余的缺陷数据存入主进程的缓冲区中。
16、进一步地,一阶缺陷检测进程对其缓冲区中的图像进行处理,检测出图像中的金属表面的缺陷数据的方式为单模型多尺度检测方式,检测时,首先将待检测图像沿其宽度方向分别以不同的宽度进行多次裁剪,得到多张子图像;然后将所得的子图像统一归一化到模型需要的尺寸后输入预设模型中得到缺陷检测结果;
17、二阶缺陷检测进程对其缓冲区中的图像进行处理,检测出图像中的金属表面的缺陷数据的方式为多模型单尺度检测方式,在检测时,首先将待检测图像沿其宽度方向进行固定宽度的截取,得到多张尺寸相同的子图像,组成子图像集合;然后将所得的子图像集合分别输入到不同的预设模型中进行缺陷检测,得到缺陷检测结果,并通过非极大值抑制方式融合各模型输出的缺陷检测结果。
18、进一步地,二阶缺陷检测进程将其检测出的缺陷数据与一阶缺陷检测进程所检测出的缺陷数据进行对比,从中筛除与一阶缺陷检测进程所检测出的缺陷数据重复的缺陷数据的方式为:二阶缺陷检测进程将其检测出的各缺陷数据与一阶缺陷检测进程所检测出的各缺陷数据分别计算iou交并比,若计算出的iou交并比大于预设阈值,则将二阶缺陷检测进程所检测出的对应缺陷数据筛除。
19、进一步地,所述主进程基于缺陷检测子进程输出的缺陷数据和轮廓检测子进程输出的轮廓,确定缺陷的类别并对缺陷数据进行筛选,包括:
20、主进程首先按照预设的类别划分标准对其缓冲区中的缺陷数据进行分类,然后对分类后的缺陷数据进行判断,若其中包含预设类型的需要进一步细分类的缺陷数据,则对其进一步进行细分类,以确定缺陷的类别;
21、在确定缺陷的类别后,通过预设的语义分割模型对缺陷的边界进行细化;
22、基于完成边界细化的缺陷的位置和尺寸,结合轮廓检测子进程输出的轮廓,对缺陷数据进行筛选。
23、进一步地,所述预设的语义分割模型为pidnet分割模型,其训练时的样本的标注为沿着缺陷准确边界的若干个点组成的多边形区域;经过所述预设的语义分割模型完成边界细化后,缺陷的位置坐标以细化后的边界位置进行替换。
24、进一步地,所述基于完成边界细化的缺陷的位置和尺寸,结合轮廓检测子进程输出的轮廓,对缺陷数据进行筛选,包括:
25、将尺寸小于预设尺寸阈值的缺陷筛除;
26、对比缺陷位置与金属板轮廓的相对关系,将处于需检测区域以外的缺陷筛除。
27、再一方面,本发明还提供了一种电子设备,其包括处理器和存储器;其中,存储器中存储有至少一条指令,所述指令由处理器加载并执行,以实现上述方法。
28、又一方面,本发明还提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令,所述指令由处理器加载并执行,以实现上述方法。
29、本发明提供的技术方案带来的有益效果至少包括:
30、本发明方案由于采用了多个子进程的处理方式,使得多模型在处理时实现了并行,并且单个模型实现了分流处理,从而大大保证了实时性能。多模型结构中不同的模型用于处理不同类型的缺陷,从而实现了处理上的互补,兼顾大型缺陷和细微缺陷。在分类过程中,将类别确定为大类和精细类别,从而确定出更加准确的类别。这种方法一方面能够快速的将容易检测的缺陷及时的检测出来,另一方面能够后台运行更多的具备深入挖掘的模型进行小缺陷的检测,防止漏检行为。
1.一种基于数据缓冲的多模块并行金属表面缺陷检测方法,其特征在于,以数据缓冲区为纽带,将图像处理过程分配为一个主进程和多个子进程,通过进程之间的协同工作完成金属表面缺陷检测;其中,所述子进程包括缺陷检测子进程和轮廓检测子进程;所述基于数据缓冲的多模块并行金属表面缺陷检测方法包括:
2.如权利要求1所述的基于数据缓冲的多模块并行金属表面缺陷检测方法,其特征在于,所述获取待检测的金属板的图像,作为待检测图像,包括:
3.如权利要求1所述的基于数据缓冲的多模块并行金属表面缺陷检测方法,其特征在于,所述缺陷检测子进程的数量为多个;各缺陷检测子进程并行;
4.如权利要求3所述的基于数据缓冲的多模块并行金属表面缺陷检测方法,其特征在于,所述依据待检测图像的索引值,将待检测图像均匀分配给多个缺陷检测子进程的方式为:将待分配的图像对应的索引值对缺陷检测子进程的数量进行取余操作,假设所得余数为i,则将待分配的图像分配至第i个缺陷检测子进程。
5.如权利要求3所述的基于数据缓冲的多模块并行金属表面缺陷检测方法,其特征在于,每一缺陷检测子进程分别包括一阶缺陷检测进程和二阶缺陷检测进程;
6.如权利要求5所述的基于数据缓冲的多模块并行金属表面缺陷检测方法,其特征在于,一阶缺陷检测进程对其缓冲区中的图像进行处理,检测出图像中的金属表面的缺陷数据的方式为单模型多尺度检测方式,在检测时,首先将待检测图像沿其宽度方向分别以不同的宽度进行多次裁剪,得到多张子图像;然后将所得的子图像统一归一化到模型需要的尺寸后输入预设模型中得到缺陷检测结果;
7.如权利要求5所述的基于数据缓冲的多模块并行金属表面缺陷检测方法,其特征在于,二阶缺陷检测进程将其检测出的缺陷数据与一阶缺陷检测进程所检测出的缺陷数据进行对比,从中筛除与一阶缺陷检测进程所检测出的缺陷数据重复的缺陷数据的方式为:二阶缺陷检测进程将其检测出的各缺陷数据与一阶缺陷检测进程所检测出的各缺陷数据分别计算iou交并比,若计算出的iou交并比大于预设阈值,则将二阶缺陷检测进程所检测出的对应缺陷数据筛除。
8.如权利要求1所述的基于数据缓冲的多模块并行金属表面缺陷检测方法,其特征在于,所述主进程基于缺陷检测子进程输出的缺陷数据和轮廓检测子进程输出的轮廓,确定缺陷的类别并对缺陷数据进行筛选,包括:
9.如权利要求8所述的基于数据缓冲的多模块并行金属表面缺陷检测方法,其特征在于,所述预设的语义分割模型为pidnet分割模型,其训练时的样本的标注为沿着缺陷准确边界的若干个点组成的多边形区域;经过所述预设的语义分割模型完成边界细化后,缺陷的位置坐标以细化后的边界位置进行替换。
10.如权利要求8所述的基于数据缓冲的多模块并行金属表面缺陷检测方法,其特征在于,所述基于完成边界细化的缺陷的位置和尺寸,结合轮廓检测子进程输出的轮廓,对缺陷数据进行筛选,包括:
