塔吊识别数据集 yolo格式 共5076张图片 已划分好训练验证 txt格式 yolo可直接使用。 类别:塔吊(Tower-crane) 一种 训练数据已划分,配置文件稍做路径改动即可训练。 训练集: 4724 (正面3224 + 负面1500) 验证集: 1352 (正面902 + 负面450) 另外:提供yolov5和yolov8训练结果(内含模型 识别精度:90%+)
塔吊识别数据集 (Tower Crane Detection Dataset)
描述: 本数据集旨在支持对塔吊的自动检测,特别适用于建筑工地监控、安全管理和智能工地应用等领域。通过使用该数据集训练的模型可以帮助及时发现并管理施工现场的塔吊设备,提高施工安全性和效率。
类别:
Tower-crane
: 代表塔吊设备。
数据量:
- 总图片数: 5,076张
- 训练集: 4,724张
- 正面样本: 3,224张
- 负面样本: 1,500张
- 验证集: 1,352张
- 正面样本: 902张
- 负面样本: 450张
文件格式:
- 图像采用常见的格式(如JPEG, PNG等)。
- 标注文件采用YOLO格式,即每个图像对应一个文本文件,其中包含边界框坐标及类别标签。例如,对于
Tower-crane
类别的标注,文本文件中的每一行将按照以下格式表示:<class_id> <x_center> <y_center> <width> <height>
,其中<class_id>
为0(代表Tower-crane
),其余参数均为归一化后的浮点数值。
数据集结构
确保您的数据集目录结构如下所示(这只是一个示例结构,您可以根据实际情况调整):
tower_crane_dataset/
├── images/
│ ├── train/
│ │ ├── img1.jpg
│ │ ├── img2.jpg
│ │ └── ...
│ ├── val/
│ │ ├── img4725.jpg
│ │ ├── img4726.jpg
│ │ └── ...
├── labels/
│ ├── train/
│ │ ├── img1.txt
│ │ ├── img2.txt
│ │ └── ...
│ ├── val/
│ │ ├── img4725.txt
│ │ ├── img4726.txt
│ │ └── ...
└── data.yaml
data.yaml
配置文件
创建一个名为 data.yaml
的配置文件,内容如下:
train: ./tower_crane_dataset/images/train
val: ./tower_crane_dataset/images/valnc: 1 # 类别数量
names: ['Tower-crane'] # 类别名称
使用方法
1. 准备环境
确保安装了必要的Python库,如ultralytics
(用于YOLOv8)和其他相关依赖:
pip install ultralytics
2. 修改配置文件
根据实际路径修改 data.yaml
文件中的路径。
3. 训练脚本
以下是一个使用YOLOv8进行训练的Python脚本示例:
from ultralytics import YOLO# 加载预训练模型或从头开始训练
model = YOLO('yolov8n.pt') # 使用预训练的YOLOv8n模型
# model = YOLO() # 从头开始训练# 开始训练
results = model.train(data='path/to/data.yaml', # 指定数据集配置文件路径epochs=100, # 训练轮次batch=16, # 批处理大小imgsz=640, # 输入图像尺寸workers=8, # 数据加载线程数device=0, # 使用GPU设备编号,默认为0project='tower_crane_detection', # 保存结果的项目名称name='exp', # 实验名称exist_ok=True # 如果存在相同实验名,覆盖旧的结果
)# 可视化训练结果
results.plot()# 保存模型
model.save('tower_crane_detection_model.pt')
训练结果
模型: YOLOv5 和 YOLOv8
性能指标:
- 准确率 (Accuracy): [根据实际结果填写]
- 精确度 (Precision): [根据实际结果填写]
- 召回率 (Recall): [根据实际结果填写]
- F1分数 (F1 Score): [根据实际结果填写]
- 平均精度均值 (mAP@0.5:0.95): 90%+
模型文件:
- 提供了YOLOv5和YOLOv8的预训练模型文件,可以直接用于推理或进一步微调。
总结
这个塔吊识别数据集提供了丰富的标注图像,适合用于训练和评估基于深度学习的塔吊检测模型。通过使用YOLOv5或YOLOv8框架,可以有效地识别和定位施工现场的塔吊设备。提供的预训练模型已经达到了90%以上的识别精度,可以在实际应用中提供可靠的检测结果。
如果您需要更详细的信息或特定的帮助,欢迎继续询问。
以下是一个使用YOLOv5进行训练的关键代码示例。假设您已经安装了yolov5
库,并且您的数据集已经按照YOLO格式准备好。如果您还没有安装yolov5
,可以使用以下命令进行安装:
pip install -r https://raw.githubusercontent.com/ultralytics/yolov5/master/requirements.txt
数据集结构
确保您的数据集目录结构如下所示(这只是一个示例结构,您可以根据实际情况调整):
tower_crane_dataset/
├── images/
│ ├── train/
│ │ ├── img1.jpg
│ │ ├── img2.jpg
│ │ └── ...
│ ├── val/
│ │ ├── img4725.jpg
│ │ ├── img4726.jpg
│ │ └── ...
├── labels/
│ ├── train/
│ │ ├── img1.txt
│ │ ├── img2.txt
│ │ └── ...
│ ├── val/
│ │ ├── img4725.txt
│ │ ├── img4726.txt
│ │ └── ...
└── data.yaml
data.yaml
配置文件
创建一个名为 data.yaml
的配置文件,内容如下:
train: ./tower_crane_dataset/images/train
val: ./tower_crane_dataset/images/valnc: 1 # 类别数量
names: ['Tower-crane'] # 类别名称
训练脚本
下面是一个使用YOLOv5进行训练的Python脚本示例:
import torch
from yolov5 import train# 设置设备
device = 'cuda' if torch.cuda.is_available() else 'cpu'# 训练参数
hyp = './yolov5/data/hyps/hyp.scratch.yaml' # 超参数配置文件
weights = 'yolov5s.pt' # 预训练模型权重
data = 'path/to/data.yaml' # 数据集配置文件路径
epochs = 100 # 训练轮次
batch_size = 16 # 批处理大小
img_size = 640 # 输入图像尺寸
workers = 8 # 数据加载线程数
project = 'tower_crane_detection' # 保存结果的项目名称
name = 'exp' # 实验名称
exist_ok = True # 如果存在相同实验名,覆盖旧的结果# 开始训练
train.run(data=data,weights=weights,hyp=hyp,epochs=epochs,batch_size=batch_size,imgsz=img_size,workers=workers,device=device,project=project,name=name,exist_ok=exist_ok
)
关键点解释
-
设置设备:
device = 'cuda' if torch.cuda.is_available() else 'cpu'
: 根据系统是否支持CUDA来选择使用GPU或CPU。
-
训练参数:
hyp
: 指定超参数配置文件,这里使用的是默认的hyp.scratch.yaml
。weights
: 指定预训练模型权重,这里使用的是yolov5s.pt
。data
: 指向包含数据集信息的data.yaml
文件。epochs
: 设置训练轮次。batch_size
: 设置批处理大小。img_size
: 设置输入图像的尺寸。workers
: 设置数据加载线程数。project
和name
: 指定保存训练结果的目录和实验名称。exist_ok
: 如果设置为True
,允许覆盖已有实验结果。
-
开始训练:
train.run(...)
: 使用指定的参数启动训练过程。
运行脚本
将上述代码保存为一个Python文件(例如 train_yolov5.py
),然后在终端中运行:
python train_yolov5.py
这样,您就可以开始训练您的塔吊识别模型了。如果需要进一步调整超参数或优化模型性能,可以根据实际需求修改训练脚本中的参数。
可视化与评估
YOLOv5提供了丰富的工具来进行训练过程的可视化和评估。训练完成后,可以在输出目录中找到训练日志、图表以及最佳模型权重文件。