针对小目标缺陷的YOLOv5s锚框改进方法研究

2023-06-15 05:26司宏翔刘国巍
无线互联科技 2023年2期
关键词:锚框钢材聚类

司宏翔 刘国巍

摘要:针对工业中钢材出现多种小目标缺陷且对其检测精度低、误检率高等问题,文章提出了对单阶段目标检测算法网络5s版本(YOLOv5s)的锚框(Anchor)进行改进优化。由于钢材表面存在许多小目标缺陷,原始的YOLOv5s网络设定的Anchor并不适合对其进行检测,通过K-Means聚类算法和K-Means++聚类算法重新获得匹配小目标检测任务的Anchor。通过实验将其应用在钢材的数据集上,与原始的YOLOv5s网络进行对比,结果表明改进后的YOLOv5s网络检测小目标缺陷时收敛性更好,检测精度更高。

关键词:钢材表面缺陷;小目标检测;YOLOv5s;K-Means聚类;K-Means++聚类

中图分类号:TP391  文献标志码:A

0 引言

在工厂企业,由于生产工艺技术的限制以及运输过程中磨损等原因,导致钢材表面存在轧制氧化皮、点蚀表面、划痕等缺陷,这些缺陷会影响产品质量,甚至会降低安全保障系数。所以,研究如何提高钢材表面缺陷检测精度,降低误检率很有必要[1]。本文针对小目标缺陷的YOLOv5s锚框改进方法进行了研究,提出了对Anchor进行重新聚类。

1 YOLOv5s网络模型

YOLOv5s网络模型是YOLOv5的其中一种模型,与YOLOv5m,YOLOv5l和YOLOv5x模型相比不同的地方在于其网络深度和宽度以及模型大小,其他网络结构类似。YOLOv5s是一种单阶段目标检测网络算法,在YOLOv4网络模型的基础上进行了优化,从而使得检测精度以及效率都有一定的提高。网络模型主要分为4个部分,分别为输入层、Backbone、Neck网络以及输出层Head预测(Prediction)部分[2]。

2 Anchor的改进

2.1 K-Means聚类算法

K-Means聚类算子属于无监督学习算子,是指一个最简单的迭代性聚类算子。其主要思路之一是把每个数据集样本拆分成k个簇来进行聚类,将每个样本按近似程度分到距聚类中心最近的簇中去,其中近似程度通过欧式距离评判。在使用K-Means算法对数据集进行聚类前,需要预先设定好k个聚类中心,重新计算出所有聚类分析法中心点的二维坐标误差的算术平均值,进行更新和迭代调整聚类分析法的中心点坐标的初始位置,直到所有聚类分析法的中心坐标误差平方和值(Sum of Squared Error,SSE)不变时,将其作为新的聚类中心,最后输出所有新的聚类中心坐标[3]。样本集的数据到中心点之间的欧氏距离是:

d(x,Ci)=mj=1(xj-Cij)2(1)

公式(1)中的x对应样本数据集中的每个数据;Ci表示第i个数据簇的集合中心;m对应于样本数据的不同程度的扩展;xj,Cij分别是x与Ci的第j次对应的值。SSE为中心坐标误差平方和值其运算公式:

SSE=ki=1x∈Ci|d(x,Ci)|2(2)

公式(2)中的k为类簇数目。

2.2 K-Means++聚类算法

K-Means聚类算法的初始k个聚类中心是随机选取的,这样的选取方式可能会让算法出现局部最优的情况。针对这种情况,本文提出了K-Means++聚类算法,在选取初始聚类中心时,遵循着初始中心点之间的距离尽可能远的原则,可以避免局部最优情况出现,从而尽可能达到全局最优[4]。K-Means++聚类中心计算的过程如下。

Step1:在整个样本的数据集合x中,随机选择一个样本作为第一个聚类的中心,记作C1。

Step2:数据集x中除C1外每个样本xm分别与第一个聚类中心C1进行IOU的距离计算,样本m与已存在聚类中心Cj距离则记录为d(xm,Cj)。

Step3:用下列概率公式在集合x中推算出第二个聚类中心,记其为C2。

Pm=d2(xm,C1)njd2(xj,C1)(3)

Step4:再选取下一个聚类中心Cj,计算出每个样本中心与已有的聚类分析出的中心之间的距离,找出适合每个样本中心归属的初始中心。然后根据每个样本m=1,2……n,p=1,2……j-1,从x中以概率选取下一个初始中心。

P=d2(xm,Cp)xh∈Cpd2(xh,Cp)(4)

