轻量化YOLOv8的小样本钢板缺陷检测算法

2024-05-11 03:33高浩然刘国奇常宝方
计算机工程与应用 2024年9期
关键词:卷积样本特征

窦 智,高浩然,刘国奇,常宝方

河南师范大学计算机与信息工程学院,河南 新乡 453007

钢板是工业生产中最常见的原材料之一,在其生产、加工及运输过程中难免会因各种原因受到损伤从而产生缺陷,如划痕、污渍、压痕等。这些缺陷会使得钢板在后续加工成工业产品时产出残次品,可能会造成极大的经济损失和安全事故。因此,对钢板表面的缺陷进行精准的检测拥有重大的研究意义。

传统的表面缺陷检测方法一般是依靠人工检测[1],这种方法不仅耗时耗力,还会因为不同人的经验及能力不同导致检测效果会大打折扣,错检率和误检率难以达到行业要求。并且随着数字化浪潮在工业领域的兴起,无人化和智能化成为重要的发展方向。因此,基于机器视觉的缺陷检测以其高精度和高效率取代了人工检测。然而,基于机器视觉的缺陷检测需要使用人工设计的算法提取特征,算法的鲁棒性和泛化能力较差,不能满足实际生产的需要。随着深度学习的发展,由于它在目标检测领域表现出的优异效果,基于深度学习的缺陷检测逐渐成为了重要的研究热点[2]。

目前基于深度学习的目标检测算法主要分为单阶段和两阶段的目标检测算法[3]。单阶段方法包括YOLO[4]算法系列、SSD[5]等。两阶段方法包括R-CNN[6]、Fast-RCNN[7]和Faster-RCNN[8]。两阶段检测方法需要先生成目标区域,然后网络对每个区域进行分类,获取预测信息。与两阶段方法相比,单阶段方法速度较快,更适用于实际使用。2020 年,Detection Transformer(DETR)[9]的提出将Transformer成功引入到计算机视觉领域。也有许多研究学者将深度学习和缺陷检测结合,取得了成果,Chao 等[10]通过使用双特征金字塔网络(DFPN)和解耦头改进YOLOv5 提出了RDD-YOLO,在钢材表面缺陷检测中有不错的结果。崔克彬等[11]针对缺陷检测中误检、漏检率高等问题提出了MCB-FAH-YOLOv8,通过加入改进后的卷积注意力机制模块(CBAM)和可替换四头ASFF 预测头(four-head ASFF prediction head,FAH),使网络对微小物体和密集目标检测能力提升,在牺牲速度的情况下提高了精度。王春梅等[12]将VanillaNet主干和YOLOv8 结合,并使用轻量级的上采样算子CARAFE 提出了YOLOv8-VSC,使模型在保证高检测精度的前提下需要的计算资源更少。侯玥等[13]设计了一种由Swin Transformer 模块和PANET 模块组成的学习器,对小样本检测任务有了显著的提高。赵珊等[14]设计了一种通道分离双注意力机制,提取更多细节特征,改善了深度网络信息丢失问题。赵睿等[15]通过使用DenseBlock 模块和SE-Net 注意力提升了网络的特征提取能力,提升了在小目标场景下的检测性能。

已有的研究成果通过不同的方式提高了缺陷检测的各种性能,但仍然难以满足行业的现实需求。在实际的生产检测过程中,缺陷呈现种类多、数量少的特点,再加上公开的领域样本集缺失,使得依赖于大规模样本集合的深度学习方法无法应用于此类小样本缺陷检测中。本文的贡献在于提出了一种高性能的数据增强方法,可有效扩充训练集合,使深度学习应用于小样本缺陷检测具备可行性。同时为了满足检测性能和深度边缘计算的具体需求,进一步优化了网络模型的性能和复杂度,使高性能的网络模型应用于边缘计算成为可能,是本文的另一个重要贡献。本文的主要创新如下:

(1)为了解决训练样本缺失问题,提出了一种基于模糊搜索的交互式数据增强算法,对钢板表面的缺陷数据集进行了扩充,解决深度学习模型训练时样本不足导致检测效果差的问题。

