重型工程车辆数据集

重型工程车辆数据集,内含Bull_dozer(推土机), Dumb_truck(卡车), Excavator(挖掘机), Grader(平地机), Loader(转载机), Mobile_crane(起重机), Roller(滚轮压路机)七种类别。整套数据集有6338张图片,训练集、验证集与测试集均已按比例划分完成,数据标记为txt格式,标签与图片一一对应,适用于YOLO系列模型训练,无需进行任何处理即可直接用于训练,数据集实测有效,精度相对较高。

该数据集是一个专门用于重型工程车辆检测的数据集,旨在帮助研究人员和开发者训练和评估基于深度学习的目标检测模型。数据集涵盖了七种常见的重型工程车辆类型,包括推土机、卡车、挖掘机、平地机、转载机、起重机和滚轮压路机。这些车辆在建筑工地、矿山和其他大型工程项目中扮演着重要角色。通过高质量的图像和详细的标注信息,该数据集为开发高效且准确的工程车辆检测系统提供了坚实的基础。

数据规模

  • 总样本数量:6,338张图片
    • 训练集 (train):已按比例划分
    • 验证集 (valid):已按比例划分
    • 测试集 (test):已按比例划分
  • 数据量:具体大小未提供
  • 标注格式:txt格式(适用于YOLO系列模型)
  • 目标类别
    • 推土机 (Bull_dozer)
    • 卡车 (Dumb_truck)
    • 挖掘机 (Excavator)
    • 平地机 (Grader)
    • 转载机 (Loader)
    • 起重机 (Mobile_crane)
    • 滚轮压路机 (Roller)
图像特性

  • 多样化场景:覆盖了不同类型的重型工程车辆,在各种环境和背景下的图像情况。
  • 高质量手工标注:每张图像都有详细的边界框标注,支持直接用于训练目标检测模型。
  • 真实拍摄:所有图像均为实际拍摄的真实场景,增强了模型在实际应用中的鲁棒性。
  • 无需预处理:数据集已经过处理,可以直接用于训练,无需额外的数据预处理步骤。
  • 高精度标注:数据集经过实测验证,具有较高的标注精度,适合训练高性能的检测模型。
应用场景
  • 施工现场监控:自动检测施工现场的各种重型工程车辆,辅助项目管理和安全监督。
  • 智能交通管理:在道路施工区域进行车辆识别,提高交通流量管理和安全性。
  • 自动化设备管理:集成到设备管理系统中,实现对重型工程车辆的自动化追踪和管理。
  • 科研分析:用于研究目标检测算法在特定工业应用场景中的表现,特别是在复杂背景和光照条件下的鲁棒性。
  • 故障预警:通过持续监测车辆状态,提前发现潜在故障,减少停机时间。

数据集结构

典型的数据集目录结构如下:

1heavy_construction_vehicle_dataset/
2├── train/
3│   ├── images/
4│   │   ├── img_00001.jpg
5│   │   ├── img_00002.jpg
6│   │   └── ...
7│   ├── labels/
8│   │   ├── img_00001.txt
9│   │   ├── img_00002.txt
10│   │   └── ...
11├── valid/
12│   ├── images/
13│   │   ├── img_00001.jpg
14│   │   ├── img_00002.jpg
15│   │   └── ...
16│   ├── labels/
17│   │   ├── img_00001.txt
18│   │   ├── img_00002.txt
19│   │   └── ...
20├── test/
21│   ├── images/
22│   │   ├── img_00001.jpg
23│   │   ├── img_00002.jpg
24│   │   └── ...
25│   ├── labels/
26│   │   ├── img_00001.txt
27│   │   ├── img_00002.txt
28│   │   └── ...
29├── README.txt  # 数据说明文件

数据说明

  • 检测目标:以txt格式进行标注,适用于YOLO系列模型。
  • 数据集内容
    • 训练集 (train):包含一定比例的图像样张(带txt标注)。
    • 验证集 (valid):包含一定比例的图像样张(带txt标注)。
    • 测试集 (test):包含一定比例的图像样张(带txt标注)。
  • 目标标签:共包含7大类重型工程车辆。
  • 数据增广:数据集未做数据增广,用户可以根据需要自行进行数据增广。
  • 无需预处理:数据集已经过处理,可以直接用于训练,无需额外的数据预处理步骤。

