0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何以模型和场景为中心的方式控制数据生成

3D视觉工坊 来源:计算机视觉深度学习和自 作者:黄浴 2022-10-26 11:06 次阅读

训练计算机视觉模型通常需要在各种场景配置和属性下收集和标注大量图像。这个过程非常耗时,确保捕获的数据分布很好地映射到应用程序场景的目标域也是一个挑战。

最近,合成数据已成为解决这两个问题的一种方法。然而,现有的方法要么需要人类专家手动调整每个场景属性,要么用几乎没有控制的自动方法;这需要渲染大量随机的数据变异,其过程很慢,并且对于目标域来说通常是次优的。

作者提出了第一个完全可微分的合成数据流水线,在闭环中用神经辐射场(NERF),其具备目标应用的损失函数。这个方法按需生成数据,无需人力,最大限度地提高目标任务的准确性。

该方法在合成和真实目标检测任务中具备有效性。一个新的“YCB-in-the-Wild”数据集和基准,为现实环境中具有不同姿态的目标检测提供了测试场景。

最近,图像生成技术神经辐射场(NeRF),作为用基于神经网络的渲染器,替代传统光栅化和光线跟踪图形学流水线的方法。这种方法可以生成高质量的场景新视图,无需进行明确的3D理解。NeRF的最新进展允许控制其他渲染参数,如照明、材质、反照率、外观等。因此,被广泛应用于各种图形和视觉任务。

NeRF及其变型具有一些诱人的特性:(i)可差分渲染,(ii)与GANs和VAEs不同的对场景属性的控制,以及(iii)与传统渲染器相比,数据驱动的模式,而传统渲染器需要精心制作3D模型和场景。这些属性适合于为给定目标任务按需生成最佳数据。

NeRF更适合学习生成合成数据集的优势在于两个方面。 首先,NeRF学习仅基于图像数据和摄像头姿态信息从新视图生成数据。

相反,传统的图形学流水线需要目标的3D模型作为输入。获得具有正确几何、材质和纹理属性的精确3D模型通常需要人类专家(即艺术家或建模师)。这反过来限制了传统图形学流水线在许多新目标或场景的大规模渲染中的可扩展性。

其次,NeRF是一种可微分的渲染器,因此允许通过渲染流水线进行反向传播,学习如何以模型和场景为中心的方式控制数据生成。 工作目标是自动合成最佳训练数据,最大限度地提高目标任务的准确性,取名为Neural-Sim

在这项工作中,将目标检测作为目标任务。此外,最近,NeRF及其变型(NeRFs)已用于合成复杂场景的高分辨率真实感图像。这里提出了一种优化NERF渲染参数的技术,生成用于训练目标检测模型的最佳图像集。

如图所示:(a) 按需合成数据生成:给定目标任务和测试数据集,Neural- Sim使用完全可微分的合成数据生成流水线按需生成数据,最大限度地提高目标任务的精度。(b) 训练/测试域间隙导致检测精度显著下降(黄色条至灰色条)。动态优化渲染参数(姿势/缩放/照明),生成填充该间隙的最佳数据(蓝色条)。

a0a81ae0-4852-11ed-a3b6-dac502259ad0.png


NeRF模型

NeRF表示为V =(φ,ρ),把观察方向(或摄像头姿态)作为输入,并渲染沿V观看的场景图像x=NeRF(V)。注意,这里技术通常广泛适用于不同的渲染器。这项工作中还优化了NeRF-in-the-wild(NeRF-w),允许外观和照明变化以及姿势变化。

合成训练数据生成

考虑渲染参数V的参数概率分布pψ,其中ψ表示分布的参数。应注意,ψ对应于所有渲染参数,包括姿势/缩放/照明,这里,为了简单起见,ψ表示姿势变量。为了生成合成训练数据,首先采样渲染参数V1、V2、…、VN∼ pψ。然后,用NeRF生成具有各自渲染参数Vi的合成训练图像xi=NeRF(Vi)。 使用现成的前景提取器获得标签y1,y2,…,yN。由此生成的训练数据集表示为Dtrain = {(x1,y1)、(x2,y2),…,(xN,yN)}。