(2)为了降低YOLOv8 模型的参数量和计算量,使其能应用于边缘计算中,设计轻量化多尺度残差网络作为模型的主干网络;在BiFPN 的基础上进行改进,提出一种新的颈部网络CBFPN,去除部分支路,使网络更加轻量化,并且使用一种新的融合方式,通过不同的扩展卷积率的扩展卷积获取不同感受野的上下文信息,提高网络检测的精度。

(3)为了进一步提高网络的检测精度,提出ECSA注意力模块,使网络能从通道上和空间上提取更丰富的特征;使用Wise-IoU 替换YOLOv8 原网络的CIoU 损失函数,使模型收敛更快,精度更高。

1 相关工作

1.1 目标检测中的数据增强

数据增强是目标检测乃至整个深度学习中常用的提高模型性能的方法之一。数据增强一方面扩充数据集,让模型拥有更强的泛化能力;另一方面,也相当于为原始数据引入了噪声,提高了模型的鲁棒性。目前常见的方法是对原始数据进行翻转、裁剪、抖动、加入噪声等。Bochkovskiy 等[16]对四张图片进行随机裁剪,再拼接到一张图上作为训练数据,丰富了图片的背景。Terrance等[17]在训练时随机裁剪掉图像的一块正方形区域,然后用空白填充。Yang等[18]在训练过程中引入高斯噪声、模糊图像来增强模型的泛化能力和鲁棒性。

以上方法都是对原数据进行简单的变换,面对已有样本数量稀少的情况,难以生成大量符合真实情况的仿真样本,并不能解决缺陷样本稀缺的钢板检测问题。针对以上问题,本文提出了一个面向小样本缺陷检测的数据增强算法。

1.2 YOLOv8网络模型

基于深度学习的缺陷检测主要分为单阶段和两阶段的目标检测方法。其中单阶段检测方法的YOLO 系列因其优异的准确率和更快的速度,被广泛应用于目标检测任务中。而YOLOv8是YOLO系列的SOTA算法,相比其他算法,它在速度和精度上均有更好的表现。YOLOv8的网络结构图如图1所示。

图1 YOLOv8网络结构图Fig.1 YOLOv8 network diagram

YOLOv8 由主干、Neck 和Head 构成。主干主要由C2f 和SPPF 模块组成,其中,C2f 模块把YOLOv5 的C3结构和YOLOv7的ELAN结构相结合,在保证了模块的轻量化的同时获得更丰富的梯度流信息,从而获得更高的精度。在主干的末端,仍然使用最流行的SPPF 模块。它依次传递3 个大小为5×5 的maxpool,然后将每一层进行串联,这样不仅能保证这一层的轻量化,又能在检测不同尺度的物体时保证精度。在Neck 部分,YOLOv8 仍然采用FPN-PAN 的结构进行特征融合,能对不同尺度下的特征信息进行融合和利用。在Head部分使用解耦头结构(decoupled-head),将分类和检测任务分开;舍弃了锚框,使用Anchor-Free 结构,不用再进行锚框超参数的调整,减轻了算法的复杂度。Loss计算有分类和回归两个部分,分类使用BCE loss,回归分支使用了distribution focal loss和CIOU损失函数。

2 数据增强和改进的YOLOv8

2.1 基于模糊搜索的交互式数据增强算法

制造业的特殊性导致缺乏钢板缺陷的通用数据集[19],若想将深度学习应用于钢板缺陷检测,并达到业界认可的性能,自制专门的训练集合是唯一的选择。然而在本文的应用场景下,数月的采集周期内仅仅能获取十几张缺陷样本,样本规模严重不足,导致深度网络模型无法针对该问题进行有效的优化学习。针对这一情况,本文提出了一种基于模糊搜索的交互式数据增强算法,该算法能在保证钢板缺陷特征多样性的前提下,生成大量仿真度高、满足训练要求的缺陷样本集合,解决深度学习模型训练时样本不足导致检测效果差的问题。首先,使用鼠标选中样本图像中钢板缺陷任意一点X(i,j),以该点为中心生成一个尺寸为3×3 像素的搜索邻域P(i,j):

