1. 引言
冶金锯片在金属切割和加工中扮演着重要的角色,通常用于切割金属材料以满足不同行业的制造和建筑需求。然而,由于生产工艺、材料磨损等因素的影响,锯片可能会出现各种缺陷,如刃口磨损、裂纹、偏差等。这些缺陷不仅会降低切割质量,还可能导致设备损坏或生产中断,给生产过程带来不必要的成本和风险。为满足工业生产需求,确保工业生产质量,对冶金锯片表面的缺陷检测必不可少。
目前冶金锯片表面缺陷大多采用人工检测或脉冲超声检测、X射线检测和涡流检测等机器辅助人眼检测的方式,这些检测方法往往无法实时提供反馈,不能立即识别和解决潜在的表面缺陷问题,可能导致质量问题和生产中断 [1] 。因此提高锯片表面的缺陷检测效率和精度,实现实时监测和反馈是工业生产和发展中必须解决的重大问题。
随着深度学习、计算机视觉与图像处理等专业领域的高速发展,基于计算机视觉的表面缺陷检测技术被广泛运用于工业生产重点检测领域,其所具有的高效率、低成本、低错误率等优点在降低了人力与错误率的同时也提高了生产效率 [2] 。Li等 [3] 将一种基于改进的YOLOv4算法用于日常钢带表面的缺陷检测,提高了模型的鲁棒性和钢带检测精度。Wu等 [4] 通过一种新的轨道边界引导网络(RBGNet)实现了基于图像的钢轨表面缺陷(RSD)自动检测,降低了铁路轨道操作安全性的主要问题。闫瑾 [5] 针对钢材表面缺陷预测方面进行了改进,通过将原本的耦合头部解耦,分为两个分支来进行目标检测的分类和定位任务输出,这一改进使得模型检测钢板表面缺陷平均精度均值达到了75.5%,同时保持了较高的帧率,达到了62.3 FPS。刘建春等 [6] 通过机器视觉方法利用金属零件表面反光特性,在亮场下垂直照射并运用形状模板匹配定位,对边缘区域进行处理并提取特征,最终结合背景差分法实现金属边缘细微缺陷的有效检测。于策 [7] 通过应用X射线线阵扫描技术,成功将气孔缺陷检测方法应用于工程现场的焊缝检测中,这种检测方法实现了对气孔缺陷的高精确率和召回率,分别达到97.7%和98.8%,能够在钢管柱上较为准确地捕捉到气孔缺陷的存在。刘凉等 [8] 设计了双网络融合诊断模型,能够提取和学习多维度缺陷特征信息,解决了检测曲线中的缺陷信息提取难题。实验证明,优化后的算法诊断模型在平均准确率方面达到99.85%,相较传统方法提升了14.54%,具有较好的通用性和鲁棒性,可用于实现铆钉内部缺陷的在线诊断。
从上述可知,当前较少有深度学习算法专门针对锯片表面缺陷检测展开研究。因此,为提高锯片表面缺陷检测效率和精度,针对锯片表面的裂纹、点缺陷和结疤等多种缺陷,引入YOLO算法对锯片表面进行智能检测。同时,系统开发了锯片表面缺陷检测UI界面,可以通过输入图片、视频和摄像头拍摄三种不同的形式实现锯片缺陷检测自动化和可视化,为工业锯片表面缺陷检测提供了一定的参考价值。
2. YOLOv5算法原理
YOLO (You Only Look Once)算法是一种快速且准确的物体检测算法。YOLO的核心思想是将物体检测问题转化为回归问题。它将输入图像划分为一个固定大小的网格,并通过卷积神经网络对每个网格进行预测 [9] 。每个网格负责检测固定数量的边界框,并预测每个边界框的类别和位置。然后,通过使用非极大抑制算法来剔除重叠的边界框,从而得到最终的检测结果。
Figure 1. YOLOv5_6.1 version network architecture diagram
图1. YOLOv5_6.1版网络架构图
YOLOv5的网络结构主要由四个部分组成:Backbone网络、Neck网络、Head网络和可选的分割Head。如图1所示。
Backbone网络是YOLOv5的主干网络,它负责从输入图像中提取特征。YOLOv5中采用了BottleneckCSP和Focus模块作为Backbone的基本组件。BottleneckCSP模块结合了Cross Stage Partial Networks (CSP)和Bottleneck结构,用于提取图像的语义特征。Focus模块对输入图像进行切片操作,将通道数扩充为原来的4倍,并通过一次卷积操作得到下采样特征图 [10] 。这样可以减少计算量并提高模型的速度。
Neck网络是特征金字塔结构,用于融合不同层级的特征图以提升检测性能。YOLOv5中采用了融合Feature Pyramid Network (FPN)和Path Aggregation Network (PAN)的结构。FPN层将自底向上的特征金字塔与主干网络的特征图进行融合,以提取不同尺度的特征信息。PAN层则将主干网络层和检测层的特征进行融合,以获取更加丰富的语义和位置信息。
Head网络是YOLOv5的检测头,用于生成目标检测结果。它输出一个向量,包含目标的类别概率、置信度和边界框的位置信息。YOLOv5中使用了多个检测层来检测不同尺度的目标。每个检测层输出相应的目标预测结果,并进行后处理得到最终的检测框和类别。可选的分割Head是YOLOv5新增的部分,用于进行语义分割(Semantic Segmentation) [11] 。它可以将图像中的每个像素进行分类,从而实现对物体实例的分割和标注。
3. 冶金锯片表面缺陷可视化智能检测系统的实现
3.1. 冶金锯片数据集的建立
3.1.1. 冶金锯片缺陷的数据采集
以唐山某冶金锯片企业为研究对象,收集包含正常表面和带有各种缺陷的表面图像,获取锯片表面缺陷的相关数据并收集。对收集到的图片进行缩放和平移、颜色扰动和镜像翻转等处理,对数据集进行扩增,增加数据集的多样性。
3.1.2. 数据处理
对收集好的锯片图像进行预处理,包括数据集标注和标签格式转换。
(1) 数据集标注
利用标注工具labeling对锯片图片进行标注,如图2所示。并将标注文件以xml格式保存到新的文件夹中。
(2) 标签格式转换
YOLO运行的标签格式为txt格式,因此需要将数据集标签的xml格式转换为txt格式,并将txt文件保存到新建文件夹中。
3.1.3. 数据增强
大量的数据集可以获得更广泛的样本覆盖,在训练过程中,引入更多的数据增强技术可以提供更多的样本多样性,进一步提升模型的泛化能力。因此本系统引入Mixup、Mosaic更为复杂的数据增强方法。Mosaic数据增强方法的核心思想是将多个不同的图像拼接成一个大图像,并在该大图像上进行训练,如图3示。Mixup数据增强方法的核心思想是将两个不同的图像进行线性混合,同时将它们的标签也按照相同的比例进行混合,如图4所示。
3.1.4. 数据集划分
根据训练集大约占整个数据集的70%,测试集占整个数据集的20%,验证集占整个数据集的10%的比例对数据集进行划分。其中训练集用于模型训练的主要数据,验证集用于在训练过程中评估模型的表现,以避免过拟合,验证集用于在模型训练完毕后进行最终评估的数据 [12] 。
3.2. YOLOv5模型训练及效果分析
3.2.1. YOLOv5模型训练
在win11操作系统和显卡NVIDIA GeForce RTX 3060 Laptop GPU下,通过Pytorch框架下实现的模型的搭建,训练和验证。YOLOv5有YOLOv5s、YOLOv5m、YOLOv5l和四种模型版本,模型的大小和深度依次增加,选择YOLOv5m模型进行训练,根据数据集和实验设置对YOLOv5模型配置文件中的参数值进行修改和调整 [13] ,初始锚框大小设置为:[10, 13, 16, 30, 33, 23]、[30, 61, 62, 45, 59, 119]、[116, 90, 156, 198, 373, 326]、类别数量(nc)设置为3 (crack、crossion、scab)、每次训练时使用的图片数量(batch_size)设置为4、初始学习率设置为0.01、训练epoch次数为300轮。
3.2.2. 模型评价指标
利用平均精度均值mAP@0.5,精确率(Precision)、召回率(Recall)和综合指标F1对不同模型的训练结果进行比较分析。PR曲线通过在不同的分类阈值下计算模型的准确率和召回率来展示二者之间的关系。在PR曲线中,横轴表示召回率(Recall),纵轴表示精确率(Precision) [14] 。曲线上的每个点代表一个分类阈值,点的位置表示在该阈值下的精确率和召回率值。一般来说,PR曲线越靠近右上角,模型的性能越好。PR曲线的面积,即PR曲线下的面积,被称为平均精度均值(mean Average Precision, mAP)。mAP提供了一个综合评估模型在不同召回率下的准确性的度量,数值越高代表模型性能越好 [15] 。mAP结合了精确确率(Precision)和召回率(Recall)两个指标的表现,同时考虑了不同置信度下的表现。其计算公式如下:
(1)
(2)
其中TP (True Positive)为正样本预测出正样本数量,FP (False Positive)为负样本预测出正样本数量,FN (False Negative)为正样本预测出负样本数量。
F1是精确率Precision和召回率Rcall的调和平均数,用于评估模型在检测出所有目标的情况下的精确性和完整性,F1的值介于0~1之间,值越接近1说明效果越好 [16] 。其计算公式如下:
(3)
3.2.3. 模型训练效果分
基于YOLOv5的3种模型进行模型训练,3种模型的评估结果如图5~图7所示,评估指标如表1所示。由表可知,YOLOv5l模型可能由于模型更为复杂,拥有的数据集规模相对较小或者训练时间不足导致各项指标相比其他2个模型较差。YOLOv5s模型的精确率(0.784)比YOLOv5m的(0.742)较高但是YOLOv5s模型的召回率(0.819)即在正确的检测结果中召回正确的个数相比于YOLOv5m的(0.839)略低并且由F1综合评价指标可以看出YOLOv5m模型在检测出所有目标的情况下的精确性和完整性都比YOLOv5s模型更好。同时考虑在不同置信度下的表现,YOLOv5m模型的mAP指标的具体数值比YOLOv5s较高,模型性能更好。综上分析,决定采用YOLOv5m模型进行冶金锯片表面缺陷检测模型。
Figure 5. Training results of the YOLOv5s model
图5. YOLOv5s模型的训练结果
Figure 6. Training results of the YOLOv5s model
图6. YOLOv5m模型的训练结果
Figure 7. Training results of the YOLOv5l model
图7. YOLOv5l模型的训练结果
Table 1. Each indicator of the three models in YOLOv5
表1. YOLOv5的3种模型各项指标
3.3. 可视化UI界面的实现
可视化UI界面允许用户与系统进行交互和操作。通过界面上的按钮、菜单、输入框等控件,用户可以选择不同的功能和操作,如开始检测、调整参数、导入导出数据等。界面上的实时反馈和状态显示可以让用户了解系统的运行状态,发现并解决问题。
在操作设计上,可视化UI界面使用户能够方便地上传待检测的冶金锯片表面图像、视频或者摄像头实时检测,通过简单的操作将图像输入系统。用户可以通过使用文件选择器等方式将文件上传至系统,以下是三种检测方式的详细内容。
(1) 图片检测方式:用户点击上传图片按钮:允许用户从计算机本地选择并上传待检测的图片。用户点击检测按钮后触发图像检测算法,系统将分析所选图片并检测出表面缺陷,如图8所示。检测结果将以可视化方式显示在界面上,是用矩形框和文字标记方式来突出显示缺陷区域。
(2) 视频检测方式:视频播放器允许用户加载本地视频文件在线播放视频。用户可以控制视频的播放和停止,以便随时进行缺陷检测,且系统应支持实时检测,在视频播放时不断分析并标记检测结果,如图9所示。其检测结果与图片检测方式类似,检测结果应以可视化方式展示在视频画面上,并提供相关信息。
(3) 摄像头检测方式:用户选择设备摄像头后,通过开始/暂停按钮启动和停止摄像头的实时检测。与上述两种方式检测相似,摄像头捕获的实时画面在界面上显示,检测结果也以实时方式显示在监控画面上,如图10所示。
三种不同的检测方式可以根据企业的具体需求和生产环境,提供更高的生产效率、产品质量、成本效益和数据分析能力,有助于企业在竞争激烈的市场中取得竞争优势。
4. 总结
该系统针对冶金锯片表面缺陷检测问题,使用YOLOv5算法对采集到的数据集进行了模型训练通过深度学习的方式,能够自动地检测和分类图像中的锯片裂纹、结痂和点缺陷等三类不同类型表面缺陷。经过训练,获得了一个在锯片表面缺陷检测任务中表现出色的YOLOv5目标检测模型。在对测试数据集进行评估时,模型的平均精度达到了86.8%,证明了其在锯片表面缺陷检测和分类方面的良好性能。
系统通过建立UI界面实现了锯片表面缺陷检测的自动化和可视化,通过该界面输入待检测锯片的图像、视频或通过摄像头拍摄,进行表面缺陷智能检测,实现对锯片的实时监测和预警。这种自动化和可视化的方式不仅提高了工业检测的效率,还减少了人为误差,进一步推动了工业检测的智能化和可视化发展。
基金项目
大学生创新创业训练计划“基于深度学习的锯片表面缺陷智能检测系统研究”(X2023280)。
NOTES
*通讯作者。