本文主要是介绍论文笔记:CVPR2021 Neural Parts: Learning Expressive 3D Shape Abstractions with Invertible Neural Network,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
Motivation:
recovering the geometry of a 3D shape from a single RGB image
常用的primitive-based representations 寻求推断在不同对象实例之间推断语义一致的part排列,并提供更具解释性的替代方法,而非仅注意提取全局物体。
现存的一些方法由于其简单的参数化,这些原语的表达能力有限无法捕捉复杂的几何图形。因此,现有的基于零件的方法需要大量的原语来提取几何上精确的重构。然而,使用更多的原语是以牺牲重建的可解释性为代价的。
Method:
Primitives as Homeomorphic Mappings
Network Architecture
用一个可逆的神经网络(Invertible Neural Network (INN))去学习预测形状的implicit and explicit representation,然后在预测的part上引入各种约束限制。试图学习一个简单的genus-zero形状的3D空间和目标空间的同胚,以便变形的形状匹配目标对象的一部分。文中的genus-zero shape选择为球(sphere)。
球的空间为latent space,目标空间为 primitive apsce
implict: x0-->G(x) 逆
explicit: ys-->xp 正
Conditional Homeomorphism
利用改进的Real NVP去实现INN. A Real NVP models a bijective mapping by stacking a sequence of simple bijective transformation functions.因为原始的Real NVP没有考虑shape embedding。
Related work:
3D reconstruction approaches can be categorized based on the type of their output representa- tion to: depth-based, voxel-based, point-based, mesh-based, implicit-based and primitive-based.
shape abstraction techniques:decompose 3D shapes into semantically meaningful simpler parts
Traditional primitives include cuboids [长方体], superquadrics [超二次平面], convexes [凸体], CSG trees or shape programms.
homeomorphism:同胚,是在两个拓扑空间的一个连续映射,保存所有拓扑特性。
Inverse Mapping[1]:某点在某面的相对位置,这个“相对位置”用u、v表示。 Inverse Mapping完成后,相当于将某面映射到了uv平面,u、v的取值范围为[0, 1]
flow模型--除了VAE和GAN以外的生成模型:
神经网络原则上能拟合任意函数,但不能随意拟合一个概率分布,因为概率分布有“非负”和“归一化”的要求。我们能直接写出来的只有离散型的分布,或者是连续型的高斯分布。图像应该是一个离散的分布,因为它是由有限个像素组成的,而每个像素的取值也是离散的、有限的,因此可以通过离散分布来描述。类似pixel-rnn,其特点就是无法并行,所以计算量特别大。我们更希望用连续分布来描述图像[2]。
理论上高斯分布可以拟合各种分布。但难以在积分形式中用极大似然估计求出参数。其中,VAE 和 GAN 在不同方向上避开了这个困难。VAE 没有直接优化,而是优化一个更强的上界,这使得它只能是一个近似模型。GAN 则是通过一个交替训练的方法绕开了这个困难,确实保留了模型的精确性,所以它才能有如此好的生成效果。flows则直接把积分算出来。
[1] 问题三十六:ray tracing中的Inverse Mapping(0)——概要_图形跟班-CSDN博客
[2] 细水长flow之NICE:流模型的基本概念与实现_Glow
[3] 流模型之NICE - 知乎
这篇关于论文笔记:CVPR2021 Neural Parts: Learning Expressive 3D Shape Abstractions with Invertible Neural Network的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!