网刊加载中。。。

使用Chrome浏览器效果最佳,继续浏览,你可能不会看到最佳的展示效果,

确定继续浏览么?

复制成功,请在其他浏览器进行阅读

改进YOLOv7的纸张表面缺陷检测研究

  • 陈钰枚 1
  • 李兆飞 1,2,3
  • 侯劲 1,2
  • 赵俊 1,2
1. 四川轻化工大学自动化与信息工程学院,四川宜宾,643002; 2. 人工智能四川省重点实验室,四川宜宾,644002; 3. 企业信息化与物联网测控技术四川省高校重点实验室,四川宜宾,643002

中图分类号: TS736TP391

最近更新:2023-11-21

DOI:10.11980/j.issn.0254-508X.2023.11.021

  • 全文
  • 图表
  • 参考文献
  • 作者
  • 出版信息
EN
目录contents

摘要

提出一种改进YOLOv7的纸张表面缺陷一步式检测算法。首先将注意力机制模块CBAM融合到主干和特征提取网络结构,从空间和通道2个维度提取信息,提升小目标纸病特征提取准确性和算法稳定性;将ASPP空洞卷积加入主干网络SPP中,ASPP可以进一步扩大感受野,使较小目标的特征信息在网络传递时得到保留,解决了小目标信息量不足的问题,进而提高小目标纸病识别的性能。通过自制纸病数据集检测实验,与YOLOv7相比,精确率、召回率及平均精确率均值mAP 0.5分别提升了1.5、2.3和2.1个百分点。

在纸张的生产过程中,受生产工艺及现场环境等影响,纸张表面容易出现裂缝、孔洞、黑斑、线条、褶皱等缺陷或异常。本课题将超出预期模式范围数据的纸张表面缺陷统称为纸[

1]。在造纸过程中,要对纸张表面的纸病信息进行实时检测、处理,才能提高成纸的品质和质量,带来更大的生产利润。随着现代高速纸机的普遍应用,基于机器视觉的纸张表面缺陷检测方法已逐步取代人工检测方[2]。卷积神经网络(Convolutional Neural Network,CNN)表面缺陷检测适用性广,可以在兼顾质量和效率的同时,实现智能化在线缺陷检测,克服传统纸病检测算法实时性低、精度不高等问题。赵晓等[3]利用纸病区域为简单连通图像的特点,通过提取优化的连通区域标记和形状特征值,提高了纸病检测的准确率及效率;雷扬博等[4]通过Markov随机场理论对纸病图像纹理进行分析,得到纹理特征参数,对纸病区域进行分割,提高了分割的准确度;魏晓[5]利用BP神经网络,建立纸病分类器,对各种纸病进行识别;张[6]利用改进后的邻域均值滤波处理法,进行了纸病动态识别;高乐乐等[7]提出基于CNN的辨识方法,并对纸张进行纸病检测;冯[8]采用MSER分割算法对图像进行预处理,并利用CNN对纸病进行检测,但预处理技术会增加算法的运行成本,检测速度较低;曲蕴慧等[9]结合迁移学习,改进CNN网络,设计了一种适用于纸病图像的小样本深度CNN分类器,但是对于实际纸机生产环境,迁移学习的适应性不强;毛艳玲等[10]提出了轻量化的Mobilenetv3-YOLOv4纸病检测网络,但其需要对纸病进行预处理,降低了算法速度,检测精度也较低;张开生等[11]采用基于YOLOv5的算法,对纸病进行检测,但其检测速度不高,不适用于在线监测。目前,纸机生产速度快、幅宽长,产生纸病数量也会大概率增加,尤其是对于宽幅纸张的小目标纸病,常会出现漏检情况,严重影响成纸的品质,造成原料的浪费和企业生产效率的下降。利用CNN提取图像特征时,随着卷积层数的加深,特征图分辨率逐渐减小,局部感受野能感知到原图像的范围不断扩大,越接近顶层的特征图越倾向于关注图像的全局信息,所以深层神经网络提取的深层特征非常不利于小目标纸病检测。王欣等[12]在YOLOv3-Tiny加入注意力模块(Convolutional Block Attention Module,CBAM);秦强强等[13]将通道注意力(CA)模块和空间注意力(SA)模块相结合,均可以提升小目标纸病检测精度。

