编辑 | 贾 伟
不同的3D形状之间虽然在整体结构上差异较大,但其可能分享着一些十分相似的局部结构。例如图片中所示的自行车和汽车,虽然他们整体上差别较大,但他们的轮子共享着十分相似的几何形状。
我们是否有可能利用在自行车上学到的轮子的几何信息,去分割从未见过的汽车的轮子呢?
我们在 ICLR 2020 上发表的论文《Learning to Group: A Bottom-Up Framework for 3D Part Discovery in Unseen Categories》,尝试探索学习模型在这个方向上的可能性,即可泛化的3D形状分割模型。
项目主页(包括codes和pre-trained models):
https://tiangeluo.github.io/projectpages/ltg.html
具体来说,我们在3D形状数据集PartNet上进行实验,我们的训练类别和测试类别之间完全没有重叠,比如训练类别包含椅子、台灯,测试类别包含床、水龙头。
我们在训练类别上训练模型,然后直接在测试类别上进行测试,模型的训练过程中没有看见过任何测试类别的样本。本文提出的模型可以提供对未见3D形状、场景的理解。
我们首先调研现有方法的性能,3D形状分割方法主要分为学习方法以及传统方法两种。
基于学习的方法会将整个形状(点云)输入到一个学习模型中然后输出分割结果,因此现有的学习模型都会看到整个形状的上下文本信息。更具体的有以下三种典型的分割方案:
Fully Convolutional-Like Methods [PartNet-InsSeg, Mo et al.]: 输入整个形状,端到端的输出分割结果。
Proposal-Based Methods [GSPN, Yi et al.]: 输入整个形状,首先输出感兴趣区域,再在每个感兴趣区域内进行分割得到最终结果。
Clustering-Based Methods [SGPN, Wang et al.]: 输入整个形状,对形状里的每个点得到一个深度特征,随后根据所得特征进行聚类,聚类结果为最终的分割结果。
传统方法[WCseg, Kaick et al.]主要以局部统计信息来设计特征进而进行分割,如利用法向量、主曲率等。因此其只会利用局部的上下文本信息。
我们对上述提到的四类方案各自挑选了一个代表的实现,并在椅子、储物家具以及台灯这三个类别上进行训练,随后在水龙头上进行测试。结果如图所示,
第四列是人工标注。我们可以看见三种学习方法(前三列)的结果很差,分割出来的零件支离破碎;传统方法(最后一列)能够顺利分割水龙头的底座,但未能成功分割水龙头的颈部,这个部位需要较大的上下文本信息。
根据上述实验结果,我们认为现有学习方法过拟合到了训练类别的全局上下文本信息,它们只是记住了特定输入形状的分割结果,而丧失了泛化性能。但另一方面,只利用局部上下文本信息的传统方法,处理不了体积较大较复杂的结构。
针对这样的情况,我们提出了一个简易的框架,它能动态的扩张与利用所需的上下文本信息,使得既能处理复杂的局部结构,又保证了较好的泛化性能。
具体的,我们将3D形状分割建模为一个决策过程,迭代地将初始细小的分割合并成最终的分割结果,期间模型所见的上下文本信息会逐步的增大。
首先我们得到一个个类似超像素的初始分割池(sub-part pool,详见论文),随后我们通过强化学习训练策略模块来挑选一对sub-part,其目标是挑选的sub-part pair在未来有较大几率形成一个part。
之后将挑选的sub-part pair输入到验证模块来判断是否应该将两个sub-part合并,如果不是,那么这个sub-part pair在之后的过程中不会再被考虑;如果是,那么我们就合并这对sub-part得到一个上下文本信息更大的新sub-part,将其放入到sub-part pool里并从pool中删除输入的这对sub-part。
我们不断的迭代重复这个过程,直到所有pair都被判断过,sub-part pool里剩下的即是我们最终想要的分割结果。
从定性角度来看,我们依然在椅子、储物家具以及台灯这三个类别上训练模型,在床和水龙头两个类别上进行测试。我们可以看见,所提出的方法能够顺利的分割出水龙头的底部与颈部。
从定量角度来看,我们在椅子、储物家具以及台灯这三个类别上训练模型,在所有PartNet 24个类别上进行测试。
可以看到我们的方法在训练过的类别上取得了和SOTA方法相似的性能,在未训练过的类别上较大地超过了现有三种学习方法。
Copyright © 2024 妖气游戏网 www.17u1u.com All Rights Reserved