论文笔记-《SP-GAN: Sphere-Guided 3D Shape Generation and Manipulation》-无具体设计和训练细节篇


论文笔记《SP-GAN: Sphere-Guided 3D Shape Generation and Manipulation》-无具体设计和训练细节篇

笔记中有不足或者错误之处,还望指出,相互交流,谢谢~

现有严峻的挑战

如何构建生成模型来合成新的,多样化的,逼真的3D形状,同时使得该3D形状能够结构性的局部生成和操作。

已有的解决方法

局部分解

根据部分-层次关系组成新的形状。通过部分对应关系,可以进一步实现各种形式的结构感知操作。局限性——形状生成的粒度是基于局部部件的,它取决于局部标记数据的可用性和质量。

相关论文一:[1908.00575] StructureNet: Hierarchical Graph Networks for 3D Shape Generation (arxiv.org)

相关论文二:05994-slides (chriswu1997.github.io)

利用深度生成模型来表示特征形状分布,并以无监督的方式学习直接生成形状。

现有是通过自回归模型、流模型、GAN等方法将随机潜在代码映射到点云,来生成三维点云的形状。

自回归学习点云生成:[1810.05591] PointGrow: Autoregressively Learned Point Cloud Generation with Self-Attention (arxiv.org)

流模型点云生成:[2006.04604] SoftFlow: Probabilistic Framework for Normalizing Flow on Manifolds (arxiv.org)

GAN生成点云:下有r-GAN、tree-GAN 和PDGN论文链接

现有解决方法的局限性

1.生成模型难以处理精细细节,且在生成形状中会产生噪声点样本;

2.生成模型缺乏结构对局部感知的生成和操作的结构可控性;

(这是因为在实现的过程中很难获得生成形状和潜在代码之间的合理对应关系)

该论文的方法:SP-GAN

SP-GAN,一种新的无监督3D生成模型,用于直接合成点云形式的三维形状。

image-20220224213048815

请注意左侧椅子的靠背(顶部弧线中的蓝色部分)和右侧椅子的腿(底部弧线中的红色部分)如何在两个序列中变形。

SP-GAN的关键设计(创新点)

1.将生成任务制定为转换,将复杂的 3D 形状生成任务分解 (i) 全局形状建模(例如,椅子) (ii) 局部结构调整(例如,椅子的腿)

传统的GAN结构是学习预设分布到潜在数据分布的一个映射,而SP-GAN的输入是一个先验潜在矩阵,该矩阵具有一个(i)局部先验z(随机潜在代码)一个 (ii)全局先验S(一个单位均匀分布N点三维球面S)

本质上我们将一个1D-to-3D的生成问题(generation)重定义为一个3D-to-3D的变形问题 (transformation).

在SP-GAN中,S为生成器,提供了一个无偏的空间引导,使其学会从z合成细节更精细、噪声更小的点云P

2.SP-GAN隐式地在S和P之间嵌入密集的对应关系(见下图模型中的颜色),从而促进结构感知形状的生成和操作。

image-20220225162243358

SP-GAN设计隐含了生成物体和输入球体之间的密集对应关系(dense correspondence),从而实现了各种形式的局部控制生成和编辑,例如结构编辑、结构插值和多形状结构组合等,这些是现有生成模型所做不到的。各种实验对比中,我们的模型也是远超现有的方法。(对比在后面)

