论文简记 | DeepSDF模型解读《DeepSDF : Learning Continuous Signed Distance Functions for Shape Representation》

一 写在前面

未经允许,不得转载,谢谢~~~

这篇文章还是3维重建的,今年CVPR出现了很多相关的文章。

二 主要简介

主要问题

  • 将image-based CNN扩展到3d时会增加很多额外的复杂度;
  • 3D物体本身具有:顶点数未知、拓扑结构未知的特点;

所以文章采用新的SDF表示方法,来解决以上提到的两个问题。

这应该是第一篇将SDF用于3D模型表示的文章,之前写的那篇DISN其实从表示方法上来看跟这一篇很像,但是从时间上来看还是这一篇比较早。

主要贡献:

  • 用连续隐式表面SDF对3D model进行表示;
  • 基于概率用自动解码器对3D shape进行学习;
  • 将SDF用于模型建模和重建;

相关工作:

  1. Representations for 3DShape Learning
  • point-based: 点云、数据比较适配、但是无拓扑结构,表面不连续;
  • mesh-based: 可以对3D物体建模,但是拓扑结构固定;
  • voxel-based: D^3, 某个位置是否存在点,好空间,分辨率低;
  1. Representation Learning Techniques
  • Generative Adversial Networks(GAN)
  • Auto-encoders (encoder and decoder)
  • Optimizing Latent Vectors (only decoder)
  1. Shape Completion
    类似于图像补全 image-inpainting

三 主要方法

3.1 SDF表示方式

DISN文章中介绍的一样。

  • =0: 在表面
  • <0:在内部
  • >0:在外部

形式化表示:


  • x表示点、s表示SDF的值;

3.2 DeepSDF网络结构

设计的网络结构比较简单:


single shape deepSDF

  • 表示只能对单种shape进行重建;
  • 因为模型没有包含任何shape的信息;

coded shape deepSDF

  • 将shape用latent vector的方式作为网络的输入,以此适应多种形状;(图中蓝色)
  • 每一种形状都有一个对应的code;

单个点的loss函数

  • 其实就是预测得到的SDF值与真实SDF之间的一个距离
  • 多出来的那个参数用于将注意力集中在表面附近;

3.3 概率公式化

这个部分的大概意思就是作者基于概率对DeepSDF模型进行建模。

  • 对于一个由N个shapes构成的数据集合,每个shape都有对应的SDF的ground-truth SDF^i
  • 每个shape又包含K个点;


  • 已知样本Xi的情况下其形状zi的后验概率为:


  • 其中p(zi)假设服从zero-mean multivariate-Gaussian分布
  • 并假设给定zi和xj的情况下有如下概率成立:


  • 其中花写的L就表示预测到的SDF值与真实的SDF之间的loss函数,具体如上文式4所示。

这样最终得到训练阶段的优化目标:


3.4 数据准备

  • mesh得到SDF的问题。
  • 详细信息参考论文的补充材料。