CN114529517B - 基于单样本学习的工业产品缺陷检测方法 - Google Patents
基于单样本学习的工业产品缺陷检测方法 Download PDFInfo
- Publication number
- CN114529517B CN114529517B CN202210068961.0A CN202210068961A CN114529517B CN 114529517 B CN114529517 B CN 114529517B CN 202210068961 A CN202210068961 A CN 202210068961A CN 114529517 B CN114529517 B CN 114529517B
- Authority
- CN
- China
- Prior art keywords
- conv
- layer
- maxpool
- image
- industrial
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; 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/047—Probabilistic or stochastic networks
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
- G06T3/4046—Scaling of whole images or parts thereof, e.g. expanding or contracting using neural networks
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/194—Segmentation; Edge detection involving foreground-background segmentation
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/20076—Probabilistic image processing
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; 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]
-
- 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)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- General Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Molecular Biology (AREA)
- Health & Medical Sciences (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Evolutionary Biology (AREA)
- Probability & Statistics with Applications (AREA)
- Quality & Reliability (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种基于单样本学习的工业产品缺陷检测方法,该方法首次提出了一种基于单样本学习的微调条件网络。在网络中,条件模块保证了网络能够更完整地学习辅助数据集的特征,概率图生成模块提高了检测算法在不同任务之间的可移植性。在只使用一个带注释的样本作为监督的情况下,微调条件网络能够判断缺陷是否存在,并在灰度图像中定位它们。本发明能够准确地检测不同工业产品上不同类型且不同形状的表面缺陷,具有良好的鲁棒性和兼容性。
Description
技术领域
本发明涉及机器视觉和深度学习技术领域,具体涉及一种基于单样本学习的工业产品缺陷检测方法。
背景技术
产品内部或外部的缺陷会降低产品的性能,甚至会对个人的生命财产造成威胁。因此,有必要对产品进行缺陷检测,以防止任何意外的损失。
工业生产线已逐步从劳动密集型向自动化、智能化方向发展。特别是在产品监控过程中,大多数基于机器视觉的自动检测算法已经取代了低效的人工肉眼检测。这些检测算法分为两类:传统方法和深度学习方法。传统方法通过人工来设计特征来匹配特定类型的缺陷,在问题并不太复杂的情况下,传统方法能够很快地给出解决方法。但是人工设计的特征只能应用于特定的对象,难以迁移到其他对象和任务中。深度学习方法能够处理较为复杂的问题,同时不需要人工过多的干预,作为一种有力的工具,可以应用到不同的对象中去而不需要过多的修改。但是深度学习方法需要足够的训练样本进行学习,否则训练结果不够满意。一方面对数据进行标注比较耗费人力和时间,另一方面,在某些场景下,如医学、工业,获取足够的样本是比较困难的。因此研究一个只需使用少量样本训练的网络或者能够利用其他数据集进行训练的网络十分重要。
发明内容
本发明的目的是为了解决现有技术中的上述缺陷,提供一种基于单样本学习的工业产品缺陷检测方法。
本发明的目的可以通过采取如下技术方案达到:
一种基于单样本学习的工业产品缺陷检测方法,所述检测方法包括以下步骤:
S1、搭建微调条件神经网络,所述微调条件神经网络包括条件模块、概率图生成模块以及预测模块,其中,条件模块用于确定输入图像的特征图的缩放倍数,以此来检测不同尺寸的缺陷;所述概率图生成模块用于生成某个像素的特征分别属于前景和背景的概率,辅助预测结果的生成;所述预测模块以概率图生成模块的输出作为输入,输出缺陷的分割结果;
S2、使用公开非工业数据集训练微调条件神经网络;
S3、使用微调条件神经网络分割工业数据集中的缺陷。
进一步地,步骤S1所述条件模块包括特征提取模块和并联的三个分支B1、B2、B3;
其中特征提取模块由Conv(1,64)、Conv(64,64)、Maxpool、Conv(64,128)、Conv(128,128)、Maxpool、Conv(128,256)、Conv(256,512)、Maxpool依次串联组成。特征提取模块用来提取图像的基础特征,提高输入图像的信息维度;
其中,Conv(IC,OC)表示卷积块,IC和OC分别表示输入通道数和输出通道数,每个卷积块包含一个卷积层和一个Relu激活函数层,卷积层的大小为3×3、步长为1,Maxpool表示大小为2×2、步长为2的最大池化层,一个池化层将图像尺寸变为原来的一半,因此图像的缩放比例通过池化层的个数来控制;
分支B1、B2、B3均包括两层结构;分支B1的第一层由Conv(512,512)、Conv(512,512)、Conv(512,512)依次串联组成,第二层包含一个Conv(512,128);分支B2的第一层由Conv(512,512)、Maxpool-M1、Conv(512,512)、Conv(512,512)依次串联组成,其中Maxpool-M1表示第一最大池化层,M1表示第一最大池化层的输出,第二层由Conv(512,128)、Maxpool-M2、Cat(M1,M2)、Conv(512+128,128)依次串联组成,其中,Maxpool-M2表示第二最大池化层,M2表示第二最大池化层的输出,Cat(M1,M2)表示将M1和M2在通道的维度上拼接;分支B3的第一层由Conv(512,512)、Maxpool-M1、Conv(512,512)、Maxpool-M3、Conv(512,512)依次串联组成,第二层由Conv(512,128)、Maxpool-M2、Cat(M1,M2)、Conv(512+128,128)、Maxpool-M4、Cat(M3,M4)、Conv(512+128,128)依次串联组成,其中,Maxpool-M3表示第三最大池化层,M3表示第三最大池化层的输出,Maxpool-M4表示第四最大池化层,M4表示第四最大池化层的输出。从结构上来看,三个分支都有两层,主要为了学习两种维度的特征,同时第一层的中间输出与第二层的中间输出融合,达到一个特征融合的结果。三个分支的主要区别在于最大池化层的个数不一样,而池化层的个数控制着图像的缩放比例,因此B1、B2、B3的缩放比例分别为1、1/2、1/4,不同缩放比例的分支用来提取不同尺寸的特征;
进一步地,记条件模块的输入图像为Iin,其对应的二值掩码图像为Min,所述的条件模块工作过程如下:
Iin输入到所述的特征提取模块,输出记为IF,IF是Iin对应的抽象特征,同时经过了三个池化层,因此IF的尺寸变为原来的1/8;
Min中等于1的点表示前景,等于0的点表示背景。前景区域的最小外接矩形的尺寸记为hf×wf,记l=min(hf,wf),其中min()是最小值函数,如果l/32≥Tl,则选择分支B3,否则继续判断,如果l/16≥Tl,则选择分支B2,否则选择分支B1,其中Tl是事先指定的阈值。特征提取模块中的缩放比例为1/8,而B1、B2、B3的缩放比例分别为1、1/2、1/4,因此Iin经过B1、B2、B3后的缩放比例分别为1/8、1/16、1/32。Min的前景表示需要分割的目标,使用目标的外接矩形的尺寸选择分支,因为图像在缩放的过程会丢失小尺寸的目标,因此需要根据目标的尺寸来确定网络的缩放比例;
IF输入到所选的分支,分支第一层输出记为F1,分支第二层输出记为F2。分支的两层结构是为了得到两种维度的特征,第一层特征是更深层的特征,特征的通道数为512,第二层特征则是较为浅层的特征,特征的通道数为128;
进一步地,所述概率图生成模块中,记支持集图像为IS,对应的二值掩码为MS,查询集图像为IQ,工作过程如下:
利用MS选择一个分支,IS经过所选分支的第一层的输出记为FS1,FS1的尺寸为hS×wS,通道数为fS,FS1(i,j)表示FS1中第i行第j列的向量,其中i∈[0,1,2,...,hS],j∈[0,1,2,...,wS];
IQ缩放与IS相同的尺寸,再经过所选分支的第一层的输出记为FQ1,FQ1(i,j)表示FQ1中第i行第j列的向量,第二层的输出记为FQ2;
MS缩放尺寸成hS×wS,MS(i,j)表示MS中第i行第j列的值,如果MS(i,j)为1,则将向量FS1(i,j)加入集合SF,如果MS(i,j)为0,则将向量FS1(i,j)加入集合SB。SF为前景向量集合,SB为背景向量集合,分别包含了各自区域的高维度特征,这里是对向量FS1(i,j)进行归类;
对于所有FQ1(i,j),概率图生成模块计算FQ1(i,j)与集合SF中每个向量的欧式距离,取其中的最小距离作为结果,记为DF(i,j)。向量之间的欧式距离用来表示两个向量的相似度,距离越小,相似度越高。即若是FQ1(i,j)与前景向量非常相似,那么点(i,j)也属于前景区域的可能性就高。使用指数函数将结果限制在0-1之间,即其中GF为拉伸系数,PF(i,j)是概率图PF第i行第j列的值。由于向量之间的欧式距离的变化范围比较大,若是距离相差太小,可能无法区分该向量属于前还是背景,因此需要对距离值进行拉伸,一方面使得较大的距离值限制在0-1之中,另一方面使得较小的距离值差距增大,增加区分性;
对于所有FQ1(i,j),概率图生成模块计算FQ1(i,j)与集合SB中每个向量的欧式距离,取其中的最小距离作为结果,记为DB(i,j),使用指数函数将结果限制在0-1之间,即其中GB为拉伸系数,PB(i,j)是概率图PB第i行第j列的值;
记IS的尺寸为H×W,将PF、PB、FQ2在通道维度上进行拼接,再缩放到H×W,结果记为Fout。PF、PB是由分支第一层输出的高维特征FS1和FQ1计算得到的,分别表示查询集图像每个像素属于前景和背景的概率,配合分支第二层输出的低维特征FQ2,Fout融合了不同维度的信息;
进一步地,所述的预测模块的工作过程如下:
预测模块以概率图生成模块的输出Fout作为输入,由Conv(128+2,128),Conv(128,128),Conv(128,2)串联而成,最后接argmax()函数得到二值预测图MP,其中argmax()函数返回最大值的索引值;
进一步地,所述步骤S2中使用公开的非工业数据集训练微调条件神经网络的过程如下:
S2.1、选择数据集中的一类图像;
S2.2、随机抽取一个支持集图像IS和查询集图像IQ,其中,支持集图像IS对应的二值掩码为MS,查询集图像IQ对应的二值掩码为MQ,将IS、MS和IQ输入微调条件神经网络,输出IQ的预测结果MP;
S2.3、使用交叉熵损失函数计算MQ与MP之间的损失,其中交叉熵损失函数如下:
其中y′k是MP的第k个值,yk是MQ的第k个值,N=H×W,lCE为损失值,log()是以2为底数的对数函数;
S2.4、使用Adam优化算法更新微调条件神经网络的参数;Adam算法,即一种对随机目标函数执行一阶梯度优化的算法,该算法基于适应性低阶矩估计。Adam算法很容易实现,并且有很高的计算效率和较低的内存需求。Adam算法梯度的对角缩放具有不变性,超参数可以很直观地解释;
S2.5、重复步骤S2.2~S2.4共Ni次,其中Ni为迭代周期数;
S2.6、重复步骤S2.1~S2.5共NC次,其中NC为类别数;
进一步地,公开的非工业数据集来自公开数据集PASCAL VOC 2012,至少包含20类自然图像。
进一步地,所述步骤S3使用微调条件神经网络分割工业数据集中的缺陷过程如下:
S3.1、选择一类工业缺陷数据集;
S3.2、选择其中一张图像作为支持集图像IS,支持集图像对应的掩码由人工标注,记为MS,剩余图像作为查询集图像;
S3.3、选择一张查询集图像IQ,将IS,MS和IQ输入到微调条件神经网络,输出查询集图像的缺陷分割结果;
S3.4、重复步骤S3.3,输出所有查询集图像的分割结果;
S3.5、重复步骤S3.1~S3.4共NI次,输出所有类别的工业图像分割结果,其中NI表示工业图像的类别数。
进一步地,工业缺陷数据集包含太阳能电池背面电极数据集、锂电池表面缺陷数据集和轨道钢表面缺陷数据集。
本发明相对于现有技术具有如下的优点及效果:
(1)本发明提出的微调条件神经网络使用现有的公开数据集进行训练,省下了数据标注的人力和时间成本。微调条件神经网络能够迁移到其他对象,只需要使用一个带标注的样本,具有通用性。而一般的网络,针对于某个对象,需要足够的该对象的训练样本才能完成任务,同时迁移网络到其他对象时,则需要重新使用新对象的样本来训练网络。因为一般的网络使用图像和标签这两张图像进行训练,网络学习如何输出与标签相同的结果,学习的是一个拟合函数,因此若是改变图像的类别,网络则需要重新学习。而单样本学习网络使用支持集和查询集训练网络,支持集和查询集都包含一个图像和标签,网络学习的是查询集与支持集的相似性函数,根据查询集与支持集的相似之处,来输出查询集的预测结果。因此微调条件神经网络能够迁移到不同的对象而不需要重新训练。由于微调条件神经网络学习的是同一对象的不同图像之间的相似性函数,因此可以使用公开的数据集进行训练,从而节省数据标注的成本。
(2)本发明提出的条件模块根据缺陷的尺寸选择不同缩放比例的分支,获得更符合缺陷尺寸的特征。不同的分支通过包含不同个数的最大池化层来得到不同的缩放比例。根据目标的尺寸来确定网络的缩放比例。而一般的网络则是固定缩放比例,对于小尺寸的目标,缩放次数过多会丢失,对于大尺寸的目标,缩放次数过少则会导致特征的感受野过小,而大尺寸的特征图更消耗计算资源。本发明提出的条件模块则解决了以上问题,自适应地选择网络的缩放比例,适用于不同尺寸的对象。此外,条件模块的分支都是双层结构,第一层通过共享卷积层,获得支持集图像和查询集图像的高维特征,第一层关注两张图像之间的相似度。第二层则是提取查询集图像的自身的特征,更关注自身的特点,既考虑了查询集图像与支持集图像的不同,又考虑了查询集本身的特点;
(3)本发明提出的概率图生成模块,通过计算查询集图像与支持集图像前景和背景向量的相似度,获得查询集图像每个像素属于前景和背景的概率。根据支持集图像对应的掩码将支持集图像分支第一层输出的特征向量分成前景特征向量和背景特征向量。查询集图像经过相同的分支的第一层输出对应的特征向量,计算特征向量与前景向量和背景向量的最短欧式距离,并将距离归一化成概率的范围,最终得到查询集图像每个点属于前景和背景的概率。概率图生成模块引导网络学习查询集和支持集的相似性函数,前景和背景概率图是根据查询集和支持集的相似性得到的初步分割结果。概率图作为一种重要的参考信息,与条件模块第二层的输出特征融合,综合考虑了查询集图像本身的特点以及与支持集图像的区别,最终输出查询集图像的缺陷分割结果。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是本发明公开的一种基于单样本学习的工业产品缺陷检测方法的流程图;
图2是本发明实施例中条件模块的结构图;
图3是本发明实施例中概率图生成模块的结构图;
图4是本发明实施例中微调条件神经网络的结构图;
图5是本发明实施例中不同的方法应用到锂电池表面缺陷检测的结果示意图;
图6是本发明实施例中不同的方法应用到太阳能电池背面电极的分割结果示意图;
图7是本发明实施例中不同的方法应用到轨道钢表面缺陷分割的结果示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
本实施例主要针对工业产品提出了一种基于单样本学习的缺陷检测方法,先搭建微调条件神经网络,然后使用公开的非工业数据集训练网络。训练好的网络能够迁移到工业产品,准备好一张带标注的工业缺陷图像,运行网络得到缺陷检测结果。
图1是本实施例公开的一种基于单样本学习的工业产品缺陷检测方法的流程图,下面通过具体实施例来进行说明。一种基于单样本学习的工业产品缺陷检测方法,具体步骤如下:
S1、搭建微调条件神经网络,所述微调条件神经网络包括条件模块、概率图生成模块以及预测模块,其中,条件模块用于确定输入图像的特征图的缩放倍数,以此来检测不同尺寸的缺陷;所述概率图生成模块用于生成某个像素的特征分别属于前景和背景的概率,辅助预测结果的生成;所述预测模块以概率图生成模块的输出作为输入,输出缺陷的分割结果;
S2、使用公开非工业数据集训练微调条件神经网络;
S3、使用微调条件神经网络分割工业数据集中的缺陷。
本发明提出的一种基于单样本学习的工业产品缺陷检测方法通过以下技术方案进一步实现:
本实施例中,步骤S1所述的条件模块包括特征提取模块和三个分支B1、B2、B3;
特征提取模块由Conv(1,64)、Conv(64,64)、Maxpool、Conv(64,128)、Conv(128,128)、Maxpool、Conv(128,256)、Conv(256,512)、Maxpool依次串联组成。其中,Conv(IC,OC)表示卷积块,IC和OC分别表示输入通道数和输出通道数,每个卷积块包含一个卷积层和一个Relu激活函数层,卷积层的大小为3×3、步长为1,Maxpool表示大小为2×2、步长为2的最大池化层;分支B1、B2、B3均包括两层结构;分支B1的第一层由Conv(512,512)、Conv(512,512)、Conv(512,512)依次串联组成,第二层包含一个Conv(512,128);分支B2的第一层由Conv(512,512)、Maxpool-M1、Conv(512,512)、Conv(512,512)依次串联组成,其中Maxpool-M1表示第一最大池化层,M1表示第一最大池化层的输出,第二层由Conv(512,128)、Maxpool-M2、Cat(M1,M2)、Conv(512+128,128)依次串联组成,其中Maxpool-M2表示第二最大池化层,M2表示第二最大池化层的输出,Cat(M1,M2)表示将M1和M2在通道的维度上拼接;分支B3的第一层由Conv(512,512)、Maxpool-M1、Conv(512,512)、Maxpool-M3、Conv(512,512)依次串联组成,第二层由Conv(512,128)、Maxpool-M2、Cat(M1,M2)、Conv(512+128,128)、Maxpool-M4、Cat(M3,M4)、Conv(512+128,128)依次串联组成,其中,Maxpool-M3表示第三最大池化层,M3表示第三最大池化层的输出,Maxpool-M4表示第四最大池化层,M4表示第四最大池化层的输出。
本实施例中,记条件模块的输入图像为Iin,其对应的二值掩码图像为Min,步骤S1所述的条件模块工作过程如下:
将Iin输入到所述的特征提取模块,输出记为IF;
Min中等于1的点表示前景,等于0的点表示背景。前景区域的最小外接矩形的尺寸记为hf×wf,记l=min(hf,wf),其中min()是最小值函数,如果l/32≥Tl,则选择分支B3,否则继续判断,如果l/16≥Tl,则选择分支B2,否则选择分支B1,其中Tl是事先指定的阈值;
将IF输入到所选的分支。
本实施例中,记支持集图像为IS,对应的二值掩码为MS,查询集图像为IQ,步骤S1所述概率图生成模块的工作过程如下:
利用MS选择一个分支,IS经过所选分支的第一层的输出记为FS1,FS1的尺寸为hS×wS,通道数为fS,FS1(i,j)表示FS1中第i行第j列的向量,其中i∈[0,1,2,...,hS],j∈[0,1,2,...,wS];
IQ缩放与IS相同的尺寸,再经过所选分支的第一层的输出记为FQ1,FQ1(i,j)表示FQ1中第i行第j列的向量,第二层的输出记为FQ2;
MS缩放尺寸成hS×wS,MS(i,j)表示MS中第i行第j列的值,如果MS(i,j)为1,则将向量FS1(i,j)加入集合SF,如果MS(i,j)为0,则将向量FS1(i,j)加入集合SB;
对于所有FQ1(i,j),概率图生成模块计算FQ1(i,j)与集合SF中每个向量的欧式距离,取其中的最小距离作为结果,记为DF(i,j),使用指数函数将结果限制在0-1之间,即其中GF为拉伸系数,PF(i,j)是概率图PF第i行第j列的值;
对于所有FQ1(i,j),概率图生成模块计算FQ1(i,j)与集合SB中每个向量的欧式距离,取其中的最小距离作为结果,记为DB(i,j),使用指数函数将结果限制在0-1之间,即其中GB为拉伸系数,PB(i,j)是概率图PB第i行第j列的值;
记IS的尺寸为H×W,将PF、PB、FQ2在通道维度上进行拼接,再缩放到H×W,结果记为Fout。
本实施例中,步骤S1所述的预测模块的特点和工作工程如下:
预测模块以概率图生成模块的输出Fout作为输入,由Conv(128+2,128),Conv(128,128),Conv(128,2)串联而成,最后接argmax()函数得到二值预测图MP,其中argmax()函数返回最大值的索引值。
本实施例中,所述步骤S2中使用公开的非工业数据集PASCAL VOC 2012训练微调条件神经网络的过程如下:
S2.1、选择数据集中的一类图像;
S2.2、随机抽取一个支持集图像IS和查询集图像IQ,其中,支持集图像IS对应的二值掩码为MS,查询集图像IQ对应的二值掩码为MQ,将IS、MS和IQ输入微调条件神经网络,输出IQ的预测结果MP;
S2.3、使用交叉熵损失函数计算MQ与MP之间的损失,其中交叉熵损失函数如下:其中y′k是MP的第k个值,yk是MQ的第k个值,N=H×W,lCE为损失值,log()是以2为底数的对数函数;
S2.4、使用Adam优化算法更新微调条件神经网络的参数;
S2.5、重复步骤S2.2~S2.4共Ni次,其中Ni为迭代周期数;
S2.6、重复步骤S2.1~S2.5共NC次,其中NC为类别数。
本实施例中,所述步骤S3中使用微调条件神经网络分割工业数据集中的缺陷过程如下:
S3.1、选择一类工业缺陷数据集;
S3.2、选择其中一张图像作为支持集图像IS,支持集图像对应的掩码由人工标注,记为MS,剩余图像作为查询集图像;
S3.3、选择一张查询集图像IQ,将IS,MS和IQ输入到微调条件神经网络,输出查询集图像的缺陷分割结果;
S3.4、重复步骤S3.3,输出所有查询集图像的分割结果;
S3.5、重复步骤S3.1~S3.4共NI次,输出所有类别的工业图像分割结果,其中NI表示工业图像的类别数。
在本实施例中,数据集为锂电池,锂电池表面含有气泡缺陷。每个样本均包含一个或零个气泡,样本数量一共为25个。随机抽取一个样本作为支持集图像,剩余图像作为查询集。实施例中,将两种基于少样本学习的方法与本发明提出的方法进行了比较,所有方法都使用相同的训练集和测试集,以及支持集和查询集。用来对比的两种方法分别是SGOne,PFENet,本发明提出的方法记为FTCNet。图5展示了6个锂电池样本,第一行图像为查询集图像,第二行图像为缺陷的标注,第三行图像为方法SGOne的检测结果,第四行图像为方法PFENet的检测结果,第五行图像为方法FTCNet的检测结果,不同方法测量结果如下表1所示:
表1.不同方法应用于锂电池表面缺陷检测结果
其中mIOU是所有测试样本的平均IOU,mFPR是所有测试样本的平均FPR,其中IOU=TP/(TP+FP+FN),FPR=FP/(FP+FN),其中,TP表示缺陷像素预测为缺陷像素的个数,FP表示非缺陷像素预测为缺陷像素的个数,FN表示非缺陷像素预测为缺陷像素的个数。mIOU数值越高,表示缺陷的检测精度越高,mFPR数值越小,表示误检测越少。从表1的结果可以看出,本发明提出的方法FTCNet取得了最高的mIOU和最低的mFPR,即取得了最优的分割性能,能够完成锂电池表面缺陷检测任务。
实施例二
在本实施例中,数据集为太阳能电池背面电极,背面电极的可能漏印或者不完全印导致电极形状变化,从而产生形状缺陷,因此需要分割电极来评估其形状。数据集包含100个样本,随机抽取一个样本作为支持集图像,剩余图像作为查询集。每张图像中最多只包含一个电极。实施例中,将两种基于少样本学习的方法与本发明提出的方法进行了比较,所有方法都使用相同的训练集和测试集,以及支持集和查询集。用来对比的两种方法分别是SGOne,PFENet,本发明提出的方法记为FTCNet。图6展示了6个太阳能电池背面电极样本,第一列图像为查询集图像,第二列图像为缺陷的标注,第三列图像为方法SGOne的检测结果,第四列图像为方法PFENet的检测结果,第五列图像为方法FTCNet的检测结果,不同方法测量结果如下表2所示:
表2.不同方法应用于太阳能电池背面电极分割结果
从表2的实验结果可以得到,本发明提出的方法FTCNet,获得了最高的mIOU和最低的mFPR,比其他方法有着更优秀的分割性能,能够完成太阳能电池背面电极的分割。
实施例三
在本实施例中,数据集为轨道钢表面缺陷,轨道钢表面存在黑色的腐蚀缺陷,缺陷的形状和个数都不确定。数据集包含20个样本,随机抽取一个样本作为支持集图像,剩余图像作为查询集。实施例中,将两种基于少样本学习的方法与本发明提出的方法进行了比较,所有方法都使用相同的训练集和测试集,以及支持集和查询集。用来对比的两种方法分别是SGOne,PFENet,本发明提出的方法记为FTCNet。图7展示了8个轨道钢表面缺陷样本,第一行图像为查询集图像,第二行图像为缺陷的标注,第三行图像分别为方法SGOne,PFENet,FTCNet的检测结果,第四行图像为查询集图像,第五行图像为缺陷的标注,第六行图像分别为方法SGOne,PFENet,FTCNet的检测结果,不同方法测量结果如下表3所示:
表3.不同方法应用于轨道钢表面缺陷分割结果
从表3的实验结果可以得到,本发明提出的方法FTCNet,获得了最高的mIOU和最低的mFPR,比其他方法有着更优秀的分割性能,能够完成太阳能电池背面电极的分割。
综上所述,对于不容易获得足够训练样本的工业产品,利用已有的公开非工业数据集,训练了一个能够检测工业产品缺陷的网络。一方面利用了已有的数据集,从而省去了标注样本的工作;另一方面,使用一个目标对象的标注样本,就能使网络的预测能力迁移到目标对象,如本发明中则使用了一般自然对象如猫、狗、家具的数据集训练网络,然后使用一张锂电池的标注样本,使得网络能够检测锂电池的表面缺陷。此外,本发明提出的条件模块,根据目标对象的尺寸,自动地选择图像的缩放比例,因而能够检测不同尺寸的对象。本发明提出的概率图生成模块,根据标注样本的前景和背景的特征,计算测试图像中某个像素属于前景和背景的概率,帮助网络区分前景和背景。
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。
Claims (5)
1.一种基于单样本学习的工业产品缺陷检测方法,其特征在于,所述检测方法包括以下步骤:
S1、搭建微调条件神经网络,所述微调条件神经网络包括条件模块、概率图生成模块以及预测模块,其中,条件模块用于确定输入图像的特征图的缩放倍数,以此来检测不同尺寸的缺陷;所述概率图生成模块用于生成某个像素的特征分别属于前景和背景的概率,辅助预测结果的生成;所述预测模块以概率图生成模块的输出作为输入,输出缺陷的分割结果;
S2、使用公开非工业数据集训练微调条件神经网络;
S3、使用微调条件神经网络分割工业数据集中的缺陷;
其中,所述条件模块包括特征提取模块和并联的三个分支B1、B2、B3;
特征提取模块由Conv(1,64)、Conv(64,64)、Maxpool、Conv(64,128)、Conv(128,128)、Maxpool、Conv(128,256)、Conv(256,512)、Maxpool依次串联组成;
其中,Conv(IC,OC)表示卷积块,IC和OC分别表示输入通道数和输出通道数,每个卷积块包含一个卷积层和一个Relu激活函数层,卷积层的大小为3×3、步长为1,Maxpool表示大小为2×2、步长为2的最大池化层;
分支B1、B2、B3均包括两层结构;分支B1的第一层由Conv(512,512)、Conv(512,512)、Conv(512,512)依次串联组成,第二层包含一个Conv(512,128);分支B2的第一层由Conv(512,512)、Maxpool-M1、Conv(512,512)、Conv(512,512)依次串联组成,其中Maxpool-M1表示第一最大池化层,M1表示第一最大池化层的输出,第二层由Conv(512,128)、Maxpool-M2、Cat(M1,M2)、Conv(512+128,128)依次串联组成,其中,Maxpool-M2表示第二最大池化层,M2表示第二最大池化层的输出,Cat(M1,M2)表示将M1和M2在通道的维度上拼接;分支B3的第一层由Conv(512,512)、Maxpool-M1、Conv(512,512)、Maxpool-M3、Conv(512,512)依次串联组成,第二层由Conv(512,128)、Maxpool-M2、Cat(M1,M2)、Conv(512+128,128)、Maxpool-M4、Cat(M3,M4)、Conv(512+128,128)依次串联组成,其中,Maxpool-M3表示第三最大池化层,M3表示第三最大池化层的输出,Maxpool-M4表示第四最大池化层,M4表示第四最大池化层的输出;
记条件模块的输入图像为Iin,其对应的二值掩码图像为Min,所述条件模块工作过程如下:
Iin输入到特征提取模块,输出记为IF;
Min中等于1的点表示前景,等于0的点表示背景,前景区域的最小外接矩形的尺寸记为hf×wf,记l=min(hf,wf),其中min()是最小值函数,如果l/32≥Tl,则选择分支B3,否则继续判断,如果l/16≥Tl,则选择分支B2,否则选择分支B1,其中Tl是事先指定的阈值;
将IF输入到所选分支,分支第一层输出记为F1,分支第二层输出记为F2;
所述概率图生成模块中,记支持集图像为IS,对应的二值掩码为MS,查询集图像为IQ,工作过程如下:
利用MS选择一个分支,IS经过所选分支的第一层的输出记为FS1,FS1的尺寸为hS×wS,通道数为fS,FS1(i,j)表示FS1中第i行第j列的向量,其中i∈[0,1,2,...,hS],j∈[0,1,2,...,wS];
IQ缩放与IS相同的尺寸,再经过所选分支的第一层的输出记为FQ1,FQ1(i,j)表示FQ1中第i行第j列的向量,第二层的输出记为FQ2;
MS缩放尺寸成hS×wS,MS(i,j)表示MS中第i行第j列的值,如果MS(i,j)为1,则将向量FS1(i,j)加入集合SF,如果MS(i,j)为0,则将向量FS1(i,j)加入集合SB;
对于所有FQ1(i,j),概率图生成模块计算FQ1(i,j)与集合SF中每个向量的欧式距离,取其中的最小距离作为结果,记为DF(i,j),使用指数函数将结果限制在0-1之间,即其中GF为拉伸系数,PF(i,j)是概率图PF第i行第j列的值;
对于所有FQ1(i,j),概率图生成模块计算FQ1(i,j)与集合SB中每个向量的欧式距离,取其中的最小距离作为结果,记为DB(i,j),使用指数函数将结果限制在0-1之间,即其中GB为拉伸系数,PB(i,j)是概率图PB第i行第j列的值;
记IS的尺寸为H×W,将PF、PB、FQ2在通道维度上进行拼接,再缩放到H×W,结果记为Fout;
所述预测模块的工作过程如下:
预测模块以概率图生成模块的输出Fout作为输入,由Conv(128+2,128),Conv(128,128),Conv(128,2)串联而成,最后接argmax()函数得到二值预测图MP,其中argmax()函数返回最大值的索引值。
2.根据权利要求1所述的一种基于单样本学习的工业产品缺陷检测方法,其特征在于,所述步骤S2中使用公开的非工业数据集训练微调条件神经网络的过程如下:
S2.1、选择数据集中的一类图像;
S2.2、随机抽取一个支持集图像IS和查询集图像IQ,其中,支持集图像IS对应的二值掩码为MS,查询集图像IQ对应的二值掩码为MQ,将IS、MS和IQ输入微调条件神经网络,输出IQ的预测结果MP;
S2.3、使用交叉熵损失函数计算MQ与MP之间的损失,其中交叉熵损失函数如下:
其中yk′是MP的第k个值,yk是MQ的第k个值,N=H×W,lCE为损失值,log()表示以2为底数的对数函数;
S2.4、使用Adam优化算法更新微调条件神经网络的参数;
S2.5、重复步骤S2.2~S2.4共Ni次,其中Ni为迭代周期数;
S2.6、重复步骤S2.1~S2.5共NC次,其中NC为类别数。
3.根据权利要求2所述的一种基于单样本学习的工业产品缺陷检测方法,其特征在于,公开的非工业数据集来自公开数据集PASCAL VOC 2012,包含至少20类自然图像。
4.根据权利要求1所述的一种基于单样本学习的工业产品缺陷检测方法,其特征在于,所述步骤S3使用微调条件神经网络分割工业数据集中的缺陷的过程如下:
S3.1、选择一类工业缺陷数据集;
S3.2、选择其中一张图像作为支持集图像IS,支持集图像对应的掩码由人工标注,记为MS,剩余图像作为查询集图像;
S3.3、选择一张查询集图像IQ,将IS,MS和IQ输入到微调条件神经网络,输出查询集图像的缺陷分割结果;
S3.4、重复步骤S3.3,输出所有查询集图像的分割结果;
S3.5、重复步骤S3.1~S3.4共NI次,输出所有类别的工业图像分割结果,其中NI表示工业图像的类别数。
5.根据权利要求4所述的一种基于单样本学习的工业产品缺陷检测方法,其特征在于,所述工业缺陷数据集包括太阳能电池背面电极数据集、锂电池表面缺陷数据集和轨道钢表面缺陷数据集。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202210068961.0A CN114529517B (zh) | 2022-01-17 | 2022-01-17 | 基于单样本学习的工业产品缺陷检测方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202210068961.0A CN114529517B (zh) | 2022-01-17 | 2022-01-17 | 基于单样本学习的工业产品缺陷检测方法 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN114529517A CN114529517A (zh) | 2022-05-24 |
| CN114529517B true CN114529517B (zh) | 2024-08-09 |
Family
ID=81621807
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202210068961.0A Active CN114529517B (zh) | 2022-01-17 | 2022-01-17 | 基于单样本学习的工业产品缺陷检测方法 |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN114529517B (zh) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN115131558B (zh) * | 2022-06-10 | 2024-05-14 | 华南理工大学 | 一种少样本环境下的语义分割方法 |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN113392855A (zh) * | 2021-07-12 | 2021-09-14 | 昆明理工大学 | 一种基于注意力和对比学习的小样本目标检测方法 |
| CN113657517A (zh) * | 2021-08-21 | 2021-11-16 | 浙江捷瑞电力科技有限公司 | 一种基于注意力机制和度量学习少样本电力缺陷检测方法 |
-
2022
- 2022-01-17 CN CN202210068961.0A patent/CN114529517B/zh active Active
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN113392855A (zh) * | 2021-07-12 | 2021-09-14 | 昆明理工大学 | 一种基于注意力和对比学习的小样本目标检测方法 |
| CN113657517A (zh) * | 2021-08-21 | 2021-11-16 | 浙江捷瑞电力科技有限公司 | 一种基于注意力机制和度量学习少样本电力缺陷检测方法 |
Also Published As
| Publication number | Publication date |
|---|---|
| CN114529517A (zh) | 2022-05-24 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN111709909B (zh) | 基于深度学习的通用印刷缺陷检测方法及其模型 | |
| CN112966691B (zh) | 基于语义分割的多尺度文本检测方法、装置及电子设备 | |
| CN108960245B (zh) | 轮胎模具字符的检测与识别方法、装置、设备及存储介质 | |
| CN108918536B (zh) | 轮胎模具表面字符缺陷检测方法、装置、设备及存储介质 | |
| CN108830285B (zh) | 一种基于Faster-RCNN的加强学习的目标检测方法 | |
| CN115147418B (zh) | 缺陷检测模型的压缩训练方法和装置 | |
| CN112347284B (zh) | 一种组合商标图像检索方法 | |
| CN112381788A (zh) | 一种基于双分支匹配网络的零部件表面缺陷增量检测方法 | |
| CN108388656B (zh) | 一种基于标记相关性的图片搜索方法 | |
| CN113487610B (zh) | 疱疹图像识别方法、装置、计算机设备和存储介质 | |
| CN114187272A (zh) | 一种基于深度学习的工业零件表面缺陷检测方法 | |
| CN109165658B (zh) | 一种基于Faster-RCNN的强负样本水下目标检测方法 | |
| CN113869418B (zh) | 一种基于全局注意力关系网络的小样本船舶目标识别方法 | |
| CN116071389B (zh) | 一种基于前背景匹配的边界框弱监督图像分割方法 | |
| CN117829243A (zh) | 模型训练方法、目标检测方法、装置、电子设备及介质 | |
| CN113723558A (zh) | 基于注意力机制的遥感图像小样本舰船检测方法 | |
| CN114219753A (zh) | 一种基于深度学习的电力设备表面缺陷检测方法及终端 | |
| CN116402763B (zh) | 一种引入注意力机制的YOLOv7热轧带钢表面缺陷检测方法 | |
| CN111461010B (zh) | 一种基于模板跟踪的电力设备识别效率优化方法 | |
| CN114529517B (zh) | 基于单样本学习的工业产品缺陷检测方法 | |
| CN113177511A (zh) | 基于多数据流的旋转边框智能感知目标检测方法 | |
| CN107657276B (zh) | 一种基于寻找语义类簇的弱监督语义分割方法 | |
| CN118628477B (zh) | 一种工业质检方法及装置 | |
| CN109543571B (zh) | 一种面向复杂产品异形加工特征的智能识别与检索方法 | |
| WO2020119624A1 (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 |