如何训练自己的数据集?之塔吊吊塔数据集

987c0e6e36d843a195cd5030a5dc1c09.png塔吊识别数据集 yolo格式 共5076张图片 已划分好训练验证 txt格式 yolo可直接使用。 类别:塔吊(Tower-crane) 一种 训练数据已划分,配置文件稍做路径改动即可训练。 训练集: 4724 (正面3224 + 负面1500) 验证集: 1352 (正面902 + 负面450) 另外:含内含模型 识别精度:90%+(内含模型 识别精度:90%+)

 吊塔识别数据集 yolo格式共5076张图片 已划分好训练验证 txt格式 yolo练. 塔吊数据集 txt格式 yolo可直接使用 内含模型 识别精度:90%+

 

f234ef96d82c4b29a42c95418ffa0f06.png8839d2f76d5d4e518b873742afea4995.png

数据集概述

该数据集专注于塔吊(Tower-crane)的识别,包含5076张图片,并已按照Yolo格式标注好。数据集已按照训练集和验证集进行了划分,其中训练集包含4724张图片(正面3224张 + 负面1500张),验证集包含1352张图片(正面902张 + 负面450张)。所有标注文件均为.txt格式,可以直接用于Yolo框架下的模型训练。3db7c0f175cd452aa299a927a661753e.png

数据集特点

  1. 单一类别:数据集中只包含塔吊这一类别的目标。
  2. 明确的数据划分:数据集按照标准的比例划分为训练集和验证集,便于模型训练和性能评估。
  3. 适用性强:YOLO格式的标注文件方便使用YOLO框架进行训练,减少了数据预处理的工作量。

数据集内容

  • 图像文件:共有5076张JPG/PNG格式的图像文件。
  • 标注文件:每张图像都配有YOLO格式的.txt标注文件。

数据集结构示例

假设数据集的根目录为 tower_crane_dataset,其结构可能如下所示:

tower_crane_dataset/
├── images/
│   ├── train/
│   │   ├── positive/
│   │   │   ├── train_positive_0001.jpg
│   │   │   ├── train_positive_0002.jpg
│   │   │   └── ...
│   │   ├── negative/
│   │   │   ├── train_negative_0001.jpg
│   │   │   ├── train_negative_0002.jpg
│   │   │   └── ...
│   ├── val/
│   │   ├── positive/
│   │   │   ├── val_positive_0001.jpg
│   │   │   ├── val_positive_0002.jpg
│   │   │   └── ...
│   │   ├── negative/
│   │   │   ├── val_negative_0001.jpg
│   │   │   ├── val_negative_0002.jpg
│   │   │   └── ...
└── labels_yolo/
    ├── train/
    │   ├── train_positive_0001.txt
    │   ├── train_positive_0002.txt
    │   └── ...
    ├── val/
    │   ├── val_positive_0001.txt
    │   ├── val_positive_0002.txt
    │   └── ...

数据集配置文件 data.yaml

创建一个data.yaml文件来描述您的数据集。这里假设数据集被放置在一个名为tower_crane_dataset的目录中,且包含imageslabels子目录。

# data.yaml 文件
train: ../tower_crane_dataset/images/train/
val: ../tower_crane_dataset/images/val/

nc: 1  # number of classes
names: ['Tower-crane']  # class names

关键训练代码

安装YOLOv5和YOLOv8

如果您还没有安装YOLOv5和YOLOv8,请按照官方文档执行以下命令:

# 安装YOLOv5
git clone https://github.com/ultralytics/yolov5.git  # clone repo
cd yolov5
pip install -r requirements.txt  # install dependencies

# 安装YOLOv8
git clone https://github.com/ultralytics/ultralytics.git  # clone repo
cd ultralytics
pip install -r requirements.txt  # install dependencies

使用YOLOv5训练

使用以下命令开始训练模型:

cd yolov5
python train.py --img 640 --batch 16 --epochs 300 --data ../tower_crane_dataset/data.yaml --weights yolov5s.pt --cache

使用YOLOv8训练b57af352221545939f76eef52fbfc93d.png

使用以下命令开始训练模型:

cd ultralytics
python train.py --img 640 --batch 16 --epochs 300 --data ../tower_crane_dataset/data.yaml --weights yolov8n.pt --cache

自定义训练脚本

如果需要更详细的控制,可以编写一个Python脚本来执行训练过程。以下是一个简单的脚本示例:

import torch
from ultralytics import YOLO  # 使用YOLOv8的API

def main():
    device = torch.device('cuda' if torch.cuda.is_available() else 'cpu')
    data_yaml = '../tower_crane_dataset/data.yaml'
    
    # 加载预训练模型
    model = YOLO('yolov8n.pt').to(device)  # 使用YOLOv8n作为基础模型
    
    # 设置训练参数
    epochs = 300
    batch_size = 16
    img_size = 640
    
    # 开始训练
    model.train(data=data_yaml, epochs=epochs, batch=batch_size, imgsz=img_size, device=device)
    
    # 保存模型
    model.save('trained_model.pt')
    print('Training complete.')

if __name__ == '__main__':
    main()

注意事项

  • 确保data.yaml文件中的路径是正确的,并且数据集的结构与上面描述的一致。
  • 调整批量大小、学习率、迭代次数等超参数以适应您的计算资源和任务需求。
  • 如果数据集很大,您可能需要更多的计算资源和时间来完成训练。
  • 这个脚本仅作为一个起点,您可能需要根据实际情况做进一步的修改。

测试模型

在训练完成后,您可以使用以下命令测试模型的性能:

# 使用YOLOv5测试
python detect.py --weights runs/train/exp/weights/best.pt --img 640 --conf 0.4 --source ../tower_crane_dataset/images/val/positive/

# 使用YOLOv8测试
python detect.py --weights trained_model.pt --img 640 --conf 0.4 --source ../tower_crane_dataset/images/val/positive/

使用预训练模型进行测试

如果您已经有了训练好的模型权重文件,可以直接使用它来进行测试。假设权重文件名为best.pt,可以使用以下命令:

# 使用YOLOv5测试
python detect.py --weights best.pt --img 640 --conf 0.4 --source ../tower_crane_dataset/images/val/positive/

# 使用YOLOv8测试
python detect.py --weights best.pt --img 640 --conf 0.4 --source ../tower_crane_dataset/images/val/positive/

总结

这个示例展示了如何使用YOLOv5和YOLOv8框架训练一个基于塔吊识别的数据集。您可以根据自己的需求调整脚本中的参数和逻辑。通过使用这个数据集和相应的训练代码,您可以有效地训练出一个能够在多种条件下识别塔吊的模型。

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值