刘伟鑫 林邦演 张彬腾 姚其广 徐成烨
收稿日期:2024-02-22
DOI:10.19850/j.cnki.2096-4706.2024.05.020
摘 要:针对现有布匹外观陷检测模型参数数量大、计算量大、部署于普通工控机检测速度慢等问题,文章提出一种轻量化模型PCS-YOLOv5。首先采用PP—LCNet替换YOLOv5主干网络实现模型轻量化,加快推理速度;在Neck网络引入CBAM注意力模块,抑制干扰信息关注重要特征,提高目标检测精度;修改边界框回归损失函数为SIoU,增强缺陷定位准确率。实验测试结果表明,PCS-YOLOv5相比YOLOv5原模型,在mAP@0.5基本保持一致的情况下,检测速度提高10.2%,参数数量减少56.8%,运算量降低63%,模型权重减小56%,可满足现场布匹外观缺陷在线检测要求。
关键词:YOLOv5;轻量化;注意力机制;SioU
中图分类号:TP391.4 文献标识码:A 文章编号:2096-4706(2024)05-0089-06
A Fabric Appearance Defect Detection Method Based on PCS-YOLOv5
Lightweight Model
LIU Weixin, LIN Bangyan, ZHANG Binteng, YAO Qiguang, XU Chengye
(Dongguan New Generation Artificial Intelligence Industry Technology Research Institute, Dongguan 523867, China)
Abstract: In response to the problems of large number of parameters, high computational complexity, and slow detection speed when deployed on ordinary industrial computers in existing fabric appearance defect detection models, this paper proposes a lightweight model PCS-YOLOv5. Firstly, PP—LCNet is used to replace the YOLOv5 backbone network to achieve model lightweight and accelerate inference speed. It introduces the CBAM attention module into the Neck network to suppress interference and focus on important features, thereby improving the accuracy of object detection. It modifies the bounding box regression loss function to SIoU to enhance the accuracy of defect localization. The experimental test results show that compared to the YOLOv5 original model, PCS-YOLOv5 performs better in mAP@0.5 under the condition of basic consistency, the detection speed is increased by 10.2%, the number of parameters is reduced by 56.8%, the computational complexity is reduced by 63%, and the model weight is reduced by 56%, which can meet the requirements of online detection of fabric appearance defects on site.
Keywords: YOLOv5; lightweight; Attention Mechanism; SIoU
0 引 言
布匹表面的外观缺陷会影响其美观和产品价格[1],瑕疵缺陷会使布匹产品价格降低45%~65%[2,3],因此目前国内的布匹生产企业都会对布匹出厂前进行检测,保证产品质量[4]。
目前国内外大部分布匹厂家还是采用人工检测的方法,存在检测效率低、漏检率高、误检率高、人力成本高等缺点[5,6];有部分厂家采用传统机器视觉的方法实现布匹外观缺陷自动化检测,该方法可以提高检测效率[7],但由于其依赖人工设计的特征和算法,存在无法检测多种缺陷类别、通用性差、误检率高、漏检率高等问题[8,9],无法满足布匹厂家实际生产检测需求。
随着近年深度学习技术快速发展,其在印刷电路、半导体、新能源、医药、食品包装等行业领域應用取得较好的进展,也有国内外相关学者将深度学习技术应用于布匹外观缺陷检测。文献[10,11]采用Fast R-CNN二阶段目标检测模型实现布匹瑕疵检测,取得一定效果,但模型存在检测速度慢、参数数量多、运算量大问题;文献[12]提出基于级联卷积神经网络的复杂花色布匹瑕疵检测算法,该算法能较好实现多种布匹瑕疵检测,mAP达到70.7%,但检测时间长达几百毫秒;文献[13]提出基于Squeeze-and-Excitation(SE)模块的YOLOv5布匹瑕疵检测算法,可提高布匹瑕疵检测准确率,但该模型参数、运算量较大,对硬件有较高要求;文献[14]针对多种纺织物缺陷检测准确率低问题,提出Improved-YOLOX的网络模型,通过在主干网络加入注意力模块、在Neck部分引入动态卷积、采用GIoU损失函数三方面实现纺织物缺陷检测较高准确率,在三种不同的织物数据集上平均达到超过96.47%的mAP;文献[15]为织物缺陷检测提出一种基于YOLOv7优化的模型,采用新型卷积算子增强特征提取,同时采用HardSwish激活函数及Wise-IoU v3损失函数提升模型准确性,相比原模型mAP指标提高7.6%。
尽管深度学习目标检测技术研究在布匹外观缺陷检测取得一定进展,但在布匹实际应用现场还是存在较多问题。布匹厂家现场的缺陷检测系统的工控机普遍配置不高,计算性能一般,但目前布匹缺陷检测模型普遍存在模型参数量大、计算量大问题[16],无法满足布匹厂家现场实际生产使用需求。因此本文研究一种轻量化布匹外观缺陷检测模型PCS-YOLOv5,采用PP—LCNet替换YOLOv5主干网络实现模型轻量化,提高推理速度;在Neck网络引入CBAM(Convolutional Block Attention Module)注意力模块,抑制干扰信息提取关键特征,提高目标检测精度;修改边界框回归损失函数为SIoU(Scylla-intersection over Union),增强缺陷定位准确率。
1 PCS-YOLOv5模型
1.1 YOLOv5模型
YOLOv5目标检测模型于2020年6月份发布,是一种一阶段的深度学习目标检测模型,根据网络结构深度、宽度的不同分为YOLOv5s、YOLOv5m、YOLOv5l、YOLOv5x四个不同模型大小的版本,其中的YOLOv5s目标检测模型是参数量、计算量最小,检测速度最快的模型,比较适合布匹外观缺陷在线检测的实时性要求。YOLOv5s网络模型结构主要由主干网络(Backbone)、加强特征融合网络(Neck)以及检测层(head)三部分组成,图1是YOLOv5s的网络结构图。
主干网络由Focus、Conv、C3、SPP等模块组成。Focus模块将数据进行切片操作,再将多通道维数拼接,最后进行下采样操作,然后再通过Conv、C3、SPP结构生成新的特征图;Neck网络采用FPN特征金字塔结构与PAN路径聚合网络结构,通过上下采样操作将不同层次的特征图进行融合;Head目标检测头主要对骨干网络提取的特征图进行多尺度目标检测,并生成目标类别的概率和边框位置。
图1 YOLOv5s网络结构图
本文主要通过采用PP-LCNet替换骨干网络、引入CBAM注意力模块、SIoU损失函数更改三方面去优化模型轻量化的同时保证较好的检测效果,图2是改进后的网络结构。
1.2 应用PP-LCNet骨干网络
PP-LCNet是百度团队在2021年提出的一种基于MKLDNN加速策略下的轻量级网络,其能在保持较好的目标检测效果下提高模型的推理速度。PP-LCNet网络结构如图3所示,由卷积层(Stem)、深度卷积模块(DepthSepConv)、全局池化层(GAP)、全连接层(FC)等组成[17]。Stem层为3×3普通卷积层,DepthSepConv模块中先进行深度卷积操作,再进行点卷积操作,最后再接SE层。SE层先由全局池化层进行特征压缩,再经过两个全连接层、hard-Swish激活函数得到输出特征图。其中DepthSepConv模块采用hard-Swish激活函数替换ReLU激活函数,减少激活函数计算量,提高网络性能。
1.3 引入CBAM注意力模块
CBAM是一种注意力机制模块[18],由通道注意力模块和空间注意力模块串行方式组合,对图像特征的建模和表示能力,使模型能够动态调整特征图的权重,以适应不同的任务和场景,CBAM网络结构如图4所示。
通道注意力模块网络结构如图5所示,首先对输入特征图分别进行全局最大池化和全局平均池化,从空间维度对特征进行压缩,再将特征图输入多层感知机(MLP)得到两个通道注意力向量,然后将两个向量融合后输入Sigmoid激活函数得到注意力特征图,最后将注意力特征图和输入特征图加权后得到空间注意力模块的输入特征图。
图3 PP-LCNet网络结构
图4 CBAM网络结构
通道注意力模块公式为:
(1)
其中, 和 分别表示平均池化特征和最大池化特征,σ表示Sigmoid函数。AvgPool和MaxPool分别表示最大池化操作和平均池化操作。
空间注意力模块网络结构如图6所示,首先在通道维度上进行均值池化和最大池化操作得到两个特征图,并将两个特征图叠加后再进行7×7卷积操作,最后将卷积后的特征图输入Sigmoid激活函数得到空间注意力向量。空间注意力模块数学表达式为:
(2)
1.4 采用SIoU损失函数
YOLOv5中采用CIoU回归损失函数,没考虑真实框与候选框之间的不布匹方向问题,影响模型收敛速度和推理速度。为加快布匹检测模型网络收敛速度和提高推理性能,采用SIoU作为损失函数,将真實框与候选框之间的向量夹角纳入考虑范围,重新定义相关损失函数[19]。
图6 空间注意力模块结构图
图7为SIoU损失函数示意图,σ表示真实框和候选框中心点的距离,CW和CH分别表示中心的宽度差和高度差。SIoU主要包含角度损失、距离损失、形状损失和IoU损失。其中角度损失公式为:
(3)
其中,CH表示真实框和候选框的高度差,σ表示真实框和候选框中心点的距离差。
图7 SIoU损失函数示例图
距离损失公式为:
(4)
其中:
, (5)
(6)
CW表示真实框和候选框的宽度差,(,)表示真实框中心坐标,(,)表示候选框中心坐标。
形状损失的公式为:
(7)
(8)
式中:w和wgt分别表示候选框和真实框的宽度,h和hgt分别表示预测框和真实框的高度,θ表示形状损失的关注度。
2 实验测试与分析
2.1 实验平台
软件环境:深度学习框架PyTorch 1.12、集成开发环境spyder 5.0、第三方函数库Anaconda3-5.2.0以及操作系统Windows 10。
硬件环境:酷睿i7-11700,英伟达RTX3060,16 GB内存,1 TB硬盘。
2.2 测试数据集
测试数据集收集来自某布匹工厂的飞拉架、油渍、漏针、破洞4种常见的布匹缺陷,数据集大约有600张图像,每张图像包含飞拉架、油渍、漏针、破洞中的1~2种缺陷。该数据集部分图像样本,如图8所示,整个数据集被划分为两个子集,480张缺陷图片用于训练和120张缺陷图片用于测试。
(a)飞拉架 (b)漏针
(c)漏洞 (d)油渍
图8 布匹缺陷样本图片
2.3 评价指标
分别采用平均准确率mAP@0.5、每秒检测帧数FPS、运算量,以及模型参数量、权重大小作为衡量模型检测精度、检测速度、复杂度的指标,其中mAP@0.5计算为:
;(9)
其中AP表示候选框与真实框的交并比置信度取0.5时,对于检测过程中的某一类具有x个正样本预测框按置信度从高到低排列,每个候选框对应一个查准率Pi,将所有的查准率求和取平均得到该类别的AP值。mAP@0.5是代表检测目标中所有类别的AP取平均,能直观的反映出模型的性能,其中n为类别数。
2.4 实验设计与分析
2.4.1 消融实验
为验证本文算法各个模块改进的有效性,在收集的布匹数据集上进行消融实验。本文设计4组实验,每组实验在不同条件下进行。实验设置如下:
1)使用YOLOv5s原始模型作为消融实验的基准线。
2)采用PP—LCNet替换YOLOv5主干网络实现模型轻量化。
3)在2)基础上在Neck网络引入CBAM注意力模块,提高目标检测精度。
4)在3)基础上修改边界框回归损失函数为SIoU,增强缺陷定位准确率。
表1是消融实验的结果,可看出,采用PP—LCNet替换YOLOv5主干网络实现轻量化,模型参数量、权重大小、运算量分别下降了56.7%、55.9%、63.0%,检测速度从84.5帧/秒提升到93.5帧/秒,但mAP@0.5相比原模型明显下降了3.7%;在Neck网络引入CBAM注意力模块后,模型参数量、权重大小、运算量没有明显变化,mAP@0.5提升到0.942,但相比原模型低2.3%;修改边界框回归损失函数为SIoU后,模型参数量、权重大小、运算量、检测速度基本不变,mAP@0.5提升到0.963,检测效果与原模型基本保持一致,检测速度相比原模型提高10.1%。
2.4.2 不同模型对比实验
为验证本文提出模型算法的优越性,将本文研究的PCS-YOLOv5模型与YOLOv4、YOLOv5s、Faster-RCNN、SSD、YOLOv6s等主流模型基于本文收集的布匹缺陷数据集进行对比实验,实验测试结果如表2所示,可看出,相比YOLOv4、Faster-RCNN、SSD模型,PCS-YOLOv5模型在mAP@0.5提高了11.8%、17.7%、14.2%,同時检测速度提高到93.1帧/秒,运算量、模型权重、参数数量都大幅减小;相比YOLOv5s原模型,本模型在参数数量减少56.8%,运算量降低63%,模型权重减小了56%的情况下,mAP@0.5与YOLOv5s原模型基本相当,而且检测速度从84.5帧/秒提升到93.1帧/秒;相比较新的YOLOv6s模型,本模型在检测精度和检测速度上比较接近,但在模型大小、参数数量、运算量方面都有着明显优势。综上,本文研究的PCS-YOLOv5相对目前主流模型,在保证轻量化模型的同时,具备较高的检测精度和检测速度,具备良好的实际应用价值。
表2 不同模型对比测试结果
模型 mAP
@0.5 FPS/(帧/秒) Params/M Weights/MB 运算量(GFLOPs)
YOLOv4 0.845 30.5 143.20 244.3 143.3
YOLOv5s 0.965 84.5 7.07 14.1 16.5
Faster-RCNN 0.786 8.5 947.30 108.0 947.4
SSD 0.821 23.6 273.70 90.5 273.7
PCS-YOLOv5 0.963 93.1 3.05 6.2 6.1
YOLOv6s 0.959 92.8 45.20 38.7 45.2
3 结 论
为解决布匹外观缺陷检测模型中存在的参数冗余、计算量大以及在普通工业计算机上检测速度慢等痛点,本文研究一种PCS-YOLOv5模型,主要创新性及测试效果如下:
1)首先将YOLOv5的基础网络结构替换为PP-LCNet,消融实验表明可明显提高模型检测速度。
2)在模型Neck部分嵌入CBAM注意力模块,有效提取关键重要特征,提高目标检测精度。
3)采用SIoU损失函数替换CIoU函数进行优化,有效提高缺陷位置定位的精確性。
4)PCS-YOLOv5应用于布匹外观缺陷检测场景,mAP达到0.963,每秒可检测图片数量FPS = 93.1,具备良好的实际应用价值。
参考文献:
[1] RASHEED A,ZAFAR B,RASHEED A,et al. Fabric Defect Detection Using Computer Vision Techniques: A Comprehensive Review [J/OL].Mathematical Problems in Engineering,2020,2020:1-24[2023-07-20].https://doi.org/10.1155/2020/8189403.
[2] OUYANG W B,XU B G,HOU J,et al. Fabric Defect Detection Using Activation Layer Embedded Convolu-tional Neural Network [J].IEEE Access,2019,7:70130-70140.
[3] LI C,LI J,LI Y F,et al. Fabric Defect Detection in Textile Manufacturing: A Survey of the State of the Art [J/OL].Security and Communication Networks,2021,2021:1-13[2023-07-20].https://doi.org/10.1155/2021/9948808.
[4] GUO Y B,KANG X J,LI J F,et al. Automatic Fabric Defect Detection Method Using AC-YOLOv5 [J/OL].Electronics,2023,12(13):2950[2023-07-26].https://doi.org/10.3390/electronics12132950.
[5] JING J F,WANG Z,R?TSCH M,et al. Mobile-Unet: An Efficient Convolutional Neural Network for Fabric Defect Detection [J].Textile Research Journal,2022,92(1-2)[2023-06-25]. https://doi.org/10.1177/0040517520928604.
[6] HUANG Y B,XIANG Z. RPDNet: Automatic Fabric Defect Detection Based on a Convolutional Neural Network and Repeated Pattern Analysis [J/OL].Sensors,2022,22(16):6226[2023-06-26]. https://doi.org/10.3390/s22166226.
[7] POURKARAMDEL Z,FEKRI-ERSHAD S,NANNI L. Fabric Defect Detection Based on Completed Local Quartet Patterns and Majority Decision Algorithm [J/OL].Expert Systems with Applications,2022,198:116827[2023-07-10].https://doi.org/10.1016/j.eswa.2022.116827.
[8] CHEN M Q,YU L J,ZHI C,et al. Improved Faster R-CNN for Fabric Defect Detection Based on Gabor Filter with Genetic Algorithm Optimization [J/OL].Computers in Industry,2022,134:103551[2023-06-22]. https://doi.org/10.1016/j.compind.2021.103551.
[9] HU F,GONG J,FU H,et al. Fabric Defect Detection Method Using SA-Pix2pix Network and Transfer Learning [J/OL]. Applied Sciences,2023,14(1):41[2023-06-22].https://doi.org/10.3390/app14010041.
[10] 车翔玖,刘华罗,邵庆彬.基于Fast RCNN改进的布匹瑕疵识别算法[J].吉林大学学报:工学版,2019,49(6):2038-2044.
[11] LIU Z F,LIU X H,LI C L,et al. Fabric Defect Detection Based on Faster R-CNN [C]//Proceedings of the 9th Inter-national Conference on Graphic and Image Processing.Qingdao:SPIE,2018:106150A.
[12] 孟志青,邱健数.基于级联卷积神经网络的复杂花色布匹瑕疵检测算法 [J].模式识别与人工智能,2020,33(12):1135-1144.
[13] ZHENG L M,WANG X J,WANG Q,et al. A Fabric Defect Detection Method Based on Improved YOLOv5 [C]//2021 7th International Conference on Computer and Communications (ICCC).Chengdu:IEEE,2021:620-624.
[14] CHEN C Z. An Improved-YOLOX Model for Detection of Fabric Defects [J/OL]. IAENG International Journal of Computer Science,2024,51(1):1-7[2023-06-27].https://www.iaeng.org/IJCS/issues_v51/issue_1/IJCS_51_1_01.pdf.
[15] LIU B B,WANG H Y,CAO Z F,et al. PRC-Light YOLO: An Efficient Lightweight Model for Fabric Defect Detection [J/OL].Applied Sciences,2024,14(2):938(2024-01-22).https:// doi.org/10.3390/app14020938.
[16] LI X S,ZHU Y. A Real-Time and Accurate Convolutional Neural Network for Fabric Defect Detection [J/OL].Complex & Intelligent Systems,2024:1-17[2023-07-22]. https://doi.org/10.1007/s40747-023-01317-8.
[17] CUI C,GAO T Q,WEI S Y,et al. PP-LCNet: A Lightweight CPU Convolutional Neural Network [J/OL].arXiv:2109.15099 [cs.CV].(2021-09-17).https://arxiv.org/abs/2109.15099v1.
[18] WOO S,PARK J,LEE J-Y,et al. CBAM: Convolutional Block Attention Module [C]//Proceedings of the European conference on computer vision(ECCV).Munich:Springer,2018:3-19.
[19] GEVORGYAN Z. SIoU Loss: More Powerful Learning for Bounding Box Regression [J/OL].arXiv:2205.12740 [cs.CV].(2022-05-25).https://arxiv.org/abs/2205.12740.
作者簡介:刘伟鑫(1992—),男,汉族,广东揭阳人,工程师,硕士研究生,研究方向:机器视觉与人工智能应用。