Agent Skills
返回列表
RDK X5 YOLO 全链路工具集

RDK X5 YOLO 全链路工具集

开发编程 更新于 2026.08.29

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @user_76096a1e/rdk-yolo-toolkit。

技能介绍

要解决什么问题

把 Ultralytics 系 YOLO 从 x86+GPU 训练 落到 地瓜 RDK X5(bayes-e BPU) 上,常见卡点不在「能不能跑通脚本」,而在 ONNX 算子图、Detect head 结构 和 PTQ 校准分布 与 BPU 编译器的隐式假设不一致:unsupported op、量化 cosine 掉线、板端 forward 走 CPU fallback。

本技能面向 OpenExplore v1.2.8 / hb_mapper 1.24.x 工具链,覆盖 YOLOv5u / v8 / v9 / v11 / v13 / YOLO26 的检测、分割、姿态、OBB、分类等任务,并串到 TROS / ROS2(HobotDnn) 生产链路。

技能如何协作

Agent 按 训练环境(x86+GPU)→ 量化环境(x86 Linux)→ 板端(RDK X5 aarch64) 分阶段追问,未说明的环境不擅自假设;支持本机直跑或 SSH 远程执行。

典型主路径是 训练与量化在同一台 x86 机器:ONNX 不跨机,只有 *.bin 通过 scp 上板。

  • 导出:export_monkey_patch.py 改写 Detect/Attention 前向,输出 BPU 友好的多 head ONNX,并保持 simplify=False,避免 layout 被折叠后编译器误判。
  • 量化:mapper.py 驱动 PTQ(校准 .rgbchw、yaml 由脚本生成),对照官方中间产物与 cosine similarity 做验收,最终仍要以 mAP/recall 为准。
  • 板端:Python 侧 NV12 letterbox + BPU 推理 + numpy 后处理(含 DFL 解码);ROS2 侧配置 dnn_Parser(如 ultralytics_yolo)、hbmem topic 与摄像头/MIPI/回灌模式。

文档里单独的 「工艺原理速查」 解释 why:opset 10/11、NV12 _128 输入、校准集必须贴近真实场景、dnn_Parser 与 reg_max 对应关系等,便于定位根因而非反复试错。

适用边界

  • v1.0 目标平台仅为 RDK X5;板端需 OS ≥ 3.5.0、dnn_node 等版本与 BPU 设备可用。
  • 量化 cosine ≥0.8 只是官方下限,生产上建议更高并做量化 ONNX 与数据集评测;不能只看 cosine。
  • TROS 配置勿照搬示例里面向厂内模型的 dnn_Parser;自训量化模型需与 parser、class_num、reg_max(YOLO26 为 1)一致。
  • 国内网络、conda ToS、setuptools/Arial.ttf 等环境坑在技能里有明确 checklist,否则训练或 horizon_nn.build_onnx 阶段容易中断。

使用场景

  • 在 x86 上训完自定义检测数据集,要把 Ultralytics 权重量化成 RDK X5 可用的 `.bin` 并验收 cosine 与 mAP
  • 默认 `yolo export` 的 ONNX 被 hb_mapper 报 unsupported op,需要按 BPU 友好方式改 Detect 头并重新 PTQ
  • 板端已烧录模型,要在 TROS 里用 USB/MIPI 摄像头跑 HobotDnn,并核对 `dnn_Parser` 与类别 list
  • 厂房/安防场景与 COCO 校准分布差很远,量化后 recall 掉点,需要重做 `.rgbchw` 校准集并对比 quantized ONNX

适合人员

  • 做地瓜 RDK X5 项目的嵌入式算法工程师,要把 YOLO 从训练机落到 BPU 并控制单帧延迟
  • 机器人/ROS2 集成工程师,负责把自训量化模型接到 HobotDnn 与 hbmem 摄像头链路
  • 首次接触 OpenExplore hb_mapper 的 CV 同学,需要在 Agent 引导下走完导出、校准与板端 Python 验证
  • 维护 YOLOv11/YOLO26 多任务(检测/分割/OBB)版本线,需统一 reg_max 与 parser 配置避免 TROS 全错检