首页 > 其他分享 >如何使用YOLOv8进行训练变电站电力设备缺陷数据集 共6004张图像 train test val比例为7_2_1 有txt和yaml两种格式

如何使用YOLOv8进行训练变电站电力设备缺陷数据集 共6004张图像 train test val比例为7_2_1 有txt和yaml两种格式

时间:2024-11-11 21:44:44浏览次数:3  
标签:6004 训练 val -- 模型 yaml train txt

表计读数异常、表计外壳破损、异物鸟巢、空中漂浮物、表盘模糊、表盘破损、绝缘子破裂、地面油污、硅胶桶变色在这里插入图片描述
在这里插入图片描述
变电站电力设备缺陷数据集 共6004张图像
train test val比例为7:2:1
有txt和yaml两种格式
数据集共7种标签,包括表计读数异常、表计外壳破损、异物鸟巢、空中漂浮物、表盘模糊、表盘破损、绝缘子破裂、地面油污、硅胶桶变色
基于RT-DETR模型的mAP50为0.66在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
变电站电力设备缺陷数据集的详细介绍,以及如何使用YOLOv8进行训练的详细步骤。

数据集介绍

  1. 数据集概述
    数据集名称:变电站电力设备缺陷数据集
    缺陷类别:共7类,分别为表计读数异常(abnormal_meter_reading)、表计外壳破损(meter_case_damage)、异物鸟巢(foreign_nest)、空中漂浮物(floating_object)、表盘模糊(blurry_dial)、表盘破损(dial_damage)、绝缘子破裂(insulator_crack)、地面油污(oil_spill)、硅胶桶变色(silica_gel_color_change)
    图片数量:共6004张JPG图片
    标签格式:已有txt和yaml两种格式
    数据集划分:train:test:val = 7:2:1
  2. 数据集结构
    假设你的数据集已经按照以下结构组织:

深色版本
power_defect_dataset/
├── images/
│ ├── train/
│ ├── val/
│ └── test/
└── labels/
├── train/
├── val/
└── test/
每个文件夹中包含对应的图像文件和标签文件。确保所有图像文件都是.jpg格式,而标签文件是.txt格式,并且它们的名字与对应的图像文件相同。

数据集配置文件
创建一个数据集配置文件(如power_defect_dataset.yaml),该文件定义了数据集的基本信息,包括路径、类别等。示例配置如下:

yaml
深色版本

训练和验证的数据集路径

train: power_defect_dataset/images/train
val: power_defect_dataset/images/val
test: power_defect_dataset/images/test

类别名称

names:
0: abnormal_meter_reading
1: meter_case_damage
2: foreign_nest
3: floating_object
4: blurry_dial
5: dial_damage
6: insulator_crack
7: oil_spill
8: silica_gel_color_change

类别数量

nc: 9
训练模型

  1. 安装依赖
    确保你的开发环境中安装了必要的软件和库。YOLOv8是基于PyTorch框架的,因此你需要安装Python以及PyTorch。

安装Python(推荐3.7或更高版本)
安装PyTorch:你可以从PyTorch官方网站获取安装命令,根据你的系统配置选择合适的安装方式。
克隆YOLOv8的官方仓库到本地,并安装项目所需的其他依赖:
bash
深色版本
git clone https://github.com/ultralytics/ultralytics.git
cd ultralytics
pip install -r requirements.txt
2. 训练模型
在完成上述准备工作后,你可以开始训练模型了。打开终端,进入YOLOv8项目的根目录,运行训练命令:

bash
深色版本
python ultralytics/yolo/v8/detect/train.py --data power_defect_dataset.yaml --cfg yolov8.yaml --weights yolov8x.pt --batch-size 16 --epochs 100
这里:

–data 参数指定了数据集配置文件的路径。
–cfg 参数指定了模型配置文件。
–weights 参数用于指定预训练权重的路径,这有助于加速训练过程并提高最终模型的性能。
–batch-size 和 --epochs 分别设置了批量大小和训练轮数。
模型评估
训练完成后,可以通过验证集来评估模型的性能。YOLOv8提供了方便的命令来进行模型评估:

bash
深色版本
python ultralytics/yolo/v8/detect/val.py --data power_defect_dataset.yaml --weights runs/train/exp/weights/best.pt
这里,best.pt 是训练过程中保存的最佳模型权重文件。

模型推理
你可以使用训练好的模型进行推理,检测新的图像中的缺陷。示例命令如下:

bash
深色版本
python ultralytics/yolo/v8/detect/predict.py --source path/to/your/image.jpg --weights runs/train/exp/weights/best.pt --conf 0.25
这里:

