论文笔记:tri-plane 【持续更新】

这篇具有很好参考价值的文章主要介绍了论文笔记:tri-plane 【持续更新】。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

概述

论文名称: Efficient Geometry-aware 3D Generative Adversarial Networks
Project page: https://github.com/NVlabs/eg3d

任务: 从一堆单视角的2D图像中生成有效的三维表达。
途径:

  1. 混合的显式与隐式三维表达;
  2. dual-discremination的训练策略,以保持神经渲染之间的一致性。
  3. 为生成器引入 pose-based的条件,能够解耦与pose相关的特性(比如面部表达)

其他优势:
从神经渲染过程中解耦特征生成,这使得能够直接应用SOTA的2D CNN特征生成器。可以实现在各种3D场景内的泛化,同时也可以在3D多视角一致的神经体渲染过程中受益。
【为什么2D CNN特征生成器可以实现泛化,和从多视角一致的渲染过程中收益?】

Tri-Plane 表达

tri-plane,论文阅读,人工智能
期望一种表达能力强、效率高的3D数据表达。
本节先一个 single-scene over-fitting (SSO)的实验中进行说明,而后再讨论其如何被引入到GAN框架中。
在 "tri-plane"的表达中,首先将显式的特征,归到三个轴正交的特征平面上,每一个特征平面的size都是 N ∗ N ∗ C N * N * C NNC,显然, N N N是空间分辨率, C C C是特征通道数。
进而,可以通过将任何一个三维点 x ∈ R 3 x \in \mathbb{R}^3 xR3投影到三个特征平面上,获取其对应的特征向量 ( F x y , F x z , F y z ) (F_{xy}, F_{xz}, F_{yz} ) (Fxy,Fxz,Fyz)(可通过双线性插值的方式),而后,再将获取的三个特征向量进行累加,即得到所谓的 “aggreated 3D Features” F \mathbf{F} F
再引入一个小型的MLP,将这个 F \mathbf{F} F输出为颜色与密度。
这种 tri-plane的表达,最大的优势在于效率(decoder变得比较小;将大部分的表达能力都转移给了显式的特征)。

验证 tri-plane 表达

为了验证这种表达的能力,使用一种通用的新视角合成的实验设置。即,直接去优化 planes的特征以及decoder的权重,以fit 360°的视角(Tanks & Temples 数据集)。

实验设定:

  • 特征平面: N = 512 N = 512 N=512 C = 48 C = 48 C=48
  • decoder: 四层MLP,128个隐藏单元,一个傅里叶特征编码。

对比对象:
一个dense feature volume(具有相同的capacity),具体使用了一个SOTA的全隐式表达网络。

实验效果:
tri-plane,论文阅读,人工智能
tri-plane,论文阅读,人工智能

3D GAN 框架

训练一个3D GAN,但是不需要显式的3D结构或者多视图监督。
对每一张训练图片都关联上相机内外参(通过现成的pose-detectors)。
整体网络结构为: tri-plane,论文阅读,人工智能

与SSO中的设定不同,planes中的feature并不是由多张输入图直接进行优化的,而是会根据GAN的设定进行了一定程度的修改 —— 基于StyleGAN2的backbone,生成了tri-plane的特征(channels = 32),且并不是生成一个RGB图,而是生成一个32通道的特征图(给定相机pose)。而后,接入一个“super-resolution”模块,以进行上采样与refine。输出的结果将被一个稍做改动的StyleGN2 discriminator进行判别。

整个网络通过一种端到端的方式进行训练(随机初始化),使用 non-saturating GAN 损失函数,以及 R1 regularization (借鉴了StyleGAN2的训练机制)。

为了加速训练,使用了两阶段的训练策略,第一阶段使用一个较低的分辨率:一个reduced ( 6 4 2 64^2 642)的神经渲染分辨率,第二阶段进行短暂微调,并以 full( 12 8 2 128^2 1282) 神经渲染分辨率进行训练。

CNN生成器backbone以及渲染

特征backbone使用的是StyleGAN2 CNN生成器。

首先,随机的潜在编码和相机参数会经过一个映射网络,生成一个中间的潜在编码。然后,这个中间的潜在编码会调制一个独立的合成网络的卷积核。

修改了StyleGAN2的CNN backbone,使得其生成 256 ∗ 256 ∗ 96 256 * 256 * 96 25625696的特征图,而不是三通道的RGB图片。这些特征图进一步地reshape成三个 32通道的planes。StyleGAN的表达给网络提供了一个well-behaved的latent space,这个latent space能够较好地达成 style-mixing以及latent-space interpolation.