公式(4)中的Cp是所有样本到最近的初始中心的集合,选择下一样本点为初始中心的概率是正相比于归属于已有初始中心的距离。

Step5:重复步骤Step4,直到选出第k个数据簇的中心。

Step6:最终确定k个数据簇中心的步骤与K-Means聚类算子除去初始中心的选取过程外,其他步骤一样[5]。

3 实验结果与分析

实验所用数据集是由东北大学发布的表面缺陷数据集(NEU-DET),一共包含6种缺陷。为了验证锚框的改变对YOLOv5s网络训练结果的影响,分别采用K-Means聚类算法和K-Means++聚类算法对锚框进行了重新设定。本文训练迭代次数设置为500次,训练过程中不同方法得到的损失函数曲线如图1所示,可以看出用K-Means++聚类算法(最下方曲线)得到的损失值下降速度是3条曲线中最快的,得到的网络模型收敛情况是最好的。K-Means++聚类方法最终在500个周期后损失值下降到了0.034左右,K-Means聚类方法损失值则下降到了0.035左右,原YOLOv5s损失值下降到了0.04左右。

K-Means++聚类方法的损失值下降速度比原始YOLOv5s要快,这体现出K-Means++聚类方法很好地提高了模型训练的收敛性。但是与K-Means聚类方法相比,二者损失值下降速度差不多,最终达到的损失值也很接近。如表1所示为不同锚框选择方法最终结果得到的其他数据对比,可以看出虽然K-Means++聚类锚框策略的网络模型训练过程中收敛性与K-Means聚类锚框策略差距不大,但是在mAP@.5方面K-Means++聚類表现出来的性能是最好的,最终也是将初始mAP@.5提升到了72.0%。

4 結语

本文针对小目标缺陷的YOLOv5s锚框改进方法研究,提出了K-Means++聚类锚框策略在K-Means聚类基础上对其初始聚类中心的选择进行优化,从而有效地解决了聚类分析过程中一直存在的局部最优的瓶颈问题,让聚类分析法真正实现了全局最优的聚类,大大提升了YOLOv5s网络模型对小目标缺陷检测的性能。

参考文献

[1]刘琪,雷景生.基于改进深度网络的钢材表面缺陷检测[J].计算机工程与设计,2022(9):2654-2661.

[2]曹义亲,伍铭林,徐露.基于改进YOLOv5算法的钢材表面缺陷检测[J].图学学报,2022(10):1-11.

[3]王浩然,李廷会,曹玉军.基于YOLOv5的钢材表面缺陷检测研究[D].桂林:广西师范大学,2022.

[4]REN Q,ZHANG H B,ZHANG D L,et al. A novel hybrid method of lithology identification based on k-means++ algorithm and fuzzy decision tree[J]. Journal of Petroleum Science and Engineering,2022(10):1-13.

[5]曾文鑫.基于机器学习的车标图像识别研究[D].西安:西安石油大学,2021.

(编辑 沈 强)

Research on improvement method of YOLOv5s anchor frame for small target defects

Si  Hongxiang, Liu  Guowei

(School of Electrical and Information Engineering,Anhui University of Science and Technology, Huainan 232007, China)

Abstract: Aiming at many small target defects in steel industry, and the detection accuracy is low and the false detection rate is high, an optimization method based on the Anchor frame of network 5s version(YOLOv5s) is proposed. Due to the many small target defects on the steel surface, the Anchor set by the original YOLOv5s network is not suitable for detection, K-Means clustering algorithm and k-means ++ clustering algorithm are used to regain the Anchor matching the small object detection task. Through experiments, it is applied to the steel data set, compared with the original YOLOv5s network, the experimental results show that the improved YOLOv5s network has better convergence and higher detection accuracy when detecting small target defects.

Key words: steel surface defect; small object detection; YOLOv5s; K-Means clustering; K-Means++ clustering

猜你喜欢
锚框钢材聚类
基于YOLOv3锚框优化的侧扫声呐图像目标检测
锚框策略匹配的SSD飞机遥感图像目标检测
基于SSD算法的轻量化仪器表盘检测算法*
基于GA-RoI Transformer的遥感图像任意方向目标检测
承压设备用钢材使用焊接性探讨
基于DBSACN聚类算法的XML文档聚类
基于高斯混合聚类的阵列干涉SAR三维成像
钢材分类标号(一)
一种层次初始的聚类个数自适应的聚类方法研究
自适应确定K-means算法的聚类数:以遥感图像聚类为例