多尺度特征自适应融合的轻量化织物瑕疵检测

2022-12-13 13:53杨毅桑庆兵
计算机工程 2022年12期
关键词:瑕疵残差织物

杨毅,桑庆兵

(江南大学人工智能与计算机学院,江苏无锡 214122)

0 概述

织物质量检测一直以来都是纺织产业生产加工中的重要环节,织物瑕疵的出现会直接影响企业的利润。随着企业生产效率不断提升,传统人工检测的方法已不能适应大批量自动化生产检测的要求[1]。因此,采用自动疵点检测技术已成为提高织物质量、降低人工成本的必然趋势[2],但是机器自动检测织物瑕疵的效率和准确性仍面临较大挑战。

传统织物瑕疵检测方法主要分为结构法、统计法、频谱法、模型法、基于学习的方法等[3]。MIRMAHDAVI等[4]将无瑕疵样本输入高斯混合模型训练,通过实验设定欧氏距离阈值进行瑕疵检测。文献[5]利用织物纹理的周期性,通过匹配缺陷位置的相对偏移量和傅里叶位移定理曲线,分割出织物瑕疵部分。然而,传统算法存在缺陷分割性能差、噪声敏感、漏检率高等问题。随着计算机算力的快速提升,深度学习被广泛应用于织物视觉计算与处理领域。LIU等[6]提出一种基于CGAN[7]的多判别器模型,研究潜在匹配规则和服装属性之间关系,ZHAO等[8]开发了一个基于 双向长短期记忆Bi-LTSM[9]模型的端到端服装搭配学习框架,ZHANG等[10]提出使用GAN[11]从人体穿着服装图像生成具有真实纹理的平铺服装图像。在织物瑕疵检测任务中,深度学习方法具有较强的特征表征能力。文献[12]采用深度学习方法,通过改进ResNet50[13]网络提取特征,使用特征金字塔网络过滤冗余特征,实现对织物瑕疵的检测。以上检测方法解决了部分织物瑕疵检测问题,但目前织物检测存在缺陷种类多,尤其是小目标缺陷较多,对实时性要求高的问题,给深度学习方法的应用带来一定困难。

为满足织物瑕疵数据检测任务实时性需求,本文将YOLOv4[14]网络的主干网络替换为MobileNetv2[15],并使用CoordAttention[16]模块对MobileNetv2 的逆残差结构进行改进,增强其对小目标瑕疵的特征提取能力。采用自适应特征融合(Adaptively Spatial Feature Fusion,ASFF)[17]网络改进路径聚合网络(Path Aggregation Network,PANet)[18]结构,提高小目标缺陷检测精度。针对不同种类瑕疵长宽比差异大、原始先验框尺寸不适用的问题,使用K-means++[19]算法进行瑕疵尺寸聚类,确定锚框尺寸,并采用Focal Loss[20]函数降低正、负样本不平衡对检测效果的影响。

1 YOLOv4 与MobileNetv2结构

目标检测算法根据有无区域建议主要分为两类:一类是无区域建议算法,通过一个卷积神经网络直接对图像各个位置上的候选框进行预测和分类,例如YOLOv4[14]与SSD[21];另一类是基于区域建议的算法,由区域提议和检测2 个步骤组成,相较于无区域建议算法,其精度较高但速度慢,代表网络有Faster R-CNN[22]等。

YOLOV4 是无区域建议目标检测算法的代表之一,其结构如图1 所示。其主干网络CSPDarknet-53在YOLOv3[23]网络的Darknet53 基础上引进了CSPNet[24]模块结构,相较于Darknet53 网络,模型预测的准确率和推理速度均有所提高。颈部网络包括空间金字塔池化(Spatial Pyramid Pooling,SPP)[25]和PANet 两个部分,SPP 通过使用不同大小的滑动核,有效增加了网络感受野,并将局部与全局的特征进行融合,增加了特征的丰富性。PANet 相较于FPN[26]网络增加了自下而上的增强路径,通过保留空间信息以增强实例分割过程。头部网络采用YOLOv3 网络检测头,分别提取主干特征网络最后3 层的图像特征,生成边界框和类别预测。