decoder只使用一个隐藏层,隐藏层有64个units,以及softplus 激活函数。这个MLP没有使用位置编码,坐标输入,或者视角输入。输出为一个标量体密度 σ \sigma σ以及一个32通道的特征,名为 C o l o r Color Color。这两个输出进一步地被喂入 Volume Rendering模块(借鉴了参考文献[45]),以生成2D的feature map。

在本文的大部分实验中,渲染的特征图 I F I_{F} IF为32通道,分辨率为 12 8 2 128^2 1282,每条ray上采样 96 96 96个sample(“…with 96 total depth samples per ray.”)。

超分

尽管tri-plane的表达已经很高效,但是处理高分辨率图片仍然比较困难。
因此,引入了一个超分模块。

超分模块由两个StyleGAN2调制的卷积层块组成。

为了减少纹理粘连的问题,作者禁用了每个像素的噪声输入,并重复使用了模型的映射网络来调制这些层。

Dual discrimination

在标准的2D GAN训练过程中,渲染结果最终由一个2D卷积分辨器进行分辨。
我们主要基于StyleGAN2做了两个修改。
首先,为了避免生成图像的多视角不一致,将一张渲染的特征图 I F I_{F} IF的前三个通道设计成低分辨率的RGB图 I R G B I_{RGB} IRGB

直觉上来看,dual discremination而后会去尽可能地确保 I R G B I_{RGB} IRGB与超分图像 I R G B + I_{RGB}^{+} IRGB+高度相似。实现方式是: 将 I R G B I_{RGB} IRGB上采样到和 I R G B + I_{RGB}^{+} IRGB+同分辨率,并将两张图像concat,得到一个六通道的图像。这个六通道的图像将会被送到判别器去。

Dual discrimination同时也鼓励了超分后的图像与神经渲染得到的图像尽可能地一致:
tri-plane,论文阅读,人工智能
GAN使用条件策略来让鉴别器了解生成图像的相机姿态。具体来说,我们将**渲染相机的内部和外部矩阵(统称为P)**作为条件标签传递给鉴别器,这是从StyleGAN2-ADA中采用的条件策略。我们发现,这种条件引入了额外的信息,可以指导生成器学习正确的3D先验知识。

Modeling pose-correlated attributes

真实世界数据集(如FFHQ)中存在偏差问题,这些偏差会将相机姿态与其他属性(如面部表情)相关联,如果不做特别的处理则会导致视角不一致的结果。例如,相机角度与人脸的表情是相关联的(请参见补充材料)。

虽然完完全全地对模拟数据集中固有的属性进行建模,对于重新生成最佳图像质量非常重要,但这些不需要的属性(比如面部表情)在多视角一致的合成任务推理时,还是需要被解耦。

相关工作已经成功地实现了视角一致性[4, 58, 59]或建模相机姿态与外观一致性[47, 49],但难以同时实现两者。

为此,网络提供了backbone映射网络,不仅仅将latent code 向量 v v v作为输入,同时也将相机参数作为输入,这主要参考了条件生成策略[26]。

在训练过程中,pose conditioning允许生成器对数据中pose-independent的隐含偏差进行建模。

为了避免场景在推理的时候随着相机pose移动而移动,文章在移动相机轨迹进行渲染的时候,将生成器固定在某一个pose位置。

什么意思?

但是,如果总是这样处理的话,会导致GAN总是产生一些朝向相机的图片。为了尽可能避免这个情况,文章随机地交换 P P P中的条件pose和另外一个随机pose。

条件pose是怎么确定的,随机pose又是怎么确定的,50%是一个超参数吗?

实验

【todo】文章来源地址https://www.toymoban.com/news/detail-782102.html

数据

  1. the task of unconditioned 3D-aware generation

参考文献

  • two-pass importance sampling 体渲染模块[45]:
  • 条件生成策略[26]

