先建立共识:地平线 RDK(X3/X5)开发者典型痛点分布在训练→模型转换→板端部署→调试对齐整条链路;

在 Model Zoo 出现前,这些环节没有统一标准,大量开发者重复踩同类坑。

下面分层拆解它要解决的核心问题,同时区分「表层易用性问题」和「底层工程标准化问题」,并结合你前面关心的 .bin、BPU 架构、工具链差异一并说明。

一、链路视角:AI 边缘部署全流程断层问题

完整落地链路:

PyTorch/TensorFlow训练 → 导出ONNX

PC量化PTQ → BPU编译生成模型bin →

板端加载推理 → 图像预处理 → 推理 → 后处理解析结果

在没有 Model Zoo 之前:

  1. 没有标准 ONNX 导出规范:动态维度、算子版本、冗余节点导致 hb_mapper 转换失败;
  2. 没有可直接复用的量化 yaml 模板;新手不知道校准集配置、量化精度、输入 layout、归一化参数如何配置;
  3. 不清楚预处理在哪里执行:CPU 预处理 VS 模型内置量化参数极易混淆,出现推理结果和 PC 训练结果对不齐(精度漂移);
  4. 缺乏 NV12 格式适配范例。RDK 摄像头原生输出 NV12,绝大多数人直接套用 RGB 推理代码,额外增加色域转换开销。

Model Zoo 解决方案:

每个 Demo 内置一套端到端可复现流水线:导出脚本 + conversion 量化配置 + 前后处理参考代码,把整条链路固化成标准模板。开发者不用从零摸索参数组合。

二、平台割裂问题(重点关注的硬件兼容痛点)

地平线两条产品线天然割裂:

  • 机器人线:RDK X3/X5,.bin模型,hb_mapper makertbin;
  • 车载线:J5/J6/S100,.hbm模型,compile+link 工具链; 同时 X3(bernoulli2)与 X5(bayes-e)的 bin互不通用

无 Model Zoo 时普遍踩坑:

  1. 混淆两套工具链语法;
  2. 直接跨硬件复用模型文件;
  3. 推理 API 混淆:X3 hobot_dnn / X5 hbm_runtime 代码不能通用。

Model Zoo 解决手段:

  1. Git 分支隔离硬件:rdk_x3 /rdk_x5 分支代码、yaml、预编译模型严格区分;
  2. 预编译模型云端分发,保证下载的 bin 和平台匹配;
  3. 提供对应平台的 C++/Python 两套推理样板代码,屏蔽 API 差异学习成本。

三、前后处理与 BPU 推理解耦、对齐难题(最高频工程问题)

边缘部署头号难题:PC 上 ONNX 推理正常,部署到 BPU 结果偏差很大。 根源通常分为三类:

  1. 预处理逻辑不一致(归一化均值 / 标准差、缩放方式、色域顺序 BGR/RGB);
  2. 量化带来定点误差;
  3. 后处理解码逻辑和训练时推理代码不一致(YOLO 解码、NMS 阈值、坐标还原)。

很多新手会犯致命错误:

把归一化写到训练网络内部,又在板端 CPU 重复归一化;或者反过来。

Model Zoo 确立统一范式:

  • 图像缩放、色域转换:CPU 执行
  • 量化零点 / 缩放系数:嵌入模型 bin 内部,由 BPU 执行
  • 检测框解码、NMS 等后处理:CPU 实现 所有 Demo 严格遵循这套范式,提供对齐参考基准,大幅降低精度调优工作量。

四、重复造轮子,缺乏基准测试的问题

企业开发者场景: 团队每个人独立开发算法部署,每个人写一套推理、一套 YOLO 后处理,代码风格不一致,无法互相复用;同时缺少统一 FPS、耗时参考,无法评估模型性能。

Model Zoo 价值:

  1. 提供标准化后处理库(YOLO、分割、姿态估计通用逻辑);
  2. 内置测速脚本,作为性能 Baseline;
  3. 统一文件组织结构(conversion、python、cpp、download.sh),团队可以复用目录结构规范新项目。

五、入门门槛高,缺少 “开箱即用” 验证载体

新手痛点: 安装完开发环境,不知道写一段什么样的代码验证 BPU 是否正常;自行搭建工程很容易卡在模型加载、张量维度、图像格式问题上。

Model Zoo 提供最低验证成本路径: 一键下载预编译 bin → 直接运行推理 Demo,不需要本地编译模型。 开发者优先验证硬件环境、摄像头通路,再去调试自己的算法转换流程。

六、澄清:Model Zoo不能解决哪些问题(边界认知,避免预期偏差)

  1. ❌ 不能实现模型跨硬件自动转换:X3 bin 无法直接跑在 X5,仍然需要基于原始 ONNX 重新编译;
  2. ❌ 不支持车载 .hbm 模型,只面向 RDK 机器人产品线 .bin
  3. ❌ 无法自动解决自定义算子、非标网络转换失败问题,仅提供主流开源模型参考;
  4. ❌ 不提供训练代码,只提供「导出 ONNX 之后」的部署链路;
  5. ❌ X5 分支不具备 hbm 多模型权重共享能力,多任务依然需要加载多个独立 bin。

一句话高度总结

RDK Model Zoo 把地平线 RDK 系列从「训练导出 ONNX 到板端 BPU 推理」整条离散、充满不确定的部署链路,做成一套标准化、可复制、分硬件隔离的参考工程模板,解决开发者无参考、参数盲目试错、平台混淆、精度难以对齐、重复开发的工程痛点。

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