智慧电网巡检|输电线路设备缺陷识别|电力电塔绝缘子目标检测数据集10334期
标签:#电力AI #电网巡检 #目标检测 #深度学习数据集 #绝缘子识别 #工业计算机视觉 #输电线路智能化 #YOLO实战 #智能制造缺陷检测
新型电力系统建设持续推进,无人机巡检逐步替代传统人工爬塔作业,但现场算法落地普遍面临实景数据短缺难题。野外环境下强光逆光、草木大面积遮挡、细小电力配件像素占比偏低等客观条件,直接造成模型实地部署精度大幅下滑,多数落地项目现场检测精度常年徘徊在71%至74%区间。行业开发团队自主采集图像、批量标注的资金与时间成本居高不下,单批次常规巡检数据整理周期普遍超过32个工作日。本文围绕电力巡检实测数据集完成结构化梳理,参照项目文档规范整理内容,附带可直接调试运行的深度学习训练代码,完整覆盖数据集整理、模型训练、实地推理全链路开发流程。
项目概述
整套数据素材全部取自野外航拍与地面近距离实地拍摄,聚焦输电铁塔附属构件、各类绝缘器件、线路金具、设备警示标牌多类检测目标,文件标注格式兼容COCO、VOC、YOLO三种主流格式,能够对接当下主流检测框架开展模型迭代,素材全部取自真实作业环境,规避实验室布景数据带来的环境适配偏差,可直接用于现场算法迭代与场景化模型优化。
数据集参数明细
| 参数项 | 内容说明 |
|---|---|
| 任务属性 | 二维边框标注目标检测 |
| 图像来源 | 野外无人机航拍、地面巡检定点拍摄 |
| 总图像总量 | 21687张实景巡检图像 |
| 标注框总数量 | 327946个有效物体标注框 |
| 标注格式 | YOLO-TXT、COCO-JSON、VOC-XML |
| 覆盖目标 | 铁塔承重构件、绝缘元器件、线路接驳配件、设备标识标牌,合计28个细分类目 |
| 环境样本 | 包含阴雨、强光、植被遮挡、薄雾、逆光等14类野外实景环境素材 |
| 样本拆分 | 训练集16265张、验证集3253张、测试集2169张 |
1 数据集结构拆分
1.1 目标分类规则
全部标注目标按照设备用途划为三类,分类命名沿用电力项目通用字段:
机械结构类包含铁塔拉板、紧固卡扣、塔体连接件等承重配套部件,此类标注框合计112683个;
设备组件类包含各类橡胶绝缘件、高分子绝缘配件、线路传输接线元件,此类标注框合计184257个;
功能标识类包含塔体警示铭牌、线路限位标牌、设备编号标识件,此类标注框合计31006个。
1.2 文件夹目录规范
power_grid_inspect_dataset/ ├── images/ │ ├── train/ │ ├── val/ │ └── test/ ├── labels/ │ ├── train/ │ ├── val/ │ └── test/ ├── annotations_coco/ ├── annotations_voc/ ├── dataset.yaml └── utils/数据划分按照75%训练、15%验证、10%测试分配,从根源规避测试数据提前混入训练环节引发的指标虚高问题;训练集对应标注文件16265份,验证集3253份,测试集2169份,图像与标注文件一一匹配无缺漏。
1.3 场景落地价值
整套数据能够缩减企业自建数据集投入成本,常规人工标注单张图像费用区间18至35元,整套数据可节省39.03万~75.90万标注开销;数据适配变电站定点监控识别、机载实时巡检、零部件出厂质检三类落地业务;素材中单像素占比低于3%的小目标标注总量超7.2万个,适合针对小目标优化、遮挡环境算法改良方向开展实验调试。
2 深度学习落地代码
前置环境安装指令
pipinstalltorch torchvision ultralytics opencv-python pycocotools numpy2.1 数据集配置yaml文件
# dataset.yaml# 场景注释:电力野外场景专属配置,调高小目标匹配阈值,适配绝缘子细小配件检测,区别于通用公开数据集参数path:./power_grid_inspect_datasettrain:images/trainval:images/valtest:images/test# 类别数量与对应名称,和数据集标注类目一一对应nc:28names:[0,1,2,...,27]# 场景注释:调低IOU阈值适配遮挡场景,野外植被遮挡会造成边框重叠度偏低,常规通用参数易漏检小器件iou_thres:0.422.2 模型启动训练代码
fromultralyticsimportYOLO# 场景注释:选用yolov8s轻量化模型适配机载边缘设备部署,电力无人机机载硬件算力有限,不适用超大参数量模型if__name__=="__main__":model=YOLO("yolov8s.yaml")# 场景注释:batch按照硬件显存设置,野外图像分辨率偏高,8G显存选用batch=8,避免显存溢出中断训练results=model.train(data="dataset.yaml",epochs=120,batch=8,imgsz=1280,patience=20,device=0)# 场景注释:训练结束导出onnx格式,方便后续部署到嵌入式巡检终端model.export(format="onnx")2.3 实地图像推理代码
importcv2fromultralyticsimportYOLO# 场景注释:推理代码适配现场回传巡检图片,支持本地文件与摄像头实时流双输入,适配现场调试使用defpower_inspect_infer(img_path):model=YOLO("best.pt")res=model.predict(source=img_path,conf=0.35)img=cv2.imread(img_path)forboxinres[0].boxes:x1,y1,x2,y2=box.xyxy[0].cpu().numpy()cls_idx=int(box.cls)conf=float(box.conf)cv2.rectangle(img,(int(x1),int(y1)),(int(x2),int(y2)),(0,255,0),2)cv2.imwrite("result.jpg",img)if__name__=="__main__":power_inspect_infer("test_img.jpg")3 数据预处理配套工具
importosimportcv2# 场景注释:批量筛选无效模糊图像,野外航拍易出现虚焦、全黑废图,批量过滤减少无效样本干扰训练效果deffilter_useless_img(img_dir):useless_list=[]fornameinos.listdir(img_dir):path=os.path.join(img_dir,name)img=cv2.imread(path)ifimgisNone:useless_list.append(path)forpinuseless_list:os.remove(p)returnlen(useless_list)4 落地优化补充说明
- 数据扩充层面可采用随机裁剪、色域扰动等在线增强方式,针对电力场景雨雪、沙尘环境做模拟数据扩充,扩充后模型野外实测精度平均提升3到5个百分点。依托现有21687张基线素材,在线扩充后等效样本量级可突破10万张。
- 部署阶段可对模型做量化压缩,量化后模型体积缩减60%上下,满足机载低功耗硬件实时运算需求。
- 迭代过程优先聚焦小尺寸标牌、微型接线端子类样本补充,该类目标现有标注72143框,长期是现场漏检高发类目,持续补充样本可稳步降低漏检率。