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。

相关推荐
Elastic 中国社区官方博客1 小时前
使用 Discord 和 Elastic Agent Builder A2A 构建游戏社区支持机器人
人工智能·elasticsearch·游戏·搜索引擎·ai·机器人·全文检索
张祥6422889041 小时前
误差理论与测量平差基础笔记十
笔记·算法·机器学习
2501_933329552 小时前
企业级AI舆情中台架构实践:Infoseek系统如何实现亿级数据实时监测与智能处置?
人工智能·架构
阿杰学AI2 小时前
AI核心知识70——大语言模型之Context Engineering(简洁且通俗易懂版)
人工智能·ai·语言模型·自然语言处理·aigc·数据处理·上下文工程
赛博鲁迅2 小时前
物理AI元年:AI走出屏幕进入现实,88API为机器人装上“最强大脑“
人工智能·机器人
管牛牛2 小时前
图像的卷积操作
人工智能·深度学习·计算机视觉
云卓SKYDROID3 小时前
无人机航线辅助模块技术解析
人工智能·无人机·高科技·云卓科技
琅琊榜首20203 小时前
AI生成脑洞付费短篇小说:从灵感触发到内容落地
大数据·人工智能
imbackneverdie3 小时前
近年来,我一直在用的科研工具
人工智能·自然语言处理·aigc·论文·ai写作·学术·ai工具