💡💡💡本文摘要:基于YOLO11的轴承生产缺陷智能检测系统,阐述了整个数据制作和训练可视化过程
博主简介
AI小怪兽,YOLO骨灰级玩家,1)YOLOv5、v7、v8、v9、v10、11优化创新,轻松涨点和模型轻量化;2)目标检测、语义分割、OCR、分类等技术孵化,赋能智能制造,工业项目落地经验丰富;
1.YOLO11介绍
Ultralytics YOLO11是一款尖端的、最先进的模型,它在之前YOLO版本成功的基础上进行了构建,并引入了新功能和改进,以进一步提升性能和灵活性。YOLO11设计快速、准确且易于使用,使其成为各种物体检测和跟踪、实例分割、图像分类以及姿态估计任务的绝佳选择。
结构图如下:
1.1 C3k2
C3k2,结构图如下
C3k2,继承自类C2f,其中通过c3k设置False或者Ture来决定选择使用C3k还是Bottleneck
实现代码ultralytics/nn/modules/block.py
1.2 C2PSA介绍
借鉴V10 PSA结构,实现了C2PSA和C2fPSA,最终选择了基于C2的C2PSA(可能涨点更好?)
实现代码ultralytics/nn/modules/block.py
1.3 11 Detect介绍
分类检测头引入了DWConv(更加轻量级,为后续二次创新提供了改进点),结构图如下(和V8的区别):
实现代码ultralytics/nn/modules/head.py
2.如何训练轴承倒装、漏装数据集
2.1 数据集介绍
市场调研显示,随着工业自动化和智能制造的推进,轴承市场对高质量检测设备的需求日益增长。相比传统检测方法,智能检测系统具备更高的准确性和效率,能够在更短的时间内完成更为复杂的检测任务,具有显著的市场竞争优势。据调查,某企业引入智能检测系统后,每年节约人力成本约50万元,同时避免因轴承故障导致的停机损失约100万元。
轴承缺陷检测系统开发目的是为了解决当前工业生产中轴承质量检测存在的挑战。为了响应“十四五”行业发展规划中的主攻智能制造,培育智能制造、绿色发展、服务化转型新业态的发展战略,本项目引入YOLO11目标检测算法,有效地将传统工业硬件与软件进行结合,将目标检测运用于缺陷检测中,减少人为干扰因素,提升轴承制造过程中的质量控制水平。
数据集大小568张,按照8:1:1 进行自动划分
标签可视化分析
2.2 超参数修改
位置如下default.yaml
2.3 配置bearing.yaml
ps:建议填写绝对路径
path: D:/ultralytics/data/bearing # dataset root dir
train: trainval.txt # train images (relative to 'path') 118287 images
val: test.txt # val images (relative to 'path') 5000 images
# number of classes
nc: 3
# class names
names:
0: beering
1: dao
2: lou
2.4 如何训练
import warnings
warnings.filterwarnings('ignore')
from ultralytics import YOLO
if __name__ == '__main__':
model = YOLO('ultralytics/cfg/models/11/yolo11.yaml')
#model.load('yolov8n.pt') # loading pretrain weights
model.train(data='data/bearing.yaml',
cache=False,
imgsz=0,
epochs=200,
batch=8,
close_mosaic=10,
device='0',
optimizer='SGD', # using SGD
project='runs/train',
name='exp',
)
2.5 训练结果可视化结果
YOLO11 summary (fused): 238 layers, 2,582,737 parameters, 0 gradients, 6.3 GFLOPs
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 2/2 [00:13<00:00, 6.60s/it]
all 57 114 0.959 0.961 0.967 0.676
beering 57 57 0.988 1 0.995 0.987
dao 32 32 1 0.935 0.969 0.588
lou 25 25 0.888 0.948 0.938 0.453
预测结果: