RPM-Net的文章发表在2019年的Trans on Graphics 上面,同时收录在siggraph asia 2019上面.
作者提出的问题:当给出很少的静态物体的时候如何去预测part的运动。因此本文主要解决的就是给定少量的物体,或者
物体的一部分,可以预测出它们的变化。
以这把伞为例子,给定这么一个模型,使用PRM-NET网络可以做出它的一系列动态变化的过程:
上图展示了一把雨伞收起来的动态过程,是通过PRM-NET这个网络来完成的。所以这个网络的创新点在于,首先可以预测出一个模型的正常的运动的过程,其次,可以对物体进行一个正确的分割。这个网络的输入的点的数量是2048个点。
主要的contribution:
(1) 引入了一个loss函数,这个loss函数由一个重建Loss加上一个motion的loss来组成。
(2)使用RNN网络的时候,使得我们不但可以预测运动的后续帧,还可以决定什么时候停止。
方法
解决这些问题的方法主要是用两个网络autoencoder+LSTM的方法来预测变化。
数据集的制作:对数据集中的数据进行在同一个方向上的分割,分割称为part,对其中的每个part进行标注,每一个shape都有一个reference part和一个或者多个moving parts。对于数据集中的每个shape,我们采用将moving part和 reference part组合成联合的pair,称之为mobility unit,并将ground-truth的mobility unit与其相关联,指定其为描述物体移动性的一组参数,并用来描述reference part和moving part之间的移动。
参数由一个四元组来表示,其中表示的是移动变换的类型(例如平移变换,旋转变换等),d和x分别表示的是方向和旋转轴,r表示的是变换的范围例如起始位置和结束的位置,或者选择的角度。
本篇论文的一个最大的创新点是可以进行一些non-trivial的变换。
上图是本篇论文的pipeline,给定输入的点云,网络的映射,以及分割的结果,它们共同提供最终的运动序列。
说说这篇论文中对我的帮助:
这篇论文是需要对3D模型做运动序列的预测,整体的idea非常的好,使用的方法需要对数据集做很多的标注工作(其实我在做工作的时候,一直想的是能不能用尽可能少的数据集预处理工作,而将这个过程用算法来替代,这样是不是在后续具体的算法落地的实验过程中更友好一些,但是目前看来,学术界对数据集的各种预处理真实炉火纯青,只有你想不到,我还需要多多学习),最后,作者的网络结果有很大的创新性,这种网络结构的拼接,是不是在训练实现上显得更加困难呢?