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

电力施工作业安全行为检测图像数据集

电力施工作业安全行为检测图像数据集,图片总共 2300左右,标注为voc(xml)格式,包含高空抛物,未佩戴安全带,高处作业无人监护等。

电力施工作业安全行为检测图像数据集

数据集描述

这是一个专门用于电力施工作业安全行为检测的图像数据集。数据集总共包含大约2300张图片,涵盖了多种常见的不安全行为,目的是帮助训练计算机视觉模型识别电力施工现场中的潜在安全隐患。

类别

数据集中标注的行为类别主要包括但不限于:

  • 高空抛物
  • 未佩戴安全带
  • 高处作业无人监护
  • 其他不安全行为(如不戴头盔、不穿防护服等)
标注格式

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

图像来源

图像数据来源于真实的电力施工现场,涵盖了不同的时间和天气条件,确保了数据集的多样性和实用性。

数据集结构

典型的VOC数据集结构如下:

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

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

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • JavaWeb--纯小白笔记06:使用Idea创建Web项目,Servlet生命周期,注解,中文乱码解决
  • 硬件工程师笔试面试——晶振
  • 思通数科开源产品:免费的AI视频监控卫士安装指南
  • git reflog 和 git log 的详解和区别
  • 本地git仓库配置远程仓库的地址
  • 如何在WordPress中添加事件Schema(分步指南)
  • 处理京东商品详情信息爬取中的验证码问题
  • 【基础算法总结】模拟篇
  • Java多线程大全
  • Oracle数据库中什么情况下需要使用游标
  • Hive自定义函数——简单使用
  • 【手机马达共振导致后主摄马达声音异常】
  • 2024自学手册——网络安全(黑客技术)
  • MyBatis-Plus代码生成器
  • Microsoft Edge 五个好用的插件
  • [NodeJS] 关于Buffer
  • ES6, React, Redux, Webpack写的一个爬 GitHub 的网页
  • flask接收请求并推入栈
  • GraphQL学习过程应该是这样的
  • Java 最常见的 200+ 面试题:面试必备
  • k8s 面向应用开发者的基础命令
  • Meteor的表单提交:Form
  • Node + FFmpeg 实现Canvas动画导出视频
  • Python学习之路16-使用API
  • Spark学习笔记之相关记录
  • Spring-boot 启动时碰到的错误
  • windows下使用nginx调试简介
  • 程序员该如何有效的找工作?
  • 初探 Vue 生命周期和钩子函数
  • 目录与文件属性:编写ls
  • 批量截取pdf文件
  • 让你的分享飞起来——极光推出社会化分享组件
  • 想写好前端,先练好内功
  • 资深实践篇 | 基于Kubernetes 1.61的Kubernetes Scheduler 调度详解 ...
  • # 深度解析 Socket 与 WebSocket:原理、区别与应用
  • #面试系列-腾讯后端一面
  • #中国IT界的第一本漂流日记 传递IT正能量# 【分享得“IT漂友”勋章】
  • $ is not function   和JQUERY 命名 冲突的解说 Jquer问题 (
  • (2)关于RabbitMq 的 Topic Exchange 主题交换机
  • (leetcode学习)236. 二叉树的最近公共祖先
  • (二开)Flink 修改源码拓展 SQL 语法
  • (亲测有效)推荐2024最新的免费漫画软件app,无广告,聚合全网资源!
  • (十二)devops持续集成开发——jenkins的全局工具配置之sonar qube环境安装及配置
  • (转)ORM
  • (转)创业的注意事项
  • (转)如何上传第三方jar包至Maven私服让maven项目可以使用第三方jar包
  • (转载)在C#用WM_COPYDATA消息来实现两个进程之间传递数据
  • .babyk勒索病毒解析:恶意更新如何威胁您的数据安全
  • .Net--CLS,CTS,CLI,BCL,FCL
  • [ C++ ] STL---stack与queue
  • [ 英语 ] 马斯克抱水槽“入主”推特总部中那句 Let that sink in 到底是什么梗?
  • []指针
  • [AIGC codze] Kafka 的 rebalance 机制
  • [Algorithm][综合训练][kotori和气球][体操队形][二叉树中的最大路径和]详细讲解
  • [Android] Implementation vs API dependency