塔吊识别数据集 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.rhkb.cn/news/445415.html

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

相关文章

纠删码参数自适应匹配问题ECP-AMP实验方案(中)

6.方法设计 6.1.数据获取 为了收集不同的文件大小和纠删码参数对性能指标的影响&#xff0c;本文在Hadoop平台上进行了模拟实验。Hadoop是一种开源的分布式存储和计算框架&#xff0c;它可以支持不同类型的纠删码&#xff0c;并提供了一些应用程序接口和工具来测试和评估纠删…

Nginx基础详解5(nginx集群、四七层的负载均衡、Jmeter工具的使用、实验验证集群的性能与单节点的性能)

续Nginx基础详解4&#xff08;location模块、nginx跨域问题的解决、nginx防盗链的设计原理及应用、nginx模块化解剖&#xff09;-CSDN博客 目录 14.nginx集群&#xff08;前传&#xff09; 14.1如何理解单节点和集群的概念 14.2单节点和集群的比较 14.3Nginx中的负载均衡…

选GB28181还是RTSP?

好多开发者&#xff0c;搞不清楚什么时候用GB28181&#xff0c;什么时候用RTSP&#xff0c;本文就二者使用场景和区别&#xff0c;做个大概的探讨&#xff1a; 定义与性质&#xff1a; GB28181&#xff1a;是中国国家标准&#xff0c;全称为《公共安全视频监控联网系统信息传输…

AcWing 905:区间选点 ← 贪心算法

【题目来源】https://www.acwing.com/problem/content/907/【题目描述】 给定 N 个闭区间 [ai,bi]&#xff0c;请你在数轴上选择尽量少的点&#xff0c;使得每个区间内至少包含一个选出的点。 输出选择的点的最小数量。 位于区间端点上的点也算作区间内。【输入格式】 第一行包…

Hopfield神经网络求解旅行商问题(Traveling Salesman Problem,TSP),提供完整MATLAB代码,复制粘贴即可运行

Hopfield神经网络是以美国物理学家约翰霍普菲尔德&#xff08;John Hopfield&#xff09;的名字命名的。他在1982年提出了这种类型的神经网络模型&#xff0c;因此通常被称为Hopfield网络。Hopfield网络是一种早期的人工神经网络&#xff0c;具有以下特点&#xff1a; 递归连接…

3、Docker搭建MQTT及Spring Boot 3.x集成MQTT

一、前言 本篇主要是围绕着两个点&#xff0c;1、Docker 搭建单机版本 MQTT&#xff08;EMQX&#xff09;&#xff0c;2、Spring Boot 3.x 集成 MQTT&#xff08;EMQX&#xff09;&#xff1b; 而且这里的 MQTT&#xff08;EMQX&#xff09;的搭建也只是一个简单的过程&#x…

linux 安装gitlab

安装环境 CentOS 7.7 (centos6.10会报错)2g内存防火墙关闭 安装步骤&#xff1a; 1 安装gitlab # yum install -y git curl policycoreutils-python openssh-server # 安装依赖 # wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-10.2.2-ce…

欧派家居被下调盈利预测:销售费用创新高,零售经销渠道压力不小

《港湾商业观察》王璐 在房地产等多重因素冲击之下&#xff0c;上半年不少家居上市公司交出的业绩答卷都不尽理想&#xff0c;这其中也包括了消费者所熟知的“家居一哥”欧派家居&#xff08;603833.SH&#xff09;。 从2023年下半年开始&#xff0c;胡歌的代言令全民对欧派家…

鸿蒙UI系统组件16——富文本编辑器(RichEditor)

如果你也对鸿蒙开发感兴趣&#xff0c;加入“Harmony自习室”吧&#xff01;扫描下方名片&#xff0c;关注公众号&#xff0c;公众号更新更快&#xff0c;同时也有更多学习资料和技术讨论群。 RichEditor是支持图文混排和文本交互式编辑的组件&#xff0c;通常用于响应用户的对…

【C++入门篇 - 3】:从C到C++第二篇

文章目录 从C到C第二篇new和delete命名空间命名空间的访问 cin和coutstring的基本使用 从C到C第二篇 new和delete 在C中用来向系统申请堆区的内存空间 New的作用相当于C语言中的malloc Delete的作用相当于C语言中的free 注意&#xff1a;在C语言中&#xff0c;如果内存不够…

RISC-V笔记——语法依赖

1. 前言 Memory consistency model定义了使用Shared memory(共享内存)执行多线程(Multithread)程序所允许的行为规范。RISC-V使用的内存模型是RVWMO(RISC-V Weak Memory Ordering)&#xff0c;该模型旨在为架构师提供更高的灵活性&#xff0c;以构建高性能可拓展的设计&#x…

【C++栈 贪心 决策包容性】3170. 删除星号以后字典序最小的字符串|1772

本文涉及知道点 C栈 模拟 C贪心 LeetCode3170. 删除星号以后字典序最小的字符串 给你一个字符串 s 。它可能包含任意数量的 ‘’ 字符。你的任务是删除所有的 ’ 字符。 当字符串还存在至少一个 ‘’ 字符时&#xff0c;你可以执行以下操作&#xff1a; 删除最左边的 ’ 字符…

Go语言中的控制结构(四)

Go语言中的控制结构详解 控制结构是编程语言中控制代码执行流程的核心部分&#xff0c;Go语言通过if、for、switch等常见的控制结构&#xff0c;以及独有的defer、panic、recover机制&#xff0c;提供了强大且简洁的控制流管理。本文将详细讲解Go语言中的控制结构&#xff0c;包…

ASR-01和ESP32语音控制LED灯——基于VSCODE编辑器和ESP-IDF环境

一、ASR-01部分 大家不要问我软件哪里来&#xff0c;大家哪里买的的&#xff0c;就去哪里要&#xff0c;淘宝客服一定有&#xff0c;没有你就换一家。 图形化编程 原理&#xff1a;通过接收相匹配语音&#xff0c;赋值给ID&#xff0c;然后通过switch语句&#xff0c;判断ID值…

Linux内核USB3.0驱动框架分析--USB Hub代码分析

一、Linux 下USB Hub热插拔处理 1.1 Linux下USB HUB的驱动的实现和分析&#xff1a; USB设备是热插拔&#xff0c;因此在hub_probe函数中调用hub_configure函数来配置hub&#xff0c;在这个函数中主要是利用函数usb_alloc_urb函数来分配一个urb&#xff0c;利用usb_fill_int_u…

金九银十软件测试面试题(800道)

今年你的目标是拿下大厂offer&#xff1f;还是多少万年薪&#xff1f;其实这些都离不开日积月累的过程。 为此我特意整理出一份&#xff08;超详细笔记/面试题&#xff09;它几乎涵盖了所有的测试开发技术栈&#xff0c;非常珍贵&#xff0c;人手一份 肝完进大厂 妥妥的&#…

【Linux】操作系统基础

1.冯诺依曼体系结构介绍 冯诺依曼体系结构如下&#xff1a; 在上图中「输⼊设备」和「输出设备」⼀般被称为计算机的外设&#xff0c;⽽「存储器」在冯 诺依曼体系结构中表示「内存」 输⼊设备⼀般包括&#xff1a;⽹卡、磁盘、键盘、触摸屏等 输出设备⼀般包括&#xff1a;…

java 自定义填充excel并导出

首先在resources下面放一个excel模板 1. 方法签名和请求映射 RequestMapping(value "/ExportXls") public ResponseEntity<byte[]> rwzcExportXls(HttpServletRequest request, RequestBody JSONArray jsonArray) throws IOException { RequestMapping(val…

剧场的客户端形式区别,APP,小程序,H5的不同优势以及推广方案

剧场的客户端形式区别与推广策略 在数字化时代&#xff0c;剧场的线上化成为大势所趋。不同的线上平台如APP、小程序和H5各有千秋&#xff0c;如何选择最适合自己的平台&#xff0c;并制定有效的推广方案&#xff0c;成为了剧场管理者需要考虑的重要问题。 APP&#xff1a;深度…

【ONE·Web || HTML】

总言 主要内容&#xff1a;HTML基本知识入门&#xff0c;主要介绍了常见的一些标签使用&#xff0c;以及简单案例演示。       文章目录 总言0、前置说明1、认识HTML1.1、是什么1.2、初识 HTML 标签、HTML 文件基本结构1.2.1、相关说明1.2.2、vscode如何快速生成代码 2、HT…