煤矿智慧矿井数据集 (1.煤矿采掘工作面智能分析数据集2.煤矿井下钻场智能分析数据集 )

news2024/11/22 21:30:14

智慧矿井智能分析数据集



数据1:数据1包含煤矿采掘工作面工人安全帽检测,工人行为检测(行走,站立,坐,操作,弯腰,靠,摔,爬),液压支撑防护(液压支撑防护板所有角度如防护板0到30度,30度到60.....等多角度检测,支撑异常,剪煤机等)检测,采煤人检测,运煤线检测,煤块检测,数据集共22GB,13万张真实拍摄影像,yolo和coco两种标注格式。



数据2:数据2数据集总共包含70948张图片,囊括了三类不同亮度水平(包括低亮度、中亮度和高亮度)以及正面、左侧和右侧三类拍摄角度,并覆盖了目标遮挡、目标模糊等多种复杂场景,收录了煤矿井下钻场出现频率较高的5类重要目标,分别是夹持器、钻机卡盘、煤矿工人、矿井安全帽和钻杆,并提供了PASCAL VOC,yolo格式的标注文件。

智慧矿井智能分析数据集

数据集描述

该数据集是一个专门用于煤矿井下智能监控和安全分析的数据集,旨在帮助研究人员和开发者训练和评估基于深度学习的目标检测、行为识别和异常检测模型。数据集分为两个部分,涵盖了煤矿采掘工作面的多种场景和目标,包括工人安全帽检测、工人行为检测、液压支撑防护检测等。数据集提供了高分辨率的真实拍摄图像,并且标注质量很高,支持多种标注格式。

数据1:煤矿采掘工作面智能分析数据集

数据规模
  • 总样本数量:130,000张真实拍摄影像
  • 数据量:约22GB
  • 标注格式:Yolo和COCO两种标注格式
  • 目标类别
    • 工人安全帽检测
    • 工人行为检测(行走、站立、坐、操作、弯腰、靠、摔、爬)
    • 液压支撑防护检测(不同角度如0到30度、30度到60度等)
    • 支撑异常检测
    • 剪煤机检测
    • 采煤人检测
    • 运煤线检测
    • 煤块检测
图像特性
  • 高分辨率影像:图像为高分辨率,确保细节清晰。
  • 多目标检测:涵盖多种目标和复杂的行为模式。
  • 多样化场景:覆盖了煤矿采掘工作面的各种实际场景。
  • 高质量标注:提供详细的边界框和类别标签,支持Yolo和COCO格式。
应用场景
  • 工人安全监测:通过实时监控工人的安全帽佩戴情况和行为,提高作业安全性。
  • 设备状态监控:检测液压支撑和其他机械设备的状态,预防潜在故障。
  • 生产效率优化:通过对采煤人和运煤线的检测,优化生产流程和资源配置。
  • 科研分析:用于研究目标检测和行为识别算法在煤矿环境中的应用。

数据2:煤矿井下钻场智能分析数据集

数据规模
  • 总样本数量:70,948张图片
  • 数据量:具体大小未提供
  • 标注格式:PASCAL VOC和Yolo格式
  • 目标类别
    • 夹持器
    • 钻机卡盘
    • 煤矿工人
    • 矿井安全帽
    • 钻杆
图像特性
  • 多亮度水平:包括低亮度、中亮度和高亮度三种不同的光照条件。
  • 多拍摄角度:正面、左侧和右侧三种不同的拍摄角度。
  • 复杂场景:包含目标遮挡、目标模糊等多种复杂场景。
  • 高质量标注:提供详细的边界框和类别标签,支持PASCAL VOC和Yolo格式。
应用场景
  • 工人安全监测:通过实时监控矿井工人的安全帽佩戴情况,提高作业安全性。
  • 设备状态监控:检测夹持器、钻机卡盘和钻杆的状态,预防潜在故障。
  • 生产效率优化:通过对钻场内各种设备和工人的检测,优化钻探作业流程。
  • 科研分析:用于研究目标检测算法在不同光照条件和复杂场景下的鲁棒性。

数据集结构

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

1smart_mine_analysis_dataset/
2├── data1/
3│   ├── images/
4│   │   ├── img_00001.jpg
5│   │   ├── img_00002.jpg
6│   │   └── ...
7│   ├── annotations_yolo/
8│   │   ├── img_00001.txt
9│   │   ├── img_00002.txt
10│   │   └── ...
11│   ├── annotations_coco/
12│   │   ├── coco_annotations.json
13│   └── README.md  # 数据集说明文件
14└── data2/
15    ├── images/
16    │   ├── img_00001.jpg
17    │   ├── img_00002.jpg
18    │   └── ...
19    ├── annotations_voc/
20    │   ├── img_00001.xml
21    │   ├── img_00002.xml
22    │   └── ...
23    ├── annotations_yolo/
24    │   ├── img_00001.txt
25    │   ├── img_00002.txt
26    │   └── ...
27    └── README.md  # 数据集说明文件

示例代码

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

1import os
2import cv2
3import numpy as np
4from PIL import Image
5import json
6import xml.etree.ElementTree as ET
7
8# 数据集路径
9dataset_path = 'path/to/smart_mine_analysis_dataset/'
10
11# 加载图像和标注 (YOLO格式)
12def load_image_and_labels_yolo(image_path, annotation_path):
13    # 读取图像
14    image = Image.open(image_path).convert('RGB')
15    
16    # 解析YOLO标注文件
17    with open(annotation_path, 'r') as infile:
18        lines = infile.readlines()
19        objects = []
20        for line in lines:
21            class_id, x_center, y_center, width, height = map(float, line.strip().split())
22            objects.append([class_id, x_center, y_center, width, height])
23    return image, objects
24
25# 加载图像和标注 (VOC格式)
26def load_image_and_labels_voc(image_path, annotation_path):
27    # 读取图像
28    image = Image.open(image_path).convert('RGB')
29    
30    # 解析VOC标注文件
31    tree = ET.parse(annotation_path)
32    root = tree.getroot()
33    objects = []
34    for obj in root.findall('object'):
35        class_name = obj.find('name').text
36        bbox = obj.find('bndbox')
37        xmin = int(bbox.find('xmin').text)
38        ymin = int(bbox.find('ymin').text)
39        xmax = int(bbox.find('xmax').text)
40        ymax = int(bbox.find('ymax').text)
41        objects.append([class_name, xmin, ymin, xmax, ymax])
42    return image, objects
43
44# 展示图像和标注
45def show_image_with_boxes(image, boxes, is_yolo=False, image_size=(512, 512)):
46    img = np.array(image)
47    h, w, _ = img.shape
48    
49    for box in boxes:
50        if is_yolo:
51            class_id, x_center, y_center, width, height = box
52            xmin = int((x_center - width / 2) * w)
53            ymin = int((y_center - height / 2) * h)
54            xmax = int((x_center + width / 2) * w)
55            ymax = int((y_center + height / 2) * h)
56        else:
57            _, xmin, ymin, xmax, ymax = box
58        
59        cv2.rectangle(img, (xmin, ymin), (xmax, ymax), (0, 255, 0), 2)
60    
61    cv2.imshow('Image with Boxes', img)
62    cv2.waitKey(0)
63    cv2.destroyAllWindows()
64
65# 主函数
66if __name__ == "__main__":
67    subset = 'data1'  # 可以选择 'data2'
68    images_dir = os.path.join(dataset_path, subset, 'images')
69    annotations_dir = os.path.join(dataset_path, subset, 'annotations_yolo')
70    
71    # 获取图像列表
72    image_files = [f for f in os.listdir(images_dir) if f.endswith('.jpg')]
73    
74    # 随机选择一张图像
75    selected_image = np.random.choice(image_files)
76    image_path = os.path.join(images_dir, selected_image)
77    annotation_path = os.path.join(annotations_dir, selected_image.replace('.jpg', '.txt'))
78    
79    # 加载图像和标注
80    if subset == 'data1':
81        image, boxes = load_image_and_labels_yolo(image_path, annotation_path)
82        is_yolo = True
83    elif subset == 'data2':
84        annotations_dir = os.path.join(dataset_path, subset, 'annotations_voc')
85        annotation_path = os.path.join(annotations_dir, selected_image.replace('.jpg', '.xml'))
86        image, boxes = load_image_and_labels_voc(image_path, annotation_path)
87        is_yolo = False
88    else:
89        raise ValueError("Invalid subset. Choose 'data1' or 'data2'.")
90    
91    # 展示带有标注框的图像
92    show_image_with_boxes(image, boxes, is_yolo=is_yolo)

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

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

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

1import torch
2import cv2
3import numpy as np
4from PIL import Image
5import yolov5  # 请确保已安装yolov5库
6
7# 数据集路径
8dataset_path = 'path/to/smart_mine_analysis_dataset/'
9
10# 加载预训练模型
11model = yolov5.load('path/to/pretrained/yolov5_weights.pt')  # 替换成实际的预训练模型路径
12model.eval()
13
14# 主函数
15if __name__ == "__main__":
16    subset = 'data1'  # 可以选择 'data2'
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    for box in boxes:
38        xmin, ymin, xmax, ymax, conf, class_id = box
39        class_name = results.names[int(class_id)]
40        label = f'{class_name} {conf:.2f}'
41        cv2.rectangle(img, (int(xmin), int(ymin)), (int(xmax), int(ymax)), (0, 255, 0), 2)
42        cv2.putText(img, label, (int(xmin), int(ymin) - 10), cv2.FONT_HERSHEY_SIMPLEX, 0.5, (0, 255, 0), 2)
43    
44    # 显示结果
45    cv2.imshow('Image with Boxes', img)
46    cv2.waitKey(0)
47    cv2.destroyAllWindows()

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

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

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

相关文章

C++ | Leetcode C++题解之第421题数组中两个数的最大异或值

题目: 题解: struct Trie {// 左子树指向表示 0 的子节点Trie* left nullptr;// 右子树指向表示 1 的子节点Trie* right nullptr;Trie() {} };class Solution { private:// 字典树的根节点Trie* root new Trie();// 最高位的二进制位编号为 30static…

en造数据结构与算法C# 用Unity实现简单的群组行为算法 之 对齐

en造数据结构与算法C# 用Unity实现简单的群组行为算法 之 聚集-CSDN博客 en造数据结构与算法C# 用Unity实现简单的群组行为算法 之 聚集-CSDN博客 演示 思路 1.检测 自然是沿用前两节的检测范围 2.对齐朝向 对齐朝向就是邻居鸟的forward加起来再除总数得到平均数 3.对齐…

企业急于采用人工智能,忽视了安全强化

对主要云提供商基础设施上托管的资产的安全分析显示,许多公司为了急于构建和部署 AI 应用程序而打开安全漏洞。常见的发现包括对 AI 相关服务使用默认且可能不安全的设置、部署易受攻击的 AI 软件包以及不遵循安全强化指南。 这项分析由 Orca Security 的研究人员进…

关于机器学习和深度学习的区别有哪些?

成长路上不孤单😊😊😊😊😊😊 【14后😊///C爱好者😊///持续分享所学😊///如有需要欢迎收藏转发///😊】 今日分享关于机器学习和深度学习区别的相关内容&…

Altium Designer(AD)百度云下载与安装(附安装步骤)

在我们日常使用当中,Altium designer常常也被简称为AD,是一款一体化的电子产品开发系统软件,主要运行在Windows操作系统上。 我们通过Altium designer把原理图设计、电路仿真、PCB绘制编辑、拓扑逻辑自动布线、信号完整性分析和设计输出等技…

企业为什么要做算法备案?

企业为什么要做算法备案? 在数字经济迅速发展的今天,算法已成为推动各行各业创新发展的核心动力。鉴于此,国家层面正积极构建完善的监管框架,旨在促进算法应用的健康发展,确保其在法治轨道上运行。 近期,一…

揭开数据能力的神秘面纱

在当今数字化时代,数据已成为企业和组织的重要资产。拥有强大的数据能力,能够帮助企业更好地理解市场、客户和业务,从而做出更明智的决策。然而,数据能力究竟是什么?它包含哪些方面?又如何提升呢&#xff1…

银河麒麟桌面操作系统V10(SP1)ssh服务安装与配置

在国产化的大背景下,各种国产操作系统逐步进入运维人员的视野,ssh作为linux远程连接工具,是运维人员必需的工具之一。本文主要介绍在银河麒麟桌面操作系统V10(SP1)上安装和配置ssh服务。 准备工作 1、查看操作系统信息 cat /etc/os-release 笔者操作系统为银河麒麟桌面操…

一款能够管控企业计算机的安全系统 | 企业终端安全管控 | 天锐DLP数据安全

天 锐 DLP可帮助企业规范对电脑计算机的使用管理,对USB存储设备、终端外节设备、桌面壁纸进行统一管控,支持限制控制面板、计算机管理、系统下的相关功能选项的使用。 【地址:点击了解天锐股份数据安全产品】 1.计算机设置 天锐DLP可对计算…

uniapp|微信小程序 实现输入四位数 空格隔开

<template><page-meta :page-style"cssVar"></page-meta><view class"container"><u-navbartitle"优惠券兑换"placeholderbgColor"#fff":autoBack"true":titleStyle"{fontFamily: SourceHa…

VScode 修改 cursor 键盘设置

vscode 中按下 ctrl K 后 ctrl s 打开键盘快捷键设置。 搜索光标 cursor 找到 cursorDown 以及对应需要修改的快捷键命令 右键 添加快捷键设置 修改即可 alt space 关闭win设置中的中英文切换 代码提示下移 selectPrevSuggestion 上移

模拟自然的本质:与IBM量子计算研究的问答

量子计算可能是计算领域的下一个重大突破&#xff0c;但它的一般概念仍然处于炒作和猜测的现状&#xff1f;它能破解所有已知的加密算法吗&#xff1f;它能设计出治愈所有疾病的新分子吗&#xff1f;它能很好地模拟过去和未来&#xff0c;以至于尼克奥弗曼能和他死去的儿子说话…

windows环境下MySQL启动失败 查看data文件夹中.err发现报错unknown variable ‘log‐bin=mysql‐bin‘

文章目录 问题解决方法 问题 今天在windows环境下配置MySQL主从同步&#xff0c;在修改my.ini文件后发现MySQL启动失败了 打开my.ini检查参数发现没有问题 [mysqld] #开启二进制日志&#xff0c;记录了所有更改数据库数据的SQL语句 log‐bin mysql‐bin #设置服务id&#x…

网络高级day01(Modbus 通信协议:Modbus TCP)

目录 1》modbus分类 1> Modbus RTU 2> Modbus ASCLL 3> Modbus TCP 2》Modbus TCP的特点 3》Modbus TCP协议 1> 报文头&#xff08;一共7个字节&#xff09; 2> 寄存器 3> 功能码 4> 数据 01H 功能码分析 05H 功能码分析 0FH 功能码分析 1》modbus…

Springboot常见问题(bean找不到)

如图错误显示userMapper bean没有找到。 解决方案&#xff1a; mapper包位置有问题&#xff1a;因为SpringBoot默认的包扫描机制会扫描启动类所在的包同级文件和子包下的文件。注解问题&#xff1a; 比如没有加mapper注解 然而无论是UserMapper所在的包位置还是Mapper注解都是…

虚拟机ens33网卡不显示inet地址(已设置NOBOOT为yes)

在虚拟机中输入ifconfig或ip addr时&#xff0c;出现如下情况&#xff1a; sudo dhclient ens33sudo ifconfig ens33依次执行上面两行&#xff0c;之后发现ens33中可以显示inet了 本虚拟机的地址就是192.168.244.131

Unity屏幕震动效果

基于Cinemachine 1、为Cinemachine设置拓展 2、选择ImpulseListener 3、为摄像机跟随的角色添加脚本 4、设置Impulse 5、选择类型 6、设置内置6DShake并调节振幅 7、运行时invoke即可

STM32F1+HAL库+FreeTOTS学习11——延时函数API

STM32F1HAL库FreeTOTS学习11——延时函数API 延时函数API1. vTaskDelay()2. vTaskDelayUntil()3. xTaskDelayUntil()相对延时和绝对延时的区别4. xTaskAbortDelay() 上一期&#xff0c;我们学习了任务相关API使用&#xff0c;这一期我们开始学习FreeRTOS延时函数的API使用 延时…

Python使用YOLOv5图像识别教程包成功-以识别桥墩缺陷详细步骤分享

前置环境资源下载 提示&#xff1a;要开外网才能下载的环境我都放在了网盘里&#xff0c;教程中用到的环境可从这里一并下载&#xff1a; https://pan.quark.cn/s/f0c36aa1ef60 1. 下载YOLOv5源码 官方地址&#xff1a;GitHub - ultralytics/yolov5: YOLOv5 &#x1f680; …

【源码+文档+调试讲解】微信小程序的投票系统

摘 要 伴随着我国社会的发展&#xff0c;人民生活质量日益提高。于是对各种需求进行规范而严格是十分有必要的&#xff0c;所以许许多多的微信小程序应运而生。此时单靠人力应对这些事务就显得有些力不从心了。所以本论文将设计一套微信小程序的投票系统&#xff0c;进行作品信…