基于特征空间的无监督换向器表面缺陷检测

2021-02-14 06:23董泽宇姚剑敏李德财林坚普
电视技术 2021年12期
关键词:像素样本特征

董泽宇,叶 芸,姚剑敏,2,严 群,2,李德财,林坚普

(1.福州大学 物理与信息工程学院,福建 福州 350108;2.博感电子科技有限公司,福建 晋江 362200;3.福州大学 先进制造学院,福建 晋江 362200)

0 引 言

换向器是电机的关键部件,在电机运作时起到转换电流方向、维持线圈持续转动的作用。然而,实际生产中会不可避免地产出表面带有缺陷的换向器,这不仅会影响器件的使用寿命和质量,严重情况下还会造成生产事故。准确检测表面缺陷,是换向器制造过程中非常关键的环节。传统方法利用人工检测,效率低下且成本高。近年来,借助深度学习实现工业产品缺陷检测的技术得到了广泛研究。宋念龙等人[1]利用大量原始缺陷图像训练了一个深度卷积神经网络用于涂布缺陷检测。刘畅等人[2]通过改进U-net模型实现对磁瓦表面缺陷的检测。上述方法都采用有监督学习方式,训练网络时需要大量带标注的缺陷数据。然而实际生产中,由于缺陷产品数量稀少且样式繁多,导致缺陷数据收集困难,同时人工标注成本高且易引入人为偏差。因此,无需标注、仅利用正常数据开展检测的无监督缺陷检测方法[3]越来越受到关注。

无监督缺陷检测方法可分为基于图像空间的方法[4]和基于特征空间的方法[5]两类。基于图像空间的方法对测试样本进行无缺陷重构,对比重构图像与原图像的差异来检测缺陷。基于特征空间的方法将图像映射到特征空间,对比正常图像的特征分布与测试图像的特征间的差距实现缺陷检测。文献[6]的研究表明无缺陷重构的效果并不稳定,模型对于缺陷区域也具有较强的重构能力。在最新的研究工作中,基于特征空间的方法在多种数据集上获得了更好的缺陷检测效果[7]。

在基于特征空间的方法中,如何利用特征是关键。在提取特征时,文献[8]和文献[9]仅利用最后一层特征图来计算异常图或异常值,没有利用到浅层特征信息。文献[10]虽然利用了浅层特征,但在构建异常图时,对浅层特征的利用远少于深层特征,实际上依然主要依靠深层特征来实现缺陷检测。

基于以上考虑,本文提出一种基于特征空间的无监督换向器表面缺陷检测方法。该方法借助预训练的EfficientNet[11]网络的高效特征提取能力,同时设计了一种均衡使用不同深度特征构建异常图的方法,充分利用浅层特征;并且通过对每个像素建立分布,实现了像素级的缺陷检测与分割。

1 方法概述

本文提出的无监督缺陷检测算法流程如图1所示。整个系统可分为特征提取和缺陷检测两个阶段。在特征提取阶段,利用预训练的网络将训练数据映射到特征空间,提取不同深度的特征图,对每个像素建立多元高斯分布(Multivariate Gaussian Distribution,MGD)。在缺陷检测阶段,提取测试样本不同深度的特征图,计算特征图的每个像素与其对应高斯分布间的差距获得异常图,利用异常图实现缺陷检测和分割。

图1 无监督缺陷检测算法流程图

1.1 特征提取阶段

1.1.1 特征映射网络

现存的无监督缺陷检测方法将图像映射到特征空间时,多依赖由正常数据训练的自编码器(Autoencoder,AE)[12]和生成对抗网络(Generative Adversarial Network,GAN)[13]。然而在工业缺陷检测中,由于开源工业数据数量稀少且种类单调,难以利用大量数据训练参数,导致检测效果不尽如人意。为了应对训练集数据缺乏的问题,本文使用迁移学习技术,将在ImageNet数据集上预训练的EfficientNet作为特征映射网络,并冻结预训练模型的卷积层参数。

EfficientNet[11]是同时利用多目标神经网络架构搜索(Multi-Objective Neural Architecture Search,MONAS)方法和混合放缩方法得到的一种卷积神经网络(Convolutional Neural Networks,CNN)结构,平衡了影响模型准确率的3个因素(网络宽度、网络深度及图像分辨率),在ImageNet数据集上以更少的计算量达到了更高的准确率。

综合考虑模型在ImageNet数据集上的表现与参数规模,本文选择使用EfficientNet-b4作为默认的特征映射网络,网络结构如表1所示。

表1 EfficientNet-b4网络结构

1.1.2 特征分布建模

