煤矿智慧矿井数据集 (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请求 客户端应用程序:首先,客户…...

C++--类的实例化
一、实例化的概念 用类类型在屋里内存中创建对象的过程,称为类实例化出对象 类是对对象进行一种抽象描述,是一个模型一样的东西,限定了类有哪些成员变量,这些成员变量只是声明,没有分配空间,用类实例化出…...
Vue vs React vs Angular 的对比和选择
前端框架对比与选择指南 在前端开发的世界里,框架可谓是开发者手中的利器。无论是新手还是老手,面对 Vue、React、Angular 等主流前端框架的选择时,都会有一瞬间的犹豫:“我到底该选哪个框架?”选择一个合适的前端框架…...

Yolov8-pose关键点检测:一种新的自适应算法轻量级通道分割和变换(ALSS)模块,解决红外检测场景存在严重遮挡和重叠目标时的局限性
💡💡💡本文解决什么问题:红外检测场景存在严重遮挡和重叠目标时的局限性的问题点。 💡💡💡提出了一种新的自适应算法轻量级通道分割和变换(ALSS)模块。该模块采用自适应信道分裂策略优化特征提取,并集成信道变换机制增强信道间的信息交换。这改善了模糊特征的提…...

无人机飞手培训机构六旋翼训练无人机技术详解
六旋翼无人机作为多旋翼无人机的一种,以其独特的稳定性、灵活性和载重能力,在航拍、农业、救援、物流等多个领域展现出广泛的应用前景。它采用六个旋翼产生升力,通过复杂的飞行控制系统实现悬停、前后左右飞行、翻滚等复杂动作,为…...

CX8903:电动车手机充电器降压芯片,搭配协议实现快充
CX8903:一款专用于电动车手机充电器的降压芯片,搭配协议实现快充。 在城市的车水马龙中,电动自行车如灵动的精灵,便捷着我们的出行生活。在骑行的路上,随时保持连接,电动自行车手机充电器让手机电量满满。…...

leaflet加载GeoServer的WMS地图服务.md
leaflet加载GeoServer的WMS地图服务,该示例涵盖了涵盖了 “WMS图层加载、WMS图层动态投影、图层index顺序调整、图层添加、高德地图、腾讯地图OpenStreet地图”,WMS图层加载看代码中标注的核心代码部分即可。 <!DOCTYPE html> <html xmlns&qu…...

Shire 智能体市场:IDE 一键安装多智能体,协同打造集体智慧 Copilot
太长不看版:在新版本(0.8)的 Shire 中,你可以通过 Shire 智能体市场,一键下载和安装多个智能体,并直接在你的当前项目中使用。与此同时,你还可以 将你的 Shire 代码段或者智能体上传到 Shire 智…...

机器学习笔记(一)初识机器学习
1.定义 机器学习是一门多学科交叉专业,涵盖概率论知识,统计学知识,近似理论知识和复杂算法知识,使用计算机作为工具并致力于真实实时的模拟人类学习方式,并将现有内容进行知识结构划分来有效提高学习效率。 机器学习有…...
linux如何查看当前的目录所在位置
在Linux系统中,查看当前目录所在位置的常用命令是 pwd,它代表 "print working directory"(打印工作目录)。当你在终端中输入 pwd 并按下回车键时,它会显示当前所在的完整路径。 打开终端,然后输…...

【JavaEE】线程创建和终止,Thread类方法,变量捕获(7000字长文)
阿华代码,不是逆风,就是我疯,你们的点赞收藏是我前进最大的动力!!7000字长文,希望本文内容能够帮助到你! 目录 一:创建线程五种方式 方式一:继承Thread类,…...