优化合成数据生成

目标是优化渲染分布pψ,在Dtrain上训练目标检测模型使得在Dval上获得良好的性能。如此构建一个两层优化,即:

a0c77e6c-4852-11ed-a3b6-dac502259ad0.png

其中

a0dfe2ea-4852-11ed-a3b6-dac502259ad0.png

a0f6458a-4852-11ed-a3b6-dac502259ad0.png

这里求解方法采用如下的梯度计算:其分成两个项分别估计,∇NeRF对应于通过从NeRF生成数据集的反向传播,以及∇TV对应于通过训练和验证的近似反向传播

a1164a42-4852-11ed-a3b6-dac502259ad0.png

如图所示Neural-Sim的流水线:从经过训练的神经渲染器(NeRF)中找到生成视图的最佳参数,用作目标检测的训练数据。目标是找到能够生成合成训练数据Dtrain的最佳NeRF渲染参数ψ,在Dtrain上训练的模型(取RetinaNet为例)最大化验证集Dval表示的下游任务的精度。


a131ca7e-4852-11ed-a3b6-dac502259ad0.png

近似计算:

a157ff32-4852-11ed-a3b6-dac502259ad0.png

然后基于链式法则得到:

a17da4ee-4852-11ed-a3b6-dac502259ad0.png

为计算采用一些近似方法:

对于位姿参数离散区间上的分布pψ,提出了一种ψ的重新参数化,提供了dVi/dψ的有效近似(工具 1)。

用一种两次向前一次向后(twice-forward-once-backward)的方法(工具2),大大减少了(2)中梯度近似的内存和计算开销。如果没有这种新技术,实现中需要涉及大矩阵和计算图的高计算开销。

即使使用上述技术,在GPU内存方面,(3)中计算第一项和第二项的开销很大,取决于图像大小。用逐块梯度计算方法(工具 3)克服了这一问题。

关于工具1中重新参数化的实现,采用bin-samplinng,如图所示:首先将位姿空间离散为一组k个bins,然后对其进行采样以生成NeRF的视图参数。为了在采样过程中反向传播,用Gumble softmax的“重新参数化技巧”,从类别(即bin)分布中近似样本。在每个bin中,均匀采样。

a1979994-4852-11ed-a3b6-dac502259ad0.png

这里y的计算如下

a1bd50e4-4852-11ed-a3b6-dac502259ad0.png

这样∇NeRF的计算变成:

a1d378ec-4852-11ed-a3b6-dac502259ad0.png

整个梯度计算包括三项:

a1e8e8da-4852-11ed-a3b6-dac502259ad0.png  

而工具2提出的“两次向前一次向后“方法是这样的:在第一个前向路径中,不计算梯度,只渲染图像形成Dtrain,保存用于渲染的y,φj的随机样本。然后,转向梯度计算(3)。在第二次通路NeRF时,保持相同的样本,去计算梯度(1)和(2)。 所谓工具3的逐块梯度计算如下:

a20eb646-4852-11ed-a3b6-dac502259ad0.png

NeRF-in-the-wild(NeRF-w)扩展了普通NeRF模型,允许依赖于图像的外观和照明变化,从而可以显式模拟图像之间的光度差异。

NeRF-w沿观看方向V作为输入的是外观嵌入,表示为l,图像呈现为x=NeRF(V,l)。

对于NERF-w,位姿(V)的优化与上述相同。照明的有效优化,则利用NeRF-w的一个值得注意的特性:允许在颜色和照明之间进行平滑插值。这能够将照明优化为连续变量,其中照明(l)可以写成可用照明嵌入(li)的仿射函数,l = sum(ψi∗ li)其中sum(ψi)= 1。

为从等式(3)计算梯度,∂xi/∂l使用工具2和工具3,以与上述相同的方式计算l,并且dl/dψ项计算是直接的,并通过投影梯度下降(projected gradient descent)进行优化。