无监督生成过程中的结构性控制实现过程如下:

  • 部分编辑。与球面S中每个点相关联的潜码是一个局部先验。如果我们改变某些点的潜码,我们可以在生成的形状中对相关部分进行局部改变。下图显示了一个例子,在这个例子中,我们修改了从\(z_??\)\(z_??'\)与椅子背部(蓝色)相关的点的潜在代码。到那时,产生一个新的椅子\(P_??'\),其背部跟随\(z_??'\)和其他部分略有调整,以兼容新修改的背部。

image-20220224213534347

  • 局部插值。我们凭借密集的对应关系插入在不同生成形状之间的潜码,使部分变形形状。下图中我们通过设置不同的插值权重,与\(z_??\)\(z_??\)之间的椅子下部(标记为蓝色)相关联。有了这个变化,生成器产生了一组新椅子,它们的下部从\(P_??\)变成了\(P_??\)

image-20220224213547551

与现有模型相比,SP-GAN的优势

1.能够生成具有更精细细节和更少噪声的点云。(生成任务分解为全局形状建模和局部结构调整)

2.促进了生成过程的可控性,执行部分感知的形状生成和操作(因为我们的模型隐含地嵌入了生成的形状之间的密集对应关系)

3.不需要任何局部标记数据(训练的模型是无监督模型)。

SP-GAN图像生成与操作

下面这部分,笔者认为可以称为隐式密集对应关系的几大好处

形状生成

可视化的密集对应性 (dense correspondence),输入球体和生成形状上的关联点分配了相同的颜色。从图中可以发现,这些对应性在所有生成的物体中保持了很强的一致性。

image-20220224220020403

个别形状编辑

通过在球体全局和每个生成的形状之间建立密集的对应关系,我们可以很容易地定位与形状中特定部分相关的“局部”潜在代码。如下图交互图形生成和操作界面所示,我们可以通过重新采样一个新的随机潜码来替换形状中每个特定部分关联的现有潜码来进行部分编辑。这样我们就可以生成一个新的形状,它与原来的形状相似,但具有不同的局部部分。

image-20220224220217432

image-20220224220612306

形状插值

由于在生成的形状之间建立了密集的对应关系,我们可以插入与形状中特定部分相关的潜在代码,而不是简单地插入整个形状。从下图可以看出,随着插值权重??的增加,SP-GAN可以实现从源到目标的平滑过渡。看下图中最上面那张图,源和目标代表同一人体的两种不同姿势,插值能够在两个姿势之间产生相当平滑的过渡。(区别地,就像源和目标,中间(生成)形状也包含小噪声的细节;这是非常具有挑战性的实现,因为许多现有的工作容易引入噪声插值点云。)

image-20220224220820917

下图显示了三组部分插值结果,我们在源和目标形状之间只插值与用户选择的点(非黄色)相关的潜在代码。

在这里,我们使用从紫色到蓝色的颜色渐变来渲染用户选择的点,以显示插值过程。从图中的结果可以看出,插值主要发生在用户选择的点上,而剩下的点(黄色)对于生成的形状的完整性可能会有微小的变化。例如,在第一行,我们选择了源灯和目标灯的支架和底座进行插值,所以灯的形状不会发生明显的变化,而支架和底座的风格则是由源灯逐渐向目标灯转变。

论文上这么解释这张图,可是笔者看这个过程,觉得黄色部分,虽然是用户非选择的点也一样发生了变化。而且观察第一排和第三排的图感觉还是朝着更自然常规的形式转化。

这是个存疑的地方,待解释......

image-20220224221051520

多部分形状合成

多个生成形状之间的隐式密集对应关系也有利于多个形状组成零件。具体来说,给定不同的语义部分(例如,椅子的背部,腿部等)及其来自不同形状的相关潜在代码,我们可以用S打包一个新的先验潜在矩阵,并将该矩阵输入我们的生成器,以生成新的形状。通过这种方式,合成的形状将整合来自父形状的不同局部样式。

image-20220224221206469

局部共同分割

得益于隐式密集对应,SP-GAN可以对一组3D形状进行局部共同分割,即同时将形状分割成语义一致的部分。为此,只需要先手工分割集合中的一个形状,而然后SP-GAN就能通过密集对应同时得到其余形状的逐点标签,即使是不同姿势和局部方向的形状。

就是先人工划分区域(用颜色区分),然后用SP-GAN进行分割,在其他形状上能成功得到按照人工划分方式应该得到的划分结果。

例如,看到图中各个动物的局部分割(头、躯干、四肢、尾巴)。特别地,不同的列实际上具有不同类型的动物,但SP-GAN仍然可以在这些形状的共分割中实现高鲁棒性。

鲁棒性,就是稳健性,抗造性啦。

image-20220224221424638

SP-GAN评估

image-20220224221540808

SP-GAN与五种最先进的方法生成形状的定量比较,即r-GAN、tree-GAN 、PointFlow、PDGN、ShapeGF。用最先进的方法按照同样的设置来进行这个实验。从表中,我们可以看到,通过我们的方法生成的形状具有最好的质量(最低MMD,最大COV和最低FPD)。同时,该方法具有最小的复杂度(最少的模型参数)和最小的复杂度。

下图是各方法的可视化结果。

r-GAN:[1707.02392v3] Learning Representations and Generative Models for 3D Point Clouds (arxiv.org)

tree-GAN:[1905.06292] 3D Point Cloud Generative Adversarial Network Based on Tree Structured Graph Convolutions (arxiv.org)

PointFlow:[1906.12320] PointFlow: 3D Point Cloud Generation with Continuous Normalizing Flows (arxiv.org)

PDGN:[2007.05361] Progressive Point Cloud Deconvolution Generation Network (arxiv.org)

ShapeGF:[2008.06520] Learning Gradient Fields for Shape Generation (arxiv.org)

image-20220224221558758

SP-GAN的局限性

1.SP-GAN能够以无监督的方式进行学习,但仍然需要大量的形状进行训练。因此,对于训练样本有限或结构复杂或薄的形状,生成的形状可能仍然是模糊的(或有噪声的)。

image-20220224213936904

2.点云形状具备形状生成和处理的灵活性,但并不能直接生成曲面或拓扑信息,所以需要进行后处理来重建曲面。而在重构曲面上容易产生变形的边缘和孔洞。在未来计划在生成过程中探索点法线,以增强网格重建。

image-20220224213950274

3.虽然有隐式嵌入关系,但部件关系并没有被明确地表示出来。如下图,隐式关系是非黄色被选中,但这样的部件关系并没有表示出来。

image-20220224214038688

GAN