图1 YOLOv4 网络结构Fig.1 Structure of YOLOv4 network

YOLOv4 原始主干网络CSPDarknet-53 虽然能有效提取深度特征信息,但结构复杂且参数量多,导致难以应用于计算资源较差、实时性要求高的织物瑕疵检测任务中。

MobileNetv2 是一种轻量化的特征提取网络,其核心为深度可分离卷积和具有线性瓶颈的逆残差结构,具体如下:

1)深度可分离卷积。相较于普通卷积,深度可分离卷积能有效减少模型的参数量和计算量,其流程如图2 所示。

图2 深度可分离卷积流程Fig.2 Procedure of depth separable convolution

对于输入为FH×FW×M的特征图,FH、FW分别为特征图的高和宽,M为通道数,对特征图进行卷积操作,卷积核大小为K×K,卷积核数量为N,输出特征图大小为DH×DW×N,在对特征图进行标准卷积的过程中,计算量C1和参数量P1的表达式如下所示:

对特征图进行深度可分离卷积运算,计算量C2和参数量P2的表达式分别如下所示:

深度可分卷积与标准卷积计算量之比如式(5)所示:

若将深度可分离卷积的卷积核大小设为3×3,步长设置为1,按式(5)进行计算,其计算量下降为普通卷积的1/9,模型检测速度得到大幅提高。

2)具有线性瓶颈的逆残差结构。普通残差块先通过1×1 卷积将特征图通道数降维,经过卷积提取特征后再扩张通道数。逆残差结构与其相反,由于输入通道数的增加有利于深度可分离卷积提取特征,所以先对特征图通道数进行升维,以提取更多特征,再压缩通道数。同时,为了消除Relu 函数对被压缩特征的影响,在1×1 卷积降维后使用Linear 函数代替Relu 函数。

表1 所示为MobileNetv2 网络的结构,可以看到MobileNetv2 网络由多个具有线性瓶颈的逆残差结构组成。

表1 MobileNetv2 网络结构Table 1 Structure of MobileNetv2 network

2 模型结构与优化

2.1 MobileNetv2 逆残差结构优化

在轻量级网络上的研究表明,通道注意力会给模型带来较显著的性能提升。为提高模型对瑕疵特征提取能力,本文在MobileNetv2 逆残差块中加入新型注意力机制CoordAttention 模块,如图3 所示,通过将位置信息嵌入到通道注意力中,使网络能够更好地获取空间方向的特征信息,使小目标检测定位更加精确,同时也能避免产生大量的计算开销。

图3 加入CoordAttention 模块的逆残差结构Fig.3 Inverse residual structure with CoordAttention module

CoordAttention 的运算过程由坐标信息嵌入和坐标注意力生成两步组成,具体过程如下所示:

1)坐标信息嵌入。相对于全局池化压缩全局空间信息,导致位置信息难以保存,CoordAttention 模块使用一对一特征编码操作替换全局池化,并分别沿2 个空间方向聚合特征,得到一对具有空间信息的特征图,从而有利于网络更准确地定位感兴趣的目标。

2)坐标注意力生成。将生成的特征图进行拼接,然后使用1×1 卷积生成具有水平和垂直方向空间信息的特征图,如式(6)所示:

其中:[·,·]为沿空间维数的concatenate 操作;F为1×1卷积变换函数;δ为非线性激活函数;zh、zw分别为水平与竖直方向特征图。得到同时具有水平、竖直方向空间信息的特征图之后,按空间维度将f分解为两个独立的张量,并使用1×1 卷积与sigmoid 激活函数对张量分别进行处理,将结果gh、gw分别展开作为水平与竖直方向的注意力权重,其表达式如下所示:

