CN117809154A - 神经网络模型训练方法、产品的瑕疵检测方法及相关装置 - Google Patents
神经网络模型训练方法、产品的瑕疵检测方法及相关装置 Download PDFInfo
- Publication number
- CN117809154A CN117809154A CN202311816300.2A CN202311816300A CN117809154A CN 117809154 A CN117809154 A CN 117809154A CN 202311816300 A CN202311816300 A CN 202311816300A CN 117809154 A CN117809154 A CN 117809154A
- Authority
- CN
- China
- Prior art keywords
- product image
- product
- neural network
- network model
- image
- 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.)
- Pending
Links
- 238000003062 neural network model Methods 0.000 title claims abstract description 142
- 238000012549 training Methods 0.000 title claims abstract description 95
- 238000001514 detection method Methods 0.000 title claims abstract description 70
- 238000000034 method Methods 0.000 title claims abstract description 53
- 230000006870 function Effects 0.000 claims abstract description 63
- 230000002950 deficient Effects 0.000 claims abstract description 35
- 230000011218 segmentation Effects 0.000 claims description 34
- 238000012545 processing Methods 0.000 claims description 26
- 238000004590 computer program Methods 0.000 claims description 11
- 238000003860 storage Methods 0.000 claims description 7
- 230000004913 activation Effects 0.000 claims description 5
- 238000013473 artificial intelligence Methods 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 22
- 230000007547 defect Effects 0.000 description 9
- 238000004891 communication Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 238000013527 convolutional neural network Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000002372 labelling Methods 0.000 description 3
- 238000004091 panning Methods 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- ORILYTVJVMAKLC-UHFFFAOYSA-N Adamantane Natural products C1C(C2)CC3CC1CC2C3 ORILYTVJVMAKLC-UHFFFAOYSA-N 0.000 description 1
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000009776 industrial production Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000011176 pooling Methods 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
Classifications
-
- 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
- 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/08—Learning methods
-
- 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
- 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/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/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/774—Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
-
- 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)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Data Mining & Analysis (AREA)
- Molecular Biology (AREA)
- Computational Linguistics (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Quality & Reliability (AREA)
- Image Analysis (AREA)
Abstract
本发明涉及人工智能技术领域,提供一种神经网络模型训练方法、产品的瑕疵检测方法及相关装置。通过获取训练集,其包括多个产品图像样本及其真实掩膜图像和类别标签,类别标签表示产品图像样本是否存在瑕疵区域;将训练集输入基础神经网络模型,利用基础神经网络模型对每个产品图像样本进行瑕疵检测,得到每个产品图像样本的预测掩膜图像和预测概率,预测概率表示产品图像样本存在瑕疵区域的概率;基于每个产品图像样本的真实掩膜图像、类别标签、预测掩膜图像和预测概率、以及预设的损失函数,对基础神经网络模型进行训练得到神经网络模型。通过模型训练使神经网络模型学习瑕疵检测,以利用神经网络模型快速且准确地检测出产品的瑕疵。
Description
技术领域
本发明涉及人工智能技术领域,具体而言,涉及一种神经网络模型训练方法、产品的瑕疵检测方法及相关装置。
背景技术
在自动化工业生产线中,采用阵列CCD摄像头、图像采集卡和工业计算机来实现无人监管的质量监控工作,可以实现宽幅面,高速度和高精度的统一,人力成本低且效率更高,还不用担心人员安全和疲劳带来的各种问题,因此获得了工业界的极大兴趣和广泛重视。
在精密零部件的质量检测中对产品进行瑕疵检测是极其重要的环节。产品表面的图像一般是在相对可控的条件下采集,则同类型产品的图像整体较为一致,所以当产品的位置、形状和旋转角度仅有很小幅度的变化时,往往会被认为是正常的,即产品上的瑕疵区域很小,难以用肉眼直接检测出来,并且产品外观出现瑕疵的类别较多。由于产品的瑕疵检测具有背景高度重复性、同质性、瑕疵区域较小而且表观变化大等特点,目前的检测技术常常存在难以处理高分辨率图像、对于小尺寸目标检测效果差的缺陷。
发明内容
有鉴于此,本发明的目的在于提供一种神经网络模型训练方法、产品的瑕疵检测方法及相关装置。
为了实现上述目的,本发明采用的技术方案如下:
第一方面,本发明提供一种神经网络模型训练方法,所述方法包括:
获取训练集,其中,所述训练集包括多个产品图像样本及其真实掩膜图像和类别标签,所述类别标签表示所述产品图像样本是否存在瑕疵区域;
将所述训练集输入基础神经网络模型,利用所述基础神经网络模型对每个所述产品图像样本进行瑕疵检测,得到每个所述产品图像样本的预测掩膜图像和预测概率,所述预测概率表示所述产品图像样本存在瑕疵区域的概率;
基于每个所述产品图像样本的真实掩膜图像、类别标签、预测掩膜图像和预测概率、以及预设的损失函数,对所述基础神经网络模型进行训练,得到神经网络模型。
在可选的实施方式中,所述获取训练集的步骤,包括:
采集多个产品样本的图像,得到多个原始产品图像;
基于每个所述原始产品图像,得到每个所述原始产品图像的真实掩膜图像和类别标签;
对于每个所述原始产品图像,对所述原始产品图像及其真实掩膜图像进行相同的数据增强操作,获得所述原始产品图像对应的多个增强产品图像和每个所述增强产品图像的真实掩码图像;
将每个所述增强产品图像对应的原始产品图像的类别标签,作为每个所述增强产品图像的类别标签;
将每个所述原始产品图像和每个所述增强产品图像均作为所述产品图像样本,得到所述训练集。
在可选的实施方式中,所述基础神经网络模型包括主干网络、分割网络和分类网络;
所述利用所述基础神经网络模型对每个所述产品图像样本进行瑕疵检测,得到每个所述产品图像样本的预测掩膜图像和预测概率的步骤,包括:
对于任意一个所述产品图像样本,利用所述基础神经网络模型中的主干网络对所述产品图像样本进行特征提取,得到所述产品图像样本的特征图;
利用所述基础神经网络模型中的分割网络对所述产品图像样本的特征图进行分割检测,得到所述产品图像样本的预测掩膜图像;
利用所述基础神经网络模型中的分类网络对所述产品图像样本的特征图进行瑕疵识别,得到所述产品图像样本的预测概率;
遍历每个所述产品图像样本,得到每个所述产品图像样本的预测掩膜图像和预测概率。
在可选的实施方式中,所述损失函数为:
loss=lossseg(x(i))+lossloc(x(i))+γlosscla(x(i));
lossseg(x(i))=ReducedMean(CrossEntropy(sigmoid(Ψ1(Θ(x(i)))),m(i))));
lossloc(x(i))=ReducedMean(CrossEntropy(sigmoid(Ψ1(Θ(x(i)))loc),mloc (i))));
losscla(x(i))=-y(i)logΨ2(Θ(x(i)))-(1-y(i))log(1-Ψ2(Θ(x(i))));
其中,loss表示损失函数;lossseg(x(i))表示第一分割损失函数;lossloc(x(i))表示第二分割损失函数;losscla(x(i))表示分类损失函数;γ表示正则化参数;x(i)表示第i个产品图像样本;m(i)表示第i个产品图像样本的真实掩膜图像;y(i)表示第i个产品图像样本的类别标签;Θ(x(i))表示第i个产品图像样本的特征图;Ψ1(Θ(x(i)))表示第i个产品图像样本的预测掩膜图像;Ψ2(Θ(x(i)))表示第i个产品图像样本的预测概率;Ψ1(Θ(x(i)))loc表示第i个产品图像样本的预测掩膜图像的瑕疵区域;mloc (i)表示第i个产品图像样本的真实掩膜图像的瑕疵区域;ReducedMean表示平均值运算;CrossEntropy表示交叉熵函数;sigmoid表示激活函数。
第二方面,本发明提供一种产品的瑕疵检测方法,所述方法包括:
获取待检测产品的目标产品图像;
将所述目标产品图像输入神经网络模型,利用所述神经网络模型对所述目标产品图像进行瑕疵检测,得到所述目标产品图像的目标掩膜图像和目标概率,所述目标概率表示所述目标产品图像存在瑕疵区域的概率;
若所述目标概率大于预设的概率阈值,则确定所述待检测产品存在瑕疵,并基于所述目标掩膜图像确定所述待检测产品中瑕疵所在的目标位置;
其中,所述神经网络模型是根据前述实施方式中任一项所述的神经网络模型训练方法得到的。
在可选的实施方式中,所述基于所述目标掩膜图像确定所述待检测产品中瑕疵所在的目标位置的步骤,包括:
获取所述目标掩膜图像中每个像素点的像素值;
获取所述像素值大于预设的像素阈值的每个目标像素点,得到全部目标像素点所构成的目标区域;
将所述待检测产品中与所述目标区域对应的位置作为所述目标位置。
第三方面,本发明提供一种神经网络模型训练装置,所述装置包括:
样本获取模块,用于获取训练集,其中,所述训练集包括多个产品图像样本及其真实掩膜图像和类别标签,所述类别标签表示所述产品图像样本是否存在瑕疵区域;
样本处理模块,用于将所述训练集输入基础神经网络模型,利用所述基础神经网络模型对每个所述产品图像样本进行瑕疵检测,得到每个所述产品图像样本的预测掩膜图像和预测概率,所述预测概率表示所述产品图像样本存在瑕疵区域的概率;
模型训练模块,用于基于每个所述产品图像样本的真实掩膜图像、类别标签、预测掩膜图像和预测概率、以及预设的损失函数,对所述基础神经网络模型进行训练,得到神经网络模型。
第四方面,本发明提供一种产品的瑕疵检测装置,所述装置包括:
图像获取模块,用于获取待检测产品的目标产品图像;
图像处理模块,用于将所述目标产品图像输入神经网络模型,利用所述神经网络模型对所述目标产品图像进行瑕疵检测,得到所述目标产品图像的目标掩膜图像和目标概率,所述目标概率表示所述目标产品图像存在瑕疵区域的概率;
位置确定模块,用于若所述目标概率大于预设的概率阈值,则确定所述待检测产品存在瑕疵,并基于所述目标掩膜图像确定所述待检测产品中瑕疵所在的目标位置;
其中,所述神经网络模型是根据前述实施方式中任一项所述的神经网络模型训练方法得到的。
第五方面,本发明提供一种电子设备,包括处理器和存储器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时,实现前述实施方式中任一项所述的神经网络模型训练方法,或者前述实施方式中任一项所述的产品的瑕疵检测方法。
第六方面,本发明提供一种存储介质,所述存储介质上存储有计算机程序,该计算机程序被处理器执行时,实现前述实施方式中任一项所述的神经网络模型训练方法,或者前述实施方式中任一项所述的产品的瑕疵检测方法。
本发明提供的神经网络模型训练方法、产品的瑕疵检测方法及相关装置,该方法包括:获取训练集,其中,训练集包括多个产品图像样本及其真实掩膜图像和类别标签,类别标签表示产品图像样本是否存在瑕疵区域;然后将训练集输入基础神经网络模型,利用基础神经网络模型对每个产品图像样本进行瑕疵检测,得到每个产品图像样本的预测掩膜图像和预测概率,预测概率表示产品图像样本存在瑕疵区域的概率;最后基于每个产品图像样本的真实掩膜图像、类别标签、预测掩膜图像和预测概率、以及预设的损失函数,对基础神经网络模型进行训练,得到神经网络模型。通过产品图像样本实际的掩膜图像和预测的掩膜图像进行模型训练,以使神经网络模型学习到瑕疵检测功能,并且模型的结构复杂度低可以加速图像处理,从而利用神经网络模型对产品进行瑕疵检测时,可以快速、准确地检测出产品中的瑕疵。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本发明实施例提供的电子设备方框示意图;
图2示出了本发明实施例提供的神经网络模型训练方法的一种流程示意图;
图3示出了本发明实施例提供的神经网络模型训练方法的一个示例图;
图4示出了本发明实施例提供的神经网络模型训练方法的又一个示例图;
图5示出了本发明实施例提供的神经网络模型训练方法的又一个示例图;
图6示出了本发明实施例提供的神经网络模型训练方法的又一个示例图;
图7示出了本发明实施例提供的神经网络模型训练方法的又一个示例图;
图8示出了本发明实施例提供的产品的瑕疵检测方法的一种流程示意图;
图9示出了本发明实施例提供的产品的瑕疵检测方法的一个示例图;
图10示出了本发明实施例提供的产品的瑕疵检测方法的又一个示例图;
图11示出了本发明实施例提供的神经网络模型训练装置的一种功能模块图;
图12示出了本发明实施例提供的产品的瑕疵检测装置的一种功能模块图。
图标:100-电子设备;110-总线;120-处理器;130-存储器;170-通信接口;300-神经网络模型训练装置;310-样本获取模块;330-样本处理模块;350-模型训练模块;400-产品的瑕疵检测装置;410-图像获取模块;430-图像处理模块;450-位置确定模块。
具体实施方式
下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,术语“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
请参照图1,是本发明实施例提供的一种电子设备100的方框示意图。电子设备100包括总线110、处理器120、存储器130和通信接口170。
总线110可以是将上述元件相互连接并在上述元件之间传递通信(例如控制消息)的电路。
处理器120可以通过总线110从上述其它元件(例如存储器130和通信接口170等)接收命令,可以解释接收到的命令,并可以根据所解释的命令来执行计算或数据处理。
处理器120可以是一种集成电路芯片,具有信号处理能力。该处理器120可以是通用处理器,包括图形处理器(Graphics Processing Unit,GPU)、中央处理器(CentralProcessing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
存储器130可以存储从处理器120或其它元件(例如通信接口170等)接收的命令或数据或者由处理器120或其它元件产生的命令或数据。
存储器130可以是但不限于,随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-Only Memory,PROM),可擦除只读存储器(Erasable Programmable Read-Only Memory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-Only Memory,EEPROM)。
通信接口170可用于与其他节点设备进行信令或数据的通信。
可以理解的是,图1所示的结构仅为电子设备100的结构示意图,电子设备100还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。图1中所示的各组件可以采用硬件、软件或其组合实现。
下面将以上述的电子设备100作为执行主体,执行本发明实施例提供的各个方法中的各个步骤,并实现对应技术效果。
请参阅图2,图2是本发明实施例提供的一种神经网络模型训练方法的流程示意图。
步骤S202,获取训练集,其中,训练集包括多个产品图像样本及其真实掩膜图像和类别标签,类别标签表示产品图像样本是否存在瑕疵区域;
在本实施例中,可以采集工业产品在规定条件下的多个图像,并对这些图像进行预处理如进行图像处理和标注,即可以得到每个产品图像样本以及每个产品图像样本的真实掩膜图像和类别标签。
类别标签可以理解为用于表示产品图像样本是否存在瑕疵区域。掩膜图像即Mask图像,可以理解为是通过不同的数值来区分产品图像样本中的不同区域如瑕疵区域和非瑕疵区域。真实掩膜图像用于表示产品图像样本中实际的瑕疵区域和非瑕疵区域。
步骤S204,将训练集输入基础神经网络模型,利用基础神经网络模型对每个产品图像样本进行瑕疵检测,得到每个产品图像样本的预测掩膜图像和预测概率,预测概率表示产品图像样本存在瑕疵区域的概率;
可以理解的是,目前的检测技术中难以处理高分辨率图像,因为大多数已有的方法面向的场景复杂,则网络模型复杂,所以往往会导致处理过程的中间量超过图形处理器GPU的显存容量,进而影响检测效果。
卷积神经网络(Convolutional Neural Networks,CNN)是一种重要的算法,其采用权值共享网络结构,可以减少了权值的数量还可以降低网络模型的复杂度,并且其对平移、比例缩放、倾斜或者其他形式的形变具有高度不变性。因此,本发明实施例是采用卷积神经网络中的DenseNet模型来进行瑕疵检测。即基础神经网络模型可以是DenseNet模型。
在本实施例中,可以将训练集输入基础神经网络模型,并利用基础神经网络模型对每个产品图像样本进行瑕疵检测,以得到每个产品图像样本的预测掩膜图像和预测概率。其中,预测概率可以理解为用于表示产品图像样本存在瑕疵区域的概率。预测掩膜图像可以理解为用于表示产品图像样本中预测的瑕疵区域和非瑕疵区域。
可以理解的是,采用结构较小复杂更低的模型来进行瑕疵检测,可以加速对高分辨率图像处理的速度,进而可以提高瑕疵检测的效率。
步骤S206,基于每个产品图像样本的真实掩膜图像、类别标签、预测掩膜图像和预测概率、以及预设的损失函数,对基础神经网络模型进行训练,得到神经网络模型;
在本实施例中,获得每个产品图像样本的预测掩膜图像和预测概率、可以基于每个产品图像样本的真实掩膜图像、类别标签、预测掩膜图像和预测概率、以及预设的损失函数,对基础神经网络模型进行训练。例如,可以通过Adam或者RMSprop优化算法,采用200张产品图像样本对基础神经网络模型进行迭代训500轮,使其学习瑕疵检测,然后采用另外的129张产品图像样本作为测试集对学习后的基础神经网络模型进行测试,以得到具有瑕疵检测功能的神经网络模型。
可见基于上述步骤,获取训练集,其中,训练集包括多个产品图像样本及其真实掩膜图像和类别标签,类别标签表示产品图像样本是否存在瑕疵区域;然后将训练集输入基础神经网络模型,利用基础神经网络模型对每个产品图像样本进行瑕疵检测,得到每个产品图像样本的预测掩膜图像和预测概率,预测概率表示产品图像样本存在瑕疵区域的概率;最后基于每个产品图像样本的真实掩膜图像、类别标签、预测掩膜图像和预测概率、以及预设的损失函数,对基础神经网络模型进行训练,得到神经网络模型。通过产品图像样本实际的掩膜图像和预测的掩膜图像进行模型训练,以使神经网络模型学习到瑕疵检测功能,并且模型的结构复杂度低可以加速图像处理,从而利用神经网络模型对产品进行瑕疵检测时,可以快速、准确地检测出产品中的瑕疵。
可选地,对于上述步骤S202,本发明实施例提供了一种可能的实现方式。
步骤S202-1,采集多个产品样本的图像,得到多个原始产品图像;
在本实施例中,可以对每个产品样本的表面进行图像采集,得到每个原始产品图像。其中全部产品样本包括没有瑕疵的良品样本,还包括具有瑕疵的次品样本如平面光滑度低或边框整齐度低或工件表面亮度异常等。
步骤S202-3,基于每个原始产品图像,得到每个原始产品图像的真实掩膜图像和类别标签;
在本实施例中,可以对每个原始产品图像进行图像处理和标注,以得到每个原始产品图像的真实掩膜图像和类别标签。
例如,对于良品样本的原始产品图像,其真实掩膜图像为单通道灰度图像且每个像素点的像素值为0,其类别标签为0;对于次品样本的原始产品图像,其真实掩膜图像为单通道灰度图像且非瑕疵区域中像素点的像素值为0和瑕疵区域中像素点的像素值为1,其类别标签为1。应当理解的是,类别标签可以按照实际应用设置,本发明实施例不作限定。
为了便于理解,本发明实施例以产品样本是固定形状的芯片基座为例,提供了几个示例图,请参阅图3至图6。图3和图4分别表示芯片基座是良品样本的原始产品图像及其真实掩膜图像,其真实掩膜图像中全部像素点的像素值都为0,即为黑色。图5和图6分别表示芯片基座是次品样本的原始产品图像及其真实掩膜图像,其真实掩膜图像中非瑕疵区域中像素点的像素值为0即为黑色,瑕疵区域中像素点的像素值为1即为白色。
可以理解为,通过真实掩膜图像和类别标签,可以表示原始产品图像中是否存在瑕疵区域且瑕疵区域所在的位置和形状等信息。
步骤S202-5,对于每个原始产品图像,对原始产品图像及其真实掩膜图像进行相同的数据增强操作,获得原始产品图像对应的多个增强产品图像和每个增强产品图像的真实掩码图像;
在本实施例中,对于每个原始产品图像,可以对原始产品图像和其真实掩膜图像进行相同的数据增强操作,以得到该原始产品图像扩展出来的多个增强产品图像以及每个增强产品图像的真实掩膜图像。
需要说明的是,全部原始产品图像及其真实掩膜图像和增强产品图像及其真实掩膜图像的分辨率应当相同,如分辨率可以是616×618,也可以按照实际应用设置,本发明实施例不作限定。
数据增强操作可以是随机地旋转、平移等操作,也可以是亮度调整操作。需要说明的是,如果对原始产品图像进行了亮度调整操作,为了保证真实掩膜图像能够准确的表示出瑕疵区域和非瑕疵区域,所以不对其真实掩膜图像进行亮度调整操作。
对于旋转操作的旋转角度参数、平移操作的平移参数和亮度调整操作亮度变化参数可以按照实际情况如根据图像采集的控制条件来设置,本发明实施例不作限定。可选地,旋转角度参数可以是设置为左旋或者右旋1度;平移参数可以设置为上下左右四个方向中任意一个方向至多3个像素;亮度变化参数可以设置为0。
可以理解为,通过对多个原始产品图像进行样本增强,可以得到更多的图像样本,可以提高模型训练的鲁棒性。
步骤S202-7,将每个增强产品图像对应的原始产品图像的类别标签,作为每个增强产品图像的类别标签;
步骤S202-9,将每个原始产品图像和每个增强产品图像均作为产品图像样本,得到训练集;
在本实施例中,获得多个增强产品图像,可以通过标注的方式得到每个增强产品图像的类别标签,也可以将该增强产品图像所对应的原始产品图像的类别标签作为其类别标签的方式,来得到每个增强产品图像的类别标签。
将每个原始产品图像和每个增强产品图像均作为产品图像样本,即得到包括每个产品图像样本及其真实掩膜图像和类别标签的训练集。
可选地,对于上述步骤S204,本发明实施例提供了一种可能的实现方式。
步骤S204-1,对于任意一个产品图像样本,利用基础神经网络模型中的主干网络对产品图像样本进行特征提取,得到产品图像样本的特征图;
步骤S204-3,利用基础神经网络模型中的分割网络对产品图像样本的特征图进行分割检测,得到产品图像样本的预测掩膜图像;
步骤S204-5,利用基础神经网络模型中的分类网络对产品图像样本的特征图进行瑕疵识别,得到产品图像样本的预测概率;
步骤S204-7,遍历每个产品图像样本,得到每个产品图像样本的预测掩膜图像和预测概率。
在本实施例中,基础神经网络模型是基于DenseNet模型结构的变形来设计的,其是将底层语义信息通过残差的方式与高级语义信息进行拼接来保留图像细节信息。
基础神经网络模型包括主干网络、分割网络和分类网络。主干网络用于提取出图像中的特征信息,其可以用Θ表示;分割网络用于确定图像中的瑕疵区域,其可以用于Ψ1表示;分类网络用于识别图像中存在瑕疵区域的概率,其可以用Ψ2表示。应当理解的是,神经网络模型与基础神经网络模型仅参数存在差异,两者的结构完全相同。
为了便于理解,本发明实施例提供了基础神经网络模型的结构示意图,请参阅图7,其中Conv表示卷积层、Deconv表示反卷积层、Max-pool、Ave-pool和Global avepool均表示池化层、FC表示全连接层。Conv3×3@64,表示该卷积层的矩阵为3×3且通道数为64。在该模型结构中,除了中间的Ave-pool网络层的stride=2,其会将特征图缩小为原来的1/2以外,其余所有网络层均为“SAME”模式,即保持特征图大小不变;在Deconv网络层特征图大小会被还原与输入图像的大小一致,即变为上一层特征图的2倍。
可以理解的是,每个产品图像样本的预测掩膜图像和预测概率的获得方式类似,为了简要本发明实施例以一个产品图像样本作为示例进行说明。
将产品图像样本输入基础神经网络模型,并利用基础神经网络模型中的主干网络对产品图像样本进行特征提取,即得到产品图像样本的特征图;然后将产品图像样本的特征图分别输入分割网络和分类网络,以分别得到产品图像样本的预测掩膜图像和预测概率;
利用基础神经网络模型中的分割网络对产品图像样本的特征图进行分割检测,即采用反卷积层对缩小的特征图进行上采样,获得与产品图像样本相同大小的单通道图像即得到预测掩膜图像。利用基础神经网络模型中的分类网络对产品图像样本的特征图进行瑕疵识别,以预测产品图像样本存在瑕疵区域的概率即得到预测概率。
对每个产品图像样本,按照上述类似的方式进行处理,可以得到每个产品图像样本的预测掩膜图像和预测概率。
可选地,对于上述步骤S206中预设的损失函数,本发明实施例提供了一种函数形式。
损失函数为:
loss=lossseg(x(i))+lossloc(x(i))+γlosscla(x(i));
lossseg(x(i))=ReducedMean(CrossEntropy(sigmoid(Ψ1(Θ(x(i)))),m(i))));
lossloc(x(i))=ReducedMean(CrossEntropy(sigmoid(Ψ1(Θ(x(i)))loc),mloc (i))));
losscla(x(i))=-y(i)logΨ2(Θ(x(i)))-(1-y(i))log(1-Ψ2(Θ(x(i))));
其中,loss表示损失函数;lossseg(x(i))表示第一分割损失函数;lossloc(x(i))表示第二分割损失函数;losscla(x(i))表示分类损失函数;γ表示正则化参数;x(i)表示第i个产品图像样本;m(i)表示第i个产品图像样本的真实掩膜图像;y(i)表示第i个产品图像样本的类别标签;Θ(x(i))表示第i个产品图像样本的特征图;Ψ1(Θ(x(i)))表示第i个产品图像样本的预测掩膜图像;Ψ2(Θ(x(i)))表示第i个产品图像样本的预测概率;Ψ1(Θ(x(i)))loc表示第i个产品图像样本的预测掩膜图像的瑕疵区域;mloc (i)表示第i个产品图像样本的真实掩膜图像的瑕疵区域;ReducedMean表示平均值运算;CrossEntropy表示交叉熵函数;sigmoid表示激活函数。
在本实施例中,损失函数包括三个部分即第一分割损失函数、第二分割损失函数和分类损失函数。其中,第一分割损失函数和第二分割损失函数均是分割网络的损失函数,第一分割损失函数表示同一产品图像样本的真实掩膜图像和预测掩膜图像的相似程度;第二分割损失函数表示如果产品图像样本的真实掩膜图像存在瑕疵区域,该真实掩膜图像中的瑕疵区域和其在预测掩膜图像中对应区域的相似程度。
第一分割损失函数可以理解为是,通过激活函数对第i个产品图像样本的预测掩膜图像进行处理;然后基于处理后的预测掩膜图像和第i个产品图像样本的真实掩膜图像,确定这两张图像中相同位置的像素点对,并通过交叉熵函数基于每个像素点对中两个像素点的像素值,计算每个像素点对的交叉熵;再计算全部像素点对的交叉熵的平均值。
第二分割损失函数可以理解为是,获取第i个产品图像样本的真实掩膜图像中的瑕疵区域即第一瑕疵区域,以及第i个产品图像样本的预测掩膜图像中与第一瑕疵区域对应的区域即第二瑕疵区域;然后确定这两个瑕疵区域中相同位置的像素点对,并通过交叉熵函数基于每个像素点对中两个像素点的像素值,计算每个像素点对的交叉熵;再计算全部像素点对的交叉熵的平均值。
可选地,基于上述训练得到的神经网络模型,本发明实施例还提供了一种产品的瑕疵检测方法,请参阅图8。
步骤S208,获取待检测产品的目标产品图像;
步骤S210,将目标产品图像输入神经网络模型,利用神经网络模型对目标产品图像进行瑕疵检测,得到目标产品图像的目标掩膜图像和目标概率,目标概率表示目标产品图像存在瑕疵区域的概率;
步骤S212,若目标概率大于预设的概率阈值,则确定待检测产品存在瑕疵,并基于目标掩膜图像确定待检测产品中瑕疵所在的目标位置。
可以理解的是,可以依据经验预先设置的概率阈值。概率阈值的大小可以按照实际应用设置,本发明实施例不作限定。
在本实施例中,可以采集待检测产品表面的图像,得到目标产品图像;然后将目标产品图像输入神经网络模型,并利用神经网络模型对目标产品图像进行瑕疵检测。例如,利用神经网络模型中的主干网络对目标产品图像进行特征提取,得到目标产品图像的特征图即目标特征图;分别利用神经网络模型中的分割网络对目标特征图进行分割检测,和利用神经网络模型中的分类网络对目标特征图进行瑕疵识别,以得到目标产品图像的目标掩膜图像和目标概率。
如果目标概率大于预设的概率阈值,表示分类网络判定目标产品图像中存在瑕疵区域,即确定待检测产品存在瑕疵,那么可以基于目标掩膜图像确定待检测产品中瑕疵所在的目标位置。
可选地,对于上述步骤S212中基于目标掩膜图像确定待检测产品中瑕疵所在的目标位置的过程,本发明实施例提供了一种可能的实现方式。
步骤S212-1,获取目标掩膜图像中每个像素点的像素值;
步骤S212-3,获取像素值大于预设的像素阈值的每个目标像素点,得到全部目标像素点所构成的目标区域;
步骤S212-5,将待检测产品中与目标区域对应的位置作为目标位置。
可以理解的是,可以依据经验预先设置的像素阈值。像素阈值的大小可以按照实际应用设置,本发明实施例不作限定。
在本实施例中,获取目标掩膜图像中每个像素点的像素值,并将每个像素值与像素阈值进行比较,将像素值大于像素阈值的每个像素点均作为目标像素点,并获取全部目标像素点所构成的区域即得到目标区域,然后在待检测产品中确定与目标区域对应的位置,即得到瑕疵所占的目标位置。
可以理解的是,在某些场景下,有可能出现目标概率小于预设的概率阈值,而目标掩膜图像中存在像素值大于预设的像素阈值的目标像素点,可以将这些目标像素点构成的区域作为待定区域,以进一步判断其是否为瑕疵区域。
为了便于理解,本发明实施例提供了一个示例。例如待检测产品是芯片基座A,如图9为芯片基座A的表面图像即目标产品图像,将目标产品图像输入神经网络模型,得到目标概率如76.1%,和目标掩膜图像如图10。
假设目标概率大于预设的概率阈值,则判定待检测产品A存在瑕疵,然后将目标掩膜图像中每个像素点的像素值与预设的像素阈值进行比较,获得像素值大于像素阈值的全部目标像素点,并得到全部目标像素点所围成的目标区域即图10中的白色区域,将芯片基座A中与目标区域对应的位置确定为目标位置,即得到瑕疵所在的位置。
为了执行上述神经网络模型训练方法的各个可能的方式中的相应步骤,下面给出一种神经网络模型训练装置的实现方式。请参阅图11,图11为本发明实施例提供的一种神经网络模型训练装置300的功能模块图。需要说明的是,本实施例所提供的神经网络模型训练装置300,其基本原理及产生的技术效果和上述实施例相同,为简要描述,本实施例部分未提及之处,可参考上述的实施例中相应内容。该神经网络模型训练装置300包括:
样本获取模块310,用于获取训练集,其中,训练集包括多个产品图像样本及其真实掩膜图像和类别标签,类别标签表示产品图像样本是否存在瑕疵区域;
样本处理模块330,用于将训练集输入基础神经网络模型,利用基础神经网络模型对每个产品图像样本进行瑕疵检测,得到每个产品图像样本的预测掩膜图像和预测概率,预测概率表示产品图像样本存在瑕疵区域的概率;
模型训练模块350,用于基于每个产品图像样本的真实掩膜图像、类别标签、预测掩膜图像和预测概率、以及预设的损失函数,对基础神经网络模型进行训练,得到神经网络模型。
可选地,样本获取模块310还用于:采集多个产品样本的图像,得到多个原始产品图像;基于每个原始产品图像,得到每个原始产品图像的真实掩膜图像和类别标签;对于每个原始产品图像,对原始产品图像及其真实掩膜图像进行相同的数据增强操作,获得原始产品图像对应的多个增强产品图像和每个增强产品图像的真实掩码图像;将每个增强产品图像对应的原始产品图像的类别标签,作为每个增强产品图像的类别标签;将每个原始产品图像和每个增强产品图像均作为产品图像样本,得到训练集。
可选地,模型训练模块350还用于:对于任意一个产品图像样本,利用基础神经网络模型中的主干网络对产品图像样本进行特征提取,得到产品图像样本的特征图;利用基础神经网络模型中的分割网络对产品图像样本的特征图进行分割检测,得到产品图像样本的预测掩膜图像;利用基础神经网络模型中的分类网络对产品图像样本的特征图进行瑕疵识别,得到产品图像样本的预测概率;遍历每个产品图像样本,得到每个产品图像样本的预测掩膜图像和预测概率。
可选地,损失函数为:
loss=lossseg(x(i))+lossloc(x(i))+γlosscla(x(i));
lossseg(x(i))=ReducedMean(CrossEntropy(sigmoid(Ψ1(Θ(x(i)))),m(i))));
lossloc(x(i))=ReducedMean(CrossEntropy(sigmoid(Ψ1(Θ(x(i)))loc),mloc (i))));
losscla(x(i))=-y(i)logΨ2(Θ(x(i)))-(1-y(i))log(1-Ψ2(Θ(x(i))));
其中,loss表示损失函数;lossseg(x(i))表示第一分割损失函数;lossloc(x(i))表示第二分割损失函数;losscla(x(i))表示分类损失函数;γ表示正则化参数;x(i)表示第i个产品图像样本;m(i)表示第i个产品图像样本的真实掩膜图像;y(i)表示第i个产品图像样本的类别标签;Θ(x(i))表示第i个产品图像样本的特征图;Ψ1(Θ(x(i)))表示第i个产品图像样本的预测掩膜图像;Ψ2(Θ(x(i)00表示第i个产品图像样本的预测概率;Ψ1(Θ(x(i)))loc表示第i个产品图像样本的预测掩膜图像的瑕疵区域;mloc (i)表示第i个产品图像样本的真实掩膜图像的瑕疵区域;ReducedMean表示平均值运算;CrossEntropy表示交叉熵函数;sigmoid表示激活函数。
为了执行上述产品的瑕疵检测方法的各个可能的方式中的相应步骤,下面给出一种产品的瑕疵检测装置的实现方式。请参阅图12,图12为本发明实施例提供的一种产品的瑕疵检测装置400的功能模块图。需要说明的是,本实施例所提供的产品的瑕疵检测装置400,其基本原理及产生的技术效果和上述实施例相同,为简要描述,本实施例部分未提及之处,可参考上述的实施例中相应内容。该产品的瑕疵检测装置400包括:
图像获取模块410,用于获取待检测产品的目标产品图像;
图像处理模块430,用于将目标产品图像输入神经网络模型,利用神经网络模型对目标产品图像进行瑕疵检测,得到目标产品图像的目标掩膜图像和目标概率,目标概率表示目标产品图像存在瑕疵区域的概率;
位置确定模块450,用于若目标概率大于预设的概率阈值,则确定待检测产品存在瑕疵,并基于目标掩膜图像确定待检测产品中瑕疵所在的目标位置;
其中,神经网络模型是根据本发明实施例揭示的神经网络模型训练方法得到的。
可选地,位置确定模块450,还用于:获取目标掩膜图像中每个像素点的像素值;获取像素值大于预设的像素阈值的每个目标像素点,得到全部目标像素点所构成的目标区域;将待检测产品中与目标区域对应的位置作为目标位置。
本发明实施例还提供了一种电子设备,包括处理器和存储器,存储器存储有计算机程序,处理器执行计算机程序时,实现本发明实施例揭示的神经网络模型训练方法或者产品的瑕疵检测方法。
本发明实施例还提供了一种存储介质,其上存储有计算机程序,该计算机程序被处理器执行时,实现本发明实施例揭示的神经网络模型训练方法或者产品的瑕疵检测方法。
综上所述,本发明提供的神经网络模型训练方法、产品的瑕疵检测方法及相关装置,该方法包括:获取训练集,其中,训练集包括多个产品图像样本及其真实掩膜图像和类别标签,类别标签表示产品图像样本是否存在瑕疵区域;然后将训练集输入基础神经网络模型,利用基础神经网络模型对每个产品图像样本进行瑕疵检测,得到每个产品图像样本的预测掩膜图像和预测概率,预测概率表示产品图像样本存在瑕疵区域的概率;最后基于每个产品图像样本的真实掩膜图像、类别标签、预测掩膜图像和预测概率、以及预设的损失函数,对基础神经网络模型进行训练,得到神经网络模型。相比于现有技术,本发明具有以下有益效果:
第一,本发明中的神经网络模型结构存在分割网络分支和分类网络分支,多任务分支设计能够强化模型训练的效果,引入丰富的数据样本信息,并采用上采样和反卷积形式能记忆产品图像中不变的背景信息。
第二,本发明是可以应用于高分辨率的小瑕疵检测场景,基于DenseNet模型提出的主干网络具有多个残差结构以保留底层的语义信息,模型的深度相对现有公开的检测方法来说较浅,因此可以加速图像处理器GPU对高分辨率图像的处理计算。
第三,本发明提出的损失函数中包括针对小瑕疵特别提出了第二分割损失韩式,能够提高对小瑕疵检测的精度和灵敏度。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种神经网络模型训练方法,其特征在于,所述方法包括:
获取训练集,其中,所述训练集包括多个产品图像样本及其真实掩膜图像和类别标签,所述类别标签表示所述产品图像样本是否存在瑕疵区域;
将所述训练集输入基础神经网络模型,利用所述基础神经网络模型对每个所述产品图像样本进行瑕疵检测,得到每个所述产品图像样本的预测掩膜图像和预测概率,所述预测概率表示所述产品图像样本存在瑕疵区域的概率;
基于每个所述产品图像样本的真实掩膜图像、类别标签、预测掩膜图像和预测概率、以及预设的损失函数,对所述基础神经网络模型进行训练,得到神经网络模型。
2.根据权利要求1所述的方法,其特征在于,所述获取训练集的步骤,包括:
采集多个产品样本的图像,得到多个原始产品图像;
基于每个所述原始产品图像,得到每个所述原始产品图像的真实掩膜图像和类别标签;
对于每个所述原始产品图像,对所述原始产品图像及其真实掩膜图像进行相同的数据增强操作,获得所述原始产品图像对应的多个增强产品图像和每个所述增强产品图像的真实掩码图像;
将每个所述增强产品图像对应的原始产品图像的类别标签,作为每个所述增强产品图像的类别标签;
将每个所述原始产品图像和每个所述增强产品图像均作为所述产品图像样本,得到所述训练集。
3.根据权利要求1所述的方法,其特征在于,所述基础神经网络模型包括主干网络、分割网络和分类网络;
所述利用所述基础神经网络模型对每个所述产品图像样本进行瑕疵检测,得到每个所述产品图像样本的预测掩膜图像和预测概率的步骤,包括:
对于任意一个所述产品图像样本,利用所述基础神经网络模型中的主干网络对所述产品图像样本进行特征提取,得到所述产品图像样本的特征图;
利用所述基础神经网络模型中的分割网络对所述产品图像样本的特征图进行分割检测,得到所述产品图像样本的预测掩膜图像;
利用所述基础神经网络模型中的分类网络对所述产品图像样本的特征图进行瑕疵识别,得到所述产品图像样本的预测概率;
遍历每个所述产品图像样本,得到每个所述产品图像样本的预测掩膜图像和预测概率。
4.根据权利要求1所述的方法,其特征在于,所述损失函数为:
loss=lossseg(x(i))+lossloc(x(i))+γlosscla(x(i));
lossseg(x(i))=ReducedMean(CrossEntropy(sigmoid(Ψ1(Θ(x(i)))),m(i))));
lossloc(x(i))=ReducedMean(CrossEntropy(sigmoid(Ψ1(Θ(x(i)))loc),mloc (i))));
losscla(x(i))=-y(i)logΨ2(Θ(x(i)))-(1-y(i))log(1-Ψ2(Θ(x(i))));
其中,loss表示损失函数;lossseg(x(i))表示第一分割损失函数;lossloc(x(i))表示第二分割损失函数;losscla(x(i))表示分类损失函数;γ表示正则化参数;x(i)表示第i个产品图像样本;m(i)表示第i个产品图像样本的真实掩膜图像;y(i)表示第i个产品图像样本的类别标签;Θ(x(i))表示第i个产品图像样本的特征图;Ψ1(Θ(x(i)))表示第i个产品图像样本的预测掩膜图像;Ψ2(Θ(x(i)))表示第i个产品图像样本的预测概率;Ψ1(Θ(x(i)))loc表示第i个产品图像样本的预测掩膜图像的瑕疵区域;mloc (i)表示第i个产品图像样本的真实掩膜图像的瑕疵区域;ReducedMean表示平均值运算;CrossEntropy表示交叉熵函数;sigmoid表示激活函数。
5.一种产品的瑕疵检测方法,其特征在于,所述方法包括:
获取待检测产品的目标产品图像;
将所述目标产品图像输入神经网络模型,利用所述神经网络模型对所述目标产品图像进行瑕疵检测,得到所述目标产品图像的目标掩膜图像和目标概率,所述目标概率表示所述目标产品图像存在瑕疵区域的概率;
若所述目标概率大于预设的概率阈值,则确定所述待检测产品存在瑕疵,并基于所述目标掩膜图像确定所述待检测产品中瑕疵所在的目标位置;
其中,所述神经网络模型是根据权利要求1至4中任一项所述的神经网络模型训练方法得到的。
6.根据权利要求5所述的方法,其特征在于,所述基于所述目标掩膜图像确定所述待检测产品中瑕疵所在的目标位置的步骤,包括:
获取所述目标掩膜图像中每个像素点的像素值;
获取所述像素值大于预设的像素阈值的每个目标像素点,得到全部目标像素点所构成的目标区域;
将所述待检测产品中与所述目标区域对应的位置作为所述目标位置。
7.一种神经网络模型训练装置,其特征在于,所述装置包括:
样本获取模块,用于获取训练集,其中,所述训练集包括多个产品图像样本及其真实掩膜图像和类别标签,所述类别标签表示所述产品图像样本是否存在瑕疵区域;
样本处理模块,用于将所述训练集输入基础神经网络模型,利用所述基础神经网络模型对每个所述产品图像样本进行瑕疵检测,得到每个所述产品图像样本的预测掩膜图像和预测概率,所述预测概率表示所述产品图像样本存在瑕疵区域的概率;
模型训练模块,用于基于每个所述产品图像样本的真实掩膜图像、类别标签、预测掩膜图像和预测概率、以及预设的损失函数,对所述基础神经网络模型进行训练,得到神经网络模型。
8.一种产品的瑕疵检测装置,其特征在于,所述装置包括:
图像获取模块,用于获取待检测产品的目标产品图像;
图像处理模块,用于将所述目标产品图像输入神经网络模型,利用所述神经网络模型对所述目标产品图像进行瑕疵检测,得到所述目标产品图像的目标掩膜图像和目标概率,所述目标概率表示所述目标产品图像存在瑕疵区域的概率;
位置确定模块,用于若所述目标概率大于预设的概率阈值,则确定所述待检测产品存在瑕疵,并基于所述目标掩膜图像确定所述待检测产品中瑕疵所在的目标位置;
其中,所述神经网络模型是根据权利要求1至4中任一项所述的神经网络模型训练方法得到的。
9.一种电子设备,其特征在于,包括处理器和存储器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时,实现权利要求1至4中任一项所述的神经网络模型训练方法,或者权利要求5和6中任一项所述的产品的瑕疵检测方法。
10.一种存储介质,其特征在于,所述存储介质上存储有计算机程序,该计算机程序被处理器执行时,实现权利要求1至4中任一项所述的神经网络模型训练方法,或者权利要求5和6中任一项所述的产品的瑕疵检测方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311816300.2A CN117809154A (zh) | 2023-12-26 | 2023-12-26 | 神经网络模型训练方法、产品的瑕疵检测方法及相关装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311816300.2A CN117809154A (zh) | 2023-12-26 | 2023-12-26 | 神经网络模型训练方法、产品的瑕疵检测方法及相关装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117809154A true CN117809154A (zh) | 2024-04-02 |
Family
ID=90426362
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311816300.2A Pending CN117809154A (zh) | 2023-12-26 | 2023-12-26 | 神经网络模型训练方法、产品的瑕疵检测方法及相关装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117809154A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118052825A (zh) * | 2024-04-16 | 2024-05-17 | 浙江泰伦绝缘子有限公司 | 一种玻璃绝缘子表面瑕疵检测方法 |
CN118521576A (zh) * | 2024-07-19 | 2024-08-20 | 湖南视比特机器人有限公司 | 工件缺陷检测方法、装置、计算机设备和可读存储介质 |
-
2023
- 2023-12-26 CN CN202311816300.2A patent/CN117809154A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118052825A (zh) * | 2024-04-16 | 2024-05-17 | 浙江泰伦绝缘子有限公司 | 一种玻璃绝缘子表面瑕疵检测方法 |
CN118521576A (zh) * | 2024-07-19 | 2024-08-20 | 湖南视比特机器人有限公司 | 工件缺陷检测方法、装置、计算机设备和可读存储介质 |
CN118521576B (zh) * | 2024-07-19 | 2024-10-18 | 湖南视比特机器人有限公司 | 工件缺陷检测方法、装置、计算机设备和可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111681273B (zh) | 图像分割方法、装置、电子设备及可读存储介质 | |
CN117809154A (zh) | 神经网络模型训练方法、产品的瑕疵检测方法及相关装置 | |
CN111815570A (zh) | 区域入侵检测方法及其相关装置 | |
CN109460787B (zh) | 入侵检测模型建立方法、装置及数据处理设备 | |
KR20200087297A (ko) | 인공신경망 기반의 영상 분할을 이용한 불량 검출 방법 및 불량 검출 장치 | |
CN114742799B (zh) | 基于自监督异构网络的工业场景未知类型缺陷分割方法 | |
CN115272330A (zh) | 基于电池表面图像的缺陷检测方法、系统及相关设备 | |
CN113807378B (zh) | 训练数据增量方法、电子装置与计算机可读记录介质 | |
CN116485779B (zh) | 自适应晶圆缺陷检测方法、装置、电子设备及存储介质 | |
KR102297232B1 (ko) | 형태학적 영상처리를 활용한 이상 탐지 방법 | |
CN115830004A (zh) | 表面缺陷检测方法、装置、计算机设备和存储介质 | |
CN115205655B (zh) | 动态背景下的红外暗弱点目标检测系统及其检测方法 | |
CN111598889A (zh) | 均压环倾斜故障的识别方法、装置、计算机设备 | |
CN113378648A (zh) | 一种人工智能港口码头监控方法 | |
KR20220167824A (ko) | 인공지능 기반의 노이즈 제거에 따른 이미지 구축을 통한 불량 검출 시스템 및 방법 | |
Kadarla et al. | Concrete crack detection from video footage for structural health monitoring | |
CN114841967A (zh) | 异物检测方法、装置、ai服务器、系统及存储介质 | |
CN112614094B (zh) | 基于序列状态编码的绝缘子串异常定位识别方法 | |
CN113808099A (zh) | 一种铝材表面缺陷检测装置与方法 | |
CN116363136B (zh) | 一种机动车部件自动化生产在线筛选方法及系统 | |
CN112164025A (zh) | 螺纹连接件的缺陷检测方法及装置、电子设备和存储介质 | |
CN117132540A (zh) | 一种基于分割模型的pcb电路板缺陷后处理方法 | |
CN117197653A (zh) | 基于深度学习的滑坡灾害识别方法及系统 | |
CN116152191A (zh) | 基于深度学习的显示屏裂纹缺陷检测方法、装置及设备 | |
CN113160217B (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 |