EG3D: Efficient Geometry-aware 3D Generative Adversarial Networks 学习笔记

1 Contributions

  1. 混合显式-隐式网络架构:提出了一种 Tri-plane 的3D表征方法,结合显式体素网格与隐式解码器的优点

    • 速度快,内存效率高;
    • 支持高分辨率生成,保持3D表征的灵活性和表达能力。
    • 与纯显式或隐式方法相比,既解决了查询速度慢的问题,又能更好地扩展到高分辨率。
  2. 使用超分辨率模块 Super Resolution :解决高分辨率训练和渲染的计算限制。

  3. 双鉴别器 dual-discrimination:在生成器的渲染结果与最终输出之间引入双重判别器,增强了神经渲染与最终输出之间的一致性,避免了视图不一致的问题。即将超分辨率之前的图像和超分辨率之后的拼在一起鉴别。

  4. 姿态条件生成 pose-based conditioning to the generator

    • 引入基于姿态的条件生成方法,使生成器在推理时能输出与多视图一致的图像。

    • 同时,能够很好建模训练数据中与姿态相关的属性分布(如人脸表情的变化)。

  5. 特征生成与神经渲染的解耦

    • 利用2D GAN(如StyleGAN2)的特征生成器,结合3D神经体积渲染,提高效率和效果。

2 Related Works

image-20241117093034122
  • 隐式表示(NeRF):这些方法需要大型的全连接网络,每次查询都需要完整的网络计算,速度慢
  • 显式表示(Voxels):评估速度快,但内存开销大,难以扩展到高分辨率或复杂场景。
  • 混合显式-隐式表示:结合了以上两种方法的优点,提供了计算和内存效率更高的架构。局部隐式表示和混合架构通过在显式存储的基础上,使用隐式解码器来聚合特征,从而实现高效的渲染。

3 Method

image-20241117094416393

Tri-plane特征的生成

  • 在GAN设置中,Tri-plane特征是由2D卷积的StyleGAN2骨干网络生成的
  • 每个Tri-plane包含32个通道,共96个通道。

神经渲染和超分辨率模块

  • 在GAN设置中,神经渲染器从每个32通道的Tri-plane中聚合特征,预测出给定相机姿态下的32通道特征图像
  • 随后,通过一个“超分辨率”模块对这些神经渲染的原始图像进行上采样和细化。

判别器

  • 生成的图像由稍微修改的StyleGAN2判别器进行评判。

训练策略

  • 加速训练
    • 首先,以较低的神经渲染分辨率(64×64)进行训练;
    • 然后,在完整的神经渲染分辨率(128×128)上进行短时间的微调。
  • 正则化:额外的实验发现,对密度场的光滑度进行正则化有助于减少3D形状中的伪影
3.1 Tri-plane混合3D表示

作者提出了一种新的 Tri-plane 混合显式-隐式3D表示方法

  • Tri-plane 表示:将3D空间的特征投影到三个轴对齐的正交平面(XY、XZ、YZ平面),每个平面具有尺寸为 N×N×C,其中 N 是分辨率,C 是通道数。
  • 特征查询和聚合:对于任意的3D点,通过在三个平面上进行双线性插值获取特征,然后将这些特征向量相加,得到聚合的3D特征。
  • 轻量级解码器:使用小型的MLP解码器将聚合的特征转换为颜色和密度信息。
  • 体渲染:通过神经体渲染生成最终的图像。

优势

  • 高效性:相比于完全隐式的表示,减少了计算成本,因为解码器更小,主要的计算集中在显式存储的特征上。
  • 表现力:尽管表示紧凑,但仍具有足够的表达能力,能够捕捉复杂的细节。
  • 扩展性:特征平面的存储需求为 O(N²),而体素网格为 O(N³),因此在相同内存条件下,Tri-plane表示可以使用更高的分辨率。
3.2 CNN生成器骨干网络与渲染