实现细节如下:用传统渲染Blender-Proc,100幅具有不同摄像头姿态和缩放因子的图像,为每个YCB目标训练一个NeRF-w模型。用RetinaNet作为下游目标检测器。

为了加速优化,在训练期间固定主干。在双层优化步骤中,用Gumble softmax 温度τ = 0.1。在每次优化迭代中,为每个目标类渲染50幅图像,并训练两个epoch的 RetinaNet。

基线方法包括:提出的方法与学习模拟器参数的两种流行方法进行比较。第一个基线是“Learning to simulate (LTS)“,它提出了一种基于REINFORCE的方法来优化模拟器参数。

还要注意,meta-sim是一种基于REINFORCE的方法。接下来,第二个考虑Auto-Sim,它提出了一种学习模拟器参数的有效优化方法。

NS是指提出的方法没有做两层优化的情况,NSO是指提出的方法采用两层优化的情况。

实验结果如下:

a22f3ba0-4852-11ed-a3b6-dac502259ad0.pnga254877a-4852-11ed-a3b6-dac502259ad0.pnga27ddcc4-4852-11ed-a3b6-dac502259ad0.pnga2aa3cf6-4852-11ed-a3b6-dac502259ad0.png








审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • gpu
    gpu
    +关注

    关注

    27

    文章

    4421

    浏览量

    126710
  • 摄像头
    +关注

    关注

    59

    文章

    4609

    浏览量

    92901
  • 3D模型
    +关注

    关注

    1

    文章

    67

    浏览量

    15586
  • 提取器
    +关注

    关注

    0

    文章

    14

    浏览量

    8092

原文标题:Neural-Sim: 采用NeRF学习如何生成训练数据

