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

电力施工作业安全行为检测图像数据集,图片总共 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标注文件,并在图像上绘制边界框和类别标签。您可以根据实际需求进一步扩展和修改这段代码,以适应您的具体应用场景。

相关推荐
数聚天成DeepSData1 天前
两份名录里的同名机构,主键该怎么合并
人工智能·深度学习·机器学习·数据集·deepsdata
Felaim4 天前
【SLAM】SLAM数据集相机规格说明
数据集·vslam·slam·相机标定
数聚天成DeepSData5 天前
第三方地图工具导出的 Landsat 影像,使用条件和 USGS 官方下载的一样吗
人工智能·深度学习·机器学习·数据集·deepsdata
数聚天成DeepSData6 天前
验收一批标注数据时,一致性到底在比谁和谁
人工智能·深度学习·机器学习·数据集·deepsdata
数聚天成DeepSData7 天前
两批标注数据合并前要核对什么
人工智能·深度学习·机器学习·数据集·deepsdata
数聚天成DeepSData7 天前
外部标注需求里该写清哪几项,样例包才验收得动
人工智能·深度学习·机器学习·数据集·deepsdata
数聚天成DeepSData7 天前
Landsat 影像去哪里下载:选景、批量与脚本检索怎么选
人工智能·深度学习·机器学习·数据集·deepsdata
数聚天成DeepSData15 天前
夜间灯光可以代表经济活动吗?先处理年际一致性
人工智能·深度学习·机器学习·数据集·deepsdata
oscar99915 天前
Opik 优化器数据集指南:如何定义、拆分与验证你的数据
人工智能·数据集·opik
地理探险家17 天前
从零实现图片自动分类:数据准备、模型训练与单图预测
人工智能·深度学习·机器学习·分类·数据挖掘·数据集