System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术属于图像异常检测,尤其涉及一种基于自监督学习与知识蒸馏的图像异常检测方法。
技术介绍
1、图像异常检测技术是计算机视觉的一个重要领域,在工业、医疗等行业都有广泛的应用。在实际场景中,由于异常样本非常难以获取且异常模式很不固定,现阶段的技术通常是使用无监督学习的方法在正常样本上训练异常检测模型,使模型学习到正常样本的模式来区分异常。
2、近年来,一些基于深度学习的图像异常检测方法成为主流。就异常图生成的方法而言,它们主要有两类——基于图像分割的方法和基于手工特征的后处理方法。其中,基于图像分割的方法一般使用重构网络的输出与原始图像的拼接作为输入,之后再结合经典的分割网络,如unet来进行异常图的生成。这类算方法整体上表现良好,但是重构网络与分割网络的联合训练一般效率低下,需要耗费大量的计算资源与时间成本;此外,重构网络的泛化能力使得其对于细微异常的得分一般。基于手工特征后处理的方法施行简单,但是鲁棒性不如前者,且针对不同的数据集,需要耗费大量的时间对参数进行特定的调整。目前,通常使用基于无监督学习和图像重构的方法进行图像异常检测,有些引入了unet来实现像素级异常检测,避免了复杂的后处理步骤。然而,这类方法普遍存在一些问题。首先,重构网络的质量相对较差,影响了整体性能。其次,对于负样本的泛化能力过强,导致在细微异常的检测方面表现不佳。这使得该方法在实际应用中可能需要进一步改进,以提高对异常情况的准确性和鲁棒性。
技术实现思路
1、本专利技术目的在于提供一种基于自
2、为解决上述技术问题,本专利技术的具体技术方案如下:
3、一种基于自监督学习与知识蒸馏的图像异常检测方法,包括以下步骤:
4、训练阶段:
5、步骤s1:采集正常图像构建训练集并做预处理,预处理先进行数据增强,增强后统一进行缩放;
6、步骤s2:对训练集的正常图像i随机生成伪异常,得到相应的伪异常图像i_a;
7、步骤s3:对正常图像i和伪异常图像i_a分别传入预训练的编码器,做特征提取,得到各自的多个尺度特征图和压缩特征向量;编码器分为编码部分和压缩特征向量提取部分,编码部分用于加载预训练模型,这部分参数冻结,不参与训练;压缩特征提取部分为可训练的。正常图像i的多尺度特征图记为e_ii,i=1,2,3,正常图像i的压缩特征向量记为v_i;伪异常图像i_a的多尺度特征图记为e_i_ai,i=1,2,3,伪异常图像i_a的压缩特征向量记为v_i_a;其中,i表示层级,i越小,层级越浅,对应的特征图尺寸越大,i相同的特征图尺寸相同;
8、步骤s4:将正常图像i和伪异常图像i_a的压缩特征向量送入解码器,分别得到重构或修复的多个不同尺度特征图d_ii,d_i_ai,i=1,2,3;正常图像i的重构特征图为d_ii,伪异常图像i_a的修复特征图为d_i_ai;
9、步骤s5:将编码器的多个尺度特征图ei,i=1,2,3,与解码器的重构多个尺度特征图di,i=1,2,3按位置相乘并取负,再分别做双线性插值,使得其与压缩后的图像尺寸相同,并在通道维度拼接,生成分割网络的输入input_seg;
10、步骤s6:将input_seg传入分割网络,输出异常评分图mask_out;
11、步骤s7:定义损失函数:
12、
13、其中,ei为编码器输出的多个尺度特征图,di为解码器输出的多个尺度特征图,mask_out为分割网络的输出,mask_target为伪异常图像的异常掩膜,j表示mask_out和mask_target的第j个元素,n表示mask_out和mask_tar get的元素个数;
14、为余弦损失;
15、
16、focal_loss(mask_out,mask_target)=-(mask_target·log(mask_out)+(1-mask_target)·log(1-mask_out))*(1-p_t)4;
17、其中:
18、p_t=mask_out*mask_target+(1-mask_out)*(1-mask_taregt);重复步骤s2~s6,通过反向传播和优化算法不断更新解码器、特征向量提取网络与分割网络的参数;
19、测试阶段:
20、步骤s8:将待测图像t传入编码器、解码器与分割网络级联的网络,获得异常评分图,即像素级异常定位结果;
21、步骤s9:对异常评分图做后处理,取得像素中的最大值,得到待测图像t的图像级异常检测结果。
22、优选地,在所述步骤s1中,数据增强方式为,在对比度、饱和度、锐度、仿射变换、旋转中随机选取三种增强方式并依次执行,增强后统一进行缩放;将图片缩放至尺寸h×w,h为缩放后图片的高度,w为缩放后图片的宽度。
23、优选地,所述步骤s2的具体过程为:
24、步骤s21:生成二维perlin噪声,并设定阈值进行二值化处理,得到异常掩码m_a;
25、步骤s22:从异常源数据集d随机采样图片a,并对其进行随机数据增强;
26、步骤s23:用异常掩码m_a对a采样,得到生成的伪异常;
27、步骤s24:以概率p将伪异常与正常图像i进行叠加,得到最终的伪异常图像i_a;其中,为异常掩码m_a的取反结果;β为设定的参数,在0和1之间;⊙表示按元素相乘。
28、优选地,所述步骤s3的具体过程为:
29、步骤s31:使用预训练模型作为特征提取器,将图像i输入到预训练模型,获取预训练模型多个中间层输出的特征图;其中,中间层i输出的特征图为ci为特征图ei的通道数,hi为特征图ei的高度,wi为特征图ei的宽度;
30、步骤s32:对于选定的每个中间层i,将特征图ei下采样至ci×h0×w0,h0为选定的最深层特征图的高度,w0为选定的最深层特征图的宽度;
31、步骤s33:将选定的多个中间层特征图按通道维度进行拼接,得到多尺度特征图
32、步骤s34:将多尺度特征图作为压缩特征向量提取网络的输入,得到正常图像与异常图像的压缩特征向量;
33、优选地,所述步骤s5的具体过程为:
34、步骤s51:将编码器与解码器对应的中间层特征图相乘并取负数,得到:
35、mi=-ei×di,i=1,2,3;
36、步骤s52:将mi进行双线性插值,输出mi',尺寸为h×w;
37、步骤s53,将mi'在通道维度进行拼接,得到input_seg;
38、优选地,所述步骤s8的具体过程为:
39、步骤s81:对待测图像t做预处理,尺寸变为h×w;
40、步骤s82:对预处理后的待测图像t本文档来自技高网...
【技术保护点】
1.一种基于自监督学习与知识蒸馏的图像异常检测方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的基于自监督学习与知识蒸馏的图像异常检测方法,其特征在于,在所述步骤S1中,数据增强方式为:在对比度、饱和度、锐度、仿射变换、旋转中随机选取三种增强方式并依次执行,增强后统一进行缩放;将图片缩放至尺寸H×W,H为缩放后图片的高度,W为缩放后图片的宽度。
3.根据权利要求2所述的基于自监督学习与知识蒸馏的图像异常检测方法,其特征在于,所述步骤S2的具体过程为:
4.根据权利要求3所述的基于自监督学习与知识蒸馏的图像异常检测方法,其特征在于,所述步骤S3的具体过程为:
5.根据权利要求4所述的基于自监督学习与知识蒸馏的图像异常检测方法,其特征在于,所述步骤S5的具体过程为:
6.根据权利要求5所述的基于自监督学习与知识蒸馏的图像异常检测方法,其特征在于,所述步骤S8的具体过程为:
7.根据权利要求6所述的基于自监督学习与知识蒸馏的图像异常检测方法,其特征在于,步骤S9的具体过程为:
【技术特征摘要】
1.一种基于自监督学习与知识蒸馏的图像异常检测方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的基于自监督学习与知识蒸馏的图像异常检测方法,其特征在于,在所述步骤s1中,数据增强方式为:在对比度、饱和度、锐度、仿射变换、旋转中随机选取三种增强方式并依次执行,增强后统一进行缩放;将图片缩放至尺寸h×w,h为缩放后图片的高度,w为缩放后图片的宽度。
3.根据权利要求2所述的基于自监督学习与知识蒸馏的图像异常检测方法,其特征在于,所述步骤s2的具体过程...
【专利技术属性】
技术研发人员:徐琴珍,徐俐,马翔,陈家豪,杨绿溪,
申请(专利权)人:东南大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。