示例代码

以下是一个使用Python和相关库(如OpenCV、PIL等)来加载和展示数据集的简单示例代码:

1import os
2import cv2
3import numpy as np
4from PIL import Image
5
6# 数据集路径
7dataset_path = 'path/to/heavy_construction_vehicle_dataset/'
8
9# 加载图像和边界框标注
10def load_image_and_boxes(image_path, label_path):
11    # 读取图像
12    image = Image.open(image_path).convert('RGB')
13    width, height = image.size
14    
15    # 读取并解析txt标注文件
16    with open(label_path, 'r') as f:
17        lines = f.readlines()
18    
19    boxes = []
20    for line in lines:
21        class_id, x_center, y_center, w, h = map(float, line.strip().split())
22        xmin = int((x_center - w / 2) * width)
23        ymin = int((y_center - h / 2) * height)
24        xmax = int((x_center + w / 2) * width)
25        ymax = int((y_center + h / 2) * height)
26        boxes.append([class_id, xmin, ymin, xmax, ymax])
27    
28    return image, boxes
29
30# 展示图像和边界框
31def show_image_with_boxes(image, boxes):
32    img = np.array(image)
33    class_names = ['Bull_dozer', 'Dumb_truck', 'Excavator', 'Grader', 'Loader', 'Mobile_crane', 'Roller']
34    for box in boxes:
35        class_id, xmin, ymin, xmax, ymax = box
36        class_name = class_names[int(class_id)]
37        cv2.rectangle(img, (xmin, ymin), (xmax, ymax), (0, 255, 0), 2)
38        label = f'{class_name}'
39        cv2.putText(img, label, (xmin, ymin - 10), cv2.FONT_HERSHEY_SIMPLEX, 0.5, (0, 255, 0), 2)
40    
41    cv2.imshow('Image with Boxes', img)
42    cv2.waitKey(0)
43    cv2.destroyAllWindows()
44
45# 主函数
46if __name__ == "__main__":
47    subset = 'train'  # 可以选择 'train', 'valid', 或 'test'
48    images_dir = os.path.join(dataset_path, subset, 'images')
49    labels_dir = os.path.join(dataset_path, subset, 'labels')
50    
51    # 获取图像列表
52    image_files = [f for f in os.listdir(images_dir) if f.endswith('.jpg')]
53    
54    # 随机选择一张图像
55    selected_image = np.random.choice(image_files)
56    image_path = os.path.join(images_dir, selected_image)
57    label_path = os.path.join(labels_dir, selected_image.replace('.jpg', '.txt'))
58    
59    # 加载图像和边界框
60    image, boxes = load_image_and_boxes(image_path, label_path)
61    
62    # 展示带有边界框的图像
63    show_image_with_boxes(image, boxes)

这段代码展示了如何加载图像和其对应的边界框标注文件,并在图像上绘制边界框。您可以根据实际需求进一步扩展和修改这段代码,以适应您的具体应用场景。

示例代码:使用预训练模型进行推理

以下是使用预训练模型进行推理的示例代码。这里我们假设您使用的是基于YOLOv5的模型,但您可以根据需要选择其他支持目标检测的模型。

1import torch
2import cv2
3import numpy as np
4from PIL import Image
5import yolov5  # 请确保已安装yolov5库
6
7# 数据集路径
8dataset_path = 'path/to/heavy_construction_vehicle_dataset/'
9
10# 加载预训练模型
11model = yolov5.load('path/to/pretrained/yolov5_weights.pt')  # 替换成实际的预训练模型路径
12model.eval()
13
14# 主函数
15if __name__ == "__main__":
16    subset = 'train'  # 可以选择 'train', 'valid', 或 'test'
17    images_dir = os.path.join(dataset_path, subset, 'images')
18    
19    # 获取图像列表
20    image_files = [f for f in os.listdir(images_dir) if f.endswith('.jpg')]
21    
22    # 随机选择一张图像
23    selected_image = np.random.choice(image_files)
24    image_path = os.path.join(images_dir, selected_image)
25    
26    # 读取并预处理图像
27    image = Image.open(image_path).convert('RGB')
28    
29    # 使用预训练模型进行推理
30    results = model(image)
31    
32    # 处理预测结果
33    boxes = results.xyxy[0].cpu().numpy()
34    
35    # 在图像上绘制边界框
36    img = np.array(image)
37    class_names = ['Bull_dozer', 'Dumb_truck', 'Excavator', 'Grader', 'Loader', 'Mobile_crane', 'Roller']
38    for box in boxes:
39        xmin, ymin, xmax, ymax, conf, class_id = box
40        class_name = class_names[int(class_id)]
41        label = f'{class_name} {conf:.2f}'
42        cv2.rectangle(img, (int(xmin), int(ymin)), (int(xmax), int(ymax)), (0, 255, 0), 2)
43        cv2.putText(img, label, (int(xmin), int(ymin) - 10), cv2.FONT_HERSHEY_SIMPLEX, 0.5, (0, 255, 0), 2)
44    
45    # 显示结果
46    cv2.imshow('Image with Boxes', img)
47    cv2.waitKey(0)
48    cv2.destroyAllWindows()

这段代码展示了如何使用预训练的YOLOv5模型进行推理,并显示和保存推理结果。您可以根据实际需求进一步扩展和修改这段代码,以适应您的具体应用场景。如果您需要使用其他模型进行更高级的功能,如模型微调或增量训练,可以参考相应模型的官方文档来进行相应的配置和操作。

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

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

『功能项目』QFrameWork拾取道具UGUI【69】

本章项目成果展示 我们打开上一篇68QFrameWork扔到地上UGUI的项目, 本章要做的事情是实现当物品在地上时,点击物品将对应物品转移到道具栏中 制作一个提示UI界面 添加Button组件设置为点击即将父物体隐藏 拖拽到文件夹中在场景中删除 创建脚本&#xf…

架构师:使用 Zookeeper 实现分布式锁的技术指南

1、简述 在分布式系统中,多个节点可能需要访问共享资源或执行需要互斥的操作,为了避免竞争导致数据不一致或资源争用,我们需要一种机制来协调各个节点对资源的访问。分布式锁是用于解决这种竞争问题的关键技术,它确保在同一时间只有一个节点能够访问或修改共享资源。 2、Z…

Ansible部署与应用基础

由于互联网的快速发展导致产品更新换代速度逐步增长,运维人员每天都要进行大量的维护操作,按照传统方式进行维护使得工作效率低下。这时部署自动化运维就 可以尽可能安全、高效的完成这些工作。 一、Ansible概述 1.什么是Ansible Ansible 是基于 Pytho…

Matplotlib绘图基础

1、散点图 绘制散点图是数据可视化中非常常见的操作,它用于显示两组数据之间的关系。Matplotlib 提供了 plt.scatter() 函数,可以轻松绘制散点图。以下是一个基础的散点图示例代码,并包含了一些优化可视化呈现的技巧。 import matplotlib.p…

Python 如何调用讯飞星火大模型API

1 讯飞星火简介 讯飞星火是科大讯飞推出的一款先进的人工智能大模型,它具备强大的语言理解和知识问答能力,能够在多种场景中提供智能化服务。2024年6月27日,科大讯飞发布了讯飞星火大模型V4.0版本,全面对标GPT-4 Turbo。现有的模…

某采招网爬虫数据采集逆向

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、pandas是什么?二、使用步骤 1.引入库2.读入数据总结 前言 目标网站 aHR0cHM6Ly9zZWFyY2guYmlkY2VudGVyLmNvbS5jbi9zZWFyY2g/a2V5d29yZHM9JWU0…

医院伤员消费点餐限制———未来之窗行业应用跨平台架构

一、点餐上限 医院点餐上限具有以下几方面的意义: 1. 控制成本 - 有助于医院合理规划餐饮预算,避免食物的过度供应造成浪费,从而降低餐饮成本。 2. 保障饮食均衡 - 防止患者或陪护人员过度点餐某一类食物,有利于引导合…

基于51单片机的两路电压检测(ADC0808)

目录 一、主要功能 二、硬件资源 三、程序编程 四、实现现象 一、主要功能 基于51单片机,通过ADC0808获取两路电压,通过LCD1602显示 二、硬件资源 基于KEIL5编写C代码,PROTEUS8.15进行仿真,全部资源在页尾,提供…

大数据Flink(一百二十三):五分钟上手Flink MySQL连接器

文章目录 五分钟上手Flink MySQL连接器 一、创建数据库表 二、​​​​​​创建session集群 三、源表查询 四、​​​​​窗口计算 五、​​​​​​结果数据写回数据库 五分钟上手Flink MySQL连接器 MySQL Connector可以将本地或远程的MySQL数据库连接到Flink中&#x…

【Spring Cloud Alibaba】Nacos

【Spring Cloud Alibaba】Nacos 1. 什么是Nacos,它都能干什么?1.1 注册中心演变及其思想1.2 Nacos Discovery1.3 远程调用流程图1.4 一个微服务的流程1.4 常用注册中心对比 2. Nacos Server部署3. Nacos Client搭建附录 1. 什么是Nacos,它都能…

科研绘图系列:R语言误差连线图(errobar linechart)

文章目录 介绍加载R包导入数据数据预处理画图系统信息介绍 误差连线图是一种在数据可视化中常用的图表,它通过在数据点处添加线段(误差线)来表示数据的变异性或不确定性。这些误差线可以基于不同的统计度量,如标准差(Standard Deviation)、标准误差(Standard Error)或…

docker操作的基本命令加容器的基本命令(仅供自己参考)

1、docker build:本地将一个docker文件打包成镜像 2、docker push:将自己打包的镜像传到镜像服务器上 3、docker pull:将镜像服务器上的镜像拉取到本地 4、docker images: 查看镜像服务器上的镜像 5、docker rmi:删…

lte sss加扰序列c产生 MATLAB和c语言实现

参考3GPP 36.211 今日给大家介绍一下LTE SSS信号产生过程中加扰序列c的产生过程以及用MATLAB 和 c语言给大家实现一下: 加扰序列c产生过程如下: 1 首先产生公共的序列x的生成 X的初始值 两个加扰序列c0和c1 c语言实现 void lte_sss_gen_c(char *c,u…

初始Vitis——ZYNQ学习笔记1

一、Vitis是什么 Vitis 统一软件平台的前身为 Xilinx SDK,从 Vivado 2019.2 版本开始, Xilinx SDK 开发环境已统一整合到全功能一体化的 Vitis 中。 Vitis 开发平台除了启动方式、软件界面、使用方法与 SDK 开发平台略有区别,其他操作几乎一模…

针对 Linux SSH 服务器的新攻击:Supershell 恶意软件危害易受攻击的系统

ASEC 研究人员发现了针对保护不善的 Linux SSH 服务器的新攻击。 在其中,黑客使用了用Go编写的 Supershell恶意软件。 该后门使攻击者能够远程控制受感染的系统。 初次感染后,黑客启动扫描仪来寻找其他易受攻击的目标。 据信这些攻击是使用从已受感…

【多模态大模型】Qwen2-VL基本原理和推理部署实战

文章目录 Qwen2-VL基本原理Qwen-VL简要回顾Qwen2-VL的高级升级统一视觉处理方式原生动态分辨率处理(非大图切分方式)多模态旋转位置编码 Qwen2-VL推理实现|代码解析单图推理视觉信息预处理找到能被28整除的最合适size最大最小pixel数边界处理 多模态信息…

docker入门总结(附错误处理,持续更新)

安装、启动、卸载 卸载掉旧版本的 Docker yum remove -y docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-selinux docker-engine-selinux docker-engineDocker安装(选其一)…

解决DockerDesktop启动redis后采用PowerShell终端操作

如图: 在启动redis容器后,会计入以下界面 : 在进入执行界面后如图: 是否会觉得界面过于单调,于是想到使用PowerShell来操作。 步骤如下: 这样就能使用PowerShell愉快地敲命令了(颜值是第一生…

[SAP ABAP] 生成表维护视图

SAP由于数据量较大,很多自定义表都需要通过用户自行去维护,一般可以直接在SE16N对数据字典进行维护数据,但不是每个用户都有其操作权限,而且直接在数据字典上操作数据有很高的风险,因此SAP提供了表维护视图生成器&…

蓝桥杯【物联网】零基础到国奖之路:八. RTC

蓝桥杯【物联网】零基础到国奖之路:八. RTC 第一节 RTC的基本知识第二节 CubeMX配置第三节 代码 第一节 RTC的基本知识 RTC是实时时钟,指可以想时钟一样输出实际时间的电子设备,一般会是集成电路,也被称为是时钟芯片。总之,RTC只…