为了在保障一定速度的情况下,提高小目标纸病检测精确率,本课题在研究YOLO系[

14]目标检测网络的基础上,借鉴前人的研究成果,选用精度更高、速度更快的YOLOv7网络作为纸病检测算法,提出一种改进YOLOv7的纸病检测方法。该方法的主干网络用于特征提取,通过引入注意力机制模块CBAM,提高纸病检测的精确性和算法稳定性;再将空洞空间卷积池化金字塔(Atrous Spatial Pyramid Pooling,ASPP)加入主干网络的空间金字塔池化(Spatial Pyramid Pooling,SPP)中,在SSP中加入ASPP空洞卷积,可以在不丢失图像分辨率的情况下扩大特征图的感受野,高分辨率可以精确定位目标,有利于纸病缺陷目标提取,而不同的感受野可以感受不同的尺度信息,从而实现不同大小纸病缺陷的目标检测及分类目的。

1 YOLOv7网络模型

在COCO公开数据集上5~160 帧/s的FPS范围内,YOLOv7深度学习目标检测算法的检测精度和检测速度均超过了目前所有的目标检测算[

15]。所以本课题选用YOLOv7作为检测模型。

YOLO系列网络均基本由3个部分组[

16],YOLOv7包括Backbone、FPN以及YOLO Head 3个部分,其网络模型如图1所示。Backbone是YOLOv7的主干特征提取网络,输入的图片首先会在主干网络获得3个有效特征层进行特征提取。FPN是YOLOv7的加强特征提取网络,3个有效特征层会在这一部分进行特征融合,目的是结合不同尺度的特征信息,提高检测精度。YOLO Head是YOLOv7的分类器与回归器,其输入是3个加强过的有效特征层,每1个特征层都有宽度、高度和通道数,每个特征点上有3个先验框,每1个先验框都有通道数个特征,以判断是否有物体与其对应。YOLOv7所用解耦头可使分类和回归在一个1×1卷积里实现。

图1  YOLOv7模型结构图

Fig. 1  Structure of YOLOv7 model

2 改进YOLOv7算法

正常的卷积对图片中的物体提取特征时,并不特别关注部分重要的信息,而是把所有的信息当成相同权重进行处理,导致许多重要信息的损失。为了提升YOLOv7对于小目标纸病的检测能力,在YOLOv7的主干网络特征提取部分,将注意力机制模块CBAM加入其中,再将ASPP空洞卷积加入主干网络的SPP中,能在不丢失图像分辨率的情况下扩大特征图的感受野,提高分辨率,进而精确定位纸病目标,有利于纸病缺陷目标的提取,而不同的感受野可以感受不同的尺度信息,实现不同大小纸病缺陷目标检测及识别。

2.1 引入CBAM

加入注意力机制能够抑制无关信息的干扰,保留待检测目标的更多关键特征,使网络关注到更多小目标纸病,提高检测精度。利用空间注意力机制有助于明确小目标位置,利用通道注意力机制可建模特征通道的重要程度,CBAM同时关注了空间和通道维度特征,对于小目标纸病缺陷检测效果更[

17]

给定一个中间特征图后,CBAM模块会沿着2个独立的维度(通道和空间)依次推断注意力图,然后将注意力图乘以输入特征图以进行自适应特征修饰。通道上,将输入的特征图FH×W×C)分别经过基于宽度、高度的全局最大池化和全局平均池化,得到2个1×1×C的特征图;再将其分别送入1个2层的神经网络(MLP),第1层神经元个数为C/rr为减少率),激活函数为ReLu,第2层神经元个数为C,这个2层的神经网络是共享的;而后,将MLP输出的特征进行加和操作,再经过激活函数,生成最终的通道特征,即Mc;最后,将输出Mc的和输入特征图F相乘,生成空间特征模块需要的输入特征。空间上,将通道特征模块输出的特征图F作为本模块的输入特征图。首先设置1个基于通道的全局最大池化和全局平均池化,得到2个H×W×1的特征图,将这2个特征图基于通道做通道拼接;然后经过一个7×7卷积,降维为1个通道,即H×W×1;再经过激活函数生成空间特征,即Ms;最后将该特征和该模块的输入特征做乘法,得到最终生成的特征。通道上模块具体计算如式(1)~式(4)所示,CBAM具体计算如图2所示。

