模型/库/框架

如何在交互式模拟中即时渲染现实世界场景

将现实世界环境转变为交互式仿真不再需要花费数天或数周的时间。借助 NVIDIA Omniverse NuRec 和 3DGUT(带无标定变换的 3D 高斯),您可以从简单的传感器数据重建逼真的 3D 场景,并立即在 NVIDIA Isaac Sim 或 CARLA Simulator 中部署这些场景。

本文将向您介绍如何捕获真实世界数据、训练重建模型并将结果加载到 Isaac Sim 中。

如何使用照片创建交互式仿真模型

神经重建可在逼真的仿真中实现高效的机器人训练,从而改善仿真到现实的迁移。以下步骤将神经网络重建和渲染简化为适用于不同环境的流程。

A rendered scene using Omniverse NuRec of a simulated office environment featuring a humanoid robot demonstrating dexterity and movement.
图 1。使用 Omiverse NuRec 创建的场景示例,用于机器人仿真训练

步骤 1:捕捉真实场景

从各个角度拍摄约 100 张照片,并确保光线充足,图像之间有重叠,以帮助进行特征匹配。示例规格:f/8、1/100s+、18 mm 或类似规格)。

第 2 步:使用 COLMAP 生成稀疏重建结果

要生成稀疏点云和相机参数,请使用 COLMAP,这是一个通用的运动结构化 (SfM) 和多视图立体 (MVS) 管线。您可以通过其 GUI 使用自动重建,或通过执行特征提取、特征匹配和稀疏重建命令来实现这一点。为了与 3DGUT 兼容,请选择针孔或简单针孔相机模型。

# Feature detection & extraction
$ colmap feature_extractor \
    --database_path ./colmap/database.db \
    --image_path    ./images/ \
    --ImageReader.single_camera 1 \
    --ImageReader.camera_model   PINHOLE \
    --SiftExtraction.max_image_size 2000 \
    --SiftExtraction.estimate_affine_shape 1 \
    --SiftExtraction.domain_size_pooling 1

# Feature matching
$ colmap exhaustive_matcher \
    --database_path ./colmap/database.db \
    --SiftMatching.use_gpu 1

# Global SFM
$ colmap mapper \
    --database_path ./colmap/database.db \
    --image_path    ./images/ \
    --output_path   ./colmap/sparse

# Visualize for verification
$ colmap gui --import_path ./colmap/sparse/0 \
    --database_path ./colmap/database.db \
    --image_path    ./images/

步骤 3:使用 3DGUT 进行密集重建训练

使用 COLMAP 输出结果,使用 3DGUT 和 config apps/colmap_3dgut_mcmc.yaml 进行训练。

$ conda activate 3dgrut
$ python train.py --config-name apps/colmap_3dgut_mcmc.yaml \
    path=/path/to/colmap/ \
    out_dir=/path/to/out/ \
    experiment_name=3dgut_mcmc \
    export_usdz.enabled=true \
    export_usdz.apply_normalizing_transform=true

步骤 4:导出到 USD 并进行规范化处理

训练完成后,使用以下基本标志将重建的场景导出为 USD 文件:

export_usdz.enabled=true
export_usdz.apply_normalizing_transform=true

查看教程,了解可以直接从脚本编辑器运行或作为独立应用程序运行的示例脚本。

这将创建一个与 Isaac Sim 仿真生态系统无缝集成的 USD 资产。

步骤 5:部署重建的场景

通过此工作流生成的 USD 资产可以直接加载或引用到 Isaac Sim 中,就像任何其他 USD 资产一样。只需使用“文件”>“导入”,或将 USD 文件从内容浏览器拖放到舞台上即可。

加载 USD 资产后,可以在 Isaac Sim 中创建地面平面以进行移动性仿真,如视频 1 中所述。

视频 1。关于如何在导入 Isaac Sim 时向渲染场景添加地面平面网格和物理效果的分步教程

NVIDIA Physical AI Dataset 还提供重建场景,以便快速导入和立即进行实验。

如何在 CARLA 中重播自动驾驶汽车场景

对于自动驾驶汽车 (AV) 开发,与开源 CARLA AV 仿真器集成的 Omniverse NuRec 库开辟了强大的可能性。这是一项实验性新功能,适用于 NVIDIA 物理 AI 数据集中的已重建和可用的示例场景。

The view from a front-facing vehicle camera showing a real world drive down a busy street reconstructed in simulation.
图 2。CARLA 中 Omniverse NuRec 渲染工作流的示例场景

步骤 1:运行 CARLA 并设置脚本

Physical AI Dataset 中选择一个场景,然后导航到 CARLA 目录并运行以下脚本:

./PythonAPI/examples/nvidia/install_nurec.sh

步骤 2:重放场景

接下来,使用以下命令重播 Omniverse NuRec 场景:

source carla/bin/activate
cd PythonAPI/examples/nvidia/
python example_replay_recording.py --usdz-filename /path/to/scenario.usdz

步骤 3:采集数据

您还可以捕获仿真中的数据,以进行进一步测试。用于数据集生成的图像采集:

source carla/bin/activate
cd PythonAPI/examples/nvidia/
python example_save_images.py --usdz-filename /path/to/scenario.usdz --output-dir ./captured_images

通过这种集成,您可以在可控的仿真环境中重播真实驾驶场景,并完整呈现原始场景中的所有角色和动态。

如何进一步增强重建场景想要进一步增强重建场景?NVIDIA Cosmos Transfer 是一个多控制网络世界基础模型,通过实现精确、可控的视频生成,增强了机器人和自动驾驶汽车的仿真。使用 Cosmos Transfer 合成各种环境、光照条件和天气场景。您还可以使用分割、深度图、高清地图等多模态控制动态添加和编辑对象。

A GIF swiping from a semantic view of a driving scene to a sunny fall day.
图 3。Cosmos Transfer 通过添加新的天气、光照和地形条件来增强场景多样性

这种方法简化了场景丰富的数据集创建,减少了手动工作,并确保了严格的逼真验证。Cosmos Transfer-1 经过蒸馏,可将扩散步骤减少到 70 个,因此您可以在 30 秒内生成逼真的可控视频。Cosmos Transfer-2 即将推出,它将进一步加速自动驾驶汽车开发的合成数据生成 (SDG) ,并在此基础上实现性能改进。

基于高斯渲染为何能加速仿真工作流

3D 高斯分布代表了机器人和自动驾驶汽车重建和模拟现实世界的方式发生的一次变革性飞跃。Omniverse NuRec 库通过简化从数据采集到逼真交互式环境的路径,利用基于高斯渲染来显著加速可扩展、稳健测试的仿真工作流。

COLMAP 经过验证的结构从运动管线与 3DGUT 先进渲染功能的结合,为处理复杂现实场景(从具有挑战性的照明条件到复杂的相机失真)奠定了坚实基础,而这些场景是传统重建方法无法处理的。

开始在交互式仿真中渲染真实场景

无论您是致力于推动仿真到现实世界迁移的极限的研究人员,还是寻求高效、高保真场景生成的工程师,这些进步都能让您快速迭代并自信地部署基于现实世界复杂性的解决方案。

准备好开始了吗?

物理 AI 仿真技术的未来已经到来,而且比以往任何时候都更容易使用。开始为未来的智能机器构建更丰富、更逼真的数字孪生。

观看 SIGGRAPH 上的 NVIDIA 研究特别演讲

订阅 NVIDIA 新闻DiscordYouTube 上关注 NVIDIA Omniverse,及时了解最新动态

使用开发者入门套件快速开发和增强您自己的应用和服务。

 

标签