文章目录
清理一些之前的草稿箱,写了一半忘记写完发布,望大家见谅。不过鉴于已经有好几个人翻译了全文,不懂的可以参考去看看,这篇文章真的算作点云生成模型的鼻祖了。妥妥的斯坦福出品,验证试验是真的多。基本在告诉我们高斯混合模型的好用。
1. 概要:
2018CVPR 会议论文,也算是先驱作品了。
论文:http://proceedings.mlr.press/v80/achlioptas18a/achlioptas18a.pdf
补充材料:http://proceedings.mlr.press/v80/achlioptas18a/achlioptas18a-supp.pdf
代码:https://github.com/optas/latent_3d_points
本文要点:
-
研究点云的表示方法,主要使用deep AutoEncoder。
-
对比了不同的生成模型,l-GAN要好多GMMs:
模型包括:
1)GANs:直接作用于原始点云;
2)l-GANs(latent-GANs):直接作用在潜在空间的点云特征,用AE先提取潜在空间点云特征;
3)GMMs:高斯混合模型评估方法:
1)样本保真度;
2)覆盖率度量;
2. 贡献点:
- 一种新的点云AE框架;
- 第一套点云深度生成模型;
- 新的衡量指标,基于两个不同的点云集合之间的最佳匹配;
3. 衡量方式:
3.1 度量
1) EMD:测地距离
限制:两个点集数量需要一致,是两个集合之间的运输问题,一一对应。
优点:几乎处处可微
2) CD:近邻度量
优点:度量一个集合与另一个集合最近邻的平方,不限制两个集合数量相同。且计算较EMD更高效。
3.2 生成模型度量方式
1) JSD:
欧几里得三维空间边界分布的简森-香农散度(Jensen-Shannon Divergence )
用来衡量两个分布的相似度
2) Converage:
覆盖率的计算:用B与A的匹配比例来衡量。本质也是计算距离得到。所以计算是否相似仍然需要用到基础度量CD或EMD。
点级别的距离计算公式; EMD几乎处处可微,但CD可微且计算更为高效;
-
Earth Mover’s distance(EMD)
-
Chamfer(pseudo)distance(CD)
3) 最小匹配距离(Minimum Matching Distance,MMD)
MMD可以通过测量A对B的保真度,弥补 覆盖率的缺点(不能准确指示几何A中覆盖的有多好)
比较
MMD与Coverage互补。在MMD小Cov大的情况下,点云A集合以良好的保真度捕获了B的所有模式。
JSD是计算分布相似性的,因此其是粗略的评估两个集合之间的相似性。JSD与MMD有很好的相关性,可以作为一个有效的替代方式。
4. 表示与生成模型
基本块:
AEs:重新编码输入的架构。可以用压缩后的特征
z
z
z来表达原始点云。可用于重建任务。
GANs:基础架构:生成器G和判别器D。
G:生成与真实数据无法区分的样本,通过将一个简单分布中 随机抽取的样本传递给生成器函数。
D:把合成的样本与实际样本区分开;
GMM:一种概率模型,用于表示一个假设分布为多模态高斯分布的种群,即由多个子种群组成,其中每个子种群都服从高斯分布。假设已知子种群数量,利用期望最大化(EM)算法可以从随机样本中学习GMM参数(其实也就是高斯分布的均值和方差)。
4.1 原始GAN模型(r-GAN):
训练数据集:20483点云
判别器:结构与AE相同,没有用任何Batch-Norm,使用Leaky ReLU,最后一个全连接层输出送入到sigmoid激活函数。
生成器:高斯噪声为输入,5个FC-ReLu层映射到20483输出
4.2 隐空间GAN(l-GAN):
先训练好一个AE,然后使用AE的编码器获得隐表达特征Z。
生成器与判别器都是基于Z来进行操作。优化隐表达特征Z。
优势:结构简单。具体来说,单个隐藏层MLP的生成器与两个隐藏层MLP判别器耦合,足以产生可测量性良好和真实的结果。
4.3 高斯混合模型(GMM):
在AE学习的隐空间建立一系列高斯混合模型(GMMs)。
尝试了各种数量的高斯分量和对角或完全协方差矩阵。
通过首先对配置的分布进行采样然后使用AE的解码器, GMM可以看成是点云生成器,类似l-GANs。
5. 实验评估
数据集
ShapeNet:轴对齐且居中与单位球体中。数据分为85%:5%:10% = 训练:验证:测试。
JSD测评使用的是283常规体素网格。
AE重建
代表性能力
使用AE潜空间上的简单加法代数编辑点云中的部分后的效果。
形状编辑:公式如下,效果如下图3,参考(Yi et al. 2016a)
假定给定类别可以进一步划分为两个子类:A 与B,两者有彼此没有的结构特征,可以通过它们的平均潜在表示
X
B
−
X
A
\mathbf{X}_B-\mathbf{X}_A
XB−XA的差异来模拟两个子类之间的差异。 同理可以通过
x
A
′
=
x
A
+
X
B
−
X
A
x_{A'}=x_A+\mathbf{X}_B-\mathbf{X}_A
xA′=xA+XB−XA。参见下图3。
泛化性:重建后的几乎与训练的形状一样好。使用MMD捕获AE的泛化性说明。
潜空间探索:线性插值
对两个形状的隐表达进行线性插值后将结果进行解码,获得两个形状之间的中间变体(morph-like)。
形状补全:
分类:
训练来自55个类别的人造物体的57,000个模型。 专门针对此实验,我们使用512维度的特征。使用线性SVM进行分类,下表显示效果。可以看到简单AE效果就不错。
表2 ModelNet10 / 40上的分类性能(%)。 比较A:SPH(Kazhdan等人,2003),B:LFD(Chen等人,2003),C:TL-Net(Girdhar等人,2016),D:VConv-DAE(Sharma等人。 ,2016),E:3D-GAN(Wu等,2016)。
这里的SVM分类器的AE使用一个编码器,每层对应滤波器:128,128,256,512个,分别有1024,2048,2048*3个神经元的解码器。每层使用BatchNorm。沿Z轴旋转到每批输入点云来实现在线数据增强。训练1000轮的CD损失和1100轮的EMD。分类一些参数见下表。
评估生成模型
各类方法比较如下表,在验证-分割上通过最小JSD选择epochs/模型,在椅子数据集的测试分割上评估5个生成器。 我们报告:A:基于采样的记忆基线,B:r-GAN,C:1-GAN(AE-CD),D:1-GAN(AE-EMD),E:1-WGAN(AE-EMD), F:GMM(AE-EMD)。可以看到GMM效果最好。
图6显示了随着训练的进行,生成的合成数据集与基于GAN的模型的保持测试数据之间的JSD(左)和MMD和覆盖率(右)。
注意:r-GAN努力提供测试集的良好覆盖率和良好保真度; 这暗示了一个公认的事实,即端到端的GAN通常很难训练。
在训练较少的情况下,l-GAN (AE-CD)在保真度方面表现更好,但覆盖率仍然很低。切换到基于EMD的AE用于表示并且使用相同的潜在GAN架构(l-GAN,AE-EMD),产生覆盖率和保真度的显着改善。两个l-GAN虽然遭受模式崩溃的已知问题:训练进行到一半时,第一个覆盖率开始下降,但保真度仍然处于良好水平,这意味着它们对一小部分数据进行了过度拟合。后来,随之而来的是灾难性的崩溃,覆盖率下降至0.5%。 正如预期的那样,切换到潜在的WGAN在很大程度上消除了这种崩溃。
图7解释了 CD距离的盲目性,其挺不爽很有那么有判别性。只对部分良好匹配有额外副作用,也就是覆盖率CD>覆盖率EMD的时候。
6. 其他
形状类比:
这里通过在隐空间 进行线性操作+欧几里得最近邻搜索 找到类似的形状,证明了隐空间的欧几里得性质。
具体:已知
A
A
A ,
A
′
A'
A′,和
B
B
B, 那么
B
′
=
B
+
(
A
′
−
A
)
B' = B + (A' - A)
B′=B+(A′−A),也就是在搜在
B
B
B潜在空间当中与
B
′
B'
B′最近邻的结果。可用于寻找形状类比。如下图所示。
自动编码人
数据集D-FAUST:10个人,每人14个运动,每个运动由300个网格的时间序列捕获。
本实验:随机采样80个网格,每个网格提取4096个点云。下图展示了插值的效果。
参数选择
其他详细参数见论文
GMM
结论:具有完全协方差矩阵的模型实现比使用对角协方差训练的模型JSD小得多。
使用完全协方差矩阵式,30个或更多的集群似乎已经足够得到最小的JSD。
局限
罕见形状的椅子会不正确地被解码。
AE可能错过高频几何细节,无法重建不常见的例子。