一种基于图像重建的无监督缺陷检测方法
- 国知局
- 2024-07-31 23:09:33
本发明涉及一种缺陷检测方法,具体涉及一种基于图像重建的无监督缺陷检测方法。
背景技术:
1、在现有传统方法主要根据已知缺陷特点,采用图像处理技术进行缺陷检测,例如,有的缺陷区域像素值明显高于正常区域,因此可以利用阈值分析实现缺陷检测。但是由于缺陷的多样性和未知性,针对不同缺陷类型往往需要不同的检测方法,并且可能无法适用于新的缺陷,还可能需要复杂的后处理过程。随着深度学习的应用,当缺陷类型已知并且有大量标记样本时,采用有监督的深度学习模型可以有效检测缺陷。一些研究人员基于u-net网络设计模型,通过多尺度特征融合来提高检测的准确性。然而这些模型的训练通常需要大量的标注数据,这在实际中很难获得。
2、因此无监督的缺陷检测方法引起了广泛重视,仅需要易于获取的正常样本用于模型训练,无需使用真实缺陷样本即可实现缺陷检测,此类方法的核心思想是重建出一个与原始图像最相似的图像与之比较,根据两者的差异性实现缺陷的检测。一些研究人员采用图像重建的方法,如基于ae利用编码器-解码器重建图,根据输入图像与重建图像的重建误差即可实现缺陷定位。但这类方法存在重建质量差的情形,对于缺陷图像会导致正常区域重建效果不好,容易造成正常像素点的误检。另有一些研究人员在编码器后引入memory存储正常图像特征,测试时根据相似度取出memory中的特征进行重建。这类方法是通过记忆正常图像的特征进行重建,占用大量内存,且没有利用结构信息和图像纹理等信息之间的关联,重建效果难以把握。
3、综上所述,现有技术存在的问题是:传统方法需要根据已知的缺陷特点,设计对应的缺陷检测方法,只能解决种类有限的缺陷,无法解决新型缺陷。有监督的深度学习通常需要大量的标注数据,但在实际情况中,由于生产过程严格把控次品率,大部分样本为正常样本,只有少量为缺陷样本,而具有精确标注的缺陷样本更加稀少。基于图像重建的无监督方法,其重建效果难以把握,往往重建效果过好或者过差。以往引入memory的方法,忽略了结构和纹理之间的关联且耗费内存,易导致缺陷的漏检或误检。
技术实现思路
1、本发明的目的是提供一种基于图像重建的无监督缺陷检测方法,解决了现有技术无法精准检测缺陷,并定位出缺陷的位置,采用一个双分支编码器-解码器结构,利用正常图像和异常图像结构上的差异,分别对图像和结构信息进行编码,共用一个解码器重建图像,该方法对于正常图像和异常图像结构上存在明显缺陷的识别有很好的效果。
2、为了达到上述目的,本发明提供了一种基于图像重建的无监督缺陷检测方法,该方法包含:
3、(s100)本发明将正常图像数据的不同结构特征存储到记忆模块的不同项中,通过计算结构特征和每个记忆项之间的相似度,通过权重平均得到最终的结构特征;
4、(s200)本发明使用结构相似性ssim衡量两幅图像相似度;
5、(s300)本发明采用双分支编码器-解码器得到重建图像;
6、其中,所述双分支编码器中的一个编码器是对正常输入图像提取特征称为图像编码器,另一个编码器是对正常输入图像的边缘结构提取特征称为结构编码器,
7、所述图像编码器、所述结构编码器和所述解码器均采用u-net网络架构中的形式。
8、优选地,在步骤(s300)中,本发明采用scikit-image库中用于执行canny边缘检测的函数提取输入图像的边缘结构将其输入到结构编码器,将原始图像输入到图像编码器(图像编码器中有3层的编码特征,桥连接就是通道维度的拼接,在unet一般称为“桥”),将结构编码器经过编码得到的特征作为查询项,输入到记忆模块中进行检索得到结构特征和图像编码器的图像特征在通道维度进行拼接融合,共同输入到解码器中得到重建图像。图像编码器的通道变化如下:c3->c64->c128->c256,结构编码器的通道变化如下:c1->c64->c128->c256,解码器的通道变化如下:c512->c256->c128->c64->c3。其中c3表示卷积核通道数量为3,其余值含义类似。这里的通道数变化仅写到256,是为了减少模型的参数数量和计算复杂度,而且经实验发现更多的通道数并没有带来性能的显著提升。
9、优选地,进行解码重建时,本发明只用到了图像编码器中最后一层的编码特征,对于结构编码器中的结构信息,还使用了“桥”连接在通道维度进行融合,每一层上采样对应加入结构编码器中的特征进行拼接融合得到丰富的结构特征,为了避免图像在缺陷区域也重建过好,这里不对图像编码器的每一层特征也拼接加入;对重构后的图像,本发明再次经过scikit-image库执行canny边缘检测提取结构,通过对重建图像的结构和原图像结构计算l1范数,同时约束图像重构误差和结构误差。
10、优选地,在步骤(s200)中,所述结构相似性ssim考虑了输入图像和重构图像局部像素区域的相关性,在对亮度、对比度、结构上共同评估差异性,得到缺陷分割结果;
11、所述结构相似性ssim定义了两个k×k大小的图像p和图像q在亮度、对比度和结构上的相似性,在图像质量评估之中,局部求ssim的效果要好于全局,因此这里的k值不取整张图像的大小,可根据实际评估情况更改其值,一般设定值为11的滑动窗口,在实验中本发明取值为11。其具体表示如下:
12、ssim(p,q)=l(p,q)*c(p,q)*s(p,q) (5)
13、
14、
15、
16、将式(6)~式(8)代入式(5),则:
17、
18、式(6)~式(8)中,up和uq分别代表图像p和图像q的均值,σp和σq分别代表图像p和图像q的方差,设置c1=0.01和c2=0.03,ssim(p,q)∈[-1,1]。
19、优选地,所述ssim(p,q)=1时,表示图像p和图像q一样。
20、优选地,在步骤(s100)中,本发明使用的数据集是公开的mvtec ad以及私有的pcb板数据集,其中pcb板数据集是五类不同结构的数据每类数据有50张正常图像,25张异常图像,异常数据仅用于测试;输入数据都是3通道的彩色图像,提取结构信息时,为了避免背景区域的干扰,本发明采用scikit-image库中用于执行canny边缘检测的函数,得到的单通道边缘图像送入结构编码器中得到结构特征,再将其送入记忆模块中进行存储。
21、优选地,本发明的记忆模块包含m项,记录正常图像的结构特征,它可以进行存储和读取信息。
22、优选地,本发明用pm∈rc表示记忆模块中的第m个存储项,其中(m=1,…m),将结构编码器得到的特征作为每个查询项,用qk∈rc表示,其中(k=1,…hxw),h表示图像的高度,w表示图像的宽度,c表示通道数,将qk输入到记忆模块中进行存储或者检索对应的特征;
23、本发明是计算每个查询项qk和记忆模块中所有项pm的余弦相似度,再通过softmax函数得到对应权重,通过和每个记忆项的权重平均得到检索的特征,其中检索过程的权重表示如下:
24、
25、式(1)中wk,m表示第k项查询和记忆模块中第m项的注意力权重,其中(m=1,…m),pmt表示项pm的转置,其中pm维度可表示为mxc,经转置后其维度变为cxm。qk表示计算每个查询项,其中(k=1,…hxw),其维度可表示为hxwxc,经过矩阵相乘得到的维度为hxwxm。
26、最终得到的检索特征表示如下:
27、
28、式(2)中pm∈rc表示记忆模块中的第m个存储项,其中(m=1,…m),wk,m表示第k项查询和记忆模块中第m项的注意力权重;
29、同样的,在更新记忆模块中的项时,采用余弦相似度来计算注意力权重,然后选择最接近的查询项存入记忆模块,这是避免记忆模块中存入的特征过于相似而没有区分性。其中存储过程的权重表示如下:
30、
31、式(3)中vm,k表示记忆模块中第m项和第k个查询项的注意力权重,其中(m=1,…m),qk表示每个查询项,其中(k=1,…hxw),pmt表示项pm的转置,最终更新的表示如下:
32、
33、式(4)中qk表示每个查询项,vm,k表示记忆模块中第m项和第k个查询项的注意力权重。
34、本发明的一种基于图像重建的无监督缺陷检测方法,解决了现有技术无法精准检测缺陷,并定位出缺陷的位置,具有以下优点:
35、1、利用结构信息和图像特征之间的关联进行缺陷检测,本发明引入了一个记忆模块记录图像结构特征,在读取时通过计算相似度进行权重平均检索特征,考虑了图像数据结构的多样性,有助于更全面地捕获图像的特征信息。
36、2、考虑到正常图像和异常图像结构上的差异,为了更好地捕获图像的结构信息和图像特征,本发明提出了双分支编码器结构,分别对图像和边缘结构进行编码,边缘结构额外占据一个编码器分支,可以提取更丰富的结构特征。对重建后的图像再次经过结构提取作为正则化项,同时约束图像重构误差和结构误差。
37、3、采用结构相似性度量重建差异,考虑了局部图像区域结构之间的相关性,从亮度、对比度和结构信息综合评估,而不是简单地比较单个像素值,这种方法可以更准确地反映图像的结构差异,提高缺陷检测的效果;如果没有结构相似性,训练只有重建误差度量函数会导致图像重建过好。
38、4、本发明的方法无监督,memory存储的是结构信息考虑了结构特点,对于背景单一,提取的结构干扰信息较少,结构上存在缺陷的图像具有较好的实验效果。
本文地址:https://www.jishuxx.com/zhuanli/20240730/196138.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。