图2  CBAM结构图

Fig. 2  Structure of CBAM

Mc(F)=σ(MLP(AvgPool(F)))+MLP(MaxPool(F)) (1)
Mc(F)=σW1W0favgc+W1W0fmaxc (2)
Ms(F)=σf7×7AvgPoolF;MaxPoolF (3)
Ms(F)=σf7×7favgs;fmaxs (4)

式中,σ为激活函数Sigmoid;W0RC/r·CW1RC·C/rf7×7为7×7的卷积。

2.2 引入ASPP

利用CNN提取图像特征时,随着卷积层数的加深,特征图分辨率逐渐减小,局部感受野能感知到原图像的范围不断扩大,且越接近顶层的特征图越倾向于关注图像的全局信息,所以深层神经网络提取的深层特征非常不利于小目标检测。引入ASPP可以进一步扩大感受[

18],使较小目标纸病的特征信息在网络传递时得到保留,有利于小目标纸病的提取,进而提高网络性能。ASPP由2部分并联组成:第1部分包含1个1×1卷积层和3个3×3的采样率为Rate={6,12,18}的空洞卷积层,卷积核数量为256,包含批标准化层;第2部分是图像级特征表示,具体操作是应用全局平均池化之后接着1个卷积核为256的1×1的卷积层,最后再进行双线性上采样操作,得到所需的空间维度。ASPP结构里存在4种不同采样率的空洞卷积并行采样,空洞卷积能在不丢失图像分辨率的情况下,扩大特征图的感受野,分辨率高,可以精确定位纸病目标,而不同的感受野可以感受不同的尺度信息,通过并行组合不同采样率,可以获得多个不同尺寸的感受野,实现对任意大小纸病目标的分类目的。ASPP结构如图3所示。

图3  ASPP结构图

Fig. 3  Structure of ASPP

2.3 改进后的YOLOv7网络结构

改进后的YOLOv7主干网路部分,在第1、2、3个Conv2D+BN+SiLU模块和第1个Multi_Concat_Block模块后面分别添加1个CBAM模块。前2个CBAM是在浅层网络加入,可以提升网络对于小目标纸病缺陷特征提取能力。第3个CBAM模块作用是在进行下一次特征融合之前,先对特征图进行特征加强操作。通过该改进,能使网络忽略无关纸病信息的干扰,着重关注关键纸病特征,并将相对重要的特征加以融合,使融合后的特征图包含更多有效纸病信息,提高小目标纸病定位精度。特征提取部分CBAM从空间和通道2方面加强了关键纸病信息的检测,保障算法稳定性。

在主干网路里面加入ASPP可以进一步扩大感受野,使较小目标纸病的特征信息在网络传递时得到保留,进而提高网络性能。有利于小目标纸病的识别。改进后YOLOv7网络如图4所示,红色椭圆形为新加入的模块。

图4  改进YOLOv7算法结构

Fig. 4  Improved YOLOv7 algorithm structure

3 实验与结果分析

3.1 实验环境与评价标准

本课题所有模型实验环境为Linux系统,ubuntu118.04,anconda4.12.0 & python3.8,CUDA11.6;软件采用Pycharm2022.1.1;框架pytorch1.12。GPU为24 GB显存的NVIDIA GeForce RTX 3090,CPU为Gold 5218R。

精确率(P)、召回率(R)、平均精确率(AP)及平均精确率均值(mAP)作为网络的性能评判指标。在工厂检测纸张表面缺陷需要满足实时性,使用单张图片平均推断时间作为评价指标。在检测准确性评价指标方面,本课题选择在目标检测领域中常用mAP 0.5和mAP 0.5:0.95指标,mAP计算如式(5)所示。

mAP=APno-mask+APmask2 (5)

其中,AP为精确率-召回率(P-R)曲线的曲线下面积。在计算P的过程中,首先设定预测框与真实框交并比(Intersection of Union,IoU)阈值,然后绘制预测框的P-R曲线,计算AP值。mAP 0.5指IoU阈值取50%时的mAP值。此外,将阈值从50%开始,以5%为步长逐渐升高至95%,得到不同IoU阈值下的mAP,mAP 0.5:0.95即为所有mAP的平均值。

3.2 纸病数据集构建

3.2.1 纸病图像采集

研究中采用2种方式采集纸病图像,分别从包装纸生产车间生产线上采集实际遇到的纸病和从实验室中通过实验室设备采集的纸张纸病。包装纸生产车间生产线上收集到的纸病图像是纸病诊断系统经过裁剪处理后的图像,实验室采集到的纸病图像是相机拍摄的原图,这些纸病图像大部分图片的长度和宽度不一样,为了统一图片尺寸大小并防止图片失真,采用背景插值法和图像外接矩形区域法对图片进行缩放。本课题纸病数据集一共有3500张图片,包含了黑斑、亮斑、孔洞、折皱、裂缝5类纸病,部分原始纸病图像数据如图5所示。

图5  原始纸病图像数据

Fig. 5  Paper disease image data

3.2.2 纸病图像标注

所有采集的图像首先进行了图像缩放、翻转、长宽扭曲等数据处理,以增加训练样本的多样性、扩大纸病数据集规模;然后用labelimg软件标注出目标区域及类别,纸病类别一共有5类,分别为黑斑、白斑、孔洞、裂口、褶子。通过执行Python脚本课题件把数据集按数量比8∶2划分生成训练集和验证集。执行完结果在VOCdevkit/VOC2007目录下生成文件夹YOLOLabels,存放的文件是图像的YOLO格式的标注文件,在VOCdevkit目录下生成images和labels文件夹,images文件夹里有train和val文件夹,分别放置训练集和测试集图片;labels文件夹有train和val文件夹,分别放置训练集和测试集标签(YOLO格式),在YOLOvX下生成了2个文件YOLOvX_train.txt和YOLOvX_val.txt。YOLOvX_train.txt和YOLOvX_val.txt是分别存放的训练图片文件和测试图片文件的列表,含有每个图片的路径和文件名。

3.3 对比实验

为方便比较,设计了消融实验来验证改进效果,改进后的YOLOv7消融实验结果如表1所示。由表1可知,引入CBAM和ASPP均不同程度地提升了网络性能;添加CBAM模块可以加强小目标的特征信息提取,使模型的mAP提升了1.4个百分点;通过加入ASPP模块,扩大感受野,模型的mAP 0.5提升了0.9个百分点。虽然加入的模块会降低网络的检测速度,但由表1可知,其对于速度影响较小,改进后的YOLOv7网络仍能保证纸病缺陷的实时检测。

表1  消融实验结果
Table 1  Ablation experiment results
方法mAP 0.5/%FPS/帧·s-1
YOLOv7 91.8 90.0
YOLOv7+CBAM 93.2 84.0
YOLOv7+ASPP 92.7 86.0
YOLOv7+CBAM+ASPP 93.9 78.1

为了证明改进后的算法性能,表2显示了改进后的YOLOv7算法模型在本课题纸病数据集里面的性能指标对比。由表2可知,改进后的YOLOv7算法P比YOLOv7提高了1.5个百分点,R比YOLOv7提高了2.3个百分点,mAP 0.5比YOLOv7提升了2.1个百分点,mAP 0.5:0.95提升了3.2%。对于本课题的纸病数据集来说,改进后的算法在保障了一定速度的情况下提升了PR等指标精度。

表2  对比实验结果
Table 2  Comparative experimental results
方法P/%R/%mAP 0.5/%mAP 0.5:0.95FPS/帧·s-1
YOLOv7 92.3 89.8 91.8 0.524 90.0
YOLOv7+CBAM+ASPP 93.8 92.1 93.9 0.541 78.1

为了更好地验证所提出的改进YOLOv7算法的检测性能,采用检测准确率与检测时间2项指标,将本课题的改进YOLO算法同现有基于CNN的纸病分类算法与其余主流目标检测网络模型SSD、YOLOv5在自建数据集上的训练结果进行评估与对比,对比实验的结果如表3所示。由表3可以看出,本课题所提出的改进算法相较于基于SSD的纸病类算法的mAP 0.5高3.5个百分点,速度快38.1帧/s,相较于YOLOv5提升了3.1个百分点,速度提升了38.2帧/s,相较于YOLOv7,提高了2.1个百分点,且检测速度差异较小。

