返回幻灯片列表

压板开关状态识别

压板开关状态识别

概述

        继电保护及自动装置压板的投停正确性对于电网设备和电网本身的安全运行至关重要。确保这些装置的正常工作状态是变电站现场运维中的一个重要难题和关键点。为了提高继电保护智能巡视的质量和效率,以及确保保护及自动装置的正常运行,我们正在开展继电保护及自动装置压板状态的智能识别工作。

        这项工作的目标是利用先进的技术手段,包括人工智能和图像处理等技术,对继电保护及自动装置的压板状态进行准确识别。通过对压板状态的智能识别,我们能够快速、准确地判断继电保护及自动装置的投停情况,进而确保其在电网运行中的正确性。

通过智能识别,我们能够实现以下目标:

  1. 提高继电保护智能巡视的质量:传统的继电保护巡视通常需要人工逐一检查每个装置的状态,费时费力且容易出错。智能识别技术可以大大减少巡视的时间和工作量,并提供更可靠的结果,从而提高巡视的质量和准确性。
  2. 增加继电保护智能巡视的效率:智能识别技术能够快速地对大量的装置进行检测和判断,比人工巡视更高效。这样,运维人员可以更快地完成巡视任务,从而提高运维效率,减少电网的停运时间。
  3. 确保电网设备和电网的安全运行:继电保护及自动装置的正确性直接关系到电网设备和电网本身的安全运行。通过智能识别技术,我们能够及时发现异常情况,并采取相应的措施,确保设备和电网的安全运行。

        通过开展继电保护及自动装置压板状态智能识别工作,我们可以有效地提升继电保护智能巡视的质量和效率,保证电网设备和电网的安全运行,为电力系统的稳定供电提供有力支持。

压板开关的类型

center w:1080

压板开关的布局

center w:990

数据集标注(labelImg

center w:980

Ultralytics YOLOv8

Ultralytics YOLOv8 是一款前沿、最先进(SOTA)的模型,在速度和准确性方面提供无与伦比的性能。YOLOv8 设计快速、准确且易于使用,它简洁的设计使其适用于各种应用,并可轻松适应不同的硬件平台,从边缘设备到云 API。

YOLOv8 模型

COCO 数据集上预训练的 YOLOv8 检测分割姿态模型,以及在 ImageNet 数据集上预训练的 YOLOv8 分类模型。所有的检测、分割和姿态模型都支持追踪模式。

Ultralytics 集成


与领先的 AI 平台整合,扩展了 Ultralytics 产品的功能,增强了数据集标签化、训练、可视化和模型管理等任务。探索 Ultralytics 如何与 Roboflow、ClearML、Comet、Neural Magic 以及 OpenVINO 合作,优化您的 AI 工作流程。

YOLOv8 命令

yolo TASK MODE ARGS

训练

yolo train data=data.yaml model=yolov8s.pt project=name

评估

yolo val data=data.yaml model=yolov8s.pt project=name

预测

yolo predict model=yolov8s.pt project=name \
    source=images save=true show_labels=false \
    iou=0.4 save_crop=true classes=1
  • save=true 保存预测结果(runs/detect/predict)
  • show=true 展示预测结果(UI Window)
  • classes=0 或 classes=[0,2,5] 过滤指定的类别

导出

yolo export model=yolov8s.pt format=onnx

配置训练可视化([Comet][comet])

安装 Comet

pip install comet_ml

配置 Comet

export COMET_API_KEY=xxx

训练

yolo train data=data.yaml model=yolov8n.pt project=platen-switch
  • project 指定项目名字,在 Comet 中会自动生成,默认使用的:yolov8

对比 YOLOv8 模型不同尺寸(m, s, n)的指标


可视化模型训练过程中的数据


预测

压板开关状态识别速度评测

处理器 模型 文件格式 预处理速度 推理速度 后处理速度 总速度
CPU yolov8n pt 2.9ms 35.9ms 1.2ms 40.0ms
CPU yolov8n onnx 3.2ms 53.0ms 2.0ms 58.2ms
GPU yolov8n pt 2.5ms 7.3ms 1.3ms 11.1ms
GPU yolov8n onnx 2.8ms 13.8ms 1.5ms 18.1ms

CPU: Intel(R) Xeon(R) CPU E5-2640 GPU: NVIDIA Tesla T4

压板开关状态识别速度评测 - 总结

GPU vs CPU: 性能提升显著 【4 倍】 🚀

CPU: pt vs ONNX 【31%】 📈

GPU: pt vs ONNX 【38%】 📈

服务部署

生产环境

docker run --runtime=nvidia -d -e NVIDIA_VISIBLE_DEVICES=2 \
    --name=ultralytics-serving -p 7777:80 \
    ultralytics-serving:latest-gpu

开发环境

docker run --rm -it -p 7777:80/tcp ultralytics-serving:latest-gpu

REST API:压板开关状态识别

POST http://{ip}:{port}/platen_switch/api/v1.0/state_detection

请求格式

支持的输入方法:原始图像二进制或图像 URL。

输入要求:

  • 支持的图像格式:JPEG、PNG、GIF、BMP。
  • 图像文件大小必须小于 4MB。
  • 图像尺寸必须至少为 50 x 50。

响应格式

[
    {
        "rectangle": {
            "x": 368, "y": 716, "w": 442, "h": 447
        },
        "object": "open",
        "confidence": 0.9996702075004578, "row_num": 1,
        "col_num": 8
    },
    ......
]
  • rectangle 压板开关的位置信息,包含了 x,y,width,height。
  • object 压板开关的状态,open(开),close(关)。
  • confidence 置信度,值的范围是 0-1,置信度越高,表示模型越确信自己的预测结果是 正确的; 反之,置信度越低,则表示模型对其预测结果的准确性存在更大的不确定性。
  • row_num 行号
  • col_num 列号

请求示例(curl)

curl -v -X POST -H "Content-Type: multipart/form-data" \
    -F "file=@platen-switch.jpg" \
    http://{ip}:{port}/platen_switch/api/v1.0/state_detection

谢 谢 !

🤖

智能问答助手

⏳ 初始化...

💡 配置和聊天记录仅保存在本地浏览器中