Tri-plane 特征的生成

  • 在GAN设置中,Tri-plane 表示的特征是由StyleGAN2 CNN生成器生成的。
  • 随机潜码和相机参数首先通过一个映射网络处理,得到中间潜码,用于调制一个单独的合成网络的卷积核。

输出形状的修改

修改了StyleGAN2骨干网络的输出形状:不再生成三通道的RGB图像,而是生成一个256×256×96的特征图像。这个特征图像在通道维度上拆分并重塑,形成三个32通道的平面(对应于Tri-plane表示)。

特征采样与解码

  • 从Tri-plane中采样特征,通过求和进行聚合
  • 使用一个轻量级解码器处理聚合后的特征:解码器是一个具有单隐藏层(64个单元)和softplus激活函数的MLP

混合表示的查询与输出

  • 这个混合表示可以对连续坐标进行查询,输出一个标量密度σ和一个32通道的特征
  • 然后,这些输出被神经体积渲染器处理,将3D特征体积投影到2D特征图像上。

体积渲染

  • 体积渲染使用了与NeRF中相同的方法实现。
  • 特征图像的生成:在GAN框架中,体积渲染生成的是特征图像,而不是RGB图像。因为特征图像包含了更多信息,可以有效地用于后续的图像空间细化。
3.3 超分辨率 Super Resolution

虽然Tri-plane表示相比之前的方法在计算效率上有显著提升,但在高分辨率下直接进行训练或渲染仍然太慢。因此,作者选择在中等分辨率(如128×128)下执行体渲染,然后依靠图像空间的卷积操作将神经渲染结果上采样到最终的图像尺寸(256×256或512×512)。

超分辨率模块的设计:

  • 结构:由两个包含StyleGAN2调制卷积层的模块组成,这些卷积层对32通道的特征图像 I F I_F IF 进行上采样和细化,生成最终的RGB图像 I R G B + I^+_{RGB} IRGB+
  • 细节:禁用了每像素的噪声输入,以减少纹理粘连现象(texture sticking)。重用了骨干网络的映射网络来对这些卷积层进行调制。
3.4 双重判别 Dual Discrimination

在标准的2D GAN训练中,生成的图像通常由2D卷积判别器进行评判。作者使用了StyleGAN2的判别器,并进行了两个修改:

  1. 双重判别:解决先前工作中出现的多视图不一致问题。

    • 将神经渲染的特征图像 I F I_F IF 的前三个特征通道解释为低分辨率的RGB图像 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 I R G B + I^+_{RGB} IRGB+ 进行通道上的连接,形成一个六通道的图像输入判别器(见图4)。

    • 对每个真实图像,生成一个适当模糊的副本,与原图像连接,形成六通道输入

  2. 使判别器感知相机姿态:按照StyleGAN2-ADA中的条件生成策略,将渲染相机的内参和外参矩阵(统称为 §)作为条件标签传递给判别器。

    • 作用:这一条件输入为判别器提供了额外的信息,引导生成器学习正确的3D先验
3.5 姿态条件化 pose-based conditioning

摄像机姿态与其他属性(例如面部表情)存在相关性。如果直接处理,可能会导致视图不一致的结果。例如,摄像机相对于人脸的角度与微笑可能存在相关性。

生成器的姿态条件化(Generator Pose Conditioning)

  • 方法:在提供给生成器的映射网络时,除了潜码向量 (z) 外,还输入相机参数 §,遵循条件生成策略。
  • 作用:
    • 通过让生成器知晓渲染相机的位置,使目标视角能够影响场景的合成。
    • 在训练过程中,姿态条件化使生成器能够建模数据集中隐含的姿态依赖偏差,从而可靠地再现数据集中的图像分布。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

第十六届蓝桥杯模拟赛(第一期)-Python

本次模拟赛我认为涉及到的知识点: 分解质因数 Python的datetime库 位运算 简单dp 1、填空题 【问题描述】 如果一个数 p 是个质数,同时又是整数 a 的约数,则 p 称为 a 的一个质因数。 请问 2024 有多少个质因数。 【答案提交】 这是一道结…

