基于CA-EfficientDet的棉布瑕疵检测方法

2022-03-10 09:35徐天伦李波胡文杰姚为
关键词:棉布划痕瑕疵

徐天伦,李波,胡文杰,姚为

(中南民族大学 计算机科学学院,武汉 430074)

在棉布生产工业中,缺陷检测是棉布产品质量控制的重要组成部分,旨在及时有效地检测出有缺陷区域的织物产品以减少由这些劣质产品引起的额外经济损失.近年来,基于机器视觉方法的棉布瑕疵检测也逐步在企业得到应用[1].

1980 年以来,在织物缺陷检测领域已经有了很多研究成果.传统的棉布瑕疵检测方法分别为频谱法(小波变换[2]、Gabor 变换[3])、统计法(数学形态学法[4]、直方图统计法[5])、模型法(隐马尔科夫模型[6])等.基于Gabor 滤波的织物缺陷检测方法主要使用Gabor 滤波器提取图像的语义特征[7].采用数学形态学方法增强图像中的缺陷区域.这些传统的缺陷检测方法可以在某些特定的织物产品(无图案或规则图案的背景)上获得良好的效果,然而大多需要基于预定义的特征或手工特征,包括统计特征、结构特征和图像的光谱特征[8].这意味着模型参数的配置需要一些先验知识或针对特定问题的研究.当具有新设计模式的织物产品出现时,必须修改甚至重新设计这些检测方法.

随着深度卷积神经网络(CNN)和图形处理单元(GPU)计算能力的发展[9],许多研究人员越来越重视基于CNN 等深度学习方法的目标检测模型[10],如Fast RCNN[11]、Faster RCNN[12]等两阶段检测器模型框架,这类模型首先生成一些Proposal,然后对它们进行分类,能实现较好的检测效果,但导致步骤繁琐,检测速度较慢.一阶段检测器SSD[13]、YOLO 等模型框架省去Proposal 生成过程[14],输入整张图像后直接在输出层回归出目标位置和类别,从而得到较快的检测速度.基于深度学习和神经网络模型的缺陷检测方法在速度、精度和适应性上都有了较大的提升,成为了目前最为主流的研究方向.

为了进一步提高棉布生产过程中瑕疵检测算法的精度,本文结合通道注意力机制和高效的EfficientDet 目标检测模型[15]提出了一种基于CAEfficientDet 的棉布瑕疵检测方法,改进了BiFPN 特征融合,增加了不同层级的特征融合,提高了多尺度特征融合的效率.由于在工业生产中棉布瑕疵的样本非常少,基于CA-EfficientDet 的棉布瑕疵检测方法采用了数据增强的策略,在小目标和低对比度样本的条件下,瑕疵样本检测的精确率和速度都优于目前使用的检测方法.

1 EfficientDet基本原理

EfficientDet 是谷歌在2020 年提出的目标检测模型,EfficientNet作为主干特征提取网络[16],对于不同设备和计算资源的限制,分别包含了D0~D7 总共8个版本.EfficientDet提出了一种加权双向特征金字塔网络(BiFPN),允许简单快速的多尺度特征融合;还提出了一种复合缩放方法,同时均匀地缩放所有骨干网络的分辨率、深度和宽度.EfficientDet-D0有3层BiFPN堆叠,算法模型如图1所示[15].

图1 EfficientDet-D0网络结构Fig.1 Network structure of EfficientDet-D0

EfficientDet 提出了一种新的缩放方法,使用复合系数φ均匀地缩放网络深度、宽度和分辨率,该方法的公式如(1)~(3)式:

其中,α、β、γ是可以通过小网格搜索确定的常数,φ是一个用户指定的系数,可用于模型缩放控制资源分配,而α、β、γ分别指定如何将这些额外资源分配给网络深度、宽度和分辨率.

EfficientDet 提出了加权双向特征金字塔网络BiFPN(Weighted Bi-Directional Feature Pyramid Network)使用了以下几种优化方法:(1)删除只有一条输入边的节点;(2)在同一级别的输入节点到输出节点添加额外的边;(3)拥有自顶向下和自底向上两条融合特征路径.

为了解决不同的输入特征处于不同的分辨率贡献输出不均的问题,为每个输入添加额外的权重,让网络了解每个输入功能的重要性,使用了快速归一化特征融合方法,O是特征融合的结果,公式如下:

其中,wi和wj是可学习的权重,Ii是向量,为避免数值不稳定性ε取值0.0001.快速融合方法与基于Softmax 的融合方法具有非常相似的学习行为和准确性,其中wi≥0,再通过Relu之后来确保数值的稳定,融合特征在第6层的情况公式如下:

