为什么选择 YOLO 检测光伏缺陷?

光伏缺陷检测要求:① 实时性(机载推理 < 100ms);② 小目标检测(热斑面积有时仅 10×10 像素);③ 端边部署。YOLOv8 在这三点上表现均衡,是当前主流选择。

数据集构建

数据来源

  • 自采:使用 DJI M350 + H20T 采集真实热成像图,覆盖不同季节、辐照条件
  • 公开数据集:SOLDNet、PVDN(Photovoltaic Defect Dataset)
  • 数据增强:随机旋转、亮度扰动、Mosaic 拼接

标注规范

  • 工具:Label Studio 或 Roboflow(支持热成像伪彩图标注)
  • 类别:hotspot(热斑)、bypass_diode_fail(旁路管失效)、shadow(遮挡)、string_open(组串断路)
  • 建议样本量:每类 ≥ 500 张(含负样本)

YOLOv8 训练配置

from ultralytics import YOLO
model = YOLO('yolov8m.pt')  # medium 适合精度/速度平衡
results = model.train(
    data='pv_defect.yaml',
    epochs=200,
    imgsz=640,
    batch=16,
    lr0=0.001,
    patience=50,
    device='cuda:0'
)

边缘设备部署(Jetson Orin NX)

  1. 导出 TensorRT 引擎:model.export(format='engine', half=True)
  2. Jetson Orin NX 16G 推理速度:约 45 FPS(640×512 热成像)
  3. 机载实时告警:温差 > 20℃ 时触发补拍指令

实测性能指标

模型mAP@0.5推理时间漏检率
YOLOv8n82.3%12ms11%
YOLOv8m91.7%28ms4%
YOLOv8x93.4%65ms3%

FAQ

能用 Python YOLO 直接处理无人机拍摄的正射图吗?

可以,但正射图分辨率极高(数百 MB),需先切片(Slice Inference),推荐使用 sahi 库结合 YOLOv8 做小目标切片推理,再合并结果。

检测结果如何转换为 GPS 坐标?

利用正射图的地理配准信息(GeoTIFF),将像素坐标转换为 WGS84 经纬度,即可在 GIS 平台上定位每块缺陷组件。