本发明属于图像异常检测领域,具体涉及基于patch聚合和判别的自监督图像异常检测方法。
背景技术:
1、图像异常检测是计算机视觉领域中的任务之一,其目的是从图像数据中识别出异常样本并定位异常区域。近些年来,深度学习被大量应用于解决计算机视觉领域中的问题,很多专家与学者也将深度学习应用于解决图像异常检测问题。基于深度学习的图像异常检测方法大致可以分为监督学习方法与无监督学习方法。
2、监督学习方法利用已经标记了异常区域的异常样本进行训练,直接使用计算机视觉任务中的目标检测、语义分割方法对异常区域进行定位与分割,这些方法的优点是在已知异常的条件下的准确度和推理速度都较为优秀,但在实际的工业生产中次品率通常极低,所以异常样本的数量很少,很难获取全部的异常种类,因此限制了监督学习方法在工业领域中的发展与应用。
3、无监督学习方法仅用正常样本进行训练,解决了监督学习方法存在的问题,因此越来越受到重视。无监督学习方法有两种基本思路:一种是图像重建,该方法假设仅使用正常样本训练的重建网络不能很好的重建异常区域,所以重建前后像素差异较大的区域就是异常区域;另一种思路是特征嵌入,特征空间不同于图像rgb像素空间,特征空间通常比较稀疏,在特征空间内构建分类面更易于将正常特征与异常特征分类。但无监督学习方法由于未学习过任何异常知识,网络学习到的模式单一,在检测时可能出现较大误差从而导致准确度降低。
4、为了解决无监督学习方法存在的问题,利用人工合成的异常样本进行训练的自监督学习方法逐渐被重视。自监督学习也是无监督学习的一种,在训练时也只需要正常样本,与常规无监督学习方法不同的是自监督学习方法会同时利用由正常样本合成而来的异常样本进行训练,所以自监督学习可以视为已知大量异常样本的监督学习或者既能学习到正常知识又能学习到异常知识的无监督学习。自监督学习方法虽然有诸多优点,但其检测效果非常依赖于合成的异常样本的真实性,若合成的异常样本不够真实会使网络学习到虚假的异常知识从而导致准确度降低,目前大部分异常样本合成方法合成的异常样本都存在真实度不足的问题。并且很多无监督学习方法和自监督学习方法都没有考虑推理速度和部署成本这两个在实际工业生产中十分重要的需求,通常认为一个优秀的图像异常检测方法应该拥有较低的时间复杂度和空间复杂度。
技术实现思路
1、本发明要解决的技术问题是针对现有技术的不足,提供一种基于patch聚合和判别的自监督图像异常检测方法,该方法在训练时通过对正常样本和异常样本进行像素级的判别从而使网络拥有区分正常样本与异常样本的能力,并在保证推理速度的同时尽可能的提高了准确度,解决了现有的自监督学习方法存在的问题。
2、为解决上述技术问题,本发明所采取的技术方案是:基于patch聚合和判别的自监督图像异常检测方法,包括以下步骤:
3、步骤1:从已有的图像异常检测数据集中获取正常样本;
4、所述图像异常检测数据集由实际工业生产中采集到的产品图像数据组成,包含n类产品图像数据,并拥有多种不同的异常类型,将各个类别的图像异常检测数据集均划分为训练集和测试集,其中训练集只包含正常样本,测试集则同时包含正常样本和异常样本,而且针对每个异常样本均进行像素级别的标注;
5、步骤2:获取异常区域掩膜并合成用于训练的异常样本,包括以下步骤:
6、步骤2.1:从已有的掩膜图像数据集中获取异常掩膜图像作为异常区域掩膜;
7、所述掩膜图像数据集由不同形状、位置和尺寸的二值化掩膜图像数据组成,掩膜图像中的白色区域为异常区域、黑色区域为正常区域,并采用二值化后的图像作为异常掩膜图像,即异常区域掩膜的值为1,正常区域掩膜的值为0;
8、步骤2.2:在测试集中随机选取m个异常样本来模拟实际工业生产中的少量已知异常样本,并将这些异常样本中异常区域的像素值乱序存入像素值数据库中;
9、步骤2.3、对不符合对应类别的异常语义的异常区域掩膜进行修正;
10、步骤2.4、在步骤2.2中构建的像素值数据库中随机选取与修正后的异常区域掩膜相同数量的像素值并替换该区域原来的像素值来对该异常区域掩膜上色,并将上色后的异常区域掩膜覆盖到正常样本上,得到合成的异常样本;
11、步骤3:提取正常样本与合成的异常样本的多层级特征并构建特征图集合,包括以下步骤;
12、步骤3.1:使用在大型自然图像数据集上预训练的分类网络中的多层级特征提取部分作为深度特征提取器对正常样本与合成的异常样本分别进行深度多层级特征提取;
13、步骤3.2:将深度特征提取器提取到的多层级特征图像构建为特征图集合作为对图像不同层次语义的表征;
14、步骤4:对步骤3得到的特征图集合进行patch聚合,包括以下步骤:
15、步骤4.1:利用图像patch的思想,使用滑动窗口对提取到的特征图集合中的每个特征图分别进行patch生成;
16、步骤4.2:利用邻域聚合的思想,将生成的每个patch进行邻域聚合,保留每个patch的整体语义信息;
17、步骤5:将每层特征图进行快速注意力特征融合,得到快速注意力特征图,包括以下步骤:
18、步骤5.1:对经patch聚合后的特征图进行处理,将与当前处理层特征图不同层的特征图通过升降通道和上下采样转换到与当前层特征图相同的形状;
19、步骤5.2:赋予步骤5.1处理后的特征图不同的权重,将步骤5.1处理后的特征图加权求和得到当前层特征图经深浅层特征信息互补后的空间注意力特征图;
20、步骤5.3:对空间注意力特征图进行全局平均池化,并对得到的向量进行线性变换得到空间注意力特征图每个通道的权重;
21、步骤5.4:将步骤5.3得到的权重与空间注意力特征图广播相乘,得到当前层特征图经快速注意力特征融合后的快速注意力特征图;
22、步骤6:将步骤5.4得到的快速注意力特征图进行特征修正与patch判别,实现图像异常检测,包括以下步骤:
23、步骤6.1:使用全连接层将特征融合后的快速注意力特征图从源域投影到目标域,对快速注意力特征图进行修正,减少由图像异常检测数据集与预训练所用的大型自然图像数据集之间的差异导致提取到的多层级特征之间的偏差;
24、步骤6.2:使用由多层感知机构成的分类器对修正后的快速注意力特征图进行像素级的判别,得到多层判别结果;
25、步骤6.3:将步骤6.2得到的各层判别结果上采样到所有层特征图中的最大尺寸再求取均值来整合不同尺度下的判别结果,再将求取的均值上采样到和输入正常样本相同的尺寸,得到最终的判别结果;
26、步骤6.4:将合成的用于训练的异常样本经步骤6.2的判别结果与异常掩膜图像的二分类交叉熵和正常样本经步骤6.3最终的判别结果与全为0的掩膜图像的二分类交叉熵之和作为训练损失;
27、所述步骤6.4中的训练损失loss表示为:
28、loss=-(log(1-zn)+ma×log(za)+(1-ma)×log(1-za)) (1)
29、其中,loss为训练损失,ma为异常掩膜图像,za为输入合成的异常样本时的网络输出,zn为输入正常样本时的网络输出;
30、步骤6.5:将测试集中的异常样本经步骤6.3得到的最终的判别结果进一步进行高斯滤波,得到异常评分图。
31、采用上述技术方案所产生的有益效果在于:本发明提供的一种基于patch聚合和判别的自监督图像异常检测方法,与现有技术相比具有以下优点:
32、(1)对不真实的异常区域掩膜进行修正,提高人工合成的异常样本的真实性,减少网络学习到的虚假的异常知识从而提高准确度;
33、(2)对提取到的特征图进行patch生成并聚合每个patch内的语义信息使每个像素点可以捕捉到更多的信息,降低了网络的整体计算量从而提高推理速度,再进行快速注意力特征融合,通过深浅层特征信息互补有效提高了异常定位的准确度,又对融合后的快速注意力特征图进行了修正,由于使用的预训练深度特征提取器是在大型自然图像数据集上训练的,它与工业图像异常检测数据集拥有不同的分布,因此将快速注意力特征图从源域投影到目标域,减少由数据集分布差异引起的特征偏差从而提高准确度,最后利用一种简单高效的由多层感知机构成的分类器对快速注意力特征图进行patch判别,得到同时考虑正常样本和异常样本的像素级的二分类交叉熵和。
1.一种基于patch聚合和判别的自监督图像异常检测方法,其特征在于:包括以下步骤:
2.根据权利要求1所述的一种基于patch聚合和判别的自监督图像异常检测方法,其特征在于:
3.根据权利要求1所述的一种基于patch聚合和判别的自监督图像异常检测方法,其特征在于:所述步骤2的具体方法为:
4.根据权利要求3所述的一种基于patch聚合和判别的自监督图像异常检测方法,其特征在于:
5.根据权利要求1所述的一种基于patch聚合和判别的自监督图像异常检测方法,其特征在于:所述步骤3的具体方法为:
6.根据权利要求5所述的一种基于patch聚合和判别的自监督图像异常检测方法,其特征在于:所述步骤4的具体方法为:
7.根据权利要求6所述的一种基于patch聚合和判别的自监督图像异常检测方法,其特征在于:所述步骤5的具体方法为:
8.根据权利要求7所述的一种基于patch聚合和判别的自监督图像异常检测方法,其特征在于:所述步骤6的具体方法为:
9.根据权利要求8所述的一种基于patch聚合和判别的自监督图像异常检测方法,其特征在于:
