李一鸣,王 潇
(1.北京信息科技大学 机电工程学院,北京 100192;2.北京信息科技大学 现代测控技术教育部重点实验室,北京 100192)
轧钢作为重要的工业原材料,轧钢的质量直接影响产品的质量[1]。因此,轧钢的表面缺陷精准检测显得尤为重要。目前,轧钢表面缺陷的检测方法主要有无损检测[2]和基于机器视觉的检测[3]。其中无损检测存在检测类型有限的缺陷;基于机器视觉检测方法存在手工提取特征的主观性,难以实现多种缺陷类型的检测,尤其是小目标的识别定位[4,5]。
随着深度学习网络的日益成熟,深度学习方法在目标检测与识别分类问题中得到了广泛的应用,也运用到钢材的表面缺陷检测中[6~9]。文献[6]采用改进的YOLOv3进行金属表面缺陷检测,检测精度达到67.64%。文献[7]采用改进的Faster R-CNN进行螺纹钢表面缺陷检测,取得了稳定的缺陷检测模型。文献[8]采用卷积神经网络检测钢板表面焊缝,检测精度达到97%以上。文献[9]采用改进Faster R-CNN检测钢板表面缺陷,平均检测精度达到87.14%,明显提高了小缺陷的检测精度。
YOLOv5s模型沿用YOLOv3、YOLOv4的整体布局,包含Input、Backbone、Neck、Output四个部分,其网络结构如图1所示。
图1 YOLOv5s模型结构
Input:采用Mosaic方式扩充数据样本,通过不断更新预测框和标注框的差值并反向更新网络的参数自主的计算最佳anchor框值,自适应的缩放图片从而减少黑边降低冗余信息;
Backbone:包含Focus结构、CSP Networks和SPP结构;
Neck:由CSP2_X结构、FPN+PAN结构组成;
Output:包含边界框损失函数和NMS,从而获得最佳的目标检测框。
轧钢表面缺陷目标检测试验采用东北大学钢材表面缺陷数据集(NEU-CLS)[10]作为YOLOv5模型的训练输入和检测目标,该数据集包含6种常见的轧钢表面缺陷,分别为轧制氧化皮(rolled-in scale)、斑块(patches)、细裂纹(crazing)、表面点蚀(pitted surface)、夹杂(inclusion)、划痕(scratches)。数据集图像的初始分辨率为200×200像素,训练集包括295×6张图片,验证集包括5×6张图片,一共1800张图片。
2.2.1 试验环境与配置
基于YOLOv5模型的轧钢表面缺陷检测的硬件环境为:
1)处理器:Intel i7-8550U CPU @1.80GHz;
2)计算机内存:8GB;
3)显卡:GPU NVIDIA GeForce MX150。
软件环境为:
1)操作系统:windows1064位;
2)开发语言:python 3.7,pytorch 1.7.1框架;
3)软件库文件:numpy 1.19.2,opencv 4.5.1,cuda 11.0.221,tensorboard 2.5.0。
2.2.2 YOLOv5模型超参数设置
分别基于YOLOv5s模型、YOLOv5m模型和YOLOv5l模型训练轧钢表面缺陷检测模型,采用小批量随机梯度下降法(SGD)来训练检测模型,3个YOLOv5模型的小批量(batch)分别设为16、4、2,网络的初始学习率设为0.01,动量参数设为0.937,权重衰减系数设为0.0005,最大训练次数设为300。
2.2.3 YOLOv5模型训练过程
使用YOLOv5在COCO数据集上训练好的权值文件yolov5s.pt、yolov5m.pt、yolov5l.pt分别作为其对应的YOLOv5模型的初始权值,采用迁移学习微调模型的权值,使得YOLOv5模型收敛,获得轧钢表面缺陷检测模型,实现轧钢表面缺陷的精准检测。
其中,YOLOv5s模型训练耗时为32.62h,得到的权值文件大小为14.4MB;YOLOv5m模型的训练耗时为59.42h,得到的权值文件大小为42.5MB;YOLOv5l模型的训练耗时为112.5h,得到的权值文件大小为93.8MB。由此可知,随着YOLOv5模型规模越大,训练耗时越长,权值文件占用的空间也越大。
分别通过测试精度(precision,P)、召回率(Recall,R)和mAP来评价轧钢表面缺陷检测模型的性能。P指的是一个检测模型预测的正样本的确是正样本的概率;R指的是一个检测模型预测的实际正样本的个数;AP为P对R的积分,而mAP是各类AP的平均值,它用来评价检测模型的整体性能。
基于YOLOv5s模型、YOLOv5m模型和YOLOv5l模型的轧钢表面缺陷检测结果如图2~图4所示。由图2~图4可以看出,对比于轧钢表面缺陷标注,3个模型的6类缺陷均能较准确地识别定位,但存在缺陷的定位精度不高的情况。基于YOLOv5s、YOLOv5m和YOLOv5l的轧钢表面缺陷检测模型性能对比如表1所示。由表1可知,YOLOv5l模型的精度P、召回率R和mAP均低于另两个模型,可能的原因是YOLOv5l模型规模较大,训练不够,模型仍未完全收敛。YOLOv5m模型的精度P(0.875)高于YOLOv5s模型的精度P(0.772);YOLOv5s模型的召回率R(0.773)高于YOLOv5m模型的召回率R(0.687);在IOU的阈值为0.5时,YOLOv5s模型的mAP(0.776)略高于YOLOv5m模型的精度mAP(0.773);而IOU的阈值从0.5取至0.95,两个模型的mAP的平均值均较低,只有0.441。因此,可以看出,判定正负样本的IOU阈值对于轧钢表明缺陷检测非常重要。综合考虑YOLOv5s模型和YOLOv5m模型的性能指标,以及两个模型的训练耗时与模型大小,采用YOLOv5s模型作为轧钢表面缺陷检测的模型。
图4 基于YOLOv5l的轧钢表面缺陷检测结果
表1 基于不同YOLOv5模型的轧钢表面缺陷检测模型的性能
图2 基于YOLOv5s的轧钢表面缺陷检测结果
图3 基于YOLOv5m的轧钢表面缺陷检测结果
轧钢表面缺陷智能检测,有助于生产人员准确地把握轧钢的情况和快速地做出决策。而轧钢表面的缺陷大小参差不齐,综合考虑试验硬件条件和模型性能,基于YOLOv5模型对轧钢的表面缺陷进行检测。并对比不同种类YOLOv5模型的性能指标,采用YOLOv5s模型来实现轧钢表面缺陷的智能检测,该模型的整体性能指标mAP较高,且模型较小。