浙江大学学报(工学版), 2025, 59(3): 523-534 doi: 10.3785/j.issn.1008-973X.2025.03.010

计算机技术

基于改进YOLOv7-tiny的铝型材表面缺陷检测方法

王浚银,, 文斌,, 沈艳军, 张俊, 王子豪

1. 三峡大学 电气与新能源学院,湖北 宜昌 443002

2. 湖北省输电线路工程技术研究中心,湖北 宜昌 443002

Surface defect detection method for aluminum profiles based on improved YOLOv7-tiny

WANG Junyin,, WEN Bin,, SHEN Yanjun, ZHANG Jun, WANG Zihao

1. School of Electrical and New Energy, China Three Gorges University, Yichang 443002, China

2. Hubei Provincial Engineering Technology Research Center for Power Transmission Line, Yichang 443002, China

通讯作者: 文斌,男,讲师. orcid.org/0000-0001-5784-0893. E-mail: wenbin@ctgu.edu.cn

收稿日期: 2024-01-25  

基金资助: 国家自然科学基金资助项目(62273200,61876097);湖北省输电线路工程技术研究中心(三峡大学)开放研究基金资助项目(2022KXL03);湖北省自然科学基金联合基金资助项目(2024AFD409).

Received: 2024-01-25  

Fund supported: 国家自然科学基金资助项目(62273200,61876097);湖北省输电线路工程技术研究中心(三峡大学)开放研究基金资助项目(2022KXL03);湖北省自然科学基金联合基金资助项目(2024AFD409).

作者简介 About authors

王浚银(2000—),男,硕士生,从事图像处理研究.orcid.org/0009-0008-4037-1371.E-mail:wjy2024011@126.com , E-mail:wjy2024011@126.com

摘要

针对铝型材表面缺陷具有种类多样、缺陷尺度差异大和小目标缺陷漏检的问题,提出改进的YOLOv7-tiny检测算法. 利用残差结构、无参注意力机制(SimAM)、激活函数(FReLU)和裁剪卷积等重构空间金字塔池化模块,捕捉更多的细节信息,加强网络多尺度学习能力. 优化检测层获取更多小目标特征和位置信息,提高网络多尺度缺陷检测能力. 引入部分卷积替换高效层聚合网络(ELAN)中的3×3卷积建立轻量化模型,减少计算和训练负担. 结合归一化 Wasserstein 距离(NWD)损失度量相似度,加速网络收敛并提升小目标缺陷检测能力. 在天池铝型材数据集上进行测试,结果表明,改进YOLOv7-tiny算法在置信度阈值为0.25时,精确度达到95.0%,召回率达到91.8%,均值平均精度mAP@0.5达到94.5%,检测速度为45帧/s. 相较于原算法,改进算法的mAP@0.5提高4.2个百分点,在脏点缺陷上的平均精度AP提高13.1个百分点;改进算法对于低分辨率图像和被干扰图像有更好的检测结果,表明其具备更好的泛化性和抗干扰能力.

关键词: 铝型材 ; 表面缺陷 ; 小目标检测 ; SPPCSPC重构 ; 残差结构 ; YOLOv7-tiny ; 归一化Wasserstein距离(NWD)损失

Abstract

An improved YOLOv7-tiny detection algorithm was proposed to address the problems such as various types of surface defects in aluminum profiles, large differences in defect scales and missed detection of small target defects. The spatial pyramid pooling module was reconstructed by utilizing the residual structure, parameter-free attention mechanism (SimAM), activation function (FReLU) and clipping convolution to capture more detailed information and strengthen the multi-scale learning ability of the network. The optimized detection layer was used to obtain more small target features and location information, and improve the detection ability of network multi-scale defect. Partial convolution was introduced to replace the 3×3 convolution in the efficient layer aggregation network (ELAN), then the lightweight model was used to reduce the computing and training burden. Combined with the similarity of normalized Wasserstein distance (NWD) loss measurement, the network convergence was accelerated and the detection ability of small target defects was improved. Test was conducted on the Tianchi aluminium profile dataset, and the results showed that the improved YOLOv7-tiny algorithm achieved the accuracy, recall, mean average accuracy (mAP@0.5) and detection speed of 95.0%, 91.8%, 94.5% and 45 frames per second, respectively, when the confidence threshold was 0.25. Compared with the original algorithm, the mAP@0.5 of the improved algorithm was increased by 4.2 percentage point as a whole, the average accuracy (AP) of the dirty spot defect was increased by 13.1 percentage point; the detection results of the improved algorithm for low-resolution images and interfered images was better than of the original algorithm, which showed that the proposed method had better generalization and anti-interference ability.

Keywords: surface defect ; aluminum profile ; small target detection ; SPPCSPC refactoring ; residual structure ; YOLOv7-tiny ; normalized Wasserstein distance (NWD) loss

PDF (4334KB) 元数据 多维度评价 相关文章 导出 EndNote| Ris| Bibtex  收藏本文

本文引用格式

王浚银, 文斌, 沈艳军, 张俊, 王子豪. 基于改进YOLOv7-tiny的铝型材表面缺陷检测方法. 浙江大学学报(工学版)[J], 2025, 59(3): 523-534 doi:10.3785/j.issn.1008-973X.2025.03.010

WANG Junyin, WEN Bin, SHEN Yanjun, ZHANG Jun, WANG Zihao. Surface defect detection method for aluminum profiles based on improved YOLOv7-tiny. Journal of Zhejiang University(Engineering Science)[J], 2025, 59(3): 523-534 doi:10.3785/j.issn.1008-973X.2025.03.010

铝型材广泛应用于建筑与结构、耐用消费品、包装容器、机械设备、交通运输等行业[1]. 铝型材在工厂生产过程中经过多种工艺流程,其表面容易产生缺陷影响铝型材的外观、质量和性能. 因此,快速准确检测铝型材表皮质量,保障良品率极为重要.

