一种基于少样本学习的多尺度特征匹配印刷缺陷检测方法
未命名
09-13
阅读:111
评论:0

1.本发明属于机器视觉自动化表面缺陷检测技术领域,涉及印刷品表面的质量检测,特别涉及一种基于少样本学习的多尺度特征匹配印刷缺陷检测方法。
背景技术:
2.印刷行业在工业生产中扮演着重要角色,它直接影响人们对产品的首次印象。其中,移印印刷工艺成本低、操作简便,广泛应用于电池、服装等快消品制造中。随着印刷行业的发展,对印刷品表面缺陷检测的要求也日益提高。
3.传统机器视觉依靠人工分析图像特征和使用图像算法提取信息,通常不需大量数据,仅需少量典型照片,人工在此方法中占据主导。如今印刷行业常采用模板匹配法进行缺陷检测。具体流程包括:选择标准图像作为模板,将待测图像与其对齐,进行图像差分及后处理,最终发现缺陷。该方法简单,但需高精度对齐,耗时且易受噪声、光照等环境因素影响,准确率较低。同时,移印工艺导致刷头较软,可能产生轻微扭曲变形,与模板差分后可能残留成分,引发误报,使用传统方法极易降低准确率。
4.利用基于深度学习的方法,能有效解决上述问题。深度学习主要分为有监督学习和无监督学习两种方式。有监督学习通常要求大量标记的不良样本,但在正常工业生产线上,次品率较低,但印刷品外观缺陷种类多样,难以完全收集并检测未知缺陷,因此在表面缺陷检测方面存在限制。与之不同的是,基于无监督学习的方法只需要用易于获取的正常样本进行模型训练,无需真实缺陷样本。该方法不仅能解决有监督学习方法无法发现未知缺陷的问题,和传统方法相比,还具备更强的环境适应能力,同时解决了弹性变换产生误报的困扰。通过采用无监督学习的方法,使得印刷品表面缺陷检测能够取得显著进展。
5.无监督学习大致分为图像重构与特征类相似度方法两种。基于图像重构类的方法仅在正常样本上训练模型。此类方法假设:由于模型的参数仅由正常样本训练得到,模型只能较好地重建正常样本,而在缺陷样本的缺陷区域则会产生较大的重建误差。遇到有缺陷的印刷品表面,缺陷部分图像重构不好,通过图像后处理即可找出缺陷。基于图像重建的方法简单直观。然而,这类方法用于印刷品缺陷检测上存在三个主要问题。首先,存在信息丢失和失真:基于图像重建的方法在压缩或降维的过程中可能会丢失图像中的一些细节和信息,导致重建结果与原始图像之间存在差异或失真。这可能会导致一些正常图像被错误地分类为异常,或者异常图像无法被准确地检测出来。其次,尽管这些模型是基于正常样本训练的,比如自动编码器(ae),但仍有可能推广到缺陷上,甚至退化成恒等映射,即输出和输入趋于一致。这种情况下,模型失去了异常检测的能力。第三,因为工业印刷生产线上往往需要对产品进行一个快速检验,但重构类算法往往需要进行模型训练,需要花费较长时间,计算复杂度高,可能需要较高的计算资源和时间成本。特别是对于大规模图像数据集,计算复杂度可能会成为限制因素,不满足实际工业生产的需求。
技术实现要素:
6.为了克服上述现有技术的缺点,本发明的目的在于提供一种基于少样本学习的多尺度特征匹配印刷缺陷检测方法,以降低检测复杂度并提升检测准确度,通过多尺度的特征提取和特征匹配,该方法能够在不同尺度下更全面地捕捉异常区域,并通过合并结果提高异常检测的准确性和鲁棒性。
7.为了实现上述目的,本发明采用的技术方案是:
8.一种基于少样本学习的多尺度特征匹配印刷缺陷检测方法,其特征在于,包括如下步骤:
9.步骤1,采集正常印刷图像为正样本,通过数据增强进行扩充,得到数据集;
10.步骤2,将数据集中的同一图像调整为两种尺寸s1和s2,实现多尺度尺寸输入,然后分别利用预训练网络提取特征、局部邻域特征聚合、特征降维和多层特征融合,得到特征集合和
11.步骤3,对和分别进行稀疏采样,得到核心集合和
12.步骤4,将待检测图像调整至尺寸s1和s2,并分别利用预训练网络提取特征、局部邻域特征聚合、特征降维和多层特征融合,得到特征集合和
13.步骤5,利用k最近邻检索算法,分别将与与进行特征匹配,并将得到的异常分割结果合并,实现异常检测。
14.与现有技术相比,本发明的有益效果是:
15.1.本发明数据增强模块,仅仅需要少量正样本即可完成训练,大大降低了收集正样本的成本,同时能还够以低成本完成对新任务的模型部署。
16.2.本发明特征提取模块,能在极短的时间内提取到特征信息,同时提取到的特征包含图像的细微变化和全局特征。
17.3.本发明稀疏采样模块,大大地减少了测试数据的推理时间和减少了所需要的储存,并减少冗余信息,从而提高模型的泛化能力和鲁棒性。
18.4.本发明异常检测模块,能将不同尺寸下的异常结果合并,输出总的异常结果。提升了检测的准确率和提升了检测的精度。
附图说明
19.图1为训练阶段流程图。
20.图2为测试阶段流程图。
21.图3为原始图像与随机局部弹性变换生成的照片;其中,(a)为原始输入良好图像,(b)、(c)为随机局部弹性变换生成的照片。
22.图4为resnet模型的基本架构
23.图5为局部邻域特征聚合示意图。
24.图6为局部邻域示意图。
25.图7为高分辨率图像特征提取后的t-sne图。
26.图8为低分辨率图像特征提取后的t-sne图。
27.图9为稀疏采样示意图。
28.图10为小缺陷照片的待测图像和检测结果;其中(a)为待测图像,(b)为检测结果。
29.图11为大缺陷照片的待测图像和检测结果;其中(a)为待测图像,(b)为检测结果。
30.图12为不同尺度缺陷照片的待测图像和检测结果;其中(a)为待测图像,(b)为检测结果。
具体实施方式
31.下面结合附图和实施例详细说明本发明的实施方式。
32.结合前述,本发明考虑使用基于特征相似度的方法进行印刷缺陷检测。首先,基于特征相似度的方法不需要进行图像的重建过程,而是直接比较原始图像的特征向量或特征描述子之间的相似度。这样可以避免图像重建过程中可能引入的信息丢失和失真,造成的误检。同时,基于特征相似度的方法通常不需要使用训练数据集进行模型训练,而用直接预训练好的网络提取特征,在特征空间进行相似度计算。基于特征相似度的方法通常具有较高的计算效率,因为它们不需要进行复杂的矩阵运算或优化过程,可以通过简单的向量操作或距离度量来实现,因此在处理大规模图像数据集时具有较低的计算复杂度,适用于对电池印刷表面缺陷检测进行一个快速检验。最后,相似度计算通常只涉及少量参数或超参数的选择,例如相似度度量方法、相似度阈值等。这些参数的选择相对简单,使用方法更加容易。
33.但特征类相似度算法仍存在很多问题。传统的特征类相似度算法存在多个缺点。首先,在使用预训练的深层特征时,细节信息相对较少,并且在imagenet上学习的高级抽象特征一般如人脸的轮廓、动物的身体部位等,与电池印刷表面相关度不高,导致提取的特征无法很好地反映电池印刷表面的语义信息。倘若当提取预训练的浅层特征时,浅层特征的表达能力较弱,难以捕捉图像的高级语义和复杂特征。此外,这些特征提取方法通常缺乏空间信息,无法准确表示图像局部结构和整体布局,对空间变化鲁棒性不强。最后,提取到的特征集合往往较大,占用大量内存,并且会影响测试速度,限制了算法的实时性能。综上所述,特征相似度算法存在这些缺点,限制了其在电池印刷缺陷检测应用场景下的效果和可行性。
34.此外传统特征类算法,需要大量的正样本作为训练集。然而在现实许多印刷应用场景中,因为拍摄环境制约及拍摄成本高,往往无法拿到足够的样本去训练。因此,设计数据增强模块生成新的训练数据,将其扩充到小样本数据集中十分有必要。不但能大大降低了收集正样本的成本,同时能还够以低成本完成对新任务的模型部署。
35.因此,更进一步地,本发明公开了一种印刷缺陷检测方法,该方法的核心为:利用少量正常印刷图像,通过数据增强以后,提取训练集的特征向量,收集到样本集中。对于待检测的样本,同样提取其特征向量,并计算其与正常训练样本集中k个最接近样本的平均距离。如果某个待检测样本与正常样本集中的样本距离较大,超过了预先设定的阈值,就认为该待检测样本是异常样本,即存在缺陷,以实现印刷缺陷检测。
36.具体而言,本发明首先设计了一种适用于印刷图像的数据增强方案,对少量正样本印刷图像进行数据增强,可以在一定程度上模拟真实场景中的各种变化,增加样本多样性,增强模型的鲁棒性。其次,本发明提出一种新的多尺度的特征匹配方法。通过输入两种不同尺度大小的图像,并经过多层特征融合和特征降维的处理,最终分别提取局部特征和
全局特征。这种结构的设计能够同时捕获图像的全局信息和局部细节,从而得到更全面和准确的特征表示。然后,对提取特征后的训练样本集合进行稀疏采样,通过选择一小部分“核心”数据点来代表整个数据集,减少了测试数据的推理时间和减少了所需要的储存。通过特征匹配,在训练样本集合中找到k个最接近的样本,并计算异常得分,上采样后,完成图像异常分割。最后,将两种不同尺存下的异常检测的结果合并,找出测试图像上的所有尺寸大小的缺陷。
37.本发明的方法能在极短的时间内对印刷产品进行一个快速检验,同时对各种不同大小的缺陷(3*3-100*100像素)均能很好的检测。经实验与工程验证,本发明能有效检测出各类印刷缺陷,且准确率很高,具有广泛的工程应用价值。
38.本发明的方法主要包括数据增强,特征提取,稀疏采样,异常检测四个阶段,其中,训练阶段流程图如图1所示,测试阶段流程图如图2所示。
39.步骤1,数据增强:采集正常印刷图像为正样本,通过数据增强进行扩充,得到数据集。
40.本发明仅采集少量张正样本照片(不超过100张即可满足要求),并通过随机移位、随机旋转、随机光强变化以及随机弹性变换四种数据增强方式,在一定范围内生成新数据,以扩充训练集。通过这些数据增强方法,能够在保持原始训练样本特征的基础上,增加训练数据的多样性和变化程度,从而提高模型的鲁棒性和泛化能力。
41.本次通过收集50张训练样本,通过以下四种数据增强的手段,将训练集扩充到500张,完成本次实验。
42.1.1随机移位
43.在x轴和y轴两个方向上随机生成(-d,d)之间的位移场t∈r2×h×w,t内元素满足:
44.t
x
(x,y)=rand(-d,d),t
x
(x,y)∈rh×w(1)
45.ty(x,y)
×
rand(-d,d),ty(x,y)∈rh×w(2)
46.其中,t
x
(x,y)和ty(x,y)分别表示图像中每个像素在水平和垂直方向上的位移大小,h和w分别代表原始正样本的高度和宽度,d为图像在水平和垂直方向上的最大允许移动范围。
47.1.2随机旋转
48.以图像的中心点作为旋转中心,随机生成一个位于(-θ,θ)之间的旋转角度,其中θ表示最大旋转范围;对于单张正样本中的每个像素点坐标(x,y),经过旋转后对应的坐标为(x
′
,y
′
),旋转前后坐标之间的对应关系如下所示:
[0049][0050]
1.3随机光强
[0051]
随机生成一个(-g,g)之间的灰度值,g表示灰度最大变化的范围,将其加在原图的所有像素点上,随机产生的灰度值满足
[0052]
g=rand(-g,g),g∈c(4)
[0053]
每个像素点改变的灰度值都是一个相同的常数,即整体改变整张图像的亮度,c表示(-g,g)之间的常数。
[0054]
1.4随机局部弹性变换
[0055]
对于输入图像,随机选取原图中任意区域,提取部分图像,对于单张正样本中的每个像素点坐标(x,y),进行随机的弹性变换后得到对应的新坐标(x
″
,y
″
),其中弹性变换的大小由随机生成的偏移量δ1(x,y)和δ2(x,y)控制。具体公式如下:
[0056][0057]
电池印刷表面,因为印刷工艺产生的轻微弹性变换,大致形状为向右弯曲的二次弧线形状。所以设置δ1(x,y)=rand(-l,l),δ2(x,y)=α(y
2-βy),其中l为纵向移动的范围,α为弹性变换的强度参数,控制弹性变换的整体幅度,β控制弹性变换最大横向偏移的位置。
[0058]
图3分别是原始图像和经过随机局部弹性变换数据增强后的局部生成图像(a)、(b)、(c)分别示出了为原始输入良好图像和随机局部弹性变换生成的图像。
[0059]
本步骤通过数据增强对有限数量的正样本印刷图像进行增广,能够模拟真实场景中的多种变化,增加样本的多样性,从而增强模型的鲁棒性。通过这种方式,能够在一定程度上增加数据的变化性,从而提高模型在应对不同情况下的表现能力。
[0060]
步骤2,特征提取:将数据集中的同一图像调整为两种尺寸s1和s2,实现多尺度尺寸输入,然后分别利用预训练网络提取特征、局部邻域特征聚合、特征降维和多层特征融合,得到特征集合和
[0061]
2.1多尺度尺寸输入
[0062]
多尺度尺寸输入可以提供不同层次的特征表达:通过将图像调整到不同大小的尺寸,分别调整到(a1,a1)和(a2,a2),可以在不同的层次上获取特征表示。多尺寸输入能够综合考虑图像的不同层次信息,提供更丰富和多样化的特征表达。
[0063]
较大的尺寸可以使网络关注图像的细微变化和局部特征,从而提高对细小缺陷的感知能力。而较小的尺寸可以提供更广阔的上下文信息,有助于捕捉整体形状和全局特征。通过多尺寸输入,网络可以更全面地表达图像的特征,提升检测和识别任务的性能。
[0064]
经过实验,将一张完整的图像调整到(128,128)输入和将一张照片调整到(768,768)效果最佳。但因为考虑到后期的电脑的内存占用,调整到(768,768)会占据太多的内存,将完整照片分块为3*3的小块,在将每一块调整到(256,256),达到相同的分辨率效果,但同时能显著的降低将计算机的内存占用。
[0065]
2.2预训练网络
[0066]
利用预训练网络的权重参数,从输入图像中提取出中层次的抽象特征,捕捉图像的语义信息。选取中层次下的中层特征,中层特征能在细节信息、抽象语义信息、对imagenet的bias之间获得很好的平衡。
[0067]
用φ
i,j
(h,w)来代表从图像中提取到的特征。其中xi∈x,x是数据集合,是训练集或测试集,xi表示x中的第i个图像,j表示预训练网络的层数,j∈{1,2,3,4},φ表示预训练好的网络。因此φ
i,j
(h,w)表示对xi进行特征提取,在预训练好的网络φ第j层提取坐标为(h,w)的点上的特征。提取后的特征包含三个维度,分别是深度c*,高度h
*
和宽度w
*
,其中(h
*
,w
*
)为提取后特征图的分辨率,预训练网络选用以resnet架构为基础的网络模型作为特征提取器,从图像中提取到的特征φ
i,j
(h,w)表示如下:
[0068][0069]
resnet系列的网络模型,可以轻松地构建非常深的网络,提供更强大的特征表示能力,能够捕捉更复杂和抽象的图像特征。同时它在大规模数据集上进行了预训练(如imagenet),学习到了丰富的图像特征表示。这使得resnet成为一种强大的迁移学习工具,可以将其作为特征提取器应用于其他任务,如目标检测,一些基于resnet的基本网络结构如图4所示。
[0070]
本次实验在resnet-50、wideresnet-50和resnet-101三种常见的卷积神经网络模型中做选择。wideresnet-50相对于resnet-50具有更宽的通道数,因此具有更多的参数和更高的计算复杂度。宽度更宽的网络可以同时学习多个并行的特征表示,每个表示可以捕捉到不同的数据特征,这有助于提高网络的特征表示能力。resnet-101相对于resnet-50来说更深,因此具有更多的参数和更高的计算复杂度,更深的网络结构可以提供更强大的表达能力。深度网络可以利用前面层学到的特征进行特征重用,从而在后续层次上更高效地学习新的特征,这有助于提高网络的泛化能力和学习效率。
[0071]
综上选择,经过实验,考虑到模型的表示能力和特征提取能力,以及计算的复杂度,最终选择了wideresnet-50。
[0072]
2.3局部邻域特征聚合
[0073]
局部领域特征聚合是指对图像的局部区域进行特征提取时考虑周围上下文信息的特征。用于构建每个局部邻域(patch)的特征表示,以增加感受野大小并提高对小空间偏差的鲁棒性,同时不丢失空间分辨率或特征图的可用性。在该方法中,通过对某一点周围的局部邻域特征向量进行聚合来扩展特征表示。使用自适应平均池化作为聚合函数,类似于对每个特征图进行局部平滑操作。这一操作对预训练网络提取后的特征图上所有位置都进行,并保留了特征图的分辨率。局部邻域特征聚合的过程如图5所示。
[0074]
引入符号p表示局部邻域尺寸大小,中心点周围的局部邻域点集表示为:
[0075][0076]
其中,(h,w)为邻域中的中心点坐标,(a,b)为邻域中任意一点的坐标,h∈{1,...,h
*
},w∈{1,...,w
*
}。
[0077]
该公式可以理解为以(h,w)为中心,以p为边长的正方形包围住的点,如图6所示。
[0078]
用f
agg
表示自适应平均池,下式表示对以点(h,w)为中心,进行局部特征聚合,整个操作如下式所示。
[0079][0080]
其中表示对数据集合中第i张照片提取第j层特征。
[0081]
以上操作是对所有的点(h,w)都执行的,因此它保持了原本特征图的分辨率大小。
[0082]
局部特征聚合后的特征集合用下式中的p
s,p
(φ
i,j
)表示,其中s表示原始输入图像的尺寸大小,n是自然整数。
[0083][0084]
对于大尺寸输入图像,使用小的邻域尺寸,在高分辨率尺寸输入下,每个像素点的
信息更加详细,同时小尺寸的patch能更细致地关注图像的局部细节和纹理特征,可以更准确地检测和定位小的缺陷。
[0085]
对于小尺寸输入图像,每个像素点的信息相对较少,通过使用大的邻域尺寸,能够提供更广阔的上下文信息,局部特征能够更好地描述局部区域与其周围环境之间的关系,有助于检测和识别大尺寸的缺陷。
[0086]
这种策略结合了局部感知性和上下文信息,使得模型能够更全面地理解图像的特征和结构,从而实现更准确和细致的缺陷检测。
[0087]
经过实验,最终当尺寸size1=128*128,patch1=3,将照片分为3*3块以后,size2=256*256,patch2=1时,效果最佳。
[0088]
2.4特征降维
[0089]
聚合后的特征进行特征降维。这一步骤旨在减少特征的维度,同时保留最具代表性和区分性的信息。通过特征降维,可以减少存储空间的需求,并且在后续的处理中更高效地处理特征数据。
[0090]
2.5多层特征融合
[0091]
在特征提取的最后一步,进行多层特征融合。这意味着对于每个图像尺寸的输入,将来自不同层次的特征进行组合和整合,以获得更具表达能力和鲁棒性的综合特征表示。通过多层特征融合,可以综合不同层次的抽象特征和局部信息,从而更好地捕捉图像的结构、语义和复杂特征,同时也增强鲁棒性和泛化能力。
[0092]
具体地,将j+1层提取到的特征集合p
s,p
(φ
i,j+1
)通过双线性插值进行上采样,使其与j层提取到的特征集合p
s,p
(φ
i,j
)匹配,完成多层特征融合,将提取到的特征以h
*
*w
*
个特征点的形式存储在特征集合中。
[0093]
最终,训练集在输入尺寸s1的情况下,完成特征提取,得到特征集合训练集在输入尺寸s2的情况下,完成特征提取,得到特征集合测试集在输入尺寸s1的情况下,完成特征提取,得到特征集合训练集在输入尺寸s2的情况下,完成特征提取,得到特征集合
[0094]
本发明的实施例中,输入尺寸s1,是将图像整体尺寸调整到(128,128);输入尺寸s2,是将图像分割为3*3的小块,再将每一块尺寸调整到(256,256)。
[0095]
最终,训练集和测试集完成特征提取后,均得到两个特征集合。这两个特征集合分别代表了原始图像在不同尺寸下的综合特征表示。这样可以提高模型的表现和鲁棒性,使其能够更好地理解和处理输入图像的信息。
[0096]
经过实验,j=2效果最佳,最终选择将layer2,layer3两个中层特征进行特征聚合这样的效果最佳。
[0097]
2.6特征可视化
[0098]
在特征提取之后,得到了原始数据的特征表示。然而,这些特征可能具有较高的维度,难以直观地观察和分析以上的特征提取办法是否能区分出异常样本与正常样本。为了解决这个问题,可以使用t-sne(t-distributed stochastic neighbor embedding)算法对特征进行降维和可视化,来验证以上的方法能在正常样本数据中区分出大缺陷和小缺陷,来定性的显示本方法的有效性。
[0099]
t-sne是一种非线性降维算法,旨在将高维数据映射到低维空间,同时保留数据样本之间的局部结构。通过t-sne,本次将原始数据的特征映射到二维空间,从而更容易进行可视化和分析。在这个过程中,将特征作为输入,使用t-sne算法对其进行降维。t-sne通过考虑特征之间的相似性来构建低维空间中的数据点分布,使得相似的特征在降维后仍然靠近。
[0100]
当对异常和正常样本的特征进行t-sne可视化时,如果异常样本具有与正常样本明显不同的特征模式,可以观察到它们在降维后的空间中明显分离开来。这意味着在特征空间中,异常样本与正常样本之间存在明显的差异,证明以上特征提取方法的可行性。
[0101]
高分辨率图像特征提取后的t-sne图如图7所示,低分辨率图像特征提取后的t-sne图如图8所示。其中横纵坐标的数值并不具有直接的物理含义,而是用于表示数据点之间的相对关系。
[0102]
在两个t-sne图中,观察到正常样本的点呈现出聚合在一起的趋势,形成了紧密的簇状结构。这表明正常样本在特征空间中具有相似的特征表示,彼此之间存在较小的差异。相反,异常样本的点则呈现出离散分布的趋势,它们在特征空间中的位置相对散乱,与正常样本的簇状结构相距较远。
[0103]
这种观察结果能显明本发明的特征提取方法,在高分辨率图像和低分辨率图像上均能很好地区分异常与正常特征。便于后续,检测出不同尺寸大小的缺陷。
[0104]
步骤3,稀疏采样:对和分别进行稀疏采样,得到核心集合和
[0105]
训练集得到的特征集合还需要进行稀疏采样中。通过选择一小部分“核心”数据点来代表整个数据集,即每张训练集图像的关键数据点。根据一定的采样策略从原始数据集中选择一部分样本作为核心集(coreset),这些样本通常被认为能够代表原始数据集的分布和特征,尽可能减少数据样本数量,同时最大程度地保留原始数据集的结构和特征。在尽量少的数据点上实现较高的近似准确度,大大地减少了测试数据的推理时间和减少了所需要的储存,并减少冗余信息,从而提高模型的泛化能力和鲁棒性。
[0106]
本次使用迭代贪心核心集选择算法(greedy coreset selection)来进行核心集的选择。每次迭代,对于非核心集合外的每个样本点,选择离其最近的核心集合中的样本距离作为其与核心集合的距离值,这样可以尽可能的保留原始数据集的局部结构,同时在特征分布上与原始数据集相似。下面选择所有样本中与核心集距离最远的样本即将最大距离值所对应的样本作为核心样本,加入核心集合,这样能尽可能地覆盖数据集中的不同区域,提高核心集的多样性和代表性。整个过程可用下式表示。
[0107][0108]
其中m为稀疏采样前的总的特征集合,m
*
为核心集合,n是m
*
中的一个样本,m是m-m
*
中的一个样本,mi为每次迭代找到新的核心样本。
[0109]
稀疏采样的过程如图9所示。
[0110]
最终将稀疏采样到将稀疏采样到
[0111]
步骤4,异常检测:将待检测图像调整至尺寸s1和s2,并分别利用预训练网络提取特征、局部邻域特征聚合、特征降维和多层特征融合,得到特征集合和利用k最近邻检索算法,分别将与与进行特征匹配,并将得到的异常分割结果合并,实现异常检测。
[0112]
本发明利用测试集图像作为待检测图像,利用k最近邻检索算法,将与进行特征匹配,得到异常分割结果1,即,在s1尺寸输入下,每个像素点的异常情况;将与进行特征匹配,得到异常分割结果2,即,在s2尺寸输入下,每个像素点的异常情况,每个结果表示不同尺寸输入下对应的异常区域。将异常分割结果1与异常分割结果2合并,得到最终总的异常分割结果。
[0113]
检测过程具体如下:
[0114]
4.1knn特征匹配
[0115]
在中,找出中的每一个特征点与其特征距离最近的k个邻居样本,即k个最近邻样本,将中每一个特征点与其k个最近邻样本的特征距离进行平均,通过比较特征之间的距离来评估其异常程度,得到的平均值即为该特征点的异常得分,最终能通过计算,得到整个对应的异常得分。
[0116]
在中,找出中的每一个特征点与其特征距离最近的k个邻居样本,即k个最近邻样本,将中每一个特征点与其k个最近邻样本的特征距离进行平均,通过比较特征之间的距离来评估其异常程度,得到的平均值即为该特征点的异常得分,最终能通过计算,得到整个对应的异常得分。
[0117]
该方法原理简单,易于理解和实现。通过比较样本之间的特征相似度,可以计算每个样本的异常得分,其中较高的异常得分表示样本是异常的。
[0118]
4.2上采样
[0119]
在得到异常得分后,使用上采样将异常分割结果恢复到原图大小。具体地,使用双线性插值的方法将整个对应的异常得分映射回原始图像的大小(h1,w1),得到异常分割结果1;使用双线性插值的方法将整个对应的异常得分映射回原始图像的大小(h1,w1),得到异常分割结果2。
[0120]
通过上采样,可以将中的异常得分映射回原始图像上的像素级别,将异常分数转换为与原始图像尺寸相匹配的异常分割结果,得到最终的异常分割结果1,异常分割结果2。将两个不同输入尺寸下的异常分割结果合并,得到最终总的异常分割结果。
[0121]
4.3标记缺陷
[0122]
将掩膜中异常区域的像素值设置为255,其余区域的像素值为0。查找掩膜中白色区域(缺陷区域)的轮廓。针对每个轮廓,获取其外接矩形的坐标和尺寸(x,y,w,h)。最终将异常区域用外接的矩形框标注,完成了缺陷的标记。
[0123]
小缺陷的输入原图、及检测结果,如图10所示,从图中(a)和(b)可明显看出检测准确度极高。
[0124]
大缺陷的输入原图、及检测结果,如图11所示,从图中(a)和(b)可明显看出检测准确度极高。
[0125]
当一个图像里面同时包含不同尺度的缺陷,输入的原图及检测结果如图12所示,从图中(a)和(b)可明显看出检测准确度极高。
[0126]
通过上述过程,实验证明,本方法相较于传统机器视觉算法,在印刷品外观缺陷检测上,准确率由原来的95.3%,提升至现在的97.8%,这意味着相较于传统算法,本方法成功地提高了2.5个百分点的检测准确率。相较于重构类算法,当有1000张待测样本,仅需20mins就可以完成全部的检测,大大节省了检测的时间,有极高的工程应用价值。在实际工程应用中,面对大尺寸缺陷(100*100)的缺陷,小尺寸缺陷(3*3)均能很好检测,同时很好适应实际印刷品生产中遇到的各类缺陷,能投入实际生产。
技术特征:
1.一种基于少样本学习的多尺度特征匹配印刷缺陷检测方法,其特征在于,包括如下步骤:步骤1,采集正常印刷图像为正样本,通过数据增强进行扩充,得到数据集;步骤2,将数据集中的同一图像调整为两种尺寸s1和s2,实现多尺度尺寸输入,然后分别利用预训练网络提取特征、局部邻域特征聚合、特征降维和多层特征融合,得到特征集合和步骤3,对和分别进行稀疏采样,得到核心集合和步骤4,将待检测图像调整至尺寸s1和s2,并分别利用预训练网络提取特征、局部邻域特征聚合、特征降维和多层特征融合,得到特征集合和步骤5,利用k最近邻检索算法,分别将与与与进行特征匹配,并将得到的异常分割结果合并,实现异常检测。2.根据权利要求1所述基于少样本学习的多尺度特征匹配印刷缺陷检测方法,其特征在于,所述步骤1,正样本的数量不超过100张,数据增强的方法包括随机移位、随机旋转、随机光强变化以及随机弹性变换;所述随机移位,是在x轴和y轴两个方向上随机生成(-d,d)之间的位移场t∈r2×
h
×
w
,t内元素满足:t
x
(x,y)=rand(-d,d),t
x
(x,y)∈r
h
×
w
(1)t
y
(x,y)=rand(-d,d),t
y
(x,y)∈r
h
×
w
(2)其中,t
x
(x,y)和t
y
(x,y)分别表示图像中每个像素在水平和垂直方向上的位移大小,h和w分别代表原始正样本的高度和宽度,d为图像在水平和垂直方向上的最大允许移动范围;所述随机旋转,是以图像的中心点作为旋转中心,随机生成一个位于(-θ,θ)之间的旋转角度,其中θ表示最大旋转范围;对于单张正样本中的每个像素点坐标(x,y),经过旋转后对应的坐标为(x
′
,y
′
),旋转前后坐标之间的对应关系如下所示:所述随机光强变化,是随机生成一个(-g,g)之间的灰度值,g表示灰度最大变化的范围,将其加在原图的所有像素点上,随机产生的灰度值满足g=rand(-g,g),g∈c(4)每个像素点改变的灰度值都是一个相同的常数,即整体改变整张图像的亮度,c表示(-g,g)之间的常数;所述随机局部弹性变换,对于输入图像,随机选取原图中任意区域,提取部分图像,对于单张正样本中的每个像素点坐标(x,y),进行随机的弹性变换后得到对应的新坐标(x
″
,y
″
),其中弹性变换的大小由随机生成的偏移量δ1(x,y)和δ2(x,y)控制,公式如下:
设置δ1(x,y)=rand(-l,l),δ2(x,y)=α(y
2-βy),其中l为纵向移动的范围,α为弹性变换的强度参数,控制弹性变换的整体幅度,β控制弹性变换最大横向偏移的位置。3.根据权利要求1所述基于少样本学习的多尺度特征匹配印刷缺陷检测方法,其特征在于,所述预训练网络提取特征,利用预训练网络的权重参数,从输入图像中提取出中层次的抽象特征,捕捉图像的语义信息;所述局部邻域特征聚合,对某一点周围的局部邻域特征向量进行聚合来扩展特征表示;所述多层特征融合,对于每个图像尺寸的输入,将来自不同层次的特征进行组合和整合,以获得更具表达能力和鲁棒性的综合特征表示。4.根据权利要求3所述基于少样本学习的多尺度特征匹配印刷缺陷检测方法,其特征在于,所述预训练网络选用以resnet架构为基础的网络模型作为特征提取器,从图像中提取到的特征表示为:其中x
i
∈x,x是数据集合,是训练集或测试集,x
i
表示x中的第i个图像,j表示预训练网络的层数,j∈{1,2,3,4},φ表示预训练好的网络,φ
i,j
(h,w)表示对x
i
进行特征提取,在预训练好的网络φ第j层提取坐标为(h,w)的点上的特征,提取后的特征包含三个维度,分别是深度c*,高度h
*
和宽度w
*
,其中(h
*
,w
*
)为提取后特征图的分辨率;所述局部邻域特征聚合,中心点周围的局部邻域点集表示为:其中p表示局部邻域尺寸大小,(h,w)为邻域中的中心点坐标,(a,b)为邻域中任意一点的坐标,h∈{1,...,h
*
},w∈{1,...,w
*
}进行局部邻域特征聚合的公式如下:其中f
agg
表示自适应平均池,表示对数据集合中第i张照片提取第j层特征;局部邻域特征聚合后的特征集合表示如下:其中s表示原始输入图像的尺寸大小,n是自然整数;所述多层特征融合,将j+1层提取到的特征集合p
s,p
(φ
i,j+1
)通过双线性插值进行上采样,使其与j层提取到的特征集合p
s,p
(φ
i,j
)匹配,完成多层特征融合,将提取到的特征以h
*
*w
*
个特征点的形式存储在特征集合中。5.根据权利要求3或4所述基于少样本学习的多尺度特征匹配印刷缺陷检测方法,其特征在于,在特征提取之后,使用t-sne算法对特征进行降维和可视化。6.根据权利要求3或4所述基于少样本学习的多尺度特征匹配印刷缺陷检测方法,其特征在于,所述步骤3,使用迭代贪心核心集选择算法进行稀疏采样选择核心集集合;每次迭代,对于非核心集合外的每个样本点,选择离其最近的核心集合中的样本距离作为其与核心集合的距离值,并将最大距离值所对应的样本加入核心集合,过程如下式:
其中m为稀疏采样前的总的特征集合,m
*
为核心集合,n是m
*
中的一个样本,m是m-m
*
中的一个样本,m
i
为每次迭代找到新的核心样本。7.根据权利要求4所述基于少样本学习的多尺度特征匹配印刷缺陷检测方法,其特征在于,所述s1,是将图像整体尺寸调整到(128,128);所述s2,是将图像分割为3*3的小块,再将每一块尺寸调整到(256,256)。8.根据权利要求4所述基于少样本学习的多尺度特征匹配印刷缺陷检测方法,其特征在于,所述步骤5,利用k最近邻检索算法,将与进行特征匹配,得到异常分割结果1,即,在s1尺寸输入下,每个像素点的异常情况;将与进行特征匹配,得到异常分割结果2,即,在s2尺寸输入下,每个像素点的异常情况;将异常分割结果1与异常分割结果2合并,得到最终总的异常分割结果。9.根据权利要求8所述基于少样本学习的多尺度特征匹配印刷缺陷检测方法,其特征在于,所述将与与与进行特征匹配,是在或中,找出或中的每一个特征点与其特征距离最近的k个邻居样本,即k个最近邻样本,将或中每一个特征点与其k个最近邻样本的特征距离进行平均,通过比较特征之间的距离来评估其异常程度,得到的平均值即为该特征点的异常得分,最终能通过计算,得到整个或对应的异常得分;随后使用双线性插值的方法将异常得分映射回原始图像的大小(h1,w1),得到异常分割结果1或异常分割结果2。10.根据权利要求5所述基于少样本学习的多尺度特征匹配印刷缺陷检测方法,其特征在于,将掩膜中异常区域的像素值设置为255,其余区域的像素值为0,查找掩膜中白色区域的轮廓,针对每个轮廓,获取其外接矩形的坐标和尺寸(x,y,w,h),最终将异常区域用外接的矩形框标注,完成缺陷标记。
技术总结
一种基于少样本学习的多尺度特征匹配印刷缺陷检测方法,采集正常印刷图像为正样本,通过数据增强进行扩充,得到数据集;将数据集中的同一图像调整为两种尺寸,实现多尺度尺寸输入,然后分别利用预训练网络提取特征、局部邻域特征聚合、特征降维和多层特征融合,得到两种特征集合,分别进行稀疏采样得到两种核心集合;将待检测图像调整至前述两种尺寸,并采用同样方法得到两种特征集合;利用K最近邻检索算法进行特征匹配,并将得到的异常分割结果合并,实现异常检测。本发明通过多尺度的特征提取和特征匹配,该方法能够在不同尺度下更全面地捕捉异常区域,并通过合并结果提高异常检测的准确性和鲁棒性。测的准确性和鲁棒性。测的准确性和鲁棒性。
技术研发人员:李兵 蒋冰克 金霄 杜肖 赵卓
受保护的技术使用者:西安交通大学
技术研发日:2023.06.14
技术公布日:2023/9/12
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/