APP下载

基于孪生网络的工业缺陷弱监督视觉检测算法

2023-11-23张海刚鲁伽祎匡国文陈志彬

深圳大学学报(理工版) 2023年6期
关键词:特征提取注意力定位

张海刚,鲁伽祎,,匡国文,陈志彬

1)深圳职业技术大学粤港澳大湾区人工智能应用技术研究院,广东深圳 518055;2)辽宁科技大学电子与信息工程学院,辽宁鞍山 114051

在工业生产和制造过程中,受工艺、模具、设备故障和外界干扰等因素的影响,产品表面易出现斑点、凹坑、划痕、空洞和色差等缺陷[1-2].目前的工业产品的外观缺陷检测主要依靠人力完成,检测效率低且人为因素影响大.随着深度学习在计算机视觉技术中的广泛应用,工业界和学术界开始追求泛化性强、精准高效的工业品缺陷视觉检测技术.卷积神经网络(convolutional neural network,CNN)是深度学习技术的代表[3],在各种图像处理任务(回归、分类及检测等)中表现了出色的性能.目前存在很多优秀的算法将CNN 运用到工业缺陷检测中[4-6].胡鹏辉等[3]将CNN 模型运用到肛提肌裂孔智能识别中,相比于传统算法,模型性能得到了大幅提升.BERGMANN 等[7]提出了U-Student 模型,借用知识蒸馏技术,实现了CNN 模型对工业缺陷检测精度和效率的平衡.1-NN 模型聚焦于工业缺陷数据集的不平衡现象,对小样本工业缺陷展现了良好识别性能[2].工业缺陷数据集存在零样本难题,GANomaly 模型采用生成式对抗网络,实现模型对未知缺陷的有效检测[8].

工业品外观缺陷视觉检测具备多目标、多尺度、随机性强和样品不平衡,甚至零样本等现象,致使传统的模式识别算法无法满足现代工业的要求.随着深度神经网络理论的深入发展,以CNN为代表的计算机视觉技术在工业表面缺陷检测中获得了广泛应用[4-5,8].工业品表面缺陷视觉检测主要聚焦于缺陷识别、位置检测(目标检测),以及轮廓分割(语义分割)3个方面.一方面,研究人员希望探索更强大的CNN 模型以期提高工业缺陷检测的准确性和泛化能力[7,9];另一方面,针对工业缺陷的特殊特征,设计针对性的目标识别模型,如设计特征细化模块来处理小尺寸缺陷的检测,强调特征层融合以改进多尺度目标检测能力,并设置适当的采样和训练策略以减少不平衡数据的影响等[10-11];针对工业缺陷样本存在的不平衡现象,设置特定的样本特征学习规则,实现缺陷数据集的有效加权[6].除此之外,工业视觉检测任务中易于出现零样本现象,即未知缺陷.ZHANG 等[12]提出的Zero-DD模型,针对工业品未知缺陷进行了有效地检测.

在实际的产品生产过程中,工业品表面易出现纹理和污点两类缺陷.通过对比正常样本和缺陷样本,可将工业品表面缺陷理解为在正常样本视觉空间产生的特征差异.因此,本研究拟通过分析检测样品与正常样品的特征差异,实现工业品表面缺陷的检测.本研究将构建一个视觉检测模型,将工业缺陷的检测转换为视觉差异的检测.本研究采用孪生网络(Siamese network,SN)来进行工业品样本的差异特征提取[13].SN模型由2支并行的特征提取通道构成,且这两支通道权值共享,即两支通道具备相同的特征提取性能.第1 支通道输入正常样本,第2 支通道的输入不作限制,为随机样本(正常或者带有缺陷).SN模型以双流通道的特征差异作为输出,并送入到后续的CNN 分类器中.在仿真实验中,采用文献[12]构建的数据集来验证本研究所提模型的有效性.除此之外,结合弱监督定位算法[14],本研究可以有效实现工业品外观缺陷的定位.

1 SNDec模型

图1为本研究提出的基于孪生网络的工业缺陷视觉检测模型,记为SNDec(Siamese network detection).模型以双流通道为输入,第1通道样本A为正常样本,而第2 通道样本B 为随机样本,即包括正常样本或者带有缺陷的样本.整个检测模型的输出为样本B 的类别.在SN 模型(图2)中,并行的CNN特征提取通道分别提取样本A和样本B的视觉特征,通过特征差异操作后,送入识别网络.为提升目标识别性能,本研究将卷积块注意力机制(convolutional block attention module,CBAM)[15]嵌入到检测网络中.值得一提的是,由于SNDec模型出色的特征提取能力,它能够在高层语义空间实现缺陷目标的弱监督定位,即获得工业品表面缺陷的位置信息,这对于工业生产中故障诊断以及产品升级改造是有利的.

图1 SNDec模型的技术框图 左:特征差异空间网络,用于提取双通道差异特征;右上:差异特征细化与识别模块,CBAM为通道和空间注意力模块;右下:工业缺陷目标弱监督定位模块Fig.1 Technology diagram for SNDec model.The left box is feature difference spatial network to extract dual channel difference features.The right top box is differential feature classification and recognition network,where CBAM is the channel and spatial attention module.The right bottom box is weakly supervised localization module for industrial defects.

图2 SN模块(⊖为特征相减操作.权值共享的双流通道在经过特征提取后,实现输入样本的特征相减,从而突出特征差异.)Fig.2 SN module,where ⊖ represents the feature subtraction operation.After feature extraction,the feature subtraction of input samples is realized in the weighted shared dual-flow channel,so as to highlight the feature difference.

SNDec模型将对工业品外观缺陷的检测转换为对差异特征的检测,实现了对不同工业品外观缺陷的有效统一,提升了模型的泛化能力.此外,通过强化差异特征,模型能够有效应对小样本缺陷检测.

结合图2,SNDec 模型检测流程为:在模型训练阶段,通道1 输入无缺陷的正常样本A,通道2输入正常样本或异常样本B,并以此确定模型的输出,再通过梯度前传算法实现分类模型训练.在模型测试/推理阶段,样本A 输入仍为正常样本,样本B为待测样本,则模型输出样本B的类别.考虑到获取工业缺陷位置信息的重要性,本研究提出的SNDec 模型结合弱监督定位策略,在缺陷识别之后,实现位置定位.

1.1 SN模块

SN模块由两个相同结构的特征提取网络构成,这种双通道网络结构能够保证权值共享.由于学习参数一致,SN 模块的双流通道提取了相同的视觉特征.因此,样本A 和样本B 分别为SN 模型的输出(O)为双流通道的差异(图2),即

其中,xA和xB分别为双通道的2 个视觉输入矩阵;函数S为SN 的特征提取器;取绝对值操作是为了保证所提取的差异特征的非负性.

由式(1)可见,若样本A 和样本B 均为正常样本,则SN 模型输出极小的扰动.极端情况下,当样本A和样本B相同时,SN模型输出为0.若样本B 表面有缺陷,SN 模型则会实现缺陷特征的最大化,这对提升SNDec 模型的缺陷检测性能非常有益.

结合图2和式(1),SNDec模型采用并行和权重共享的双流通道来提取工业品外观视觉图像的差异特征.权值共享保证了两个通道具备相同的特征表达能力,而特征差异则强调抑制背景信息,凸显缺陷特征.由于工业缺陷属于小目标检测任务,引入SN 模块不但抑制了输入图片的背景信息,还强化了缺陷特征.消融实验验证了差异特征提取模块在SNDec模型中的重要性.

1.2 CBAM

工业品外观缺陷多为小尺度目标,这对于视觉检测模型是一大挑战.为更准确地提取工业缺陷特征,SNDec模型在差异特征细化通道中加入了注意力机制.CBAM 机制[15]是比较常见的注意力模块.通道注意力指在特征提取层的通道维度开展对输出精度贡献度的计算,并以通道特征权重的形式体现;空间注意力聚焦于单通道特征,在空间维度上对每一个位置的特征进行权重计算.CBAM为即插即用模块,SNDec 模型将其置放在差异特征提取后,能够进一步细化工业缺陷特征.CBAM模块的通道注意力输出和空间注意力输出分别为