传统型材表面缺陷检测依靠专业的技术人员手动操作,检测效率低且依赖操作人员主观判断,检测的准确度难以得到保证[2]. 随着计算机视觉技术的不断发展,基于机器学习的检测方法具有无接触测量且准确的优点,能迅速应用于型材表面缺陷检测中. 侯占林等[3]在基于机器视觉的零件外形缺陷检测中,提出2次动态提取算法提取零件区域特征. 实验结果表明,算法能满足零件外形缺陷检测的需求. 郑彬等[4]采用HALCON图像处理软件对获取的图像进行预处理和特征提取,解决了传统型材表面缺陷检测精度低的问题. 赵文宏等[5]提出铝型材表面瑕疵检测方法,使用改进的Canny算法对图像缺陷进行定位和HOG算法进行特征提取,提升模型的泛化能力和鲁棒性. 传统的基于机器视觉的缺陷检测仍然存在特征提取工作复杂、冗余信息多、泛化能力不足的问题.

当前,基于深度学习的目标检测算法得到了广泛的关注. 算法主要分为2类. 一类为两阶段算法,如R-CNN[6]、Fast-RCNN[7]、Faster-RCNN[8]等. 黄凤荣等[9]基于Faster-RCNN算法,使用聚类算法生成anchor,并通过引入多级感兴趣区域池化 (region of interest pooling, ROI)池化层结构增加检测精度. 向宽等[10]提出改进Faster-RCNN的铝材表面缺陷检测方法,通过数据增强和主干网络引入特征金字塔网络提升小目标检测精度. 两阶段算法检测精度较低且检测速度慢,难以满足实时检测. 另一类为一阶段算法,其中,YOLO系列模型由于其良好的检测速度和准确率深受青睐[11]. Sun等[12]提出改进的YOLOv3模型,采用不同大小卷积核捕获缺陷多尺度信息并引入SE注意力,构建由注意力引导的特征提取模块. 杨畅畅等[13]提出改进的YOLOv4模型,在颈部网络中嵌入通道注意力机制SENet,增加浅层特征层解决铝型材小目标缺陷检测精度低的问题. 张建国等[14]提出改进的YOLOv5铝型材表面弱缺陷识别方法,添加解耦检测器提高预测准确率,优化损失函数提升定位准确度,取得较高检测精度但参数量骤增. 曹义亲等[15]提出基于YOLOX的金属表面检测算法,采用残差网络和深度卷积构成ECMNet提取特征,解决了参数量和计算负担过大的问题但部分缺陷检测精度较低. Lv等[16]提出轻量化铝带表面缺陷网络,嵌入GhostNet特征提取,采用深度卷积构建残差结构定位缺陷,取得速度和精度的良好平衡.

通过上述研究可知,铝型材表面缺陷检测还存在诸多不足. 对此,在YOLOv7-tiny模型框架的基础上设计一种铝型材表面缺陷检测方法. 通过数据增强得到新的铝型材表面缺陷数据集;添加残差结构、注意力机制和替换激活函数等操作重构空间金字塔池化模块,细化特征提取,加强网络多尺度特征提取能力;优化检测层集成更多小目标的缺陷特征,提升小目标检测精度;改进高效层聚合网络ELAN减轻训练和计算负担,轻量化模型;引入归一化Wasserstein距离(normalized Wasserstein distance, NWD)损失度量小目标缺陷边界框,减少漏检. 最后,通过实验验证改进算法的有效性.

1. YOLOv7-tiny算法

YOLOv7-tiny算法于2022年被提出,主要由输入端(Input)、主干网络(Backbone)、特征融合层(Neck)和检测头(Head)4部分组成[17]. YOLOv7-tiny在YOLO系列算法中具有检测精度较高、检测速度快和模型轻量化的优点. 算法采用基于串联模型的缩放策略,其中块的深度和宽度以相同的因素进行缩放,使模型保持参数量、计算量、推理速度和精度平衡的最佳结构. 结构如图1所示.

图 1

图 1   YOLOv7-tiny结构

Fig.1   Structure of YOLOv7-tiny


2. 改进YOLOv7-tiny缺陷检测算法

2.1. 重构SPPCSPC

铝型材缺陷检测中不同缺陷之间存在一定的相似性,背景信息复杂,缺陷尺度差异较大. SPPCSPC模块能够捕捉不同尺度的特征信息,提高特征表达能力,但面对铝型材多尺度缺陷,其特征提取能力仍存在不足. 为了解决上述问题,增强网络的多尺度特征提取能力,加强模块对目标缺陷信息的关注及特征表达,提出残差注意力空间金字塔池化模块SPPCSPC-F. 结构如图2所示.

图 2

图 2   SPPCSPC-F结构

Fig.2   Structure of SPPCSPC-F


模块由上下两通道构成,上方为粗粒度特征提取通道,下方为细粒度特征提取通道. 粗粒度特征提取通道裁剪卷积以减少参数量和计算量,仅保留池化层前后一层1×1卷积以调整通道数,保留丰富的小目标边缘信息. 池化核由(5,9,13)更改为(3,5,13),池化核与缺陷尺度更加匹配,能获得更多的小目标特征.

在细粒度特征提取通道中引入残差局部特征块(residual local feature block,RLFB)网络中残差结构增加网络深度,减少信息丢失,提取更多小目标特征. 如图3所示,Kong等[18]提出高效超分辨率残差局部特征网络RLFB,相对于其他残差网络,其可以在保持模型能力的同时显著减少推理时间. 如图3所示,RFLB使用3个浅层残差块细化提取特征,使用ReLU激活函数提升计算效率并加速网络收敛,使用add操作实现通道数不变信息量增加,使用1×1卷积进行特征融合. 为了增强模块对铝型材多尺度缺陷信息的空间敏感性,将ReLU替换为FReLU[19]. FReLU增加一个极少内存开销的空间条件将ReLU函数扩展为二维漏斗状条件,提取每个像素的周边信息后加权求和. 原理如图4所示.