2 CA-EfficientDet模型设计

2.1 主干特征提取网络

EfficientNet 是EfficientDet 主干特征提取网络,EfficientNet-B0的网络框架(B1-B7是在B0的基础上修改Resolution、Channels 以及Layers)总共分成了9个Stage.第一个Stage 是一个卷积核大小为3×3、步长为2 的普通卷积层(包含BN 和激活函数Swish).Stage2~Stage8 都 是 在 重 复 堆 叠MBConv 结 构(Layers 表示该Stage 重复MBConv 结构多少次).Stage9 由一个普通的1×1 的卷积层(包含BN 和激活函数Swish)、一个平均池化层和一个全连接层组成.每个MBConv 有值为1或6的倍率因子n,即MBConv中第一个1×1 的卷积层会将输入特征矩阵的Channels 扩 充 为n倍,k3×3 或k5×5 为MBConv 中Depthwise Conv 所采用的卷积核大小.Channels 表示通过该Stage后输出特征矩阵通道.

2.2 MBConv结构引入注意力模块

注意力机制在特征提取时关注重要的信息,SE注意力[17]对模型性能的提升具有显著效果,但通常会忽略位置信息,而位置信息对于生成空间选择性attention maps 是非常重要.与通过二维全局池化将特征张量转换为单个特征向量的通道注意力不同,本文使用CA 注意力模块[18],将通道注意力分解为两个一维特征编码过程,分别沿两个空间方向聚合特征,高度和宽度的通道输出分别为:

其中,H和W分别为垂直和水平方向上的坐标,xc为通道特征映射.这样可以沿一个空间方向捕获远程依赖关系,同时可以沿另一空间方向保留精确的位置信息;然后,将生成的特征图分别编码为一对方向感知和位置敏感的attention maps,可以将其互补地应用于输入特征图,以增强关注对象的表示.EfficientNet 使用的MBConv 结构主要由一个1×1 的普通卷积(升维作用,包含BN 和Swish)、一个k×k的Depthwise Conv 卷积(包含BN 和Swish)、一个1×1 的普通卷积(降维作用,包含BN)、一个Dropout 层构成.为了让模型忽略无关信息而关注重要信息,将通道中嵌入位置信息的注意力模块融合到MBConv结构中,提升模型的检测能力,改进的MBConv 网络结构如图2所示.

图2 融合CA模块的MBConv网络结构Fig.2 MBConv network structure with CA module

2.3 改进的BiFPN特征融合策略

EfficientDet 使用的BiFPN(高效的双向跨尺度连接和加权特征融合),使用双向的特征融合路径提高了高层级和低层级之间特征信息的传输效率,加入跳跃连接融合更多特征信息,删除只有一个输入的节点以简化网络.但BiFPN 不同层级之间也存在丰富的特征信息,为了更加充分地利用不同层级的语义和位置信息,本文在BiFPN 的基础上进行改进,增加了不同层级之间的特征融合,提升网络性能,网络结构如图3所示,红色线条为加入的特征融合路径.改进的BiFPN 特征融合在第6 层的公式如下

图3 改进的BiFPN网络结构Fig.3 Network structure of improved BiFPN

式中的变量见上文变量含义说明.

3 实验与结果分析

3.1 样本数据增强

实验数据集来自于企业提供的4360 张棉布瑕疵样本,瑕疵样本类型可分为点状瑕疵point、划痕状瑕疵stride、线条状瑕疵line 等类型,如图4 所示.由于在高速摄像机采集棉布瑕疵样本的过程中,出现瑕疵样本的情况较少,且有大量重复和相似的瑕疵样本,实际有效瑕疵样本为94 张,其中点状瑕疵为65张,划痕状瑕疵为6张,线条状瑕疵为23张.实验中对样本集进行了增强,每轮训练前采取将原图翻转、旋转、改变亮度、改变尺寸、加入噪声等方式随机增强,训练1000 轮,增广后的数据为原来的1000 倍,线性数据增强是当前一种新颖的增广方式,得到的样本比常规增广方法更加丰富,可增强模型的鲁棒性.将图像裁剪成416×416 的统一大小输入神经网络进行训练,得到的部分数据增强效果如图5所示.

图4 棉布瑕疵样本类型Fig.4 Cotton defect sample types

图5 数据增强效果Fig.5 Effect of data enhancement

3.2 实验环境与参数设置

实验环境主要包括:硬件环境是64 位的Windows操作系统,NVIDIA Tesla P40 24GB的显卡;软件环境是Pycharm 编程平台下Python3.6,深度学习框架为Pytorch1.4 和Cuda9.2.由于显卡计算能力限制且更高的版本精确率提升较小,实验选择的目标检测框架为EfficientDet-D3版本.

