VAE在3D点云上应用总结

文章结构

VAE基本原理

  1. 什么是autoencoder?
  2. 它的主要问题是什么?为什么要使用VAE
  3. VAE基本结构以及VAE的训练目标。

Autoencoder主要的结构就是一个encoder和decoder的形式,encoder主要是将输入的数据压缩整一个很小的latent vector。Decoder是解码或者还原latent vector。为什么Autoencoder不好,是因为在encoder学习到的latent space并不是uniformly distributed,而是在一些位置上会有 discrete data patches。这些discrete data patches在decoder解码的时候会出现毫无意义的输出。所以这也是为什么autoencoder只能在数据压缩或者数据重建上面取得不错的结果,但是在数据生成方面AE是结构上是明显不足的。

那么根据AE在latent space中出现的问题,VAE的出现就很自然,因为对于这种non-uniformly distributed的latent而言的话,最自然的想法就是去估计这个latent space的分布,但是对这样的分布又无法在数学上做到准确的计算,因为它是intractable的。VAE的目标就是去近似这个真实的分布,其实就是在最优它的marginal likelihood。自然的,这个marginal likelihood它有两个部分来组成,其中一个是KL Divergence,另外一个就是evidence lower bound (variational lower bound), 这两个项的关系就是 "你多我少,我少你多",换句话来说,最大化variational lower bound就是在最小化KL divergence。但是有一个问题是需要注意的,就是在训练VAE的时候,从pytorch的角度上来讲,decoder的输入是从encoder输出的分布中的采样得到的,但是采样会导致computational graph上出现nondeterminitic node, 从而导致无法最反向传播。 所以这也就有了 reparameteration trick,大白话来说,它就是把sample出来的东西放到另外一个node上,让反向传播可以做。(把nondeterministic变成deterministic)

VAE在3D点云上的应用

VAE在3D点云上的应用主要就是generation,completion。其中我认为比较有趣且相对有用的3D点云生成的VAE结构一个是componet, 2019年的文章,相对较老,它主要分两个板块,一个是Part synthesis unit, 一个是Part composition unit。这篇文章的做法就是把一个2D shape拆分开,然后生成若干个parts,然后在合并到一起。这种结构比较可以用到3D人物的点云生成上面,因为3D人体每个部分的细节分布是不一样的,比如身体的shape可以用稀疏点云就可以大致的描述出它的形状了,但是脸部和手部,如果使用同样分布的稀疏点云,就很难描述出脸部的细节,比如五官。

近期较新的文章, 就是EditVAE,发表于2022年,它也使用可上述这种part-aware的形式,同时实现了复杂shape的生成和editing。

相关推荐
库库8396 分钟前
Spring AI 知识点总结
java·人工智能·spring
AndrewHZ28 分钟前
【图像处理基石】通过立体视觉重建建筑高度:原理、实操与代码实现
图像处理·人工智能·计算机视觉·智慧城市·三维重建·立体视觉·1024程序员节
Theodore_102230 分钟前
深度学习(3)神经网络
人工智能·深度学习·神经网络·算法·机器学习·计算机视觉
文火冰糖的硅基工坊33 分钟前
[人工智能-大模型-70]:模型层技术 - 从数据中自动学习一个有用的数学函数的全过程,AI函数计算三大件:神经网络、损失函数、优化器
人工智能·深度学习·神经网络
我叫张土豆38 分钟前
Neo4j 版本选型与 Java 技术栈深度解析:Spring Data Neo4j vs Java Driver,如何抉择?
java·人工智能·spring·neo4j
IT_陈寒1 小时前
Vue3性能提升30%的秘密:5个90%开发者不知道的组合式API优化技巧
前端·人工智能·后端
文火冰糖的硅基工坊1 小时前
[人工智能-大模型-69]:模型层技术 - 计算机处理问题的几大分支:数值型性问题、非数值型问题?
算法·决策树·机器学习
OG one.Z2 小时前
05_逻辑回归
算法·机器学习·逻辑回归
on_pluto_2 小时前
【基础复习1】ROC 与 AUC:逻辑回归二分类例子
人工智能·机器学习·职场和发展·学习方法·1024程序员节