其中,F为CBAM 模块插入到视觉通道中的输入特征;Mc和Ms分别为通道注意力和空间注意力映射;符号⊙表示求哈达玛积.

图3 展示了CBAM 模块的通道注意力模块与空间注意力模块的结构流程.如图3所示,输入特征首先进入通道注意力模块,提取通道细化特征,然后被送入空间注意力模块,提取空间细化特征.在进行通道注意力计算时,通过在通道维度实现最大池化和平均池化来处理卷积输出特征,形成特征向量,再通过多层感知器(multi-layer perceptron,MLP)提取通道权重.而在进行空间注意力计算时,融合最大池化和平均池化的通道细化特征,通过固定尺寸的卷积核获取同一特征不同位置的贡献权重.通道注意力和空间注意力的加入能够更加准确的融合与筛选特征,提取更具代表性的特征信息.

图3 CBAM的(a)通道注意力和(b)空间注意力模块Fig.3 (a) Channel attention and (b) spatial attention of CBAM module.

1.3 工业缺陷弱监督定位

从制造业行业需求角度出发,获得工业缺陷的位置信息对提升后期的故障分析以及流程改造至关重要.本研究将弱监督定位算法引入到SNDec模型中,仅依赖于工业缺陷的类别标签,即可实现目标位置定位.

类激活映射(class activation mapping,CAM)[16]是目前相对流行的弱监督定位算法.图4 展示了CAM算法目标定位流程.由图4可见,CAM模型在视觉特征识别的基础上,对最后一层卷积层实现特征显著性区域的加权求和,即可获得输入图片的缺陷位置信息.CAM 算法将特征提取通道中最后一个卷积层以全局平均池化(global average pooling,GAP)代替,并连接全连接层输出分类结果.根据CAM 算法理论,最后一个卷积层的输出特征图能够准确保留了目标的位置信息,因此,通过对最后一个卷积层的所有通道特征加权求和,并以热力图的形式体现,即可获得目标的位置信息.其中,特征加权权重由GAP 层与输出响应的神经元之间的连接获得,即目标的热力图为

图4 CAM目标定位算法流程Fig.4 Flow chart of CAM algorithm.

其中,fk为视觉特征提取通道中的第k层特征;wk为相应的权重.

CAM 算法在特征提取层可视化和目标定位任务中已获得了广泛应用.严格来讲,CAM 算法属于弱监督定位模型,其因勿需事先标定样本的目标位置而极大地缓解了人工压力.然而,CAM 算法需要改变固有的CNN 模型结构(以GAP 层代替最后一个卷积层),这会令预训练的权重无法有效适配改动后的CNN 结构,影响CAM 算法应用的泛化性.

为解决CAM 算法的这一痛点,SELVARAJU等[14]提出Grad-CAM 算法(grad-class activation mapping),从另一个角度实现目标的弱监督定位.Grad-CAM 算法不需改变CNN 的网络结构,各个通道的热力图的聚合权重可由对应通道的梯度求得.

其中,h(x,y)为图像中坐标(x,y)处的热力图响应;f(x,y)为视觉特征提取通道中的第k层坐标(x,y)处的特征元素的视觉特征;g(k)为对应的梯度;δ为softmax函数;c为通道总数.

CAM 算法属于Grad-CAM 算法的特殊情况,两者能取得相同性能.但是Grad-CAM 算法通过梯度信息计算权重,避免了CAM 算法对网络结构的改变.本研究提出的SNDec 模型采用Grad-CAM 算法进行缺陷目标定位.

2 仿真实验

2.1 实验数据

为验证本研究提出的SNDec模型的性能,采用从真实注塑现场采集的某品牌瓶盖缺陷视觉数据集[12]进行仿真实验.该数据集包含3 008 幅样本图像,其中1 400 个样本图像带有缺陷.数据集中共包含污点-1、污点-2、缺口、絮状杂质、高度缺损、毛刺、裂纹和其他共8 类缺陷(图5).其中,污点-1 与污点-2 指在注塑瓶盖表面出现的污点缺陷,两类缺陷的不同体现在污点颜色差异上;缺口指在注塑瓶口出现部分缺失;絮状杂质指由于塑胶分布不均的缘故,在产品定型时,出现的拉丝状杂质现象;高度缺损指注塑瓶盖在高度上,出现大尺度的缺损;毛刺主要发生在瓶口区域,体现为不均与毛刺;裂纹是因产品过渡挤压出现的断裂现象;其他缺陷包括了如划痕,碰撞形成的挤压等不常见的缺陷.

