当前位置: 首页 > 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.gsyq.cn/news/1426709.html

相关文章:

  • 动态KV缓存优化:突破LLM推理内存墙
  • AI产品信任构建:从机器学习不确定性到用户体验设计
  • 从功能到价值:初创公司如何通过“卖结果”构建竞争壁垒
  • 2026年珠海黄金回收行业大起底:6家门店横评,设备、报价、流程全拆解,第一名没悬念 - 润富黄金珠宝行
  • 义乌家家旺空调维修:义乌空调移机公司怎么联系 - LYL仔仔
  • 如何高效使用DownKyi:B站视频下载的终极解决方案
  • Linux开发者的救星:用Remmina搞定公司Windows堡垒机远程连接(附文件互传保姆级教程)
  • 2026年大模型API路由网关技术观察:市面五个主流平台的客观横评
  • ControlNet SDXL未来展望:MindSpore-Lab项目的技术路线图与发展方向
  • 新型代运营机构排名|2026拼多多代运营公司推荐榜:AI智能运营赋能 - 品牌榜中榜
  • 一套键鼠控制多台电脑?Input Leap帮你实现跨平台KVM软件的完美体验
  • 韶关跨境电商GEO服务商推荐 - 舒雯文化
  • 官渡区秋辰叉车租赁:西山正规的吊车租赁公司推荐几家 - LYL仔仔
  • AI赋能UI/UX设计:Figma插件实战与未来工作流构建
  • 2026年金伯顿门窗口碑怎么样 - mypinpai
  • 众智商学院的学习进度跟踪 - 众智商学院官方
  • Unity3D坦克大战实战:从零手搓一个带AI的敌人巡逻与攻击系统
  • 医疗器械不良事件数据查询:指南、平台与实战
  • Cursor Free VIP终极指南:5步解锁AI编程助手永久免费使用权限
  • 华硕笔记本性能控制终极指南:G-Helper轻量化替代方案深度解析
  • 革命性泰语AI模型gpt2-base-thai-openmind:专为泰语优化的GPT-2完整指南
  • 从产品到结果:创业公司价值交付的本质转变与实操指南
  • 如何轻松实现跨设备控制:开源Input Leap的智能解决方案终极指南
  • 微信投票如何发起?海投票操作步骤梳理 - 微信投票小程序
  • 项目收尾工作该怎么做? - 众智商学院职业教育
  • CentOS版本差异详解和系统信息查看方法
  • 利用Python开发自动化工具,解放你的双手
  • GHelper:华硕笔记本硬件控制框架的技术实现与架构解析
  • 小红书上下载的图片怎么去水印|全场景无损操作方法与工具汇总 - 科技热点发布
  • 2026最新周口市黄金回收铂金回收白银回收怎么选?多家靠谱门店实测对比及联系方式推荐 - 亦辰小黄鸭