Motor Magnetic Tile Defect Detection Method Based on Improved YOLOv7
In the production process of the magnetic tile of the motor, defective products will be produced, which will affect the performance of the motor. In order to solve the problems of low precision and low efficiency in the surface defect detection of the magnetic tile, a magnetic tile surface defect detection method based on improved YOLOv7 was proposed. Firstly, MobileOne module is introduced into the YOLOv7 network to lighten the network and accelerate the detection speed. Then ECA attention mechanism is introduced to extract more important features and improve the detection accuracy. At the same time, the SPPCSPC module is improved to improve the detection performance of dense defects. Finally, the α-IoU loss function is introduced to locate the target more accurately. The experimental results show that compared with the original network mAP, the improved detection algorithm is 2.1% higher, the number of parameters is 13% lower, and the FPS value is 68. Compared with other mainstream algorithms, the improved detection algorithm can detect the surface defects of magnetic tiles quickly and accurately.
Defect Detection
永磁电机作为一种利用永久磁瓦产生磁场的电机,与传统电动机相比具有许多优势,所以广泛应用于现代制造行业中,如电动汽车、风能发电系统、医疗设备、航空航天领域和各种家用电子设备都离不开永磁电机。而永磁电机最核心的零件是一种永磁材料——磁瓦
在磁瓦的生产过程中,由于工艺、材料和设备等原因的影响,会不可避免的产生如断裂、磨损、气孔和损坏等缺陷,从而对磁瓦的使用寿命造成影响。由于磁瓦的缺陷种类较多,人工目视很难全面的检查磁瓦缺陷,因此设计一个快速而准确的机器学习检测方法具有重要的现实意义。Li
相较于其他算法模型,YOLOv7算法的检测速度更快、精度更高;在不同尺度下进行检测时,可以更好的检测小目标;同时YOLOv7采用了相对简单的结构,更容易训练,所以采用YOLOv7算法进行检测。对磁瓦表面缺陷进行检测时,受到复杂场景和密集缺陷的影响,会存在精检度低等问题,因此提出对YOLOv7检测算法进行改进。在该模型中,使用MobileOne网络替换原骨干网络,对模型进行轻量化,加快模型推理速度。然后,引入ECA注意力机制,提取更加重要的通道特征。同时,结合SPPF与SPPCSPC提出SPPFS模块,可以更好的检测密集缺陷。最后,引入α-IoU损失函数,加快模型收敛,优化模型检测性能。
YOLO作为一种应用广泛的目标检测模型,在检测不同的物体和不同的场景时可能会出现各种各样的问题。因此,需要根据实际场景需求对模型进行改进,使其适应不同的场景。目前,该模型的改进方向主要是提高检测精度和检测速度。YOLOv7作为目前较为先进的目标检测算法
由
MobileOne模块的主要结构类似于MobileNetV1
其中左侧为MobileOne模块在训练时的结构,上半部分为深度卷积层,下半部分为点向卷积层。深度卷积层本质上是一个分组卷积,由三个分支组成。左分支是一个1 × 1的卷积,中间分支有k个3 × 3的过参数化卷积,右分支是一个包含批归一化的跳跃连接。卷积群的数量等于输入通道的数量。点向卷积层由两个分支组成,左分支有k个1 × 1的过参数化卷积,右分支是包含批归一化的跳跃连接。在本文中,k为4。右侧显示了推理期间MobileOne模块的结构。上半部和下半部分别是深度卷积层和点向卷积层的重新参数化结构。深度卷积由三个分支组成。在深度卷积的第一个分支中,采用零填充法将1 × 1卷积核转换为3 × 3卷积核。这个3 × 3卷积核与批处理归一化合并成为第一个新的3 × 3卷积核。新卷积核的权重ω'和偏置b'由式(1)和式(2)所示。
(1)
(2)
其中ω和b是卷积的权值和偏置,γ、β、μ和 是批归一化的权值、偏置、均值和方差,ε是一个小值,以防止被零除。
在第二个分支中合并卷积和批处理归一化使用相同的方法。合并后对第k个卷积核的参数求和,成为第二个新的3 × 3卷积核。第三个分支没有卷积层,因此在批归一化层之前构建一个3 × 3的卷积核,以保证三个分支可以融合。将3 × 3卷积核与批归一化合并,形成第三个新的3 × 3卷积核。将这三个新的3 × 3卷积核融合形成深度卷积的重新参数化结构。同样的方法也适用于点向卷积的重参数化结构。
在卷积神经网络中,注意力机制可以对输入特征图的不同部分赋予不同的权重,从而从大量信息中选择最重要的信息。ECA
在有效的信道注意块中,首先,将输入的特征映射分解为多个通道并对每个通道进行全局平均池化操作,将每个通道的特征映射转化为一个标量值。然后对全局平均池化后的特征序列应用一维卷积操作,引入可学习的卷积核来捕捉通道之间的关系。最后将一维卷积的输出通过Sigmoid激活函数进行归一化,得到注意力权重,并把注意力权重与原始的特征映射相乘,得到加权后的特征映射。从而使模型可以自动学习并关注重要的特征通道,减少冗余信息的干扰,提高模型的性能。
通过结合SPPF
特征映射通过池化内核的不同大小依次池化,然后对得到的特征图像进行拼接。且不同池化核大小具有不同的接受域,多特征融合有利于提取图像中的密集缺陷的特征。同时,在同一特征图上进行不同感受野的特征提取,增强特征信息的交互作用,提高目标定位的检测精度,有利于磁瓦图像中密集缺陷的检测。
在定位图像中目标时,通常使用Bounding box (BBox)
因此提出了GIoU
(3)
(4)
其中,α为Power参数(0 < α ≤ 3),β是权重函数,C为最小包庇矩形的对角线,v为度量长宽比的相似性。
通过调节α值,可以灵活平衡不同水平BBox回归精度,提高其检测性能,增强其鲁棒性,同时α-IoU损失更有利于轻量化模型。
通过综合考虑速度和检测精度,对YOLOv7算法进行改进。在原网络基础上进行了四部分改进。其一,用MobileOne网络替换原骨干网络,加快推理速度,对模型进行轻量化改进。其二,为了更准确的对磁瓦表面缺陷进行检测,捕捉更丰富的特征信息,引入了ECA注意力机制。其三,在SPPF与SPPCSPC的基础上提出SPPFS,可以更好的检测密集缺陷。其四,引入α-IoU损失函数,α-IoU损失函数收敛更快,可以更好的预测目标尺寸和形状,从而实现更准确的检测和定位,优化模型检测性能。改进后的YOLOv7网络结构如
实验软件环境为Win10,Python3.11,PyTorch2.1,CUDA12.1,cuDNN8.9.5;硬件环境为CPU:AMD R7-5800H,RAM:DDR4 32GB,GPU:RTX4060。
数据集选自中国科学院自动所,共包括1400张磁瓦图片,将其按照6:4划分为训练集和测试集,其中训练集840张,测试集560张。磁瓦表面缺陷分为5类:孔洞、损坏、裂痕、磨损和不均。
本文使用精确值(Precision)、召回率(Recall)、平均准确度均值(mAP)以及FPS作为实验评价指标,模型的复杂度用参数量(Parameter)来进行评价。各指标具体计算公式如下所示:
(5)
(6)
(7)
(8)
其中,TP为预测为正样本实际也为正样本的数量,FP为预测为正样本实际为负样本的数量,FN为预测为负样本实际为正样本的数量,c为检测的类别总数。
批量处理参数batch size设置为128,迭代次数为300次。动量设定为0.9,初始学习率lr为0.001,学习率调节因子为0.1。模型优化器采用动量为0.95的Adam随机梯度下降算法,权重衰减Decay为0.0005。在相同条件下,将CIoU与α-IoU作为YOLOv7的边界框回归损失函数,比较两种损失函数对模型性能的影响。两种损失函数随迭代次数的变化曲线如
可以看出,随着迭代次数的增加,两条曲线的损失值明显下降,在230次左右时,损失值很小并趋近于平稳,同时α-IoU的收敛速度更快,损失值更小。
为验证本文所提出的各项改进的有效性,在中国科学院自动所数据集上进行6组消融实验,结果见
Group |
MobileOne |
ECA |
SPPFS |
α-IoU |
FPS |
参数量(M) |
mAP (%) |
1 |
× |
× |
× |
× |
73 |
37.3 × 106 |
90.6 |
2 |
√ |
× |
× |
× |
87 |
31.8 × 106 |
88.9 |
3 |
× |
√ |
× |
× |
58 |
37.8 × 106 |
92.3 |
4 |
× |
× |
√ |
× |
70 |
37.6 × 106 |
91.6 |
5 |
× |
× |
× |
√ |
71 |
37.4 × 106 |
92.0 |
6 |
√ |
√ |
√ |
√ |
68 |
32.4 × 106 |
92.7 |
由
为了更好的验证本文算法的有效性,将其与一些常用主流算法进行对比,结果见
算法 |
mAP |
FPS |
SSD
|
82.4 |
48 |
Faster R-CNN
|
88.3 |
24 |
YOLOv7 |
90.6 |
73 |
YOLOv8
|
91.4 |
64 |
本文算法 |
92.7 |
68 |
由
本文针对磁瓦表面缺陷检测任务的研究,提出了一种改进YOLOv7的检测算法。首先引入了MobileOne模块,对网络进行轻量化,提高检测速度。然后引入ECA注意力机制提取更重要的特征通道,实现更准确的目标检测。同时对SPPCSPC模块进行改进,提高检测精度。最后引入α-IoU损失函数,实现更准确的检测和定位。在磁瓦数据集上的实验数据表明,本文算法可以有效降低模型参数量,同时提高磁瓦表面缺陷的检测精度,检测效果优于原网络模型和一些经典目标检测模型。在后续工作中,将探索模型在不同场景下的性能,探究模型的泛化能力,更好的满足工业检测中的需求。
辽宁省教育厅高等学校基本科研项目重点项目(LJKZ0583);辽宁省科技厅应用基础研究计划(2022JH2/ 101300253);沈阳市科技计划项目22-322-3-36。