该区域如图2所示。

图2 搜索领域图Fig.2 Search field diagram

然后,计算P(i,j)中的各点X(i,j)的相似度:

其中,V(·)表示该像素点的亮度值。相似度低于阈值(本文中阈值取20)的点被纳入相似点集并记录其图像坐标。

递归调用该方法,即可记录并标定伤痕图像区域。接着,从图像中提取标定区域的子图像,实现像素级伤痕子图分割。最后,对伤痕子图进行旋转、放缩、放射等变换操作,并在背景图随机位置上进行融合,即可生成大量的钢板缺陷样本S,融合过程如公式所示:

其中,h、w表示行、列的偏移量,()i+h,j+w表示缺陷在图像上的坐标,M( )i,j为伤痕子图上i行j列像素点的值,B表示背景图。

本文算法生成样本步骤如图3 所示。图3(a)为钢板缺陷样本原图,图3(b)为本文算法提取生成的缺陷子图,图3(c)为样品背景图,图3(d)为最终生成的样本。

图3 生成缺陷样本展示Fig.3 Generating defect samples

2.2 改进的YOLOv8模型

将YOLOv8 直接应用于真实的钢板缺陷检测过程中,出现了严重的漏检、误检等问题,与行业要求存在较大差距。此外,庞大的YOLOv8模型无法应用于工业现场的边缘计算中。若要将深度网络成功应用于该领域,上述问题亟待解决。钢板缺陷由其特殊性,呈现颜色单一,特异性强,尺寸差别大等特点,针对这一特殊的检测对象,本文提出了LEC-YOLO缺陷检测模型,如图4所示。采用轻量化多尺度残差网络(lightweight multi-scale residual networks,LMSRNet)替换原主干网络(如红色模块所示),引入ECSA模块(如绿色模块所示),将Neck改为CBFPN 结构(如蓝色模块所示),并优化损失函数。首先,设计轻量型网络LMSRNet 替换YOLOv8 的主干,确保高效提取缺陷像素级强特征的前提下,有效降低了网络模型规模和计算量,提升了检测速度。然后,提出一种融合通道和空间的ECSA(efficient channel spatial attention)注意力模块,置于SPPF(spatial pyramid pooling-fast)模块之后,融合通道及空间信息,并通过多尺度卷积提取多粒度特征,提升模型对不同尺度和维度缺陷特征的提取能力。接着,提出基于上下文的双向路径特征金字塔(context bidirectional feature pyramid network,CBFPN)对上述的多种特征进行整合,关注目标与背景的冲突信息,实现层内及层间的特征流动,实现不同尺度的特征融合,使网络精准区分缺陷区域和背景区域。最后,使用Wise-IoU替换原本的CIoU作为损失函数,进一步提升缺陷检测模型的训练效率和检测性能。

图4 LEC-YOLO网络结构图Fig.4 LEC-YOLO network structure diagram

2.3 轻量化多尺度残差网络

为了同时满足模型轻量化和特征高效提取的要求,受MobileNetv3[20]的启发,本文提出一种轻量化多尺度残差网络(LMSRNet)替换YOLOv8的主干网络。

由于图像经过深度神经网络的处理之后,会包含大量的冗余特征图[21]。这些冗余特征的相似度很高,而YOLOV8的主干网络会对所有特征图进行逐通道卷积,这无疑会造成大量的冗余计算,降低网络效率。为解决这一问题,使网络效率更高并降低模型参数量。设计了LMSRNet作为主干网络。钢板缺陷区域与其他区域像素级特征上存在明显差异,为了提取钢板缺陷的强特征,首先通过CBH 模块提取并处理这些特征。模块采用尺度为3×3的卷积层,在保证充分提取缺陷像素级局部强特征的前提下,有效控制模块参数量,不增加额外参数;为了平衡计算精度、执行效率以及可移植性,使用h-swish 代替swish作为激活函数,h-swish 表示为:

其中,x为输入向量,RELU6 为激活函数。相比于swish函数,h-swish 函数的区别是使用RELU6 激活函数替代sigmoid 函数,sigmoid 函数是非线性函数,这种非线性虽然提高了精度,但计算复杂。所以使用RELU6作为近似函数来逼近swish。RELU6 不仅能在几乎所有软件和硬件框架上实现、移植成本低,且能消除使用线性函数代替sigmoid函数产生的精度损失;最后通过一系列多尺度残差卷积模块(multi-scale residual convolution module,MRCM)进行多通道输出。MRCM 的结构如图5所示。

图5 多尺度残差卷积模块结构图Fig.5 Multi-scale residual convolution module structure diagram

MRCM 首先将CBH 输出的特征图根据通道分成x1和x2两等份;然后,将x1输入感受野分别为3和5的卷积层,以涵盖缺陷特征可能出现的尺寸,并提取多粒度信息;接着,将x1的多尺度卷积结果与x2进行拼接,实现多维特征差分融合;最后,对融合后的特征进行逐点卷积,并与初始输入特征进行残差融合,输出最终特征图,使模型保留对多维特征的感知能力。

其中,x为输入特征,x1、x2为将x按通道等分的特征子集,Conv3×3( )、Conv5×5( )表示感受野分别为3和5的卷积层。

由于待检测缺陷具有较好的可分性,强特征呈现较为明显的稀疏性。此外,实验表明低维特征在最终的决策过程中仍然有一定的贡献性,有必要予以保留。因此,MRCM只对特征图一半的通道进行卷积操作,有效降低了计算量和复杂度,且该过程中特征损失可忽略不计,实验结果验证了该创新点的有效性。如表1 所示,LMSRNet 明显降低了网络的参数量及计算量,并且提高了检测速度(FPS),而在精度方面,准确率和召回率都有提升。

表1 不同主干对比结果Table 1 Comparison results of different trunk

2.4 CBFPN结构

钢板表面缺陷中小目标较多,使用YOLOv8检测时会频繁出现漏检的情况,因此本文在BiFPN[22]的基础上设计了CBFPN金字塔网络结构来替换原YOLOv8模型中的PANet网络,使网络能传递更多的特征信息。

YOLOv8的Neck使用的是PANet结构,PANet既可以利用高层特征图的语义信息(利于对目标进行分类),又可以利用底层特征图的位置信息(利于对目标进行定位),如图6(a)所示。BiFPN(bidirectional feature pyramid network)全称为加权双向(自顶向下+自底向上)特征金字塔网络。它具有高效双向跨尺度连接和加权融合等重要特征。为了融合更多的特征信息,BiFPN在同层的输入和输出之间额外添加了一层通道,使得同一层内和不同层间的特征能进行融合。如图6(b)所示。

图6 PANet、BiFPN、CBPFPN网络结构图Fig.6 Network structure diagram of PANet,BiFPN,and CBPFPN

在BiFPN的基础上,本文进行改进,提出了CBFPN,如图6(c)所示。为了更加精简结构,在保留双向跨尺度连接的基础上,去除掉多余的支路,仅使用P3、P4、P5通道进行输出特征图。并且将P2通道提取的特征向上与P3 通道的特征进行融合,在不影响特征信息融合的前提下简化网络结构,使模型更加轻量化。

另外,BiFPN 使用了加权融合的特征融合方式,公式如下所示:

其中,ω表示输入特征的权重;ε=0.000 1,为防止数值不稳定;Ii表示通道输入的特征值。加权特征融合是给每个输入的特征添加一个权重,以平衡不同通道的特征,使特征快速归一化融合。但是,这种直接融合的方式容易忽略不同尺度特征之间以及目标物体与背景之间的冲突信息,缺乏上下文信息可能会阻碍性能的进一步提高[23]。所以,本文提出一种基于上下文信息的融合方式,使用不同展开卷积率的卷积来获取不同感受野的上下文信息,将得到的特征通过速率为1、3、5的三种1×1卷积,再使用Concat融合,融合不同层之间的特征,消除层间的冲突信息。融合方式如图7所示。

图7 融合方式Fig.7 Fusion mode

