绝缘子目标检测、无人机巡检视觉分析、输电线路设备识别,以及复杂场景下的鲁棒检测模型研究面向输电线路无人机巡检的绝缘子数据集
智慧无人机巡检-面向输电线路无人机巡检的绝缘子数据集
面向输电线路无人机巡检的绝缘子数据集,主要用于高压输电线路场景下的绝缘子检测研究。主要面向目标检测任务,核心目标是检测输电塔上的不同类型绝缘子。
数据规模:分为3 类绝缘子数据,三种类型绝缘子分别包含1720、2653、646张图像,一共5019张,总文件约 3.9 GB,。
图像类型:以无人机巡检视角下的真实输电线路图像为主,包含大疆无人机拍摄图像,覆盖不同时间、季节、天气、光照、拍摄角度、相机设备和地区环境。
类别设置:包含 3 类绝缘子类型,分别为玻璃绝缘子、瓷绝缘子和复合绝缘子;同时,部分图像中还包含异常或缺陷状态的绝缘子。
标注格式:为 YOLO 格式,具体写为 Yolov7 annotation format。
数据组织:数据按绝缘子类型划分为 3 个文件夹,每个文件夹内同时包含对应图像和标签文件。
数据特点:数据集强调真实部署环境下的多样性,既覆盖多种绝缘子材质,又覆盖复杂背景、尺度变化、视角变化和环境变化,因此比单一来源的小规模数据更适合做鲁棒性检测研究。
数据难点:主要难点包括绝缘子尺度变化明显、类内外观差异较大、拍摄条件复杂,以及部分图像存在遮挡、异常状态和环境干扰,这些因素会直接影响检测模型的泛化能力。相关使用论文也将其概括为多尺度目标和类内差异问题。
适用方向:适用于绝缘子目标检测、无人机巡检视觉分析、输电线路设备识别,以及复杂场景下的鲁棒检测模型研究。
输电线路绝缘子检测数据集信息表
| 信息项 | 详细内容 |
|---|---|
| 数据集名称 | 输电线路无人机巡检绝缘子数据集 |
| 任务类型 | 2D目标检测 |
| 总图像数量 | 5019张 |
| 数据大小 | 约3.9 GB |
| 类别总数 | 3类 |
| 目标类别 | 玻璃绝缘子、瓷绝缘子、复合绝缘子(含缺陷/异常状态样本) |
| 单类图像数量 | 玻璃绝缘子:1720张 瓷绝缘子:2653张 复合绝缘子:646张 |
| 图像来源 | 无人机实拍(大疆设备),覆盖不同季节、天气、光照、角度、地域环境 |
| 标注格式 | YOLOv7 标准TXT边界框标注 |
| 数据组织形式 | 按绝缘子类型分3个文件夹,每个文件夹内统一存放图像与对应标签文件 |
| 数据特点 | 环境多样性强,存在目标尺度变化、视角变化、复杂背景 |
| 检测难点 | 目标尺度差异大、类内外观不一、存在遮挡、环境干扰、缺陷样本识别难度高 |
| 适用场景 | 输电线路设备检测、无人机智能巡检、复杂场景鲁棒检测算法研发 |
一、环境依赖
pipinstallultralytics opencv-python numpy二、数据集目录结构
insulator/ ├── type1/ # 玻璃绝缘子 │ ├── images │ └── labels ├── type2/ # 瓷绝缘子 │ ├── images │ └── labels ├── type3/ # 复合绝缘子 │ ├── images │ └── labels └── data.yaml说明:若已手动划分为
train/val/test,按常规YOLO目录结构调整即可。
三、配置文件data.yaml
path:./insulator# 自行划分训练/验证集路径,示例参考train:train/imagesval:val/imagesnc:3names:0:glass_insulator# 玻璃绝缘子1:porcelain_insulator# 瓷绝缘子2:composite_insulator# 复合绝缘子四、YOLOv26 训练代码train_insulator.py
fromultralyticsimportYOLOif__name__=="__main__":# 加载预训练权重model=YOLO("yolov26s.pt")model.train(data="./insulator/data.yaml",epochs=120,imgsz=640,batch=8,device=0,workers=0,# Windows 必须设为0lr0=0.01,patience=20,mosaic=1.0,perspective=0.002,# 适配尺度、视角多变目标degrees=15.0,# 角度增强,适配巡检多角度图像project="runs/train",name="yolov26_insulator",exist_ok=True)五、评估与推理代码val_predict.py
fromultralyticsimportYOLO# 加载训练完成最优权重model=YOLO("runs/train/yolov26_insulator/weights/best.pt")# 模型精度评估metrics=model.val(data="./insulator/data.yaml")print(f"mAP@0.5:{metrics.box.map50:.4f}")# 单图推理model("test.jpg",save=True)# 视频/巡检视频流推理# model("inspect_video.mp4", save=True)补充说明
- 该数据集原始按类别分文件夹存放,使用前建议手动拆分
train/val/test,保证图片与标签文件名一一对应; - 针对多尺度、遮挡、复杂背景,代码中已开启透视、旋转数据增强,提升模型鲁棒性;
- 显存不足时,将
batch依次改为 4 / 2;无GPU则设置device="cpu"。
