1. 项目背景与核心需求
在电力设备状态监测领域,PRPD(Phase-Resolved Partial Discharge)图谱分析是诊断绝缘缺陷的重要手段。传统人工识别放电类型存在效率低、主观性强的问题。本项目要实现的是将训练好的PRPD分类模型从ONNX格式转换为RKNN格式,并部署到RK3588芯片的NPU上运行,最终通过C++/Qt构建完整的嵌入式端应用。
关键硬件选型理由:RK3588采用4核Cortex-A76+4核Cortex-A55架构,内置6TOPS算力的NPU,相比Jetson系列更具性价比优势,适合电力设备的边缘计算场景。
2. 环境准备与工具链搭建
2.1 开发环境配置
- 宿主机环境:Ubuntu 20.04 LTS(推荐)
- 关键工具安装:
bash复制# RKNN-Toolkit2(建议1.4.0以上版本) pip install rknn-toolkit2==1.5.0 --user # ONNX相关依赖 pip install onnx==1.12.0 onnxruntime==1.13.1 # Qt开发环境(5.15.2版本) sudo apt install qt5-default qtcreator
2.2 交叉编译工具链
需要配置RK3588的arm64交叉编译器:
bash复制wget https://releases.linaro.org/components/toolchain/binaries/7.5-2019.12/aarch64-linux-gnu/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu.tar.xz
tar -xvf gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu.tar.xz
export CROSS_COMPILE=~/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-
3. ONNX模型转换RKNN实战
3.1 模型转换流程
python复制from r
