陈宝权课题组SIGGRAPH 2020入选论文解读:用于深度动作迁移的骨骼感知网络

项目主页:https://deepmotionediting.github.io/retargeting

代码及预训练模型:https://github.com/DeepMotionEditing/deep-motion-editing

 

   

  

01 引言

  

  人物角色的动画一直是电影、游戏中不可或缺的一部分。在计算机图形学中,骨骼驱动的角色动画因其便于控制、效果良好且资源消耗较低等优点被广泛运用。为了驱动不同的角色,艺术家常常需要构建各部分比例不同的骨骼,有时甚至是拓扑结构也不同的骨骼;而将已有动画迁移到新的骨骼也非常费时费力。近年来,已经有一些工作[1]使用神经网络来解决动作迁移的问题,但这些工作都没能显示地利用骨骼拓扑信息,也都局限在相同拓扑结构的骨骼上。

 

输入动作和两个输出动作

 

  为了解决在基于骨骼的动画研究中长期存在的问题,我们提出了全新的骨骼卷积和骨骼池化算子,并基于这些算子构建了用于同胚骨骼之间无需配对示例的动作迁移深度学习框架。由于引入的算子能显式地考虑骨骼的层次结构和关节的邻接关系,我们称之为“骨骼感知”的。我们的实验证明在动作迁移和通用运动处理上,我们的框架相比原有的成果更加有效。据我们所知,我们的方法是第一个在具有不同运动链上进行动作迁移且不需要配对示例的方法。

 

02 方法简介

 

  我们使用静态骨骼位置+动态关节旋转的方式表示骨骼上的动作,并把不同骨骼之间的动作迁移视作无配对的域转移任务[2],将动态静态部分分别处理,搭建了深度学习的基本框架。该框架使用了两对自动编码器作为生成器,在共同的隐空间中实现不同骨骼之间的动作迁移,并引入判别器提高生成的结果。

 

两个自动编码器及其训练时示意图

 

  为了充分利用骨骼的拓扑结构,我们构建了“骨骼卷积”这一算子。在对一个关节及其对应的单个骨骼做卷积时,我们将其所有距离为 d 的邻接骨骼对应的通道提取出来。同时将静态部分和动态部分的通道进行拼接,进行时间轴上的1维卷积。

 

骨骼卷积和池化

 

  我们利用了同胚骨骼可以被一系列合并操作压缩到同一个“基本骨骼”,构建了“骨骼池化”这一算子。下图展示了两个拓扑不同的同胚骨骼经过三次池化操作后合并到了一个公共基本骨骼的过程。这也是我们不同骨骼的自动编码器能达到同一隐空间的基石。

 

骨骼池化以及“基本骨骼”

 

  下面的图片展示了我们在自动编码器中使用的块(block)的构成:将静态部分(offset)和动态部分(rotation)进行拼接,然后使用我们的骨骼算子得到深层表征。每一个编解码器都由分别由两个块构成。

 

自动编码器的基本块

 

03 结果展示

 

  在测试时,我们将源动作作为对应的编码器的输入,并将编码器输出的隐变量和目标骨骼信息作为解码器的输入,并根据目标骨骼的拓扑结构选择相应的解码器,得到迁移后的动作。

 

框架的测试时示意图

 

  首先,只使用一个自动编码器但使用不同的骨骼信息可以进行同拓扑骨骼之间的动作迁移。下面的动画将我们的工作和 CycleGAN[2](Adaption),NKN[1]进行了对比。

同一拓扑结构的源骨骼、目标骨骼

 

从左到右依次为Input, CycleGAN, NKN, Ours

 

更一般的,使用完整的两个自动编码器可以实现不同拓扑结构之间的动作迁移。

 

不同拓扑结构的源骨骼、目标骨骼

 

从左到右依次为Input, CycleGAN, NKN, Ours

 

甚至能完成有骨骼拓扑有非常显著差异的动作迁移:

 

拓扑差异明显的源骨骼、目标骨骼

 

从左到右依次为Input, Output

 

参考

[1] Villegas et al.,Neural Kinematic Networks for Unsupervised Motion Retargeting.

[2] Zhu et al., Unpaired image-to-image translation using cycle-consistent adversarial networks.

  

  SIGGRAPH (Special Interest Group on Computer GRAPHics and Interactive Techniques) 是计算机领域规模最大的顶级会议、CCF A类会议,参加人数达2万余人,每年收录百余篇图形学相关的优秀论文,是计算机图形领域集技术、艺术与展览于一体的盛会。因新冠疫情影响,SIGGRAPH 2020将首次以在线方式举行。