塔吊识别数据集 yolo格式 共5076张图片 已划分好训练验证 txt格式 yolo可直接使用

 

塔吊识别数据集 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提供了丰富的工具来进行训练过程的可视化和评估。训练完成后,可以在输出目录中找到训练日志、图表以及最佳模型权重文件。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/56057.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

若依框架生成多个sheet的Excel方法

步骤&#xff1a; 1&#xff0c;创建一个Excel的sheet的实体类 package com.XXX.common.utils.poi; import java.util.List;public class ExcelExp {private String fileName;// sheet的名称private String[] handers;// sheet里的标题private List dataset;// sheet里的数据集…

C#实现Punycode编码/解码

测试代码 string word "我爱你"; string idn "我爱你.中国"; string wordCode PunyCode.Encode(word); string punycode PunyCode.IDN2Punycode(idn);Console.WriteLine(word); Console.WriteLine(wordCode); Console.WriteLine(PunyCode.Decode(word…

Docker:容器化技术的革命力量

Docker&#xff1a;容器化技术的革命力量 在当今的软件开发和部署领域&#xff0c;Docker 无疑是一颗璀璨的明星。它以其独特的魅力和强大的功能&#xff0c;改变了我们构建、交付和运行应用程序的方式。本文将深入探讨 Docker 的方方面面&#xff0c;带你领略它的魅力所在。 …

c语言链表实现

&#xff08;注意事项都已经在代码中标注&#xff09; 1.链表相关函数的头文件 #define _CRT_SECURE_NO_WARNINGS #pragma once #include <stdio.h> #include <stdlib.h> #include <assert.h> #include <errno.h> #include <string.h> typede…

vscode写markdown插入图片视频并放在指定目录

目录 前言正文 前言 各种云文档非常好用&#xff0c;但是当你想把这些资料保存在本地时&#xff0c;markdown我觉得是最好的选择 markdown编辑器也有很多&#xff0c;但我还是觉得vscode最好用&#xff0c;直接粘贴文件就可以插入也类似云文档的使用体验&#xff0c;但是想要…

外卖点餐系统小程序的设计

管理员账户功能包括&#xff1a;系统首页&#xff0c;个人中心&#xff0c;外卖员管理&#xff0c;餐厅管理&#xff0c;用户管理&#xff0c;菜品分类管理&#xff0c;菜品信息管理&#xff0c;外卖订单管理&#xff0c;订单配送管理 微信端账号功能包括&#xff1a;系统首页…

OKHTTP 如何处理请求超时和重连机制

&#x1f604;作者简介&#xff1a; 小曾同学.com,一个致力于测试开发的博主⛽️&#xff0c;主要职责&#xff1a;测试开发、CI/CD 如果文章知识点有错误的地方&#xff0c;还请大家指正&#xff0c;让我们一起学习&#xff0c;一起进步。 &#x1f60a; 座右铭&#xff1a;不…

Linux下Docker方式Jenkins安装和配置

一、下载&安装 Jenkins官方Docker仓库地址&#xff1a;https://hub.docker.com/r/jenkins/jenkins 从官网上可以看到&#xff0c;当前最新的稳定版本是 jenkins/jenkins:lts-jdk17。建议下在新的&#xff0c;后面依赖下不来 所以&#xff0c;我们这里&#xff0c;执行doc…

VS+QT 自定义插件变成动态库加载及使用

一、前言 有个界面需要重复使用某个自定义的控件&#xff0c;希望自定义控件能够像动态库文件那样&#xff0c;添加引用lib就能使用&#xff0c;经过多次太坑后&#xff0c;总结如下 二、实现方式 ① 新建项目&#xff0c;选择"Qt Designer Custom Widget" 创建自定…

Kubernetes(k8s) 与 docker 间 镜像导入

docker 导出&#xff0c;k8s 导入 docker 镜像导出 查看镜像 docker images结果 REPOSITORY TAG IMAGE ID CREATED SIZE openjdk jz23 092ed76962fb 3 hours ago 694MB导出镜…

python爬虫 - 进阶正则表达式

&#x1f308;个人主页&#xff1a;https://blog.csdn.net/2401_86688088?typeblog &#x1f525; 系列专栏&#xff1a;https://blog.csdn.net/2401_86688088/category_12797772.html 目录 前言 一、匹配中文 &#xff08;一&#xff09;匹配单个中文字符 &#xff08;二…

JavaEE-进程与线程

1.进程 1.1什么是进程 每个应⽤程序运⾏于现代操作系统之上时&#xff0c;操作系统会提供⼀种抽象&#xff0c;好像系统上只有这个程序在运 ⾏&#xff0c;所有的硬件资源都被这个程序在使⽤。这种假象是通过抽象了⼀个进程的概念来完成的&#xff0c;进程可 以说是计算机科学…

【动态规划】子数组系列(上)

1. 最大子数组和 53. 最大子数组和 状态表示&#xff1a;以 i 位置为结尾时的所有子数组中的最大和 状态转移方程&#xff1a; i 位置为结尾的子数组又可以分为长度为 1 的和大于 1 的&#xff0c;长度为 1 就是 nums[i] &#xff0c;长度不为 1 就是 dp[i - 1] nums[i]&…

Javascript笔试题目(三)

1.如何使用JS实现setTimeout功能来模拟setlnterva请写出具体代码 在JavaScript中&#xff0c;setTimeout 和 setInterval 是两个常用的定时器函数&#xff0c;但它们的行为有所不同。setTimeout 用于在指定的延迟后执行一次代码&#xff0c;而 setInterval 则用于每隔指定的时…

Ubuntu中vscode如何选择ROS版本

Ubuntu中可能安装了多个ROS版本&#xff0c;比如ROS1 noetic&#xff0c; ROS2 foxy, humble等。有时候需要在vscode中对ROS程序进行debug&#xff0c;一般会先安装ROS插件。当电脑上有多个ROS版本时&#xff0c;选择Debug中选择ROS&#xff1a;Launch ROS:Attach(ROS1)或者ROS…

Prometheus + Grafana 监控 MySQL 数据库

文章目录 1、前置介绍2、搭建流程2.1、安装 Docker2.2、安装 MySQL2.3、安装 MySQL Exporter2.4、安装 Prometheus2.5、安装 Grafana 1、前置介绍 本次监控平台搭建&#xff0c;我使用2台阿里云服务器来完成本次的搭建部署操作&#xff0c;配置如下&#xff1a; 阿里云ECS1&am…

【宝可梦】游戏

pokemmo https://pokemmo.com/zh/ 写在最后&#xff1a;若本文章对您有帮助&#xff0c;请点个赞啦 ٩(๑•̀ω•́๑)۶

Word文档功能快捷键大全

以下是 Microsoft Word 的全面快捷键大全&#xff0c;涵盖了文档操作、文本编辑、格式化、导航等多种功能&#xff0c;帮助你提高工作效率。 Word 全面快捷键和快捷方式表 功能类别快捷键/快捷方式功能描述基本文档操作Ctrl N新建文档Ctrl O打开文档Ctrl S保存文档F12另存…

AI金融攻防赛:金融场景凭证篡改检测(DataWhale组队学习)

引言 大家好&#xff0c;我是GISer Liu&#x1f601;&#xff0c;一名热爱AI技术的GIS开发者。本系列文章是我跟随DataWhale 2024年10月学习赛的AI金融攻防赛学习总结文档。本文主要讲解如何解决 金融场景凭证篡改检测的核心问题&#xff0c;以及解决思路和代码实现过程。希望…

48 Redis

48 Redis 前言 Redis&#xff08;Remote Dictionary Server )&#xff0c;即远程字典服务。是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库&#xff0c;并提供多种语言的API。 redis会周期性的把更新的数据写入磁盘或者把修改操…