图 3

图 3   RFLB残差结构

Fig.3   Structure of RFLB


图 4

图 4   ReLU和FReLU原理

Fig.4   Principle of ReLU and FReLU


最后,模块引入SimAM无参数注意力机制,其不包含任何子网络结构,可以在不增加原始网络参数的条件下,为特征图推断三维注意力权重[20]. 结构如图5所示. 嵌入SimAM注意力机制,划分目标像素点,并推断出特征图的空间和通道注意力权重,减少特征损耗,抑制混淆特征表达.

图 5

图 5   SimAM结构

Fig.5   Structure of SimAM


2.2. 检测层优化

YOLOv7-tiny网络三层检测层输出特征图的像素大小为20×20、40×40和80×80,分别检测目标像素大小在32×32、16×16和8×8以上的目标. 网络检测头IDetect检测不同大小的输出特征图. 如图6所示展示了铝型材表面缺陷目标的宽高分布,颜色越深表示目标越多越密集. 图中,HW分别为目标高度和宽度. 可以看出,不同缺陷之间宽高差异大,大尺度目标分散,小尺度目标宽高占比低于1%. 当训练输入图像大小为640×640时,小目标像素小于6.4×6.4,原网络输出特征图偏小,小目标信息部分丢失,检测结果较差.

图 6

图 6   目标宽高占比分布

Fig.6   Target width and height ratio distribution


为了获取完整的小目标缺陷细粒度特征和位置信息,提高模型的小目标缺陷检测能力. 在3个检测层的基础上增加P2小目标检测层,输出特征图大小为160×160,以检测大小在4×4以上的特征目标. 同时,为了避免模型参数量骤增,将检测层前CBL卷积核调整为1×1,减少模型计算负担. 改进后Head结构如图7所示.

图 7

图 7   改进后Head结构

Fig.7   Structure of improved Head


2.3. 改进ELAN

在工业背景下,铝型材表面缺陷检测算法须满足实用性,往往须部署在边缘设备中,要求检测模型在满足精度要求的同时轻量化. ELAN模块由浅层特征通道和深层特征通道组成,通过洗牌和合并结合通道特征,输出特征维度维持不变却增加输出特征的信息量. 但在实际检测中,铝型材背景信息较为复杂,普通卷积挖掘目标特征产生大量冗余信息增加计算量(floating point operations, FLOPs). 因此,将ELAN结构中卷积核为3的CBL卷积块替换为部分卷积(partial convolution, PConv),减少冗余计算,提高推理速度,轻量化模型. ELAN-P结构如图8所示.

图 8

图 8   ELAN-P结构

Fig.8   Structure of ELAN-P


卷积(convolution,Conv)和深度可分离卷积(depthwise separable convolution, DWConv)是神经网络中2种被广泛使用的构建块. 相较于Conv,DWConv能够大量减少FLOPs,但用其单一的替换普通卷积会导致模型精度骤降. 相较于Conv,PConv特点在于运用普通卷积提取输入通道和输出通道的一部分特征进行计算,能够在不失去通道特征数的同时,减少冗余计算和内存访问,更有效地提取空间特征[21].

图9所示,当输入特征$ {\boldsymbol{I}} \in {{\bf{R}}}^{{c} \times {h} \times {w}} $,输出特征${\boldsymbol{O}} \in {{\bf{R}}}^{{c} \times {h} \times {w}} $,标准卷积核大小为${\boldsymbol{w}} \in {{\bf{R}}}^{{c} \times {k} \times {k}} $时,由于PConv只特征提取部分通道(通道数为cp),卷积核大小缩小为${\boldsymbol{w}} \in {{\bf{R}}}^{{c_{\mathrm{p}}} \times {k} \times {k}} $. 其中,c、h、w表示特征图的通道数、高和宽. FLOPs表达式如下:

图 9

图 9   PConv和Conv原理

Fig.9   Principle of PConv and Conv


$ {\text{FLOP}}{{\text{s}}_{{\text{PConv}}}} = h {{w}} {{k}}^2 {{c}}_{\text{p}}^2. $

普通卷积FLOPs表达式如下:

$ {\text{FLOP}}{{\text{s}}_{{\text{Conv}}}}=h {{w}} {{k}}^2 {{c}}^2. $

两者FLOPs比值如下:

$ {{{n}}_{{\text{FLOPs}}}} = \frac{{{{\text{FLOPs}}_{{\text{PConv}}}}}}{{{{\text{FLOPs}}_{{\text{Conv}}}}}} = {\left( {\frac{{{{{c}}_{\text{p}}}}}{{{c}}}} \right)^2}. $

由式(1)~(3)可知,当输入输出通道相同时,PConv特征提取通道为Conv特征提取通道的1/4,PConv计算量为Conv的1/16,计算量和复杂度有效降低.

2.4. 损失函数改进

在铝型材表面缺陷检测中,脏点缺陷尺度非常小,容易导致漏检问题. YOLOv7-tiny算法损失函数基于交并比(intersection over union, IoU)的相似度度量对微小目标的位置偏差较敏感,导致网络收敛困难,小目标识别能力较差. 为了解决这些问题,采用NWD损失度量小目标检测框,在回归损失函数中添加NWD损失可以弥补IoU损失在小目标检测中的不足. 该方法使用二维高斯分布对检测边框进行建模,并通过它们之间对应高斯分布的相似度来计算预测目标和真实目标之间的相似性[22]. 边界框之间高斯距离分布表达式如下:

$ \begin{split}\mathop W\nolimits_2^2 \left( {\mathop N\nolimits_{\mathrm{a}} ,\mathop N\nolimits_{\mathrm{b}} } \right) =& {\Bigg\| {\left( {\left[ {{\mathrm{c}}{{\mathrm{x}}_{\mathrm{a}}}{\mathrm{,c}}{{\mathrm{y}}_{\mathrm{a}}},\frac{{{w_{\mathrm{a}}}}}{2}{\mathrm{,}}\frac{{{{{h}}_{\mathrm{a}}}}}{2}} \right]}\right. } ^{\mathrm{T}}},\\& {\left. {{{\left[ {{\mathrm{c}}{{\mathrm{x}}_{\mathrm{b}}}{\mathrm{,c}}{{\mathrm{y}}_{\mathrm{b}}},\frac{{{w_{\mathrm{b}}}}}{2}{\mathrm{,}}\frac{{{{{h}}_{\mathrm{b}}}}}{2}} \right]}^{\mathrm{T}}}} \right)} \Bigg\|_2^2 . \end{split} $

式中:$ W_2^2({N_{\mathrm{a}}}{\text{,}}{N_{\text{b}}}) $为距离度量,$ {N_{\mathrm{a}}} $$ {N_{\text{b}}} $表示由边界框$ A = ({\text{c}}{{\text{x}}_{\mathrm{a}} }{\text{,c}}{{\text{y}}_{\mathrm{a}} },{w_{\mathrm{a}} },{h_{\mathrm{a}} }) $$ B = ({\text{c}}{{\text{x}}_{\text{b}}}{\text{,c}}{{\text{y}}_{\text{b}}},{w_{\mathrm{b}}},{h_{\mathrm{b}}}) $建模的高斯分布.

对式(4)进行指数形式归一化操作获得NWD损失度量,计算公式为

$ {\mathrm{NWD}}({N_{\mathrm{a}}}{\text{,}}{N_{\text{b}}}) = \exp \;\left( { - {{\sqrt {W_2^2(N_{\mathrm{a}}{\text{,}}N_{\text{b}})} }}\Big/{C}} \right). $

式中:C为与数据集相关的一个超参数.

将CIoU直接替换为NWD会显著降低网络收敛速度,增加时间成本. 因此,结合CIoU和NWD的度量能更加全面评价2个边界框之间的相似度. 通过引入权重参数来控制2个损失度量的比例,得到最终的位置损失. 损失表达式如下:

$ \left.\begin{split} &{L_{{\mathrm{NWD}}}} = 1 - {\mathrm{NWD}}({N_{\mathrm{a}}},{N_{\mathrm{b}}}), \\ &{L_{{\text{box}}}} = {L_{\text{CIoU}}} {{{t}}_1}+{L_{{\mathrm{NWD}}}} {{{t}}_2}. \end{split}\right\} $

式中:Lbox为位置损失;LCIoU表示CIoU损失;LNWD表示NWD损失;t1t2分别表示CIoU和NWD度量边界框的权重百分比,两者和等于1.0,且在其比例为1∶1时损失最低.

改进YOLOv7-tiny网络结构如图10所示.

图 10

图 10   改进YOLOv7-tiny结构

Fig.10   Structure of improved YOLOv7-tiny


3. 实验结果与分析

3.1. 实验数据集制作

实验中的铝型材数据集来自2018年阿里云天池铝型材表面瑕疵识别数据集[23]. 图片为彩色,分辨率为2560×1920. 实验数据集包含4种缺陷类型:不导电、脏点、凹陷和漏底,共770张图片. 示例如图11所示. 图中,用红色方框圈出图片缺陷,可以观察到不同缺陷形状各异且尺度差异大,小目标缺陷图片面积占比较小.

图 11

图 11   铝型材表面缺陷

Fig.11   Surface defects of aluminum profiles


铝型材缺陷数据样本较少影响训练效果,可能产生过拟合,因此须进行数据增强. 首先,使用labelme软件标注图像获得json格式标注信息,因图像上缺陷数量不同,标注单张图像耗时约10 s. 接着,使用水平翻转、随机角度旋转、颜色增强和亮度改变等方法增强至3080张图片. 结果如表1所示. 表中,NoNe分别为原始图片和增强后图片数量. 然后,处理标注信息匹配增强后数据集. 最后,将标注信息转化为txt格式进行训练,增强后数据集按照8∶1∶1划分为训练集、测试集和验证集.

表 1   铝型材缺陷数据增强

Tab.1  Enhancement of aluminium profile defect data

种类NoNe
不导电133532
脏点2501000
漏底242968
凹陷145560
总计7703080

新窗口打开| 下载CSV


3.2. 实验环境与参数设置

实验在Windows10操作系统进行,CPU型号为AMD Ryzen 5,GPU型号为NVDIA GeForce GTX 2080Ti,显存为12 G,基于PyTorch深度学习框架和PyCharm编程平台构建网络模型,开发环境为PyTorch1.1.0、CUDA11.3和Python3.7. 在实验训练过程中采用Adam优化器,开启Mosaic数据增强,所有实验均在相同训练轮数下进行. 参数设置如表2所示.

表 2   改进模型实验参数设置

Tab.2  Experimental parameter settings of improved model

参数名数值参数名数值
Batch-size48动量因子0.937
Img-size640×640权重衰减系数0.0005
学习率0.01训练轮次300

新窗口打开| 下载CSV


3.3. 实验评价标准

目标检测实验常用训练结果作为模型评价指标. 训练结果包括模型体积、准确率P、召回率R和IoU阈值为0.5时的均值平均精度mAP@0.5等. 增加参数量、计算量和检测速度FPS作为评价指标. 参数量指网络可训练参数的数量,计算量指模型推理需要的浮点运算次数. 召回率指模型检测的目标被正确预测的比例. 采用参数量和计算量评价模型的复杂度,mAP@0.5评价模型的精确度.

