矿场工程车检测数据集 4900张 工程车 带标注voc yolo

矿场工程车检测数据集

数据集描述

该数据集旨在用于矿场工程车的检测和分类任务,涵盖了多种常见的工程车辆类型。数据集包含了大量的工程车图像及其对应的标注信息,可用于训练计算机视觉模型,以识别和定位矿场中的不同工程车辆。

数据规模

数据集共有4981张图像,标注了7798个对象,涵盖了10种不同的工程车辆类别。

类别及数量

数据集中的类别及数量如下:

  1. 挖掘机 (excavator):1086张图像,标注了1356个对象。
  2. 自卸卡车 (dump truck):1074张图像,标注了1816个对象。
  3. 压路机 (compactor):538张图像,标注了583个对象。
  4. 移动起重机 (mobile crane):529张图像,标注了589个对象。
  5. 塔式起重机 (tower crane):169张图像,标注了235个对象。
  6. 轮式装载机 (wheel loader):851张图像,标注了922个对象。
  7. 混凝土搅拌车 (concrete mixer truck):376张图像,标注了427个对象。
  8. 反铲装载机 (backhoe loader):666张图像,标注了693个对象。
  9. 推土机 (dozer):492张图像,标注了536个对象。
  10. 平地机 (grader):622张图像,标注了641个对象。
标注格式

数据集中的标注信息采用了VOC(Visual Object Classes)格式,每个图像都有一个对应的XML文件,记录了每个对象的位置信息(边界框坐标)和类别标签。

数据集结构

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

1mine_engineering_vehicle_dataset/
2├── Annotations/
3│   ├── img_0001.xml
4│   ├── img_0002.xml
5│   └── ...
6├── ImageSets/
7│   ├── Main/
8│   │   ├── train.txt
9│   │   ├── val.txt
10│   │   └── test.txt
11├── JPEGImages/
12│   ├── img_0001.jpg
13│   ├── img_0002.jpg
14│   └── ...
15└── labels/
16    ├── train/
17    │   ├── img_0001.txt
18    │   ├── img_0002.txt
19    └── val/
20        ├── img_0001.txt
21        ├── img_0002.txt
应用场景

该数据集可以用于以下应用场景:

  • 工程车辆检测与分类:训练模型识别矿场中的不同工程车辆类型。
  • 安全管理:实时监测矿场中的车辆活动,提高安全管理效率。
  • 自动化调度:辅助矿场自动化调度系统,提高运营效率。
  • 科研分析:用于研究矿场工程车辆的行为模式和发展趋势。

示例代码

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

1import os
2import cv2
3import xml.etree.ElementTree as ET
4from PIL import Image
5import numpy as np
6
7# 数据集路径
8dataset_path = 'path/to/mine_engineering_vehicle_dataset/'
9
10# 加载图像和标签
11def load_image_and_label(image_path, annotation_path):
12    # 读取图像
13    image = Image.open(image_path).convert('RGB')
14    # 解析XML文件
15    tree = ET.parse(annotation_path)
16    root = tree.getroot()
17    objects = []
18    for obj in root.findall('object'):
19        name = obj.find('name').text
20        bbox = obj.find('bndbox')
21        xmin = int(bbox.find('xmin').text)
22        ymin = int(bbox.find('ymin').text)
23        xmax = int(bbox.find('xmax').text)
24        ymax = int(bbox.find('ymax').text)
25        objects.append([xmin, ymin, xmax, ymax, name])
26    return image, objects
27
28# 展示图像
29def show_image_with_boxes(image, boxes):
30    img = np.array(image)
31    for box in boxes:
32        xmin, ymin, xmax, ymax, name = box
33        cv2.rectangle(img, (xmin, ymin), (xmax, ymax), (0, 255, 0), 2)
34        cv2.putText(img, name, (xmin, ymin - 10), cv2.FONT_HERSHEY_SIMPLEX, 0.5, (0, 255, 0), 2)
35    cv2.imshow('Image with Boxes', img)
36    cv2.waitKey(0)
37    cv2.destroyAllWindows()
38
39# 主函数
40if __name__ == "__main__":
41    images_dir = os.path.join(dataset_path, 'JPEGImages')
42    annotations_dir = os.path.join(dataset_path, 'Annotations')
43    
44    # 获取图像列表
45    image_files = [f for f in os.listdir(images_dir) if f.endswith('.jpg')]
46    
47    # 随机选择一张图像
48    selected_image = np.random.choice(image_files)
49    image_path = os.path.join(images_dir, selected_image)
50    annotation_path = os.path.join(annotations_dir, selected_image.replace('.jpg', '.xml'))
51    
52    # 加载图像和标签
53    image, boxes = load_image_and_label(image_path, annotation_path)
54    
55    # 展示带有标注框的图像
56    show_image_with_boxes(image, boxes)

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

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

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

相关文章

《微信小程序实战(3) · 推广海报制作》

📢 大家好,我是 【战神刘玉栋】,有10多年的研发经验,致力于前后端技术栈的知识沉淀和传播。 💗 🌻 CSDN入驻不久,希望大家多多支持,后续会继续提升文章质量,绝不滥竽充数…

web学习——day1

1.web标准 2.html和css 此时,学完这一部分,你web的具体的结构已经有了 但是呢,这还是太单调了,我们应该加点儿样式,这就该用到CSS了 CSS引入方式 样式1:颜色 样式2:哪怕对于同一类事物&#xf…

一问详解Unity下RTMP推送|轻量级RTSP服务|RTSP|RTMP播放模块说明

技术背景 好多开发者,对Unity下的模块,不甚了解,实际上,除了Windows/Linux/Android/iOS Native SDK,大牛直播SDK发布了Unity环境下的RTMP推流|轻量级RTSP服务(Windows平台Linux平台Android平台&#xff09…

利用ENVI进行遥感图像的镶嵌与剪切

使用ENVI 5.6的Toolbox中的Seamless Mosaic工具 在跳出的界面中添加需要进行镶嵌的遥感影像 点击Color Correction选择Overlap Area Only 在Seamlines/Feathering中选择Seamline Feathering 点击Export,0utput Format选择ENVI在0utput Filename选择文件夹Date Ignor…

Linux安装Docker以及Docker入门操作

Docker概述 Docker是一个开源的应用性容器引擎 , 让开发者可以打包他们的应用以及依赖包到可移植的镜像中,然后发布到任何流行的Linux或Windows机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口(相互之间是隔离的,独立的,相互不影响的). Docker 是一个…

计算机毕业设计 服装生产管理系统 Java+SpringBoot+Vue 前后端分离 文档报告 代码讲解 安装调试

🍊作者:计算机编程-吉哥 🍊简介:专业从事JavaWeb程序开发,微信小程序开发,定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事,生活就是快乐的。 🍊心愿:点…

79页 PPT华为项目管理经典培训教材(高级)

读者朋友大家好,最近有会员朋友咨询晓雯,需要《79页PPT华为项目管理经典培训教材》资料,欢迎大家文末扫码下载学习。 一、华为项目管理理念方法 (一)项目管理基本概念与方法 项目启动 明确项目目标:华为…

Golang | Leetcode Golang题解之第417题太平洋大西洋水流问题

题目: 题解: type pair struct{ x, y int } var dirs []pair{{-1, 0}, {1, 0}, {0, -1}, {0, 1}}func pacificAtlantic(heights [][]int) (ans [][]int) {m, n : len(heights), len(heights[0])pacific : make([][]bool, m)atlantic : make([][]bool, …

【代码随想录训练营第42期 Day61打卡 - 图论Part11 - Floyd 算法与A * 算法

目录 一、Floyd算法与A * 算法 1、Floyd算法 思想 伪代码 2、 A * 算法 思想 伪代码 二、经典题目 题目一:卡码网 97. 小明逛公园 题目链接 题解:Floyd 算法 题目二:卡码网 127. 骑士的攻击 题目链接 题解:A * 算法&a…

Flink 与 Kubernetes (K8s)、YARN 和 Mesos集成对比

Flink 与 Kubernetes (K8s)、YARN 和 Mesos 的紧密集成,是 Flink 能够在不同分布式环境中高效运行的关键特性。 Flink 提供了与这些资源管理系统的深度集成,以便在多种集群管理环境下提交、运行和管理 Flink 作业。Flink 与 K8s、YARN 和 Mesos 集成的详…

C语言 | Leetcode C语言题解之第417题太平洋大西洋水流问题

题目: 题解: static const int dirs[4][2] {{-1, 0}, {1, 0}, {0, -1}, {0, 1}};void bfs(int row, int col, bool ** ocean, const int ** heights, int m, int n) {if (ocean[row][col]) {return;}ocean[row][col] true;int * queue (int *)malloc…

《深度学习》—— 神经网络模型对手写数字的识别

神经网络模型对手写数字的识别 import torch from torch import nn # 导入神经网络模块 from torch.utils.data import DataLoader # 数据包管理工具,打包数据, from torchvision import datasets # 封装了很多与图像相关的模型,数据集 from torchvi…

Qt/C++事件过滤器与控件响应重写的使用、场景的不同

在Qt/C中,事件过滤器和控件响应重写是两种用于捕获和处理鼠标、键盘等事件的机制,它们的用途和使用场景不同,各有优劣。下面详细介绍它们的区别、各自适用的场景、以及混合使用的场景和注意事项。 1. 事件过滤器(Event Filter&…

初识Linux · 环境变量

目录 前言: 命令行参数 环境变量 直接看现象 更多的环境变量 尝试理解环境变量 前言: 今天介绍的是一个较为陌生的名词,环境变量,在学习环境变量之前,我们需要一定的预备知识,这个预备知识是命令行参…

htop 命令:系统状态监控

一、命令简介 ​htop ​是一个互动式的进程查看器,它是 top ​命令的增强版本,提供了更丰富的功能和更好的用户界面。htop ​显示了系统的实时进程和资源使用情况(比如 CPU 和 memory 占用情况),允许用户进行交互式操…

Vue2+vue-office/excel 实现在线加载Excel文件预览

附件预览无数据? 竟然是样式问题,必须加上style"height: 100vh;"。。。。。。。。。。。。。

HarmonyOS元服务与卡片

元服务与卡片 文章目录 一、元服务1.介绍2.常见元服务项目步骤 二、卡片1.介绍2.卡片的创建3.卡片的数据的变更4.卡片的进程间通讯4.1使用工具包4.2使用步骤 5.卡片路由postCardAction:快速拉起后台5.1格式5.2快速拉起指定页面--router5.3调用后台功能--call5.3卡片…

0.5.4 知识库管理微调

014 Knowledge Settings - ApiHughow to set knowledge configuration ApiHug Api design Copilot.https://apihug.com/zhCN-docs/idea/014-settings-knowledge 如何在ApiHug Api design Copilot配置团队知识库。 ​什么是知识库 🎁 团队共享设计标准共识, Team-s…

[数据集][目标检测]不同颜色的安全帽检测数据集VOC+YOLO格式7574张5类别

重要说明:数据集里面有2/3是增强数据集,请仔细查看图片预览,确认符合要求在下载,分辨率均为640x640 数据集格式:Pascal VOC格式YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件…

CSS-Grid布局详解

前言 Grid 栅格布局 是 CSS 语言中非常强大的种布局,它提供了丰富的工具属性,可以轻松实现复杂且灵活的布局设计,因此想要完美使用CSS Grid 也有一定的难度和复杂性,我自己也是花了不少时间才真正掌握它的使用,在这篇…