2.2 实验配置

SNDec模型采用卷积神网络ResNet50[17]作为检测模型的基本特征提取骨干网络.ResNet50网络由5组特征提取块(stage 0—stage 4)组成,在SNDec模型中,前2个特征提取模块stage 0和stage 1用于构建孪生网络双流视觉通道,所得差异化特征送入stage 2模块中.CBAM模块则被嵌在stage 3和stage 4之间,以增强模型对于缺陷特征的提取能力.

仿真实验在搭载NVIDIA GeForce RTX 3080 10 Gbyte GPU 的计算机上运行.所有图像大小调整为224×224 像素.模型训练时设置的的批量大小为16,学习率为 1×10-4,轮次为500.

2.3 仿真结果

SNDec模型可有效应对多标签分类任务.采用准确率(A)、总体精确率(Po)、总体召回率(Ro)、总体F1值(F1_o)、类精确率(Pc)、类召回率(Rc)和类F1值(F1_c)作为评价模型的性能指标.准确率从整体衡量模型的识别性能;总体精确率则针对带有缺陷的样本分析,衡量识别为缺陷样本中的正确比率;总体召回率反映模型对于有缺陷样本的召回能力;总体F1值则为模型的整体F1分类得分;Pc、Rc和F1_c则针对每一类来取得的评价分类结果.

表1展示了不同检测算法在瓶盖数据集中的多标签分类精度.VGG[18](Visual Geometry Group)、传统的ResNet50[17],以及常见的工业缺陷视觉检测算法1-NN[2]、U-Student[7]和GANomaly[8],加入到模型性能的比较中.SNDec 模型将特征差异空间与CBAM模块嵌入到ResNet50中,提升了对于工业缺陷特征的提取能力.由表1 可见,SNDec 模型在所有评价指标中都取得了最佳结果.其中,SNDec模型的准确率指标(A)比传统的ResNet50 网络模型提升了5.7%,比1-NN、U-Student 和GANomaly 模型也分别提高了4.7%、3.7%和2.3%.另一方面,对于工业品外观缺陷检测而言,避免有缺陷的产品流向市场是最重要的,因此,召回率也是考察检测模型性能的重要指标.SNDec模型的总体召回率指标(Ro)为90.1%,比传统的ResNet50网络模型提升了3.2%,比1-NN、U-Student 和GANomaly 模型分别提高了1.2%、2.2%和1.5%.可见,在6种针对工业生产的缺陷检测的模型中,SNDec模型在的误检率和漏检率方面都展现了最佳新能.

为更好地验证SN 和CBAM 模块对于提升模型性能的贡献,本研究开展了消融实验,仿真结果如图6.消融实验指在SNDec 模型中,人为去掉特定模型,通过模型性能来验证去掉模块的作用.其中,SNDecSN-模型为去掉了SN 模块,其他模块保持不变的SNDec 模型;SNDecCBAM-模型为去掉了CBAM 模块,其他模块保持不变的SNDec 模型;当SN 模块和CBAM 模块都去掉后,SNDec 模型记为SNDecSN-CBAM-.

图6 消融实验结果Fig.6 Results of ablation experiments.The blue line is SNDec model.The black line is SNDec model without SN module named as SNDecSN-.The red line is SNDec model without CBAM module named as SNDecCBAM-.The orange line is SNDec model without SN and CBAM modules named as SNDecSN-CBAM-.

图7 SNDec模型对工业缺陷目标定位结果(热力图表示缺陷位置)(a)样本图像;(b)热力图Fig.7 (a) Sample images and (b) the corresponding heat maps of the proposed model for industrial defect positioning,where the heatmaps indicate the defect positions.

从图6可见,去掉SN或CBAM 模块后,SNDec模型性能均有所下降,说明SN 和CBAM 模型均对模型性能有影响.另外,当SN 和CBAM 两个模块同时取消时,模型即为传统的ResNet50,性能下降最多.聚焦不同的性能指标,在去除掉相关特征细化模块后,A、Ro与Pc指标的值降幅最大.

