CN117351016B - 提升缺陷检测模型准确度的后处理优化方法及装置 - Google Patents

提升缺陷检测模型准确度的后处理优化方法及装置 Download PDF

Info

Publication number
CN117351016B
CN117351016B CN202311648827.9A CN202311648827A CN117351016B CN 117351016 B CN117351016 B CN 117351016B CN 202311648827 A CN202311648827 A CN 202311648827A CN 117351016 B CN117351016 B CN 117351016B
Authority
CN
China
Prior art keywords
image
result
detection frame
area
array
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202311648827.9A
Other languages
English (en)
Other versions
CN117351016A (zh
Inventor
曹彬
陈秀睿
陈立名
胡江洪
田楷
晏文仲
黄金
马原
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fitow Tianjin Detection Technology Co Ltd
Original Assignee
Fitow Tianjin Detection Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fitow Tianjin Detection Technology Co Ltd filed Critical Fitow Tianjin Detection Technology Co Ltd
Priority to CN202311648827.9A priority Critical patent/CN117351016B/zh
Publication of CN117351016A publication Critical patent/CN117351016A/zh
Application granted granted Critical
Publication of CN117351016B publication Critical patent/CN117351016B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection
    • G06T7/0004Industrial image inspection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/60Analysis of geometric attributes
    • G06T7/62Analysis of geometric attributes of area, perimeter, diameter or volume
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10068Endoscopic image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20092Interactive image processing based on input by user
    • G06T2207/20104Interactive definition of region of interest [ROI]

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Quality & Reliability (AREA)
  • Geometry (AREA)
  • Image Analysis (AREA)
  • Investigating Materials By The Use Of Optical Means Adapted For Particular Applications (AREA)

Abstract

本发明涉及内窥镜缺陷检测技术领域,公开了一种提升缺陷检测模型准确度的后处理优化方法,包括:S0,拍摄中空圆柱类部件内部的背光图像,作为目标图像;S1,将目标图像转化为目标图像数组;S2,将目标图像数组传递到GPU的全局内存中;S3,创建第一结果字典和第二结果字典;S4,从GPU的全局内存中调用所述目标图像数组,创建第一进程和第二进程,所述第一进程和第二进程并行处理等;该方法摒弃了激光探针角度及中空圆柱类部件内壁纹理问题带来的图像成像问题,采用单阶段轻量化目标检测模型替代传统或双阶段分类算法,大大增加了其检出速度,提高了生产效率,并且解决了图像成像问题带来的漏检,降低漏检及误检率。

Description

提升缺陷检测模型准确度的后处理优化方法及装置
技术领域
本发明涉及内窥镜缺陷检测技术领域,具体涉及一种提升缺陷检测模型准确度的后处理优化方法及装置。
背景技术
基于在当今汽车变速箱轴体(从动轴)内壁的加工生产需要,在其生产的过程涉及到诸多的生产工序以及复杂的生产工艺,每一道生产加工工序都有可能会对轴体造成损伤,这些缺陷都有可能对后续整个变速箱的性能及安全性造成一定的影响和潜在危害。又由于变速箱工厂的生产及检验的特殊性,在每道工序生产后进行质检,如未在该过程中发现NG(不良),那么就会经过后续的工序直至到整个工序加工完后才能被检验出问题,这无形中大大增加了损耗的成本。因此就需要对轴体进行实时并准确的检测,特别是汽车变速箱这种关乎行车安全的重要部件,所以对变速箱轴体内壁缺陷的精准检测尤为重要。
现有的轴体内壁检测的方法大多是以人工通过工业内窥镜目检的方式为主,通过人眼观察工业内窥镜上的图像信息进行质检。但是由于人工检测受限于人的经验、情绪、疲劳等主观因素的影响和内窥镜的镜头脏污、老化、镜头平面高于轴体、无法弯曲等硬件问题的客观因素的影响,检测的漏检、误检风险较高,人工成本较大,需要3班×1人×产线数量,所以人工检测的准确率和效率也相对较低,并且成本大。近几年也衍生出一种利用激光探针的方式,对轴体内部进行扫描,生成激光光谱图像的方法,并利用传统的机器视觉方法进行检测,例如:二值化分割、边缘特征提取、模板匹配等方法,也有利用深度学习的分类算法,例如:VGG或Resnet分类模型进行检测。
发明内容
针对现有技术存在的不足,本发明的目的在于提供一种提升缺陷检测模型准确度的后处理优化方法及装置。
为了实现上述目的,本发明提供如下技术方案:
提升缺陷检测模型准确度的后处理优化方法,包括:S0,拍摄中空圆柱类部件内部的背光图像,作为目标图像;S1,将目标图像转化为目标图像数组;S2,将目标图像数组传递到GPU的全局内存中;S3,创建第一结果字典和第二结果字典;S4,从GPU的全局内存中调用所述目标图像数组,创建第一进程和第二进程,所述第一进程和第二进程并行处理;所述第一进程包括:利用GPU对所述目标图像数组运行后处理算法,输出第一结果,将所述第一结果存入第一结果字典;所述第二进程包括:利用GPU对所述目标图像数组运行单阶段算法模型推理,输出第二结果,将所述第二结果存入第二结果字典;S5,将第一结果字典中的第一结果和第二结果字典中的第二结果加载到GPU的共享内存中;S6,从共享内存中获取第一结果和第二结果,第一结果包含第一检出框的坐标信息,第二结果包含第二检出框的坐标信息,利用第一结果和第二结果计算第一检出框和第二检出框的IOU,将大于预设阈值的IOU所对应的第一结果和第二结果返回至主机端;S4中所述利用GPU对所述目标图像数组运行后处理算法包括:S41,使用OpenCV从全局内存中调用目标图像数组;S42,去除目标图像数组中孔洞轮廓区域以外的干扰部分,获得无干扰图像;S43,利用无干扰图像检出疑似缺陷区域,计算疑似缺陷区域所占像素点数,将满足像素点数预设阈值的疑似缺陷区域对应的最小外接矩形确定为第一检出框,将第一检出框的坐标信息列入第一结果;所述S42包括:S4201,对目标图像数组进行灰度化处理和二值化处理,获得二值图像;S4202,从二值图像中提取孔洞轮廓,获取孔洞轮廓的最小外接圆的圆心坐标和半径;S4203,创建与所述二值图像尺寸相同的坐标网格图像;S4204,利用孔洞轮廓的最小外接圆的圆心坐标和半径,通过欧几里得距离公式计算所述坐标网格的每个像素到孔洞轮廓的最小外接圆的圆心的距离;S4205,根据坐标网格图像中的像素与孔洞轮廓的最小外接圆的位置关系将坐标网格图像转换为逻辑数组,获得ROI逻辑数组;S4206,创建一个与所述二值图像尺寸相同的三通道的黑图像;S4207,利用ROI逻辑数组将所述黑图像在孔洞轮廓的最小外接圆内的像素设置为白色,获得ROI图像;S4208,将目标图像数组与ROI图像进行按位与操作,获得第一掩膜图像;S4209,创建一个与所述二值图像尺寸相同的三通道的白图像;S4210,将ROI逻辑数组的反码与白图像进行按位与操作,获得第二掩膜图像;S4211,将第一掩膜图像与第二掩膜图像进行求和,获得无干扰图像。
本发明中,优选的,所述S4206至S4208与所述S4209至S4210并行处理。
本发明中,优选的,所述S43包括:S431,对无干扰图像进行灰度化处理和二值化处理,得到无干扰二值图像;S432,对无干扰二值图像进行膨胀处理,增加白色边缘的对比度,获得膨胀图像;S433,从所述膨胀图像中提取中空圆柱类部件内壁的疑似缺陷区域;S434,利用若干线程并行遍历膨胀图像中的疑似缺陷区域,若疑似缺陷区域所占像素点数大于像素点数预设阈值,则提取疑似缺陷区域的最小外接矩形,作为第一检出框;S435,计算第一检出框中非零像素点的个数;S436,若非零像素点的个数大于或等于非零像素点数预设阈值,则将第一检出框的坐标信息列入第一结果。
本发明中,优选的,所述S5包括:S51,在GPU的共享内存中定义第一共享内存数组和第二共享内存数组,所述第一共享内存数组与所述第一结果字典的规格相对应,所述第二共享内存数组与所述第二结果字典的规格相对应;S52,将第一结果字典中的第一结果加载到第一共享内存数组;S53,将第二结果字典中的第二结果加载到第二共享内存数组;所述S52和S53并行处理。
本发明中,优选的,S6中所述利用第一结果和第二结果计算第一检出框和第二检出框的IOU包括:S61,从第一结果中提取第一检出框的坐标信息;S62,遍历第一检出框的坐标信息,获取第一检出框的横坐标最大值和最小值、纵坐标最大值和最小值;S63,从第二结果中提取第二检出框的坐标信息;S64,遍历第二检出框的坐标信息,获取第二检出框的横坐标最大值和最小值、纵坐标最大值和最小值;S65,计算第一检出框与第二检出框的交集区域面积和并集区域面积;S66,利用交集区域面积与并集区域面积计算第一检出框和第二检出框的IOU;所述S61至S62与所述S63至S64并行处理。
本发明中,优选的,所述S65,计算第一检出框与第二检出框的交集区域面积和并集区域面积,其公式为:
W=min(XAmax,XBmax)-max(XAmin,XBmin),
H=min(YAmax,YBmax)-max(YAmin,YBmin),
area_C=W×H;
area_A=(XAmax-XAmin)×(YAmax-YAmin), area_B=(XBmax-XBmin)×(YBmax-YBmin),
union_area=area_A+area_B-area_C;
其中,W为交集区域的宽,H为交集区域的高,area_A为第一检出框区域面积,area_B为第二检出框区域面积,area_C为交集区域面积,union_area为并集区域面积,XAmax为第一检出框的横坐标最大值,XAmin为第一检出框的横坐标最小值,YAmax为第一检出框的纵坐标最大值,YAmin为第一检出框的纵坐标最小值,XBmax为第二检出框的横坐标最大值,XBmin为第二检出框的横坐标最小值,YBmax为第二检出框的纵坐标最大值,YBmin为第二检出框的纵坐标最小值。
提升缺陷检测模型准确度的后处理优化装置,包括:拍摄模块,用于拍摄中空圆柱类部件内部的背光图像,作为目标图像;转化模块,用于将目标图像转化为目标图像数组;传递模块,用于将目标图像数组传递到GPU的全局内存中;字典模块,用于创建第一结果字典和第二结果字典;运行模块,用于从GPU的全局内存中调用所述目标图像数组,创建第一进程和第二进程,所述第一进程和第二进程并行处理;所述第一进程包括:利用GPU对所述目标图像数组运行后处理算法,输出第一结果,将所述第一结果存入第一结果字典;所述第二进程包括:利用GPU对所述目标图像数组运行单阶段算法模型推理,输出第二结果,将所述第二结果存入第二结果字典;加载模块,用于将第一结果字典中的第一结果和第二结果字典中的第二结果加载到GPU的共享内存中;计算模块,用于从共享内存中获取第一结果和第二结果,第一结果包含第一检出框的坐标信息,第二结果包含第二检出框的坐标信息,利用第一结果和第二结果计算第一检出框和第二检出框的IOU,将大于预设阈值的IOU所对应的第一结果和第二结果返回至主机端;所述运行模块包括:调用单元,用于使用OpenCV从全局内存中调用目标图像数组;去干扰单元,用于去除目标图像数组中孔洞轮廓区域以外的干扰部分,获得无干扰图像;检出单元,用于利用无干扰图像检出疑似缺陷区域,计算疑似缺陷区域所占像素点数,将满足像素点数预设阈值的疑似缺陷区域对应的最小外接矩形确定为第一检出框,将第一检出框的坐标信息列入第一结果;所述去干扰单元包括:第一预处理子单元,用于对目标图像数组进行灰度化处理和二值化处理,获得二值图像;轮廓提取子单元,用于从二值图像中提取孔洞轮廓,获取孔洞轮廓的最小外接圆的圆心坐标和半径;坐标网格子单元,用于创建与所述二值图像尺寸相同的坐标网格图像;圆心确定子单元,用于利用孔洞轮廓的最小外接圆的圆心坐标和半径,通过欧几里得距离公式计算所述坐标网格的每个像素到孔洞轮廓的最小外接圆的圆心的距离;逻辑数组子单元,用于根据坐标网格图像中的像素与孔洞轮廓的最小外接圆的位置关系将坐标网格图像转换为逻辑数组,获得ROI逻辑数组;黑图像子单元,用于创建一个与所述二值图像尺寸相同的三通道的黑图像;ROI图像子单元,用于利用ROI逻辑数组将所述黑图像在孔洞轮廓的最小外接圆内的像素设置为白色,获得ROI图像;第一掩膜子单元,用于将目标图像数组与ROI图像进行按位与操作,获得第一掩膜图像;白图像子单元,用于创建一个与所述二值图像尺寸相同的三通道的白图像;第二掩膜子单元,用于将ROI逻辑数组的反码与白图像进行按位与操作,获得第二掩膜图像;无干扰图像子单元,用于将第一掩膜图像与第二掩膜图像进行求和,获得无干扰图像。
与现有技术相比,本发明的有益效果是:
1、本发明摒弃了激光探针角度及中空圆柱类部件内壁纹理问题带来的图像成像问题,采用单阶段轻量化目标检测模型替代传统或双阶段分类算法,大大增加了其检出速度,检测节拍可从1-2s降低至200ms,提高了生产效率,并且解决了图像成像问题带来的漏检,降低漏检及误检率。
2、本发明通过采用后处理算法提取符合检出面积的缺陷最小外切框,由于本发明的独特性,中空圆柱类部件内壁的缺陷区域很容易被提取出来;又采用了单阶段算法模型共同进行检测,输出两套检出结果,再通过两套结果检出框间的IOU计算,得到两套算法公认为符合标准的缺陷位置,大大增加了算法的准确性。
3、采用两套算法可以有效地提升算法检测的准确性以及对检出缺陷的尺寸限制有着更好的效果,它通过将缺陷的像素点进行累加计算,从而可以量化成为实际的缺陷尺寸,方便用户对工艺标准进行把控。
4、这两套算法是基于多进程的方式并行计算的,并利用GPU的硬件特性进行并行计算,充分利用设备资源,有效地提升检出效率。
5、为保证检测的节拍,本发明将相机取图存放于GPU的全局内存中,两套算法共同调用一处图像存储地址,减少了图像的读取调用的次数,节省图像解码的时间。并且两套算法基于全局内存进行计算,便于后期的并行计算,利用GPU大量的并行处理单元能够高效地处理后续的操作,尤其是针对像素级的操作,速度会更快。相比系统内存,全局内存有着高速的存取速度。
6、通过定义CUDA核函数,将两套算法的检出结果字典放入GPU的共享内存中,利用CUDA的核函数对两个算法进程的结果字典中的坐标框进行IOU计算。利用CUDA核函数的线程(thread)每个线程可以处理一个坐标信息,对于处理大规模数据时具有较大优势,可以同时执行多个线程,从而在适合并行化的任务中提供强大的计算能力。考虑到有些应用场景中存在多个位置的内孔,且内壁经常出现大块的铁屑等杂质,因此模型会多次检出疑似缺陷,那么就需要多次进行IOU计算比对出符合检出标准的缺陷位置。针对这种出现大量检出框的情况时,采用CUDA核函数和GPU共享内存相结合,有效提高计算效率,可以最大程度发挥GPU的共享内存优势。
附图说明
图1为轴承内壁的毛刺缺陷示意图。
图2为相机拍摄轴承内壁的毛刺缺陷特征的示意图。
图3为本发明一实施例提升缺陷检测模型准确度的后处理优化方法中目标图像的示意图。
图4为本发明一实施例提升缺陷检测模型准确度的后处理优化方法的流程图。
图5为本发明一实施例提升缺陷检测模型准确度的后处理优化方法中S4中利用GPU对目标图像数组运行后处理算法的流程图。
图6为本发明一实施例提升缺陷检测模型准确度的后处理优化方法中S42的流程图。
图7为本发明一实施例提升缺陷检测模型准确度的后处理优化方法中二值图像的示意图。
图8为本发明一实施例提升缺陷检测模型准确度的后处理优化方法中坐标网格图像转换为逻辑数组的示意图。
图9为本发明一实施例提升缺陷检测模型准确度的后处理优化方法中ROI图像的示意图。
图10为本发明一实施例提升缺陷检测模型准确度的后处理优化方法中第一掩膜图像的示意图。
图11为本发明一实施例提升缺陷检测模型准确度的后处理优化方法中ROI逻辑数组的反码图像的示意图。
图12为本发明一实施例提升缺陷检测模型准确度的后处理优化方法中无干扰图像的示意图。
图13为相机拍摄轴承内壁的毛刺缺陷特征的示意图中油孔和毛刺对比的示意图。
图14本发明一实施例提升缺陷检测模型准确度的后处理优化方法中S43的流程图。
图15为本发明一实施例提升缺陷检测模型准确度的后处理优化方法中S5的流程图。
图16为本发明一实施例提升缺陷检测模型准确度的后处理优化方法中S6的流程图。
图17为本发明一实施例提升缺陷检测模型准确度的后处理优化方法中两个检出框位置关系的示意图。
图18为本发明一实施例提升缺陷检测模型准确度的后处理优化装置的结构示意图。
附图中:0、拍摄模块;1、转化模块;2、传递模块;3、字典模块;4、运行模块;5、加载模块;6、计算模块。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,当组件被称为“固定于”另一个组件,它可以直接在另一个组件上或者也可以存在居中的组件。当一个组件被认为是“连接”另一个组件,它可以是直接连接到另一个组件或者可能同时存在居中组件。当一个组件被认为是“设置于”另一个组件,它可以是直接设置在另一个组件上或者可能同时存在居中组件。本文所使用的术语“垂直的”、 “ 水平的”、“ 左”、“ 右”以及类似的表述只是为了说明的目的。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。本文所使用的术语“及/或”包括一个或多个相关的所列项目的任意的和所有的组合。
如图4所示,本发明一较佳实施方式提供一种提升缺陷检测模型准确度的后处理优化方法,用于中空圆柱类部件内部缺陷的检测,本实施例中的中空圆柱类部件以轴承为例,缺陷以轴承内壁的毛刺为例,但不限于轴承及其毛刺,也可以是其他具有类似的中空圆柱形状和结构的部件及其内部的缺陷,本方法包括:
S0,拍摄中空圆柱类部件内部的背光图像,作为目标图像。
背光图像是指光源从轴承(中空圆柱类部件)的一端照射轴承的内部,拍摄镜头则从轴承的另一端对轴承的内部进行拍摄,光线直接照射镜头,镜头中大部分区域为白色,只有部分区域遮挡住了光线,呈现黑色等较深的颜色。本发明采用背光的光源形式,对轴承内壁的毛刺缺陷进行检测,毛刺缺陷特征如图1所示。可知,如果出现缺陷,光源必定会被遮挡并会在图像上形成黑色区域,相机拍摄缺陷特征如图2所示。利用此种取图模式可以避免通过激光探针生成图像中油孔附近的纹理噪点带来的误检,也避免了激光探针生成的图为俯视图,会对与油孔边缘平行的毛刺缺陷造成一定漏检。
S1,将目标图像转化为目标图像数组。
目标图像如图3所示,对目标图像进行解码,将目标图像转化为数组形式,获得图像的宽、高、通道信息。通过解码,目标图像转为数组形式,可以方便对图像进行一些列数字化的处理。
S2,将目标图像数组传递到GPU的全局内存中。
将目标图像数组放入GPU的全局内存中,便于后期的并行计算,利用GPU大量的并行处理单元能够高效地处理后续的操作,尤其是针对像素级的操作,速度会更快。相比系统内存,全局内存有着高速的存取速度。
S3,创建第一结果字典和第二结果字典。
创建后处理算法和单阶段算法模型两个结果字典,为后处理算法和单阶段算法模型两个算法的进行做好准备,用于结果的输出。
S4,从GPU的全局内存中调用目标图像数组,创建第一进程和第二进程,第一进程和第二进程并行处理;第一进程包括:利用GPU对目标图像数组运行后处理算法,输出第一结果,将第一结果存入第一结果字典;第二进程包括:利用GPU对目标图像数组运行单阶段算法模型推理,输出第二结果,将第二结果存入第二结果字典。
创建两个进程,分别处理后处理算法和单阶段算法模型推理,生成各自对应结果后存入对应的结果字典。其中,单阶段算法模型可采用YOLO v1、YOLO v2、YOLO v3、YOLOv4、SSD、RetinaNet等。第一进程为使用OpenCV调用GPU中全局内存图像,利用GPU进行后处理算法(调用缺陷检出筛选方法),将结果输出至第一结果字典;第二进程为在GPU上使用单阶段算法模型推理,将结果输出至第二结果字典,等待进程完成,关闭进程。第一进程与第二进程应该是并行的,通过多进程的思想,开辟两个进程任务,并行处理两套算法,充分利用设备的计算资源,增大负载,提高系统整体的吞吐量和响应能力,同时也具有容错性和隔离性,即便一个算法崩溃也不至于影响另一个算法的检测。
具体的,如图5所示,S4中的利用GPU对目标图像数组运行后处理算法可以包括:
S41,使用OpenCV从全局内存中调用目标图像数组。
第一进程的后处理算法是基于OpenCV架构的代码,它在GPU上对图像进行操作,利用GPU的硬件架构针对并行计算进行了优化,具有大量的计算单元,特别适合于处理数学运算、矩阵运算和向量运算等操作。GPU可以同时执行数千个线程,每个线程可以处理一个数据元素。这对于一些需要对每个像素或像素组进行计算的操作非常有用。
S42,去除目标图像数组中孔洞轮廓区域以外的干扰部分,获得无干扰图像。
本实施例中,孔洞轮廓区域即轴孔轮廓区域,为简化疑似缺陷区域的识别,可以先将图像中的非重点区域剔除,在图像中仅呈现需要检测的区域,将图像整体的背景设置成与镜头中的背景一致,这样只需要检测图像中与背景不同的区域即为疑似缺陷区域。
进一步的,如图6所示,S42包括:
S4201,对目标图像数组进行灰度化处理和二值化处理,获得二值图像。
先将图像灰度化,再进行二值化,从而有利于图像的进一步处理,使图像变得简单,而且数据量减小,能凸显出感兴趣的目标的轮廓,二值图像如图7所示。
S4202,从二值图像中提取孔洞轮廓,获取孔洞轮廓的最小外接圆的圆心坐标和半径。
将二值图像进行轮廓提取,以树结构输出轮廓信息的提取模式,使用teh-Chini轮廓近似算法,遍历轴体视野面积的轮廓,获得该轮廓的最小外接圆的圆心坐标和半径。
S4203,创建与二值图像尺寸相同的坐标网格图像。
如图8所示,坐标网格图像中,每个交点都是一个坐标点(xi,yi),所有的像素点都可以用一个坐标来表示。
S4204,利用孔洞轮廓的最小外接圆的圆心坐标和半径,通过欧几里得距离公式计算坐标网格的每个像素到孔洞轮廓的最小外接圆的圆心的距离。
欧几里得距离公式为d=sqrt((xi-xc)²+(yi-yc)²),其中,d为像素点i到孔洞轮廓的最小外接圆的圆心c的距离,xi为像素点i的横坐标,yi为像素点i的纵坐标,xc为圆心c的横坐标,yc为圆心c的纵坐标。
S4205,根据坐标网格图像中的像素与孔洞轮廓的最小外接圆的位置关系将坐标网格图像转换为逻辑数组,获得ROI逻辑数组。
如图8所示,使用逻辑数组(布尔数组)来表示哪些像素位于圆的内部,哪些位于圆的外部,对于每个坐标点,判断其到圆心的距离是否小于或等于圆的半径,如果是,那么对应位置的逻辑数组元素设置为True,表示该像素在圆内或圆上,如果否,那么对应位置的逻辑数组元素设置为False,表示该像素在圆外,即为ROI逻辑数组。
S4206,创建一个与二值图像尺寸相同的三通道的黑图像。
黑图像即每个像素点的像素值都为0。
S4207,利用ROI逻辑数组将黑图像在孔洞轮廓的最小外接圆内的像素设置为白色,获得ROI图像。
将ROI逻辑数组与黑图像重叠,黑图像中被True覆盖的像素点赋值为1(或255),即为白色,被False覆盖的像素点赋值为0,即为黑色,于是获得了在孔洞轮廓的最小外接圆内的像素设置为白色的ROI图像,如图9所示,作为掩膜进行后续的处理。
S4208,将目标图像数组与ROI图像进行按位与操作,获得第一掩膜图像。
此处按位与操作,使得孔洞轮廓的最小外接圆内的像素得以保留,孔洞轮廓的最小外接圆外的像素被黑色覆盖,目标图像数组只显示孔洞轮廓的最小外接圆内的部分,其他部分均为黑色,为第一掩膜图像,如图10所示。
S4209,创建一个与二值图像尺寸相同的三通道的白图像。
白图像即每个像素点的像素值都为1(或255)。
S4210,将ROI逻辑数组的反码与白图像进行按位与操作,获得第二掩膜图像。
ROI逻辑数组的反码即孔洞轮廓的最小外接圆内的像素为False,圆外的像素为True,此处按位与操作,使得孔洞轮廓的最小外接圆内的像素被黑色覆盖,孔洞轮廓的最小外接圆外的像素得以保留,第二掩膜图像只显示孔洞轮廓的最小外接圆外的部分,圆外的部分全部为白色,圆内部分均为黑色,如图11所示。
S4211,将第一掩膜图像与第二掩膜图像进行求和,获得无干扰图像。
最后将第一掩膜图像与第二掩膜图像两个部分做求和,合并成一张图像,就是去除边缘信息干扰只保留轴体空洞内的特征信息的图像(无干扰图像)了,如图12所示。
如图6所示,在上述S42的各个步骤中,S4206至S4208与S4209至S4210可以通过不同的线程并行处理,从而提高处理效率。
S43,利用无干扰图像检出疑似缺陷区域,计算疑似缺陷区域所占像素点数,将满足像素点数预设阈值的疑似缺陷区域对应的最小外接矩形确定为第一检出框,将第一检出框的坐标信息列入第一结果。
在拍摄的过程中由于轴体是通过机械臂夹具进行夹取并保持夹取动作悬空进行拍摄的,所以在夹取的过程中,相机视野中心点与轴体内壁孔洞中心线会有轻微偏移。那么就会衍生出轴体内壁需要检测毛刺的油孔位置的内壁会呈现在图像的视野中,那么它的特征与油孔边缘突出的毛刺特征是非常相似的,如图13所示,在检测时就会有相关的误检生成并造成OK件被剔除的情况,影响产线的产能。因此,后处理算法在检出疑似缺陷区域后并不立即输出结果,而是对疑似缺陷区域进一步筛选,方式是设定像素点数预设阈值,如果疑似缺陷区域所占像素点数不满足像素点数预设阈值,则说明该区域较小,为干扰点,实际不是毛刺缺陷,只有满足像素点数预设阈值的疑似缺陷区域才被初步认为是毛刺缺陷,列入第一结果。此处满足像素点数预设阈值是指疑似缺陷区域所占像素点数大于像素点数预设阈值,或者是指疑似缺陷区域所占像素点数大于或等于像素点数预设阈值。
进一步的,如图14所示,S43可以包括:
S431,对无干扰图像进行灰度化处理和二值化处理,得到无干扰二值图像。
先将图像灰度化,再进行二值化,从而有利于无干扰图像的进一步处理。
S432,对无干扰二值图像进行膨胀处理,增加白色边缘的对比度,获得膨胀图像。
通过对无干扰二值图像做膨胀,图像中疑似缺陷区域的边缘因光照等因素而颜色较浅的部分可以加深颜色,从而使疑似缺陷区域的边缘更加清晰地显现出来,取得提高疑似缺陷区域边缘对比度的效果,从而更有利于对疑似缺陷区域的提取。
S433,从膨胀图像中提取中空圆柱类部件(轴承)内壁的疑似缺陷区域。
该步骤将膨胀图像内所有的疑似缺陷区域全部提取出来,供后续的筛选。
S434,利用若干线程并行遍历膨胀图像中的疑似缺陷区域,若疑似缺陷区域所占像素点数大于像素点数预设阈值,则提取疑似缺陷区域的最小外接矩形,作为第一检出框。
根据膨胀图像中提取到的所有疑似缺陷区域数量,设置与之相同数量的线程,从而可以利用各线程并行遍历疑似缺陷区域,判断各疑似缺陷区域所占像素点数是否大于像素点数预设阈值,如果是,则可以初步认定为缺陷,将该疑似缺陷区域的最小外接矩形提取出来,作为第一检出框;如果否,则不再对该疑似缺陷区域进行操作,舍弃该疑似缺陷区域。通过多线程的并行处理,对膨胀图像中所有的疑似缺陷区域的遍历速度得到明显提高,节约了检测时间。
S435,计算第一检出框中非零像素点的个数。
得到第一检出框以后,继续对框内的非零像素点的个数进行计算,后续进行进一步的判断。
S436,若非零像素点的个数大于或等于非零像素点数预设阈值,则将第一检出框的坐标信息列入第一结果。
非零像素点的个数直接体现了疑似缺陷区域的大小,在其大于或等于非零像素点数预设阈值的时候,才能进一步认定其为缺陷的可能性极大,才能将第一检出框的坐标信息列入第一结果,再准备进行最后的判断。
S5,将第一结果字典中的第一结果和第二结果字典中的第二结果加载到GPU的共享内存中。
在计算机图形处理单元(GPU)的上下文中,共享内存(Shared Memory)和全局内存(Global Memory)是两种不同类型的内存,它们在访问方式、作用范围和使用情境上有一些重要的区别。
共享内存(Shared Memory)是一种在GPU线程块(Thread Block)中共享的内存类型。它是一块相对较小但非常快速的内存,用于在线程块内的线程之间进行数据共享。这种内存通常用于提高访问速度,因为它位于芯片上,并且能够被所有线程块中的线程访问。共享内存的生命周期仅限于线程块的执行。
全局内存(Global Memory)是GPU上所有线程都可以访问的存储区域。这是一种相对较大但相对较慢的内存,通常用于存储大量的数据,例如输入和输出数据,以及在整个GPU设备上共享的变量。全局内存的生命周期覆盖整个GPU应用程序的执行时间。
共享内存与全局内存的区别主要体现在:速度方面,共享内存通常比全局内存访问速度更快,因为它位于GPU芯片上。这使得共享内存成为存储频繁访问的数据的理想选择,以提高访问速度;作用范围方面,共享内存只在一个线程块中可见,而全局内存在整个设备上都是可见的,因此,共享内存适用于需要线程块内部通信和协作的任务,而全局内存适用于需要在不同线程块之间共享数据的任务;生命周期方面,共享内存的生命周期仅限于线程块的执行时间,而全局内存的生命周期覆盖整个应用程序的执行时间。
总体而言,共享内存和全局内存在GPU编程中都有各自的用途,合理的内存使用和访问模式可以显著提高并行计算性能。
具体的,如图15所示,S5可以包括:
S51,在GPU的共享内存中定义第一共享内存数组和第二共享内存数组,第一共享内存数组与第一结果字典的规格相对应,第二共享内存数组与第二结果字典的规格相对应。
S52,将第一结果字典中的第一结果加载到第一共享内存数组。
S53,将第二结果字典中的第二结果加载到第二共享内存数组。
S52和S53可以采用并行处理,提高处理的效率。以上过程为了实现并行处理,需要采用多线程处理的方式。首先在GPU上创建结果字典所对应规格的空共享内存数组,然后设置每个线程块中的大小(block_size),设置线程块数量(grid),设置线程块数量(grid),获取每个线程块的线程索引(threadIdx.x),设置每个线程负责加载4个坐标值的数据(threadIdx.x×4),接着定义共享内存数组,用于存储字典坐标数据,将结果字典的坐标信息加载到共享内存(Share Memory)中,最后等待所有线程完成共享内存加载。
S6,从共享内存中获取第一结果和第二结果,第一结果包含第一检出框的坐标信息,第二结果包含第二检出框的坐标信息,利用第一结果和第二结果计算第一检出框和第二检出框的IOU,将大于预设阈值的IOU所对应的第一结果和第二结果返回至主机端(host)。
定义CUDA核函数,将两个进程的结果字典放入GPU的共享内存中,利用CUDA的核函数对两个算法进程的结果字典中的坐标框进行IOU计算。利用CUDA核函数的线程(thread)每个线程可以处理一个坐标信息,对于处理大规模数据时具有较大优势,可以同时执行多个线程,从而在适合并行化的任务中提供强大的计算能力。这在出现大量检出框的情况时,在进行两个算法的检出框之间的IOU计算的时候可以有效提高计算效率。
具体的,如图16所示,S6中利用第一结果和第二结果计算第一检出框和第二检出框的IOU的方法可以包括:
S61,从第一结果中提取第一检出框的坐标信息。
S62,遍历第一检出框的坐标信息,获取第一检出框的横坐标最大值和最小值、纵坐标最大值和最小值。
S63,从第二结果中提取第二检出框的坐标信息。
S64,遍历第二检出框的坐标信息,获取第二检出框的横坐标最大值和最小值、纵坐标最大值和最小值。
S61至S62与S63至S64可以并行处理,通过多线程的并行处理S61至S62与S63至S64,可以提升效率,节约检测时间。第一结果中至少包含第一检出框的坐标信息,同时还可以包含其它可能需要的信息,第二结果同样至少包含第二检出框的坐标信息,同时还可以包含其它可能需要的信息。第一检出框和第二检出框的坐标信息包括该检出框上的所有点的坐标,为了确定检出框的面积以及两个检出框的交集面积和并集面积,需要确定它们的最值,才能进行后续的计算。
S65,计算第一检出框与第二检出框的交集区域面积和并集区域面积,公式为:
W=min(XAmax,XBmax)-max(XAmin,XBmin),
H=min(YAmax,YBmax)-max(YAmin,YBmin),
area_C=W×H;
area_A=(XAmax-XAmin)×(YAmax-YAmin), area_B=(XBmax-XBmin)×(YBmax-YBmin),
union_area=area_A+area_B-area_C;
其中,W为交集区域的宽,H为交集区域的高,area_A为第一检出框区域面积,area_B为第二检出框区域面积,area_C为交集区域面积,union_area为并集区域面积,XAmax为第一检出框的横坐标最大值,XAmin为第一检出框的横坐标最小值,YAmax为第一检出框的纵坐标最大值,YAmin为第一检出框的纵坐标最小值,XBmax为第二检出框的横坐标最大值,XBmin为第二检出框的横坐标最小值,YBmax为第二检出框的纵坐标最大值,YBmin为第二检出框的纵坐标最小值。如图17所示,A为第一检出框的示意,B为第二检出框的示意,C为A与B重叠区域,即交集。
S66,利用交集区域面积与并集区域面积计算第一检出框和第二检出框的IOU。
IOU=交集区域面积/并集区域面积,即IOU=area_C/union_area。
本发明采用一种后处理算法,对算法检出的缺陷尺寸进行阈值筛选,屏蔽其油孔内壁的可能出现的铁屑误检,以及对毛刺特征的缺陷大小进行筛选,可以有效的降低误检率。该后处理方法是与目标检测模型算法并行的多进程处理方法,在进行模型检测的同时对图像进行区域筛选以及面积筛选,在将相机取图同时发送至模型与后处理算法中,经过两个进程的处理将结果外接矩形位置信息进行IOU计算从而计算出最符合检测标准的检测结果。
如图18所示,本发明实施例还提供一种提升缺陷检测模型准确度的后处理优化装置,包括:
拍摄模块0,用于拍摄中空圆柱类部件内部的背光图像,作为目标图像。
转化模块1,用于将目标图像转化为目标图像数组。
传递模块2,用于将目标图像数组传递到GPU的全局内存中。
字典模块3,用于创建第一结果字典和第二结果字典。
运行模块4,用于从GPU的全局内存中调用目标图像数组,创建第一进程和第二进程,第一进程和第二进程并行处理;第一进程包括:利用GPU对目标图像数组运行后处理算法,输出第一结果,将第一结果存入第一结果字典;第二进程包括:利用GPU对目标图像数组运行单阶段算法模型推理,输出第二结果,将第二结果存入第二结果字典。
加载模块5,用于将第一结果字典中的第一结果和第二结果字典中的第二结果加载到GPU的共享内存中。
计算模块6,用于从共享内存中获取第一结果和第二结果,第一结果包含第一检出框的坐标信息,第二结果包含第二检出框的坐标信息,利用第一结果和第二结果计算第一检出框和第二检出框的IOU,将大于预设阈值的IOU所对应的第一结果和第二结果返回至主机端。
在本发明一个优选的实施例中,运行模块4包括:
调用单元,用于使用OpenCV从全局内存中调用目标图像数组。
去干扰单元,用于去除目标图像数组中孔洞轮廓区域以外的干扰部分,获得无干扰图像。
检出单元,用于利用无干扰图像检出疑似缺陷区域,计算疑似缺陷区域所占像素点数,将满足像素点数预设阈值的疑似缺陷区域对应的最小外接矩形确定为第一检出框,将第一检出框的坐标信息列入第一结果。
在本发明一个优选的实施例中,去干扰单元包括:
第一预处理子单元,用于对目标图像数组进行灰度化处理和二值化处理,获得二值图像。
轮廓提取子单元,用于从二值图像中提取孔洞轮廓,获取孔洞轮廓的最小外接圆的圆心坐标和半径。
坐标网格子单元,用于创建与所述二值图像尺寸相同的坐标网格图像。
圆心确定子单元,用于利用孔洞轮廓的最小外接圆的圆心坐标和半径,通过欧几里得距离公式计算所述坐标网格的每个像素到孔洞轮廓的最小外接圆的圆心的距离。
逻辑数组子单元,用于根据坐标网格图像中的像素与孔洞轮廓的最小外接圆的位置关系将坐标网格图像转换为逻辑数组,获得ROI逻辑数组。
黑图像子单元,用于创建一个与所述二值图像尺寸相同的三通道的黑图像。
ROI图像子单元,用于利用ROI逻辑数组将所述黑图像在孔洞轮廓的最小外接圆内的像素设置为白色,获得ROI图像;
第一掩膜子单元,用于将目标图像数组与ROI图像进行按位与操作,获得第一掩膜图像。
白图像子单元,用于创建一个与所述二值图像尺寸相同的三通道的白图像。
第二掩膜子单元,用于将ROI逻辑数组的反码与白图像进行按位与操作,获得第二掩膜图像。
无干扰图像子单元,用于将第一掩膜图像与第二掩膜图像进行求和,获得无干扰图像。
在本发明一个优选的实施例中,黑图像子单元、ROI图像子单元、第一掩膜子单元的处理过程与白图像子单元、第二掩膜子单元的处理过程并行处理。
在本发明一个优选的实施例中,检出单元包括:
第二预处理子单元,用于对无干扰图像进行灰度化处理和二值化处理,得到无干扰二值图像。
膨胀子单元,用于对无干扰二值图像进行膨胀处理,增加白色边缘的对比度,获得膨胀图像。
缺陷提取子单元,用于从所述膨胀图像中提取中空圆柱类部件内壁的疑似缺陷区域。
检出框子单元,用于利用若干线程并行遍历膨胀图像中的疑似缺陷区域,若疑似缺陷区域所占像素点数大于像素点数预设阈值,则提取疑似缺陷区域的最小外接矩形,作为第一检出框;
非零计数子单元,用于计算第一检出框中非零像素点的个数。
输出子单元,用于若非零像素点的个数大于或等于非零像素点数预设阈值,则将第一检出框的坐标信息列入第一结果。
在本发明一个优选的实施例中,加载模块5包括:
定义单元,用于在GPU的共享内存中定义第一共享内存数组和第二共享内存数组,所述第一共享内存数组与所述第一结果字典的规格相对应,所述第二共享内存数组与所述第二结果字典的规格相对应。
第一加载单元,用于将第一结果字典中的第一结果加载到第一共享内存数组。
第二加载单元,用于将第二结果字典中的第二结果加载到第二共享内存数组。
第一加载单元和第二加载单元的加载过程并行处理。
在本发明一个优选的实施例中,计算模块6包括:
第一结果提取单元,用于从第一结果中提取第一检出框的坐标信息。
第一遍历单元,用于遍历第一检出框的坐标信息,获取第一检出框的横坐标最大值和最小值、纵坐标最大值和最小值。
第二结果提取单元,用于从第二结果中提取第二检出框的坐标信息。
第二遍历单元,用于遍历第二检出框的坐标信息,获取第二检出框的横坐标最大值和最小值、纵坐标最大值和最小值。
面积计算单元,用于计算第一检出框与第二检出框的交集区域面积和并集区域面积,公式为:
W=min(XAmax,XBmax)-max(XAmin,XBmin),
H=min(YAmax,YBmax)-max(YAmin,YBmin),
area_C=W×H;
area_A=(XAmax-XAmin)×(YAmax-YAmin), area_B=(XBmax-XBmin)×(YBmax-YBmin),
union_area=area_A+area_B-area_C;
其中,W为交集区域的宽,H为交集区域的高,area_A为第一检出框区域面积,area_B为第二检出框区域面积,area_C为交集区域面积,union_area为并集区域面积,XAmax为第一检出框的横坐标最大值,XAmin为第一检出框的横坐标最小值,YAmax为第一检出框的纵坐标最大值,YAmin为第一检出框的纵坐标最小值,XBmax为第二检出框的横坐标最大值,XBmin为第二检出框的横坐标最小值,YBmax为第二检出框的纵坐标最大值,YBmin为第二检出框的纵坐标最小值。
IOU计算单元,用于利用交集区域面积与并集区域面积计算第一检出框和第二检出框的IOU。
第一结果提取单元、第一遍历单元的处理过程与第二结果提取单元、第二遍历单元的处理过程并行处理。
上述说明是针对本发明较佳可行实施例的详细说明,但实施例并非用以限定本发明的专利申请范围,凡本发明所提示的技术精神下所完成的同等变化或修饰变更,均应属于本发明所涵盖专利范围。

Claims (7)

1.提升缺陷检测模型准确度的后处理优化方法,其特征在于,包括:
S0,拍摄中空圆柱类部件内部的背光图像,作为目标图像;
S1,将目标图像转化为目标图像数组;
S2,将目标图像数组传递到GPU的全局内存中;
S3,创建第一结果字典和第二结果字典;
S4,从GPU的全局内存中调用所述目标图像数组,创建第一进程和第二进程,所述第一进程和第二进程并行处理;
所述第一进程包括:利用GPU对所述目标图像数组运行后处理算法,输出第一结果,将所述第一结果存入第一结果字典;
所述第二进程包括:利用GPU对所述目标图像数组运行单阶段算法模型推理,输出第二结果,将所述第二结果存入第二结果字典;
S5,将第一结果字典中的第一结果和第二结果字典中的第二结果加载到GPU的共享内存中;
S6,从共享内存中获取第一结果和第二结果,第一结果包含第一检出框的坐标信息,第二结果包含第二检出框的坐标信息,利用第一结果和第二结果计算第一检出框和第二检出框的IOU,将大于预设阈值的IOU所对应的第一结果和第二结果返回至主机端;
S4中所述利用GPU对所述目标图像数组运行后处理算法包括:
S41,使用OpenCV从全局内存中调用目标图像数组;
S42,去除目标图像数组中孔洞轮廓区域以外的干扰部分,获得无干扰图像;
S43,利用无干扰图像检出疑似缺陷区域,计算疑似缺陷区域所占像素点数,将满足像素点数预设阈值的疑似缺陷区域对应的最小外接矩形确定为第一检出框,将第一检出框的坐标信息列入第一结果;
所述S42包括:
S4201,对目标图像数组进行灰度化处理和二值化处理,获得二值图像;
S4202,从二值图像中提取孔洞轮廓,获取孔洞轮廓的最小外接圆的圆心坐标和半径;
S4203,创建与所述二值图像尺寸相同的坐标网格图像;
S4204,利用孔洞轮廓的最小外接圆的圆心坐标和半径,通过欧几里得距离公式计算所述坐标网格的每个像素到孔洞轮廓的最小外接圆的圆心的距离;
S4205,根据坐标网格图像中的像素与孔洞轮廓的最小外接圆的位置关系将坐标网格图像转换为逻辑数组,获得ROI逻辑数组;
S4206,创建一个与所述二值图像尺寸相同的三通道的黑图像;
S4207,利用ROI逻辑数组将所述黑图像在孔洞轮廓的最小外接圆内的像素设置为白色,获得ROI图像;
S4208,将目标图像数组与ROI图像进行按位与操作,获得第一掩膜图像;
S4209,创建一个与所述二值图像尺寸相同的三通道的白图像;
S4210,将ROI逻辑数组的反码与白图像进行按位与操作,获得第二掩膜图像;
S4211,将第一掩膜图像与第二掩膜图像进行求和,获得无干扰图像。
2.根据权利要求1所述的提升缺陷检测模型准确度的后处理优化方法,其特征在于,所述S4206至S4208与所述S4209至S4210并行处理。
3.根据权利要求1所述的提升缺陷检测模型准确度的后处理优化方法,其特征在于,所述S43包括:
S431,对无干扰图像进行灰度化处理和二值化处理,得到无干扰二值图像;
S432,对无干扰二值图像进行膨胀处理,增加白色边缘的对比度,获得膨胀图像;
S433,从所述膨胀图像中提取中空圆柱类部件内壁的疑似缺陷区域;
S434,利用若干线程并行遍历膨胀图像中的疑似缺陷区域,若疑似缺陷区域所占像素点数大于像素点数预设阈值,则提取疑似缺陷区域的最小外接矩形,作为第一检出框;
S435,计算第一检出框中非零像素点的个数;
S436,若非零像素点的个数大于或等于非零像素点数预设阈值,则将第一检出框的坐标信息列入第一结果。
4.根据权利要求1所述的提升缺陷检测模型准确度的后处理优化方法,其特征在于,所述S5包括:
S51,在GPU的共享内存中定义第一共享内存数组和第二共享内存数组,所述第一共享内存数组与所述第一结果字典的规格相对应,所述第二共享内存数组与所述第二结果字典的规格相对应;
S52,将第一结果字典中的第一结果加载到第一共享内存数组;
S53,将第二结果字典中的第二结果加载到第二共享内存数组;
所述S52和S53并行处理。
5.根据权利要求1所述的提升缺陷检测模型准确度的后处理优化方法,其特征在于,S6中所述利用第一结果和第二结果计算第一检出框和第二检出框的IOU包括:
S61,从第一结果中提取第一检出框的坐标信息;
S62,遍历第一检出框的坐标信息,获取第一检出框的横坐标最大值和最小值、纵坐标最大值和最小值;
S63,从第二结果中提取第二检出框的坐标信息;
S64,遍历第二检出框的坐标信息,获取第二检出框的横坐标最大值和最小值、纵坐标最大值和最小值;
S65,计算第一检出框与第二检出框的交集区域面积和并集区域面积;
S66,利用交集区域面积与并集区域面积计算第一检出框和第二检出框的IOU;
所述S61至S62与所述S63至S64并行处理。
6.根据权利要求5所述的提升缺陷检测模型准确度的后处理优化方法,其特征在于,所述S65,计算第一检出框与第二检出框的交集区域面积和并集区域面积,其公式为:
W=min(XAmax,XBmax)-max(XAmin,XBmin),
H=min(YAmax,YBmax)-max(YAmin,YBmin),
area_C=W×H;
area_A=(XAmax-XAmin)×(YAmax-YAmin), area_B=(XBmax-XBmin)×(YBmax-YBmin),
union_area=area_A+area_B-area_C;
其中,W为交集区域的宽,H为交集区域的高,area_A为第一检出框区域面积,area_B为第二检出框区域面积,area_C为交集区域面积,union_area为并集区域面积,XAmax为第一检出框的横坐标最大值,XAmin为第一检出框的横坐标最小值,YAmax为第一检出框的纵坐标最大值,YAmin为第一检出框的纵坐标最小值,XBmax为第二检出框的横坐标最大值,XBmin为第二检出框的横坐标最小值,YBmax为第二检出框的纵坐标最大值,YBmin为第二检出框的纵坐标最小值。
7.提升缺陷检测模型准确度的后处理优化装置,其特征在于,包括:
拍摄模块,用于拍摄中空圆柱类部件内部的背光图像,作为目标图像;
转化模块,用于将目标图像转化为目标图像数组;
传递模块,用于将目标图像数组传递到GPU的全局内存中;
字典模块,用于创建第一结果字典和第二结果字典;
运行模块,用于从GPU的全局内存中调用所述目标图像数组,创建第一进程和第二进程,所述第一进程和第二进程并行处理;所述第一进程包括:利用GPU对所述目标图像数组运行后处理算法,输出第一结果,将所述第一结果存入第一结果字典;所述第二进程包括:利用GPU对所述目标图像数组运行单阶段算法模型推理,输出第二结果,将所述第二结果存入第二结果字典;
加载模块,用于将第一结果字典中的第一结果和第二结果字典中的第二结果加载到GPU的共享内存中;
计算模块,用于从共享内存中获取第一结果和第二结果,第一结果包含第一检出框的坐标信息,第二结果包含第二检出框的坐标信息,利用第一结果和第二结果计算第一检出框和第二检出框的IOU,将大于预设阈值的IOU所对应的第一结果和第二结果返回至主机端;
所述运行模块包括:
调用单元,用于使用OpenCV从全局内存中调用目标图像数组;
去干扰单元,用于去除目标图像数组中孔洞轮廓区域以外的干扰部分,获得无干扰图像;
检出单元,用于利用无干扰图像检出疑似缺陷区域,计算疑似缺陷区域所占像素点数,将满足像素点数预设阈值的疑似缺陷区域对应的最小外接矩形确定为第一检出框,将第一检出框的坐标信息列入第一结果;
所述去干扰单元包括:
第一预处理子单元,用于对目标图像数组进行灰度化处理和二值化处理,获得二值图像;
轮廓提取子单元,用于从二值图像中提取孔洞轮廓,获取孔洞轮廓的最小外接圆的圆心坐标和半径;
坐标网格子单元,用于创建与所述二值图像尺寸相同的坐标网格图像;
圆心确定子单元,用于利用孔洞轮廓的最小外接圆的圆心坐标和半径,通过欧几里得距离公式计算所述坐标网格的每个像素到孔洞轮廓的最小外接圆的圆心的距离;
逻辑数组子单元,用于根据坐标网格图像中的像素与孔洞轮廓的最小外接圆的位置关系将坐标网格图像转换为逻辑数组,获得ROI逻辑数组;
黑图像子单元,用于创建一个与所述二值图像尺寸相同的三通道的黑图像;
ROI图像子单元,用于利用ROI逻辑数组将所述黑图像在孔洞轮廓的最小外接圆内的像素设置为白色,获得ROI图像;
第一掩膜子单元,用于将目标图像数组与ROI图像进行按位与操作,获得第一掩膜图像;
白图像子单元,用于创建一个与所述二值图像尺寸相同的三通道的白图像;
第二掩膜子单元,用于将ROI逻辑数组的反码与白图像进行按位与操作,获得第二掩膜图像;
无干扰图像子单元,用于将第一掩膜图像与第二掩膜图像进行求和,获得无干扰图像。
CN202311648827.9A 2023-12-05 2023-12-05 提升缺陷检测模型准确度的后处理优化方法及装置 Active CN117351016B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311648827.9A CN117351016B (zh) 2023-12-05 2023-12-05 提升缺陷检测模型准确度的后处理优化方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311648827.9A CN117351016B (zh) 2023-12-05 2023-12-05 提升缺陷检测模型准确度的后处理优化方法及装置

Publications (2)

Publication Number Publication Date
CN117351016A CN117351016A (zh) 2024-01-05
CN117351016B true CN117351016B (zh) 2024-02-06

Family

ID=89367031

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311648827.9A Active CN117351016B (zh) 2023-12-05 2023-12-05 提升缺陷检测模型准确度的后处理优化方法及装置

Country Status (1)

Country Link
CN (1) CN117351016B (zh)

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108197576A (zh) * 2018-01-08 2018-06-22 安徽炬视科技有限公司 基于dsp技术的安全帽配戴检测装置及其检测方法
CN110348417A (zh) * 2019-07-17 2019-10-18 济南大学 一种深度手势识别算法的优化方法
CN113158738A (zh) * 2021-01-28 2021-07-23 中南大学 一种基于注意力机制的港口环境下目标检测方法、系统、终端及可读存储介质
CN113326738A (zh) * 2021-05-06 2021-08-31 南京信息工程大学 基于深度网络和字典学习的行人目标检测与重识别方法
CN113436131A (zh) * 2020-03-04 2021-09-24 上海微创卜算子医疗科技有限公司 缺陷检测方法、装置、电子设备和存储介质
CN114125435A (zh) * 2021-11-30 2022-03-01 杭州科技职业技术学院 一种用于网络摄像机的图像缺陷智能检测方法
CN114758226A (zh) * 2022-03-19 2022-07-15 西安电子科技大学 两阶段决策引导双字典构建的高光谱图像异常检测方法
CN114898140A (zh) * 2022-03-30 2022-08-12 厦门瑞为信息技术有限公司 一种基于paa算法的行为检测方法、装置及可读介质
CN116310993A (zh) * 2023-03-27 2023-06-23 成都京东方智慧科技有限公司 目标检测方法、装置、设备及存储介质
CN116559177A (zh) * 2023-05-23 2023-08-08 广纳四维(广东)光电科技有限公司 一种缺陷检测方法、装置、设备以及存储介质
CN116662038A (zh) * 2023-07-25 2023-08-29 菲特(天津)检测技术有限公司 基于共享内存的工业信息检测方法、装置、设备及介质
CN116662039A (zh) * 2023-07-25 2023-08-29 菲特(天津)检测技术有限公司 基于共享内存的工业信息并行检测方法、装置及介质
CN116703925A (zh) * 2023-08-08 2023-09-05 菲特(天津)检测技术有限公司 一种轴承缺陷检测方法、装置、电子设备及存储介质

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108197576A (zh) * 2018-01-08 2018-06-22 安徽炬视科技有限公司 基于dsp技术的安全帽配戴检测装置及其检测方法
CN110348417A (zh) * 2019-07-17 2019-10-18 济南大学 一种深度手势识别算法的优化方法
CN113436131A (zh) * 2020-03-04 2021-09-24 上海微创卜算子医疗科技有限公司 缺陷检测方法、装置、电子设备和存储介质
CN113158738A (zh) * 2021-01-28 2021-07-23 中南大学 一种基于注意力机制的港口环境下目标检测方法、系统、终端及可读存储介质
CN113326738A (zh) * 2021-05-06 2021-08-31 南京信息工程大学 基于深度网络和字典学习的行人目标检测与重识别方法
CN114125435A (zh) * 2021-11-30 2022-03-01 杭州科技职业技术学院 一种用于网络摄像机的图像缺陷智能检测方法
CN114758226A (zh) * 2022-03-19 2022-07-15 西安电子科技大学 两阶段决策引导双字典构建的高光谱图像异常检测方法
CN114898140A (zh) * 2022-03-30 2022-08-12 厦门瑞为信息技术有限公司 一种基于paa算法的行为检测方法、装置及可读介质
CN116310993A (zh) * 2023-03-27 2023-06-23 成都京东方智慧科技有限公司 目标检测方法、装置、设备及存储介质
CN116559177A (zh) * 2023-05-23 2023-08-08 广纳四维(广东)光电科技有限公司 一种缺陷检测方法、装置、设备以及存储介质
CN116662038A (zh) * 2023-07-25 2023-08-29 菲特(天津)检测技术有限公司 基于共享内存的工业信息检测方法、装置、设备及介质
CN116662039A (zh) * 2023-07-25 2023-08-29 菲特(天津)检测技术有限公司 基于共享内存的工业信息并行检测方法、装置及介质
CN116703925A (zh) * 2023-08-08 2023-09-05 菲特(天津)检测技术有限公司 一种轴承缺陷检测方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
CN117351016A (zh) 2024-01-05

Similar Documents

Publication Publication Date Title
CN110060237B (zh) 一种故障检测方法、装置、设备及系统
CN112819772B (zh) 一种高精度快速图形检测识别方法
CN102393397B (zh) 一种磁瓦表面缺陷检测系统及其检测方法
CN111833306A (zh) 缺陷检测方法和用于缺陷检测的模型训练方法
CN111652085A (zh) 基于2d与3d特征结合的物体识别方法
US20230030689A1 (en) Systems and methods for quantifying light flares in images
CN117351016B (zh) 提升缺陷检测模型准确度的后处理优化方法及装置
CN113591507A (zh) 一种鲁棒的二维码DataMatrix定位方法及系统
CN117309892A (zh) 一种电池蓝膜的缺陷检测方法、装置及系统和光源控制器
CN116523916A (zh) 产品表面缺陷检测方法、装置、电子设备及存储介质
CN116309307A (zh) 焊缝缺陷检测方法、装置、可读存储介质及电子设备
CN112508925B (zh) 电子锁面板质量检测方法、系统、计算机装置和存储介质
CN114486934A (zh) 一种用于管道内部裂纹图像识别系统
CN111882545B (zh) 基于双向信息传递及特征融合的织物疵点检测方法
JP7343336B2 (ja) 検査支援装置および検査支援方法
CN114926675A (zh) 外壳污损缺陷检测方法、装置、计算机设备及存储介质
CN113920087A (zh) 基于深度学习的微小元器件缺陷检测系统及方法
Fiala et al. Framework for image sensor design parameter optimization for pupil detection
RU2541855C1 (ru) Устройство для определения контуров объектов в изображении
CN110189272B (zh) 用于处理图像的方法、装置、设备和存储介质
CN117455836A (zh) SF-YOLONet的金属齿轮端面缺陷检测方法及系统
CN117173107A (zh) 产品缺陷检测方法、装置、设备、系统和可读存储介质
Liu et al. A Modified Thinning Framework Against Noise
CN117974482A (zh) 一种用于增强异常检测能力的图像增强方法、系统和设备
Tahir et al. Online, Real-time and Robust Detection and Localization of Foreign Objects on Paper Surface using Machine Vision and Clustering

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant