结论
YOLO26 在 RDK X5 上 20FPS 明显异常,正常应达到 70-150FPS(取决于模型大小和配置)。问题大概率出在模型转换流程或推理后端未启用 BPU 加速。
关键排查点(基于社区案例)
确认是否使用 BPU 加速
# 检查推理时是否调用了 Horizon BPU
# 如果走的是 ONNX Runtime CPU,性能会差 10 倍以上
ps aux | grep python # 查看推理进程
关键问题:你用的是哪个推理脚本?
正确:hobot_dnn+.hbmodel(BPU 编译后的模型)
错误:直接加载 .onnx用 CPU 推理
检查模型转换流程
社区多起案例显示,YOLO26 转换不当会导致性能/精度双低:
正确流程:
# 1. 使用官方转换脚本(确保分支正确)
cd rdk_model_zoo/samples/vision/ultralytics_yolo26/conversion
python export_yolo26_detect_bpu.py --weights your_model.pt --imgsz 640
# 2. 确认输出为 .hbmodel 格式
ls -lh *.hbmodel
确认输入分辨率
# 640x640 还是 其他?
# 如果用了 1280x1280,FPS 会下降 4 倍
# 检查推理脚本中的 imgsz 参数
检查后处理瓶颈
# YOLO26 的后处理如果在 Python 中做 NMS,会额外消耗时间
# 但 20FPS 说明推理本身慢,不是后处理问题
社区参考数据(RDK X5, 640x640)
| 模型 | 预期 FPS | 备注 |
|---|---|---|
| YOLO26n | ~150 | 最小模型 |
| YOLO26s | ~80-100 | 平衡型 |
| YOLO26m | ~50-60 | - |
数据来源:社区测试 + 官方示例,使用 BPU 加速
快速诊断命令
请运行以下命令并提供输出:
# 1. 查看板子型号(确认是 X5 不是 X3)
cat /proc/device-info | grep "Product"
# 2. 查看模型格式
ls -lh your_model.* # 应该是 .hbmodel
# 3. 检查推理耗时分布
# 在推理脚本中加时间戳,区分:预处理 / 推理 / 后处理
建议行动
-
回复本帖,补充以下信息:
- 使用的推理脚本(官方示例 / 自定义)
- 模型格式(.onnx / .hbmodel)
- 输入分辨率
- 耗时分布(预处理/推理/后处理各多少 ms)
-
参考官方示例:
- RDK X5 的 YOLO26 范例(注意 NMS 配置)
- rdk_model_zoo 官方文档
-
检查 SDK 版本:
hobot_ddk --version # 确保是最新版
需要我帮你读取 YOLO26 官方转换教程 的详细步骤吗?