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

news2024/12/26 11:36:28

文章目录

  • 概述
  • Tri-Plane 表达
    • 验证 tri-plane 表达
  • 3D GAN 框架
    • CNN生成器backbone以及渲染
    • 超分
    • Dual discrimination
    • Modeling pose-correlated attributes
  • 实验
    • 数据
  • 参考文献

概述

论文名称: 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 表达

在这里插入图片描述
期望一种表达能力强、效率高的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的全隐式表达网络。

实验效果:
在这里插入图片描述
在这里插入图片描述

3D GAN 框架

训练一个3D GAN,但是不需要显式的3D结构或者多视图监督。
对每一张训练图片都关联上相机内外参(通过现成的pose-detectors)。
整体网络结构为: 在这里插入图片描述

与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同时也鼓励了超分后的图像与神经渲染得到的图像尽可能地一致:
在这里插入图片描述
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】

数据

  1. the task of unconditioned 3D-aware generation

参考文献

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

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Class 04 - 日期时间格式

Class 04 - 日期时间格式 R语言中的日期和时间格式tidyverse 和 lubridate 功能包简介tidyverse 简介lubridate 简介 加载 tidyverse 和 lubridate 功能包处理日期和时间日期时间的格式获取当前的日期 today()获取当前的时间 now() 字符串格式转换为日期格式ymd()mdy()dmy()字符…

AlmaLinux 9.2 正式版发布 - RHEL 兼容免费发行版

AlmaLinux 9.2 正式版发布 - RHEL 兼容免费发行版 由社区提供的免费 Linux 操作系统,RHEL 兼容发行版。 请访问原文链接:https://sysin.org/blog/almalinux-9/,查看最新版。原创作品,转载请保留出处。 作者主页:sys…

一个胖乎乎的3D卡片(有点像捏扁的圆柱体)

先上效果图&#xff08;图片是随机的&#xff0c;可能你们看到的和这个不一样。但效果是相同的&#xff09;&#xff1a; 再上代码&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>Titl…

飞浆AI studio人工智能课程学习(1)-大模型时代优质Prompt

文章目录 大模型时代&优质PromptAl生成技术价值概览开始构建你的优质prompt 近十年深度学习模型主要更迭为什么大模型能够有如此强大的表现力大模型与Prompt例1&#xff1a; 画一幅画&#xff0c;呆萌的小猫躺在大泡泡中例2&#xff1a;请生成一张统计图&#xff0c;内容为…

apk自动签名工具

序言 因为360加固&#xff0c;自动签名需要开通VIP&#xff0c;每次加固完了都得手动签名。所以写了个工具。实现通过配置文件配置&#xff0c;拖拽APK自动签名。 支持&#xff1a;V1 V2 V3 V4 签名。通过分析清单文件&#xff0c;自动选择版本。 效果 使用 1.下载jar包 au…

实验室检验系统源码,集检验业务、质量控制、报告、统计分析、两癌等模块于一体

云 LIS 系统针对区域化 LIS 而设计&#xff0c;依托底层云架构&#xff0c;将传统的 LIS 功能模块进行“云化”。 该系统是集检验业务、科室管理、质量控制、报告、统计分析、两癌等模块于一体的数据检验信息平台。通过计算机联网&#xff0c;实现各类仪器数据结果的实时自动接…

新库上线 | CnOpenData舆情云数据

舆情云数据 一、数据简介 网络舆情监测数据是决策者进行数据分析和决策处置的基础。舆情云数据覆盖81000 网站、5600 论坛、1000 平面媒体、2500万 微信账号、3亿 微博账号、300 网络视频、17000 境外媒体、1400万 自媒体账号、2500 新闻客户端、170 电视台 &#xff0c;数据来…

图神经网络:(大型图的有关处理)在Pumbed数据集上动手实现图神经网络

文章说明&#xff1a; 1)参考资料&#xff1a;PYG官方文档。超链。 2)博主水平不高&#xff0c;如有错误还望批评指正。 3)我在百度网盘上传了这篇文章的jupyter notebook和有关文献。超链。提取码8848。 文章目录 Pumed数据集文献阅读继续实验 Pumed数据集 导库 from torch_…

【day2】单片机

目录 【1】GPIO 1.定义 2.应用 I - Input - 输入采集 O - Output - 输出控制 ​编辑 3.GPIO结构框图 4.功能描述 输入功能 输出功能 5.相关寄存器 【2】点亮一盏LED灯 1.实验步骤 2.编程实现 3.编译下载 4.复位上电 练习&#xff1a;实现LED灯闪烁 练习…

Linux - 第15节 - 网络基础(应用层)