其中:σ是sigmoid 激活函数;Fh和Fw为1×1 卷积变换。将权重与输入的特征图相乘,使原始特征图具有注意力权重,增强聚焦特征能力。使用嵌入CoordAttention 模块的逆残差替换原网络中的逆残差结构,提升MobileNet 网络提取精确位置信息和感兴趣领域的能力,且不过多增加计算开销。相较于SE 模块[27]只考虑通道间信息的编码而忽视位置信息,CBAM 模块[28]仅能捕获局部相关性而无法捕获更大区域的依赖关系,而CoordAttention 模块对于特征信息的提取更全面。

2.2 PANet 网络的改进

深层特征图具有较强的语义信息,但分辨率低,细节感知能力差,适合大目标检测。浅层特征图感受野小,包含更多位置、信息细节,且几何表征能力强,适合小目标检测。PANet 网络结构如图4 所示,YOLOv4 使用该结构进行多尺度特征融合,

图4 PANet 网络结构Fig.4 Structure of PANet network

PANet 网络在原有FPN 自上而下的特征融合路径(如图4(a)所示)的基础上,增加自下而上的增强路径(如图4(b)所示),通过对浅层与深层特征图的反复提取,融合不同尺度特征图的特征信息。但PANet 网络的融合方式只是简单地将特征图转换成相同尺度再相加,不能充分利用不同尺度的特征。使用ASFF 网络改进PANet 结构,通过给不同尺度的特征融合分配自适应的权重参数,实现多尺度特征图的高效融合,改进后的PANet 结构如图5 所示。

图5 改进后的PANet 网络结构Fig.5 Structure of improved PANet network

以ASFF-2 的计算过程为例,ASFF-2 由特征图Level 1、Level 2 和Level 3 融合得到,Level 1 通过1×1卷积将通道数调整到与Level 2 一致,再用插值方式调整尺寸与Level 2 一致,得到X1→2;对Level 3 特征图进行stride=2 的3×3 卷积操作,并调整通道数与Level 2 一致,得到X3→2。Level 2 特征层即X2→2,最后利用卷积核为1×1 的卷积操作压缩通道数,沿通道方向拼接,再使用卷积将通道数降为3,对3 个通道上的特征图使用softmax 函数处理,分别得到X1→2、X2→2、X3→2的融合权重αij、βij、γij。ASFF网络的融合过程表达式如式(9)所示:

ASFF 网络实现了αij、βij、γij这3 个比例参数的自适应调整,将其作为网络模型的可更新参数,通过误差梯度反向传播更新融合权重,使模型的多尺度特征融合更加充分,能更有效地利用特征,提高模型对小目标瑕疵的检测能力。

2.3 聚类先验框优化

YOLOv4 的先验框是在PASCAL VOC 数据集中采用K-means 算法聚类而来,织物瑕疵数据集中小目标瑕疵较多,粗经、轧痕等瑕疵长宽比较大,因此需要针对织物缺陷数据集聚类出先验框。传统K-means 聚类算法结果不稳定且易陷入局部最优,导致聚类先验框与实际目标匹配度低,影响检测精度。本文使用K-means++聚类算法稳定初始化聚类中心选择,具体过程如下:

1)在数据点之间随机选择一个聚类中心;

2)计算每个样本与当前已有聚类中心最短距离D(x),数据点被选取作为聚类中心的概率与D(x)大小正相关,使用轮盘法选出下一个聚类中心;

3)重复步骤2 直到选择出k个聚类中心点。

K-means++能够优化初始聚类中心点的选取,从而改善分类结果误差,修改后的anchor box 大小分别为(4,15)、(8,10)、(12,48)、(22,52)、(36,55)、(46,52)、(55,396)、(65,118)、(228,38)。

2.4 Focal Loss 函数改进

由于织物瑕疵数据中瑕疵区域占整个织物图像的比例很小,若将不含瑕疵的区域当做负样本,含瑕疵的区域为正样本,则不含瑕疵区域的负样本数量远多于含瑕疵的正样本数量。正负样本数量严重失衡可能导致给模型提供的瑕疵特征较少,影响模型收敛,因此采用Focal Loss 函数优化分类损失。类别损失、置信度损失和位置损失共同构成YOLOv4 的损失函数,其中,原始YOLOv4 的类别损失为交叉熵损失函数,其表达式如式(10)所示:

其中:L表示交叉熵;C表示分类种类数;y为期望输出,表示经过激活函数后的输出。改进后的Focal loss 函数表达式如式(11)所示:

其中:α为矫正系数,作用是平衡样本数量;β为超参数,一般取2。通过引入α 和β 两个约束参数,可以在网络训练过程中自动对正负样本不平衡进行调整。

3 实验结果与分析

本次实验操作系统为Windows10,CPU 为Intel Core i7-8700K,内存16 GB,GPU 为NIVIDA GeForce GTX1080,显存8 GB,选用Pytorch 作为深度学习框架,开发工具为Pycharm2019.1。初始学习率设定为0.001,Momentum 动量参数设为0.2,IOU 阈值设置为0.5,共训练300 个epoch。

3.1 实验数据集及评价指标

本次实验所使用的数据集来自阿里天池布匹疵点数据集,为验证本文改进算法在织物瑕疵检测任务,尤其是对小目标瑕疵检测任务中的性能提升,从其中选取实际生产较为常见的6 种缺陷,包括结头、三丝、破洞、粗经、纬缩和轧痕图片共2 026 张,其中结头、三丝、破洞为小目标瑕疵。采用图像翻转、图像缩放、图像融合等数据增强方式扩充至8 104 张,处理训练图片大小为608×608 像素,各类瑕疵图片数量如表2 所示,训练集、测试集和验证集的划分比例为8∶1∶1。

表2 阿里天池布匹疵点数据集的类别统计结果Table 2 Statistics results of alibaba tianchi fabric defect dataset category

本文实验的评价指标为平均精度(Average Precision,AP),平均精度均值(mean Average Precision,mAP),帧率(Frame Per Second,FPS),FPS 指模型每秒能够检测的图片数量,可以作为检测速度的衡量指标。平均精度指标的表达式如下所示:

其中:p为准确率;r为召回率。准确率和召回率的表达式如下所示:

其中:TTP、FFP分别表示正确、错误判断的瑕疵样本个数,FFN为被错误检测的负样本数量。

平均精度均值的表达式为:

3.2 主流算法与本文算法对比

为验证本文算法在织物瑕疵检测任务中的性能,将主流目标检测算法Faster-RCNN[20]、YOLOv4、YOLOv4-Tiny、YOLOv4-MobileNet 与本文改进YOLOv4 算法在相同的数据集上进行训练,结果如表3 所示。由表3 可知,Faster-RCNN 算法的mAP 较高,但检测速度较慢,模型体积大,对算力要求高,难以满足织物瑕疵检测实时性的要求。将本文改进YOLOv4 算法与YOLOv4 算法相比,mAP 提升2.3 个百分点,检测速度提升了12 frame/s,且本文模型体积相较于YOLOv4 算法大幅减少,能够满足工业生产部署需求。YOLOv4-Tiny 算法是轻量级检测算法的代表之一,参数量仅为YOLOv4 算法的1/10,检测速度满足实时性需求,但结构简单,无法满足检测精度要求。

表3 主流算法与本文算法的对比Table 3 Comparison between mainstream algorithm and improved algorithm in this paper

由表3 还可知,本文算法的mAP 相较于YOLOv4-Tiny 算法高9.06 个百分点。将YOLOv4 原特征提取网络CSPDarkNet53 替换为MobileNet 网络后,检测速度提升了15 frame/s,mAP 减少5.58 个百分点,原因是特征提取网络层数减少,导致特征提取的效果下降,但模型计算量减小,检测速度有所提高。与仅将YOLOv4 主干网络替换为MobileNet 的算法对比,本文算法mAP 提升了7.88 个百分点,这充分说明ASFF 算法对PANet 网络改进的积极作用。在MobileNet 逆残差块中加入CoordAttention 模块,在没有增加较多模型体积的前提下,提高了模型的mAP,检测速度仅降低3 frame/s。

通过对比实验数据,本文算法在织物瑕疵检测任务中相较于大型网络检测mAP 相近,检测速度更快,模型体积更小。相较于轻量级网络,本文算法瑕疵检测能力更强,mAP 更高,更适用于织物瑕疵检测任务。

