资讯动态

IsaacSim: 用智能手机在 NVIDIA Isaac Sim 中重建场景

发布时间:2026/8/23 7:33:53 来源:尧图企业网站定制
为机器人仿真构建逼真的三维环境往往费时费力。如今借助NVIDIA Omniverse NuRec你只需一部智能手机即可完成全流程。本文逐步说明从用iPhone拍摄照片到用3DGUT重建三维场景再到载入NVIDIA Isaac Sim并放入机器人。若希望跳过重建步骤 1–3直接在Isaac Sim中探索场景步骤 4请访问 Hugging Face 上的NVIDIA Physical AI。步骤 1采集真实世界场景第一步是对要重建的真实环境拍照。这已不再需要特殊硬件——普通智能手机即可。围绕场景边走边拍并遵循以下摄影测量实践要点光照与对焦应正确且稳定。避免快速运动与模糊。若可以使用更快快门例如1/100 秒或更快。在系统自带相机 App 中通常无法直接设置快门速度但可以锁定对焦/曝光长按主体启用AE/AF Lock然后将曝光滑条略微下调约−0.3 至 −0.7 EV使高光更利落。稳定使用三脚架或靠墙支撑每帧越清晰COLMAP特征跟踪越好。关闭自动微距切换在iPhone Pro上为避免镜头焦距在帧间跳变请关闭设置 → 相机 → 自动微距。手动快门/ISO可尝试支持固定快门ISO 的 iOS 应用例如Lumina: Manual Camera、Halide、ProCamera、ProCam 8、Moment Pro Camera、Lightroom Mobile。室外可从1/120–1/250 秒起步室内≥1/100 秒在曝光可接受前提下ISO 尽量低。锁定白平衡避免帧间色偏。覆盖范围缓慢绕区域行走拍摄多个高度与角度。经验法则是约60% 图像重叠。提示COLMAP 需要标准图像格式。若 iPhone 保存为HEIC可在设置 → 相机 → 格式中选兼容性最佳拍摄为 JPEG或在进入 COLMAP 前导出/转换为JPG。步骤 2使用 COLMAP 生成稀疏重建照片就绪后下一步是从图像反推三维结构与相机位姿。本例使用流行的开源SfM/MVS流水线COLMAP。COLMAP 会生成场景的稀疏点云并估计每张照片的相机参数。COLMAP 也提供命令行流程但注意GUI 的 Automatic Reconstruction对入门更友好。为兼容3DGUT请选择pinhole或simple pinhole相机模型。# 特征检测与提取colmap feature_extractor\--database_path./colmap/database.db\--image_path./images/\--ImageReader.single_camera1\--ImageReader.camera_modelPINHOLE\--SiftExtraction.max_image_size2000\--SiftExtraction.estimate_affine_shape1\--SiftExtraction.domain_size_pooling1# 特征匹配colmap exhaustive_matcher\--database_path./colmap/database.db\--SiftMatching.use_gpu1# 全局 SfMcolmap mapper\--database_path./colmap/database.db\--image_path./images/\--output_path./colmap/sparse# 可视化验证colmap gui--import_path./colmap/sparse/0\--database_path./colmap/database.db\--image_path./images/COLMAP 会输出工程文件夹通常包含database.db、images/文件夹以及含重建数据的sparse/目录。完成后你将得到场景的稀疏点云所有图像的相机位姿数据这些信息将输入3DGUT进行三维重建步骤 3。步骤 3使用 3DGUT 训练稠密重建并导出 USD接下来是关键一步使用3DGUT算法将稀疏模型与图像转为稠密、照片级的三维场景。配置 3DGUT 环境3DGUT 仓库要求Linux、CUDA 11.8、GCC ≤ 11与NVIDIA GPU。官方代码见 GitHubnv-tlabs/3dgrut请按说明安装依赖库。克隆 3DGUT 仓库gitclone--recursivehttps://github.com/nv-tlabs/3dgrut.gitcd3dgrutchmodx install_env.sh ./install_env.sh 3dgrut conda activate 3dgrut继续前建议在仓库内对示例数据集跑一次测试重建确认环境正常。准备 COLMAP 输出确认步骤 2 生成的COLMAP 输出目录路径。本例使用配置apps/colmap_3dgut_mcmc.yaml因其将 3DGUT 与MCMC马尔可夫链蒙特卡洛致密化策略结合在重建不确定区域采样并致密化高斯使薄结构与边缘更锐利整体保真度更好相对基线配置训练时间增加通常适度。运行训练并导出 USDZ激活环境后使用提供的train.py与 COLMAP 配置启动训练例如conda activate 3dgrut python train.py --config-name apps/colmap_3dgut_mcmc.yaml\path/path/to/colmap/\out_dir/path/to/out/\experiment_name3dgut_mcmc\export_usdz.enabledtrue\export_usdz.apply_normalizing_transformtrue训练开始后3DGUT 会读取图像与 COLMAP 数据并优化三维表示。耗时取决于场景规模与 GPU小场景可能数分钟非常复杂、细节多的场景可达数小时。完成后应得到场景的稠密重建输出包含模型检查点目录。设置以下标志还会生成USDZexport_usdz.enabledtrue写入重建场景的USDZ可直接载入 Isaac Sim。export_usdz.apply_normalizing_transformtrue应用基础归一化将场景大致平移到原点附近并缩放。不保证地面精确在z 0。在 Isaac Sim 中可添加Ground Plane或对场景根节点平移/旋转以对齐。将重建导出为USD后可与 Isaac Sim 即插即用。生成的USDZ使用自定义USD schema本质上是打包的USD场景内含三维重建的全部高斯泼溅数据。标准化 schema 在AOUSD中仍在讨论。原文笔误说明个别英文原文将normalizing误写为normalizaing上表与命令中已按正确拼写apply_normalizing_transform书写。步骤 4在 Isaac Sim 中部署重建场景并添加机器人真实世界场景已重建为USD可用于 Isaac Sim 训练与测试虚拟机器人。1. 启动 Isaac Sim使用Isaac Sim 5.0 或更高版本支持 NuRec/3DGUT 相关能力。打开后从空 Stage 开始File New。2. 导入 USD 场景菜单File Import选择场景的USDZ文件也可从 Isaac Sim 内容浏览器将USDZ拖入场景。载入后视口中应出现重建环境表现为彩色点或高斯集合通过相机观察时可能近乎照片级三维效果。提示使用 Isaac Sim 导航WASD或右键拖拽在场景中飞行检视。3. 添加地面平面以支持物理重建场景仅为视觉几何来自 3DGUT 的点/体素无内置碰撞。要让机器人移动需添加地面平面作为支撑Create Physics Ground Plane。通常会在z 0出现覆盖地面的平面可按需缩放例如Video 1中 x、y 缩放到 100。通过Translate / Rotate / Scale与重建地面大致对齐。接着连接代理网格proxy mesh以接收阴影代理网格是简单替身通过提供受光表面使物体在视觉上“落”在场景中。地面平面即该网格。连接方式选中NuRec prim全局 xform 下的 volume prim。在Raw USD Properties面板找到NuRec/Volume区块的Proxy字段。点击添加代理网格 prim。再次选中地面平面确保Geometry Matte Object已开启。视频 1如何在导入 Isaac Sim 时为渲染场景添加地面网格与物理4. 从 Isaac Sim 资源库插入机器人Isaac Sim 包含许多SimReady机器人模型。菜单Create Robots选择机器人例如流行的Franka Emika Panda机械臂也可选移动机器人如Leatherback / Carter / TurtleBot或人形机器人视库中可用资源而定。选中后会加入场景用移动/旋转工具将机器人摆放到重建场景中合适位置。5. 点击 Play此时机器人应处于照片级三维场景中。若为机械臂可制作动画或运行强化学习等——按你的用例而定。真实环境已进入 Isaac Sim 后可像其他仿真环境一样使用。这一简洁的真实→仿真real-to-sim工作流把日常iPhone照片变为可交互、可供机器人使用的场景拍摄 → COLMAP → 3DGUT 重建 → 导出 USDZ → 载入 NVIDIA Isaac Sim。它用可复现的路径替代冗长的摄影测量迭代便于快速构建可驱动、可规划、可测试的数字孪生。准备动手直接打开现成场景从 Hugging Face 的NVIDIA Physical AI合集获取NuRec示例在 Isaac Sim 中打开。参考真实→仿真流程结合Isaac Sim、Isaac ROS、3DGUT、cuSFM、nvBlox、FoundationStereo构建机器人开发用逼真三维环境可遵循双目相机数据重建场景的步骤。生成合成数据将重建导入 Isaac Sim添加SimReady资产用MobilityGen生成合成数据并用NVIDIA Cosmos增强数据参见用 NVIDIA Isaac Sim 构建合成数据流水线以训练更智能的机器人。文章来自https://developer.nvidia.com/blog/reconstruct-a-scene-in-nvidia-isaac-sim-using-only-a-smartphone/

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价