变电站绝缘套管红外检测数据集

包含以下4个数据文件: /train:训练集 /valid:验证集 /test:测试集 README.txt:数据说明 【数据说明】检测目标以Pascal VOC格式进行标注,对每个图像进行以下预处理,统一调整大小为640x640。数据集共包含9900+变压器绝缘套管红外图像样张,其中train包含8560+红外图像样张(带xml标注),valid包含1280+红外图像样张(带xml标注),test包含60+红外图像样张(带xml标注),数据集未做数据增广,也可以自行划分训练集、验证集和测试集。 以上数据均已进行脱敏处理,可用于相关红外检测研究,

变电站绝缘套管红外检测数据集

数据集描述

该数据集是一个专门用于变电站绝缘套管红外图像检测的数据集,旨在帮助研究人员和开发者训练和评估基于深度学习的目标检测模型。绝缘套管是变电站中重要的电气设备之一,其状态直接影响电力系统的安全稳定运行。通过红外成像技术,可以有效检测绝缘套管的温度异常,从而及时发现潜在故障。数据集提供了大量的高分辨率红外图像,并且所有标注都是通过Pascal VOC格式进行的,确保了高质量的标注信息。

数据规模

  • 总样本数量:9,900+张红外图像
    • 训练集 (train):8,560+张红外图像(带xml标注)
    • 验证集 (valid):1,280+张红外图像(带xml标注)
    • 测试集 (test):60+张红外图像(带xml标注)
  • 数据量:具体大小未提供
  • 标注格式:Pascal VOC格式XML标注
  • 目标类别
    • 绝缘套管 (Insulator Bushings)
图像特性
  • 统一预处理:每张图像都经过预处理,统一调整大小为640x640像素。
  • 多样化场景:覆盖了不同类型的绝缘套管、不同的光照条件以及各种背景环境下的红外图像情况。
  • 高质量手工标注:每张图像都有详细的边界框标注,支持直接用于训练目标检测模型。
  • 真实拍摄:所有图像均为实际拍摄的真实场景,增强了模型在实际应用中的鲁棒性。
  • 脱敏处理:数据已进行脱敏处理,可用于相关红外检测研究。
  • 单一目标标签:每张图像中的目标标签有且仅有1个为“Insulator Bushings”。
应用场景
  • 电力系统维护:通过自动检测绝缘套管的状态,辅助电力部门及时发现和处理故障,提高电力系统的可靠性和安全性。
  • 智能巡检:集成到无人机或机器人巡检系统中,实现自动化巡检,减少人工成本。
  • 科研分析:用于研究目标检测算法在特定工业应用场景中的表现,特别是在复杂背景和光照条件下的鲁棒性。
  • 故障预警:通过早期检测绝缘套管的温度异常,提前预警潜在故障,减少停电风险。

数据集结构

典型的数据集目录结构如下:

1insulator_bushing_infrared_dataset/
2├── train/
3│   ├── images/
4│   │   ├── img_00001.jpg
5│   │   ├── img_00002.jpg
6│   │   └── ...
7│   ├── annotations/
8│   │   ├── img_00001.xml
9│   │   ├── img_00002.xml
10│   │   └── ...
11├── valid/
12│   ├── images/
13│   │   ├── img_00001.jpg
14│   │   ├── img_00002.jpg
15│   │   └── ...
16│   ├── annotations/
17│   │   ├── img_00001.xml
18│   │   ├── img_00002.xml
19│   │   └── ...
20├── test/
21│   ├── images/
22│   │   ├── img_00001.jpg
23│   │   ├── img_00002.jpg
24│   │   └── ...
25│   ├── annotations/
26│   │   ├── img_00001.xml
27│   │   ├── img_00002.xml
28│   │   └── ...
29├── README.txt  # 数据说明文件

数据说明

  • 检测目标:以Pascal VOC格式进行标注。
  • 图像预处理:每张图像都经过预处理,统一调整大小为640x640像素。
  • 数据集内容
    • 训练集 (train):包含8,560+张红外图像样张(带xml标注)。
    • 验证集 (valid):包含1,280+张红外图像样张(带xml标注)。
    • 测试集 (test):包含60+张红外图像样张(带xml标注)。
  • 目标标签:每张图像中的目标标签有且仅有1个为“Insulator Bushings”。
  • 数据增广:数据集未做数据增广,用户可以根据需要自行划分训练集、验证集和测试集。
  • 脱敏处理:数据已进行脱敏处理,可用于相关红外检测研究。

示例代码

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

1import os
2import cv2
3import numpy as np
4from PIL import Image
5import xml.etree.ElementTree as ET
6
7# 数据集路径
8dataset_path = 'path/to/insulator_bushing_infrared_dataset/'
9
10# 加载图像和边界框标注
11def load_image_and_boxes(image_path, annotation_path):
12    # 读取图像
13    image = Image.open(image_path).convert('RGB')
14    
15    # 解析VOC标注文件
16    tree = ET.parse(annotation_path)
17    root = tree.getroot()
18    boxes = []
19    for obj in root.findall('object'):
20        class_name = obj.find('name').text
21        bbox = obj.find('bndbox')
22        xmin = int(bbox.find('xmin').text)
23        ymin = int(bbox.find('ymin').text)
24        xmax = int(bbox.find('xmax').text)
25        ymax = int(bbox.find('ymax').text)
26        boxes.append([class_name, xmin, ymin, xmax, ymax])
27    return image, boxes
28
29# 展示图像和边界框
30def show_image_with_boxes(image, boxes):
31    img = np.array(image)
32    for box in boxes:
33        class_name, xmin, ymin, xmax, ymax = box
34        cv2.rectangle(img, (xmin, ymin), (xmax, ymax), (0, 255, 0), 2)
35        label = f'{class_name}'
36        cv2.putText(img, label, (xmin, ymin - 10), cv2.FONT_HERSHEY_SIMPLEX, 0.5, (0, 255, 0), 2)
37    
38    cv2.imshow('Image with Boxes', img)
39    cv2.waitKey(0)
40    cv2.destroyAllWindows()
41
42# 主函数
43if __name__ == "__main__":
44    subset = 'train'  # 可以选择 'train', 'valid', 或 'test'
45    images_dir = os.path.join(dataset_path, subset, 'images')
46    annotations_dir = os.path.join(dataset_path, subset, 'annotations')
47    
48    # 获取图像列表
49    image_files = [f for f in os.listdir(images_dir) if f.endswith('.jpg')]
50    
51    # 随机选择一张图像
52    selected_image = np.random.choice(image_files)
53    image_path = os.path.join(images_dir, selected_image)
54    annotation_path = os.path.join(annotations_dir, selected_image.replace('.jpg', '.xml'))
55    
56    # 加载图像和边界框
57    image, boxes = load_image_and_boxes(image_path, annotation_path)
58    
59    # 展示带有边界框的图像
60    show_image_with_boxes(image, boxes)

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

示例代码:使用预训练模型进行推理

以下是使用预训练模型进行推理的示例代码。这里我们假设您使用的是基于YOLOv5的模型,但您可以根据需要选择其他支持目标检测的模型。

1import torch
2import cv2
3import numpy as np
4from PIL import Image
5import yolov5  # 请确保已安装yolov5库
6
7# 数据集路径
8dataset_path = 'path/to/insulator_bushing_infrared_dataset/'
9
10# 加载预训练模型
11model = yolov5.load('path/to/pretrained/yolov5_weights.pt')  # 替换成实际的预训练模型路径
12model.eval()
13
14# 主函数
15if __name__ == "__main__":
16    subset = 'train'  # 可以选择 'train', 'valid', 或 'test'
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模型进行推理,并显示和保存推理结果。您可以根据实际需求进一步扩展和修改这段代码,以适应您的具体应用场景。如果您需要使用其他模型进行更高级的功能,如模型微调或增量训练,可以参考相应模型的官方文档来进行相应的配置和操作。

 

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

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

死机检测电路

目录: 1、死机检测概述 2、活机状态 3、死机状态 1、死机检测概述 本内容分享一个“死机检测电路”,用作单片机(MCU)死机时,不至于持续给负载供电。‌持续负载供电,比如加热丝,可能会引发严…

在腾讯云申请https(我得是腾讯云服务器),通过宝塔设置https

参考 一键 HTTPS:https://cloud.tencent.com/document/product/400/58062 DNS 验证:https://cloud.tencent.com/document/product/400/54500?from_cn_redirect1 申请免费的证书 访问连接:https://console.cloud.tencent.com/ssl 点击页…

hive分区详细教程

为什么要分区? 为了提高sql的查询效率 比如: select * from orders where create_date20230826; 假如数据量比较大,这个sql就是全表扫描,速度肯定慢。 可以将数据按照天进行分区,一个分区就是一个文件夹,当…

软件设计师——操作系统

📔个人主页📚:秋邱-CSDN博客☀️专属专栏✨:软考——软件设计师🏅往期回顾🏆:C: 类和对象(上)🌟其他专栏🌟:C语言_秋邱 一、操作系统…

伊犁云计算22-1 linux 逻辑卷管理

1  三块硬盘  sata  先做组,再做逻辑 第一步添加三块硬盘,然后分区,装文件系统 这个过程参考之前的文章不说 新增了三块 sdb &#xff…

vue3 快速入门系列 —— 基础

基础 前面我们已经用 vue2 和 react 做过开发了。 AIAutoPrediction 从 vue2 升级到 vue3 成本较大,特别是较大的项目。所以许多公司对旧项目继续使用vue2,新项目则使用 vue3。 有些UI框架,比如ant design vue1.x 使用的 vue2。但现在 an…

老年人养生之道:岁月静好,健康常伴

老年人养生之道:岁月静好,健康常伴 随着年岁的增长,老年人更需注重养生,以维持身心的和谐与健康,享受幸福晚年。养生不仅是一种生活态度,更是一种智慧的选择,它涵盖了饮食、运动、心理、社交等…

基于MPA-BP-Adaboost的多输入回归预测|海洋捕食者优化-BP神经网络

目录 一、主要内容: 二、运行效果: 三、Adaboost步骤: 四、MPA-BP的优化步骤: 五、本文完整代码数据下载: 一、主要内容: 本代码结合了海洋捕食者优化(MPA)算法与BP神经网络和A…

【医疗大数据】基于 B2B 的医疗保健系统中大数据信息管理的安全和隐私问题分析

基于 B2B 的医疗保健系统中大数据信息管理的安全和隐私问题分析 1、引言 1-1 医疗大数据的特点 10 V模型:在医疗领域,大数据的特点被描述为10 V,包括价值(Value)、体量(Volume)、速度&#xf…

抖音矩阵系统源码搭建,矩阵系统贴牌,矩阵工具开源

1. 抖音短视频矩阵系统 抖音短视频矩阵系统,是指通过抖音平台,以矩阵的形式进行短视频创作、发布和传播的一种模式。它以多样化的内容、丰富的表现形式、高度的专业化和协同性,吸引了大量用户和创作者的关注。 2. 短视频矩阵系统的优势 2.1 …

BLE 设备丢包理解

前言 个人邮箱:zhangyixu02gmail.com在学习 BLE 过程中,总能听到 “丢包” 一词,但是我查阅资料又发现,有大佬说,ATT所有命令都是“必达”的,不存在所谓的“丢包”。而且我发现,在宣传 BLE 产品…

力扣中等 153.寻找旋转排序数组中的最小值

文章目录 题目介绍题解 题目介绍 题解 正解:可以和数组最后一个数比较,来判定二分的位置是在最小值的左侧还是在最小值的右侧。 在0到n-2二分,如果nums[mid] > nums[n - 1],则mid在最小值的左侧,mid和其左侧染成红…

[每周一更]-(第115期):不同系统安装godoc

文章目录 主要功能 安装WindowsmacOSLinux环境变量配置WindowsmacOS 和 Linux 如何使用 godoc 生成自己项目的文档1. 安装 godoc2. 编写注释3. 启动 godoc 服务器4. 访问文档 生成静态文档示例输出总结 godoc 是一个 Go 语言的工具,用于生成和查看 Go 代码的文档。它…

SAP HCM 每月生成年假解决方案(PT_QTA00)

每月生成年假定额:HCM复杂的模块,年假生成就是一个比较复杂的模块,每次做项目都比较怕做年假、余假生成的业务,因为企业业务复制,SAP的这块配置也很复杂,因为这里面涉及的知识面很多,工龄计算、…

数据采集与预处理,前后端结合案例(有代码),Python连接MySQL,对MySQL的增删改查

Python对MySQL的增删改查 通过Python连接MySQL """连接MySQL数据库,并进行增删改查,同时查询了MySQL版本号,并做了动态注册的账号,实现过程:先向userinfo当中添加account、password新字段&#xff0c…

mysqldump使用cmd窗口和powersell窗口导出sql中文乱码的问题

项目场景 我在使用Mariadb数据库更新数据的时候,由于数据库的表格中含有中文,在使用mysqldump导出sql语句的时候,中文显示乱码,如下图所示: 环境描述 系统:windows10数据库: Mariadb -10.6.16…

空间解析几何2:空间中两线段/直线的距离【附MATLAB代码】

目录 理论公式 MATLAB代码 理论公式 MATLAB代码 公式实现 function [dis,P,Q,t1,s1]line2LineDistance(A1,B1,C1,D1) %求两线段的最短距离 % input % A1,B1为线段一的两端点 C1,D1为线段二的两端点 % output % dis,为两线段的最短距离,P,Q为距离最短时在两线段上…

综述论文“Towards Personalized Federated Learning”分享

综述论文“Towards Personalized Federated Learning”分享 文章目录 综述论文“Towards Personalized Federated Learning”分享I. 引言A. 联邦学习的分类B. 个性化联邦学习的动机C. 贡献 II. 个性化联邦学习的策略策略I:全局模型个性化策略II:学习个性…

简单多状态dp第一弹 leetcode -面试题17.16.按摩师 -213.打家劫舍II

a​​​​​​​面试题 17.16. 按摩师 按摩师 题目: 分析: 使用动态规划解决 状态表示: dp[i] 表示:选择到 i 位置时,此时的最长预约时长。 但是我们这个题在 i 位置的时候,会面临 选择 或者 不选择 两种抉择,所依赖的状态需要…

集成学习详细介绍

以下内容整理于: 斯图尔特.罗素, 人工智能.现代方法 第四版(张博雅等译)机器学习_温州大学_中国大学MOOC(慕课)XGBoost原理介绍------个人理解版_xgboost原理介绍 个人理解-CSDN博客 集成学习(ensemble):选择一个由一系列假设h1, h2, …, hn构成的集合…