Replicator简介

Replicator

文章目录

  • Replicator
    • Replicator简介
    • 合成数据训练背后的理论
    • Replicator核心组件
    • 已知的问题

Replicator简介

Omniverse Replicator 是一个高度可扩展的框架,构建在可扩展的 Omniverse 平台上,可生成物理上准确的 3D 合成数据,以加速 AI 感知网络的训练和性能。

Omniverse Replicator 为深度学习工程师和研究人员提供了一套工具和工作流程,用于引导模型训练、提高现有模型的性能或开发由于缺乏数据集或所需注释而无法实现的新型模型。 它允许用户轻松导入模拟就绪资产以构建上下文感知的 3D 场景,通过创建以前不可用的新型数据集和注释来释放以数据为中心的方法。

基于通用场景描述 (USD)、PhysX、材质定义语言 (MDL) 等开源标准,Omniverse Replicator 可以通过可扩展的 Python API 轻松集成或连接到现有管道。

Omniverse Replicator 建立在高度可扩展的 OmniGraph 架构之上,允许用户轻松扩展内置功能以创建满足自己需求的数据集。 它提供了一个可扩展的注释器和编写器注册表,以解决围绕训练 AI 模型所需的注释类型和输出格式的自定义要求。 此外,可扩展随机化器允许创建可编程数据集,从而支持以数据为中心的方法来训练这些模型。

Omniverse Replicator 在 Omniverse Code 中作为一组扩展、内容和示例公开。 有关 Replicator 的详细介绍,请查看此演讲。

合成数据训练背后的理论

为感知任务训练深度神经网络的典型过程涉及手动收集数据(大多数情况下是图像),然后是手动注释这些图像和可选增强的过程。 然后将这些图像转换为 DNN 可用的格式。 然后对 DNN 进行感知任务训练。 超参数调整或网络架构更改是优化网络性能的典型步骤。 对模型性能的分析可能会导致数据集发生潜在变化,但这可能需要另一个手动数据收集和注释周期。 这是一个昂贵的手动过程。

合成数据生成能够以具有成本效益的方式生成具有准确注释的大规模训练数据。 此外,合成数据生成还解决了与长尾异常、没有可用训练数据的引导模型训练以及在线强化学习相关的挑战。

一些更困难的感知任务需要对手动极难完成的图像进行注释(例如,带有遮挡物体的图像)。 以编程方式生成的合成数据可以非常有效地解决这个问题,因为所有生成的数据都被完美地标记了。 数据生成的程序化性质还允许创建有利于 DNN 性能的非标准注释和间接特征。

如上所述,合成数据生成具有许多优点,但要使其有效,还需要解决一系列挑战。

合成数据集是使用模拟生成的; 因此,缩小模拟与现实世界之间的差距至关重要。 这种差距被称为域差距,它可以分为两部分:

  • 外观差距是真实图像和合成图像之间的一组像素级差异。 这些差异可能是由于对象细节、材料的差异,或者在合成数据的情况下,所使用的渲染系统的功能差异造成的

  • 内容差距是指领域之间的差异。 这包括场景中对象的数量、类型和位置的多样性以及类似的上下文信息等因素。

克服这些领域差距的一个关键工具是领域随机化。 域随机化增加了我们为合成数据集生成的域的大小,以尝试确保我们包括最符合现实的范围,包括长尾异常。 通过生成比我们在现实中可能发现的更广泛的数据分布,神经网络可能能够学习更好地概括问题的整个范围。

外观差距可以通过高保真 3D 资产和基于光线跟踪或路径跟踪的渲染,使用基于物理的材料(例如使用 MDL 材料语言定义的材料)进一步解决。 经过验证的传感器模型及其参数的域随机化也可以提供帮助。

在内容方面,需要大量与场景相关的资产。 Omniverse 提供了可用于其他 3D 应用程序的各种连接器。 开发人员还可以编写工具来生成适用于其特定领域的多样化领域场景。

这些挑战给使用合成数据进行训练带来了一层复杂性,因为无法知道在合成数据集中进行的随机化是否能够封装真实域。 要使用合成数据成功训练网络,必须在真实数据集上测试网络。 为了解决任何模型性能问题,我们采用以数据为中心的方法作为第一步,在尝试更改模型架构或超参数之前调整我们的数据集。

这意味着使用合成数据进行训练的过程是高度迭代的。 Replicator 通过将模拟世界转换为一组可学习的参数来实现这种以数据为中心的 AI 训练。 在整个训练过程中,场景可以修改、随机化,资产的分布可以迭代地改变。

Replicator核心组件

Replicator 由六个组件组成,使您能够生成合成数据:

  • 语义模式编辑器需要语义注释(与给定网格相关的“感兴趣的”数据)才能正确使用合成数据扩展。 这些注释告知扩展场景中的哪些对象需要边界框、姿态估计等……语义模式编辑器提供了一种通过 UI 将这些注释应用于舞台上的基元的方法。

  • 可视化工具 Replicator 可视化工具使您能够可视化 2D/3D 边界框、法线、深度等的语义标签。

  • 随机化器:Replicator 的随机化工具允许开发人员轻松创建域随机化场景,从资产、材料、照明和相机位置快速采样。

  • Omni.syntheticdata:Omni.synthetiticdata 是 Replicator 软件堆栈的最低级别组件,它将作为 Omniverse Kit SDK 未来所有版本的内置扩展发布。 omni.syntheticdata 扩展提供与 RTX 渲染器和 OmniGraph 计算图系统的低级集成。这是为 Replicator 的 Ground Truth 提取注释器的计算图提供动力的组件,将任意输出变量或 AOV 从渲染器传递到注释器 .

  • 注释器:注释系统本身从 omni.syntheticdata 扩展中摄取 AOV 和其他输出,为 DNN 训练生成精确标记的注释。

  • 编写器:编写器处理来自注释器的图像和其他注释,并生成用于训练的 DNN 特定数据格式。 编写器可以输出到本地存储,通过网络输出到基于云的存储后端,例如 SwiftStack,未来我们将提供后端用于实时 GPU 训练,允许生成的数据保留在 GPU 上进行训练,避免任何额外的 IO 全部。

在数据集的整个生成过程中,最常见的工作流程是随机化一个场景,选择您的注释器,然后写入您想要的格式。 但是,如果需要更多定制,您可以访问 omni.synthetic 数据。

已知的问题

  • 在 RTX - 实时模式下,材料或纹理有时无法及时加载以进行捕捉。 如果发生这种情况,您可以通过设置 /omni/replicator/RTSubframes 标志(默认值 = 3)来增加捕获之间的间隔。 要在 Python 中设置,carb.settings.get_settings().set(<new value>)。 同样,如果没有材料被随机化,则可以通过将该值设置为最小值 1 来提高捕获速度。

  • 在具有多 GPU 的系统上运行时,可能会出现注释器可视化和数据生成错误。 要禁用多 GPU,请使用 --/renderer/multiGpu/enabled=false 标志启动。

  • 在具有大量 3D 边界框的场景中,可视化器会因框的渲染顺序而闪烁。 这个渲染问题纯粹是美学问题,在写入数据时不会有任何影响。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/12899.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

OpenAI-ChatGPT最新官方接口《语音智能转文本》全网最详细中英文实用指南和教程,助你零基础快速轻松掌握全新技术(六)(附源码)

Speech to text 语音智能转文本 Introduction 导言Quickstart 快速开始Transcriptions 转录python代码cURL代码 Translations 翻译python代码cURL代码 Supported languages 支持的语言Longer inputs 长文件输入Prompting 提示其它资料下载 Speech to text 语音转文本 Learn how…

Mac配置QT

Mac配置QT 前言&#xff1a; 系统版本&#xff1a;Ventura 13.2.1 (22D68) 先安装homebrew&#xff0c;参考&#xff1a; https://blog.csdn.net/ZCC361571217/article/details/127333754 Mac配置&#xff1a; 安装Qt与Qt Creator&#xff1a; 通过Homebrew安装(若没Homeb…

