3D GAN:Learning a Probabilistic Latent Space of Object Shapes via 3D Generative-Adversarial Modeling

本文主要是介绍3D GAN:Learning a Probabilistic Latent Space of Object Shapes via 3D Generative-Adversarial Modeling,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

论文地址

一.Abstract

1.提出了一个新的框架,即3D生成对抗网络(3D- gan),它利用体卷积网络和生成对抗网络的最新进展,从概率空间生成三维对象.
2.首先,使用对抗准则代替传统的启发式准则,使生成器能够隐式地捕获对象结构,并同步大小相同的高质量3D对象.
3.生成器G建立了一个从低维概率空间到三维对象空间的映射,使我们可以在没有参考图像或CAD模型的情况下对对象进行采样,并探索三维对象流形.
4.对抗识别器提供了一种强大的三维形状描述,无需监督即可学习,在三维物体识别中有着广泛的应用

二.Introduction

1.传统方法都是从CAD库中寻找组件生成新的物体,因此生成的很真实却不新颖
2.作者的方法对于三维对象建模来说可能是一个特别有利的框架:由于三维对象是高度结构化的,一个生成对抗准则,而不是一个体素独立的启发式准则,有可能捕获两个三维对象的结构差异(GAN的特点,整个数据集放入D网络)。使用生成对抗损失还可以避免可能依赖准则的过度拟合

1.GAN是基于图像整体作为loss学的是整个数据集的分布函数
2.基于范数的方法目标函数是基于单个像素点操作,约束了物体的轮廓,而GAN对图像整体作为约束并没有对物体轮廓进行约束。

3.以生成的方式建模3D对象提供了额外的独特优势。首先,有可能从概率潜在空间(如高斯分布或均匀分布)中采样新的三维对象
4.判别器具有良好的三维目标识别信息特征,G,D分别可以作为生成器和识别器
5.我们展示了我们的网络可以与一个变分自编码器相结合来直接重构

三.Related Work

1.建模和合成3D形状:
早期通过从数据库中检索和组合形状和部件来合成新对象。最近,Huang等人[2015]探索了使用预训练的模板生成3D形状,并同时生成对象结构和表面几何。我们的框架不需要显式地从存储库中借用部件来合成对象,并且在培训期间不需要监督

2. 3D数据 深度学习
噼里啪啦的说大规模数据的深度学习对视觉问题的影响

3.对抗网络的学习
在这里插入图片描述

四.Modeling

1.论文介绍用于3D对象生成的模型。我们首先讨论如何构建我们的框架,3D生成对抗网络(3D- gan),利用之前在体卷积网络和生成对抗网络方面的进展。论文中展示了如何同时训练一个变分自编码器[Kingma和Welling, 2014],这样框架就可以捕获从2D图像到3D对象的映射

2.生成对抗网络(GAN)由一个生成器和一个鉴别器组成,鉴别器试图对真实对象和生成器合成的对象进行分类,而生成器试图混淆鉴别器。在我们的三维生成对抗网络(3D- gan)中,生成器G将一个随机抽取的200维潜在向量z映射到一个64×64×64的立方体中,表示三维体素空间中的一个对象G(z)。鉴别器D输出三维物体输入x是否为real的置信值D(x)
在这里插入图片描述
D(x)表示真实图像的置信度,D(x)越高Loss越低,D(G(z))越高Loss越高在这里插入图片描述

3.网络架构
全卷积神经网络来生成3D对象。如网络结构图所示,生成器由5个容量全卷积层组成,分别为kernel size 4×4×4和steps 2,中间添加batch归一化层和ReLU层,最后添加一个Sigmoid层。鉴别器基本上是镜像发生器,除了它使用Leakly ReLU

在这里插入图片描述
4.3D-VAE-GAN
(1)引入3D-VAE-GAN作为3D-GAN的扩展。我们增加了一个额外的图像编码器E,它以一个二维图像x作为输入,输出潜在的表示向量z,这是受到[Larsen et al., 2016]提出的VAE-GAN的启发,它通过共享VAE的解码器和GAN的生成器来将VAE和GAN结合起来
(2)Loss函数为物体重建损失L(recon),一个用于3D-GAN的交叉熵损失L(3D-GAN),以及一个KL散度损失L(KL)