2.5 ECSA注意力模块

为了使网络能提取更多缺陷强特征,进一步提高对钢板表面缺陷的检测效果,本文设计了ECSA 注意力机制。ECSA 是一种融合了ECA(efficient channel attention)[24]和改进的SAM(spatial attention module)[25]的注意力机制模块,对输入的图像先后进行通道和空间注意力机制的处理,如图8 所示。特征输入之后,会先通过ECA 注意力模块,与原始特征得到一个加权的结果,将得到的特征输入改进的空间注意力模块,最终进行加权相乘作为最终输出特征。ECSA 注意力融合了通道注意力与空间注意力,相比于单纯使用通道注意力或空间注意力可以取得更好的效果。接下来分别介绍ECA注意力和改进的SAM注意力。

图8 ECSA模型结构Fig.8 Structure of ECSA model

ECA高效通道注意力是一个通道注意力模块,它的模型结构如图9(a)所示。ECA注意力使用一维卷积实现局部跨通道交互,提取不同通道间的依赖关系。首先对输入的特征图进行全局平均池化,将提取的特征输入卷积核大小为k的一维卷积中,经过sigmoid 激活函数得到每个通道对应的权重w。然后将得到的权重与原始特征图相乘。最后与输入特征图做element-wise乘法操作,生成改进的SAM需要的输入特征。

图9 ECA、改进的SAM注意力结构图Fig.9 Attention structure diagram of ECA and improved SAM

SAM 为了将通道压缩使用了最大池化和平均池化,这样做不可避免地会损失部分特征。因此,使用多核卷积层替代最大池化和平均池化。通过不同大小卷积核的卷积,模块可得到不同感受野的特征[26],保留更多图像的纹理及缺陷尺寸信息。将得到的结果经过一个7×7 的卷积降维成一个通道,再经过sigmoid 操作生成空间注意力特征图。最后将该特征和模块输入特征做乘法,得到最终生成的特征。空间通道注意力的公式如下:

其中,F表示输入的特征,1×1、3×3、5×5、7×7表示卷积核的大小,σ为sigmoid 函数。它的模型结构图如图9(b)所示。

2.6 Wise-IoU损失

损失函数的设计是影响模型性能的重要原因之一,而边界框损失函数是目标检测损失函数的重要组成部分。YOLOv8的边界框预测函数使用的是CIoU loss[27],CIoU loss 虽然考虑到了预测框和真实框的宽高比,但是并没有考虑到训练数据中的低质量样本的问题。为了解决这类问题,本文使用Wise-IoU[28]替代CIoU。训练数据集中不可避免地会存在部分低质量样本,而锚框的集合因素(距离、纵横比等)会加强网络对低质量样本的关注,因此会导致网络的泛化性能下降。Wise-IoU在锚框与目标框重合度高时削弱集合度量的惩罚,减少对预训练的干预,以此提升网络的泛化能力。Wise-IoU的公式为:

其中,LIoU=1-IoU∈[0,1),将降低高质量锚框的Rt,在预测框和真实框重合度较高的情况下降低对中心距离点的关注; 定义离群度β来描述锚框的质量,离群度越小,锚框的质量就越高。为离群度大的锚框分配较小的梯度增益,可以减少低质量样本产生的有害梯度。当β=σ时,σ使得r=1,锚框将获得最高的梯度收益。

使用m来延缓接近真实值。在训练后期,Wise-IoU会给低质量的锚框分配小梯度的增益,将更多的注意力集中在普通质量锚框,以此提高模型的性能。

3 实验结果与分析

3.1 数据集介绍

本文一共使用了两种数据集,一种是在工业现场采集的钢板表面缺陷数据集,共有三种缺陷,分别为划痕、污渍、压痕。共有79 张图片。另一种数据集是数据增强数据集。由于钢板表面缺陷数据集样本数量稀少,所以第二种数据集是通过使用本文所提的基于模糊搜索的交互式数据增强算法将原数据集进行扩充,生成的三种缺陷共990 张图片。其中,污渍、划痕、压痕各有330张,保证样本平均;将用算法生成的911 张图片作为训练集,原本79张图片作为测试集,以此验证算法的有效性。数据集的图片样本如图10所示。下文不同算法的对比实验使用数据增强数据集。

