基于卷积神经网络的表面划痕识别方法研究

2024-12-31 00:00:00季昌灿杨立拥顾磊刁亦冰张宇赵子健王奇瑞
河南科技 2024年22期
关键词:目标检测

摘 要:【目的】传统的人工目测方法已无法满足对金属表面划痕进行快速、准确和自动化检测的需求。因此,基于数据集的构建和卷积神经网络模型的搭建,提出了复杂形状表面划痕识别的方法。【方法】首先,创建金属表面划痕的数据集。其次,设计并训练一个基于Yolov8n的卷积神经网络模型。该模型包括主干网络、头部网络和颈部网络,可应对不同划痕的识别需求。【结果】在模型训练完成后,F1曲线在0.3~0.5达到最优,表明该模型在处理各种划痕时具有良好的泛化能力。通过PR曲线分析,当精确率为0.65、召回率为0.8时,该模型的预测效果最佳。【结论】模型优化为金属表面划痕的自动检测和识别提供了有效的技术支持,具有实际应用价值。

关键词:金属表面划痕;目标检测;YOLO算法;数据集

中图分类号:TP391.41" " "文献标志码:A" " 文章编号:1003-5168(2024)22-0021-06

DOI:10.19968/j.cnki.hnkj.1003-5168.2024.22.005

Research on Recognition Method of Scratch on Surface Based on

Convolution Neural Network

Abstract: [Purposes] In view of the fact that the traditional manual visual inspection method cannot meet the needs of fast, accurate and automatic scratch detection on metal surfaces.Therefore, based on the construction of data sets and the convolutional neural network models, a method for scratch recognition of complex shape surfaces is proposed. [Methods] First, a data set of metal surface scratches was created; then, a convolutional neural network model based on Yolov8n is designed and trained. The model includes backbone network, head network and neck network, which can meet the recognition requirements of different scratches. [Findings] After the training of the model, the F 1 curve was optimal in the interval of 0.3~0.5, which indicated that the model had good generalization ability in dealing with various scratches. Through the analysis of PR curve, when the accuracy rate is 0.65, and the recall rate is 0.8, the prediction effect of the model is the best. [Conclusions] The model optimization provides effective technical support for the automatic detection and recognition of metal surface scratches, and has practical application value.

Keywords: metal surface scratch; target detection; YOLO algorithm; dataset

0 引言

随着工业进步,对产品质量要求也不断提高,传统的人工目测方法已无法满足对金属表面划痕进行快速、准确和自动化检测的需求。因此,需要聚焦基于深度神经网络的表面缺陷检测算法优化,以实现鲁棒、精确和实时的识别[1]。在计算机视觉领域,特别是目标检测技术,经历了从传统算法到基于CNN的深度学习模型的发展过程[2-5]。国内的一些研究,如华为的ATSS、中科大的RepPoint、清华大学的CornerNet等均在不同数据集上取得了优异性能,并在实际应用中得到广泛应用。国外的研究同样在深度学习在目标检测领域表现出强大的潜力,如Faster R-CNN、YOLO和SSD等算法的成功应用[6]。然而,上述算法在实际应用中仍面临着诸多问题,如信息损失、运动、遮挡和光照变化及对实时识别的高要求等,依然需要科研人员不断探索和优化[7-10]。因此,本研究期望探索出一种对金属表面缺陷检测高效、准确且实时的识别方法,推动相关技术在工业生产中的应用[11]。首先,对金属表面划痕数据集的预处理,利用标注来满足训练需求;其次,建立适合的卷积神经网络模型,利用标注数据进行模型训练,通过迭代优化,以满足实际应用对金属表面划痕识别的高精度要求。

1 划痕数据集制作

1.1 金属表面划痕分析

金属表面划痕是金属加工工艺中常见的缺陷,这是金属表面与硬质突起、粗糙表面或颗粒材质的接触部位而产生的压痕或刻痕。这些痕迹是由金属与不平整表面间的摩擦造成的,摩擦程度的不同,导致痕迹的大小各异,可归纳为以下9种典型情况,如图1所示。

1.2 目标检测数据集规范

数据集注释是机器学习模型理解和学习数据内容的关键工具。以下是这些注释格式的特点概述。

①XML格式:采用标签结构,适用于描述复杂数据结构,可自定义标签,但可能需要额外的解析器处理。其适用于大型项目,如大规模图像或文本数据集,能全面展示上下文和内容。

②JSON:键值对结构简洁明了,易于阅读和编写,常用于小型数据集的交换和Web服务。其灵活性允许动态添加或修改,但不适用于描述复杂结构化数据。

③YOLO:专为目标检测模型设计,包含对象坐标、类别和置信度等信息,并与图像一一对应。其适用于实时检测任务,但不适用于描述整个数据集的全貌。

④SSD:与YOLO类似,提供边界框坐标、类别和得分等信息,适用于训练SSD模型,但不能直接作为数据集本身。

综上所述,这些注释格式主要用于标注数据集,侧重于数据结构、内容和模型训练所需的细节。在实际应用中,应用哪种注释格式则取决于数据集的规模、复杂性和具体应用场景的需求。

1.3 金属表面划痕数据集的样本获取

数据集的获取方法包括拍摄、网络爬虫、网上下载开源数据集。首先,利用数码设备从多角度拍摄目标样本,确保样本的多样性和数量。其次,从网络上下载图片,并存储在自定义目录中。再次,需要人工进行筛选这些可能包含不准确或无关内容的图片,去除冗余图片,这需要投入大量时间和精力。最后,利用已有的开源数据集(格式统一,适合直接用于图像分类任务)寻找样本,如在Kaggle等平台中寻找合适样本。如果原始数据集数量或质量不满足需求,可利用数据增强技术生成额外样本,如用简单的几何变换(平移、旋转、对称、缩放和裁剪)来扩充数据集。

1.4 金属表面划痕数据集标注

计算机的目标检测过程需要对收集到的数据进行二次预处理,即对每个图像进行标注,并明确其特征。这需要对所有数据样本进行详细的标记,目标检测数据集的构建由此得以完成。常用的标注工具有LabelImg和LabelMe。LabelImg的用户界面如图2所示,可提供直观的操作界面,以方便用户进行标注。

如果在View选项中启用了“Auto save mode”,系统会自动保存数据,并创建两个文件夹,分别为Annotations和Imagesets,且所有样本数据都将被保存在Imagesets中。首先,打开图片文件夹,对金属表面划痕图片进行样本标注(见图2)。其次,在标注过程中,将图片以XML格式进行转换,所有标注后的XML文件会被统一保存在Annotations文件夹中。每个金属表面划痕图片样本都会对应一个XML标注文件。最后,当所有数据样本通过LabelImg完成标注后,就构建好了目标检测所需的数据集。

2 金属表面划痕卷积神经网络模型搭建

搭建的Yolov8n模型结构总共有22层,按照最左侧列的配置排列。这个模型由三个关键部分组成,即主干网络(Backbone)、头部网络(Head)和颈部网络(Neck)。Backbone部分被划分为四个功能区块,分别为Conv + Conv + C2f、Conv + C2f、Conv + C2f、Conv + C2f + SPPF,主干网络用于提取图像的低级特征,通常输出的是具有较高空间分辨率的特征图,主干网络通常会通过下采样或金字塔结构来生成不同尺寸的特征层;头部网络是YOLO的核心部分,包含多个预测区域,用于预测不同类别的对象,通过计算来确定预测目标的类别和位置;颈部网络(Neck)用于整合来自主干网络的不同尺度的特征,通过ROI Pooling或Fusion layers来提高检测的准确性。

3 金属表面划痕卷积神经网络模型训练

训练集和验证集各640个,模型的训练次数为100次。模型训练中的目标检测有3种loss,即有3个不同类型的损失函数,分别为box_loss(边框损失)、cls_loss(分类损失)、dfl_loss(自由形变损失)。每次模型训练时都会有额外的四个值,分别为box(P、R、mAP50、mAP50-95)。其中,P代表精确度(Precision),即正确样本在模型训练中预测的正的值;R代表召回率(Recall),即正确样本在模型训练中真正的正的值。公式(1)所示的mAP代表着平均精确度(Mean Average Precision)、mAP50表示在50%的loU阈值下的平均精确度、mAP50-95表示在50%~95%的loU阈值下的平均精确度。

式中:AP为精确度;n为标签类别号。

训练完成后,在设定的训练结果路径中产生结果。该文件夹中包含训练结果和模型数据,包含weights、args.yaml、混淆矩阵、F1曲线、result.png、单一类准确率、单一类找回率、准确率和召回率的关系、损失函数、标签坐标关系和验证机对标签的验证图。

损失函数包括box_loss、cls_loss、dfl_loss、precision、recall和mAP等,模型经过多次训练后的数值变化(真实值和预测值的差异变化)如图3所示。在训练100次后,在“Anaconda prompt”命令中训练的所有损失从0到100的数据变化为坐标图。

4 结果分析

F1曲线是在计算机视觉中的目标检测召回率与精确率的调和的平均函数。此外,F1曲线坐标是从0到1之间选取。其中,数字越接近“1”,代表模型的训练效果越好越佳;数字越接近“0”,代表模型训练效果越差效率越低。可通过调整置信度区间来改变F1的值。F1值的计算见式(2)。

式中:TP为被模型预测为正类的正样本;FN为被模型预测为负类的正样本;FP为被模型预测为正类的负样本。

训练完成后,F1曲线如图4所示。在模型训练完成后,F1曲线的置信度区间为0.3~0.5时,每一种金属表面划痕的曲线图皆为最高处附近,模型效率最高。

精确置信度曲线被称为P_curve图,如图5所示;召回置信度曲线被称为R_curve图,如图6所示。模型训练完后,在目标文件夹中产生了三个相关文件,分别为P_curve.png、R_curve.png和PR_curve.png,PR_curve.png便是精确置信度和召回置信度的关系。

在精确和召回置信度关系图中,X轴坐标为召回率,Y轴坐标为精确率,精确率和召回率通常为反比。在PR_curve图中所示,越靠近右上角,说明计算机视觉目标检测的模型预测结果越准确。例如,在“punching_hole”这一种金属表面划痕时,当精确率为0.65左右、召回率为0.8左右时,模型训练预测最为精准;在“inclusion”这一种金属表面划痕时,当精确率为0.2左右、召回率为0.2左右时,模型训练预测最为精准。

5 结语

本研究围绕金属表面划痕检测的数据集和模型构建进行深入探讨,旨在优化模型性能,提高检测准确性。主要工作如下。

①划痕数据集制作,包括划痕分析、数据集规范总结、样本获取和标注介绍。

②构建基于卷积神经网络的金属表面划痕识别模型,包括22层的Yolov8n模型结构(由Backbone、Head和Neck 3个部分组成)。

③通过训练金属表面划痕卷积神经网络模型时,当精确率为0.65左右、召回率为0.8左右时,模型训练预测最为精准。

参考文献:

[1]张松兰.基于卷积神经网络的图像识别综述[J].西安航空学院学报,2023,41(1):74-81.

[2]韩毅,郭圆辉,王旭彬.基于卷积神经网络的智能抓取系统研究[J].河南科技,2021,40(35):17-20.

[3]于秋玉.基于改进YOLOv4的虾苗智能识别算法研究[J].河南科技,2021,40(6):25-28.

[4]田锦,袁家政,刘宏哲.基于实例分割的车道线检测及自适应拟合算法[J]. 计算机应用,2020,40(7):1932-1937.

[5]董伊明.基于分布式卷积神经网络的车型识别算法研究[J].河南科技,2019(20):28-31.

[6]封雨鑫,邓宏贵,程钰.基于卷积神经网络的焊缝表面缺陷检测方法[J].计算机测量与控制,2021,29(7):56-60,66.

[7]刘孟轲,吴洋,王逊.基于卷积神经网络的轨道表面缺陷检测技术实现[J].现代计算机(专业版),2017(29):65-69,77.

[8]孟祥泽.基于深度卷积神经网络的图像目标检测算法现状研究综述[J].数字技术与应用,2021,39(1):112-116.

[9]苏志威,黄子涵,邱发生,等.基于改进YOLOv8的航空铝合金焊缝缺陷检测方法[J].航空动力学报,2024,39(6):121-129.

[10]Zhao W D,Chen F,Huang H C,et al.A new steel defect detection algorithm based on deep learning[J].Computational Intelligence and Neuroscience,2021,2021(10):1-13.

[11]Zhang Y P,Shen S J,Xu S.Strip steel surface defect detection based on lightweight YOLOv5[J].Front Neurorobot,2023,17:1263739.

猜你喜欢
目标检测
多视角目标检测与跟踪技术的研究与实现
视频中目标检测算法研究
软件(2016年4期)2017-01-20 09:38:03
行为识别中的人体运动目标检测方法
移动机器人图像目标识别
基于视频监控的运动图像检测算法研究
基于背景建模法的运动目标检测
基于P3电位的目标检测研究
科技视界(2016年4期)2016-02-22 13:09:19
智能视频技术在电力系统领域的应用
相关K分布杂波中扩展目标积累检测性能分析
基于连通域标记的目标检测算法设计与实现