CN115294025A - 缺陷检测方法及装置、电子设备和存储介质 - Google Patents
缺陷检测方法及装置、电子设备和存储介质 Download PDFInfo
- Publication number
- CN115294025A CN115294025A CN202210793667.6A CN202210793667A CN115294025A CN 115294025 A CN115294025 A CN 115294025A CN 202210793667 A CN202210793667 A CN 202210793667A CN 115294025 A CN115294025 A CN 115294025A
- Authority
- CN
- China
- Prior art keywords
- defect
- image
- detected
- result
- segmentation
- 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.)
- Withdrawn
Links
- 230000007547 defect Effects 0.000 title claims abstract description 492
- 238000001514 detection method Methods 0.000 title claims abstract description 167
- 238000003860 storage Methods 0.000 title claims abstract description 24
- 230000011218 segmentation Effects 0.000 claims abstract description 133
- 238000000034 method Methods 0.000 claims abstract description 61
- 238000012545 processing Methods 0.000 claims description 80
- 238000004891 communication Methods 0.000 claims description 42
- 238000013528 artificial neural network Methods 0.000 claims description 35
- 238000000605 extraction Methods 0.000 claims description 21
- 230000002950 deficient Effects 0.000 claims description 17
- 238000012549 training Methods 0.000 claims description 16
- 238000004590 computer program Methods 0.000 claims description 14
- 238000009826 distribution Methods 0.000 claims description 12
- 238000004140 cleaning Methods 0.000 claims description 7
- 238000003709 image segmentation Methods 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 22
- 230000008569 process Effects 0.000 description 15
- 238000005516 engineering process Methods 0.000 description 12
- 238000002372 labelling Methods 0.000 description 12
- 230000006870 function Effects 0.000 description 11
- 238000007689 inspection Methods 0.000 description 7
- 238000004519 manufacturing process Methods 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 5
- 239000002131 composite material Substances 0.000 description 5
- 238000010295 mobile communication Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 230000004927 fusion Effects 0.000 description 4
- 230000010365 information processing Effects 0.000 description 4
- 230000005236 sound signal Effects 0.000 description 4
- 230000004913 activation Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- JEIPFZHSYJVQDO-UHFFFAOYSA-N iron(III) oxide Inorganic materials O=[Fe]O[Fe]=O JEIPFZHSYJVQDO-UHFFFAOYSA-N 0.000 description 3
- 238000012423 maintenance Methods 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 238000010606 normalization Methods 0.000 description 3
- 238000011176 pooling Methods 0.000 description 3
- 238000003672 processing method Methods 0.000 description 3
- 239000004065 semiconductor Substances 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000013527 convolutional neural network Methods 0.000 description 2
- 238000003066 decision tree Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000005192 partition Methods 0.000 description 2
- 230000001902 propagating effect Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000012706 support-vector machine Methods 0.000 description 2
- 238000003466 welding Methods 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000002411 adverse Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 230000007797 corrosion Effects 0.000 description 1
- 238000005260 corrosion Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000009776 industrial production Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 229910052751 metal Inorganic materials 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/0002—Inspection of images, e.g. flaw detection
- G06T7/0004—Industrial image inspection
- G06T7/0008—Industrial image inspection checking presence/absence
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/11—Region-based segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/136—Segmentation; Edge detection involving thresholding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/60—Analysis of geometric attributes
- G06T7/62—Analysis of geometric attributes of area, perimeter, diameter or volume
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/44—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/764—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30108—Industrial image inspection
- G06T2207/30164—Workpiece; Machine component
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Multimedia (AREA)
- Mathematical Physics (AREA)
- General Engineering & Computer Science (AREA)
- Biomedical Technology (AREA)
- Computational Linguistics (AREA)
- Molecular Biology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biophysics (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Data Mining & Analysis (AREA)
- Geometry (AREA)
- Quality & Reliability (AREA)
- Image Analysis (AREA)
Abstract
本公开涉及一种缺陷检测方法及装置、电子设备和存储介质,所述方法包括:对获取的待检测图像进行分类处理,确定待检测图像的分类信息,以及对获取的待检测图像进行分割处理,得到分割图像,并根据分类信息,判断是否对分割图像进行缺陷检测,得到判断结果;在判断结果为进行缺陷检测的情况下,根据分类信息和分割图像,对分割图像进行缺陷检测,确定缺陷检测结果。本公开实施例能够自动检查出待检测图像中存在的缺陷,不仅减少了人工成本,而且充分利用了待检测图像的分类信息和分割图像,提高了缺陷检测的精准度。
Description
技术领域
本公开涉及计算机视觉技术领域,尤其涉及一种缺陷检测方法及装置、电子设备和存储介质。
背景技术
在工业缺陷检测领域,例如汽车的冲压件质检,主要是通过人工进行检查,其中,质检的缺陷可包括垫伤、划痕、锈蚀、磕碰等。然而,基于人工的缺陷检测会需要比较高的人力成本,并且,考虑到基于人工的缺陷检测,对于不同的缺陷定义标准,无法进行较好地统一,具有一定的误差性,在缺陷比较细微的情况下,还可能会漏掉一些细微的缺陷。
发明内容
本公开提出了一种缺陷检测技术方案。
根据本公开的一方面,提供了一种缺陷检测方法,包括:获取待检测图像;对所述待检测图像进行分类处理,确定所述待检测图像的分类信息,所述分类信息包括所述待检测图像属于每个缺陷类别的缺陷概率,以及对所述待检测图像进行分割处理,得到分割图像,所述分割图像包括至少一个待检测物体对应的至少一个目标区域,以及待检测物体以外的背景区域;根据所述分类信息,判断是否对所述分割图像进行缺陷检测,得到判断结果;在判断结果为进行缺陷检测的情况下,根据所述分类信息和所述分割图像,对所述分割图像进行缺陷检测,确定缺陷检测结果,所述缺陷检测结果包括无缺陷结果和有缺陷结果中的至少一种,所述有缺陷结果包括至少一个缺陷位置,以及每个缺陷位置处的缺陷对应的分类信息。
在一种可能的实现方式中,所述根据所述分类信息,判断是否对所述分割图像进行缺陷检测,得到判断结果,包括:在所述分类信息包括的全部所述缺陷概率均小于预设的分类阈值的情况下,所述待检测图像不存在缺陷,所述判断结果为不进行缺陷检测,或者,在所述分类信息包括的至少一个所述缺陷概率大于或等于预设的分类阈值的情况下,所述判断结果为进行缺陷检测。
在一种可能的实现方式中,针对大于或等于预设的分类阈值的分类信息中任一缺陷类别的缺陷概率,所述根据所述分类信息和所述分割图像,对所述分割图像进行缺陷检测,确定缺陷检测结果,包括:根据预设的分割阈值,对所述分割图像进行二值化处理,得到二值化后的第一图像;根据所述缺陷概率和所述第一图像的所述至少一个第一连通域,确定所述缺陷检测结果。
在一种可能的实现方式中,所述根据所述缺陷概率和所述第一图像的所述至少一个第一连通域,确定所述缺陷检测结果,包括:根据所述第一图像的所述至少一个第一连通域中每个第一连通域的周长和/或面积,判断所述至少一个第一连通域中是否为有效的第一缺陷;在所述至少一个第一连通域为有效的第一缺陷的情况下,输出有缺陷结果,所述有缺陷结果包括每个第一缺陷的缺陷位置和所述第一缺陷对应的所述缺陷概率,或者,在所述至少一个第一连通域中无有效的第一缺陷的情况下,判断初始迭代阈值是否大于预设的最小分割阈值,所述初始迭代阈值为所述分割图像中最大像素值与预设比例的乘积;在所述初始迭代阈值小于所述最小分割阈值的情况下,输出无缺陷结果;或者,在所述初始迭代阈值大于或等于所述最小分割阈值的情况下,根据初始迭代阈值,对所述分割图像进行二值化处理,得到二值化后的第二图像;根据所述缺陷概率和所述第二图像的所述至少一个第二连通域,确定所述缺陷检测结果。
在一种可能的实现方式中,所述根据所述缺陷概率和所述第二图像的所述至少一个第二连通域,确定所述缺陷检测结果,包括:根据所述第二图像中至少一个第二连通域的周长和/或面积,判断所述至少一个第二连通域中是否为有效的第二缺陷,在所述至少一个第二连通域为有效的第二缺陷的情况下,输出有缺陷结果,所述有缺陷结果包括周长最长和/或面积最大的第二连通域对应的第二缺陷的缺陷位置,和所述第二缺陷对应的缺陷概率,或者,在所述至少一个第二连通域中无有效缺陷的情况下,判断更新后的迭代阈值是否大于预设的最小分割阈值,所述更新后的迭代阈值为更新前的迭代阈值与预设比例的乘积;在所述更新后的迭代阈值小于所述最小分割阈值的情况下,输出无缺陷结果;或者,在所述更新后的迭代阈值大于或等于所述最小分割阈值的情况下,根据所述更新后的迭代阈值,对所述分割图像进行二值化处理,更新第二图像;对更新后的第二图像重复执行所述根据所述第二图像中至少一个第二连通域的周长和/或面积,判断所述至少一个第二连通域中是否为有效的第二缺陷以及之后的步骤,直至输出无缺陷结果,或者,有缺陷结果。
在一种可能的实现方式中,所述分类信息和所述分割图像是通过神经网络获取的,所述神经网络包括特征提取网络、分类网络、以及分割网络,所述分类网络和所述分割网络均与所述特征提取网络连接,所述对所述待检测图像进行分类处理,确定所述待检测图像的分类信息,以及对所述待检测图像进行分割处理,得到分割图像,包括:利用所述特征提取网络对所述待检测图像进行特征提取,得到至少一组特征图;利用所述分类网络对所述至少一组特征图进行分类处理,得到所述分类信息,以及利用所述分割网络对所述至少一组特征图进行分割处理,得到所述分割图像;其中,所述神经网络是通过训练数据集训练好的神经网络,所述训练数据集是由数据清洗处理和标注后的样本图像构成的,所述样本图像是图像采集设备在不同光源方向,拍摄到所述待检测物体带有不同明暗分布的图像的合成图像。
在一种可能的实现方式中,所述获取待检测图像,包括:获取所述待检测物体的至少两帧初始图像,所述至少两帧初始图像是图像采集设备在不同光源方向,拍摄到所述待检测物体带有不同明暗分布的图像;将所述待检测物体的初始图像进行合并处理,得到合并后的待检测图像。
根据本公开的一方面,提供了一种缺陷检测装置,包括:获取模块,用于获取待检测图像;确定模块,用于对所述待检测图像进行分类处理,确定所述待检测图像的分类信息,所述分类信息包括所述待检测图像属于每个缺陷类别的缺陷概率,以及用于对所述待检测图像进行分割处理,得到分割图像,所述分割图像包括至少一个待检测物体对应的至少一个目标区域,以及待检测物体以外的背景区域;判断模块,用于根据所述分类信息,判断是否对所述分割图像进行缺陷检测,得到判断结果;检测模块,用于在判断结果为进行缺陷检测的情况下,根据所述分类信息和所述分割图像,对所述分割图像进行缺陷检测,确定缺陷检测结果,所述缺陷检测结果包括无缺陷结果和有缺陷结果中的至少一种,所述有缺陷结果包括至少一个缺陷位置,以及每个缺陷位置处的缺陷对应的分类信息。
在一种可能的实现方式中,所述判断模块用于:在所述分类信息包括的全部所述缺陷概率均小于预设的分类阈值的情况下,所述待检测图像不存在缺陷,所述判断结果为不进行缺陷检测,或者,在所述分类信息包括的至少一个所述缺陷概率大于或等于预设的分类阈值的情况下,所述判断结果为进行缺陷检测。
在一种可能的实现方式中,所述检测模块用于:针对大于或等于预设的分类阈值的分类信息中任一缺陷类别的缺陷概率,根据预设的分割阈值,对所述分割图像进行二值化处理,得到二值化后的第一图像;根据所述缺陷概率和所述第一图像的所述至少一个第一连通域,确定所述缺陷检测结果。
在一种可能的实现方式中,所述根据所述缺陷概率和所述第一图像的所述至少一个第一连通域,确定所述缺陷检测结果,包括:根据所述第一图像的所述至少一个第一连通域中每个第一连通域的周长和/或面积,判断所述至少一个第一连通域中是否为有效的第一缺陷;在所述至少一个第一连通域为有效的第一缺陷的情况下,输出有缺陷结果,所述有缺陷结果包括每个第一缺陷的缺陷位置和所述第一缺陷对应的所述缺陷概率,或者,在所述至少一个第一连通域中无有效的第一缺陷的情况下,判断初始迭代阈值是否大于预设的最小分割阈值,所述初始迭代阈值为所述分割图像中最大像素值与预设比例的乘积;在所述初始迭代阈值小于所述最小分割阈值的情况下,输出无缺陷结果;或者,在所述初始迭代阈值大于或等于所述最小分割阈值的情况下,根据初始迭代阈值,对所述分割图像进行二值化处理,得到二值化后的第二图像;根据所述缺陷概率和所述第二图像的所述至少一个第二连通域,确定所述缺陷检测结果。
在一种可能的实现方式中,所述根据所述缺陷概率和所述第二图像的所述至少一个第二连通域,确定所述缺陷检测结果,包括:根据所述第二图像中至少一个第二连通域的周长和/或面积,判断所述至少一个第二连通域中是否为有效的第二缺陷,在所述至少一个第二连通域为有效的第二缺陷的情况下,输出有缺陷结果,所述有缺陷结果包括周长最长和/或面积最大的第二连通域对应的第二缺陷的缺陷位置,和所述第二缺陷对应的缺陷概率,或者,在所述至少一个第二连通域中无有效缺陷的情况下,判断更新后的迭代阈值是否大于预设的最小分割阈值,所述更新后的迭代阈值为更新前的迭代阈值与预设比例的乘积;在所述更新后的迭代阈值小于所述最小分割阈值的情况下,输出无缺陷结果;或者,在所述更新后的迭代阈值大于或等于所述最小分割阈值的情况下,根据所述更新后的迭代阈值,对所述分割图像进行二值化处理,更新第二图像;对更新后的第二图像重复执行所述根据所述第二图像中至少一个第二连通域的周长和/或面积,判断所述至少一个第二连通域中是否为有效的第二缺陷以及之后的步骤,直至输出无缺陷结果,或者,有缺陷结果。
在一种可能的实现方式中,所述分类信息和所述分割图像是通过神经网络获取的,所述神经网络包括特征提取网络、分类网络、以及分割网络,所述分类网络和所述分割网络均与所述特征提取网络连接,所述确定模块用于:利用所述特征提取网络对所述待检测图像进行特征提取,得到至少一组特征图;利用所述分类网络对所述至少一组特征图进行分类处理,得到所述分类信息,以及利用所述分割网络对所述至少一组特征图进行分割处理,得到所述分割图像;其中,所述神经网络是通过训练数据集训练好的神经网络,所述训练数据集是由数据清洗处理和标注后的样本图像构成的,所述样本图像是图像采集设备在不同光源方向,拍摄到所述待检测物体带有不同明暗分布的图像的合成图像。
在一种可能的实现方式中,所述获取模块用于:获取所述待检测物体的至少两帧初始图像,所述至少两帧初始图像是图像采集设备在不同光源方向,拍摄到所述待检测物体带有不同明暗分布的图像;将所述待检测物体的初始图像进行合并处理,得到合并后的待检测图像。
根据本公开的一方面,提供了一种电子设备,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为调用所述存储器存储的指令,以执行上述方法。
根据本公开的一方面,提供了一种计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现上述方法。
在本公开实施例中,能够分别对待检测图像进行分类处理和分割处理,得到待检测图像的分类信息和分割图像,并根据分类信息,判断是否对分割图像进行缺陷检测,在判断结果为进行缺陷检测的情况下,根据分类信息和分割图像对分割图像进行缺陷检测,确定缺陷检测结果。通过这种方式,能够自动检查出待检测图像中存在的缺陷,不仅减少了人工成本,而且充分利用了待检测图像的分类信息和分割图像,提高了缺陷检测的精准度。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,而非限制本公开。根据下面参考附图对示例性实施例的详细说明,本公开的其它特征及方面将变得清楚。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。
图1示出根据本公开实施例的缺陷检测方法的流程图。
图2示出根据本公开实施例的光源方向的示意图。
图3示出根据本公开实施例的神经网络结构的示意图。
图4示出根据本公开实施例的判断是否对分割图像进行缺陷检测的示意图。
图5示出根据本公开实施例的缺陷检测方法的示意图。
图6示出根据本公开实施例的缺陷检测装置的框图。
图7示出根据本公开实施例的一种电子设备的框图。
图8示出根据本公开实施例的另一种电子设备的框图。
具体实施方式
以下将参考附图详细说明本公开的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。
在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合,例如,包括A、B、C中的至少一种,可以表示包括从A、B和C构成的集合中选择的任意一个或多个元素。
另外,为了更好地说明本公开,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本公开同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本公开的主旨。
在工业领域中,工业产品和/或工业部件在生产、制造和维护的过程可能会出现工业缺陷。例如,在油气管道、航天器、汽车等工业产品的制造或维护过程中,经常使用焊接,在焊接留下的焊缝处可能存在焊缝缺陷。再例如,在汽车某部件上,可能会由于生产或维护工艺的问题(例如冲压加工),导致该部件上存在裂纹、划痕、垫伤、锈蚀、磕碰等缺陷。工业产品中诸如此类的缺陷往往会影响到工业产品的正常使用,基于此,对工业产品进行工业缺陷的检测是非常必要的。
相关技术中,可以依靠人工从工业产品/或工业部件的图像中识别工业缺陷。然而这种方法不仅需要花费大量的人力成本,而且检测质量也难以保证,比如,在缺陷比较细微的情况下,人工处理时可能会漏掉细微缺陷,无法对其进行正确识别。
有鉴于此,本公开提供了一种缺陷检测方案,能够分别对待检测图像进行分类处理和分割处理,得到待检测图像的分类信息和分割图像,并根据分类信息,判断是否对分割图像进行缺陷检测,在判断结果为进行缺陷检测的情况下,根据分类信息和分割图像对分割图像进行缺陷检测,确定缺陷检测结果。通过这种方式,能够自动检查出待检测图像中存在的缺陷,不仅减少了人工成本,而且充分利用了待检测图像的分类信息和分割图像,提高了缺陷检测的精准度。
在一种可能的实现方式中,本公开实施例的缺陷检测方法可用于检测物体的表面缺陷,可通过检测图像采集设备采集的包含待检测物体的图像,确定待检测物体存在的缺陷信息,该缺陷信息可包括缺陷类别(例如垫伤、划痕、锈蚀、磕碰、凹坑、斑点、色差、缺损等)和缺陷位置,可被广泛应用于轻工、化工、机械制造、半导体等多个行业,例如可检测金属表面、玻璃表面、纸张表面、电子元器件表面、工业产品表面、工业部件表面等存在的缺陷。应当理解,本公开实施例的缺陷检测方法可用于检测各种物体表面的各种缺陷,本公开对待检测物体的类别,以及检测到的缺陷的类别不作限制。
在一种可能的实现方式中,所述缺陷检测方法可以由终端设备或服务器等电子设备执行,终端设备可以为用户设备(User Equipment,UE)、移动设备、用户终端、终端、数控车床、蜂窝电话、无绳电话、个人数字助理(Personal Digital Assistant,PDA)、手持设备、计算设备、车载设备、可穿戴设备等,所述方法可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。或者,可通过服务器执行所述方法。
在一些可能的实现方式中,该缺陷检测方法可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。在一个示例中,该处理器可以为通用处理器如中央处理器(CPU,Central Processing Unit)、图形处理器(GPU,Graphics Processing Unit)、特定应用集成电路(Application-Specific Integrated Circuit,ASIC)等,也可以为人工智能处理器,如人工智能(AI,Artificial Intelligence)芯片等,例如:神经网络处理器(NeuralProcessing Unit,NPU)。
示例性地,在执行主体为终端设备的情况下,终端设备(例如数控车床)可连接图像采集设备(例如比工业相机精度低的普通相机、摄像头等)和机械臂,可以调用终端设备连接的图像采集设备,获取包含目标对象的待检测图像;然后,终端设备可通过本公开实施例提供的缺陷检测方法,确定待检测图像的缺陷检测结果,并根据确定的缺陷检测结果引导机械臂执行相应的操作。
示例性地,在执行主体为服务器的情况下,服务器可以远程接收其它机器设备(例如车间内配置有普通相机和机械臂的数控机床)发送的待检测图像,服务器可执行本公开实施例提供的缺陷检测方法,确定待检测图像的缺陷检测结果,并将该缺陷检测结果发送至其他机器设备,使该机器设备根据接收的缺陷检测结果执行相应的操作(例如,引导数控机床的机械臂执行操作)。
在一种可能的实现方式中,本公开实施例的缺陷检测方法得到的缺陷检测结果,可用于引导机械臂执行相应的操作,以提高工业生产的良品率,广泛应用于工件质量检测、产品的智能制造等场景。
示例性地,在缺陷检测结果表明待检测物体无缺陷的情况下,机械臂可操作待检测物体执行下一流水作业步骤;或者,在缺陷检测结果表明待检测物体的某个或某几个位置存在可修复缺陷(例如划痕)的情况下,机械臂可对待检测物体的缺陷进行修复,修复后再执行下一流水作业步骤;又或者,在缺陷检测结果表明待检测物体的某个或某几个位置存在不可修复缺陷(例如裂纹)的情况下,机械臂可对待检测物体进行销毁处理。本公开对缺陷检测结果的应用场景不作限制。
图1示出根据本公开实施例的缺陷检测方法的流程图,如图1所示,所述缺陷检测方法包括:
在步骤S1中,获取待检测图像。
在步骤S2中,对所述待检测图像进行分类处理,确定所述待检测图像的分类信息,以及对所述待检测图像进行分割处理,得到分割图像。其中,所述分类信息包括所述待检测图像属于每个缺陷类别的缺陷概率,所述分割图像包括至少一个待检测物体对应的至少一个目标区域,以及待检测物体以外的背景区域。
在步骤S3中,根据所述分类信息,判断是否对所述分割图像进行缺陷检测,得到判断结果。
在步骤S4中,在判断结果为进行缺陷检测的情况下,根据所述分类信息和所述分割图像,对所述分割图像进行缺陷检测,确定缺陷检测结果。其中,所述缺陷检测结果包括无缺陷结果和有缺陷结果中的至少一种,所述有缺陷结果包括至少一个缺陷位置,以及每个缺陷位置处的缺陷对应的分类信息。
在一种可能的实现方式中,在步骤S1中,获取的待检测图像可以是图像采集设备(例如非工业的普通相机)采集的包含待检测物体的图像,该待检测图像可以包括待检测物体所在的区域,以及待检测物体所在区域以外的其它区域。
示例性地,待检测图像可以为二维图像,具体地,上述待检测图像可以是RGB三通道彩色图,其中,R:Red(红色),G:Green(绿色),B:Blue(蓝色);可以是灰度图;也可以是包括深度信息D的RGBD四通道彩色图。本公开实施例不限定待检测图像的颜色制式。
示例性地,对于不同的工业场景下,考虑到其对缺陷检测的检测精度的要求各不相同,可以直接将图像采集设备在某一角度拍摄的包含待检测物体的图像作为待检测图像,也可以将图像采集设备在多个角度拍摄的包含待检测物体的多张图像进行合并处理,将合并后的图像作为待检测图像,本公开对获取待检测图像的方式不作限制。
例如,在对缺陷检测精度要求不是很高的场景下(例如包括玩具零部件的缺陷检测),为了提高效率,降低检测成本,利用图像采集设备采集待检测物体时,可以在某一角度上采集待检测物体的图像信息,直接获取到待检测图像。
又例如,在对缺陷检测精度要求比较高的场景下(例如包括高精密仪器的缺陷检测),为了提高检测到物体表面存在的比较细微、不够明显的缺陷的概率,在利用图像采集设备采集待检测物体时,可以将图像采集设备设计成多角度拍摄,从而使得图像采集设备可以在多个不同的角度上采集待检测物体的图像信息,将多个不同角度上采集的图像信息进行合并,得到待检测图像。
在步骤S1获取到待检测图像,可在步骤S2中,分别对待检测图像进行分类处理和分割处理,得到待检测图像的分类信息和分割图像。
示例性地,分类信息可包括待检测图像属于每个缺陷类别的缺陷概率,缺陷类别可包括垫伤、划痕、锈蚀、磕碰、凹坑、斑点、色差、缺损等;
分割图像可包括至少一个待检测物体对应的至少一个目标区域,以及待检测物体以外的背景区域。
其中,在确定待检测图像的分类信息和分割图像的过程中,可以先对待检测图像进行分类处理,得到分类信息,再对待检测图像进行分割处理,得到分割图像;也可以先对待检测图像进行分割处理,得到分割图像,再对待检测图像进行分类处理,得到分类信息;还可以并行地对待检测图像进行分类处理和分割处理,得到待检测图像的分类信息和分割图像,本公开对此不作限制。
其中,分类处理的方法可包括决策树(Decision Tree)法、贝叶斯、神经网络分类、K-近邻(K-Nearest Neighbor,K-NN)、支持向量机(Support Vector Machine,SVM)和基于关联规则的分类等方法;分割处理的方法可包括语义分割(Semantic Segmentation)、实例分割(Instance Segmentation)、全景分割(Panorama Segmentation)、自适应阈值分割、区域生长、神经网络、分水岭、基于图论的分割等方法,本公开对分类处理和分割处理的具体方法不作限制。
示例性地,可预先训练一个可以同时对待检测图像进行分类处理和分割处理的神经网络,可以将待检测图像输入该训练好的神经网络,利用该训练好的神经网络对待检测图像进行分类处理和分割处理,得到待检测图像的分类信息和分割图像。其中,神经网络可以包括多个卷积层、池化层、全连接层等,可以是卷积神经网络(Convolutional NeuralNetworks,CNN)、残差网络(Residual Networks,ResNets)、反向传播神经网络(BackPropagation,BP)、骨干神经网络(Backbone Neural Network)等等中的至少一种,本公开对神经网络的网络结构不作具体限制。
在步骤S2中确定了分类信息和分割图像,可在步骤S3中,根据分类信息,判断是否对分割图像进行缺陷检测,得到判断结果。
假设步骤S2得到的分类信息可包括N个缺陷概率,即:缺陷类别1对应的缺陷概率C1~缺陷类别N对应的缺陷概率CN。其中,缺陷概率可反应待检测物体属于其对应缺陷类型的可能性的大小,例如,缺陷概率Ci为0.8,i∈[1,N],可说明待检测物体是缺陷类型i的概率为80%。
考虑到缺陷概率的值越大,待检测物体属于其对应缺陷类型的可能性越大,而缺陷概率的值越小,待检测物体属于其对应缺陷类型的可能性越小的情况,可根据每类缺陷概率C1~CN的大小,判断是否对分割图像进行缺陷检测,得到判断结果。
例如,如果缺陷概率C1~CN都比较小,说明待检测图像中存在缺陷的可能性比较小,判断结果可以为不进行缺陷检测;
又例如,如果缺陷概率C1~CN中存在一个或多个缺陷概率比较大,说明待检测图像中有很大的可能性存在一个或多个类别的缺陷,判断结果可以为对分割图像进行缺陷检测。
在步骤S3确定了判断结果,可在步骤S4中,根据判断结果,确定是否对分割图像进行进一步的缺陷检测。在判断结果为进行缺陷检测的情况下,可根据分类信息对分割图像进行缺陷检测,得到有缺陷或无缺陷的检测结果。
例如,假设判断结果为进行缺陷检测,并且,在分类信息包括的缺陷概率C1~CN中,缺陷概率Ci和缺陷概率Cj的值比较大,i、j∈[1,N]。其中,缺陷概率Ci和缺陷概率Cj仅作为示例,本公开对此不作具体限制。
这样,待检测图像中大概率的可能会存在缺陷类别i和缺陷类别j的缺陷,而大概率的不会存在其他类别的缺陷。
因此,可以不对缺陷类别i和缺陷类别j以外的其他类别缺陷进行进一步的缺陷检测,而是对缺陷类别i和缺陷类别j的缺陷进行缺陷检测,比如可以对分割图像(例如分割图像的目标区域)进行二值化处理,通过计算分割图像二值化处理后存在的每一连通域的周长和/或面积,确定缺陷检测结果。
如果不存在周长和/或面积比较大的连通域,缺陷检测结果为无缺陷结果;如果存在周长和/或面积比较大的连通域,缺陷检测结果为有缺陷结果,可以将周长和/或面积比较大的连通域的位置确定为缺陷位置,并保留连通域对应的缺陷概率。
其中,可以在待检测图像中通过矩形框标注、多边形标注、关键点标注、颜色标注、文本标注(例如文本标注缺陷的中心点坐标)等方式,显示缺陷位置,本公开对此不作限制。
通过步骤S1~S4,能够自动检测出待检测图像中存在的缺陷,减少了人工成本,而且可充分利用待检测图像的分类信息和分割图像,提高缺陷检测的精准度。
下面对本公开实施例的缺陷检测方法进行展开说明。
在步骤S1中,获取待检测图像。
在一种可能的实现方式中,步骤S1可包括:获取所述待检测物体的至少两帧初始图像,所述至少两帧初始图像是图像采集设备在不同光源方向,拍摄到所述待检测物体带有不同明暗分布的图像;将所述待检测物体的至少两帧初始图像进行合并处理,得到合并后的待检测图像。
举例来说,由于待检测物体的缺陷比较细微,十分不明显。用不同位置下的光源(例如灯光)照射时,同一个位置的缺陷可能在某个光源位置下,呈现在图像上会十分明显,但是在其他位置呈现在图像上就会不明显。
所以在使用图像采集设备拍摄待检测物体图像时,可以对同一个待检测物体,连续拍摄多帧初始图像,每帧初始图像对应的光源照射位置是不同的。然后,可以将这多帧初始图像进行通道合并处理,得到合并后的待检测图像。
示例性地,图2示出根据本公开实施例的光源方向的示意图。如图2所示,图像采集设备可以是比工业相机精度低的普通相机(例如民用相机),待检测物体可以是工件(例如汽车冲压件),可以预设五个光源,即:光源A~光源E。
可保持普通相机与工件的位置不变,在点亮光源A的情况下,可使用普通相机对工件进行拍摄,得到光源A方向下的图像A;在点亮光源B的情况下,可使用普通相机对工件进行拍摄,得到光源B方向下的图像C;以此类推,在点亮光源E的情况下,可使用普通相机对工件进行拍摄,得到光源E方向下的图像E。其中,图像A~图像E中的工件分别呈现有不同的明暗分布。
在得到图像A~图像E,可以将图像A~图像E进行通道合并处理,得到合并后的待检测图像。
应当理解,图2仅以光源A~光源E作为示例,本公开对光源的数量、亮度、位置,以及光源对应的图像数量不作限制,可根据现场的实际情况进行设置。
通过这种方式,增强了待检测图像的信息,使待检测图像拥有更多的图像细节,有利于提高后续对待检测图像进行缺陷检测的精准度。
在步骤S1得到待检测图像,可在步骤S2对待检测图像进行分类处理和分割处理,确定待检测图像的分类信息和分割图像。
在一种可能的实现方式中,所述分类信息和所述分割图像是通过神经网络获取的,所述神经网络包括特征提取网络、分类网络、以及分割网络,所述分类网络和所述分割网络均与所述特征提取网络连接,步骤S2可包括:
利用所述特征提取网络对所述待检测图像进行特征提取,得到至少一组特征图;
利用所述分类网络对所述至少一组特征图进行分类处理,得到所述分类信息,以及利用所述分割网络对所述至少一组特征图进行分割处理,得到所述分割图像;
其中,所述神经网络是通过训练数据集训练好的神经网络,所述训练数据集是由数据清洗处理和标注后的样本图像构成的,所述样本图像是图像采集设备在不同光源方向,拍摄到所述待检测物体带有不同明暗分布的图像的合成图像。
举例来说,图3示出根据本公开实施例的神经网络结构的示意图。如图3所示,神经网络可包括:由骨干(Backbone)网络31和脖颈(Neck)网络32构成的特征提取网络、分类网络33、分割网络34(或分割网络34’)。其中,分类网络33和分割网络34(或分割网络34’)均与特征提取网络连接。
如图3所示,骨干(Backbone)网络31可以是残差网络(例如包括res18网络),可用于对输入图像(例如待检测图像)进行特征提取,可包括五个卷积层layer0,layer1,layer2,layer3,layer4,五个卷积层layer0,layer1,layer2,layer3,layer4分别为输出了五个尺度的特征图。
其中,卷积层layer0可包括卷积处理单元Conv、批量标准化单元BN(BatchNormalization)、激活函数处理单元ReLU、最大池化单元Max Pool;卷积层layer1可包括3个瓶颈单元Bottleneck;卷积层layer2可包括4个瓶颈处理单元Bottleneck;卷积层layer3可包括6个瓶颈单元Bottleneck;卷积层layer4可包括3个瓶颈单元Bottleneck。其中,瓶颈单元Bottleneck是一种轻量级的网络结构,可以用多个小尺寸的卷积代替一个大尺寸的卷积,以减少神经网络的参数,提高计算效率。
应当理解,本公开对骨干(Backbone)网络31包括的卷积层的数量,以及每个卷积层的具体结构不作具体限制,上文所述的卷积层结构仅作为示例。
如图3所示,脖颈(Neck)网络32可用于对骨干(Backbone)网络31输出的特征图进行进一步的处理,可收集不同阶段中的特征图,并对不同阶段的特征图进行组合。例如,脖颈(Neck)网络32可对layer1,layer2,layer3,layer4输出的特征图均进行降维处理,其中,1×1表示进行降维运算,得到具备相同维度的特征图(C2,C3,C4,C5),然后对具备相同维度的特征图进行特征融合,得到四组融合后的特征图(P2,P3,P4,P5)。具体地,上述示例中的特征融合通过不断将高层次特征上采样(2×up)与低层次特征直接相加来实现。当然,还可以通过不断将高层次特征上采样与低层次特征直接相乘来实现特征融合。本公开实施例不限定特征融合的具体算法。
这样,通过由骨干(Backbone)网络31和脖颈(Neck)网络32构成的特征提取网络,可对待检测图像进行特征提取,可得到至少一组特征图。
如图3所示,分类网络33可用于根据至少一组特征图进行分类处理,得到分类信息。例如,分类网络33可包括4个全连接单元fc1~fc4,可以对layer4输出的特征图进行线性和/或非线性变换,将其映射至样本图像的标记空间,得到待检测图像的分类信息,可包括多个缺陷类别的缺陷概率。
如图3所示,分割网络34(或分割网络34’)可用于根据至少一组特征图进行分割处理,得到分割图像。例如,分割网络34(或分割网络34’)可对特征图p2进行卷积处理Conv、批量标准化处理BN、激活处理ReLU,得到分割特征;再对分割特征进行卷积处理Conv、批量标准化处理BN、激活处理ReLU、卷积处理Conv、下采样处理interpolate,得到分割图像。其中,分割网络34得到的是掩膜表示(Mask)的分割图像,分割网络34’得到的是轮廓(Contours)表示的分割图像,本公开对分割图像的具体表示形式不作具体限制。
其中,分割网络可包括解码器(Decoder)、金字塔池模块(Pyramid PoolingModule,PPM)、空洞空间卷积池化金字塔(Atrous Spatial Pyramid Pooling,ASPP)等,本公开对此不作具体限定。应当理解,如果针对的是待检测物体为汽车的冲压件的质检场景,考虑到缺陷数据会比较少,正常的数据会比较多,分割网络可以选择从像素级别理解图像的语义分割网络(Semantic Segmentation),以提高后续缺陷检测的准确性。
通过这种方式,使用神经网络对待检测图像进行分类处理和分割处理,有利于得到更准确的分类信息和分割图像,进而得到更准确的缺陷检测结果。
应当理解,在实际的应用操作中,步骤S2使用的神经网络是通过训练数据集训练好的神经网络,为了获取该训练好的神经网络,在步骤S2之前,可以先构建训练数据集,利用训练数据集对初始状态的神经网络进行训练,得到目标状态的神经网络,也即训练好的神经网络。
示例性地,在构建训练数据集的过程中,可以先获取待检测物体(例如汽车的冲压件)的质检数据,例如,可使用图像采集设备在不同光源方向对待检测物体(例如汽车的冲压件)进行拍摄,得到带有不同明暗分布的图像,并将这些图像进行合并处理得到合成图像。在得到大量这样的合成图像,可以对这些合成图像进行数据清洗(例如检查数据一致性,处理无效值和缺失值等)和标注处理(例如包括人工标注,让标注员对各合成图像中像素进行分类标注)。
然后,可以将这些数据清理处理和标注后的合成图像进行聚合,得到训练数据集。
通过这种方式,即使在缺陷数据会比较少,正常的数据比较多的场景下,也可以构建能够进行准确训练的训练数据集,让缺陷的级别更加细致,可以缓解缺陷样本少带来的不利影响。
在步骤S2确定了分类信息和分割图像,可在步骤S3中,根据所述分类信息,判断是否对所述分割图像进行缺陷检测,得到判断结果;
在一种可能的实现方式中,步骤S3可包括:在所述分类信息包括的全部所述缺陷概率均小于预设的分类阈值的情况下,所述待检测图像不存在缺陷,所述判断结果为不进行缺陷检测,或者,在所述分类信息包括的至少一个所述缺陷概率大于或等于预设的分类阈值的情况下,所述判断结果为进行缺陷检测。
举例来说,图4示出根据本公开实施例的判断是否对分割图像进行缺陷检测的示意图。如图4所示,假设预设的分类阈值为T,分类信息可包括N个缺陷概率,即:缺陷类别1对应的缺陷概率C1~缺陷类别N对应的缺陷概率CN。其中,分类阈值T可根据经验设置,本公开对分类阈值T的具体取值不作限制。
如果缺陷概率C1~CN均小于分类阈值T,说明待检测图像不存在缺陷,也即待检测物体无缺陷可正常使用,判断结果为不进行缺陷检测;
如果缺陷概率C1~CN中存在一个或多个缺陷概率大于或等于分类阈值T,说明待检测图像可能会存在缺陷,判断结果为进行缺陷检测,可在后续的步骤S4中分别对大于或等于分类阈值T的缺陷概率对应的缺陷类别进行缺陷检测。
通过这种方式,可快速判断是否对分割图像进行进一步的缺陷检测,并且,仅对大概率会存在缺陷的类别进行缺陷检测,有利于提高缺陷检测效率,降低对计算资源的消耗。
在步骤S3确定了判断结果,可在步骤S4中,在判断结果为进行缺陷检测的情况下,根据所述分类信息和所述分割图像,对所述分割图像进行缺陷检测,确定缺陷检测结果;
在一种可能的实现方式中,针对大于或等于预设的分类阈值的分类信息中任一缺陷类别的缺陷概率,步骤S4可包括:
在步骤S41中,根据预设的分割阈值,对所述分割图像进行二值化处理,得到二值化后的第一图像;
在步骤S42中,根据所述缺陷概率和所述第一图像的所述至少一个第一连通域,确定所述缺陷检测结果。
举例来说,假设预设的分类阈值为T,预设的分割阈值为S,分类信息中的缺陷概率Ci大于或等于T。应当理解,本公开仅以缺陷概率Ci作为示例,其他类别的缺陷概率可参考缺陷概率Ci,此处不再赘叙。
在步骤S41中,可以根据分割阈值S,对分割图像进行二值化处理,可以将分割图像中像素值大于S的像素标记为1,将分割图像中像素值小于或等于S的像素标记为0,得到二值化后的第一图像。其中,标记为1的像素构成的区域可作为前景区域,标记为0的像素构成的区域可作为背景区域。
在步骤S42中,二值化后的第一图像中可包括了一个或多个第一连通域,其中,第一连通域为第一图像中位置相邻的标记为1的像素点组成的图像区域。通过分析第一图像中每个第一连通域的特征,例如包括周长和/或面积,可以确定每个第一连通域位置处是否存在缺陷,进而得到缺陷检测结果。其中,如果缺陷检测结果为有缺陷结果,可以将存在缺陷的第一连通域的位置确定为缺陷位置,并保留其对应的缺陷概率Ci。
通过这种方式,可以准确地给出缺陷的位置信息。
在一种可能的实现方式中,步骤S42可包括:
在步骤S421中,根据所述第一图像的所述至少一个第一连通域中每个第一连通域的周长和/或面积,判断所述至少一个第一连通域中是否为有效的第一缺陷;
在步骤S422中,在所述至少一个第一连通域为有效的第一缺陷的情况下,输出有缺陷结果,所述有缺陷结果包括每个第一缺陷的缺陷位置和所述第一缺陷对应的所述缺陷概率,或者,在步骤S423中,在所述至少一个第一连通域中无有效的第一缺陷的情况下,判断初始迭代阈值是否大于预设的最小分割阈值,所述初始迭代阈值为所述分割图像中最大像素值与预设比例的乘积;
在步骤S424中,在所述初始迭代阈值小于所述最小分割阈值的情况下,输出无缺陷结果,或者,在步骤S425中,在所述初始迭代阈值大于或等于所述最小分割阈值的情况下,根据初始迭代阈值,对所述分割图像进行二值化处理,得到二值化后的第二图像;
在步骤S426中,根据所述缺陷概率和所述第二图像的所述至少一个第二连通域,确定所述缺陷检测结果。
举例来说,假设第一图像包括K个(K≥1)第一连通域,即L1~LK。
在步骤S421中,可分别计算第一图像中各第一连通域L1~LK的周长和/或面积,如果第一连通域L1~LK中某一第一连通域的周长和/或面积,大于预设的周长阈值和/或面积阈值,判断该第一连通域为有效的第一缺陷;如果第一连通域L1~LK中某一第一连通域的周长和/或面积,小于或等于预设的周长阈值和/或面积阈值,判断该第一连通域不是有效的第一缺陷。
其中,可以将每个第一连通域边沿像素总数确定为该第一连通域的周长,可以将每个第一连通域包括的像素总数确定为该第一连通域的面积,本公开对周长和面积的具体计算方式不作限制。
在步骤S422中,在第一连通域L1~LK中存在一个或多个第一连通域中为有效的第一缺陷的情况下,可结束缺陷检测流程,直接输出有缺陷结果,将第一缺陷对应的各第一连通域的位置确定为缺陷位置,将保留的缺陷概率作为缺陷位置所对应的缺陷概率。
或者,在步骤S423中,在第一连通域L1~LK中没有任一第一连通域是有效的第一缺陷的情况下,可以先将分割图像中最大像素值M与预设比例(例如包括0.8)的乘积,作为初始迭代阈值new_S=0.8*M。然后,判断初始迭代阈值new_S是否大于预设的最小分割阈值min_S(0.01)。其中,最小分割阈值min_S(0.01)可根据实际的应用场景进行设置,本公开对最小分割阈值的具体取值不作限制。
在步骤S424中,在初始迭代阈值new_S小于最小分割阈值min_S(0.01)的情况下,可结束缺陷检测流程,输出无缺陷结果;或者,在步骤S425中,在初始迭代阈值new_S大于或等于最小分割阈值min_S(0.01)的情况下,根据初始迭代阈值new_S,对分割图像进行二值化处理,可以将分割图像中像素值大于new_S的像素标记为1,将分割图像中像素值小于或等于new_S的像素标记为0,得到二值化后的第二图像。其中,标记为1的像素构成的区域可作为前景区域,标记为0的像素构成的区域可作为背景区域。
在步骤S426中,二值化后的第二图像中可包括了一个或多个第二连通域,其中,第二连通域为第二图像中位置相邻的标记为1的像素点组成的图像区域。通过分析第二图像中每个第二连通域的特征,例如包括周长和/或面积,可以确定每个第二连通域位置处是否存在缺陷,进而得到缺陷检测结果。其中,如果缺陷检测结果为有缺陷结果,可以将存在缺陷的第二连通域的位置确定为缺陷位置,并保留其对应的缺陷概率Ci。
通过这种方式,可以利用预设的周长和/或面积阈值,过滤掉无效的连通域,通过分析过滤后有效的第一连通域,有利于更高效更准确地从第一连通域中确定出缺陷检测结果;进一步,还可以在第一连通域中无有效缺陷的情况下,根据获取的初始迭达阈值,判断缺陷检测结果,以得到更准确的缺陷检测结果。
在一种可能的实现方式中,步骤S426可包括:
在步骤S4261中,根据所述第二图像中至少一个第二连通域的周长和/或面积,判断所述至少一个第二连通域中是否为有效的第二缺陷,
在步骤S4262中,在所述至少一个第二连通域为有效的第二缺陷的情况下,输出有缺陷结果,所述有缺陷结果包括周长最长和/或面积最大的第二连通域对应的第二缺陷的缺陷位置,和所述第二缺陷对应的缺陷概率,或者,在步骤S4263中,在所述至少一个第二连通域中无有效缺陷的情况下,判断更新后的迭代阈值是否大于预设的最小分割阈值,所述更新后的迭代阈值为更新前的迭代阈值与预设比例的乘积;
在步骤S4264中,在所述更新后的迭代阈值小于所述最小分割阈值的情况下,输出无缺陷结果;或者,在步骤S4265中,在所述更新后的迭代阈值大于或等于所述最小分割阈值的情况下,根据所述更新后的迭代阈值,对所述分割图像进行二值化处理,更新第二图像;
在步骤S4266中,对更新后的第二图像重复执行所述根据所述第二图像中至少一个第二连通域的周长和/或面积,判断所述至少一个第二连通域中是否为有效的第二缺陷以及之后的步骤,直至输出无缺陷结果,或者,有缺陷结果。
举例来说,假设第二图像包括H个(H≥1)第二连通域,即M1~MH。
在步骤S4261中,可分别计算第二图像中各第二连通域M1~MH的周长和/或面积,如果第二连通域M1~MH中某一第二连通域的周长和/或面积,大于预设的周长阈值和/或面积阈值,判断该第二连通域为有效的第二缺陷;如果第二连通域M1~MH中某一第二连通域的周长和/或面积,小于或等于预设的周长阈值和/或面积阈值,判断该第二连通域不是有效的第二缺陷。
其中,可以将每个第二连通域边沿像素总数确定为该第二连通域的周长,可以将每个第二连通域包括的像素总数确定为该第二连通域的面积,本公开对周长和面积的具体计算方式不作限制。
在步骤S4262中,在第二连通域M1~MH中存在一个或多个第二连通域中为有效的第二缺陷的情况下,可结束缺陷检测流程,直接输出有缺陷结果,并从一个或多个第二缺陷中选择最优的第二缺陷作为有缺陷结果,例如,可将周长最长和/或面积最大的第二连通域对应的第二缺陷作为有缺陷结果(其余第二缺陷不作为有缺陷结果),将最优的第二缺陷的位置确定为最终输出的缺陷检测结果的缺陷位置,将保留的缺陷概率作为该陷位置所对应的缺陷概率。
或者,在步骤S4263中,在第二连通域M1~MH中没有任一第二连通域是有效的第二缺陷的情况下,可以先将更新前的迭代阈值new_S与预设比例(例如包括0.8)的乘积,作为更新后的迭代阈值new_S=0.8*new_S。然后,判断更新后的迭代阈值new_S是否大于预设的最小分割阈值min_S(0.01)。
在步骤S4264中,在更新后的迭代阈值new_S小于最小分割阈值min_S(0.01)的情况下,可结束缺陷检测流程,输出无缺陷结果;或者,在步骤S4265中,在更新后的迭代阈值new_S大于或等于最小分割阈值min_S(0.01)的情况下,根据更新后的迭代阈值new_S,对分割图像进行二值化处理,可以将分割图像中像素值大于new_S的像素标记为1,将分割图像中像素值小于或等于new_S的像素标记为0,并将得到的二值化后的图像更新之前的第二图像,得到更新后的第二图像。其中,更新后的第二图像中可包括了一个或多个第二连通域(即更新后的第二图像中位置相邻的标记为1的像素点组成的图像区域)。
在步骤S4266中,可对更新后的第二图像重复执行步骤S4261以及之后的步骤,直至输出无缺陷结果,或者,有缺陷结果。
图5示出根据本公开实施例的缺陷检测方法的示意图,具体步骤可参考上文介绍,此处不再赘叙。
通过这种迭代的缺陷检测方式,可以更高效更准确的得到缺陷检测结果。
综上所述,本公开实施例的缺陷检测方案,能够分别对待检测图像进行分类处理和分割处理,得到待检测图像的分类信息和分割图像,并根据分类信息,判断是否对分割图像进行缺陷检测,在判断结果为进行缺陷检测的情况下,根据分类信息和分割图像,以多轮迭代的处理方法对分割图像进行缺陷检测,直至确定缺陷检测结果。通过这种方式,能够自动检查出待检测图像中存在的缺陷,不仅减少了人工成本,为例如包括汽车冲压质检业务等等工业产业带来收益,而且可充分利用待检测图像的分类信息和分割图像,提高了缺陷检测的精准度。
可以理解,本公开提及的上述各个方法实施例,在不违背原理逻辑的情况下,均可以彼此相互结合形成结合后的实施例,限于篇幅,本公开不再赘述。本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
此外,本公开还提供了缺陷检测装置、电子设备、计算机可读存储介质、程序,上述均可用来实现本公开提供的任一种缺陷检测方法,相应技术方案和描述和参见方法部分的相应记载,不再赘述。
图6示出根据本公开实施例的缺陷检测装置的框图,如图6所示,所述装置包括:
获取模块61,用于获取待检测图像;
确定模块62,用于对所述待检测图像进行分类处理,确定所述待检测图像的分类信息,所述分类信息包括所述待检测图像属于每个缺陷类别的缺陷概率,以及
用于对所述待检测图像进行分割处理,得到分割图像,所述分割图像包括至少一个待检测物体对应的至少一个目标区域,以及待检测物体以外的背景区域;
判断模块63,用于根据所述分类信息,判断是否对所述分割图像进行缺陷检测,得到判断结果;
检测模块64,用于在判断结果为进行缺陷检测的情况下,根据所述分类信息和所述分割图像,对所述分割图像进行缺陷检测,确定缺陷检测结果,所述缺陷检测结果包括无缺陷结果和有缺陷结果中的至少一种,所述有缺陷结果包括至少一个缺陷位置,以及每个缺陷位置处的缺陷对应的分类信息。
在一种可能的实现方式中,所述判断模块63用于:在所述分类信息包括的全部所述缺陷概率均小于预设的分类阈值的情况下,所述待检测图像不存在缺陷,所述判断结果为不进行缺陷检测,或者,在所述分类信息包括的至少一个所述缺陷概率大于或等于预设的分类阈值的情况下,所述判断结果为进行缺陷检测。
在一种可能的实现方式中,所述检测模块64用于:针对大于或等于预设的分类阈值的分类信息中任一缺陷类别的缺陷概率,根据预设的分割阈值,对所述分割图像进行二值化处理,得到二值化后的第一图像;根据所述缺陷概率和所述第一图像的所述至少一个第一连通域,确定所述缺陷检测结果。
在一种可能的实现方式中,所述根据所述缺陷概率和所述第一图像的所述至少一个第一连通域,确定所述缺陷检测结果,包括:根据所述第一图像的所述至少一个第一连通域中每个第一连通域的周长和/或面积,判断所述至少一个第一连通域中是否为有效的第一缺陷;在所述至少一个第一连通域为有效的第一缺陷的情况下,输出有缺陷结果,所述有缺陷结果包括每个第一缺陷的缺陷位置和所述第一缺陷对应的所述缺陷概率,或者,在所述至少一个第一连通域中无有效的第一缺陷的情况下,判断初始迭代阈值是否大于预设的最小分割阈值,所述初始迭代阈值为所述分割图像中最大像素值与预设比例的乘积;在所述初始迭代阈值小于所述最小分割阈值的情况下,输出无缺陷结果;或者,在所述初始迭代阈值大于或等于所述最小分割阈值的情况下,根据初始迭代阈值,对所述分割图像进行二值化处理,得到二值化后的第二图像;根据所述缺陷概率和所述第二图像的所述至少一个第二连通域,确定所述缺陷检测结果。
在一种可能的实现方式中,所述根据所述缺陷概率和所述第二图像的所述至少一个第二连通域,确定所述缺陷检测结果,包括:根据所述第二图像中至少一个第二连通域的周长和/或面积,判断所述至少一个第二连通域中是否为有效的第二缺陷,在所述至少一个第二连通域为有效的第二缺陷的情况下,输出有缺陷结果,所述有缺陷结果包括周长最长和/或面积最大的第二连通域对应的第二缺陷的缺陷位置,和所述第二缺陷对应的缺陷概率,或者,在所述至少一个第二连通域中无有效缺陷的情况下,判断更新后的迭代阈值是否大于预设的最小分割阈值,所述更新后的迭代阈值为更新前的迭代阈值与预设比例的乘积;在所述更新后的迭代阈值小于所述最小分割阈值的情况下,输出无缺陷结果;或者,在所述更新后的迭代阈值大于或等于所述最小分割阈值的情况下,根据所述更新后的迭代阈值,对所述分割图像进行二值化处理,更新第二图像;对更新后的第二图像重复执行所述根据所述第二图像中至少一个第二连通域的周长和/或面积,判断所述至少一个第二连通域中是否为有效的第二缺陷以及之后的步骤,直至输出无缺陷结果,或者,有缺陷结果。
在一种可能的实现方式中,所述分类信息和所述分割图像是通过神经网络获取的,所述神经网络包括特征提取网络、分类网络、以及分割网络,所述分类网络和所述分割网络均与所述特征提取网络连接,所述确定模块62用于:利用所述特征提取网络对所述待检测图像进行特征提取,得到至少一组特征图;利用所述分类网络对所述至少一组特征图进行分类处理,得到所述分类信息,以及利用所述分割网络对所述至少一组特征图进行分割处理,得到所述分割图像;其中,所述神经网络是通过训练数据集训练好的神经网络,所述训练数据集是由数据清洗处理和标注后的样本图像构成的,所述样本图像是图像采集设备在不同光源方向,拍摄到所述待检测物体带有不同明暗分布的图像的合成图像。
在一种可能的实现方式中,所述获取模块64用于:获取所述待检测物体的至少两帧初始图像,所述至少两帧初始图像是图像采集设备在不同光源方向,拍摄到所述待检测物体带有不同明暗分布的图像;将所述待检测物体的初始图像进行合并处理,得到合并后的待检测图像。
该方法与计算机系统的内部结构存在特定技术关联,且能够解决如何提升硬件运算效率或执行效果的技术问题(包括减少数据存储量、减少数据传输量、提高硬件处理速度等),从而获得符合自然规律的计算机系统内部性能改进的技术效果。
在一些实施例中,本公开实施例提供的装置具有的功能或包含的模块可以用于执行上文方法实施例描述的方法,其具体实现可以参照上文方法实施例的描述,为了简洁,这里不再赘述。
本公开实施例还提出一种计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现上述方法。计算机可读存储介质可以是易失性或非易失性计算机可读存储介质。
本公开实施例还提出一种电子设备,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为调用所述存储器存储的指令,以执行上述方法。
本公开实施例还提供了一种计算机程序产品,包括计算机可读代码,或者承载有计算机可读代码的非易失性计算机可读存储介质,当所述计算机可读代码在电子设备的处理器中运行时,所述电子设备中的处理器执行上述方法。
电子设备可以被提供为终端、服务器或其它形态的设备。
图7示出根据本公开实施例的一种电子设备800的框图。例如,电子设备800可以是用户设备(User Equipment,UE)、移动设备、用户终端、终端、蜂窝电话、无绳电话、个人数字处理(Personal Digital Assistant,PDA)、手持设备、计算设备、车载设备、可穿戴设备等终端设备。
参照图7,电子设备800可以包括以下一个或多个组件:处理组件802,存储器804,电源组件806,多媒体组件808,音频组件810,输入/输出(I/O)接口812,传感器组件814,以及通信组件816。
处理组件802通常控制电子设备800的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件802可以包括一个或多个处理器820来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件802可以包括一个或多个模块,便于处理组件802和其他组件之间的交互。例如,处理组件802可以包括多媒体模块,以方便多媒体组件808和处理组件802之间的交互。
存储器804被配置为存储各种类型的数据以支持在电子设备800的操作。这些数据的示例包括用于在电子设备800上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器804可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电源组件806为电子设备800的各种组件提供电力。电源组件806可以包括电源管理系统,一个或多个电源,及其他与为电子设备800生成、管理和分配电力相关联的组件。
多媒体组件808包括在所述电子设备800和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件808包括一个前置摄像头和/或后置摄像头。当电子设备800处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件810被配置为输出和/或输入音频信号。例如,音频组件810包括一个麦克风(MIC),当电子设备800处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器804或经由通信组件816发送。在一些实施例中,音频组件810还包括一个扬声器,用于输出音频信号。
I/O接口812为处理组件802和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件814包括一个或多个传感器,用于为电子设备800提供各个方面的状态评估。例如,传感器组件814可以检测到电子设备800的打开/关闭状态,组件的相对定位,例如所述组件为电子设备800的显示器和小键盘,传感器组件814还可以检测电子设备800或电子设备800一个组件的位置改变,用户与电子设备800接触的存在或不存在,电子设备800方位或加速/减速和电子设备800的温度变化。传感器组件814可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件814还可以包括光传感器,如互补金属氧化物半导体(CMOS)或电荷耦合装置(CCD)图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件814还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件816被配置为便于电子设备800和其他设备之间有线或无线方式的通信。电子设备800可以接入基于通信标准的无线网络,如无线网络(Wi-Fi)、第二代移动通信技术(2G)、第三代移动通信技术(3G)、第四代移动通信技术(4G)、通用移动通信技术的长期演进(LTE)、第五代移动通信技术(5G)或它们的组合。在一个示例性实施例中,通信组件816经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件816还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,电子设备800可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
在示例性实施例中,还提供了一种非易失性计算机可读存储介质,例如包括计算机程序指令的存储器804,上述计算机程序指令可由电子设备800的处理器820执行以完成上述方法。
图8示出根据本公开实施例的一种电子设备1900的框图。例如,电子设备1900可以被提供为一服务器或终端设备。参照图8,电子设备1900包括处理组件1922,其进一步包括一个或多个处理器,以及由存储器1932所代表的存储器资源,用于存储可由处理组件1922的执行的指令,例如应用程序。存储器1932中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件1922被配置为执行指令,以执行上述方法。
电子设备1900还可以包括一个电源组件1926被配置为执行电子设备1900的电源管理,一个有线或无线网络接口1950被配置为将电子设备1900连接到网络,和一个输入输出(I/O)接口1958。电子设备1900可以操作基于存储在存储器1932的操作系统,例如微软服务器操作系统(Windows ServerTM),苹果公司推出的基于图形用户界面操作系统(Mac OSXTM),多用户多进程的计算机操作系统(UnixTM),自由和开放原代码的类Unix操作系统(LinuxTM),开放原代码的类Unix操作系统(FreeBSDTM)或类似。
在示例性实施例中,还提供了一种非易失性计算机可读存储介质,例如包括计算机程序指令的存储器1932,上述计算机程序指令可由电子设备1900的处理组件1922执行以完成上述方法。
本公开可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本公开的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是(但不限于)电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本公开操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本公开的各个方面。
这里参照根据本公开实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本公开的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本公开的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
该计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(Software Development Kit,SDK)等等。
上文对各个实施例的描述倾向于强调各个实施例之间的不同之处,其相同或相似之处可以互相参考,为了简洁,本文不再赘述。
本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
若本申请技术方案涉及个人信息,应用本申请技术方案的产品在处理个人信息前,已明确告知个人信息处理规则,并取得个人自主同意。若本申请技术方案涉及敏感个人信息,应用本申请技术方案的产品在处理敏感个人信息前,已取得个人单独同意,并且同时满足“明示同意”的要求。例如,在摄像头等个人信息采集装置处,设置明确显著的标识告知已进入个人信息采集范围,将会对个人信息进行采集,若个人自愿进入采集范围即视为同意对其个人信息进行采集;或者在个人信息处理的装置上,利用明显的标识/信息告知个人信息处理规则的情况下,通过弹窗信息或请个人自行上传其个人信息等方式获得个人授权;其中,个人信息处理规则可包括个人信息处理者、个人信息处理目的、处理方式以及处理的个人信息种类等信息。
以上已经描述了本公开的各实施例,上述说明是示例性地,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
Claims (10)
1.一种缺陷检测方法,其特征在于,包括:
获取待检测图像;
对所述待检测图像进行分类处理,确定所述待检测图像的分类信息,所述分类信息包括所述待检测图像属于每个缺陷类别的缺陷概率,以及
对所述待检测图像进行分割处理,得到分割图像,所述分割图像包括至少一个待检测物体对应的至少一个目标区域,以及待检测物体以外的背景区域;
根据所述分类信息,判断是否对所述分割图像进行缺陷检测,得到判断结果;
在判断结果为进行缺陷检测的情况下,根据所述分类信息和所述分割图像,对所述分割图像进行缺陷检测,确定缺陷检测结果,所述缺陷检测结果包括无缺陷结果和有缺陷结果中的至少一种,所述有缺陷结果包括至少一个缺陷位置,以及每个缺陷位置处的缺陷对应的分类信息。
2.根据权利要求1所述的方法,其特征在于,所述根据所述分类信息,判断是否对所述分割图像进行缺陷检测,得到判断结果,包括:
在所述分类信息包括的全部所述缺陷概率均小于预设的分类阈值的情况下,所述待检测图像不存在缺陷,所述判断结果为不进行缺陷检测,或者,
在所述分类信息包括的至少一个所述缺陷概率大于或等于预设的分类阈值的情况下,所述判断结果为进行缺陷检测。
3.根据权利要求1或2所述的方法,其特征在于,针对大于或等于预设的分类阈值的分类信息中任一缺陷类别的缺陷概率,
所述根据所述分类信息和所述分割图像,对所述分割图像进行缺陷检测,确定缺陷检测结果,包括:
根据预设的分割阈值,对所述分割图像进行二值化处理,得到二值化后的第一图像;
根据所述缺陷概率和所述第一图像的所述至少一个第一连通域,确定所述缺陷检测结果。
4.根据权利要求3所述的方法,其特征在于,所述根据所述缺陷概率和所述第一图像的所述至少一个第一连通域,确定所述缺陷检测结果,包括:
根据所述第一图像的所述至少一个第一连通域中每个第一连通域的周长和/或面积,判断所述至少一个第一连通域中是否为有效的第一缺陷;
在所述至少一个第一连通域为有效的第一缺陷的情况下,输出有缺陷结果,所述有缺陷结果包括每个第一缺陷的缺陷位置和所述第一缺陷对应的所述缺陷概率,或者,
在所述至少一个第一连通域中无有效的第一缺陷的情况下,判断初始迭代阈值是否大于预设的最小分割阈值,所述初始迭代阈值为所述分割图像中最大像素值与预设比例的乘积;
在所述初始迭代阈值小于所述最小分割阈值的情况下,输出无缺陷结果;或者,
在所述初始迭代阈值大于或等于所述最小分割阈值的情况下,根据初始迭代阈值,对所述分割图像进行二值化处理,得到二值化后的第二图像;
根据所述缺陷概率和所述第二图像的所述至少一个第二连通域,确定所述缺陷检测结果。
5.根据权利要求4所述的方法,其特征在于,所述根据所述缺陷概率和所述第二图像的所述至少一个第二连通域,确定所述缺陷检测结果,包括:
根据所述第二图像中至少一个第二连通域的周长和/或面积,判断所述至少一个第二连通域中是否为有效的第二缺陷,
在所述至少一个第二连通域为有效的第二缺陷的情况下,输出有缺陷结果,所述有缺陷结果包括周长最长和/或面积最大的第二连通域对应的第二缺陷的缺陷位置,和所述第二缺陷对应的缺陷概率,或者,
在所述至少一个第二连通域中无有效缺陷的情况下,判断更新后的迭代阈值是否大于预设的最小分割阈值,所述更新后的迭代阈值为更新前的迭代阈值与预设比例的乘积;
在所述更新后的迭代阈值小于所述最小分割阈值的情况下,输出无缺陷结果;或者,
在所述更新后的迭代阈值大于或等于所述最小分割阈值的情况下,根据所述更新后的迭代阈值,对所述分割图像进行二值化处理,更新第二图像;
对更新后的第二图像重复执行所述根据所述第二图像中至少一个第二连通域的周长和/或面积,判断所述至少一个第二连通域中是否为有效的第二缺陷以及之后的步骤,直至输出无缺陷结果,或者,有缺陷结果。
6.根据权利要求1-5中任一项所述的方法,其特征在于,所述分类信息和所述分割图像是通过神经网络获取的,所述神经网络包括特征提取网络、分类网络、以及分割网络,所述分类网络和所述分割网络均与所述特征提取网络连接,
所述对所述待检测图像进行分类处理,确定所述待检测图像的分类信息,以及对所述待检测图像进行分割处理,得到分割图像,包括:
利用所述特征提取网络对所述待检测图像进行特征提取,得到至少一组特征图;
利用所述分类网络对所述至少一组特征图进行分类处理,得到所述分类信息,以及
利用所述分割网络对所述至少一组特征图进行分割处理,得到所述分割图像;
其中,所述神经网络是通过训练数据集训练好的神经网络,所述训练数据集是由数据清洗处理和标注后的样本图像构成的,所述样本图像是图像采集设备在不同光源方向,拍摄到所述待检测物体带有不同明暗分布的图像的合成图像。
7.根据权利要求1-6中任一项所述的方法,其特征在于,所述获取待检测图像,包括:
获取所述待检测物体的至少两帧初始图像,所述至少两帧初始图像是图像采集设备在不同光源方向,拍摄到所述待检测物体带有不同明暗分布的图像;
将所述待检测物体的初始图像进行合并处理,得到合并后的待检测图像。
8.一种缺陷检测装置,其特征在于,包括:
获取模块,用于获取待检测图像;
确定模块,用于对所述待检测图像进行分类处理,确定所述待检测图像的分类信息,所述分类信息包括所述待检测图像属于每个缺陷类别的缺陷概率,以及
用于对所述待检测图像进行分割处理,得到分割图像,所述分割图像包括至少一个待检测物体对应的至少一个目标区域,以及待检测物体以外的背景区域;
判断模块,用于根据所述分类信息,判断是否对所述分割图像进行缺陷检测,得到判断结果;
检测模块,用于在判断结果为进行缺陷检测的情况下,根据所述分类信息和所述分割图像,对所述分割图像进行缺陷检测,确定缺陷检测结果,所述缺陷检测结果包括无缺陷结果和有缺陷结果中的至少一种,所述有缺陷结果包括至少一个缺陷位置,以及每个缺陷位置处的缺陷对应的分类信息。
9.一种电子设备,其特征在于,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为调用所述存储器存储的指令,以执行权利要求1至7中任意一项所述的方法。
10.一种计算机可读存储介质,其上存储有计算机程序指令,其特征在于,所述计算机程序指令被处理器执行时实现权利要求1至7中任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210793667.6A CN115294025A (zh) | 2022-07-05 | 2022-07-05 | 缺陷检测方法及装置、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210793667.6A CN115294025A (zh) | 2022-07-05 | 2022-07-05 | 缺陷检测方法及装置、电子设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115294025A true CN115294025A (zh) | 2022-11-04 |
Family
ID=83821962
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210793667.6A Withdrawn CN115294025A (zh) | 2022-07-05 | 2022-07-05 | 缺陷检测方法及装置、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115294025A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115496754A (zh) * | 2022-11-16 | 2022-12-20 | 深圳佰维存储科技股份有限公司 | Ssd的弯曲度检测方法、装置、可读存储介质及电子设备 |
CN115631197A (zh) * | 2022-12-21 | 2023-01-20 | 中科慧远视觉技术(北京)有限公司 | 一种图像处理方法、装置、介质、设备及系统 |
CN115661821A (zh) * | 2022-12-22 | 2023-01-31 | 摩尔线程智能科技(北京)有限责任公司 | 回环检测方法、装置、电子设备、存储介质和程序产品 |
CN115760854A (zh) * | 2023-01-09 | 2023-03-07 | 佰聆数据股份有限公司 | 基于深度学习的电力设备缺陷检测方法、装置及电子设备 |
CN116046790A (zh) * | 2023-01-31 | 2023-05-02 | 北京百度网讯科技有限公司 | 缺陷检测方法、装置、系统、电子设备以及存储介质 |
CN116993715A (zh) * | 2023-09-18 | 2023-11-03 | 山东庆葆堂生物科技有限公司 | 一种玻璃瓶气密性检测方法 |
-
2022
- 2022-07-05 CN CN202210793667.6A patent/CN115294025A/zh not_active Withdrawn
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115496754A (zh) * | 2022-11-16 | 2022-12-20 | 深圳佰维存储科技股份有限公司 | Ssd的弯曲度检测方法、装置、可读存储介质及电子设备 |
CN115496754B (zh) * | 2022-11-16 | 2023-04-11 | 深圳佰维存储科技股份有限公司 | Ssd的弯曲度检测方法、装置、可读存储介质及电子设备 |
CN115631197A (zh) * | 2022-12-21 | 2023-01-20 | 中科慧远视觉技术(北京)有限公司 | 一种图像处理方法、装置、介质、设备及系统 |
CN115661821A (zh) * | 2022-12-22 | 2023-01-31 | 摩尔线程智能科技(北京)有限责任公司 | 回环检测方法、装置、电子设备、存储介质和程序产品 |
CN115661821B (zh) * | 2022-12-22 | 2023-04-11 | 摩尔线程智能科技(北京)有限责任公司 | 回环检测方法、装置、电子设备、存储介质和程序产品 |
CN115760854A (zh) * | 2023-01-09 | 2023-03-07 | 佰聆数据股份有限公司 | 基于深度学习的电力设备缺陷检测方法、装置及电子设备 |
CN116046790A (zh) * | 2023-01-31 | 2023-05-02 | 北京百度网讯科技有限公司 | 缺陷检测方法、装置、系统、电子设备以及存储介质 |
CN116046790B (zh) * | 2023-01-31 | 2023-10-27 | 北京百度网讯科技有限公司 | 缺陷检测方法、装置、系统、电子设备以及存储介质 |
CN116993715A (zh) * | 2023-09-18 | 2023-11-03 | 山东庆葆堂生物科技有限公司 | 一种玻璃瓶气密性检测方法 |
CN116993715B (zh) * | 2023-09-18 | 2023-12-19 | 山东庆葆堂生物科技有限公司 | 一种玻璃瓶气密性检测方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115294025A (zh) | 缺陷检测方法及装置、电子设备和存储介质 | |
CN110348537B (zh) | 图像处理方法及装置、电子设备和存储介质 | |
CN110889469B (zh) | 图像处理方法及装置、电子设备和存储介质 | |
CN110544217B (zh) | 一种图像处理方法及装置、电子设备和存储介质 | |
CN113344901B (zh) | 涂胶缺陷检测方法、装置、存储介质及电子设备 | |
CN110674719B (zh) | 目标对象匹配方法及装置、电子设备和存储介质 | |
CN111339846A (zh) | 图像识别方法及装置、电子设备和存储介质 | |
CN109544560B (zh) | 图像处理方法及装置、电子设备和存储介质 | |
WO2023087741A1 (zh) | 缺陷检测方法及装置、电子设备、存储介质及计算机程序产品 | |
CN110543850B (zh) | 目标检测方法及装置、神经网络训练方法及装置 | |
CN110443366B (zh) | 神经网络的优化方法及装置、目标检测方法及装置 | |
US20200175673A1 (en) | Method and device for detecting defect of meal box, server, and storage medium | |
CN105763812A (zh) | 智能拍照方法及装置 | |
CN106296617A (zh) | 人脸图像的处理方法及装置 | |
CN112184635A (zh) | 目标检测方法、装置、存储介质及设备 | |
CN111598863A (zh) | 缺陷检测方法、装置、设备及可读存储介质 | |
CN109102026B (zh) | 一种车辆图像检测方法、装置及系统 | |
CN114066858A (zh) | 模型训练方法及装置、电子设备和存储介质 | |
CN111126108A (zh) | 图像检测模型的训练和图像检测方法及装置 | |
CN112967264A (zh) | 缺陷检测方法及装置、电子设备和存储介质 | |
CN110021012B (zh) | 基于机器视觉技术的手机镜头视窗玻璃缺陷检测方法 | |
CN115660945A (zh) | 一种坐标转换方法、装置、电子设备及存储介质 | |
CN113313115B (zh) | 车牌属性识别方法及装置、电子设备和存储介质 | |
CN113269307B (zh) | 神经网络训练方法以及目标重识别方法 | |
CN115082413A (zh) | 缺陷检测方法及装置、电子设备和存储介质 |
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 | ||
WW01 | Invention patent application withdrawn after publication | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20221104 |