表3  传统算法对比实验结果
Table 3  Traditional algorithm compares the experimental results
算法mAP 0.5/%FPS/帧·s-1
SSD 90.4 40.0
YOLOv5 90.8 39.9
YOLOv7 91.8 90.0
YOLOv7+CBAM+ASPP 93.9 78.1

通过纸病数据集对改进YOLOv7模型进行训练,纸病数据集训练结果图如图6所示。图6中从左到右前6个是训练的损失函数,分别为Box框的损失函数、不含目标类别的损失函数、类别的损失函数,后4个是指标变化图。由图6可知,改进后的YOLOv7算法loss值不断下降并且收敛,训练精度不断上升,网络模型具有较好的收敛能力和学习能力。

图6  纸病数据集训练结果图

Fig. 6  Training result graphs for paper detect dataset

改进后的YOLOv7算法检测结果如图7所示,图片为经过Mosaic增强拼接后的训练结果。其中0~4分别代表裂痕、孔洞、黑斑、亮斑、折皱5种纸病类别。从图7可以看出,改进后的YOLOv7的速度比YOLOv5快,精度也比YOLOv5和YOLOv7高,提升了纸病检测的效率和质量,提升了造纸机的出纸品质和效率,是一种有效的纸机纸病在线实时检测的有效算法。

图7  改进后的YOLOv7 算法检测结果

Fig. 7  Detection results of the improved YOLOv7 algorithm

4 结论

本课题通过在YOLOv7网络中加入注意力机制CA和BAM及空洞空间卷积池化金字塔ASPP,提升了网络对纸病检测的精度,其平均精确率均值mAP 0.5提升了2.1个百分点,检测速度超过78帧/s,且模型具有较好的鲁棒性,具有较高的纸病缺陷在线检测应用价值。研究中只检测了常见的5类纸病,后期可增加更多纸病类型;由于没有开源的纸病数据集,纸病数据集数量仅3500张左右,导致训练模型的泛化性能不高,后期可采集更多的纸病图像,丰富数据集的规模;同时,可以考虑通过迁移学习策略提高纸病特征学习及检测效率;并对纸病进行预处理,放大小目标图像,进一步提高检测效率。

参 考 文 献

1

罗东亮蔡雨萱杨子豪. 工业缺陷检测深度学习方法综述[J]. 中国科学(信息科学)2022526): 1002-1039. [百度学术] 

LUO D LCAI Y XYANG Z Het al. Survey on Industrial Defect Detection with Deep Learning[J]. Scientia Sinica(Informationis)2022526): 1002-1039. [百度学术] 

2

周强陈颖沈天宇. 基于机器视觉的纸病检测系统发展综述[J]. 中国造纸2016355): 72-79. [百度学术] 

ZHOU QCHEN YSHEN T Yet al. Review on the Development of Paper Defect Detection System Based on Machine Vision Technology[J]. China Pulp & Paper2016355): 72-79. [百度学术] 

3

赵晓何立风姚斌. 一种基于连通域标记的纸病检测算法[J]. 中国造纸学报2018332): 51-56. [百度学术] 

ZHAO XHE L FYAO Bet al. Algorithm of Paper Defect Detection Based on Connected-component Labeling[J]. Transactions of China Pulp and Paper2018332): 51-56. [百度学术] 

4

雷扬博黄勋王阳阳. 马尔可夫随机场在纸病检测中的应用研究[J]. 中国造纸2019385): 50-56. [百度学术] 

LEI Y BHUANG XWANG Y Yet al. Research on the Application of Markov Random Field in Paper Disease Detection[J]. China Pulp & Paper2019385): 50-56. [百度学术] 

5

魏晓燕. 基于机器视觉的纸病检测系统设计[J]. 造纸科学与技术2021403): 77-80. [百度学术] 

WEI X Y. Design of Paper Disease Detection System Based on Machine Vision[J]. Paper Science & Technology2021403): 77-80. [百度学术] 

6

张璐. 基于人工智能背景下动态识别技术分析在造纸领域中的应用研究[J]. 造纸科学与技术2020391): 63-67. [百度学术] 