1.再谈 "协议" 1.1.协议的概念 协议&#xff0c;网络协议的简称&#xff0c;网络协议是通信计算机双方必须共同遵从的一组约定&#xff0c;比如怎么建立连接、怎么互相识别等。 为了使数据在网络上能够从源到达目的&#xff0c;网络通信的参与方必须遵循相同的规则&…

收集数据集以训练自定义模型的 5 种方法

来源&#xff1a;投稿 作者&#xff1a;王同学 编辑&#xff1a;学姐 在过去的十年中&#xff0c;深度学习技术在计算机视觉领域中的应用逐年增加。其中当属「行人检测」和「车辆检测」最为火爆&#xff0c;其原因之一就是「预训练模型」的「可复用性」。 由于深度学习技术在这…

Pandas+Pyecharts | 新冠疫情数据动态时序可视化

文章目录 &#x1f3f3;️‍&#x1f308; 1. 导入模块&#x1f3f3;️‍&#x1f308; 2. Pandas数据处理2.1 读取数据2.2 按月统计数据 &#x1f3f3;️‍&#x1f308; 3. Pyecharts数据可视化3.1 疫情动态时序地图3.2 疫情动态时序折线图3.3 疫情动态时序柱状图3.4 疫情动态…

Maven中scope(作用范围)详解

目录 一、依赖传递二、依赖范围三、依赖范围对传递依赖的影响四、依赖调节五、可选依赖六、排除依赖七、依赖归类八、依赖管理 一、依赖传递 Maven 依赖传递是 Maven 的核心机制之一&#xff0c;它能够一定程度上简化 Maven 的依赖配置。 如下图所示&#xff0c;项目 A 依赖于…

黄牛为什么能抢走“五月天”的门票?

目录 “史上最难抢票”的五月天演唱会 黄牛为什么能抢到票 黄牛抢票带来哪些坏影响 售票平台为什么挡不住黄牛&#xff1f; 管理上如何有效防控黄牛 技术上如何有效防黄牛 相关技术产品推荐 随着文娱活动的复苏&#xff0c;大量黄牛“卷土袭来”。顶象防御云业务安全情报…

【音视频处理】MP4、FLV、HLS适用范围,在线视频播放哪个更好

大家好&#xff0c;欢迎来到停止重构的频道。 我们之前讨论过直播协议&#xff0c;本期我们讨论在线点播的视频格式。 也就是网络视频文件、短视频常用的格式 如MP4、FLV、HLS等。 我们将详细讨论在线点播场景下&#xff0c;这些视频格式的优劣以及原因。 我们按这样的顺序…

分享几个冷门但实用的网站!

今天给大家推荐几个冷门但实用的网站&#xff0c;免费又好用对于打工人来讲十分友好。 Img Cleaner https://imgcleaner.com/ 一个免费的AI智能图片去水印网站&#xff0c;不用注册登录就可以使用&#xff0c;而且操作也比较简单&#xff0c;上传图片之后调整画笔大小&#xf…

小黑子—Java从入门到入土过程:第十章 - 多线程

Java零基础入门10.0 Java系列第十章- 多线程1. 初识多线程2. 并发和并行3. 多线程的实现方式3.1 一&#xff1a;继承Thread类方式实现3.2 二&#xff1a;实现Runnable接口的方式实现3.3 三&#xff1a;利用Callable接口和Future接口方式实现 4. 多线程中常见的成员方法4.1 线程…

❤ Manifest version 2 is deprecated, and support will be removed in 2023. See..

❤谷歌插件开发遇到的问题 开发谷歌插件提示&#xff1a; ❤js 开发谷歌插件提示 提示 Manifest version 2 is deprecated, and support will be removed in 2023. See… 当导入到chrome&#xff0c;提示如下错误&#xff1a; Manifest version 2 is deprecated, and suppo…

物联网:智慧城市还要做的事情

摘要&#xff1a;本文简介关于智慧城市&#xff0c;还有哪些需要做的事情。 1.传统城市需要向智慧城市转型 传统的城市中心已被证明不足以满足社会当前和未来的各种需求&#xff0c;这增加了应用智慧城市理念的需求。智慧城市可以对健康、交通、休闲和工业等多个领域产生重大…

VLC可见光通信:2、高速LED驱动电路

背景 在VLC可见光通信中,需要高速的控制LED的通断,因此需要高速LED驱动电路。 文中出现的低压是指24V电压以下,中压是指24V~60V电压,高压是指60V ~ 160V。 低速是指500KHZ以下,高速是指2MHZ。 小功率是指20W以下,大功率指20W~100W。 低压小功率LED低速&高速:20W、…