–source 参数指定了要检测的图像路径。
–conf 参数设置了置信度阈值,低于该阈值的检测结果将被忽略。
注意事项
数据增强:为了提高模型的泛化能力,可以考虑使用数据增强技术,如随机裁剪、翻转、颜色抖动等。
超参数调整:根据训练过程中观察到的损失值和验证集上的性能,适当调整学习率、批量大小等超参数。
硬件资源:如果显存不足,可以减少批量大小或使用更小的模型变体。
进一步优化
数据预处理:确保图像质量和尺寸一致,可以使用图像增强技术提高模型的鲁棒性。
模型选择:根据实际需求选择合适的YOLOv8模型变体,如yolov8s、yolov8m、yolov8l等。
多尺度训练:可以尝试多尺度训练,以提高模型对不同尺度目标的检测能力。

标签:6004,训练,val,--,模型,yaml,train,txt
From: https://blog.csdn.net/2401_88441190/article/details/143611929

相关文章

  • 如何使用Yolov8训练——胸部肺结节目标检测数据集 1个类别 精确度P:0.655,召回率R:0.575,m
    同时yolov8n训练100个epoch检测结果如下精确度P:0.655,召回率R:0.575,mAP50:0.639,map50-95:0.289数据集可直接使用,未做任何数据增强等预处理胸部肺结节目标检测数据集该数据集已经包括1个类别分别是:target总计图片4882张图像,分辨率是1024x1024像素数据集是txt格式数......
  • DataStudio连接opengauss报错Invalid username/password,login denied
    1、具体现象2、解决办法(1)密码不正确如果不确认密码是否正确可以重新修改密码,并进行gsql连接测试(2)修改参数确认密码正确,服务端可以正常连接,检查pg_hba.conf配置文件vim/opt/opengauss/data/single_node/ph_hba.conf此规则采用md5方式对密码加密两种解决方式:一种是......
  • streamlit run执行报错,Invalid value: File does not exist: XXX.py
    streamlitrun执行报错,Invalidvalue:Filedoesnotexist:XXX.py在终端执行streamlitrunxxx.py的时候报错提示Invalidvalue:Filedoesnotexist:XXX.py网上众说纷纭,但是我个人的解决方法其实非常简单在终端中执行的时候会发现中间多了个warning翻译过来就是:要在......
  • 带悔贪心 QOJ interval
    interval带反悔的贪心即通过堆(大根堆、小根堆)来维护当前贪心策略的最优解,若发现最优解不对,就退回上一步,更新最优解。将区间按照左端点排序,从左向右遍历区间。当前区间为\([l,r]\),取出当前右端点最左的区间,可以就匹配。如果不可以,去看看已经匹配的这些对区间中的\((b,c)\),\(c......
  • valgrind 分析死锁
    1,安装 sudoapt installvalgrind 2,代码pthread.c#include<stdio.h>#include<pthread.h>#include<unistd.h>pthread_mutex_tlock1=PTHREAD_MUTEX_INITIALIZER;pthread_mutex_tlock2=PTHREAD_MUTEX_INITIALIZER;void*thread_func1(void......
  • 【论文阅读】您的 AI 生成的代码真的安全吗?Evaluating Large Language Models on Secu
    IsYourAI-GeneratedCodeReallySafe?EvaluatingLargeLanguageModelsonSecureCodeGenerationwithCodeSecEval标题:您的AI生成的代码真的安全吗?基于CodeSecEval对LLMs代码生成的安全性进行评估摘要:*【Background】大语言模型(LLMs)在代码生成和代码修复方面取......
  • Little Elephant and Interval
    TF.LittleElephantandIntervalTheLittleElephantverymuchlovessumsonintervals.Thistimehehasapairofintegerslandr(l ≤ r).TheLittleElephanthastofindthenumberofsuchintegersx(l ≤ x ≤ r),thatthefirstdigitofinte......
  • MMdetection 问题报错 mmdet/evaluation/metrics/coco_metric.py data[‘category_id
    方案一:有人说在自己定义的conifg文件中增加 metainfo={'classes':('class1','class2','class2',),'palette':[(220,20,60),(221,11,22),(221,11,42),]}方案二:修改mmdet/evaluation/metrics文件的内......
  • [20241108]跟踪library cache lock library cache pin使用gdb(11g)4.txt
    [20241108]跟踪librarycachelocklibrarycachepin使用gdb(11g)4.txt--//验证前面建立的gdb脚本确定librarycachepinaddress是否正确.1.环境:SCOTT@book>@ver1PORT_STRING                   VERSION       BANNER---------------------------......
  • [20241108]跟踪library cache lock library cache pin使用gdb(11g)3.txt
    [20241108]跟踪librarycachelocklibrarycachepin使用gdb(11g)3.txt--//前一段时间写的使用gdb跟踪librarycachelock/librarycachepin的脚本。--//我看过以前的笔记,当时测试过链接https://nenadnoveljic.com/blog/library-cache-lock-debugger/,我的测试在11g是失败.--//......