基于YOLOv10与华为Atlas 200的远程绝缘子检测系统
项目概述
开发了一套边缘计算驱动的绝缘子缺陷检测系统,通过YOLOv10模型与华为Atlas 200硬件协同实现高效推理,并模拟电力场景中的服务器-边缘设备通信。
技术实现
-
模型训练
- 使用YOLOv10s.pt预训练模型,在绝缘子数据集(来源见下文)上微调,生成专用检测模型。
- 训练脚本:
train_v10.py
,数据集划分工具:train_val_split.py
。
-
模型部署
- 通过华为ATC工具链将模型转换为
.om
格式,适配Atlas 200 NPU。 - 转换流程:
.pt
→.onnx
(trans.py
) →.om
(ATC工具)。
- 通过华为ATC工具链将模型转换为
-
边缘推理
- 图像预处理后,调用华为NPU API进行推理,输出结果经NMS和坐标后处理,生成绝缘子缺陷信息。
- 边缘端程序:
predict_phots.py
(需确认是否为predict_photos.py
笔误)。
-
通信模拟
- 服务器端(PC):运行
receive_error.py
接收检测结果。 - 边缘端(Atlas 200):通过TCP协议与服务器交互,发送/接收检测任务与结果。
- 服务器端(PC):运行
数据集
项目结构
├── trained_weights/ # 训练好的模型权重
├── predict_phots.py # 边缘设备检测程序(疑似命名纠错)
├── receive_error.py # 服务器接收程序
├── train_v10.py # YOLOv10训练脚本
├── train_val_split.py # 数据集划分工具
└── trans.py # 模型格式转换工具
效果展示
系统可实时检测绝缘子缺陷,并通过TCP协议实现服务器与边缘端的数据交互,模拟电力巡检中的远程监控场景。
关键改进建议
- 文件名纠错:检查
predict_phots.py
是否为predict_photos.py
。 - 通信细节:补充TCP报文格式或协议设计说明。
- 性能指标:添加推理速度(FPS)、准确率(mAP)等量化结果。
如需进一步细化某部分内容,可随时说明!