ubuntu 安装 docker 记录

本文假设系统为 Ubuntu,从 16.04 到 24.04,且通过 APT 命令安装。理论上也其他 Debian 系的操作系统。 WSL 也一样。 感觉 Docker 官方在强推 Docker Desktop,搜索 Docker 安装文档,一不小心就被导航到了 Docker Desktop 的安装页…

太速科技-512-基于ZU19EG的4路100G 8路40G的光纤汇流计算卡

基于ZU19EG的4路100G 8路40G的光纤汇流计算卡 一、板卡概述 本板卡系我司自主设计研发,基于Xilinx公司Zynq UltraScale MPSOC系列SOC XCZU19EG-FFVC1760架构,ARM端搭载一组64-bit DDR4,总容量达4GB,可稳定运行在2400MT/s…

C#基础56-60

56.字符数组x中存有任意一串字符;串中的所有小写字母改写成大写字母,如果是大写字母改为小写字母,其他字符不变。最后把已处理的字符串仍重新存入字符数组x中,最后调用函数把结果输出到控制台中。 57.求出100以上1000以内所有个位…

计算机网络:应用层知识点概述及习题

网课资源: 湖科大教书匠 1、概述 习题1 1 在计算机网络体系结构中,应用层的主要功能是 A. 实现进程之间基于网络的通信 B. 通过进程之间的交互来实现特定网络应用 C. 实现分组在多个网络上传输 D. 透明传输比特流 2 以下不属于TCP/IP体系结构应用层范畴…

深入浅出摸透AIGC文生图产品SD(Stable Diffusion)

hihi,朋友们,时隔半年(24年11月),终于能腾出时间唠一唠SD了🤣,真怕再不唠一唠,就轮不到SD了,技术更新换代是在是太快! 朋友们,最近(24年2月)是真的没时间整理笔记,每天都在疯狂的学习Stable Diffusion和WebUI & ComfyUI,工作实在有点忙,实践期间在飞书上…

uniapp+vue2+uview2.0导航栏组件二次封装

样式 代码 <template><view class"navBar"><u-navbar :title"title" :titleColor"titleColor" :bgColor"bgColor" :safeAreaInsetTop"safeAreaInsetTop":autoBack"true" leftClick"leftClic…

【Git】常用命令汇总

目录 一.安装及配置 1.在 Windows 上安装 2.用户信息 3.差异分析工具 二.基础 1.创建仓库 2.提交与修改 三.分支管理 1.创建分支 2.合并分支 四.远程操作 1.管理 Git 仓库中的远程仓库 2.数据的获取与推送 五.标签 1.创建轻量标签和附注标签 2.查看标签和标签信…

PIMPL模式和D指针

目录 一、PIMPL模式概念&#xff1a; 1.1 pImpl手法的优势和目的 1.1.1屏蔽实现细节 1.2 .2加速编译 1.2.3 更好的二进制兼容性 1.2.4 惰性分配 二、PIMPL模式项目中应用&#xff1a; 2.1 项目背景 2.2 对外接口代码&#xff1a; 2.2.1 对外库接口头文件 2.2.2 对外…

Android显示系统(01)- 架构分析

一、前言&#xff1a; Android是基于Linux的&#xff0c;而显示设备的驱动也都是和Linux普通设备一样去管理&#xff0c;也就是说归根结底还是要按照Linux的方式组织数据送给LCD&#xff0c;因此&#xff0c;我们理解Android设计的这一套复杂的显示系统时候&#xff0c;一定要…

15分钟做完一个小程序,腾讯这个工具有点东西

我记得很久之前&#xff0c;我们都在讲什么低代码/无代码平台&#xff0c;这个概念很久了&#xff0c;但是&#xff0c;一直没有很好的落地&#xff0c;整体的效果也不算好。 自从去年 ChatGPT 这类大模型大火以来&#xff0c;各大科技公司也都推出了很多 AI 代码助手&#xff…

