电气设备施工现场风险状态判断ai模型训练数据集

电气设备施工现场风险状态判断ai模型训练数据集
id:18 电气设备施工现场工人人工智能学习数据和工作环境安全数据,建立系统化管理体系,改变全球EHS范式,预防工业事故。数据集记录了387709例子电力设施建设以及施工现场相关的灾害安全环境数据,格式为jpg;同时以边界框、关键点作为标签,主要以json记录。

数据集名称

电气设备施工现场风险状态判断AI模型训练数据集

数据集描述

该数据集旨在用于训练人工智能模型,以识别和判断电气设备施工现场的风险状态,从而帮助建立系统化的管理体系,预防工业事故。数据集包含了大量与电力设施建设和施工现场相关的灾害安全环境数据,可用于训练模型识别工人在施工过程中的不安全行为和环境风险。

数据规模

数据集共记录了387,709个样本,每个样本都是一个与电气设备施工现场相关的图像,格式为JPG。

标签格式

数据集中的标签采用了边界框(bounding boxes)和关键点(keypoints)的方式进行标注,主要以JSON格式记录。这种标注方式使得模型不仅可以识别出图像中的对象,还可以精确到对象的具体位置和姿态。

标注类别

数据集中的标注类别可能包括但不限于:

  • 工人未佩戴安全帽或安全带。
  • 高空作业时无安全措施。
  • 施工现场的其他不安全行为或环境因素。
  • 关键点标注(例如,工人头部、肩膀、手臂等的位置)。
数据集结构

典型的JSON标签文件结构如下:

1{
2    "image_id": "000001",
3    "width": 1920,
4    "height": 1080,
5    "objects": [
6        {
7            "category": "未佩戴安全帽",
8            "bbox": [100, 150, 200, 300],
9            "keypoints": [150, 200, 1, 200, 250, 2, ...]
10        },
11        {
12            "category": "高空作业无人监护",
13            "bbox": [300, 200, 500, 400],
14            "keypoints": [350, 250, 1, 400, 350, 2, ...]
15        }
16    ]
17}
数据来源

数据来源于真实的电气设备施工现场,涵盖了不同的时间段、天气条件和地理环境,以确保数据集的多样性和实用性。

应用场景

该数据集可以用于训练和评估机器学习模型,在电力施工和工业安全领域有着广泛的应用前景,包括但不限于:

  • 自动识别施工现场的安全隐患。
  • 辅助现场管理人员及时发现并纠正不安全行为。
  • 提升施工人员的安全意识。
  • 实现智能化的风险管理和预防机制。

示例代码

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

1import os
2import json
3import cv2
4import numpy as np
5from PIL import Image
6
7# 数据集路径
8dataset_path = 'path/to/dataset/'
9
10# 加载图像和标签
11def load_image_and_labels(image_path, label_path):
12    # 读取图像
13    image = Image.open(image_path).convert('RGB')
14    # 加载JSON标签文件
15    with open(label_path, 'r') as f:
16        data = json.load(f)
17    return image, data
18
19# 展示图像
20def show_image_with_boxes(image, data):
21    img = np.array(image)
22    for obj in data['objects']:
23        category = obj['category']
24        bbox = obj['bbox']
25        keypoints = obj['keypoints']
26        
27        # 绘制边界框
28        cv2.rectangle(img, (bbox[0], bbox[1]), (bbox[2], bbox[3]), (0, 255, 0), 2)
29        
30        # 绘制关键点
31        for i in range(0, len(keypoints), 3):
32            if keypoints[i + 2] == 1:  # 可见的关键点
33                cv2.circle(img, (int(keypoints[i]), int(keypoints[i + 1])), 5, (0, 0, 255), -1)
34        
35        # 添加类别标签
36        cv2.putText(img, category, (bbox[0], bbox[1] - 10), cv2.FONT_HERSHEY_SIMPLEX, 0.5, (0, 255, 0), 2)
37    
38    cv2.imshow('Image with Boxes and Keypoints', img)
39    cv2.waitKey(0)
40    cv2.destroyAllWindows()
41
42# 主函数
43if __name__ == "__main__":
44    images_dir = os.path.join(dataset_path, 'JPEGImages')
45    labels_dir = os.path.join(dataset_path, 'Annotations')
46    
47    # 获取图像列表
48    image_files = [f for f in os.listdir(images_dir) if f.endswith('.jpg')]
49    
50    # 随机选择一张图像
51    selected_image = np.random.choice(image_files)
52    image_path = os.path.join(images_dir, selected_image)
53    label_path = os.path.join(labels_dir, selected_image.replace('.jpg', '.json'))
54    
55    # 加载图像和标签
56    image, labels = load_image_and_labels(image_path, label_path)
57    
58    # 展示带有标注框和关键点的图像
59    show_image_with_boxes(image, labels)

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

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

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

相关文章

软件设计画图,流程图、甘特图、时间轴图、系统架构图、网络拓扑图、E-R图、思维导图

目录 一、流程图 二、甘特图 三、时间轴图 四、系统架构图 五、网络拓扑图 六、E-R图 七、思维导图 一、流程图 是一种用符号表示算法、工作流或流程的图形。用不同的图形表示不同含义,如椭圆表示开始和结束、菱形表示判断等。 画图工具WPS office 应用市场…

prober found high clock drift,Linux服务器时间不能自动同步,导致服务器时间漂移解决办法。

文章目录 一、场景二、问题三、解决办法(一)给服务器添加访问网络能力(二)手动同步1. 检查有没有安装ntp2. 没有安装ntp则离线安装ntp2.1 下载安装包2.2 安装2.3 启动 ntp 3. 设置内部时钟源3.1 编辑/etc/ntp.conf3.1 重启ntp服务…

ArrayList 与 LinkedList 的区别?

1.是什么 ArrayList和LinkedList是Java集合框架中两种常用的数据结构,它们各自具有不同的特点和适用场景。以下是它们之间的详细区别,通过举例进行说明: 一、数据结构 ArrayList:基于动态数组的数据结构。它封装了一个动态再分配…

OpenJudge | 八皇后问题

总时间限制: 10000ms 内存限制: 65536kB 描述 在国际象棋棋盘上放置八个皇后,要求每两个皇后之间不能直接吃掉对方。 输入 无输入。 输出 按给定顺序和格式输出所有八皇后问题的解(见Sample Output)。 样例输入 (null)样例输出 No. 1 …

计算机毕业设计之:教学平台微信小程序(

博主介绍: ✌我是阿龙,一名专注于Java技术领域的程序员,全网拥有10W粉丝。作为CSDN特邀作者、博客专家、新星计划导师,我在计算机毕业设计开发方面积累了丰富的经验。同时,我也是掘金、华为云、阿里云、InfoQ等平台…

【计算机网络篇】物理层

本文主要介绍计算机网络第二章节的物理层,文中的内容是我认为的重点内容,并非所有。参考的教材是谢希仁老师编著的《计算机网络》第8版。跟学视频课为河南科技大学郑瑞娟老师所讲计网。 文章目录 🎯一.基本概念及公式 🎃基本概念…

天宝Trimble RealWorks2024.0.2注册机 点云后处理软件 点云三维重建软件

一、功能特色 1、强大的点云数据处理平台 Trimble Realworks2024是市面上先进的点云数据处理软件,能够配准、可视化、浏览和直接处理市面上几乎所有主流品牌扫描仪点云数据,包括Leica、Riegl、ZF、Faro、Topcon等。 2、业界领先的无目标全自动配准 T…

C++日期类详解 第二级支线任务

日期类的整体 class Date { public:// 构造函数Date(int year 0, int month 1, int day 1);// 打印函数void Print() const;// 日期天数Date& operator(int day);// 日期天数Date operator(int day) const;// 日期-天数Date& operator-(int day);// 日期-天数Date …

解决RabbitMQ设置TTL过期后不进入死信队列

解决RabbitMQ设置TTL过期后不进入死信队列 问题发现问题解决方法一:手动拒绝消息,并且重新放回队列中方法二:改为自动确认模式方法三:只监听死信队列,在死信队列里面处理业务逻辑 问题发现 最近再学习RabbitMQ过程中&…

排序-----选择排序

首先介绍几种排序的分类: 选择排序是每次都遍历,标记出最小的元素,然后把它放在前面。 本文介绍优化后的版本:每次遍历标记出最小的和最大的元素,分别放到前面和后面。(注意这里是找到对应的下标&#xff0…

Unity Transform 组件

在 Unity 中,Transform 是一个非常重要的组件,它定义了物体的位置、旋转和缩放,几乎每个 GameObject 都包含一个 Transform 组件。Transform 组件的主要属性如下: 1. position 表示物体在世界空间中的位置。可以通过 transf…

【西电电装实习】6. 手装无人机的蓝牙断连debug

文章目录 前言零、闪灯状态零零、翻滚角,俯仰角,偏航角一、问题描述二、现象解释三、解决方案参考文献 前言 在 西电无人机电装实习 时遇到的问题使用蓝牙芯片 CH582F。沁恒的蓝牙芯片CH582F是一款集成了BLE(Bluetooth Low Energy&#xff0…

Unity制作角色溶解变成光点消失

Unity制作角色溶解变成光点消失 大家好,我是阿赵。   在很多游戏里面,角色死亡之后都会有一些特殊的消失方式。这里我也来做一种,角色溶解成光点消失的效果。 我还是随便拿了Unity的资源商店的免费资源来使用。不过由于这个角色自带没有死…

【楚怡杯】职业院校技能大赛 “云计算应用” 赛项样题六

某企业根据自身业务需求,实施数字化转型,规划和建设数字化平台,平台聚焦“DevOps开发运维一体化”和“数据驱动产品开发”,拟采用开源OpenStack搭建企业内部私有云平台,开源Kubernetes搭建云原生服务平台,选…

JVM字节码与局部变量表

文章目录 局部变量表javap字节码指令分类 指令指令数据类型前缀加载和存储指令加载常量算术指令其他指令 字节码示例说明 局部变量表 每个线程的帧栈是独立的,每个线程中的方法调用会产生栈帧,栈帧中保存着方法执行的信息,例如局部变量表。 …

防火墙配置变更管理

在任何组织中,当涉及到网络安全时,频繁地更换防火墙是必要的,实施简化的防火墙更改管理策略模板可以减少管理时间,还可以减少每次变更引入新的安全性或合规性问题的可能性。典型的防火墙变更管理流程将包括以下步骤: …

八股文-多线程、并发

八股文-多线程、并发 最近学到了一种方法,可以用于简历项目经验编写以及面试题目的回答 STAR法则:在什么背景下,你需要解决什么问题,你做了啥,得到了什么结果 情境(Situation): 描…

【裸机装机系列】4.kali(ubuntu)-配置个人用户的sudo权限并进行bashrc的其他配置

前面更新好软件之后,就正式进入使用环节了,不过先不要着急,还需要配置一些东西才能使用 文中提到的: 自己账户内——frank㉿practice root账户内——root㉿practice其中 ㉿ 前 是用户名 ㉿ 后 是主机名 也就是在前面U盘装机的时…

动态语言? 静态语言? ------区别何在?java,js,c,c++,python分给是静态or动态语言?

JavaScript 被称为动态语言,而 Java 被称为静态语言 这主要与它们在类型系统、编译执行方式以及运行时行为等方面的不同特性有关。详细差异如下: JavaScript (动态语言) 动态类型: 在JavaScript中,变量的类型是在运行时确定的。这…

【数据结构与算法】LeetCode:双指针法

文章目录 LeetCode:双指针法正序同向而行(快慢指针)移除元素移动零(Hot 100)删除有序数组中的重复项颜色分类(Hot 100)压缩字符串移除链表元素删除排序链表中的重复元素删除排序链表中的重复元素…