当前位置: 首页 > news >正文

RAFT-stereo模型转换全攻略:ONNX到axmodel的最佳实践

RAFT-stereo模型转换全攻略:ONNX到axmodel的最佳实践

【免费下载链接】RAFT-stereo项目地址: https://ai.gitcode.com/hf_mirrors/AXERA-TECH/RAFT-stereo

RAFT-stereo是一款高效的立体匹配模型,广泛应用于自动驾驶、机器人导航等领域。本文将详细介绍如何将RAFT-stereo的ONNX模型转换为axmodel格式,以及在不同硬件平台上的部署方法,帮助开发者快速实现模型的高效推理。

为什么需要模型转换?

在实际应用中,不同的硬件平台往往需要特定格式的模型来实现高效推理。ONNX作为一种通用的模型格式,虽然可以在多种框架中使用,但在嵌入式设备或专用AI加速芯片上,通常需要转换为硬件厂商提供的专用格式。axmodel是地平线(Horizon Robotics)推出的模型格式,针对其AX系列AI芯片进行了深度优化,能够充分发挥硬件性能,实现低延迟、高吞吐量的推理。

RAFT-stereo模型应用场景

RAFT-stereo模型主要用于计算双目图像之间的视差图,从而获取场景的三维信息。视差图是立体视觉中的关键数据,可广泛应用于:

  • 自动驾驶中的障碍物检测与距离估计
  • 机器人导航与避障
  • 三维重建与测绘
  • 增强现实(AR)与虚拟现实(VR)

RAFT-stereo立体匹配左目图像示例,用于视差图计算的输入之一

RAFT-stereo立体匹配右目图像示例,与左目图像配合生成视差图

准备工作:环境与工具

在进行模型转换之前,需要准备以下环境和工具:

必要的软件依赖

  1. Python 3.6+
  2. ONNX Runtime
  3. 地平线AI工具链(包括模型转换工具)
  4. OpenCV(用于图像预处理和结果可视化)

获取RAFT-stereo模型

可以通过以下命令克隆RAFT-stereo项目仓库:

git clone https://gitcode.com/hf_mirrors/AXERA-TECH/RAFT-stereo

项目中已提供多个预训练的ONNX模型和转换后的axmodel模型,位于以下目录:

  • ax630c/
  • ax637/
  • ax650/

ONNX模型推理:验证模型正确性

在进行模型转换之前,建议先使用ONNX Runtime对ONNX模型进行推理,验证模型的正确性。项目中提供了infer_onnx.py脚本,可用于ONNX模型的推理。

运行ONNX模型推理

python infer_onnx.py --left examples/left/000051_11.png --right examples/right/000051_11.png --model ax650/raft_steoro256x640_r1.onnx

该脚本会加载指定的ONNX模型和左右目图像,进行推理并生成视差图,保存为output-onnx.png

ONNX推理关键代码解析

infer_onnx.py的核心功能是加载ONNX模型并进行推理,关键步骤包括:

  1. 解析命令行参数
  2. 检测并选择可用的执行提供者(CUDA或CPU)
  3. 加载ONNX模型
  4. 读取和预处理输入图像( resize、通道转换等)
  5. 执行模型推理
  6. 后处理输出结果并保存

ONNX到axmodel的转换步骤

模型转换是将ONNX模型转换为axmodel格式的关键过程,需要使用地平线提供的模型转换工具。以下是详细的转换步骤:

准备转换配置文件

转换过程中需要提供配置文件,指定模型的输入输出信息、量化参数等。项目中提供的config.jsonconfiguration.json文件可作为参考。

执行模型转换

使用地平线模型转换工具进行转换,基本命令格式如下:

# 假设地平线转换工具为hb_mapper hb_mapper model_convert --model-type onnx --model ax650/raft_steoro256x640_r1.onnx --config config.json --output-path ax650/raft_steoro256x640_r1.axmodel

具体的转换命令和参数可能因地平线工具链版本而异,请参考官方文档。

axmodel模型推理:在AX系列芯片上部署

转换得到axmodel模型后,可以在支持的AX系列芯片上进行部署和推理。项目中提供了infer.py脚本,用于axmodel模型的推理。

运行axmodel模型推理

python infer.py --left examples/left/000051_11.png --right examples/right/000051_11.png --model ax650/raft_steoro256x640_r1.axmodel --width 640 --height 256

该脚本会加载axmodel模型,使用地平线InferenceSession进行推理,并生成视差图,保存为output-ax.png

RAFT-stereo模型生成的视差图结果,不同颜色代表不同的视差值,用于三维场景重建

axmodel推理关键代码解析

infer.py的核心功能是在AX系列芯片上加载axmodel模型并进行推理,关键步骤包括:

  1. 解析命令行参数
  2. 读取和预处理输入图像
  3. 使用地平线InferenceSession加载模型并执行推理
  4. 后处理输出结果( resize、尺度调整等)
  5. 保存视差图结果

不同硬件平台的模型选择

项目中为不同的AX系列芯片提供了预转换的axmodel模型,可根据目标硬件平台选择合适的模型:

AX630C平台

  • 模型路径:ax630c/raft_steoro256x640_r1_npu2.axmodel
  • 输入尺寸:256x640
  • 适用场景:中低功耗嵌入式设备

AX637平台

  • 模型路径:ax637/raft_steoro256x640_r1_npu1.axmodel
  • 输入尺寸:256x640
  • 适用场景:高性能边缘计算设备

AX650平台

  • 模型路径:ax650/raft_steoro256x640_r1.axmodel
  • 输入尺寸:256x640
  • 适用场景:高端嵌入式AI加速平台

常见问题与解决方案

模型转换失败

如果模型转换失败,可能的原因包括:

  1. ONNX模型版本不兼容:尝试使用较低版本的ONNX导出模型
  2. 配置文件参数错误:检查输入输出节点名称、数据类型等是否正确
  3. 工具链版本问题:更新地平线AI工具链到最新版本

推理结果异常

如果推理结果与预期不符,可能的原因包括:

  1. 图像预处理方式不一致:确保推理时的预处理与训练时一致
  2. 模型输入尺寸不匹配:检查推理时使用的图像尺寸是否与模型要求一致
  3. 后处理步骤错误:检查视差图的尺度调整是否正确

总结

本文详细介绍了RAFT-stereo模型从ONNX格式转换为axmodel格式的完整流程,包括环境准备、ONNX模型推理、模型转换和axmodel模型推理等步骤。通过本文的指南,开发者可以快速将RAFT-stereo模型部署到地平线AX系列芯片上,实现高效的立体匹配推理。

无论是自动驾驶、机器人导航还是三维重建,RAFT-stereo模型都能提供准确的视差图计算,而axmodel格式则能充分发挥硬件性能,为实际应用提供强大的支持。希望本文能帮助开发者顺利完成模型转换和部署,推动相关应用的开发和落地。

【免费下载链接】RAFT-stereo项目地址: https://ai.gitcode.com/hf_mirrors/AXERA-TECH/RAFT-stereo

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

http://www.jsqmd.com/news/915397/

相关文章:

  • Stable Diffusion 3 Medium完全指南:10分钟快速上手AI图像生成
  • 动态KV缓存优化:突破LLM推理内存墙
  • 润富黄金回收|2026 年 5 月宜昌黄金回收全攻略:行情解读 + 避坑技巧 + 真实案例 - 润富黄金珠宝行
  • AI产品信任构建:从机器学习不确定性到用户体验设计
  • 视频去水印软件一键去除水印2026全场景操作指南适配各类设备需求 - 科技热点发布
  • 导师推荐 2026 最新降AI率软件测评与对比分析 - 降AI小能手
  • 小红书去水印下载用什么工具官方方法与安全工具及风险规避全指南 - 科技热点发布
  • 手把手教你做Claude用户手册,深度适配企业级场景的6类角色定制模板与交付清单
  • 2026年防水电缆众多,究竟哪个牌子才是新手之选? - 企业推荐官
  • CANN/catlass GEMV AIV搬运模板
  • Kimi LeetCode 2836. 在传球游戏中最大化函数值 Java实现
  • CANN/catlass FP8转FP16反量化Tile操作
  • 从功能到价值:初创公司如何通过“卖结果”构建竞争壁垒
  • 宁波酒店厨房设备回收:江北专业的空调回收公司选哪家 - LYL仔仔
  • 【独家首发】全球首份Claude竞品压力测试报告:在金融合同解析、医疗术语推理、多跳法律检索三大高危场景中,仅2家通过95%准确率阈值
  • 2026年GEO源头厂家公司怎么选?杭州本土技术派深度拆解 - 品牌报告
  • 2026宁夏搬家公司推荐,甄选靠谱搬家服务商打造安心搬迁体验 - 品牌鉴赏师
  • 系统性搜寻未知:构建可观测性驱动的技术问题排查框架
  • XLMRoBERTa微调实战:huangjingwang/roberta-ner-multilingual模型训练全流程
  • Windows右键菜单管理终极指南:如何快速掌握ContextMenuManager
  • VideoGameBunny-V1-4B架构深度解析:BunnyPhi3与SigLIP视觉塔的技术融合
  • CANN/catlass A8W4量化TileCopy组件
  • 从状态机到运行时:聊聊 .NET 11 的 Runtime Async 和老 Async/Await 到底差在哪
  • 如何用ok-ww实现3倍效率提升:鸣潮自动化工具完全指南
  • 2026年珠海黄金回收行业大起底:6家门店横评,设备、报价、流程全拆解,第一名没悬念 - 润富黄金珠宝行
  • 义乌家家旺空调维修:义乌空调移机公司怎么联系 - LYL仔仔
  • 如何高效使用DownKyi:B站视频下载的终极解决方案
  • gte-base与其他嵌入模型对比:为什么选择阿里达摩院的文本嵌入方案
  • 30天打造反臃肿AI演示工具:从减法设计到文件优先的工程实践
  • Linux开发者的救星:用Remmina搞定公司Windows堡垒机远程连接(附文件互传保姆级教程)