本文使用ΧN代表训练集(∀x∈ΧN,yx=0),yx∈{0,1}代表输入图像含有缺陷区域(yx=1)或无缺陷区域(yx=0)。对于在ImageNet数据集上预训练的EfficientNet-b4网络,本文使用φ代表,用于将输入图像映射到特征空间。当图像xi输入特征映射网络φ时,在不同深度的网络层会获得分辨率大小不一的特征图,φi,j=φj(xi)表示图像xi在网络φ第j层生成的特征图。考虑到浅层特征包含的语义信息简单,如纹理等细节信息,深层特征包含更抽象的语义信息,本文综合利用不同深度的特征图来完成缺陷检测任务。实验中对于EfficientNet-b4网络默认使用表1中模块4、5、7的输出特征图,即j∈{4,5,7}。

对于特征图φi,j∈C×H×W,其通道数为C,高度为H,宽度为W。本文使用φi,j(h,w)=φj(xi,h,w)∈C代表位于第j层特征图中(h,w)像素处的向量,维度为C,其中h∈{1,…,H},w∈{1,…,W}。特征图φi,j中的每个像素都对应于原图xi中一块更大的感受野。为了实现对缺陷区域的像素级分割,本文利用正常数据对所提取的特征图的每个像素分别建立分布。对于第j特征图的(h,w)处像素,首先提取训练集中所有图像xi∈ΧN,(i=1,…,N)的向量φi,j(h,w),并假设所有向量符合一个多元高斯分布其中μhw是均值向量,,∑hw是协方差矩阵,计算公式如下:

式(2)中加φ入正则项μεI,使协方φ差矩阵,∑μhw满秩且可逆。通过上述运算,对于任意第j层特征图的任意(h,w)处像素,都获得一个拟合正常数据分布的多元高斯分布

1.2 缺陷检测阶段

1.2.1 异常图计算

考虑到文献[8-10]中的方法并未充分利用浅层特征信息,而浅层特征包含丰富的纹理细节信息,这对于完整地分割缺陷区域必不可少,因此本文提出对不同深度的特征图分别建立异常图,统一上采样至输入图像大小,并通过对应位置元素相乘获得最终的异常图,这样使得浅层与深层的特征信息在构建最终异常图时的贡献度更加均衡。

本文使用ΧT,代表测试集中的样本集合(∀x∈ΧT,yx={0,1}),对于第j层特征图的(h,w)处像素,测试样本xt的向量为φi,j(h,w),上一步中,由式(1)、式(2)已获得该位置的正常数据分布本∑文通过计算马φ氏距离μ作为φ该 像素处μ的异常值Mt,j(h,w),公式如下:

相比于受不同度量标准影响的欧氏距离,马氏距离不仅排除了向量各维度间相关性的干扰,还通过标准化消除了不同度量标准的影响。在对测试样本xt的第j层特征图上所有像素计算异常值后,获得代表xt第j层的异常图Mt,j,其分辨率与该层特征图相同。在计算测试样本xt的最终异常图时,由于不同层异常图尺寸不同,首先采用双线性插值法将异常图Mt,j上采样至输入图像大小,然后使用Min-Max归一化操作,最后将不同层异常图对应位置元素相乘。计算公式如下:

此时获得与输入图像尺寸一致的异常图,用于实现缺陷分割。

1.2.2 异常值计算

异常图mapt中的大值意味着该像素属于缺陷区域,本文选择使用异常图中的最大值作为代表测试样本xt,的异常值,如式(5)所示:

异常值scoret的大小意味着该测试样本xt含有缺陷区域的可能性大小。通过设定阈值δ1并与异常值scoret比较来决定测试样本xt是否属于缺陷样本,异常值大于等于δ1则为缺陷样本。通过设定阈值δ2并与异常图mapt中每个像素的异常值mapt(h,w)比较来决定像素是否位于缺陷区域,异常值大于等于δ2则为缺陷像素。

2 实验结果与分析

2.1 实验数据

本文实验使用Kolektor团队开源的KolektorSDD2数据集[14],由3 335张采集自实际工业环境中的换向器表面图像组成,包含356张缺陷图像,并提供有像素级的缺陷标注,将部分缺陷图像的缺陷区域裁剪,如图2所示。

图2 换向器表面缺陷示例图

本文方法采用无监督学习方式,训练集中仅包含无缺陷图像。实验使用的训练集和测试集数据分布如表2所示。由于数据集中的图像尺寸大小不一,实验前使用双线性插值算法统一将所有图像放大至704×256像素。

表2 KolektorSDD2数据集的样本分布

2.2 评估标准

考虑到实际生产中样本分布不均匀、负样本(正常产品)数量远多于正样本(缺陷产品),本文使用ROC曲线下面积(Area under the ROC Curve,AUROC)作为评估标准。因为ROC曲线受样本分布影响较小,其纵坐标为真阳性率(True-Positive Rates,TPR),横坐标为假阳性率(False-Positive Rates,FPR),计算公式如下:

式中:TP代表正确的正样本数目,TN代表正确的负样本数目,FP代表错误的正样本数目,FN代表错误的负样本数目。

为了评估方法对缺陷检测与分割的性能,本文计算两种标准下的AUROC值:

