CN116523916B - 产品表面缺陷检测方法、装置、电子设备及存储介质 - Google Patents
产品表面缺陷检测方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN116523916B CN116523916B CN202310801199.7A CN202310801199A CN116523916B CN 116523916 B CN116523916 B CN 116523916B CN 202310801199 A CN202310801199 A CN 202310801199A CN 116523916 B CN116523916 B CN 116523916B
- Authority
- CN
- China
- Prior art keywords
- defect
- feature
- refinement
- image
- module
- 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
Links
- 230000007547 defect Effects 0.000 title claims abstract description 403
- 238000001514 detection method Methods 0.000 title claims abstract description 246
- 238000003860 storage Methods 0.000 title claims abstract description 14
- 238000000926 separation method Methods 0.000 claims abstract description 65
- 238000000034 method Methods 0.000 claims abstract description 55
- 238000004458 analytical method Methods 0.000 claims abstract description 39
- 238000012549 training Methods 0.000 claims abstract description 34
- 238000000605 extraction Methods 0.000 claims abstract description 28
- 230000008569 process Effects 0.000 claims abstract description 18
- 238000009826 distribution Methods 0.000 claims description 26
- 230000002950 deficient Effects 0.000 claims description 21
- 238000004590 computer program Methods 0.000 claims description 13
- 230000002776 aggregation Effects 0.000 claims description 10
- 238000004220 aggregation Methods 0.000 claims description 10
- 238000004422 calculation algorithm Methods 0.000 claims description 7
- 238000012545 processing Methods 0.000 abstract description 7
- 239000000047 product Substances 0.000 description 127
- 238000004364 calculation method Methods 0.000 description 12
- 230000004913 activation Effects 0.000 description 8
- 230000011218 segmentation Effects 0.000 description 7
- 238000004891 communication Methods 0.000 description 6
- 238000004519 manufacturing process Methods 0.000 description 6
- 238000013527 convolutional neural network Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 238000011176 pooling Methods 0.000 description 5
- 238000012937 correction Methods 0.000 description 4
- 238000009499 grossing Methods 0.000 description 4
- 239000013598 vector Substances 0.000 description 4
- 239000000919 ceramic Substances 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 239000010985 leather Substances 0.000 description 3
- 238000010606 normalization Methods 0.000 description 3
- 238000007781 pre-processing Methods 0.000 description 3
- 239000004753 textile Substances 0.000 description 3
- 239000002023 wood Substances 0.000 description 3
- 238000001914 filtration Methods 0.000 description 2
- 238000012417 linear regression Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 239000011148 porous material Substances 0.000 description 2
- 238000003672 processing method Methods 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 230000008485 antagonism Effects 0.000 description 1
- 208000003464 asthenopia Diseases 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000002146 bilateral effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000002512 chemotherapy Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 239000012467 final product Substances 0.000 description 1
- 238000011478 gradient descent method Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000009776 industrial production Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- -1 shrinkage porosity Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
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
-
- 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
- G06N3/045—Combinations of networks
-
- 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
- G06N3/0464—Convolutional networks [CNN, ConvNet]
-
- 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
- G06N3/0475—Generative networks
-
- 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
- G06N3/094—Adversarial learning
-
- 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/20—Image preprocessing
- G06V10/25—Determination of region of interest [ROI] or a volume of interest [VOI]
-
- 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/20—Image preprocessing
- G06V10/26—Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion
-
- 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/762—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using clustering, e.g. of similar faces in social networks
-
- 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/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
-
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/30—Computing systems specially adapted for manufacturing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Software Systems (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Molecular Biology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- Quality & Reliability (AREA)
- Image Analysis (AREA)
Abstract
本发明涉及图像处理技术领域,提供一种产品表面缺陷检测方法、装置、电子设备及存储介质,该方法将获取的产品的待检测图像输入至缺陷检测模型,由缺陷检测模型输出产品的缺陷检测结果。该方法采用了缺陷检测模型中的特征提取模块提取待检测图像的图像特征,并利用注意力细化模块提取图像特征的细化特征,如此可以增强缺陷检测模型的表达能力,显著提高缺陷检测模型的精度和鲁棒性。进而,不仅可以使通过特征解析模块得到的缺陷检测结果更加准确可靠。此外,由于初始模型的训练过程中采用了特征分离损失,可以使缺陷检测模型尽可能地分离缺陷和背景的语义成分,减少把背景误检成缺陷或漏检的情况出现,提高缺陷检测结果的准确性,降低误检率。
Description
技术领域
本发明涉及图像处理技术领域,尤其涉及一种产品表面缺陷检测方法、装置、电子设备及存储介质。
背景技术
在工业制造领域,许多生产线会不可避免地在生产过程中产生有严重缺陷或无法满足出厂标准的残次品,例如木材表面的划痕、纺织物表面的污点、皮革表面的凸起、陶瓷制品表面的裂纹以及活塞等复杂结构件表面的缩松、气孔、划痕等。这一类缺陷不仅会严重影响生产效率及使用性能,而且会降低消费者的视觉体验。为了促进生产工艺的改善、提高产品生产质量、提升良品率,产品表面缺陷检测已然成为工业生产中不可或缺的一环。
传统的缺陷检测方法主要是由经验丰富的工人肉眼观察完成检测。但是长时间的工作会使检测人员视觉疲劳与心理疲劳都加大,会增大漏检误检可能性。而且,人眼检测速度较慢,在生产大批量产品时,检测效率不足以支撑企业自动化生产需求。此外,从长期角度看检测工人的人工成本会较高。
目前,依靠人眼观察检测缺陷的传统方式已经逐步被自动化的计算机图像处理方法替代,然而现有的计算机图像处理方法通常是基于阈值分割和形态学来进行处理,容易造成误检,而且存在检测准确率低的问题。
发明内容
本发明提供一种产品表面缺陷检测方法、装置、电子设备及存储介质,用以解决现有技术中存在的缺陷。
本发明提供一种产品表面缺陷检测方法,包括:
获取产品的待检测图像;
将所述待检测图像输入至缺陷检测模型,得到所述缺陷检测模型输出的所述产品的缺陷检测结果;
其中,所述缺陷检测模型包括特征提取模块、注意力细化模块和特征解析模块;所述特征提取模块用于提取所述待检测图像的图像特征;所述注意力细化模块用于提取所述图像特征的细化特征;所述特征解析模块用于基于所述细化特征,确定所述缺陷检测结果;
所述缺陷检测模型基于携带有缺陷标签的产品样本图像对初始模型训练得到;在所述初始模型的训练过程中,将所述产品样本图像输入至所述初始模型,得到所述初始模型中初始注意力细化模块输出的所述产品样本图像中所述缺陷标签对应的缺陷像素点的第一细化特征及除所述缺陷像素点外的背景像素点的第二细化特征,以及所述初始模型中初始特征解析模块输出的初始检测结果;
基于所述第一细化特征和所述第二细化特征计算特征分离损失,基于所述初始检测结果和所述缺陷标签计算检测损失,并基于所述特征分离损失和所述检测损失,对所述初始模型的结构参数进行迭代更新,得到所述缺陷检测模型。
根据本发明提供的一种产品表面缺陷检测方法,所述缺陷标签包括样本缺陷类别;相应地,所述基于所述第一细化特征和所述第二细化特征计算特征分离损失,包括:
计算所述样本缺陷类别对应的缺陷像素点的第一细化特征和背景像素点的第二细化特征共同符合的高斯分布;
基于所述高斯分布,计算所述样本缺陷类别对应的第一联合概率和图像背景对应的第二联合概率,并基于所述第一联合概率和所述第二联合概率,计算所述特征分离损失。
根据本发明提供的一种产品表面缺陷检测方法,所述基于所述第一联合概率和所述第二联合概率,计算所述特征分离损失,包括:
计算所述第一联合概率的第一对数,并对所述第一对数翻转符号并反转,得到第一结果;
计算所述第二联合概率的第二对数,并对所述第二对数翻转符号并反转,得到第二结果;
计算所述第一结果与所述第二结果的第一比值,并基于所述第一比值计算所述特征分离损失;
或者,计算所述第二结果与所述第一结果的第二比值,并基于所述第二比值计算所述特征分离损失。
根据本发明提供的一种产品表面缺陷检测方法,所述计算所述样本缺陷类别对应的缺陷像素点的第一细化特征和背景像素点的第二细化特征共同符合的高斯分布,包括:
计算所述缺陷像素点在每个通道的第一细化特征和所述背景像素点在相同通道的第二细化特征共同符合的高斯分布;
相应地,所述第一联合概率为所述样本缺陷类别对应的所有缺陷像素点在所有通道的第一细化特征的联合概率,所述第二联合概率为所述图像背景对应的所有背景像素点在所有通道的第二细化特征的联合概率。
根据本发明提供的一种产品表面缺陷检测方法,所述特征解析模块包括区域候选模块、区域特征聚集模块和分类模块;
所述区域候选模块用于基于所述细化特征,确定候选区域;
所述区域特征聚集模块用于对所述细化特征和所述候选区域进行ROI Align操作,得到操作结果;
所述分类模块用于基于所述操作结果,确定所述缺陷检测结果,所述缺陷检测结果包括目标缺陷边界框、所述目标缺陷边界框对应的目标缺陷类别和所述目标缺陷边界框中各像素点的类别。
根据本发明提供的一种产品表面缺陷检测方法,所述缺陷标签还包括样本缺陷轮廓,所述候选区域的尺度基于聚类算法对所述样本缺陷轮廓对应的样本缺陷尺寸进行聚类得到。
根据本发明提供的一种产品表面缺陷检测方法,所述产品样本图像存储于样本集中,所述样本集基于如下步骤构建:
采集拍摄得到的原始产品样本图像,并将所述原始产品样本图像存储至所述样本集中;
对所述原始产品样本图像进行图像增强,得到增强图像,并将所述增强图像存储至所述样本集中;
采用生成式对抗网络,生成缺陷图片,并将所述缺陷图片作为所述产品样本图像存储至所述样本集中。
本发明还提供一种产品表面缺陷检测装置,包括:
图像获取模块,用于获取产品的待检测图像;
缺陷检测模块,用于将所述待检测图像输入至缺陷检测模型,得到所述缺陷检测模型输出的所述产品的缺陷检测结果;
其中,所述缺陷检测模型包括特征提取模块、注意力细化模块和特征解析模块;所述特征提取模块用于提取所述待检测图像的图像特征;所述注意力细化模块用于提取所述图像特征的细化特征;所述特征解析模块用于基于所述细化特征,确定所述缺陷检测结果;
所述缺陷检测模型基于携带有缺陷标签的产品样本图像对初始模型训练得到;
模型训练模块,用于在所述初始模型的训练过程中,将所述产品样本图像输入至所述初始模型,得到所述初始模型中初始注意力细化模块输出的所述产品样本图像中所述缺陷标签对应的缺陷像素点的第一细化特征及除所述缺陷像素点外的背景像素点的第二细化特征,以及所述初始模型中初始特征解析模块输出的初始检测结果;
基于所述第一细化特征和所述第二细化特征计算特征分离损失,基于所述初始检测结果和所述缺陷标签计算检测损失,并基于所述特征分离损失和所述检测损失,对所述初始模型的结构参数进行迭代更新,得到所述缺陷检测模型。
本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述的产品表面缺陷检测方法。
本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述的产品表面缺陷检测方法。
本发明还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述的产品表面缺陷检测方法。
本发明提供的产品表面缺陷检测方法、装置、电子设备及存储介质,该方法首先获取产品的待检测图像;然后将待检测图像输入至缺陷检测模型,得到缺陷检测模型输出的产品的缺陷检测结果。该方法采用了缺陷检测模型中的特征提取模块提取待检测图像的图像特征,并利用注意力细化模块提取图像特征的细化特征,如此可以增强缺陷检测模型的表达能力,显著提高缺陷检测模型的精度和鲁棒性。进而,不仅可以使通过特征解析模块得到的缺陷检测结果更加准确可靠。此外,由于初始模型的训练过程中采用了特征分离损失,可以使缺陷检测模型尽可能地分离缺陷和背景的语义成分,减少把背景误检成缺陷或漏检的情况出现,进一步提高缺陷检测结果的准确性,提高缺陷检测的实用性,降低误检率。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明提供的产品表面缺陷检测方法的流程示意图;
图2是本发明提供的产品表面缺陷检测方法采用的缺陷检测模型中注意力细化模块的结构示意图;
图3是本发明提供的产品表面缺陷检测方法采用的缺陷检测模型进行表面缺陷检测的流程示意图;
图4是本发明提供的产品表面缺陷检测装置的结构示意图;
图5是本发明提供的电子设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
由于现有的自动化缺陷检测方法通常是基于阈值分割和形态学来进行处理,容易造成误检,而且存在检测准确率低的问题。为此,本发明实施例中提供了一种产品表面缺陷检测方法。
图1为本发明实施例中提供的一种产品表面缺陷检测方法的流程示意图,如图1所示,该方法包括:
S1,获取产品的待检测图像;
S2,将所述待检测图像输入至缺陷检测模型,得到所述缺陷检测模型输出的所述产品的缺陷检测结果;
其中,所述缺陷检测模型包括特征提取模块、注意力细化模块和特征解析模块;所述特征提取模块用于提取所述待检测图像的图像特征;所述注意力细化模块用于提取所述图像特征的细化特征;所述特征解析模块用于基于所述细化特征,确定所述缺陷检测结果;
所述缺陷检测模型基于携带有缺陷标签的产品样本图像对初始模型训练得到;在所述初始模型的训练过程中,将所述产品样本图像输入至所述初始模型,得到所述初始模型中初始注意力细化模块输出的所述产品样本图像中所述缺陷标签对应的缺陷像素点的第一细化特征及除所述缺陷像素点外的背景像素点的第二细化特征,以及所述初始模型中初始特征解析模块输出的初始检测结果;
基于所述第一细化特征和所述第二细化特征计算特征分离损失,基于所述初始检测结果和所述缺陷标签计算检测损失,并基于所述特征分离损失和所述检测损失,对所述初始模型的结构参数进行迭代更新,得到所述缺陷检测模型。
具体地,本发明实施例中提供的产品表面缺陷检测方法,其执行主体为产品表面缺陷检测装置,该装置可以配置于计算机内,该计算机可以为本地计算机或云计算机,本地计算机可以是电脑、平板等,此处不作具体限定。
首先执行步骤S1,该产品可以是木材、纺织物、皮革和陶瓷制品等,还可以是活塞等复杂结构件,此处不作具体限定。相应地,产品表面缺陷可以包括木材表面的划痕、纺织物表面的污点、皮革表面的凸起、陶瓷制品表面的裂纹以及活塞等复杂结构件表面的缩松、气孔、划痕等。待检测图像是为检测产品的表面缺陷而拍摄的表面图像,该待检测图像可以通过图像采集设备采集得到并传输至产品表面缺陷检测装置。该待检测图像可以是彩色图像,也可以是灰度图像。
然后执行步骤S2,将待检测图像输入至缺陷检测模型,利用缺陷检测模型对待检测图像进行缺陷检测,得到产品的缺陷检测结果。该缺陷检测结果可以包括该产品是否存在缺陷以及存在缺陷的情况下的目标缺陷边界框、目标缺陷边界框对应的目标缺陷类别和目标缺陷边界框中各像素点的类别。该目标缺陷边界框可以表征缺陷大小,目标缺陷边界框的位置可以表示缺陷位置,目标缺陷类别可以标识在目标缺陷边界框的附近,例如可以标识在目标缺陷边界框的某一顶角处或某一边处,此处不作具体限定。
本发明实施例中,缺陷检测结果可以表示为[Xmin,Ymin,Xmax,Ymax,Label,Probability],其中,Xmin,Ymin是目标缺陷边界框的左上角的位置坐标,Xmax,Ymax是目标缺陷边界框的右下角的位置坐标,Label是目标缺陷边界框对应的目标缺陷类别,Probability是目标缺陷边界框内各像素点的类别的概率值。
在缺陷检测模型中,可以包括特征提取模块、注意力细化模块(AttentionRefinement Module,ARM)和特征解析模块。
特征提取模块可以通过主干网络实现,主干网络可以包括ResNet网络等。特征提取模块可以用于提取待检测图像的图像特征。本发明实施例中,特征提取模块可以包括缩放层、卷积层、激活层和池化层,缩放层可以用于将待检测图像缩放至一定尺寸,该尺寸可以是800×600。激活层可以通过relu激活函数实现。此处,卷积层可以包括13个,激活层也可以包括13个,池化层可以包括4个。
注意力细化模块是一种用于图像分类和语义分割的卷积神经网络模块,主要用于增强特征图的表达能力。它可以自动地学习输入特征图中的相关特征,并利用这些特征来增强缺陷检测模型的表达能力。
本发明实施例中,注意力细化模块使用双向分割网络,其结构如图2所示,包括原始特征输入通道和注意力向量计算通道,原始特征输入通道和注意力向量计算通道输出的特征通过加权求和的方式进行融合得到细化特征。
其中,原始特征输入通道直接将输入的图像特征输出,注意力向量计算通道包括全局平均池化(Global average pooling,GAP)层、卷积(conv)层、归一化(Batch Norm,BN)层和激活层,卷积层可以包括1×1卷积核,激活层可以通过sigmoid激活函数实现。图像特征依次经过全局平均池化、卷积层、归一化层和激活层后输出。
通过注意力细化模块可以学习每个位置的注意力权重来控制输入的图像特征中不同位置的特征贡献,从而提取图像特征的不同层次的特征表示,强化对目标的关注和响应。通过引入注意力细化模块,可以显著提高缺陷检测模型的精度和鲁棒性,特别是在处理图像中的细节和边缘等区域时效果显著。
特征解析模块可以通过对细化特征进行解析,确定出最终的产品的缺陷检测结果。由于特征解析模块采用了细化特征,如此可以使缺陷检测结果更加准确,降低了误检率。
此处采用的缺陷检测模型,可以利用携带有缺陷标签的产品样本图像对初始模型训练得到。该初始模型可以与缺陷检测模型具有相同的模型结构,即可以包括初始特征提取模块、初始注意力细化模块和初始特征解析模块。初始模型的结构参数可以初始化得到,也可以经过大数据预训练得到,此处不作具体限定。
此处,产品样本图像为缺陷图像,缺陷标签可以采用标注软件标注得到,以作为初始模型训练时图像的正确标签,可以包括产品样本图像中的样本缺陷位置、样本缺陷轮廓和样本缺陷类别。样本缺陷类别可以有一个或多个,通过样本缺陷轮廓,还可以确定样本缺陷大小。
在初始模型的训练过程中,可以先将产品样本图像输入至初始模型,产品样本图像依次经初始特征提取模块、初始注意力细化模块和初始特征解析模块。
初始特征提取模块可以输出产品样本图像中各像素点的图像特征。初始注意力细化模块可以输出产品样本图像中样本缺陷类别对应的缺陷像素点的第一细化特征及除缺陷像素点外的背景像素点的第二细化特征。每一样本缺陷类别对应的缺陷像素点是指每一样本缺陷类别对应的各样本缺陷轮廓中包含的像素点,除缺陷像素点外的背景像素点是指产品样本图像中没有缺陷的背景区域中的像素点。
初始特征解析模块可以输出产品样本图像的初始检测结果,该初始检测结果可以包括样本缺陷边界框、样本缺陷边界框对应的样本缺陷类别和样本缺陷边界框中各像素点的类别。
初始检测结果可以表示为[X1min,Y1min,X1max,Y1max,Label1,Probability1],其中,X1min,Y1min是样本缺陷边界框的左上角的位置坐标,X1max,Y1max是样本缺陷边界框的右下角的位置坐标,Label1是样本缺陷边界框对应的样本缺陷类别,Probability1是样本缺陷边界框内各像素点的类别的概率值。
此后,可以利用第一细化特征和第二细化特征,计算特征分离损失,该特征分离损失可以通过各第一细化特征与第二细化特征之间的差异性进行表征,差异性越大,特征分离损失越小。
该特征分离损失的引入,可以尽可能地分离缺陷和背景的语义成分,以减少误检测和漏检测的情况出现,提高缺陷检测的实用性。其中,误检测(False Positive,FP)是指把背景误检成缺陷,漏检测(False Negative,FN)是指漏检缺陷的数量。
同时,利用初始检测结果和缺陷标签计算检测损失,该检测损失可以包括位置检测损失、分类检测损失和语义分割检测损失。位置检测损失可以通过样本缺陷边界框的位置与目标缺陷边界框的位置之间的相似性进行表示,分类检测损失可以通过样本缺陷边界框对应的样本缺陷类别与目标缺陷边界框对应的目标缺陷类别之间的相似性进行表示,语义分割检测损失可以通过样本缺陷边界框内各像素点的类别与目标缺陷边界框内各像素点的类别之间的相似性进行表示。
最终,利用特征分离损失和检测损失,可以确定总损失,并利用该总损失,采用小批量梯度下降法,每次从产品样本图像中选取部分图像对初始模型的结构参数进行更新,并通过观察总损失的大小确定初始模型的性能,当达到预设迭代次数或总损失收敛,即可得到缺陷检测模型。
本发明实施例中提供的产品表面缺陷检测方法,首先获取产品的待检测图像;然后将待检测图像输入至缺陷检测模型,得到缺陷检测模型输出的产品的缺陷检测结果。该方法采用了缺陷检测模型中的特征提取模块提取待检测图像的图像特征,并利用注意力细化模块提取图像特征的细化特征,如此可以增强缺陷检测模型的表达能力,显著提高缺陷检测模型的精度和鲁棒性。进而,不仅可以使通过特征解析模块得到的缺陷检测结果更加准确可靠。此外,由于初始模型的训练过程中采用了特征分离损失,可以使缺陷检测模型尽可能地分离缺陷和背景的语义成分,减少把背景误检成缺陷或漏检的情况出现,进一步提高缺陷检测结果的准确性,提高缺陷检测的实用性,降低误检率。
在上述实施例的基础上,本发明实施例中提供的产品表面缺陷检测方法,所述缺陷标签包括样本缺陷类别;相应地,所述基于所述第一细化特征和所述第二细化特征计算特征分离损失,包括:
计算所述样本缺陷类别对应的缺陷像素点的第一细化特征和背景像素点的第二细化特征共同符合的高斯分布;
基于所述高斯分布,计算所述样本缺陷类别对应的第一联合概率和图像背景对应的第二联合概率,并基于所述第一联合概率和所述第二联合概率,计算所述特征分离损失。
具体地,本发明实施例中,缺陷标签包括样本缺陷类别,因此在利用第一细化特征和第二细化特征计算特征分离损失时,可以先计算样本缺陷类别对应的缺陷像素点的第一细化特征和背景像素点的第二细化特征共同符合的高斯分布。该高斯分布可以通过平均值和方差进行表征。可以理解的是,每一样本缺陷类别对应的缺陷像素点的第一细化特征均与背景像素点的第二细化特征有一个共同符合的高斯分布,即高斯分布的个数与样本缺陷类别的个数相等。
此后,利用每一样本缺陷类别对应的缺陷像素点的高斯分布,计算出每一样本缺陷类别对应的第一联合概率和图像背景对应的第二联合概率。该第一联合概率可以是每一样本缺陷类别对应的所有缺陷像素点的联合概率,该第二联合概率可以是图像背景对应的所有背景像素点的联合概率。
最后,可以利用第一联合概率和第二联合概率,计算出特征分离损失。由于第一联合概率考虑了每一样本缺陷类别对应的所有缺陷像素点,第二联合概率考虑了图像背景对应的所有背景像素点,因此采用二者计算特征分离损失不仅可以大大降低特征分离损失的计算难度,还可以提高特征分离损失的计算准确性。
在上述实施例的基础上,本发明实施例中提供的一种产品表面缺陷检测方法,所述计算所述样本缺陷类别对应的缺陷像素点的第一细化特征和背景像素点的第二细化特征共同符合的高斯分布,包括:
计算所述缺陷像素点在每个通道的第一细化特征和所述背景像素点在相同通道的第二细化特征共同符合的高斯分布;
相应地,所述第一联合概率为所述样本缺陷类别对应的所有缺陷像素点在所有通道的第一细化特征的联合概率,所述第二联合概率为所述图像背景对应的所有背景像素点在所有通道的第二细化特征的联合概率。
具体地,本发明实施例中,为降低计算难度,可以在计算高斯分布时,按通道进行计算,即计算每一样本缺陷类别对应的缺陷像素点在每个通道的第一细化特征和背景像素点在相同通道的第二细化特征共同符合的高斯分布。例如,对于通道c(,/>为通道总数),每一样本缺陷类别R1对应的缺陷像素点在通道c的第一细化特征可以表示为,图像背景R2对应的背景像素点在通道c的第二细化特征可以表示为/>,二者共同符合的高斯分布在通道c的均值为/>,方差为/>,并且为了计算可处理性,假设通道之间互相独立。
进而,第一联合概率为每一样本缺陷类别R1对应的所有缺陷像素点在所有通道的第一细化特征的联合概率,可以表示为:
;
第二联合概率为图像背景R2对应的所有背景像素点在所有通道的第二细化特征的联合概率,可以表示为:
。
在上述实施例的基础上,本发明实施例中提供的一种产品表面缺陷检测方法,所述基于所述第一联合概率和所述第二联合概率,计算所述特征分离损失,包括:
计算所述第一联合概率的第一对数,并对所述第一对数翻转符号并反转,得到第一结果;
计算所述第二联合概率的第二对数,并对所述第二对数翻转符号并反转,得到第二结果;
计算所述第一结果与所述第二结果的第一比值,并基于所述第一比值计算所述特征分离损失;
或者,计算所述第二结果与所述第一结果的第二比值,并基于所述第二比值计算所述特征分离损失。
具体地,本发明实施例中,在计算特征分离损失时,可以先计算第一联合概率的第一对数,并对第一对数翻转符号并反转,得到第一结果。同时,计算第二联合概率的第二对数,并对第二对数翻转符号并反转,得到第二结果。
此后,计算第一结果与第二结果的第一比值,并基于第一比值计算特征分离损失。此处,为进一步简化计算复杂度,减少计算量,可以先利用每一样本缺陷类别对应的缺陷像素点总数、图像背景对应的背景像素点总数/>以及通道总数/>,对第一比值进行归一化,并将归一化所得结果作为特征分离损失。
此时,该特征分离损失可以表示为:
;
其中,为通过第一比值计算得到的特征分离损失,/>为第一比值的归一化系数,/>为第一比值。该特征分离损失专注于学习缺陷的外观特征,将缺陷的不同外观特征分组为紧密的特征簇,并与背景的特征簇尽量分离。
由于对第一比值进行归一化,可以使该特征分离损失的尺度与不同特征的通道总数和每个图像帧中不同类别的像素点总数无关。
除此之外,还可以先计算第二结果与第一结果的第二比值,并基于第二比值计算特征分离损失。此处,为进一步简化计算复杂度,减少计算量,也可以先利用每一样本缺陷类别对应的缺陷像素点总数、图像背景对应的背景像素点总数/>以及通道总数/>,对第二比值进行归一化,并将归一化所得结果作为特征分离损失。
此时,该特征分离损失可以表示为:
;
其中,为通过第二比值计算得到的特征分离损失,/>为第二比值的归一化系数,/>为第二比值。该特征分离损失专注于学习背景的外观,通过将各种背景分组为紧密特征簇,并且强制与缺陷的特征簇分离。
通过对采用和/>作为特征分离损失的效果进行测试比较,可知,选择作为特征分离损失时,可以使得到的缺陷检测模型的性能更优。
本发明实施例中,给出了计算特征分离损失的两种具体步骤,可以使用户可以根据需要进行选取。
在上述实施例的基础上,本发明实施例中提供的产品表面缺陷检测方法,所述特征解析模块包括区域候选模块、区域特征聚集模块和分类模块;
所述区域候选模块用于基于所述细化特征,确定候选区域;
所述区域特征聚集模块用于对所述细化特征和所述候选区域进行ROI Align操作,得到操作结果;
所述分类模块用于基于所述操作结果,确定所述缺陷检测结果,所述缺陷检测结果包括目标缺陷边界框、所述目标缺陷边界框对应的目标缺陷类别和所述目标缺陷边界框中各像素点的类别。
具体地,本发明实施例中,该特征解析模块可以包括区域候选模块、区域特征聚集模块和分类模块。区域候选模块可以是区域推荐网络(Region Proposal Network,RPN),用于利用细化特征,确定出可能存在缺陷的候选区域(proposal region)。
该区域候选模块可以包括1个3×3卷积层和两个1×1卷积层,1个3×3卷积层融合空间信息,对细化特征中的每个点生成2个检测框,其中一个检测框用一个1×1卷积层完成是否包含缺陷的分类,另一个检测框用另一个1×1卷积层完成位置修正,最终输出包含缺陷的、且位置修正后的检测框作为候选区域。
本发明实施例中,采用线性回归方法对不准确的检测框进行位置修正。对于检测框的定位可以使用四维向量(x,y,w,h)表示,(x,y)表示检测框的中心点坐标,w和h代表检测框的宽和高。采用线性回归方法求出检测框变换在x方向上的平移参数和在y方向上的平移参数/>,并求出检测框在宽方向上的缩放参数/>和在高方向上的缩放参数。
位置修正的目标函数为:;
其中,是需要学习的参数(*代表x,y,w,h其中一个),/>是检测框对应的细化特征,/>是检测框的预测值。
基于此,位置修正的损失函数为:
;
其中,t代表检测框的真实值,N为检测框的个数,是第i个检测框对应的细化特征,/>表示第i个检测框在*维度的真实值。
在此基础上,还可以对同一个目标产生的多个检测框设定比较阈值,通过比较概率最大的检测框与别的检测框的交并比来删除冗余的检测框;如果计算出来交并比大于设定阈值0.65,则认为该目标的检测框存在冗余,删除处理。
该区域特征聚集模块可以是RoI Align结构,用于对细化特征和候选区域进行ROIAlign操作。分类模块则可以包括全连接层(fully connected layer,FC)和全卷积网络(Fully Convolutional Networks,FCN),FC层可以利用ROI Align操作的操作结果,确定出缺陷检测结果中的目标缺陷边界框以及目标缺陷边界框对应的目标缺陷类别,通过FCN可以利用ROI Align操作的操作结果,确定出目标缺陷边界框中各像素点的类别,实现像素级语义分割。
如图3所示,为本发明实施例中采用缺陷检测模型进行表面缺陷检测的流程示意图,该缺陷检测模型为带有注意力细化模块的MASK-R-CNN网络,集成了原有MASK-R-CNN网络的优势以及注意力细化模块的优势,大大提升了缺陷检测模型的检测性能。
在上述实施例的基础上,本发明实施例中提供的产品表面缺陷检测方法,所述缺陷标签还包括样本缺陷轮廓,所述候选区域的尺度基于聚类算法对所述样本缺陷轮廓对应的样本缺陷尺寸进行聚类得到。
具体地,本发明实施例中,缺陷检测模型中区域候选模块确定的候选区域的尺寸可以是利用K-means等聚类算法对样本缺陷轮廓对应的样本缺陷尺寸进行聚类得到。采用K-means等聚类算法,可以输出两个聚类中心。最终可以确定采用长宽比为1:1和1:2两种尺度,分别取48×48、32×64作为候选区域的尺寸。
本发明实施例中,通过聚类算法对样本缺陷轮廓对应的样本缺陷尺寸进行聚类得到候选区域的尺度,以使得到的候选区域的尺度可以适用于大多数的样本缺陷轮廓对应的样本缺陷尺寸的表征。
在上述实施例的基础上,本发明实施例中提供的产品表面缺陷检测方法,所述产品样本图像存储于样本集中,所述样本集基于如下步骤构建:
采集拍摄得到的原始产品样本图像,并将所述原始产品样本图像存储至所述样本集中;
对所述原始产品样本图像进行图像增强,得到增强图像,并将所述增强图像存储至所述样本集中;
采用生成式对抗网络,生成缺陷图片,并将所述缺陷图片作为所述产品样本图像存储至所述样本集中。
具体地,本发明实施例中,样本集中存储有用于对初始模型进行训练时采用的产品样本图像。
产品样本图像可以通过如下三个途径获取:
1)直接通过图像采集设备采集得到产品样本的原始产品样本图像,并将原始产品样本图像存储至样本集中。此处,图像采集设备可以是工业相机等。
2)为实现对样本集的扩充,以增加样本集中的产品样本图像的数量,提升缺陷检测模型的泛化性,可以对所述原始产品样本图像进行图像增强,得到增强图像,并将增强图像存储至样本集中。
此处,图像增强可以包括图像翻转、图像旋转、图像裁剪、图像亮度变换等操作。图像翻转可以是左右对称翻转,图像旋转可以是图像绕中心沿一定方向旋转一定角度,该方向可以是向右或向左,角度可以根据需要设定,例如可以是15度或其他角度。图像裁剪是指裁出缺陷周围一定的尺寸,该尺寸可以是800×600,也可以是其他尺寸,图像亮度变换可以是将图像灰度值增加一定数值,该数值可以是30,也可以是其他数值。
3)为实现对样本集的扩充,还可以引入生成式对抗网络,并通过生成式对抗网络生成缺陷图片,将生成的缺陷图片作为产品样本图像存入样本集中。
其中,生成式对抗网络可以包括生成器和判别器。生成器为一个卷积神经网络,负责生成缺陷图片,判别器也为卷积神经网络,负责判断生成的缺陷图片是否真实。经过多轮互相博弈与训练后的生成器即可生成较为真实的缺陷图片,进而实现对样本集的扩充。
在上述实施例的基础上,本发明实施例中提供的产品表面缺陷检测方法,所述将所述待检测图像输入至缺陷检测模型,之前包括:
对所述待检测图像进行预处理;
和/或,
所述将所述产品样本图像输入至所述初始模型,之前包括:
对所述产品样本图像进行预处理。
具体地,本发明实施例中,预处理操作可以包括采用灰度直方图均衡化处理、中值滤波处理以及去噪与平滑处理中的至少一项。
其中,采用灰度直方图均衡化处理,可以突出缺陷与背景的对比度,解决缺陷常常比较细微,颜色也与背景对比不够明显的问题。采用中值滤波处理,处理图像中存在的噪声,完成对图像的平滑。
去噪与平滑处理时,可以采用3×3卷积核遍历图像,用3×3卷积核对应的区域中的9个像素值的中位数替代中心位置的像素值,以实现图像去噪与平滑。
如图4所示,在上述实施例的基础上,本发明实施例中提供了一种产品表面缺陷检测装置,包括:
图像获取模块41,用于获取产品的待检测图像;
缺陷检测模块42,用于将所述待检测图像输入至缺陷检测模型,得到所述缺陷检测模型输出的所述产品的缺陷检测结果;
其中,所述缺陷检测模型包括特征提取模块、注意力细化模块和特征解析模块;所述特征提取模块用于提取所述待检测图像的图像特征;所述注意力细化模块用于提取所述图像特征的细化特征;所述特征解析模块用于基于所述细化特征,确定所述缺陷检测结果;
所述缺陷检测模型基于携带有缺陷标签的产品样本图像对初始模型训练得到;
模型训练模块43,用于在所述初始模型的训练过程中,将所述产品样本图像输入至所述初始模型,得到所述初始模型中初始注意力细化模块输出的所述产品样本图像中所述缺陷标签对应的缺陷像素点的第一细化特征及除所述缺陷像素点外的背景像素点的第二细化特征,以及所述初始模型中初始特征解析模块输出的初始检测结果;
基于所述第一细化特征和所述第二细化特征计算特征分离损失,基于所述初始检测结果和所述缺陷标签计算检测损失,并基于所述特征分离损失和所述检测损失,对所述初始模型的结构参数进行迭代更新,得到所述缺陷检测模型。
在上述实施例的基础上,本发明实施例中提供的产品表面缺陷检测装置,所述缺陷标签包括样本缺陷类别;
相应地,所述模型训练模块,具体用于:
计算所述样本缺陷类别对应的缺陷像素点的第一细化特征和背景像素点的第二细化特征共同符合的高斯分布;
基于所述高斯分布,计算所述样本缺陷类别对应的第一联合概率和图像背景对应的第二联合概率,并基于所述第一联合概率和所述第二联合概率,计算所述特征分离损失。
在上述实施例的基础上,本发明实施例中提供的产品表面缺陷检测装置,所述模型训练模块,还具体用于:
计算所述第一联合概率的第一对数,并对所述第一对数翻转符号并反转,得到第一结果;
计算所述第二联合概率的第二对数,并对所述第二对数翻转符号并反转,得到第二结果;
计算所述第一结果与所述第二结果的第一比值,并基于所述第一比值计算所述特征分离损失;
或者,计算所述第二结果与所述第一结果的第二比值,并基于所述第二比值计算所述特征分离损失。
在上述实施例的基础上,本发明实施例中提供的产品表面缺陷检测装置,所述模型训练模块,还具体用于:
计算所述缺陷像素点在每个通道的第一细化特征和所述背景像素点在相同通道的第二细化特征共同符合的高斯分布;
相应地,所述第一联合概率为所述样本缺陷类别对应的所有缺陷像素点在所有通道的第一细化特征的联合概率,所述第二联合概率为所述图像背景对应的所有背景像素点在所有通道的第二细化特征的联合概率。
在上述实施例的基础上,本发明实施例中提供的产品表面缺陷检测装置,所述特征解析模块包括区域候选模块、区域特征聚集模块和分类模块;
所述区域候选模块用于基于所述细化特征,确定候选区域;
所述区域特征聚集模块用于对所述细化特征和所述候选区域进行ROI Align操作,得到操作结果;
所述分类模块用于基于所述操作结果,确定所述缺陷检测结果,所述缺陷检测结果包括目标缺陷边界框、所述目标缺陷边界框对应的目标缺陷类别和所述目标缺陷边界框中各像素点的类别。
在上述实施例的基础上,本发明实施例中提供的产品表面缺陷检测装置,所述缺陷标签还包括样本缺陷轮廓,所述候选区域的尺度基于聚类算法对所述样本缺陷轮廓对应的样本缺陷尺寸进行聚类得到。
在上述实施例的基础上,本发明实施例中提供的产品表面缺陷检测装置,还包括样本集构建模块,用于:
采集拍摄得到的原始产品样本图像,并将所述原始产品样本图像存储至所述样本集中;
对所述原始产品样本图像进行图像增强,得到增强图像,并将所述增强图像存储至所述样本集中;
采用生成式对抗网络,生成缺陷图片,并将所述缺陷图片作为所述产品样本图像存储至所述样本集中。
具体地,本发明实施例中提供的产品表面缺陷检测装置中各模块的作用与上述方法类实施例中各步骤的操作流程是一一对应的,实现的效果也是一致的,具体参见上述实施例,本发明实施例中对此不再赘述。
图5示例了一种电子设备的实体结构示意图,如图5所示,该电子设备可以包括:处理器(Processor)510、通信接口(Communications Interface)520、存储器(Memory)530和通信总线540,其中,处理器510,通信接口520,存储器530通过通信总线540完成相互间的通信。处理器510可以调用存储器530中的逻辑指令,以执行上述各实施例中提供的产品表面缺陷检测方法,该方法包括:获取产品的待检测图像;将所述待检测图像输入至缺陷检测模型,得到所述缺陷检测模型输出的所述产品的缺陷检测结果;其中,所述缺陷检测模型包括特征提取模块、注意力细化模块和特征解析模块;所述特征提取模块用于提取所述待检测图像的图像特征;所述注意力细化模块用于提取所述图像特征的细化特征;所述特征解析模块用于基于所述细化特征,确定所述缺陷检测结果;所述缺陷检测模型基于携带有缺陷标签的产品样本图像对初始模型训练得到;在所述初始模型的训练过程中,将所述产品样本图像输入至所述初始模型,得到所述初始模型中初始注意力细化模块输出的所述产品样本图像中所述缺陷标签对应的缺陷像素点的第一细化特征及除所述缺陷像素点外的背景像素点的第二细化特征,以及所述初始模型中初始特征解析模块输出的初始检测结果;基于所述第一细化特征和所述第二细化特征计算特征分离损失,基于所述初始检测结果和所述缺陷标签计算检测损失,并基于所述特征分离损失和所述检测损失,对所述初始模型的结构参数进行迭代更新,得到所述缺陷检测模型。
此外,上述的存储器530中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,计算机程序可存储在非暂态计算机可读存储介质上,所述计算机程序被处理器执行时,计算机能够执行上述各实施例中提供的产品表面缺陷检测方法,该方法包括:获取产品的待检测图像;将所述待检测图像输入至缺陷检测模型,得到所述缺陷检测模型输出的所述产品的缺陷检测结果;其中,所述缺陷检测模型包括特征提取模块、注意力细化模块和特征解析模块;所述特征提取模块用于提取所述待检测图像的图像特征;所述注意力细化模块用于提取所述图像特征的细化特征;所述特征解析模块用于基于所述细化特征,确定所述缺陷检测结果;所述缺陷检测模型基于携带有缺陷标签的产品样本图像对初始模型训练得到;在所述初始模型的训练过程中,将所述产品样本图像输入至所述初始模型,得到所述初始模型中初始注意力细化模块输出的所述产品样本图像中所述缺陷标签对应的缺陷像素点的第一细化特征及除所述缺陷像素点外的背景像素点的第二细化特征,以及所述初始模型中初始特征解析模块输出的初始检测结果;基于所述第一细化特征和所述第二细化特征计算特征分离损失,基于所述初始检测结果和所述缺陷标签计算检测损失,并基于所述特征分离损失和所述检测损失,对所述初始模型的结构参数进行迭代更新,得到所述缺陷检测模型。
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各实施例中提供的产品表面缺陷检测方法,该方法包括:获取产品的待检测图像;将所述待检测图像输入至缺陷检测模型,得到所述缺陷检测模型输出的所述产品的缺陷检测结果;其中,所述缺陷检测模型包括特征提取模块、注意力细化模块和特征解析模块;所述特征提取模块用于提取所述待检测图像的图像特征;所述注意力细化模块用于提取所述图像特征的细化特征;所述特征解析模块用于基于所述细化特征,确定所述缺陷检测结果;所述缺陷检测模型基于携带有缺陷标签的产品样本图像对初始模型训练得到;在所述初始模型的训练过程中,将所述产品样本图像输入至所述初始模型,得到所述初始模型中初始注意力细化模块输出的所述产品样本图像中所述缺陷标签对应的缺陷像素点的第一细化特征及除所述缺陷像素点外的背景像素点的第二细化特征,以及所述初始模型中初始特征解析模块输出的初始检测结果;基于所述第一细化特征和所述第二细化特征计算特征分离损失,基于所述初始检测结果和所述缺陷标签计算检测损失,并基于所述特征分离损失和所述检测损失,对所述初始模型的结构参数进行迭代更新,得到所述缺陷检测模型。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (9)
1.一种产品表面缺陷检测方法,其特征在于,包括:
获取产品的待检测图像;
将所述待检测图像输入至缺陷检测模型,得到所述缺陷检测模型输出的所述产品的缺陷检测结果;
其中,所述缺陷检测模型包括特征提取模块、注意力细化模块和特征解析模块;所述特征提取模块用于提取所述待检测图像的图像特征;所述注意力细化模块用于提取所述图像特征的细化特征;所述特征解析模块用于基于所述细化特征,确定所述缺陷检测结果;
所述缺陷检测模型基于携带有缺陷标签的产品样本图像对初始模型训练得到;在所述初始模型的训练过程中,将所述产品样本图像输入至所述初始模型,得到所述初始模型中初始注意力细化模块输出的所述产品样本图像中所述缺陷标签对应的缺陷像素点的第一细化特征及除所述缺陷像素点外的背景像素点的第二细化特征,以及所述初始模型中初始特征解析模块输出的初始检测结果;
基于所述第一细化特征和所述第二细化特征计算特征分离损失,基于所述初始检测结果和所述缺陷标签计算检测损失,并基于所述特征分离损失和所述检测损失,对所述初始模型的结构参数进行迭代更新,得到所述缺陷检测模型;
所述缺陷标签包括样本缺陷类别;相应地,所述基于所述第一细化特征和所述第二细化特征计算特征分离损失,包括:
计算所述样本缺陷类别对应的缺陷像素点的第一细化特征和背景像素点的第二细化特征共同符合的高斯分布;
基于所述高斯分布,计算所述样本缺陷类别对应的第一联合概率和图像背景对应的第二联合概率,并基于所述第一联合概率和所述第二联合概率,计算所述特征分离损失。
2.根据权利要求1所述的产品表面缺陷检测方法,其特征在于,所述基于所述第一联合概率和所述第二联合概率,计算所述特征分离损失,包括:
计算所述第一联合概率的第一对数,并对所述第一对数翻转符号并反转,得到第一结果;
计算所述第二联合概率的第二对数,并对所述第二对数翻转符号并反转,得到第二结果;
计算所述第一结果与所述第二结果的第一比值,并基于所述第一比值计算所述特征分离损失;
或者,计算所述第二结果与所述第一结果的第二比值,并基于所述第二比值计算所述特征分离损失。
3.根据权利要求1所述的产品表面缺陷检测方法,其特征在于,所述计算所述样本缺陷类别对应的缺陷像素点的第一细化特征和背景像素点的第二细化特征共同符合的高斯分布,包括:
计算所述缺陷像素点在每个通道的第一细化特征和所述背景像素点在相同通道的第二细化特征共同符合的高斯分布;
相应地,所述第一联合概率为所述样本缺陷类别对应的所有缺陷像素点在所有通道的第一细化特征的联合概率,所述第二联合概率为所述图像背景对应的所有背景像素点在所有通道的第二细化特征的联合概率。
4.根据权利要求1所述的产品表面缺陷检测方法,其特征在于,所述特征解析模块包括区域候选模块、区域特征聚集模块和分类模块;
所述区域候选模块用于基于所述细化特征,确定候选区域;
所述区域特征聚集模块用于对所述细化特征和所述候选区域进行ROI Align操作,得到操作结果;
所述分类模块用于基于所述操作结果,确定所述缺陷检测结果,所述缺陷检测结果包括目标缺陷边界框、所述目标缺陷边界框对应的目标缺陷类别和所述目标缺陷边界框中各像素点的类别。
5.根据权利要求4所述的产品表面缺陷检测方法,其特征在于,所述缺陷标签还包括样本缺陷轮廓,所述候选区域的尺度基于聚类算法对所述样本缺陷轮廓对应的样本缺陷尺寸进行聚类得到。
6.根据权利要求1-5中任一项所述的产品表面缺陷检测方法,其特征在于,所述产品样本图像存储于样本集中,所述样本集基于如下步骤构建:
采集拍摄得到的原始产品样本图像,并将所述原始产品样本图像存储至所述样本集中;
对所述原始产品样本图像进行图像增强,得到增强图像,并将所述增强图像存储至所述样本集中;
采用生成式对抗网络,生成缺陷图片,并将所述缺陷图片作为所述产品样本图像存储至所述样本集中。
7.一种产品表面缺陷检测装置,其特征在于,包括:
图像获取模块,用于获取产品的待检测图像;
缺陷检测模块,用于将所述待检测图像输入至缺陷检测模型,得到所述缺陷检测模型输出的所述产品的缺陷检测结果;
其中,所述缺陷检测模型包括特征提取模块、注意力细化模块和特征解析模块;所述特征提取模块用于提取所述待检测图像的图像特征;所述注意力细化模块用于提取所述图像特征的细化特征;所述特征解析模块用于基于所述细化特征,确定所述缺陷检测结果;
所述缺陷检测模型基于携带有缺陷标签的产品样本图像对初始模型训练得到;
模型训练模块,用于在所述初始模型的训练过程中,将所述产品样本图像输入至所述初始模型,得到所述初始模型中初始注意力细化模块输出的所述产品样本图像中所述缺陷标签对应的缺陷像素点的第一细化特征及除所述缺陷像素点外的背景像素点的第二细化特征,以及所述初始模型中初始特征解析模块输出的初始检测结果;
基于所述第一细化特征和所述第二细化特征计算特征分离损失,基于所述初始检测结果和所述缺陷标签计算检测损失,并基于所述特征分离损失和所述检测损失,对所述初始模型的结构参数进行迭代更新,得到所述缺陷检测模型;
所述缺陷标签包括样本缺陷类别;相应地,所述模型训练模块,具体用于:
计算所述样本缺陷类别对应的缺陷像素点的第一细化特征和背景像素点的第二细化特征共同符合的高斯分布;
基于所述高斯分布,计算所述样本缺陷类别对应的第一联合概率和图像背景对应的第二联合概率,并基于所述第一联合概率和所述第二联合概率,计算所述特征分离损失。
8.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1-6中任一项所述的产品表面缺陷检测方法。
9.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-6中任一项所述的产品表面缺陷检测方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310801199.7A CN116523916B (zh) | 2023-07-03 | 2023-07-03 | 产品表面缺陷检测方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310801199.7A CN116523916B (zh) | 2023-07-03 | 2023-07-03 | 产品表面缺陷检测方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116523916A CN116523916A (zh) | 2023-08-01 |
CN116523916B true CN116523916B (zh) | 2023-09-22 |
Family
ID=87401502
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310801199.7A Active CN116523916B (zh) | 2023-07-03 | 2023-07-03 | 产品表面缺陷检测方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116523916B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117475481B (zh) * | 2023-12-27 | 2024-03-01 | 四川师范大学 | 一种基于域迁移的夜间红外图像动物识别方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109711474A (zh) * | 2018-12-24 | 2019-05-03 | 中山大学 | 一种基于深度学习的铝材表面缺陷检测算法 |
CN113160192A (zh) * | 2021-04-28 | 2021-07-23 | 北京科技大学 | 复杂背景下基于视觉的压雪车外观缺陷检测方法及装置 |
CN114240878A (zh) * | 2021-12-16 | 2022-03-25 | 国网河南省电力公司电力科学研究院 | 面向巡检场景的绝缘子缺陷检测神经网络构建与优化方法 |
WO2022160170A1 (zh) * | 2021-01-28 | 2022-08-04 | 东莞职业技术学院 | 一种金属表面缺陷检测方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112258496A (zh) * | 2020-11-02 | 2021-01-22 | 郑州大学 | 一种基于全卷积神经网络的地下排水管道病害分割方法 |
-
2023
- 2023-07-03 CN CN202310801199.7A patent/CN116523916B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109711474A (zh) * | 2018-12-24 | 2019-05-03 | 中山大学 | 一种基于深度学习的铝材表面缺陷检测算法 |
WO2022160170A1 (zh) * | 2021-01-28 | 2022-08-04 | 东莞职业技术学院 | 一种金属表面缺陷检测方法及装置 |
CN113160192A (zh) * | 2021-04-28 | 2021-07-23 | 北京科技大学 | 复杂背景下基于视觉的压雪车外观缺陷检测方法及装置 |
CN114240878A (zh) * | 2021-12-16 | 2022-03-25 | 国网河南省电力公司电力科学研究院 | 面向巡检场景的绝缘子缺陷检测神经网络构建与优化方法 |
Also Published As
Publication number | Publication date |
---|---|
CN116523916A (zh) | 2023-08-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108898610B (zh) | 一种基于mask-RCNN的物体轮廓提取方法 | |
CN111223088B (zh) | 一种基于深层卷积神经网络的铸件表面缺陷识别方法 | |
CN108562589B (zh) | 一种对磁路材料表面缺陷进行检测的方法 | |
CN106875381B (zh) | 一种基于深度学习的手机外壳缺陷检测方法 | |
CN105956582B (zh) | 一种基于三维数据的人脸识别系统 | |
CN107610087B (zh) | 一种基于深度学习的舌苔自动分割方法 | |
CN113592845A (zh) | 一种电池涂布的缺陷检测方法及装置、存储介质 | |
CN111652085B (zh) | 基于2d与3d特征结合的物体识别方法 | |
CN104573614B (zh) | 用于跟踪人脸的设备和方法 | |
JP5546317B2 (ja) | 外観検査装置、外観検査用識別器の生成装置及び外観検査用識別器生成方法ならびに外観検査用識別器生成用コンピュータプログラム | |
CN111833306A (zh) | 缺陷检测方法和用于缺陷检测的模型训练方法 | |
CN105335725A (zh) | 一种基于特征融合的步态识别身份认证方法 | |
CN104036284A (zh) | 基于Adaboost算法的多尺度行人检测方法 | |
CN113449606B (zh) | 一种目标对象识别方法、装置、计算机设备及存储介质 | |
CN112907519A (zh) | 一种基于深度学习的金属曲面缺陷分析系统及方法 | |
CN112926652B (zh) | 一种基于深度学习的鱼类细粒度图像识别方法 | |
WO2023024766A1 (zh) | 物体尺寸识别方法、可读存储介质及物体尺寸识别系统 | |
CN110363196B (zh) | 一种倾斜文本的文字精准识别的方法 | |
CN111415339B (zh) | 一种复杂纹理工业产品图像缺陷检测方法 | |
CN113888461A (zh) | 基于深度学习的小五金件缺陷检测方法、系统及设备 | |
CN116523916B (zh) | 产品表面缺陷检测方法、装置、电子设备及存储介质 | |
WO2024021461A1 (zh) | 缺陷检测方法及装置、设备、存储介质 | |
CN112784712B (zh) | 一种基于实时监控的失踪儿童预警实现方法、装置 | |
CN115018846A (zh) | 基于ai智能相机的多目标裂纹缺陷检测方法和装置 | |
CN111754525A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |