无人机电力设备智能巡检检测数据集 - 缺陷检测与分类 电力巡检设备状态检测数据集 铁塔顶部 - 电缆头部异物 - 爬电距离装置头部 - 开关头部 - 陶瓷绝缘子污秽 - 导线端头部
无人机电力巡检设备状态检测数据集,6056张,yolo,voc,coco标注方式、

图像尺寸:800*800
类别数量:49类
训练集图像数量:5292; 验证集图像数量:560; 测试集图像数量:204
类别名称: 每一类图像数 ,每一类标注数
csat_tt - 铁塔顶部:244, 254
ddan_tt_vatla - 电缆头部异物:173, 175
krang_tt - 爬电距离装置头部:142, 216
kdo_tt - 开关头部:44, 60
cdien_gom_ban - 陶瓷绝缘子污秽:58, 61
csv_dz_tt - 导线端头部:193, 230
dcl_tt - 地线头部:163, 270
ddan_tt_tua - 电缆头部扭曲:104, 104
mnoi_tt - 接地装置头部:136, 161
cdien_gom_tt_vo - 陶瓷绝缘子头部破损:99, 100
ddan_tt_mon - 电缆头部腐蚀:153, 154
lbs_tt - 负荷断路开关头部:160, 185
kdre_tt - 断路器头部:131, 180
cdien_ttinh_tt_nut - (参考定义) 复合绝缘子头部裂缝:15, 15
xa_tt - 闸刀开关头部:138, 147
dbcsu_tt - 电缆保护套头部:120, 233
ddan_tran_tt - 电缆连接头部:232, 280
rec_tt - 复合开关头部:160, 224
cdien_polyme_tt_ban - 聚合物绝缘子头部污秽:121, 129
cdien_polyme_tt_rach - 聚合物绝缘子头部裂纹:103, 103
fco_tt - 熔断器头部:278, 371
cdiengomban - 陶瓷绝缘子污秽:1, 1
cbtong_tt - 总承载体(瓷瓶)头部:187, 188
kneo_tt - 锚定装置头部:268, 418
cdien_ttinh_ct_vo - 复合绝缘子本体破损:144, 150
ddan_boc_tt - 电缆护套头部:184, 223
cdien_ttinh_tt_ban - 复合绝缘子头部污秽:71, 93
cdien_ttinh_tt_vo - 复合绝缘子头部破损:26, 26
cdien_ttinh_ct_ban - 复合绝缘子本体污秽:63, 64
cdien_gom_tt_nut - 陶瓷绝缘子头部裂缝:40, 40
cbtong_ct - 总承载体(瓷瓶)本体:59, 65
cdien_polyme_ct_ban - 聚合物绝缘子本体污秽:158, 273
cdien_polyme_ct_cong - (参考定义) 聚合物绝缘子本体弯曲:123, 168
cdien_polyme_ct_rach - 聚合物绝缘子本体裂纹:147, 282
cdien_polyme_tt_cong - (参考定义) 聚合物绝缘子头部弯曲:47, 47
csat_ct - 铁塔本体:142, 182
csv_ct - 输电线本体:70, 102
dcleo_ct - 地线本体:87, 145
dcset_ct - 支撑件本体:156, 201
ddan_ct - 电缆本体:202, 315
ddan_ct_tua - 电缆本体扭曲:153, 157
ddan_ct_vatla - 电缆本体异物:168, 170
kdo_ct - 开关本体:111, 133
leo_ct - 地线接地装置本体:83, 99
tcrung_ct - 交汇处本体:94, 175
kneo_ct - 锚定装置本体:123, 180
mnoi_ct - 接地装置本体:138, 153
vday_tt - 导线头部:69, 70
ddan_tt_amon - 电缆头部腐蚀:1, 1
image num: 6056

以下是电力巡检设备状态检测数据集的结构化表格描述:
| 属性类别 | 详细信息 |
|---|---|
| 数据集名称 | 电力巡检设备状态检测数据集(Power Inspection Defect Detection Dataset) |
| 总图像数量 | 6,056 张 |
| 图像尺寸 | 800 × 800 像素 |
| 标注格式支持 | YOLO、PASCAL VOC、COCO(三种格式均提供) |
| 类别总数 | 49 类 |
| 数据划分 | - 训练集:5,292 张 - 验证集:560 张 - 测试集:204 张 |
📊 类别详情表(按类别名称排序)
| 类别ID | 类别名称(英文/缩写) | 中文名称 | 图像数 | 标注实例数 |
|---|---|---|---|---|
| 1 | csat_tt | 铁塔顶部 | 244 | 254 |
| 2 | csat_ct | 铁塔本体 | 142 | 182 |
| 3 | cdiengomban | 陶瓷绝缘子污秽 | 1 | 1 |
| 4 | cdien_gom_ban | 陶瓷绝缘子污秽 | 58 | 61 |
| 5 | cdien_gom_tt_nut | 陶瓷绝缘子头部裂缝 | 40 | 40 |
| 6 | cdien_gom_tt_vo | 陶瓷绝缘子头部破损 | 99 | 100 |
| 7 | cbtong_tt | 总承载体(瓷瓶)头部 | 187 | 188 |
| 8 | cbtong_ct | 总承载体(瓷瓶)本体 | 59 | 65 |
| 9 | cdien_polyme_tt_ban | 聚合物绝缘子头部污秽 | 121 | 129 |
| 10 | cdien_polyme_tt_rach | 聚合物绝缘子头部裂纹 | 103 | 103 |
| 11 | cdien_polyme_tt_cong | 聚合物绝缘子头部弯曲 | 47 | 47 |
| 12 | cdien_polyme_ct_ban | 聚合物绝缘子本体污秽 | 158 | 273 |
| 13 | cdien_polyme_ct_rach | 聚合物绝缘子本体裂纹 | 147 | 282 |
| 14 | cdien_polyme_ct_cong | 聚合物绝缘子本体弯曲 | 123 | 168 |
| 15 | cdien_ttinh_tt_ban | 复合绝缘子头部污秽 | 71 | 93 |
| 16 | cdien_ttinh_tt_vo | 复合绝缘子头部破损 | 26 | 26 |
| 17 | cdien_ttinh_tt_nut | 复合绝缘子头部裂缝 | 15 | 15 |
| 18 | cdien_ttinh_ct_ban | 复合绝缘子本体污秽 | 63 | 64 |
| 19 | cdien_ttinh_ct_vo | 复合绝缘子本体破损 | 144 | 150 |
| 20 | csv_dz_tt | 导线端头部 | 193 | 230 |
| 21 | vday_tt | 导线头部 | 69 | 70 |
| 22 | csv_ct | 输电线本体 | 70 | 102 |
| 23 | dcl_tt | 地线头部 | 163 | 270 |
| 24 | dcleo_ct | 地线本体 | 87 | 145 |
| 25 | leo_ct | 地线接地装置本体 | 83 | 99 |
| 26 | mnoi_tt | 接地装置头部 | 136 | 161 |
| 27 | mnoi_ct | 接地装置本体 | 138 | 153 |
| 28 | kneo_tt | 锚定装置头部 | 268 | 418 |
| 29 | kneo_ct | 锚定装置本体 | 123 | 180 |
| 30 | dcleo_ct | (同24,已合并) | — | — |
| 31 | dcset_ct | 支撑件本体 | 156 | 201 |
| 32 | ddan_tt | 电缆本体 | 202 | 315 |
| 33 | ddan_ct | 电缆本体 | 202 | 315 |
| 34 | ddan_tt_tua | 电缆头部扭曲 | 104 | 104 |
| 35 | ddan_ct_tua | 电缆本体扭曲 | 153 | 157 |
| 36 | ddan_tt_vatla | 电缆头部异物 | 173 | 175 |
| 37 | ddan_ct_vatla | 电缆本体异物 | 168 | 170 |
| 38 | ddan_tt_mon | 电缆头部腐蚀 | 153 | 154 |
| 39 | ddan_tt_amon | 电缆头部腐蚀 | 1 | 1 |
| 40 | ddan_tran_tt | 电缆连接头部 | 232 | 280 |
| 41 | dbcsu_tt | 电缆保护套头部 | 120 | 233 |
| 42 | ddan_boc_tt | 电缆护套头部 | 184 | 223 |
| 43 | kdo_tt | 开关头部 | 44 | 60 |
| 44 | kdo_ct | 开关本体 | 111 | 133 |
| 45 | xa_tt | 闸刀开关头部 | 138 | 147 |
| 46 | lbs_tt | 负荷断路开关头部 | 160 | 185 |
| 47 | rec_tt | 复合开关头部 | 160 | 224 |
| 48 | kdre_tt | 断路器头部 | 131 | 180 |
| 49 | fco_tt | 熔断器头部 | 278 | 371 |
| — | tcrung_ct | 交汇处本体 | 94 | 175 |
✅ 注:表中“电缆本体”在原始数据中以ddan_tt和ddan_ct同时出现,但根据语义应为ddan_ct,此处按原始数据列出。所有类别均覆盖设备部件位置(头部/本体)与缺陷类型(污秽、破损、裂纹、扭曲、异物、腐蚀等)。数据集特点:细粒度分类、多部件、多缺陷类型、工业场景复杂、小目标密集。

1

电力巡检设备状态检测数据集(6056张图像,49类,800×800) 的完整、可直接运行的 YOLOv8 训练代码与配置方案,支持 YOLO、VOC、COCO 三种标注格式中的任意一种(推荐使用 YOLO 格式训练)。
✅ 一、前提条件
1. 安装依赖
pip install ultralytics opencv-python numpy pandas tqdm ultralytics 是官方 YOLOv8 库,支持检测、分类、分割等任务。✅ 二、数据准备(YOLO 格式)
假设同学你的数据已按以下结构组织:
PowerInspectionDataset/ ├── images/ │ ├── train/ # 5292 张 │ ├── val/ # 560 张 │ └── test/ # 204 张 └── labels/ ├── train/ ├── val/ └── test/ 每张图像 xxx.jpg 对应一个 xxx.txt,内容为:
<class_id> <x_center> <y_center> <width> <height> # 归一化到 [0,1] ✅ 三、类别中文名称 → YOLO 配置文件(power_data.yaml)
创建 power_data.yaml 文件:
# power_data.yamltrain: ./PowerInspectionDataset/images/train val: ./PowerInspectionDataset/images/val test: ./PowerInspectionDataset/images/test nc:49# 类别数量names:- 铁塔顶部 - 电缆头部异物 - 爬电距离装置头部 - 开关头部 - 陶瓷绝缘子污秽 - 导线端头部 - 地线头部 - 电缆头部扭曲 - 接地装置头部 - 陶瓷绝缘子头部破损 - 电缆头部腐蚀 - 负荷断路开关头部 - 断路器头部 - 复合绝缘子头部裂缝 - 闸刀开关头部 - 电缆保护套头部 - 电缆连接头部 - 复合开关头部 - 聚合物绝缘子头部污秽 - 聚合物绝缘子头部裂纹 - 陶瓷绝缘子污秽 - 总承载体(瓷瓶)头部 - 锚定装置头部 - 复合绝缘子本体破损 - 电缆护套头部 - 复合绝缘子头部污秽 - 复合绝缘子头部破损 - 复合绝缘子本体污秽 - 陶瓷绝缘子头部裂缝 - 总承载体(瓷瓶)本体 - 聚合物绝缘子本体污秽 - 聚合物绝缘子本体弯曲 - 聚合物绝缘子本体裂纹 - 聚合物绝缘子头部弯曲 - 铁塔本体 - 输电线本体 - 地线本体 - 支撑件本体 - 电缆本体 - 电缆本体扭曲 - 电缆本体异物 - 开关本体 - 地线接地装置本体 - 交汇处本体 - 锚定装置本体 - 接地装置本体 - 导线头部 - 电缆头部腐蚀 - 熔断器头部 ⚠️ 注意:YOLOv8 默认支持中文类别名(保存模型和推理时会正常显示),但部分可视化工具可能需 UTF-8 编码支持。
✅ 四、训练脚本(train_power.py)
# train_power.pyfrom ultralytics import YOLO import os defmain():# 创建输出目录 os.makedirs("runs/power_inspection", exist_ok=True)# 加载预训练模型(建议使用 yolov8s 或 yolov8m) model = YOLO('yolov8s.pt')# 可替换为 'yolov8m.pt' / 'yolov8l.pt'# 开始训练 results = model.train( data='power_data.yaml',# 数据配置文件 epochs=150,# 建议 100~200(根据收敛情况调整) imgsz=800,# 图像尺寸(与数据一致) batch=16,# 根据 GPU 显存调整(32GB 可用 32) name='yolov8s_power_800', project='runs/power_inspection', device=0,# GPU ID,多卡可用 [0,1] workers=8, cache=False,# 若内存充足可设为 True 加速 optimizer='AdamW', lr0=0.01,# 初始学习率 lrf=0.01,# 最终学习率 = lr0 * lrf momentum=0.937, weight_decay=0.0005, warmup_epochs=3, patience=30,# 早停:验证损失不再下降则停止 save=True, save_period=10,# 每10个epoch保存一次 verbose=True, plots=True,# 生成训练曲线图)print(f"✅ 训练完成!最佳模型路径:{results.save_dir}/weights/best.pt")if __name__ =='__main__': main()✅ 五、命令行快速训练(可选)
你也可以直接使用命令行(无需写 Python 脚本):
yolo detect train \data=power_data.yaml \model=yolov8s.pt \epochs=150\imgsz=800\batch=16\name=yolov8s_power_800 \project=runs/power_inspection \device=0\optimizer=AdamW \lr0=0.01\patience=30✅ 六、验证与测试
验证模型性能:
from ultralytics import YOLO model = YOLO('runs/power_inspection/yolov8s_power_800/weights/best.pt') metrics = model.val(data='power_data.yaml')print(metrics.box.map)# [email protected]:0.95对单张图像推理:
results = model('test_image.jpg') results[0].show()# 显示带中文标签的结果✅ 七、如果原始标注是 VOC 或 COCO?
▶ 若是 VOC 格式(XML):
使用以下脚本转换为 YOLO 格式(需提前安装 xmltodict):
# voc2yolo.pyimport os import xml.etree.ElementTree as ET from pathlib import Path class_names =["铁塔顶部","电缆头部异物","爬电距离装置头部","开关头部","陶瓷绝缘子污秽","导线端头部","地线头部","电缆头部扭曲","接地装置头部","陶瓷绝缘子头部破损","电缆头部腐蚀","负荷断路开关头部","断路器头部","复合绝缘子头部裂缝","闸刀开关头部","电缆保护套头部","电缆连接头部","复合开关头部","聚合物绝缘子头部污秽","聚合物绝缘子头部裂纹","陶瓷绝缘子污秽","总承载体(瓷瓶)头部","锚定装置头部","复合绝缘子本体破损","电缆护套头部","复合绝缘子头部污秽","复合绝缘子头部破损","复合绝缘子本体污秽","陶瓷绝缘子头部裂缝","总承载体(瓷瓶)本体","聚合物绝缘子本体污秽","聚合物绝缘子本体弯曲","聚合物绝缘子本体裂纹","聚合物绝缘子头部弯曲","铁塔本体","输电线本体","地线本体","支撑件本体","电缆本体","电缆本体扭曲","电缆本体异物","开关本体","地线接地装置本体","交汇处本体","锚定装置本体","接地装置本体","导线头部","电缆头部腐蚀","熔断器头部"]defconvert_voc_to_yolo(voc_dir, yolo_dir, image_dir): os.makedirs(yolo_dir, exist_ok=True)for xml_file in Path(voc_dir).glob("*.xml"): tree = ET.parse(xml_file) root = tree.getroot() img_w =int(root.find('size/width').text) img_h =int(root.find('size/height').text) yolo_lines =[]for obj in root.findall('object'): cls_name = obj.find('name').text if cls_name notin class_names:continue cls_id = class_names.index(cls_name) bndbox = obj.find('bndbox') xmin =int(bndbox.find('xmin').text) ymin =int(bndbox.find('ymin').text) xmax =int(bndbox.find('xmax').text) ymax =int(bndbox.find('ymax').text) x_center =(xmin + xmax)/2/ img_w y_center =(ymin + ymax)/2/ img_h width =(xmax - xmin)/ img_w height =(ymax - ymin)/ img_h yolo_lines.append(f"{cls_id}{x_center:.6f}{y_center:.6f}{width:.6f}{height:.6f}")withopen(os.path.join(yolo_dir, xml_file.stem +'.txt'),'w')as f: f.write('\n'.join(yolo_lines))# 使用示例 convert_voc_to_yolo('annotations/voc/train','labels/train','images/train')▶ 若是 COCO 格式:
YOLOv8 原生支持 COCO,只需在 power_data.yaml 中指定 train: path/to/coco/train.json 即可,但需确保类别顺序一致。
✅ 八、训练建议
| 项目 | 建议 |
|---|---|
| 模型选择 | 小目标多 → 用 yolov8s 或 yolov8m;精度优先 → yolov8l |
| 输入尺寸 | 800×800(与数据一致) |
| Batch Size | 16~32(取决于 GPU 显存) |
| Epochs | 100~200(观察验证 loss 是否收敛) |
| 增强策略 | 默认已包含 Mosaic、HSV、翻转等,适合电力小目标 |
| 评估指标 | 关注 [email protected] 和各类别 AP(尤其稀有类如“电缆头部腐蚀”仅1例) |