用Spring Doc代替Swagger

1 OpenApi OpenApi 是一个业界的 API 文档标准&#xff0c;是一个规范&#xff0c;这个规范目前有两大实现&#xff0c;分别是&#xff1a; SpringFoxSpringDoc 其中 SpringFox 其实也就是我们之前所说的 Swagger&#xff0c;SpringDoc 则是我们今天要说的内容。 OpenApi 就…

【Python_Scrapy学习笔记(十三)】基于Scrapy框架的图片管道实现图片抓取

基于Scrapy框架的图片管道实现图片抓取 前言 本文中介绍 如何基于 Scrapy 框架的图片管道实现图片抓取&#xff0c;并以抓取 360 图片为例进行展示。 正文 1、Scrapy框架抓取图片原理 利用 Scrapy 框架提供的图片管道类 ImagesPipeline 抓取页面图片&#xff0c;在使用时需…

快速部署个人-ChatGPT Next Web

前提&#xff1a;要有梯子、谷歌账号。 目录 一、源码地址&#xff1a; 二、演示地址&#xff1a; 三、获取API密钥 四、 部署 五、重新部署 一、源码地址&#xff1a; GitHub - Yidadaa/ChatGPT-Next-Web: One-Click to deploy well-designed ChatGPT web UI on Verc…

批量给TXT文档插入带标题合成图片-Chatgpt生成TXT文档配图神器

1、我们用《Chatgpt 3.5-turbo软件》批量生成txt文档&#xff0c;但是这样txt文档里不带图片&#xff0c;直接发布到网站上&#xff0c;光有文字没有图片&#xff0c;效果也不是很理想&#xff0c;就需要一款配图软件。 2、提高文章的可读性和吸引力&#xff1a;插入图片可以丰…

JavaSE学习进阶day06_04 集合的嵌套和不可变集合

接昨天讲的内容&#xff0c;今天还要继续学习集合。学完今天的内容&#xff0c;集合就告于段落了&#xff0c;坚持&#xff01; 集合的嵌套&#xff08;掌握&#xff01;&#xff09;&#xff1a; 什么是集合的嵌套&#xff1f;为什么要集合的嵌套&#xff1f;为了搞清楚这个…

免费英文在线翻译-英文自动翻译

免费的自动翻译器 作为一款免费的自动翻译器&#xff0c;我们的产品可以为全球用户提供高质量、高效率的翻译服务&#xff0c;帮助他们更好地沟通和交流。 现在&#xff0c;随着数字化的进一步发展&#xff0c;人们之间的跨文化交流越来越频繁。然而&#xff0c;语言偏差和文…

学习小程序基础内容之逻辑交互

我们先来看一下实现的效果。 然后再来分享结构。 结构分为左右3:7 分配&#xff0c; 左侧是类别&#xff0c;右侧是该类别对应的品牌。 后台会在onload的请求把左侧的类别返回来&#xff0c;然后我们通过循环把数据展示出来。然后通过点击事件&#xff0c;把对应的品牌请求回来…

CentOS 8自动化安装MongoDB并安装和实验master-slave集群、副本集群(Replica Set)、分片集群(Sharding)

文章目录 CentOS 8自动化安装MongoDB安装Master-Slave集群安装并测试副本集(Replica Set)集群安装副本集(Replica Set)集群实验测试 安装并测试分片集群&#xff08;Sharding&#xff09; 注意实验使用的是ARM架构的CentOS 8 虚拟机 CentOS 8自动化安装MongoDB 首先&#xff0…

【单片机】基于Arduino cli和VS Code配置开发环境,彻底抛弃Arduino IDE

文章目录 0 前言1 VS Code的优势和Arduino IDE的劣势2 前期准备3 Arduino cli3.1 Arduino cli是什么3.2 下载与安装3.3 基本使用3.4 开发环境配置 4 VS Code配置5 参考链接 0 前言 之前有在电脑上基于VS Code配置Arduino环境&#xff0c;大致方法就是在安装Arduino IDE的前提下…

