网站首页 > 技术文章 正文
一
监督学习简介
产品表面缺陷检测是智能工业生产中的一个重要应用方向。表面缺陷检测环节采用AI技术,针对工件图片上的划痕和污迹进行检测定位。当前AI技术解决此类问题主要采用两种方法:有监督学习和半监督学习。有监督的机器学习方法采用人工标注的缺陷图像数据指导机器学习模型训练,得到预期结果。然而在应用落地过程中,研究人员常常缺少足够多的现实场景中的真实缺陷数据,导致训练后模型泛化性能差。
现有的半监督方法主要分为基于重建(reconstruction-based)的方法和基于嵌入(embedding-based)的方法。基于重建的方法尝试通过模型来重建正常图片(例如采用自动编码器(autoencoder,AE)或者生成对抗网络(adversarial network,GAN)),通过最小化重建误差来获得缺陷位置。但是由于CNN强大的泛化能力,缺陷区域也可能被重建回来,上述假设被推翻,导致漏检。基于嵌入的方法假设模型能够准确描述并匹配正常样本的特征,因此在推理阶段需要首先提取特征,再进行匹配。
MemSeg作者采用了基于嵌入的半监督的模型训练方法,提出了一个端到端的基于记忆的分割网络(MemSeg),其中缺陷样本由算法随机制造,送入模型中学习缺陷特征。网络结构作者选择在U-net上进行修改,引入了一个记忆模块(memory module)和多尺度特征融合模块(Multi-Scale Feature Fusion Module,MSFF),还在中间层特征中施加了空间注意力(Spatial Attention)模块。在训练和推理阶段,模型将记忆模块中的记忆特征与缺陷样本特征进行比对和融合,使模型更加关注缺陷部位,提升模型泛化性能。
异常模拟策略
异常模拟策略主要分为三个步骤。
步骤一首先获得缺陷蒙版。作者通过一个随机二维柏林噪声获得噪声数据,通过阈值获得噪声掩码。二维柏林噪声有多个随机峰值,因此能够用来在图像中生成连续的随机区域块。为了让模型更加专注于物体上的缺陷,同时使仿真缺陷更加接近于真实缺陷,对原始正常图片也进行分割,通过开运算和闭运算去掉噪声,得到蒙板,与点乘得到缺陷蒙板。
步骤二获得仿真缺陷图片。这里的缺陷主要包括两种:纹理缺陷和结构缺陷。缺陷图片就是对正常图片随机选择一种缺陷进行仿造。纹理缺陷来自DTD纹理数据集中的数据。仿真结构缺陷具体操作:对原图随机采用数据增强操作(包括对称翻转、旋转、对比度增强、饱和度增强、亮度增强等),然后将图片均匀分为4×8的方格,随机打乱方格顺序得到仿真结构缺陷图片。将与缺陷蒙板点乘得到仿真缺陷图片。为了使仿真图片更加接近真实图片,采用系数具体公式如下,其中δ表示用来平衡融合图片和噪声图片的透明度权重,实际训练中δ从[0.15,1]中随机采样得到。
步骤三将蒙版与原图进行融合得到最终仿真制造“缺陷”样本。具体步骤:将缺陷蒙版取反得到正常蒙版,然后将与原图点乘,叠加上缺陷图片即获得。
记忆模块
人类区分缺陷部位的方法是通过将异常区域与人脑中的正常区域进行比对。受此思想和之前基于嵌入的方法启发,MemSeg作者在缺陷检测中引入了记忆模块。
具体操作为采用一个预训练模型(Resnet18)作为特征编码器,提取正常样本的高维特征,当做记忆信息。为了保证在训练后提取的高维特征与记忆信息具有一致性,作者在训练过程中冻结了ResNet18中各个层的参数,而其余的模型参数是可训练的。在训练过程中随机挑选N个正常样本,将图像输入预训练模型中,从block 1、block 2和block 3中取出相应特征,维度分别为N×64×64×64、N×128×32×32和N×256×16×16,这些不同分辨率的特征一起组成了记忆信息。在推理阶段,编码器同样抽取输入图像的64×64×64、 128×32×32,和256×16×16的高维特征,记为。然后计算每个与的L2距离,用来度量输入图片与记忆信息的差异,取其中最大的记为,即为与当前样本差异最大的正常样本,能够最大化描述缺陷信息。
然后将与对应分辨率的特征高维特征拼接,得到、和,这些特征用来送入解码器检测缺陷信息。MemSeg选用U-Net作为解码器,、和对应的跨层连接的输入特征。
这里属于训练超参数,MemSeg作者通过实验发现,当逐渐扩大时,模型缺陷检测的效果越好,但是随着变得过大,准确率开始下降,表明这个超参数需要适配应用场景,MemSeg作者在最后总结该算法缺陷时也提到了这一点。
多尺度特征融合模块
融合后的(n = 1,2,3) 首先通过一个3×3卷积降维,由于是通过简单特征拼接得到,通过CA(coordinate attention)模块进行通道间的注意力加权,然后通过常规的上采样操作将不同尺度特征分辨率对齐,通过一个3×3卷积将不同尺度特征通道数对齐,采用对应元素相加进行融合。
空间注意力块
为了使模型更加关注缺陷区域,采用空间注意力模块对空间进行特征加权,具体操作:为对应特征按通道取平均获得,而和在对通道取平均后,还要点乘上上一层注意力图上采样后的结果。以下公式表示上述过程,其中、和分别表示对应特征、、的通道数,表示点乘操作,和分别表示上一层的显著图和通过上采样得到的特征图。
Loss选择
作者选择了L1 loss和和focal loss来进行训练。L1 loss相比L2 loss能够更加关注边缘信息,focal loss能够解决前景背景比例不均衡问题,同时能够更加关注困难样本。消融实验表示二者相结合能提升缺陷检测准确率,优化的最终目标就是最小化二者的加权和。
具体公式:
其中和是平衡参数,和是focalloss对应的超参数,作者通过网格搜索获得最优超参数=0.6和=0.4,=0.4。
实验结果
定性分析方面,将MemSeg与已有方法在MVTec AD数据集上进行对比,对比二值化之前的检测结果,发现MemSeg方法能够获得更加清晰的判断边界,说明模型可以更加准确地关注缺陷位置。定量分析方面,在MVTec AD数据集上MemSeg的像素级别的AUC得分高达99.56%,高于现有方法,证明了MemSeg方法的准确性。推理速度方面,受益于端到端的应用模式,MemSeg在NVIDIA RTX 3090 GPU上速度为0.0319s,在推理速度上与之前方法相比也有较大优势。
不足之处
MemSeg作者同时也分析了MemSeg方法的缺点,即比较依赖于记忆样本。MemSeg对于记忆样本中工件摆放的位置朝向比较敏感。比如数据集中的螺丝钉这一类别,由于朝向不同、摆放位置不固定,导致需要更多的记忆样本来使模型记住正常模式信息,使MemSeg在实际应用中对使用场景提出了更高的要求与更严格的限制。
作者:安宇
适创科技视觉与优化产品部,图像算法工程师,主要关注深度学习技术中的目标检测、语义分割方向,现从事ADR缺陷检测系统中的相关项目研发工作。
编辑:田恒易
参考文献
[1] O. Ronneberger, P. Fischer, and T. Brox, “U-net: convolutional networks for biomedical image segmentation,” In: International Conference on Medical image computing and computer-assisted intervention, pp. 234-241, 2015.
[2] K. Perlin, “An image synthesizer,” ACM Siggraph Computer Graphics, vol. 19, no. 3, pp. 287–296, 1985.
[3] M. Cimpoi, S. Maji, I. Kokkinos, S. Mohamed, and A. Vedaldi, “Describing textures in the wild,” In: Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pp. 3606–3613, 2014.
[4] Q. Hou, D. Zhou, and J. Feng, “Coordinate attention for efficient mobile network design,” In: Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition, pp. 13713-13722, 2021.
[5] T. Y. Lin, P. Goyal, R. Girshick, K. He, and P. Dollár, “Focal loss for dense object detection,” In: Proceedings of the IEEE international conference on computer vision, pp. 2980-2988, 2017.
[6] P. Bergmann, M. Fauser, D. Sattlegger, and C. Steger, “MVTec AD-a comprehensive real-world dataset for unsupervised anomaly detection,”
In: Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition, pp. 9592-9600, 2019.
猜你喜欢
- 2024-12-07 汽车视线盲区频“闯祸” 驾驶好习惯要养起
- 2024-12-07 论文er们,YOLO这口饭得趁热吃
- 2024-12-07 肾功能的好坏会影响到大脑的功能。
- 2024-12-07 做彩超和增强CT都怀疑胰腺癌,做核磁没发现病灶,听医生怎么说
- 2024-12-07 癫痫可以被改善?通过补充胆碱来保护海马体功能能够提升记忆能力
- 2024-12-07 陈小康副教授等:基于改进YOLOv5s的复杂环境下新梅检测方法
- 2024-12-07 抛弃视觉编码器,这个「原生版」多模态大模型也能媲美主流方法
- 2024-12-07 华能水电获得发明专利授权:“基于双向跨模态注意力机制的RGB-D大坝缺陷图像语义分割方法”
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- oraclesql优化 (66)
- 类的加载机制 (75)
- feignclient (62)
- 一致性hash算法 (71)
- dockfile (66)
- 锁机制 (57)
- javaresponse (60)
- 查看hive版本 (59)
- phpworkerman (57)
- spark算子 (58)
- vue双向绑定的原理 (68)
- springbootget请求 (58)
- docker网络三种模式 (67)
- spring控制反转 (71)
- data:image/jpeg (69)
- base64 (69)
- java分页 (64)
- kibanadocker (60)
- qabstracttablemodel (62)
- java生成pdf文件 (69)
- deletelater (62)
- com.aspose.words (58)
- android.mk (62)
- qopengl (73)
- epoch_millis (61)
本文暂时没有评论,来添加一个吧(●'◡'●)