图10 数据集示例Fig.10 Example of dataset

3.2 实验设定

实验使用的操作系统为Ubuntu 22.04.1,GPU 为NVIDIA GeForce RTX 4090,内存为24 GB,CPU 为13th Gen Intel®CoreTMi9-13900KF,深度学习框架为Pytorch,Pytorch 版本为1.13.1,Python 版本为3.7,cuda版本为11.7。

训练时,图片大小设为640×640,训练轮次epoch为300轮,批量大小为8,网络初始学习率为0.01。

3.3 实验指标

分析实验结果时精度指标采用精确率(Precision)、召回率(Recall)、平均准确率(mean average precision,mAP)。模型指标采用模型参数量(params),模型推理浮点数(GFLOPs),检测速度(FPS)。相关公式如下:

其中,TP 表示预测为目标实际上也是正确目标的个数;FP 表示预测为目标实际上不是正确目标的个数;FN 表示预测不是目标实际上是目标的个数;AP 为每种检测类型的准确性;mAP 表示所有类别中AP 指的均值,n为类别数。

3.4 消融实验

为了体现本文每个改进对YOLOv8的提升效果,本文进行了10 组消融实验。将替换LMSRNet 主干、改进CBFPN金字塔网络、添加ESCA模块、更换Wise-IoU损失函数和数据增强算法分别添加到YOLOv8模型中,并给出多个改进模块组合的实验结果。消融实验结果如表2所示。

表2 消融实验结果Table 2 Results of ablation experiments

观察表2 可知,将主干换为LMSRNet 之后,由于只对半数通道进行多尺度卷积,mAP有一定下降,但业界真正关注的精确率、召回率和FPS 得到了提升,值得注意的是,网络的参数量和计算量都有明显的下降。将YOLOv8n 的Neck 换成CBFPN 后,去除了部分无用支路,使得网络参数量下降了1.1×106,计算量下降了1.3 GFLOPs;通过使用基于上下文信息的融合方式消除网络层间的冲突信息,使召回率提升了2.9 个百分点。向YOLOv8n添加ECSA模块,使网络综合通道、空间信息提取重要特征,在仅少量增加参数量的情况下,将精确率、召回率、mAP 分别提高了25.8、11.2、5.2 个百分点。而将多个模块组合使用可以看出,更换主干和Neck,由于优化了卷积方式和网络结构,使网络提取缺陷特征信息的效率更高,所以模型规模及计算量降低的同时检测速度也有所提升;在此基础上加入ECSA并更换Wise-IoU损失函数,在基本不影响模型大小、速度的前提下,进一步提升了特征提取能力,优化了收敛速度,提高了模型的准确率和精度。采用数据增强算法获得的扩充数据集训练YOLOv8n 原模型,其精确率、召回率、mAP分别提升了42.6、25、26.4个百分点。

另外,为了验证网络模型改进带来的提升,排除数据集过小带来的影响,将本文算法和YOLOv8n 均在数据增强数据集上进行实验对比,可得出结果:相比起YOLOv8n,本文算法参数量只有原模型的30%,计算量是原模型的49%,FPS 提高了9 帧/s,精确率提高了2.9个百分点,召回率提高了6.5 个百分点,mAP 提升了5.5个百分点。经过以上实验可以说明,本文提出的网络改进及数据增强方法都有提升效果。

表3、表4、表5 分别为划痕、压痕、污渍三种不同缺陷的实验结果。由于每种缺陷拥有的特征不一致,对于不同的缺陷,各个模块效果也不同。观察可知,更换主干和Wise-IoU 损失函数使网络能够更准确地感知尺寸差别大、特征明显的缺陷,所以对检测划痕和压痕效果提升明显,添加CBFPN 和ECSA 模块能够提升网络对小目标的检测能力,所以对检测污渍更有优势。并且使用数据增强算法及本文所有改进之后,三种缺陷的检测精度都有提升并达到最高。证明了本文提出的网络改进及数据增强方法对不同种类的缺陷检测具有普适性。

