当前位置: 首页 > news >正文

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

智慧矿井智能分析数据集



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

相关文章:

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

智慧矿井智能分析数据集 数据1:数据1包含煤矿采掘工作面工人安全帽检测,工人行为检测(行走,站立,坐,操作,弯腰,靠,摔,爬),液压支撑防护…...

举例说明协方差的数学公式计算步骤以及皮尔逊相关系数数学公式的计算步骤

例子:协方差的计算步骤 协方差是用于衡量两个随机变量之间的线性相关性的统计量。它表示两个变量如何一起变化。如果协方差为正,表示两个变量倾向于同方向变化;如果为负,表示它们倾向于反方向变化。 下面我们将通过一个具体的例…...

2024/9/16论文赏析(均为1区或顶刊

Labeled-to-Unlabeled Distribution Alignment for Partially-Supervised Multi-Organ Medical Image Segmentation 代码链接:GitHub - xjiangmed/LTUDA 论文链接:Labeled-to-Unlabeled Distribution Alignment for Partially-Supervised Multi-Organ …...

IDEA 2024.3 EAP新特征早览!

0 前言 IntelliJ IDEA 2024.3 第一个 EAP 版本已发布,提前体验 下一个重大版本的一部分改进。 持续关注 EAP 更新,未来几周内将推出更多 IntelliJ IDEA 新功能。尝试这些新功能,分享您的反馈,共同完善 IDE。 1 AI 助手 1.1 内…...

如何在安卓設備上更換IP地址?

IP地址是設備在網路中的唯一標識,通過IP地址,網路能夠識別並與設備進行通信。本文將詳細介紹在安卓設備上更換IP地址的幾種方法。 在安卓設備上更換IP地址的方法 1. 使用Wi-Fi網路更換IP地址 最簡單的方法是通過Wi-Fi網路更換IP地址。步驟如下&#x…...

LINUX网络编程:TCP(1)

目录 1.认识Tcp的报头 2.确认应答机制(ACK) 序号与确认序号 捎带应答 3.超时重传机制 4.Tcp连接管理 三次握手 为什是三次握手 四次挥手 理解TIMEWAIT 1.认识Tcp的报头 源端口和目的端口号没什么说的 32位的序号和确认序号,之后会介…...

基于PHP的新闻管理系统

作者:计算机学姐 开发技术:SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等,“文末源码”。 专栏推荐:前后端分离项目源码、SpringBoot项目源码、SSM项目源码 系统展示 【2025最新】基于phpMySQL的新闻管理系统。…...

6.C++程序中的基本数据类型

数据类型是指在C中用于声明不同类型变量或函数的一个系统或抽象或者是一个分类,它决定了变量存储占用的内存空间以及解析存储的位模式。其实数据类型可以理解为固定内存大小的别名,是创建变量的模具,具体使用哪种模具(包括自定义&…...

oracle 11g写一个判断是否是身份证的函数,函数名称为:FUN_IS_IDENNO

下面是一个用于判断是否是身份证号码的Oracle 11g函数(FUN_IS_IDENNO)。身份证号码通常为18位(或者旧的15位),前17位为数字,第18位为数字或字母X,并且需要符合一定的规则,例如出生日…...

如何使用Spring Cloud Gateway搭建网关系统

使用Spring Cloud Gateway搭建网关系统是一个涉及多个步骤的过程,主要包括创建Spring Boot项目、添加 Spring Cloud Gateway依赖、配置路由规则以及运行和测试网关。以下是详细的步骤:一、创建Spring Boot项目 选择工具: 可以使用Spring Ini…...

油烟机制造5G智能工厂物联数字孪生平台,推进制造业数字化转型

油烟机制造5G智能工厂物联数字孪生平台,是智能制造与信息技术的深度融合产物。数字孪生工业互联平台通过部署在工厂各个环节的传感器和设备,实时采集、分析和处理生产过程中的海量数据,构建出高度逼真的数字孪生模型。这一模型不仅能够真实反…...

《拿下奇怪的前端报错》序章:报错输出个数值数组Buffer(475) [Uint8Array],我来教它说人话!

作为前端开发者,你可能会遇到过一些奇奇怪怪的报错(相信我你早晚会遇到),关键是它未给出具体错误的位置,或者是一些很奇怪的信息。 我以前都是还原代码,然后找到错误的位置。或者是瞎弄一通,测试…...

Docker 里面按照ifconfig

1. 进入Docker 容器内部 docker exec -it xxx bash2. 安装 net-tools iputils-ping apt-get update && apt-get install -y net-tools apt-get update && apt-get install -y iputils-ping 3. 执行ifconfig 执行ping...

DOS(Disk Operating System,磁盘操作系统)常用指令

目录 背景: 早期探索: DOS之父: 发展历程: 常用指令: 进入命令: 操作1.进入和回退: 操作2.增、删: 操作3.其它: 总结: 背景: 早期探索: DOS(Disk Operating System,磁盘操作系统)在…...

VSCode集成Python环境搭建配置详细步骤

1. 安装VSCode 在开始我们的Python编程之旅前,首先需要准备好我们的开发工具——Visual Studio Code,简称VSCode。VSCode是一款由微软开发的轻量级但功能强大的源代码编辑器,支持多种编程语言,并且拥有丰富的扩展生态系统。接下来,我们将一步步教你如何下载、安装以及汉化…...

OpenHarmony(鸿蒙南向开发)——小型系统内核(LiteOS-A)【扩展组件】上

往期知识点记录: 鸿蒙(HarmonyOS)应用层开发(北向)知识点汇总 鸿蒙(OpenHarmony)南向开发保姆级知识点汇总~ 子系统开发内核 轻量系统内核(LiteOS-M) 轻量系统内核&#…...

Windows【环境 01】服务器系统重装后的服务恢复(ES\Redis\Jafka\Tomcat)环境变量和服务注册

服务器系统重装后的服务恢复 1.原因2.问题处理2.1 JDK2.2 Elasticsearch2.3 Redis2.4 Jafka2.5 Tomcat 3.总结 1.原因 Windows 服务器系统盘损坏,换了硬盘并重做了系统,其他磁盘未损坏但安装的服务无法正常运行了,包括: Elastic…...

发现编程的全新境界——明基RD280U显示器使用体验

前言 在大学的四年里,我几乎每天都泡在实验室,盯着电脑屏幕,一行行地码代码。那时,学校提供的显示器是非常基础的款式,功能简单,几乎没有任何特别之处,甚至配置也比较低。那个时候,…...

使用阿里OCR身份证识别

1、开通服务 免费试用 2、获取accesskay AccessKeyId和AccessKeySecret 要同时复制保存下来 因为后面好像看不AccessKeySecret了 3.Api 参考 https://help.aliyun.com/zh/ocr/developer-reference/api-ocr-api-2021-07-07-recognizeidcard?spma2c4g.11186623.0.0.7a9f4b1e5C…...

8. 详细描述一条 SQL 语句在 MySQL 中的执行过程。

一条SQL语句在MySQL中的执行过程包括多个步骤,从接收到SQL命令到返回结果,这些步骤涉及SQL解析、优化、执行以及最终的结果返回。以下是详细描述一条SQL语句在MySQL中的执行过程。 1. 客户端发送SQL请求 客户端应用程序:首先,客户…...

OpenLayers 可视化之热力图

注:当前使用的是 ol 5.3.0 版本,天地图使用的key请到天地图官网申请,并替换为自己的key 热力图(Heatmap)又叫热点图,是一种通过特殊高亮显示事物密度分布、变化趋势的数据可视化技术。采用颜色的深浅来显示…...

【JavaEE】-- HTTP

1. HTTP是什么? HTTP(全称为"超文本传输协议")是一种应用非常广泛的应用层协议,HTTP是基于TCP协议的一种应用层协议。 应用层协议:是计算机网络协议栈中最高层的协议,它定义了运行在不同主机上…...

.Net框架,除了EF还有很多很多......

文章目录 1. 引言2. Dapper2.1 概述与设计原理2.2 核心功能与代码示例基本查询多映射查询存储过程调用 2.3 性能优化原理2.4 适用场景 3. NHibernate3.1 概述与架构设计3.2 映射配置示例Fluent映射XML映射 3.3 查询示例HQL查询Criteria APILINQ提供程序 3.4 高级特性3.5 适用场…...

【Linux】C语言执行shell指令

在C语言中执行Shell指令 在C语言中&#xff0c;有几种方法可以执行Shell指令&#xff1a; 1. 使用system()函数 这是最简单的方法&#xff0c;包含在stdlib.h头文件中&#xff1a; #include <stdlib.h>int main() {system("ls -l"); // 执行ls -l命令retu…...

2021-03-15 iview一些问题

1.iview 在使用tree组件时&#xff0c;发现没有set类的方法&#xff0c;只有get&#xff0c;那么要改变tree值&#xff0c;只能遍历treeData&#xff0c;递归修改treeData的checked&#xff0c;发现无法更改&#xff0c;原因在于check模式下&#xff0c;子元素的勾选状态跟父节…...

TRS收益互换:跨境资本流动的金融创新工具与系统化解决方案

一、TRS收益互换的本质与业务逻辑 &#xff08;一&#xff09;概念解析 TRS&#xff08;Total Return Swap&#xff09;收益互换是一种金融衍生工具&#xff0c;指交易双方约定在未来一定期限内&#xff0c;基于特定资产或指数的表现进行现金流交换的协议。其核心特征包括&am…...

Spring Boot面试题精选汇总

&#x1f91f;致敬读者 &#x1f7e9;感谢阅读&#x1f7e6;笑口常开&#x1f7ea;生日快乐⬛早点睡觉 &#x1f4d8;博主相关 &#x1f7e7;博主信息&#x1f7e8;博客首页&#x1f7eb;专栏推荐&#x1f7e5;活动信息 文章目录 Spring Boot面试题精选汇总⚙️ **一、核心概…...

Ascend NPU上适配Step-Audio模型

1 概述 1.1 简述 Step-Audio 是业界首个集语音理解与生成控制一体化的产品级开源实时语音对话系统&#xff0c;支持多语言对话&#xff08;如 中文&#xff0c;英文&#xff0c;日语&#xff09;&#xff0c;语音情感&#xff08;如 开心&#xff0c;悲伤&#xff09;&#x…...

零基础在实践中学习网络安全-皮卡丘靶场(第九期-Unsafe Fileupload模块)(yakit方式)

本期内容并不是很难&#xff0c;相信大家会学的很愉快&#xff0c;当然对于有后端基础的朋友来说&#xff0c;本期内容更加容易了解&#xff0c;当然没有基础的也别担心&#xff0c;本期内容会详细解释有关内容 本期用到的软件&#xff1a;yakit&#xff08;因为经过之前好多期…...

安卓基础(aar)

重新设置java21的环境&#xff0c;临时设置 $env:JAVA_HOME "D:\Android Studio\jbr" 查看当前环境变量 JAVA_HOME 的值 echo $env:JAVA_HOME 构建ARR文件 ./gradlew :private-lib:assembleRelease 目录是这样的&#xff1a; MyApp/ ├── app/ …...