$ P = \frac{{{\mathrm{TP}}}}{{{\mathrm{TP}}+{\mathrm{FP}}}}, $

$ R = \frac{{{\mathrm{TP}}}}{{{\mathrm{TP}}+{\mathrm{FN}}}}, $

$ {\mathrm{AP}} = \int_0^1 {P(R){\mathrm{d}}} R, $

$ {\text{mAP}} = \dfrac{1}{N}{{\displaystyle\sum\limits_{i=1}^N {{{\mathrm{AP}}_i}} }}, $

$ {\mathrm{FPS}} = {N_{\mathrm{r}}}/{T}. $

式中:TP表示被模型预测为正类的正样本数量;FP表示被模型预测为正类的负样本数量;FN表示被模型预测为负类的正样本数量;AP表示平均精度;N为预测框类别总数;Nr为测试图片总数,T为推理时间,包括图片预处理和网络正向推理及分类的时间.

3.4. 改进前后检测算法性能分析

图12所示为改进算法和原YOLOv7-tiny算法在相同配置下训练300轮的mAP@0.5曲线图. 图中,红色实线为改进算法训练曲线,绿色虚线为原算法训练曲线. 可以看出,改进算法与原算法相比,精度曲线能够更快速地收敛并趋于稳定. 在相同的迭代轮数下,改进算法能达到更高的精度.

图 12

图 12   算法改进前后的mAP@0.5曲线

Fig.12   mAP@0.5 curve before and after algorithm improvement


图13所示为损失改进前后在相同配置下训练300轮的位置损失值曲线. 图中,红色虚线为训练过程中使用式(6)计算得到的位置损失随训练轮数的变化,绿色实线为原位置损失随训练轮数的变化. 相较原损失,改进损失结合NWD和CIoU进行相似度度量,初始损失值降低,在相同迭代轮次后,损失值更低,网络收敛速度更快. 损失改进后曲线下降更快且更多,收敛值稳定在约0.0153,预测更加准确.

图 13

图 13   算法改进前后的位置损失曲线

Fig.13   Curve of loss function before and after algorithm improvement


图14所示展示了原算法和改进算法检测的结果对比. 如图14(a)所示,原算法检测小目标缺陷存在漏检,改进算法能识别出全部的脏点缺陷,检测结果更好. 图像在模糊、低对比度和光照不足的条件下的检测结果对比如图14(b)~(d)所示. 在图像模糊条件下和低对比度条件下,检测结果受干扰较大. 原算法和改进算法置信度下降且都出现漏检,但改进算法置信度高于原算法,预测更加准确. 在光照不足条件下,检测结果受干扰较小. 相较于原算法,改进算法能够识别出更多的小目标缺陷,置信度更高. 检测结果表明,在干扰条件下,图像信息被遮挡,算法检测结果受影响出现漏检,但改进算法检测结果优于原算法. 相较于原算法,改进后算法能更好地适应干扰条件下不同尺度缺陷的目标检测任务,缺陷检测置信度提升,具有更强的适应能力和抗干扰能力.

图 14

图 14   改进前后算法检测结果对比

Fig.14   Comparison of algorithm detection results before and after improvement


图像的分辨率不同会影响算法的召回率和检测速度,实际检测中相机分辨率固定,图像分辨率可调. 因此,须从应用的角度探究不同分辨率图像对算法检测缺陷的召回率和检测速度的影响. 调整图14中图像到不同大小分辨率进行实验. 缺陷面积占比<1%的为小目标图像,面积占比为1%~10%的为中目标,面积占比>10%的为大目标. 置信度阈值为0.25,IoU阈值为0.50.

实验结果如表3所示. 图中,e为缺陷面积占比. 当图像分辨率为2560×1920时,改进算法模型和原算法模型检测缺陷的召回率最高,分别为84.4%和75.0%,但FPS最低. 当分辨率为1280×960时,改进模型的召回率不变,FPS=69帧/s,原模型的召回率降至68.8%,须重新拍摄图像,FPS=77帧/s. 当分辨率为768×576时,改进模型的召回率保持不变,FPS达到最高78帧/s,原模型的FPS=86帧/s,但召回率降至65.6%. 当分辨率为307×230时,改进模型的FPS=89帧/s,但召回率下降至75.0%须重新拍摄图像,原模型召回率降至59.3%.

表 3   不同分辨率图像检测对比

Tab.3  Comparison of image detection with different resolutions

