如何使用yolov8训练使用——太阳能光伏电池板缺陷检测数据集 鸟粪, 清洁, 脏污, 电气损坏 ,物理损坏, 积雪覆盖 6类 共2050张,标注YOLOtxt格式。可以直接用于模型训练

太阳能光伏电池板缺陷检测数据集
数据集概述在这里插入图片描述

该数据集包含2050张太阳能光伏电池板图像,标注文件为YOLO适用的txt格式。数据集分为训练集、验证集和测试集,比例为7:2:1。每个图像包含一个或多个标注框,标注框采用YOLO格式。数据集中共有6个类别,每个类别的图像数量和标注框数量如下:

Bird Drop (鸟粪):(342张图像,342个标注框)
Clean (清洁):(340张图像,340个标注框)
Dusty (脏污):(340张图像,340个标注框)
Electrical Damage (电气损坏):(340张图像,340个标注框)
Physical Damage (物理损坏):(340张图像,340个标注框)
Snow Covered (积雪覆盖):(348张图像,348个标注框)
总计:2050张图像,2050个标注框。
在这里插入图片描述

数据集结构
假设数据集的目录结构如下:

深色版本
solar_panel_defect_dataset/
├── images/
│ ├── train/
│ │ ├── 000001.jpg
│ │ ├── 000002.jpg
│ │ └── …
│ ├── val/
│ │ ├── 000001.jpg
│ │ ├── 000002.jpg
│ │ └── …
│ ├── test/
│ │ ├── 000001.jpg
│ │ ├── 000002.jpg
│ │ └── …
├── labels/
│ ├── train/
│ │ ├── 000001.txt
│ │ ├── 000002.txt
│ │ └── …
│ ├── val/
│ │ ├── 000001.txt
│ │ ├── 000002.txt
│ │ └── …
│ ├── test/
│ │ ├── 000001.txt
│ │ ├── 000002.txt
│ │ └── …
使用YOLOv8进行训练
安装依赖
首先,确保你已经安装了YOLOv8所需的依赖。你可以通过以下命令安装:

bash
深色版本
pip install ultralytics
配置数据集
创建一个配置文件 solar_panel_defect.yaml,内容如下:

yaml
深色版本
path: solar_panel_defect_dataset # 数据集路径
train: images/train # 训练集图像路径
val: images/val # 验证集图像路径
test: images/test # 测试集图像路径

nc: 6 # 类别数
names: [‘bird_drop’, ‘clean’, ‘dusty’, ‘electrical_damage’, ‘physical_damage’, ‘snow_covered’] # 类别名称
训练模型
使用以下命令训练YOLOv8模型:

bash
深色版本
yolo train data=solar_panel_defect.yaml model=yolov8n.pt epochs=100 imgsz=640
代码示例
你也可以通过Python代码来训练模型:

python
深色版本
from ultralytics import YOLO

加载预训练模型

model = YOLO(‘yolov8n.pt’)

训练模型

results = model.train(
data=‘solar_panel_defect.yaml’, # 数据集配置文件
epochs=100, # 训练轮数
imgsz=640, # 图像尺寸
batch=16, # 批量大小
name=‘solar_panel_defect’ # 实验名称
)
模型评估
训练完成后,可以使用以下命令评估模型在测试集上的性能:

bash
深色版本
yolo val data=solar_panel_defect.yaml model=runs/detect/solar_panel_defect/weights/best.pt imgsz=640
或者通过Python代码进行评估:

python
深色版本

评估模型

results = model.val(data=‘solar_panel_defect.yaml’, imgsz=640)
可视化结果
你可以使用以下代码来可视化模型的预测结果:

python
深色版本
import cv2
import torch
from ultralytics import YOLO

加载训练好的模型

model = YOLO(‘runs/detect/solar_panel_defect/weights/best.pt’)

读取测试图像

image_path = ‘solar_panel_defect_dataset/images/test/000001.jpg’
image = cv2.imread(image_path)

进行预测

results = model(image)

可视化预测结果

for result in results:
boxes = result.boxes.xyxy # 获取边界框
confidences = result.boxes.conf # 获取置信度
class_ids = result.boxes.cls # 获取类别ID

for box, confidence, class_id in zip(boxes, confidences, class_ids):
    x1, y1, x2, y2 = map(int, box)
    label = f'{model.names[int(class_id)]} {confidence:.2f}'
    color = (0, 255, 0)  # 绿色
    cv2.rectangle(image, (x1, y1), (x2, y2), color, 2)
    cv2.putText(image, label, (x1, y1 - 10), cv2.FONT_HERSHEY_SIMPLEX, 0.5, color, 2)

显示图像

cv2.imshow(‘Prediction’, image)
cv2.waitKey(0)
cv2.destroyAllWindows()
总结
以上步骤涵盖了从数据集准备到模型训练、评估和可视化的完整流程。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值