文章出处:【微信号:3D视觉工坊,微信公众号:3D视觉工坊】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    生成式 AI 进入模型驱动时代

    随着ChatGPT和大型语言模型(LLM)呈现爆炸式增长,生成式人工智能(GenerativeAI)成为近来的一大热词。由此引发了一场争论:哪种AI模型使用的训练参数最多?与此同时,更多
    的头像 发表于 04-13 08:12 207次阅读
    <b class='flag-5'>生成</b>式 AI 进入<b class='flag-5'>模型</b>驱动时代

    NanoEdge AI的技术原理、应用场景及优势

    能耗并提高数据安全性。本文将对 NanoEdge AI 的技术原理、应用场景以及优势进行综述。 1、技术原理 NanoEdge AI 的核心技术包括边缘计算、神经网络压缩和低功耗硬件设计。边缘计算
    发表于 03-12 08:09

    小白学大模型:什么是生成式人工智能?

    来源:Coggle数据科学什么是生成式人工智能?在过去几年中,机器学习领域取得了迅猛进步,创造了人工智能的一个新的子领域:生成式人工智能。这些程序通过分析大量的数字化材料产生新颖的文本、图像、音乐
    的头像 发表于 02-22 08:27 522次阅读
    小白学大<b class='flag-5'>模型</b>:什么是<b class='flag-5'>生成</b>式人工智能?

    XMC4700 DAVE APP SPI MASTER如何以更高的频率接收数据

    XMC4700 DAVE APP SPI MASTER如何以更高的频率接收数据
    发表于 01-19 06:21

    Microchip CEO博文《AI将如何重新定义数据中心?》

    训练和运行的模型的大小,生成式AI的基础设施需求预计将比早期AI模型高出10到100倍。事实上,所有数据中心基础设施都受到这一趋势的影响,包括电力、HVAC、网络和物理布局。
    的头像 发表于 12-11 14:50 957次阅读
    Microchip CEO博文《AI将如何重新定义<b class='flag-5'>数据中心</b>?》

    从HumanEval到CoderEval: 你的代码生成模型真的work吗?

    项目中的选取了代码生成任务来构建CoderEval,并根据对外部依赖的程度为标准将这些任务分为6个等级、根据生成的目标分为3类生成任务,以更多维地评估不同大模型在不同上下文
    的头像 发表于 11-25 15:55 768次阅读
    从HumanEval到CoderEval: 你的代码<b class='flag-5'>生成</b><b class='flag-5'>模型</b>真的work吗?

    模型时代,数据中心将转向何方?

    数据中心模型
    脑极体
    发布于 :2023年11月22日 09:01:41

    OpenVINO赋能潜在一致性模型(LCMs)的高速图像生成

    提起生成式 AI,从去年开始爆火至今,相信无论是不是 AI 领域的开发者,对这个概念都是毫不陌生了。说到生成式 AI 领域的典型应用场景模型,相信大家最先想到的就是文生图这个
    的头像 发表于 11-09 17:05 370次阅读
    OpenVINO赋能潜在一致性<b class='flag-5'>模型</b>(LCMs)的高速图像<b class='flag-5'>生成</b>

    智能悠然而昇,应用皆可模型丨中软国际邀您共鉴AIGC大模型场景应用新服务、算力新方案

    ​ 以强大算力为基础的生成式大模型持续演进,驱动AI技术应用跨越拐点,能力价值不断“涌现”。加速大模型走出研发中心和实验室,真正泛化应用于实际商业和生活
    的头像 发表于 10-13 21:10 318次阅读
    智能悠然而昇,应用皆可<b class='flag-5'>模型</b>丨中软国际邀您共鉴AIGC大<b class='flag-5'>模型</b><b class='flag-5'>场景</b>应用新服务、算力新方案

    OpenHarmony应用模型的构成要素与Stage优势

    迁移和多端协同 Stage模型实现了应用组件与UI解耦: 在跨端迁移场景下,系统在多设备的应用组件之间迁移数据/状态后,UI便可利用ArkUI的声明式特点,通过应用组件中保存的数据/状
    发表于 09-26 16:48

    如何加速生成2 PyTorch扩散模型

    加速生成2 PyTorch扩散模型
    的头像 发表于 09-04 16:09 821次阅读
    如何加速<b class='flag-5'>生成</b>2 PyTorch扩散<b class='flag-5'>模型</b>

    基于扩散模型的图像生成过程

    近年来,扩散模型在文本到图像生成方面取得了巨大的成功,实现了更高图像生成质量,提高了推理性能,也可以激发扩展创作灵感。 不过仅凭文本来控制图像的生成
    的头像 发表于 07-17 11:00 2110次阅读
    基于扩散<b class='flag-5'>模型</b>的图像<b class='flag-5'>生成</b>过程

    MBD的Simulink使用技巧:详解代码生成中的模型与代码(2)

    上一篇文章中提到,生成嵌入式代码,必须选择定步长求解器。实际中,生成嵌入式代码几乎不会使用Simulink模型库中的连续模型,往往需要通过最简单的离散模块来实现算法
    的头像 发表于 07-13 15:13 2981次阅读
    MBD的Simulink使用技巧:详解代码<b class='flag-5'>生成</b>中的<b class='flag-5'>模型</b>与代码(2)

    多层数据管理方案解决AUTOSAR CP Composition级别共享代码生成问题

    在实际的项目中,我们经常会遇到大规模模型代码生成的共享代码问题,而且常常还会涉及到自定制存储类,AUTOSAR Composition,多层数据管理方案等内容。该问题是一类经典问题,基本上每个月都会
    的头像 发表于 05-11 09:47 635次阅读
    多层<b class='flag-5'>数据</b>管理方案解决AUTOSAR CP Composition级别共享代码<b class='flag-5'>生成</b>问题

    蓝牙多连接应用场景举例

    (一致性较好);但是由于目前模型的限制最低的功耗大概在3MA左右,且网络中节点传输数据量较小,一般建议按照8****字节一包的数据来下发,同时上报机制稳定性较差; 2-2、 飞易通的星型671多连接组网
    发表于 05-09 09:09