模型e/%2560×19201280×960768×576307×230
RFPS/(帧·s−1RFPS/(帧·s−1RFPS/(帧·s−1RFPS/(帧·s−1
本研究模型<117/204517/206917/207817/2089
1~106/86/86/85/8
>104/44/44/42/4
YOLOv7-tiny<114/205014/207714/208613/20101
1~106/86/85/84/8
>104/42/42/42/4

新窗口打开| 下载CSV


综上所述,随着检测的图像分辨率降低,改进模型和原模型的FPS提升,同分辨率下原模型检测速度更高. 随着图像分辨率降低,改进模型和原模型检测缺陷置信度下降,召回率降低,大目标缺陷更受影响. 同分辨率下改进模型的召回率更高,识别能力更强. 检测缺陷的召回率过低易产生漏检,影响模型的效率[24]. 同时,检测速度FPS也影响模型的效率[25]. 因此,模型FPS较高的同时召回率也越高,模型的效率更高. 在不同分辨率下,当改进模型和原模型FPS相近时,改进模型具有更高的召回率和效率.

3.5. 不同SPPCSPC模块对比

为了验证重构SPPCSPC-F模块性能,将重构模块、原模块和齐向明等[26]提出的SPPCSPC-S模块在YOLOv7-tiny模型上进行对比实验. 在相同实验参数和环境下,实验结果如表4所示. 表中,Q为参数量,FLOPs为计算量. 相较于使用原模块和SPPCSPC-S模块,使用SPPCSPC-F模块,模型参数量和计算量少量增加但模型能提取更丰富的目标信息,模型检测精度分别提高1.8个百分点和3.4个百分点.

表 4   SPPCSPC模块对比

Tab.4  Comparison of SPPCSPC modules

模型mAP@0.5/%Q/106FLOPs/109
1)注:括号内为模块参数量.
YOLOv7-tiny+SPPCSPC90.57.27 (1.90)1)14.2
YOLOv7-tiny+SPPCSPC-S88.96.62 (1.25)13.7
YOLOv7-tiny+SPPCSPC-F92.37.73 (2.36)14.6

新窗口打开| 下载CSV


为了进一步验证SPPCSPC-F模块在特征提取上的优势,对表4中不同模型输出进行Grad-CAM热力图可视化[27]. 目标检测热力图能够直观地展示模型关注区域. 热力图结果如图15所示,热力值区域代表网络关注的重点区域. 相较于另外2种模块,SPPCSPC-F模块关注区域更加集中,更贴近目标缺陷位置,具有更高的置信度和更强的特征提取能力.

图 15

图 15   不同SPPCSPC模块热力图对比

Fig.15   Comparison of heat maps of different SPPCSPC modules


3.6. 消融实验

验证各模块及整体算法的有效性,在铝型材表面缺陷数据集上进行消融实验,结果如表5所示. 表中,V为模型体积. 算法包括4个改进:引入残差网络、注意力和激活函数等重构SPPCSPC模块;ELAN模块改为轻量化ELAN-P模块;添加NWD损失函数;检测层优化. 首先,验证单一改进对算法评价指标的影响,将原算法的SPPCSPC模块替换为SPPCSPC-F模块,网络提取更多特征,精度提高2.0个百分点. 接着,在添加小目标检测层后,脏点小目标缺陷的形状、位置这些信息更加丰富,精度提高1.7个百分点. 然后,使用ELAN-P模块平衡参数量、计算量和精度,参数量和计算量分别降低39.1%和43.0%. 此外,添加NWD损失函数度量小目标缺陷相似度,更好地引导模型学习目标的定位,精度提高0.9个百分点. 最后,综合4个改进后,算法计算量缩减34.8%、检测精度提高4.2个百分点,参数量和模型体积略微增加.

表 5   改进模型消融实验结果

Tab.5  Ablation experiment results of improved model

组别数据增强SPPCSPC-F优化检测层ELAN-PNWDmAP@0.5/%Q/106FLOPs/109V/MB
1) 注:“√”表示用到该方法.
184.66.0213.212.3
21)90.36.0213.212.3
392.37.7314.615.7
494.07.8814.116.0
588.44.359.39.2
692.46.0213.212.3
794.110.115.120.6
893.46.158.612.7
994.56.158.612.7

新窗口打开| 下载CSV


3.7. 不同算法对比实验

通过对YOLOv7-tiny算法的一系列改进取得指标提高. 为了进一步验证改进后算法的性能,选择几类主流且参数量相仿的轻量级目标检测算法以及改进的YOLOv5-s[28]在铝型材数据集上进行对比实验. 结果如表6所示. 改进后算法正确识别出更多缺陷,取得最高召回率91.8%,漏检减少. 相较于Faster-RCNN、YOLOv3-tiny、YOLOv5-s、YOLOv5-s[28]和YOLOv8-s等算法,改进算法在mAP@0.5上,达到94.5%,高于其他算法. 在参数量、计算量和模型体积方面,改进后算法更加轻量化便于嵌入式设备的移植,在FPS方面也更具有优势. 结果证明改进后算法检测性能优于上述几类算法. 相较于原算法,改进后算法以参数量仅增加0.13×106的代价获得mAP@0.5提高4.2个百分点,计算量降低34.8%. 由于网络层数增加,FPS略微下降到45帧/s,仍然满足工业实时检测要求.

表 6   不同算法指标对比实验结果

Tab.6  Comparative experimental results on different algorithm indicators

