SIGGRAPH 2D人体动作迁移与特征分解(附论文及代码链接)
计算机领域规模最大、参与人数最多的顶级会议 SIGGRAPH 2019 将在今夏火热举行。北京大学陈宝权课题组与北京电影学院和山东大学合作共有 3 篇论文获得接收,另有一篇 ACM Transaction on Graphics 录用论文,共 4 篇论文将在 SIGGRAPH 上宣读。本篇为其中的一篇:《Learning Character-Agnostic Motion for Motion Retargeting in 2D》的解读。其他论文解读,敬请关注后续报道。
该论文由北京大学 2016 级图灵班大三学生吴润迪与北京电影学院 Kfir Aberman 合作,由北京大学前沿计算中心执行主任陈宝权教授和以色列希伯来大学 Dani Lischinski 教授、特拉维夫大学 Daniel Cohen-Or 教授共同指导。双盲评审中,5 位评审人有 3 位给出最高分 strong accept!
简介
人体动作迁移(motion retargeting),即将一个人的动作迁移到另一个人身上,对于计算机动画领域有着重要意义。不同的人有着不同的骨架比例,如何在保持其自身骨架的同时嫁接上他人的动作是这一问题的难点所在。尽管人是在三维空间中运动,但大量的人体动作都是通过 2D 的视频采集的。那么传统的 3D 动作迁移的方法应用到 2D 视频中时,就首先需要 2D 到 3D 的人体姿态和相机参数的估计。因此,我们提出了一种新的、针对视频播捉的 2D 人体动作的迁移方法,避免了 3D 人体姿态估计和相机参数恢复的过程。
方法概述
为了实现我们的目标,我们希望从视频中学习到一个与人体骨架(skeleton)和相机位姿(camera view)无关的高层的动作特征表示。方法的核心思想在于通过训练一个神经网络,将 2D 人体姿态序列分解成三个高层特征,分别表示人体动作、人体骨架和相机视角。特征分解之后,再重新组合,通过一个 decoder 解码成目标的 2D 人体姿态序列。
为简化描述,将人体骨架和相机位姿视为静态特征。训练时,每次取两个数据样本 p_(i,j), p_(k,l),分别输入给两个 encoder,得到各自的动作特征 (m_i, m_k) 和静态特征 (s_j, s_l)。然后双方交换动作特征和静态特征,重新组合后再输入给 decoder,得到预测的迁移结果 (p_(i,l), p_(k,j)),再与 ground truth 做 l2 loss。另外,训练过程中也在特征空间上加 triplet loss 用于动作特征和静态特征更好的分离,公式详见论文。Ground truth 是通过 Adobe Mixamo 3D 动画集投影到 2D 构建的。
结果分析
通过聚类分析的方法,我们验证了所描述的框架起到了特征分离的效果,在三个特征空间上有着较好的聚类结构。应用我们的方法,可以从人体骨架和相机位姿两个角度进行动作迁移。
我们将结果与简单的 2D 方法和先前的 3D 方法进行了比较,包括直接在 Mixamo 数据集与 ground truth 的对比和在真实视频上的整个迁移流程的对比。在真实视频的对比上,我们采用 OpenPose 来提取 2D 的人体姿态,用于比较的算法采用 HMR/VNect 3D 人体姿态估计。
应用
有了骨架上的动作迁移之后,我们可以基于此做图像生成,这就是 performance cloning。之前的 performance cloning 方法大多使用简单的 global scaling 做骨架转换或者需要 3D 的先验知识,因此限制了其应用范围,而我们的方法不受此约束且能够产生更加合理的结果。
讨论
我们提出了一种分析视频捕捉动作的技术,能够直接在 2D 下做动作迁移,显式地绕开了 2D 到 3D 的姿态/相机估计过程。作为模型训练的副产物,特征隐空间显示出一定的聚类结构。尽管如此,动作特征和静态特征的分离尚未完全,动作特征空间依然包含部分静态特征的信息,如何更好地分离特征依然是值得研究的方向。此外,尽管我们显示的绕开 3D 重建的过程,与骨架和视角无关的动作特征空间隐式地暗含着 3D 信息,如何利用这样的动作空间辅助 3D 重建也是一个未来研究方向。