训练过程中使用VOC2007 数据集预训练权重,用迁移学习的方法微调网络模型的参数值,动量值为0.9,学习率为0.001,批处理大小为4,权重衰减速率为0.0005,迭代次数为1000 次,使用Adam 优化器动态调整参数的学习步长,损失函数为Focal Loss,IoU 为0.5,当预测框与标记框重合比例达到0.5,则为正确预测.样本数据集划分为10等份,9份用于训练,1 份用于测试,其中有瑕疵图片为正样本,无瑕疵图片为负样本.

3.3 企业样本集实验结果及分析

棉布瑕疵检测需要得到目标检测框的位置信息和分类结果.评估指标主要包括精确率(P)、召回率(R)、平均精确率(AP)、精度和召回率的调和平均数(F1)和平均AP(mAP),公式如(11)~(15)式:

其中,TP是检测为正样本且实际为正样本的例子,FP是检测为正样本但实际为负样本的例子,FN是检测为负样本但实际是正样本的例子.点状瑕疵、划痕状瑕疵和线条状瑕疵的精确率分别为98.82%、77.89%和96.67%,F1分数为分别为85.34%、74.60%和91.10%.精确率、召回率和F1 分数都存在单点值的局限性,平均精确率AP是最能反映全局性能的指标,3 种瑕疵类型的平均精确率AP分别为88.99%、78.91%和97.80%,mAP为88.57%,结果如图6所示,由此可见模型训练结果具有良好的分类检测能力.

图6 点状、划痕状和线条状瑕疵的平均精确率Fig.6 Average precision of point,stride and line defects

为了体现该棉布瑕疵检测模型的分类检测能力,将该模型与目前常用的模型进行对比实验,包括一阶段目标检测模型Yolo v4、两阶段目标检测模型Faster RCNN 和CA-EfficientDet-D0 版本,这几种模型的检测效果对比如图7 所示.Faster RCNN 模型可以正确分类点状和线条状的瑕疵,但把划痕状瑕疵错误分类为点状瑕疵,由于划痕状瑕疵样本比例相对较少,模型训练的分类检测能力较弱以至于把该划痕瑕疵错误分类.Yolo v4 模型正确分类点状和线条状瑕疵,而把划痕状瑕疵同时预测分类为点状瑕疵和划痕状瑕疵,该瑕疵没有完全错误分类,但分类能力还不理想.CA-EfficientDet-D0 模型只能正确分类线条状瑕疵,把点状瑕疵错误分类为划痕状瑕疵,划痕状瑕疵错误分类为点状瑕疵,该模型对于特征比较接近的小目标分类预测能力较弱.CAEfficientDet-D3可以正确分类点状、划痕状和线条状瑕疵,可见该模型对样本比例较少的瑕疵类型和特征较为接近的小目标都有较好的分类检测能力.这几种目标检测模型的效果对比图显示:CAEfficientDet-D0 版本的模型的检测能力比Faster RCNN 模型更好,比Yolo v4 稍差一些但锚框精度更高,CA-EfficientDet-D3 模型的分类能力和检测精度都明显高于Yolo v4 和Faster RCNN,具有较好的棉布瑕疵目标检测能力.

图7 几种目标检测模型效果对比Fig.7 Effect comparison of several target detection models

以上几种目标检测模型用棉布瑕疵样本对比实验的相关指标Ppoint为点状瑕疵的精确率,Pstride为划痕状瑕疵的精确率,Pline为线条状瑕疵的精确率,F1point为点状瑕疵的F1 分数,F1stride为划痕状瑕疵的F1 分数,F1line为线条状瑕疵的F1 分数,APpoint为点状瑕疵的平均精确率,APstride为划痕状瑕疵的平均精确率,APline为线条状瑕疵的平均精确率,mAP为所有类的AP平均值,mAP值最能衡量目标检测模型的分类检测能力.由于样本集瑕疵类型比例不均衡的特点,划痕状瑕疵占比过少,且部分划痕状瑕疵与点状瑕疵特征较为接近,划痕状瑕疵类型的各项指标数值相对较低,尤其是在检测能力较弱的模型中,由于划痕状样本数量不平衡,导致F1 分数相对较低.由表1可知,CA-EfficientDet-D3模型的mAP比CA-EfficientDet-D0 版本 高出22.30%,比Faster RCNN 模型高出35.56%,比Yolo v4 高出14.15%,分类检测能力较好.CA-EfficientDet-D3 模型检测一张图片的时间为1.69 s,检测速度大约是Faster RCNN模型的5 倍,大约是Yolo v4 模型的1.6 倍,由于CAEfficientDet-D3 模型网络结构中又加了3 层BiFPN模块堆叠以达到更好的特征融合效果,增大了模型的网络参数和时间开销,检测时间相比于CAEfficientDet-D0 增加了,但仍满足实时要求,且在检测速度上相比其他模型有着更好的表现.可见,本文提出的CA-EfficientDet-D3 目标检测模型在分类检测能力和检测速度上均优于目前主流的目标检测模型,且在样本不均衡时依然具有高效的目标检测能力.

