Background
There is increasing demand for high-quality 3D object models across multiple fields: gaming and virtual reality; advertising and e-commerce; synthetic training data for computer vision and robotics; and more. The traditional practice of manual 3D modeling is time-consuming and labor-intensive and is not well-suited to scaling to this demand. Thus, visual computing researchers have pursued data-driven methods which can augment human creative capabilities and accelerate the modeling process!!!
Task
基于组件的三维形状建模
key idea
从已知的图形库中检索到存在的part,并基于连接关系的推理来合成一个完整的3D 形状。为了完成这个任务,作者设计了作者设计了一个新颖的slot graph(插槽图),基于这种数据结构的方式,作者设计的算法学习了几何组件之间的连接,并且能够组装出新的,多样性好的三维形状。
问题
现有的基于组件建模(Part Assembly)的方法有两个问题:
(1)仅仅处理粗粒度模型
(2)仅仅学习模型在三维空间中的位置
Slot Graph
如上图所示,对于一个Slot graph而言,有结点和边,其中,结点代表的是插槽,contact edge代表的是不同的part插槽之间的连接关系,part edge代表的是同一个part下插槽所代表的连接关系。
数据预处理
作者利用了PartNet数据集用于实验。在PartNet数据集中,每一个Shape都有从细到粗的一个划分,本篇论文的作者使用了细粒度最高的一种方式作为基础的数据集。并且将形状分割的数量中国,大于30或者小于1的都去掉。在数据预处理的时候,作者也遇到了一个问题,有些Part的children都不一定一致,对于椅子和桌子这两类数据集,作者去掉了这些形状,对于家具和台灯,作者保留了这些形状,但是去掉了不一致形状的孩子结点。作者也去掉了包含浮游的part的形状,所使用的方法是,作者首先对各个part进行聚类,如果一个part的聚类明显小于其他的part,那么这个形状将不会采用。经过以上的处理,所有的shape几乎都拥有相同的part,对于学习过程中的难度有所降低,但是,会明显降低学习的生成效果,尤其是在生成的多样性上会有一定的降低。
方法
首先在已有的slot中,选择需要连接下个的slot,之后选择一个新增的part,最后在新增的Part中,将slot与原有的part中选出的slot相连,一个新的graph就生成了。生成的过程与图学习中,自回归生成一个图的过程非常相似,比如GRAPHRNN,但是区别点在于 What to attach,需要检索一个新的part去做连接工作。
实验结果
分析
作者的论文写作功底非常的好,值得我学习,此外,在目前的基于Part的建模方法中,是非常有创新性的一篇工作,利用一种新的数据表达作为一种基础的表达方式,来做深度学习,此外,在生成的过程中,引入了插槽这种特性,在2019年的SAGNet网络种,使用过榫卯结构来表达组件之间的连接性,但是并没有给出这种设计的一种具体方式,只是简单的说通过图的设计和几何与结构的分离能够达到这一个性质。2019年siggraph asia种的structurenet几乎将组件的深度学习建模推到了一个新的高度,目前在这个放向上的论文数量已经不再那么多了,目前的研究中心转向了基于组件的新的数据结构的表达方式,以及加入一些新的特性,比如这种连接的性质。
参考文献:
Kai Wang, Paul Guerrero, Vladimir G. Kim, Siddhartha Chaudhuri, Minhyuk Sung, Daniel Ritchie:
The Shape Part Slot Machine: Contact-based Reasoning for Generating 3D Shapes from Parts. CoRR abs/2112.00584 (2021)