linux网络

查看网络接口信息 ifconfig mtu 最大传输单元 mtu和mss区别 hostname命令 永久修改 hostnamectl set-hostname 切换shell环境生效 或者vi hostname 编辑完重启生效 查看路由表条目route route查看或设置主机中路由表信息 route -n将路由记录中的地址信息显示为数字形式 …

Linux查看串行端口

查看串口驱动 cat /proc/tty/driver/serial查看串口设备 dmesg | grep ttyS*[rootlocalhost driver]# cat /proc/tty/driver/serial serinfo:1.0 driver revision: 0: uart:16550A port:000003F8 irq:4 tx:0 rx:0 1: uart:16550A port:000002F8 irq:3 tx:0 rx:0 CTS|DSR|CD 2:…

Hadoop之HBase

文章目录 一、HBase简介二、HBase结构1.1HBase逻辑结构1.2HBase物理结构1.3HBase基础架构 三、HBase安装配置3.1单机模式3.2集群搭建 四、HBase JAVA API 一、HBase简介 《HBase官方文档》的原文地址是&#xff1a;http://hbase.apache.org/book.html W3Cschool.cn进行整理翻译…

上位机:创建WPF应用并使用控件完成控件交互

创建WPF应用并使用控件完成控件交互 1.XAML是WPF技术中专门用于设计UI的语言。 2.优点,XAML是一种声明型语言,只能用来声明一些UI元素、绘制UI和动画,不能在其中加入程序逻辑。实现UI与逻辑的剥离。 下面使用visual studio2019建立一个WPF项目: 进入项目,点击运行,然后…

今天面了个字节跳动拿35K出来的,真是砂纸擦屁股,给我露了一手啊

今年的金三银四已经快要结束了&#xff0c;很多小伙伴收获不错&#xff0c;拿到了心仪的 offer。 各大论坛和社区里也看见不少小伙伴慷慨地分享了常见的面试题和八股文&#xff0c;为此咱这里也统一做一次大整理和大归类&#xff0c;这也算是划重点了。 俗话说得好&#xff0c…

一次小破站JS代码审计出XSS漏洞思路学习

今天看了小破站一个大佬的分析&#xff0c;感觉思路很有意思&#xff0c;感兴趣的xdm可以到大佬视频下提供的链接进行测试&#xff08;传送门&#xff09;这类社交平台的XSS漏洞利用起来其实危害是特别大的&#xff0c;利用XSS能在社交平台上呈现蠕虫式的扩散&#xff0c;大部分…

电脑C盘被格式化 如何快速将被删的数据文件恢复找回?

如今的互联网时代&#xff0c;不管是办公还是休闲&#xff0c;一般都喜欢在电脑上进行操作&#xff0c;尤其是办公&#xff0c;感觉有了电脑能轻松不少&#xff0c;可以将一些工作中的重要数据保存在电脑里面&#xff0c;那么电脑里面的数据真就很安全了吗&#xff1f;这个就让…

c/c++:二维数组,数组的行数和列数求法sizeof,数组初始化不同形式,5个学生,3门功课,求学生总成绩和功课总成绩

c/c&#xff1a;二维数组&#xff0c;数组的行数和列数求法sizeof&#xff0c;数组初始化不同形式&#xff0c;5个学生&#xff0c;3门功课&#xff0c;求学生总成绩和功课总成绩 2022找工作是学历、能力和运气的超强结合体&#xff0c;遇到寒冬&#xff0c;大厂不招人&#x…

Verilog | 二进制与格雷码

一、格雷码简介 格雷码是一个叫弗兰克格雷的人在 1953 年发明的&#xff0c;最初用于通信。格雷码是一种循环二进制码或者叫作反射二进制码。格雷码的特点是从一个数变为相邻的一个数时&#xff0c;只有一个数据位发生跳变&#xff0c;由于这种特点&#xff0c;就可以避免二进…