表1 几种目标检测模型对比Tab.1 Comparison of several target detection models

3.4 消融实验

为了评价目标检测模型检测能力提升的重要性,对改进的BiFPN 模块和通道注意力模块进行了一系列的消融实验,基本的EfficientDet-D3 框架为目标检测模型的baseline.由表2 可知,基于baseline的mAP值只有85.90%,只加入改进的BiFPN 模块mAP提升了1.15%,只加入通道注意力模块mAP提升了2.17%,加入改进的BiFPN 模块和通道注意力模块mAP提升了2.67%,改进的BiFPN 模块和通道注意力模块在提升检测精度的同时,增加了网络模型的参数,会增加时间开销,工业生产中目前的检测方法已经基本达到实时性要求,因而更加重视检测精确率的提升.可见EfficientDet-D3 模块加入改进的BiFPN模块和通道注意力模块后具有更优的棉布瑕疵检测能力.

表2 模型消融实验Tab.2 Model ablation experiment

3.5 MVTec AD公开数据集测试

棉布的材质和纹理图案的复杂多样性对棉布检测方法提出了更高的要求,为了检验算法的适应性,在MVTec AD 公开数据集[19]进行测试.MVTec AD 包含15 种工业缺陷数据集,选择其中的布匹缺陷样本Carpet进行测试,瑕疵种类包括染色瑕疵、金属瑕疵(金属划破的瑕疵)、破洞瑕疵.布匹缺陷样本共50 张,染色瑕疵样本18 张,金属瑕疵样本16张,破洞瑕疵样本16 张.布匹缺陷样本的部分瑕疵类型检测结果如图8 所示,模型训练和测试的结果可得染色瑕疵的AP值为91.76%,金属瑕疵的AP值为89.93%,破洞瑕疵的AP值为90.34%,布匹缺陷样本瑕疵检测的mAP为90.68%,在不同纹理背景下依然具有很好的检测能力,表明该检测算法具有良好的适应性.由表3 可见,由于企业样本集样本不均衡,并且弱对比度的样本特征相对不明显,目标检测模型在MVTec AD 数据集上的各项指标均优于企业样本数据集,表明提高数据集的质量,该模型会有更高效的棉布瑕疵检测能力.本文对该公开数据集和其他已有工作进行对比.采用其他文献[19]使用AUC 来衡量检测性能的指标,见表4,公开数据集中布匹缺陷类别的样本使用AE(SSIM)方法[19]得到的AUC 为0.87,本文方法得到的AUC 值为0.93,在AUC 指标上也有一定的提升. 可见,基于CAEfficientDet的棉布瑕疵检测方法在公开数据集上也有良好的表现.

表3 本文模型的不同数据集结果对比Tab.3 The comparison results of different data sets of this model

表4 检测方法对比Tab.4 Comparison of detection methods

图8 公开数据集的测试结果Fig.8 Test results of public data sets

4 结论

本文结合通道注意力机制和EfficientDet 目标检测模型提出了基于CA-EfficientDet 的棉布瑕疵检测方法,在特征提取时关注重要的信息.改进的BiFPN 特征融合,增加了不同层级的特征融合,提高了多尺度特征融合的效率.在棉布瑕疵样本上的实验结果表明:基于通道注意力机制的高效棉布瑕疵检测模型具有良好的目标检测能力.未来的相关工作中,将从以下3 个方面进行改进:(1)棉布瑕疵样本很少,针对小样本数据集的特征,提高模型对小样本数据集的目标检测效果;(2)模型在检测精度大幅度提升的同时,网络模型的参数也变得更大,增加了时间开销,以后还要研究如何压缩目标检测模型的大小;(3)在样本数据集类别不均衡的情况下,提高模型的检测能力.

猜你喜欢
棉布划痕瑕疵
哦,瑕疵
哦,瑕疵
用棉布废料制成的环保气凝胶
医用无纺布与棉布包装材料阻菌效果的研究
冰上芭蕾等
米染染的碎花棉布裙
汽车划痕擦擦就掉神奇抹布一品一码美国原装进口谁做谁赚
汽车划痕擦擦就掉神奇抹布一品一码美国原装进口谁做谁赚
包在棉布里的雪糕