3.3 消融实验

为验证ASFF 算法、CoordAttention 注意力模块和Focal Loss 损失函数对模型性能的影响,以将主干网络替换为MobileNet 的YOLOv4 算法作为基准,对加入的模块进行消融实验。实验结果如表4 所示,其中“×”表示不加入,“√”表示加入。

表4 消融实验结果Table 4 Results of ablation experiment

由表4 可知,在MobileNet 网络的逆残差结构中插入CoordAttention 注意力模块后,小目标瑕疵的AP 分别提升了3.83、3.75、4.54 个百分点,纬缩、粗经、轧痕三种缺陷的AP 也所提升,这说明加入CoordAttention 注意力模块提高了MobileNet 的特征提取能力,可以捕获更精确的位置信息与缺陷特征,对于小目标瑕疵检测效果较好。在此基础上加入使用ASFF 网络改进的PANet,相较于原始的PANet,改进后的PANet 在结头、三丝、破洞等小目标缺陷上的AP 分别提高了3.85、4.03、3.48 个百分点,表明相较于原始的PANet 网络,使用ASFF 网络改进PANet 结构,利用多尺度特征图将模型训练学习到的权重进行融合,能大幅提升对小目标瑕疵的检测能力。最后,加入Focal Loss 损失函数,能使算法整体mAP 和精度提高。

3.4 与原始YOLOv4 算法检测效果对比

为验证本文算法相较于原始YOLOv4 算法在织物瑕疵检测任务中的优势,选取结头、三丝、破洞图片各一张,进行检测结果对比,YOLOv4 与本文算法检测结果对比如图6 所示。图6 中6 组检测效果图中,左侧为YOLOv4 检测效果,右侧为本文算法的检测效果。从中可以看出,原始YOLOv4 算法在结头、三丝等小目标瑕疵检测中存在漏检情况,本文算法有效改善了漏检情况,并且检测置信度值得到了明显提高。这充分说明CoordAttention 模块对逆残差结构的改进,增强了模型对于小目标瑕疵的聚焦能力。ASFF 网络对PANet 的改进,充分融合与利用多尺度特征图的信息,有效增强了对于小目标瑕疵的检测性能。同时,通过K-means++聚类算法聚类先验框使模型检测框更加适用于粗经、轧痕等长宽比较大的瑕疵类型检测。

图6 YOLOv4 算法与本文算法检测效果对比Fig.6 Comparison of detection effect between YOLOv4 algorithm and algorithm in this paper

4 结束语

本文提出一种基于多尺度特征自适应融合的轻量化织物瑕疵检测算法,通过在MobileNetv2 网络的逆残差块中加入CoordAttention 注意力模块,并使用该网络作为YOLOv4 主干网络,减少参数总量与计算量,增强网络聚焦小目标瑕疵特征能力。使用自适应空间特征融合结构改进PANet 网络,提高小目标瑕疵检测精度,采用K-means++算法获得适合的候选框,并使用Focal Loss 函数优化分类损失降低正、负样本不平衡对检测结果的影响。实验结果表明,本文算法相较于原始YOLOv4 算法的平均精度均值提升了2.3 个百分点,帧率提高了12 frame/s,模型体积大幅减少。下一步将通过知识蒸馏和模型剪枝技术,在保证检测精度的基础上降低参数量和计算量,提高模型检测速度,并针对瑕疵特征改进模型,提高算法的检测精度。

猜你喜欢
瑕疵残差织物
无Sn-Pd活化法制备PANI/Cu导电织物
基于双向GRU与残差拟合的车辆跟驰建模
《纺织品织物折痕回复角的测定》正式发布
竹纤维织物抗菌研究进展
登记行为瑕疵与善意取得排除的解释论
基于残差学习的自适应无人机目标跟踪算法
哦,瑕疵
基于递归残差网络的图像超分辨率重建
哦,瑕疵
综合电离层残差和超宽巷探测和修复北斗周跳