MVTec数据集[19]是一个公开的工业缺陷视觉基准数据集.本研究分别使用SNDec、GANomaly 和ResNet50 模型,在MVTec 数据库的子集fabric4、tiles和sidewalk中进行仿真实验,结果如表2.由表2可见,SNDec 模型在fabric4、tiles 和sidewalk 子集上的总体精确率(Po)分别为89.9%、90.2% 和82.0%,比GANomaly 模型分别高出了2.1%、2.2%和0.9%,而比ResNet50 模型则分别高出了3.3%、3.2%和1.8%,SNDec模型性能最佳.类似地,针对总体召回率(Ro)和总体F1值(F1_o)指标性能,SNDec模型在3个子集上也表现了最佳性能.

针对SNDec模型的性能优势,分析如下:

1)基于孪生网络的差异特征提取是保证模型SNDec性能的关键因素.消融实验结果表明,差异特征提取模块对于SNDec模型性能的影响最大.将工业缺陷转化为特征差异,可极大地提升缺陷特征在视觉空间的响应,这对于小目标缺陷检测是非常有利的.

2)CBAM 模块进一步提升了SNDec 模型的性能.CBAM模块从通道和空间两个维度出发,助力SNDec 模型关注到有价值的区域,即缺陷特征区域,模型性能也因此得到了提升.

2.4 缺陷定位

SNDec 模型配合Grad-CAM 算法,能够实现缺陷目标定位.工业缺陷定位有助于更加准确地分析缺陷发生规律,明确缺陷发生的严重程度,帮助指导生产环节升级改造.根据Grad-CAM 算法理论[14],视觉分类模型的性能越高,结合Grad-CAM算法实现目标定位的精度越佳.表1 和表2 表明,由于SN 模块以及CBAM 模块的加入,SNDec 模型展现出了出色的视觉分类能力.下面将继续验证SNDec 模型配合Grad-CAM 算法可实现工业缺陷定位的性能.

图6展示了基于本研究提出算法的工业缺陷目标定位结果.热力图的颜色表示特征响应强度,颜色越深表示响应越大,即此处代表缺陷位置的概率越大.由图6 可见,SNDec 模型结合Grad-CAM 算法能够实现非常准确的工业缺陷位置定位.值得注意的是,即使是在同一样本上出现多类型缺陷时(图6 中前2 列图像),SNDec 模型仍能实现所有目标缺陷的定位,这对于工业流程改造是至关重要的.

结语

工业品缺陷视觉检测是保证产品质量,提升作业效率的有效途径.本研究基于ResNet50 深度学习网络,通过嵌入SN 与CBAM 模块,提出一种高性能的工业缺陷识别模型SNDec.SN 模块构成了特征差异空间网络,可将样本的缺陷特征转化为其与正常样本的特征差异,实现了不同工业缺陷的有效统一,最大程度地凸显了缺陷在视觉空间中的表达.另外,SN 模块的加入也提升了SNDec 模型的应用泛化性.针对小目标缺陷,SNDec模型通过引入CBAM注意力机制,并结合通道注意力和空间注意力策略,进一步提升了模型的检测性能.值得一提的是,SNDec 模型配合Grad-CAM 弱监督定位机制,能够很好地实现对工业品表面缺陷目标的定位.

但是,工业生产环节强调时效性,而本研究提出的模型体量过大,不利于在边缘算力上进行部署.另外,孪生网络中差异特征的计算需要目标位置的匹配作为前提,即待测目标的位置需要对齐.在未来的工作中,我们将致力于解决该问题,以提升模型的鲁棒性和稳定性.

猜你喜欢

特征提取注意力定位
让注意力“飞”回来
《导航定位与授时》征稿简则
Smartrail4.0定位和控制
基于Daubechies(dbN)的飞行器音频特征提取
找准定位 砥砺前行
“扬眼”APP:让注意力“变现”
Bagging RCSP脑电特征提取算法
A Beautiful Way Of Looking At Things
青年择业要有准确定位
基于MED和循环域解调的多故障特征提取