表3 划痕实验结果Table 3 Results of scratches experiments

表4 压痕实验结果Table 4 Results of indentation experiments

表5 污渍实验结果Table 5 Results of stains experiments

图11为三种算法的检测结果,图11(a)为原YOLOv8n算法未使用数据增强的检测结果,可以看出由于样本的缺失,导致基本检测不出目标。图11(b)为YOLOv8n算法使用数据增强的检测结果,检测结果有了明显的改善,说明本文的样本生成算法是有作用的。图11(c)为改进后的YOLOv8n 算法使用数据增强的结果,相比起前两个,可以明显地看出目标的漏检、错检的情况得到了改善,并且检测出的结果中,目标框的置信度也有提高。

图11 检测结果对比图Fig.11 Comparison of test results

3.5 对比实验

为了比较本文对网络改进的效果,将改进后的YOLOv8n 算法和其他算法进行比较。本文选择了经典的SSD、YOLOv3-tiny[29]、YOLOv5n[30]、YOLOv6n[31]、YOLOv7-tiny[32]以及较新的RT-DETR(2023)[33]进行对比实验。这些实验使用相同的设备、环境和数据集进行,表6为不同算法的对比结果。

表6 对比实验结果Table 6 Comparative experimental results

观察表6可知,相比其他算法,在mAP和召回率上,本文算法都达到了最高(94.8%和88.8%),而在精确率上,仅仅比RT-DETR 低,但是mAP 和召回率都比RTDETR要高。这可以说明在检测精度上,本文算法总体上是优于其他算法的。在模型大小(Params)、计算量(GFLOPs)和检测速度(FPS)上,相比其他算法,本文算法都是最优的。图12 为不同算法的检测结果对比,可以看出其他算法在检测时都出现了漏检、错检等情况,本文算法的检测效果是最好的。综上所述,本文算法在满足实时检测的同时,提高了检测精度,轻量化了模型大小,减小了运算量,提高了检测速度,具有较高的通用性和实用价值。

图12 对比实验结果图Fig.12 Diagram of comparative experimental results

4 结束语

目前,在使用深度学习进行钢板缺陷检测时存在缺陷样本数量不足和深度学习模型精度低、参数高及计算量大等问题。现有的算法并不能完全解决这些问题。于是,本文从样本生成和网络优化两个方面入手,提出了一种基于轻量化YOLOv8 的小样本钢板缺陷检测算法。通过样本生成算法对缺陷数据集进行扩充,使深度学习模型能进行优化学习,解决了样本不足的问题。此外,本文提出了一种轻量化的LEC-YOLO 模型,提出LMSRNet 作为模型的主干网络,降低模型的参数量和计算量,提高检测速度;提出一种新的颈部网络CBFPN,使网络能提取更多有效的特征;提出ECSA 注意力模块,使网络能从通道和空间两种不同的维度提取出需要的特征;使用Wise-IoU 替换YOLOv8 原网络的CIoU损失函数,使模型收敛更快,精度更高。实验结果表明,LEC-YOLO 比起YOLOv8n,精确率提高了2.9 个百分点,召回率提高了6.5个百分点,mAP提升了5.5个百分点,有效降低了实际检测时的误检率、漏检率。并且本文算法参数量仅是原模型30%,计算量是原模型的49%,FPS 提高了9 帧/s,模型更加轻量化,满足更多场景需求。综上所述,本文算法能解决小样本钢板缺陷检测的样本不足问题,并对网络模型进行了优化,使其精度更高并进行了轻量化,适用于实际场景的应用。

猜你喜欢
卷积样本特征
基于3D-Winograd的快速卷积算法设计及FPGA实现
用样本估计总体复习点拨
如何表达“特征”
从滤波器理解卷积
不忠诚的四个特征
推动医改的“直销样本”
基于傅里叶域卷积表示的目标跟踪算法
抓住特征巧观察
随机微分方程的样本Lyapunov二次型估计
村企共赢的样本