在这里插入图片描述
x是训练集的三维形状,y是它对应的二维图像,q(z|y)是向量z的变分分布,kl -散度将这个变分分布q(z|y)推向先验分布p(z)进行学习,我们选择了一个具有零均值和单位方差的多元高斯分布p(z)

五.Experiment

数据集:IKEA

1.3D Object Generation(使用生成器G)
在这里插入图片描述
3D- gan可以合成具有详细几何图形的高分辨率3D对象,合成低分辨率的物体相对容易,但是由于3D空间的快速增长,合成高分辨率的物体要困难得多。然而,对象细节只能在高分辨率下显示
在这里插入图片描述
2. 3D Object Classification(使用鉴别器D)
为了获得输入3D对象的特征,我们将鉴别器中的第二层、第三层和第四层卷积层的响应连接起来,并分别应用内核大小为{8,4,2}的最大池。我们使用线性支持向量机进行分类
在这里插入图片描述

3.Single Image 3D Reconstruction(使用3d-vae-gan)
(1)单个3D-VAE-GAN的性能在所有6个类别上进行了联合训练
(2)另外还有6个3D-VAE-GANs在每个类别上单独训练的结果

在这里插入图片描述

六.Analyzing Learned Representation

1.可视化物体向量:
为了可视化向量Z每个维度的语义意义,我们逐步增加其值,观察其如何影响生成的三维对象。每一列对应于对象向量的一个维度,其中红色区域标记受该维度值变化影响的体素。我们观察到,对象向量中的某些维度承载着对象的语义知识,如表面的厚度或宽度

在这里插入图片描述
2.插值法:
本文展示了两个目标向量之间的插值结果。较早的工作演示了同一类别的两个2D图像之间的插值[Dosovitskiy et al., 2015, Radford et al., 2016]。这里我们展示了对象类别内和跨对象类别的内插。我们观察到,在这两种情况下,在隐空间中缓慢改变值域都能使物体之间产生平滑的过渡

在这里插入图片描述
3.算法
另一种探索学习表征的方法是在潜在隐空间中显示算法。之前,Dosovitskiy等[2015]、Radford等[2016]提出他们的生成网络能够在潜在空间中对椅子或人脸图像的语义知识进行编码;Girdhar等[2016]也证明了三维物体的学习表示具有相似的行为。我们展示了我们的形状算法。与Girdhar等[2016]不同,我们所有的对象都是随机采样的,不需要现有的3D CAD模型作为输入

在这里插入图片描述
4激活神经元可视化
在这里插入图片描述
对于鉴别器倒数第二卷积层的每个神经元,我们遍历了所有的训练对象,并展示了激活单元最强烈的训练对象。我们进一步使用引导反向传播[Springenberg等人,2015]来可视化产生激活的部分

这篇关于3D GAN:Learning a Probabilistic Latent Space of Object Shapes via 3D Generative-Adversarial Modeling的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/706895

相关文章

深入探讨Java 中的 Object 类详解(一切类的根基)

《深入探讨Java中的Object类详解(一切类的根基)》本文详细介绍了Java中的Object类,作为所有类的根类,其重要性不言而喻,文章涵盖了Object类的主要方法,如toString()... 目录1. Object 类的基本概念1.1 Object 类的定义2. Object 类的主要方法3. O

无人叉车3d激光slam多房间建图定位异常处理方案-墙体画线地图切分方案

墙体画线地图切分方案 针对问题:墙体两侧特征混淆误匹配,导致建图和定位偏差,表现为过门跳变、外月台走歪等 ·解决思路:预期的根治方案IGICP需要较长时间完成上线,先使用切分地图的工程化方案,即墙体两侧切分为不同地图,在某一侧只使用该侧地图进行定位 方案思路 切分原理:切分地图基于关键帧位置,而非点云。 理论基础:光照是直线的,一帧点云必定只能照射到墙的一侧,无法同时照到两侧实践考虑:关

MiniGPT-3D, 首个高效的3D点云大语言模型,仅需一张RTX3090显卡,训练一天时间,已开源

项目主页:https://tangyuan96.github.io/minigpt_3d_project_page/ 代码:https://github.com/TangYuan96/MiniGPT-3D 论文:https://arxiv.org/pdf/2405.01413 MiniGPT-3D在多个任务上取得了SoTA,被ACM MM2024接收,只拥有47.8M的可训练参数,在一张RTX

SAM2POINT:以zero-shot且快速的方式将任何 3D 视频分割为视频

摘要 我们介绍 SAM2POINT,这是一种采用 Segment Anything Model 2 (SAM 2) 进行零样本和快速 3D 分割的初步探索。 SAM2POINT 将任何 3D 数据解释为一系列多向视频,并利用 SAM 2 进行 3D 空间分割,无需进一步训练或 2D-3D 投影。 我们的框架支持各种提示类型,包括 3D 点、框和掩模,并且可以泛化到不同的场景,例如 3D 对象、室

【Python报错已解决】AttributeError: ‘list‘ object has no attribute ‘text‘

🎬 鸽芷咕:个人主页  🔥 个人专栏: 《C++干货基地》《粉丝福利》 ⛺️生活的理想,就是为了理想的生活! 文章目录 前言一、问题描述1.1 报错示例1.2 报错分析1.3 解决思路 二、解决方法2.1 方法一:检查属性名2.2 步骤二:访问列表元素的属性 三、其他解决方法四、总结 前言 在Python编程中,属性错误(At

UML- 统一建模语言(Unified Modeling Language)创建项目的序列图及类图

陈科肇 ============= 1.主要模型 在UML系统开发中有三个主要的模型: 功能模型:从用户的角度展示系统的功能,包括用例图。 对象模型:采用对象、属性、操作、关联等概念展示系统的结构和基础,包括类图、对象图、包图。 动态模型:展现系统的内部行为。 包括序列图、活动图、状态图。 因为要创建个人空间项目并不是一个很大的项目,我这里只须关注两种图的创建就可以了,而在开始创建UML图

简单的Q-learning|小明的一维世界(3)

简单的Q-learning|小明的一维世界(1) 简单的Q-learning|小明的一维世界(2) 一维的加速度世界 这个世界,小明只能控制自己的加速度,并且只能对加速度进行如下三种操作:增加1、减少1、或者不变。所以行动空间为: { u 1 = − 1 , u 2 = 0 , u 3 = 1 } \{u_1=-1, u_2=0, u_3=1\} {u1​=−1,u2​=0,u3​=1}

简单的Q-learning|小明的一维世界(2)

上篇介绍了小明的一维世界模型 、Q-learning的状态空间、行动空间、奖励函数、Q-table、Q table更新公式、以及从Q值导出策略的公式等。最后给出最简单的一维位置世界的Q-learning例子,从给出其状态空间、行动空间、以及稠密与稀疏两种奖励函数的设置方式。下面将继续深入,GO! 一维的速度世界 这个世界,小明只能控制自己的速度,并且只能对速度进行如下三种操作:增加1、减

模具要不要建设3D打印中心

随着3D打印技术的日益成熟与广泛应用,模具企业迎来了自建3D打印中心的热潮。这一举措不仅为企业带来了前所未有的发展机遇,同时也伴随着一系列需要克服的挑战,如何看待企业引进增材制造,小编为您全面分析。 机遇篇: 加速产品创新:3D打印技术如同一把钥匙,为模具企业解锁了快速迭代产品设计的可能。企业能够迅速将创意转化为实体模型,缩短产品从设计到市场的周期,抢占市场先机。 强化定制化服务:面

生成对抗网络(GAN网络)

Generative Adversarial Nets 生成对抗网络GAN交互式可视化网站 1、GAN 基本结构 GAN 模型其实是两个网络的组合: 生成器(Generator) 负责生成模拟数据; 判别器(Discriminator) 负责判断输入的数据是真实的还是生成的。 生成器要不断优化自己生成的数据让判别网络判断不出来,判别器也要优化自己让自己判断得更准确。 二者关系形成