OmniverseReplicator入门
Omniverse Replicator 作为 Omniverse Kit 扩展创建,并通过 Omniverse Code 方便地分发。
要使用复制器,您需要下载可在此处找到的 Omniverse 启动器。 有关 Omniverse 启动器的更多详细信息,请查看此视频。
使用 Omniverse Replicator 生成合成数据是一个两步过程。 第一步将资产带入场景,定义并注册随机化器、注释器和编写器。 它还定义了随机发生器执行的事件触发器。 在底层,第一步构建 OmniGraph 节点以高效执行这些步骤。 构建 OmniGraph 节点后,第二步将执行这些节点以生成数据、注释并将输出以所需形式写入磁盘。 复制器 API 从用户那里抽象出这些复杂性。
设置脚本编辑器
要开始使用 Replicator API,您可以使用脚本编辑器。 下面的视频向您展示了如何在 Omniverse Code 中找到它。 请注意,脚本编辑器扩展可通过扩展管理器在所有 Omniverse 应用程序中使用。
注意
如果您使用的是 Isaac Sim,您会在顶部选项卡“窗口”->“脚本编辑器”下找到脚本编辑器。 确保启用它,它会弹出。 它看起来与下面的 gif 中显示的相同。
运行和预览复制器
通过脚本编辑器运行脚本(参见核心功能 - Replicator 的“Hello World”示例)构建复制器 OmniGraph,但不运行实际执行或逻辑。 您可以在 Replicator/SDGPipeline 下的阶段中看到生成的图形。 创建 Omni.Replicator 图形后(通常是通过在脚本编辑器中运行脚本),可以通过 Replicator 菜单项控制数据生成。 如下图点击Replicator –> Run运行生成,或者Replicator –> Stop停止生成。 单击 Replicator –> Preview 执行单次随机迭代并防止数据写入磁盘。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SU2Q1hUj-1681615785432)(https://docs.omniverse.nvidia.com/prod_extensions/_images/Replicator_run_preview.gif)]
注意
您也可以使用 rep.orchestrator.run() 以编程方式执行此操作。 有关详细信息,请参阅 API 文档。
设置核心服务器
Omniverse Nucleus 是 Omniverse 的数据库和协作引擎。 借助 Omniverse Nucleus,团队可以让多个用户同时使用多个应用程序实时连接在一起。 这允许人们使用他们最舒适、最快捷的应用程序,并真正为快速迭代打开了很多大门。
此外,本地 Nucleus 服务器带有来自 NVIDIA 的多个资产和场景。 这些资产通过文档中描述的教程使用。 请按照本地 Nucleus 服务器安装说明获取所有资产并继续操作。
复制器脚本
Replicator Extension 附带了几个脚本,它们对您的开发体验很有用。 例如,在脚本文件夹中,您将找到我们的 BasicWriter 或 Kitti writer 实现,您可以将其用作自己开发的模板。 您可以在下面看到在哪里可以找到脚本。
在 gif 中,我们使用 VS Code,但您可以单击文件夹图标,它将打开脚本所在的文件夹。