到了这里,关于论文笔记:tri-plane 【持续更新】的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 人工智能与神经元的内容梳理(持续更新)

    在过去的几年中,深度学习模型已应用于不同领域的各种任务/应用。随着深度学习在不同领域的成熟和数量的增加,我决定整理相关资料来进行学习。 神经元(选读)阅读 函数极限与连续性 导数与微分 不定积分 定积分 常微分方程与数学模型 函数可积性与广义积分 无穷级

    2024年02月06日
    浏览(41)
  • 人工智能TensorFlow PyTorch物体分类和目标检测合集【持续更新】

    1. 基于TensorFlow2.3.0的花卉识别 基于TensorFlow2.3.0的花卉识别Android APP设计_基于安卓的花卉识别_lilihewo的博客-CSDN博客 2. 基于TensorFlow2.3.0的垃圾分类 基于TensorFlow2.3.0的垃圾分类Android APP设计_def model_load(img_shape=(224, 224, 3)_lilihewo的博客-CSDN博客   3. 基于TensorFlow2.3.0的果蔬识别系统的

    2024年02月09日
    浏览(58)
  • 人工智能专业毕业设计最新最全选题精华汇总-持续更新中

      大四是整个大学期间最忙碌的时光,一边要忙着准备考研、考公、考教资或者实习为毕业后面临的升学就业做准备,一边要为毕业设计耗费大量精力。学长给大家整理了人工智能专业方向最新精选选题,如遇选题困难或选题有任何疑问,都可以问学长哦(见文末)! 目录 开题指

    2024年02月07日
    浏览(45)
  • 【全年汇总】2023年CCF人工智能会议截稿时间汇总(持续更新)

    本博文是根据2022年CCF会议推荐的 人工智能 领域相关会议目录撰写。 截稿时间的总时间轴内容将会持续更新...... 往年投稿及录用情况及链接详见图片后面的内容。 由于一些会议的投稿时间还没公开,因此根据往年投稿时间在 表格中使用 ~ 符号表示大概的投稿时间 (一旦会

    2024年02月05日
    浏览(63)
  • 【通用人工智能AGI元年-各领域的精彩AI/LLM(持续更新)】

    通用人工智能(AGI,Artificial General Intelligence)是指一种具备人类智能水平的机器智能,能够在广泛的领域和任务中理解、学习和应用知识,与人类一样具有学习、推理、规划、创造、通用理解等能力。与当前主流的专用人工智能(ANI,Artificial Narrow Intelligence)相比,AGI能够执

    2024年04月17日
    浏览(52)
  • 【论文阅读】UNICORN:基于运行时来源的高级持续威胁检测器(NDSS-2020)

    UNICORN: Runtime Provenance-Based Detector for Advanced Persistent Threats NDSS-2020 哈佛大学 Han X, Pasquier T, Bates A, et al. Unicorn: Runtime provenance-based detector for advanced persistent threats[J]. arXiv preprint arXiv:2001.01525, 2020. 源码:UNICORN https://github.com/crimson-unicorn   高级持续性威胁 (APT) 由于其 “低速” 攻

    2024年02月14日
    浏览(62)
  • 学习经验分享【28】目标检测硕士大论文写作模板初稿【持续更新】

    前言 结合本人读研的经验,后续会持续分享目标检测类硕士大论文的写作技巧以及写作方法 ,形成写作模板,跟考研英语要背写作套路模板一样, 只要按照写作模板进行更新内容完善研究内容的话,就能达到至少良好的盲省成绩 , 让千千万的硕士生顺利毕业变得不再那么

    2024年02月02日
    浏览(49)
  • 人工智能(第三版)阅读笔记

      要确定人工智能的优缺点,就必须首先理解和定义智能。   R.斯腾伯格:智能是个体从经验中学习、正确推理、记忆重要信息,以及应对日常生活需求的认知能力。 不同的动物物种具有不同程度的智能,但并不是所有能够思维的物体都有智能--智能也许就是高效以及有效的思

    2024年01月23日
    浏览(49)
  • QT学习笔记(持续更新)

    1.自定义信号: 写在signals下,void,需要声明,不需要实现,可以有参数,可重载。 2.槽: 写在public下,void,需要声明,需要实现,可有参数,可发生重载。 3.断开信号: disconnect 4.emit: 使用emit发送信号 5.示例关键代码如下: 1.widget.cpp 2.widget.h 3.student.cpp 4.teacher.h和st

    2023年04月26日
    浏览(40)
  • Python学习笔记(持续更新)

    目录 一、基础语法 1.Print()函数  2.变量的定义和使用 3.整数类型  4.浮点类型 5.布尔类型 6.字符串类型 7.数据类型转换 8.注释 9.input()函数 10.算术运算符 11.赋值运算符 12.比较运算符 13.布尔运算符 14.逻辑运算符 15.运算符的优先级 16.对象的布尔值 二、结构 1.分支结构 2.ra

    2024年02月10日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包