ZHANG L. Research on the Application of Dynamic Identification Technology Analysis in the Field of Papermaking Based on the Background of Artificial Intelligence[J]. Paper Science & Technology2020391): 63-67. [百度学术] 

7

高乐乐周强王伟刚. 基于CNN的深层次特征提取纸病辨识方法研究[J]. 中国造纸学报2019344): 52-58. [百度学术] 

GAO L LZHOU QWANG W G. Paper Defects Recognition Based on Deep Layer Feature Extraction of CNN[J]. Transactions of China Pulp and Paper2019344): 52-58. [百度学术] 

8

冯雨. 基于卷积神经网络的纸病识别算法研究[J]. 造纸科学与技术2021404): 72-76. [百度学术] 

FENG Y. Research on Paper Defect Recognition Algorithm Based on Convolution Neural Network[J]. Paper Science & Technology2021404): 72-76. [百度学术] 

9

曲蕴慧汤伟成爽爽. 基于深度卷积神经网络及迁移学习的纸病分类方法研究[J]. 中国造纸20214010): 63-70. [百度学术] 

QU Y HTANG WCHENG S S. Paper Disease Classification Based on Deep Convolutional Neural Network and Transfer Learning[J]. China Pulp & Paper20214010): 63-70. [百度学术] 

10

毛艳玲李天宇吴浩. 改进蝙蝠算法在纸病图像增强中的应用[J]. 四川轻化工大学学报(自然科学版)2022352): 54-62. [百度学术] 

MAO Y LLI T YWU Het al. Application of Improved Bat Algorithm Optimization in Paper Defect Image Enhancement[J]. Journal of Sichuan University of Science & Engineering(Natural Science Edition)2022352): 54-62. [百度学术] 

11

张开生关凯凯. 基于改进YOLOv5的纸病检测方法[J]. 中国造纸20224110): 79-86. [百度学术] 

ZHANG K SGUAN K K. Paper Defect Detection Method Based on Improved YOLOv5[J]. China Pulp & Paper20224110): 79-86. [百度学术] 

12

王欣江涛马珍. 基于改进YOLOv3-Tiny的遥感舰船小目标检测方法[J]. 计算机时代20233): 111-115. [百度学术] 

WANG XJIANG TMA Zet al. Small Target Detection of Remote Sensing Ship Based on Improved YOLOv3-Tiny Algorithm[J]. Computer Era20233): 111-115. [百度学术] 

13

秦强强廖俊国周弋荀. 基于多分支混合注意力的小目标检测算法[J/OL]. 计算机应用1-92023-11-08].http://kns.cnki.net/kcms/detail/51.1307.TP.20230316.1610.012.html. [百度学术] 

QIN Q QLIAO J GZHOU Y X. Small Object Detection Algorithm Based on Split Mixed Attention[J/OL]. Journal of Computer Applications1-92023-11-08].http://kns.cnki.net/kcms/detail/51.1307.TP.20230316.1610.012.html. [百度学术] 

14

Redmon JDivvala SGirshick Ret al. You only look once: Unified, real-time object detection[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. Las Vegas2016779-788. [百度学术] 

15

WANG C YBOCHKOVSKIY ALIAO H Y M. YOLOv7: Trainable Bag-of-freebies Sets New State-of-the-art for Real-time Object Detectors[EB/OL]. Computer Vision and Pattern Recognition, [2023-4-10].https://arxiv.org/abs/2207.02696. [百度学术] 

16

REDMON JFARHADI A. YOLOV3 : An Incremental Improvement[C]//IEEE Conference on Computer Vision and Pattern Recognition. Salt Lake CilyIEEE Computer Society20177263-7271. [百度学术] 

17

WOO SPARK JLEE J Yet al. Cbam: Convolutional Block Attention Module[C]//Proceedings of the European Conference on Computer Vision (ECCV). Munich20183-19. [百度学术] 

18

CHEN L CPAPANDREOU GKOKKINOS Iet al. Deep Lab: Semantic Image Segmentation with Deep Convolutional Nets, Atrous Convolution, and Fully Connected CRFs[J]. IEEE Transactions on Pattern Analysis and Machine In Telligence2018404): 834-848. CPP [百度学术]