← 返回幻灯片列表
压板开关状态识别
压板开关状态识别
◆
概述
继电保护及自动装置压板的投停正确性对于电网设备和电网本身的安全运行至关重要。确保这些装置的正常工作状态是变电站现场运维中的一个重要难题和关键点。为了提高继电保护智能巡视的质量和效率,以及确保保护及自动装置的正常运行,我们正在开展继电保护及自动装置压板状态的智能识别工作。
这项工作的目标是利用先进的技术手段,包括人工智能和图像处理等技术,对继电保护及自动装置的压板状态进行准确识别。通过对压板状态的智能识别,我们能够快速、准确地判断继电保护及自动装置的投停情况,进而确保其在电网运行中的正确性。
通过智能识别,我们能够实现以下目标:
- 提高继电保护智能巡视的质量:传统的继电保护巡视通常需要人工逐一检查每个装置的状态,费时费力且容易出错。智能识别技术可以大大减少巡视的时间和工作量,并提供更可靠的结果,从而提高巡视的质量和准确性。
- 增加继电保护智能巡视的效率:智能识别技术能够快速地对大量的装置进行检测和判断,比人工巡视更高效。这样,运维人员可以更快地完成巡视任务,从而提高运维效率,减少电网的停运时间。
- 确保电网设备和电网的安全运行:继电保护及自动装置的正确性直接关系到电网设备和电网本身的安全运行。通过智能识别技术,我们能够及时发现异常情况,并采取相应的措施,确保设备和电网的安全运行。
通过开展继电保护及自动装置压板状态智能识别工作,我们可以有效地提升继电保护智能巡视的质量和效率,保证电网设备和电网的安全运行,为电力系统的稳定供电提供有力支持。
◆
压板开关的类型

◆
压板开关的布局

◆
数据集标注(labelImg)

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

◆
◆
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
◆