模型AP/%mAP@0.5/%R/%Q/106FLOPs/109V/MBFPS/(帧·s−1
不导电脏点漏底凹陷
Faster-RCNN97.472.895.881.886.962.341.30214.0315.016
YOLOv3-tiny52.869.071.881.268.788.48.6713.017.440
YOLOv5-s99.379.999.491.292.588.87.0016.014.445
改进的YOLOv5-s[28]98.872.899.589.090.088.67.2018.615.338
YOLOv7-tiny99.569.699.892.290.388.56.0213.212.350
YOLOv8-s99.478.699.593.592.889.411.1028.722.540
本研究模型99.282.799.796.294.591.86.158.612.745

新窗口打开| 下载CSV


3.8. 在公共数据集上的实验

为了验证改进算法在其他金属表面缺陷数据集的泛化性,选取东北大学NEU-DET钢材表面缺陷数据集进行训练. 数据集共有1800张灰度图像,包含轧制氧化皮(RS)、斑块(Pa)、裂纹(Cr)、点蚀面(PS)、夹杂物(In)和划痕(Sc).

改进模型和原模型在相同配置下进行300轮训练,结果如表7所示. 可以看出,相较于原算法,改进算法在5类缺陷上的检测精度有较大提高,整体检测精度提高1.7个百分点,在小目标轧制氧化皮和点蚀面缺陷上分别提高0.7个百分点和3.0个百分点,在斑块和裂纹缺陷上分别提高2.0个百分点和4.2个百分点,划痕缺陷检测精度保持. 改进算法引入NWD损失有利于检测小目标缺陷导致大目标夹杂物缺陷检测精度略低于原算法的. 实验结果证明,改进算法在公共数据集上仍有较好的检测精度提高,具有泛化性.

表 7   NEU-DET数据集对比实验结果

Tab.7  Comparative experiment results of NEU-DET dataset

模型AP/%mAP@0.5/%
RSPaCrPSInSc
YOLOv7-tiny64.191.343.083.181.292.875.9
本研究模型64.893.347.286.181.192.877.6

新窗口打开| 下载CSV


4. 结 论

(1)SPPCSPC-F模块增强模型多尺度学习能力,加强模型对目标缺陷的关注. 优化检测层,捕捉更多的小目标形状、大小之类的细节信息,提升小目标检测精度. ELAN-P模块加快推理速度,减少冗余计算,减轻模型负担. 结合NWD损失度量边界框相似性,能提升小目标缺陷的定位能力.

(2)与原始算法相比,基于YOLOv7-tiny改进的铝型材表面缺陷检测算法,检测精度提高4.2个百分点,计算量下降34.8%,不同条件下具有更好的检测效果以及对低分辨率图像具有更好的识别能力. 与其余流行的目标检测算法对比,改进算法具有更好的检测精度和轻量化. 在公共数据集上验证得出,改进算法的检测精度仍有提升,在金属型材表面缺陷检测上有一定泛化性.

(3)在实际工业检测中,检测环境复杂,后续工作将考虑如何设计相机拍摄图像,以完成铝型材表面缺陷检测.

参考文献

邓运来, 张新明

铝及铝合金材料进展

[J]. 中国有色金属学报, 2019, 29 (9): 2115- 2141

[本文引用: 1]

DENG Yunlai, ZHANG Xinming

Development of aluminium and aluminium alloy

[J]. The Chinese Journal of Nonferrous Metals, 2019, 29 (9): 2115- 2141

[本文引用: 1]

杨传礼, 张修庆

基于机器视觉和深度学习的材料缺陷检测应用综述

[J]. 材料导报, 2022, 36 (16): 226- 234

DOI:10.11896/cldb.20070136      [本文引用: 1]

YANG Chuanli, ZHANG Xiuqing

Survey of applications of material defect detection based on machine vision and deep learning

[J]. Materials Reports, 2022, 36 (16): 226- 234

DOI:10.11896/cldb.20070136      [本文引用: 1]

侯占林, 赵京

基于机器视觉的零件外形缺陷检测

[J]. 组合机床与自动化加工技术, 2019, (11): 100- 104

[本文引用: 1]

HOU Zhanlin, ZHAO Jing

Research on part contour defect detection algorithm based on machine vision

[J]. Modular Machine Tool and Automatic Manufacturing Technique, 2019, (11): 100- 104

[本文引用: 1]

郑彬, 王鑫

基于机器视觉的型材表面缺陷图像处理

[J]. 机械设计, 2020, 37 (Suppl.1): 95- 97

[本文引用: 1]

ZHENG Bin, WANG Xin

Research on image processing of section steel surface defect based on machine vision

[J]. Journal of Machine Design, 2020, 37 (Suppl.1): 95- 97

[本文引用: 1]

赵文宏, 周神特, 吕建标, 等. 基于机器视觉的铝型材表面瑕疵检测方法[J]. 浙江工业大学学报, 2021, 49(1): 76–81.

[本文引用: 1]

ZHAO Wenhong, ZHOU Shente, LV Jianbiao, et al. Method for detecting surface defects of aluminum profile based on machine vision [J]. Journal of Zhejiang University of Technology . 2021, 49(1): 76–81.

[本文引用: 1]

GIRSHICK R, DONAHUE J, DARRELL T, et al. Rich feature hierarchies for accurate object detection and semantic segmentation [C]// IEEE Conference on Computer Vision and Pattern Recognition . Columbus: IEEE, 2014: 580–587.

[本文引用: 1]

GIRSHICK R. Fast R-CNN [C]// IEEE International Conference on Computer Vision . Santiago: IEEE, 2015: 1440–1448.

[本文引用: 1]

REN S, HE K, GIRSHICK R, et al

Faster R-CNN: towards real-time object detection with region proposal networks

[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2017, 39 (6): 1137- 1149

DOI:10.1109/TPAMI.2016.2577031      [本文引用: 1]

黄凤荣, 李杨, 郭兰申, 等

基于Faster R-CNN的零件表面缺陷检测算法

[J]. 计算机辅助设计与图形学学报, 2020, 32 (6): 883- 893

[本文引用: 1]

HUANG Fengrong, LI Yang, GUO Lanshen, et al

Method for detecting surface defects of engine parts based on Faster R-CNN

[J]. Journal of Computer-aided Design and Computer Graphics, 2020, 32 (6): 883- 893

[本文引用: 1]

向宽, 李松松, 栾明慧, 等

基于改进Faster RCNN的铝材表面缺陷检测方法

[J]. 仪器仪表学报, 2021, 42 (1): 191- 198

[本文引用: 1]

XIANG Kuan, LI Songsong, LUAN Minghui, et al

Aluminum product surface defect detection method based on improved Faster RCNN

[J]. Chinese Journal of Scientific Instrument, 2021, 42 (1): 191- 198

[本文引用: 1]

REDMON J, DIVVALA S, GIRSHICK R, et al. You Only Look Once: unified, real-time object detection [C]// IEEE Conference on Computer Vision and Pattern Recognition . Las Vegas: IEEE, 2016: 779–788.

[本文引用: 1]

SUN L S , WEI J X , DU H C , et al. MSFF: a multi-Scale feature fusion network for surface defect detection of aluminum profiles [J]. IEICE Transactions on Information and Systems , 2022, 105(9): 1652–1655.

[本文引用: 1]

杨畅畅, 李慧玲, 潘广通, 等

基于改进YOLOv4算法的铝型材表面缺陷检测

[J]. 组合机床与自动化加工技术, 2022, (11): 66- 69

[本文引用: 1]

YANG Changchang, LI Huiling, PAN Guangtong, et al

Surface defect detection of aluminum profiles based on improved YOLOv4 Algorithm

[J]. Modular Machine Tool and Automatic Manufacturing Technique, 2022, (11): 66- 69

[本文引用: 1]

张建国, 高飞, 莘明星, 等

基于改进YOLOv5s的铝型材表面弱缺陷识别方法

[J]. 船舶工程, 2023, 45 (6): 161- 166

[本文引用: 1]

ZHANG Jianguo, GAO Fei, XIN Mingxing, et al

Weak defect identification method on profile surface based on image enhancement and YOLOv5s

[J]. Ship Engineering, 2023, 45 (6): 161- 166

[本文引用: 1]

曹义亲, 周一纬, 徐露

基于E-YOLOX的实时金属表面缺陷检测算法

[J]. 图学学报, 2023, 44 (4): 677- 690

[本文引用: 1]

CAO Yiqin, ZHOU Yiwei, XU Lu, et al

A real-time metallic surface defect detection algorithm based on E-YOLOX

[J]. Journal of Graphics, 2023, 44 (4): 677- 690

[本文引用: 1]

LV Z, LI Y, QIAN S

Real-time and accurate defect segmentation of aluminum strip surface via a lightweight network

[J]. Journal of Real-Time Image Processing, 2023, 20 (2): 37

[本文引用: 1]

KANG X J, LI J F

AYOLOv7-tiny: towards efficient defect detection in solid color circular weft fabric

[J]. Textile Research Journal, 2024, 94 (1/2): 225- 245

DOI:10.1177/00405175231205898      [本文引用: 1]

KONG F Y, LI M X, LIU S W, et al. Residual local feature network for efficient super-resolution [C]// Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition . New Orleans: IEEE , 2022: 766–776.

[本文引用: 1]

MA N N, ZHANG X Y, SUN J. Funnel activation for visual recognition [C]// Computer Vision-ECCV 2020: 16th European Conference . Glasgow: Springer, 2020: 351–368.

[本文引用: 1]

NING T L, PAN S, ZHOU J. YOLOv7-SIMAM: an effective method for SAR ship detection [C]// 4th International Conference on Neural Networks, Information and Communication . Guangzhou: IEEE, 2024: 754–758.

[本文引用: 1]

CHEN J R, KAO S H, HE H, et al. Run, don’t walk: chasing higher FLOPS for faster neural networks [C]// Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition . Vancouver: IEEE, 2023: 12021–12031.

[本文引用: 1]

WANG J W, XU C, YANG W, et al. A normalized gaussian wasserstein distance for tiny object detection [EB/OL]. (2021−10−26) [2024−01−01]. https://arxiv.org/abs/2110.13389.

[本文引用: 1]

沈晓海, 栗泽昊, 李敏, 等

基于多任务深度学习的铝材表面缺陷检测

[J]. 激光与光电子学进展, 2020, 57 (10): 10

[本文引用: 1]

SHEN Xiaohai, LI Zehao, LI Min, et al

Aluminum surface-defect detection based on multi-Task deep learning

[J]. Laser and Optoelectronics Progress, 2020, 57 (10): 10

[本文引用: 1]

邓丁山, 王昊楠, 赵军杰, 等. 基于改进YOLOv7的风力发电机表面缺陷检测算法[EB/OL]. [2024−01−01]. https://doi.org/10.13196/j.cims.2023.0410.

[本文引用: 1]

陈乐, 周永霞, 祖佳贞

改进YOLOX-S的偏光片表面缺陷检测算法

[J]. 计算机工程与应用, 2024, 60 (2): 295- 303

DOI:10.3778/j.issn.1002-8331.2209-0375      [本文引用: 1]

CHEN Le, ZHOU Yongxia, ZU Jianzhen

Surface defect detection of polarizer based on improved YOLOX-S algorithm

[J]. Computer Engineering and Applications, 2024, 60 (2): 295- 303

DOI:10.3778/j.issn.1002-8331.2209-0375      [本文引用: 1]

齐向明, 柴蕊, 高一萌, 等

重构SPPCSPC与优化下采样的小目标检测算法

[J]. 计算机工程与应用, 2023, 59 (20): 158- 166

DOI:10.3778/j.issn.1002-8331.2305-0004      [本文引用: 1]

QI Xiangming, CHAI Rui, GAO Yimeng, et al

Algorithm of reconstructed SPPCSPC and optimized downsampling for small object detection

[J]. Computer Engineering and Applications, 2023, 59 (20): 158- 166

DOI:10.3778/j.issn.1002-8331.2305-0004      [本文引用: 1]

SELVARAJU R R, COGSWELL M, DAS A, et al

Grad-CAM: visual explanations from deep networks via gradient-based localization

[J]. International Journal of Computer Vision, 2020, 128 (2): 336- 359

DOI:10.1007/s11263-019-01228-7      [本文引用: 1]

席凌飞, 伊力哈木·亚尔买买提, 刘雅洁, 等

基于改进YOLOv5的铝型材表面缺陷检测方法

[J]. 广西师范大学学报: 自然科学版, 2024, 42 (1): 111- 119

[本文引用: 3]

XI Lingfei, YAERMAIMAITI Yilihamu, LIU Yajie

et al. Surface defect detection method for aluminum profile based on improved YOLOv5

[J]. Journal of Guangxi Normal University: Natural Science Edition, 2024, 42 (1): 111- 119

[本文引用: 3]

/