(1)检测AUROC,以图像为判断个体,判断图像是否包含缺陷区域;

(2)分割AUROC,以像素为判断个体,判断像素是否位于缺陷区域。

2.3 检测与分割结果

表3 对比了本文方法与目前最新同时效果较好的基于特征空间的无监督缺陷检测方法SPADE[8]、PaDim[10]在KolektorSDD2数据集的缺陷检测与分割结果。可以发现,在平衡地利用不同深度的特征信息后,本文设计的方法对缺陷区域实现了更高精度的识别与分割,检测AUROC达到98.7%,分割AUROC达到98.0%,好于另外两种方法。

表3 不同方法在KolektorSDD2上的检测与分割结果对比

本文对比显示了表3中不同方法的实际缺陷分割效果示例,同时给出当本方法仅利用浅层信息(模块4的输出特征图)时的缺陷分割效果图,如图3所示。对比可发现,当对浅层信息利用不充分时,方法对于缺陷区域的边缘检测不完整、不精确,如图3(c)和图3(d)的第一列和第三列;当仅利用浅层信息时,又容易对不必要的纹理细节过于敏感,产生大量误检的小区域,如图3(e)的第二列和第四列。通过平衡利用不同深度的特征信息,本方法能够对缺陷区域实现轮廓更精确和完整的分割。

图3 不同方法的缺陷分割效果图对比

2.4 消融实验

2.4.1 特征映射网络

为了验证使用EfficientNet作为特征映射网络的性能优势,同时测试本文方法对于不同特征映射网络模型是否具有鲁棒性,实验其他网络结构作为特征映射网络时的缺陷检测效果,结果如表4所示。在ImageNet数据集上对6种网络预训练后,冻结卷积层参数,分别利用它们将输入数据映射到特征空间并测试缺陷检测效果。在提取不同深度的特征图时,对于不同模型,分别选择和EfficientNet-b4所用特征图相同分辨率的特征图层。6种模型的缺陷检测ROC与分割ROC如图4所示。

图4 不同模型的ROC对比

表4 特征映射网络的消融实验结果

从图4可以发现,最佳的缺陷检测结果在使用本文默认网络EfficientNet-b4时达到(检测AUROC=98.7%,分割AUROC=98.0%)。当使用参数量只有EfficientNet-b4模型约1/4大小的EfficientNet-b0网络时,本方法仍可以达到较高的性能。对比参数量更大的ResNet系列模型的表现,可以发现EfficientNet系列模型在本方法中具有更好的特征映射能力。当使用SqueezeNet网络时,缺陷检测结果较差,这是因为该模型参数量太少,无法学习到高效的特征表达能力,但通过本方法仍可以实现90.9%的缺陷检测精度。综合来看,本方法对于特征映射网络具有一定的鲁棒性,当使用大多数网络模型时,都能实现较好的缺陷检测与分割能力。

2.4.2 训练样本数量

考虑到表面缺陷检测的实际效果易受训练集中正常样本数量的影响,以及现存开源工业数据集的数据量较少的现状,本文进一步测试训练样本数量对于本方法的影响。使用KolektorSDD2数据集,保持测试集不变,分别实验当随机选取100%、50%、30%、10%、3%训练样本时的缺陷检测表现,结果如表5所示。可以发现,本文方法对于训练数据量的变化具有鲁棒性,当使用30%(626张)训练数据时,本方法的检测精度仅下降0.4%,分割精度下降1.0%;当训练数据量下降到3%(63张)时,检测精度下降2.0%,分割精度下降2.7%,仍保持较好的检测水准。这可能是由于使用ImageNet数据集预训练的模型来做特征映射,模型本身的性能不受训练集数据量影响,从而保持了较好的稳定性。综上,本方法的检测性能对于训练数据量变化不敏感,可以很好地应用于训练集较小的缺陷检测场景。

表5 训练样本数量的消融实验结果

3 结 语

针对换向器表面缺陷检测任务,结合实际生产中缺陷样本数量少、人工标注成本高的现状,本文设计了一种基于特征空间的无监督换向器表面缺陷检测方法。本文方法借助预训练的EfficientNet网络提高了特征提取能力,并通过对特征图每个像素建立高斯分布实现像素级缺陷分割,均衡利用不同深度的特征图构建异常图,使得对于缺陷区域的轮廓检测更精确和全面。相比其他无监督缺陷检测方法,本方法在KolektorSDD2数据集上达到了98.7%的缺陷检测精度和98.0%的缺陷分割精度。消融实验证明,在小规模训练数据场景下,本方法仍具有较高的检测能力。

猜你喜欢
像素样本特征
像素前线之“幻影”2000
用样本估计总体复习点拨
如何表达“特征”
“像素”仙人掌
不忠诚的四个特征
推动医改的“直销样本”
ÉVOLUTIONDIGAE Style de vie tactile
抓住特征巧观察
随机微分方程的样本Lyapunov二次型估计
高像素不是全部