DeepSDF: Learning Continuous Signed Distance Functions for Shape Representation 论文阅读笔记


论文基本信息

image.png
发布于: CVPR_ _2019

创新点

  1. 学习一个生成模型来产生一个连续的SDF场。(旧的方法将SDF离散为规则网格)
  2. 具有连续隐式曲面的生成形状条件 3D 建模的制定。
  3. 基于概率自动解码器的 3D 形状的学习方法。

背景

  1. 基于点的3D表示方法以PointNet为首有许多相关工作,但是点云数据由于没有描述拓扑结构(几何对象之间的连接关系,比如边、面、体等的连接方式,不适合产生水密表面(封闭的、没有空洞的、能够完全包围物体的表面
  2. 基于mesh的表示方法无法灵活适应不同的特殊的形状。
  3. 基于体素的方法有分为占用体素以及SDF体素但是他们由于内存和计算资源的限制导致无法表示高分辨率的模型。

Pipeline

论文中通过训练仅解码器网络来学习紧凑的数据表示,而不是使用完整的自动编码器进行表示学习。
image.png
DeepSDF表示应用于Stanford Bunny:
(a) 在SDF < 0和SDF > 0 外采样点上训练的底层隐式曲面SDF = 0的描述。
(b) 符号距离场的2D截面。
© 从SDF = 0中恢复的渲染3D表面。注意(b)和©通过DeepSDF恢复。

Modeling SDFs with Neural Networks(用神经网络对sdf进行建模)

当SDF(x) = 0时视为底层曲面:
image.png
关键思想是使用深度神经网络直接从点样本中回归连续的SDF。生成的训练网络能够预测给定查询位置的SDF值,从中我们可以通过评估空间样本来提取零水平集曲面。这种表面表示可以直观地理解为学习的二元分类器(分类识别是否在边界),其中决策边界是形状本身的表面。
image.png
最直接的应用是为每一个目标形状训练单个深度网络(如上图a所示),这种方式使用预测的SDF和真实的SDF做损失,使得损失最小化得到最优的网络。

* Learning the Latent Space of Shapes(学习形状的潜在空间)

论文希望训练一个模型能够表示各种各样的形状,发现它们的共性,并将它们嵌入到低维潜在空间中。为此,论文引入了一个潜在向量 z,它可以被认为是对所需形状进行编码,作为神经网络的第二个输入,如上图b所示。
网络做出如下变换:

形式上,对于由i索引的某个形状,fθ现在是潜在代码zi和查询3D位置x的函数,并输出形状的近似SDF。可以将z理解为一类3D模型的索引。

Motivating Encoder-less Learning(激励无编码器学习)

经过训练的编码器在测试时未使用,尚不清楚在训练期间使用编码器是否是计算资源最有效的使用。论文使用自动解码器来学习没有编码器的形状嵌入
image.png
编码器生成潜在代码的自动编码器不同,自动解码器直接接受潜在向量作为输入。在训练开始时为每个数据点分配一个随机初始化的潜在向量,并通过标准反向传播优化潜在向量以及解码器权重。在推理过程中,解码器权重是固定的,并估计最佳潜在向量。

Auto-decoder-based DeepSDF Formulation

用符号距离函数SDF iN i=1表示的N个形状的数据集,我们准备了一组K个点样本及其符号距离值。
image.png
由于没有编码器,每个潜在代码 zi 与训练形状 Xi 配对。给定形状SDF样本xi的形状代码zi的后验可以分解为:
image.png

💎实验成果展示

数据预处理

为了训练连续SDF模型,每个网格准备了SDF样本X(等式2),它由3D点及其SDF值组成。虽然SDF可以通过对真实数据或合成数据中的任何水密形状的距离变换来计算,但我们使用合成对象(ShapeNet)进行训练,为此提供了完整的3D形状网格。为了准备数据,首先将每个网格归一化为一个单位球体并采样 500,000 个空间点 x:在对象表面附近更积极地采样,论文希望在表面附近捕获更详细的 SDF。

实验结果

提出了四个主要实验来测试:
1)表示训练数据的能力。
2)使用学习到的特征表示来重建看不见的形状。
3)应用形状先验来完成部分形状。
4)学习平滑和完整的形状嵌入空间,我们可以从中采样新的形状。
重要的实验需要展示。

🔍问题分析

自己想到的疑惑的问题,以及可能解决的办法,或者在自己的工作中如何应用(类似总结)

疑惑

描述看论文过程中遇到的未解决的问题,后续询问导师或者通过查阅其它资料来解决,解决后补充到此处。

总结

从自己的角度想想如何应用在自己的工作,以及总结论文的优劣。


源码环境配置

如果有测试使用源码则详细记录环境配置中的坑,以便后续快速解决。

代码部分

如果阅读过源码则详细介绍源码中的重点模块,输入—输出—细节。

  • 13
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Xxxy _

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值