跨标签通信的几种方式

以前面试被问到过&#xff0c;就了解了一下。还有其他方式&#xff0c;但是实际开发中&#xff0c;使用第一个就可以了 目录 1. 使用BroadcastChannel 2. 使用SharedWorker 3. 使用webSocket 1. 使用BroadcastChannel 它允许同源&#xff08;协议、域名、端口都相同&#x…

深度神经网络模型压缩学习笔记二:离线量化算法和工具、实现原理和细节

文章目录 一、离线量化基础概念1&#xff09;离线量化定义2&#xff09;离线量化优缺点3&#xff09;如何生产一个硬件能跑的量化模型&#xff1f;4&#xff09;离线量化的类型5&#xff09;如何计算scale&#xff0c;zero_point?6&#xff09;离线量化概念7&#xff09;PTQ与…

HTML详解(1)

1.HTML定义 HTML&#xff1a;超文本标记语言。超文本&#xff1a;通过链接可以把多个网页链接到一起标记&#xff1a;标签&#xff0c;带括号的文本后缀&#xff1a;.html 标签语法&#xff1a;<strong>需加粗文字</strong> 成对出现&#xff0c;中间包裹内容&l…

【21-30期】Java技术深度剖析:从分库分表到微服务的核心问题解析

&#x1f680; 作者 &#xff1a;“码上有前” &#x1f680; 文章简介 &#xff1a;Java &#x1f680; 欢迎小伙伴们 点赞&#x1f44d;、收藏⭐、留言&#x1f4ac; 文章题目&#xff1a;Java技术深度剖析&#xff1a;从分库分表到微服务的核心问题解析 摘要&#xff1a; 本…

Jmeter中的配置原件

2&#xff09;配置原件 1--CSV Data Set Config 用途 参数化测试&#xff1a;从CSV文件中读取数据&#xff0c;为每个请求提供不同的参数值。数据驱动测试&#xff1a;使用外部数据文件来驱动测试&#xff0c;使测试更加灵活和可扩展。 配置步骤 准备CSV文件 创建一个CSV文…

Redis持久化、主从及哨兵架构详解

Redis持久化 RDB快照&#xff08;snapshot&#xff09; 在默认情况下&#xff0c;Redis将内存数据库快照保存在名字为dump.rdb的二进制文件中。 你可以对Redis进行设置&#xff0c;让它在“N秒内数据集至少有M个改动”这一条件被满足时&#xff0c;自动保存一次数据集。 比…

双向链表、循环链表、栈

双向循环链表 class Node:#显性定义出构造函数def __init__(self,data):self.data data #普通节点的数据域self.next None #保存下一个节点的链接域self.prior None #保存前一个节点饿链接域 class DoubleLinkLoop:def __init__(self, node Node):self.head nodeself.siz…

【青牛科技】D1671 75Ω 带4级低通滤波的单通道视频放大电 路芯片介绍

概 述 &#xff1a; D1671是 一 块 带 4级 低 通 滤 波 的 单 通 道 视 频 放 大 电 路 &#xff0c; 可 在3V或5V的 低 电 压 下 工 作 。 该 电 路 用 在 有 TV影 象 输 出 功 能 的 产 品 上 面&#xff0c;比如 机 顶 盒 &#xff0c;监 控 摄 象 头 &#xff0c;DVD&#…

Linux服务器生成SSH 密钥对与 GitLab 仓库进行交互

目录 生成 SSH 密钥对 将公钥添加到 GitLab 测试 SSH 连接 生成 SSH 密钥对 在执行脚本的机器上打开终端&#xff0c;执行以下命令&#xff08;假设使用默认的 RSA 算法&#xff0c;一路回车使用默认设置即可&#xff0c;也可以根据需要指定其他算法和参数&#xff09;&…