记者| 刘立斌
整理|熊宇轩
编辑| 李梦佳表示,2021年最流行的与计算机相关的概念一定是“Metaverse”。 元宇宙是一个庞大的工程,计算机图形学是支撑元宇宙的一系列关键技术。 借助“元宇宙”,计算机图形学有望迎来“第N个春天”。
计算机图形学包括几何建模、渲染、计算机动画等研究方向。 与其他方向相比,计算机动画的特点是其研究主要面向场景中可以移动的物体。 刘利斌博士的主要研究方向是“角色动画”,即场景中所有可以主动运动的物体(如人、动物)。
2021年9月30日,北京大学前沿计算研究中心助理教授、致远后起之秀刘利斌在清远谈第6期发表了题为“角色动画生成”的演讲。
本文整理自报道,视频播放链接:
刘立斌博士于2009年获得清华大学基础数理学士学位,2014年获得清华大学计算机科学与技术博士学位。加入中心前,刘立斌博士于加拿大不列颠哥伦比亚大学从事博士后研究。加拿大和美国迪斯尼研究院,后加入硅谷初创公司DeepMotion Inc.担任首席科学家。 刘利斌博士主要研究方向为计算机图形学、物理仿真、运动控制及相关优化控制、机器学习、强化学习等领域。 截至2021年9月,刘利斌博士在计算机图形学领域国际顶级会议和期刊发表论文十余篇,被引用近700次,并担任SIGGRAPH、SIGGRAPH、 Pacific Graphics、Eurographics 等委员会成员。 在传统角色动画的生成过程中,首先需要通过机器学习、计算机视觉、图形学等方法对角色进行建模。
图1:角色动画生成流程 接下来,我们需要对电脑动画进行进一步处理,将角色模型绑定到骨架模型上。 这样,我们就可以通过改变骨骼的姿态来改变人、动物等角色的姿态。 为了显示这个模型,我们需要相机控件。 最后,我们通过渲染在场景中生成运动。 上述过程往往需要花费大量的时间和人力成本。 因此,研究人员正试图通过人工智能技术来加快角色动画生成的进程。
1个
绑定
图2:绑定过程中的挑战以绑定过程为例,动画师需要通过专业软件手动对皮肤施加权重,以保证骨骼在移动时具有自然的外观。 为了提高上述过程的效率,我们尝试通过算法实现自动绑定。 得到角色模型后,我们需要通过算法提取出构成虚实的骨骼框架,并计算出皮肤的权重,从而实现皮肤与骨骼的绑定。
图 3:自动装配和蒙皮 早在 2007 年,Baran 等人。 提出了基于几何运算的匹诺曹算法实现自动索具。 2020 年,Xu 等人。 在SIGGRAPH大会上提出了著名的RigNet,利用神经网络完成几何运算,实现更加鲁棒和美观的骨骼提取和绑定,同时也允许用户在绑定过程中进行一定程度的干预(例如,调整骨密度,联合立场)。 但由于该方法不支持用户自定义骨骼结构,在实际应用中往往需要解决运动重定向等问题。 在一些任务场景中动画角色设计论文,往往需要额外的工作来保证运动质量。
图 4:使用神经混合形状学习骨骼关节 为了解决这个问题,我们在 SIGGRAPH 2021 上提出了一种完全基于神经网络学习的自动绑定方法。该方法可以根据预设的骨骼结构自动提取符合预设骨骼结构的骨骼模型。输入角色模型,完成自动绑定。 rig完成后,将运动(如关节旋转)导入到模型中,可以直接驱动角色产生相应的外观变化。
图5:Envelope分支该方法通过基于MeshCNN的架构,根据输入模型提取每个顶点绑定的权重,并估计骨骼的位置,从而真正提取骨骼的结构。 由于原始蒙皮权重表征了骨骼的运动,这会影响顶点网格模型的影响,因此我们可以根据估计的蒙皮权重对骨骼模型进行反演。 具体来说,我们通过基于蒙皮的池化将顶点上的皮肤权重和特征转换为骨骼特征,最后提取骨骼结构。
图 6:Motion mass LBS 是一种广泛使用的线性混合皮肤模型。 其主要缺陷是变形较大时会发生体积损失。 为了弥补这一缺陷,人们通常使用手动创建的Blend Shapes方法来完成体积损失。
图 7:Residual Branch 我们的模型提供了相应的组件,可以根据输入数据估计 Blend Shapes,并在变形较大时提高绑定效果。 网络架构如图 7 所示。在推理过程中,我们将根据角色的当前姿势计算将 Blend Shapes 混合到骨架中的程度。
图8:训练过程由于我们在训练时并不知道骨骼的蒙皮权重和Blend Shapes的真实值,所以我们采用了间接监督训练的方式,模型输入是样本的位姿及其变形。 我们使用 SMPL 作为训练数据集,并添加额外的连接数据增强方法来提高网络的鲁棒性。
图 9:实验结果实验结果表明,加入神经混合形状组件后,在变形较大的场景中动画质量可以得到显着提升,使用 Envelope 模型估计的 Skinning 权重也优于原始 LBS 比较基线。
图 10:详细变形。 值得注意的是,我们的模型具有很强的捕捉人体细节变形(例如,肌肉晃动)的能力。
2个
相机控制
图11:摄像机轨迹规划 在游戏、电影等场景中,摄像机的镜头语言也是叙事的重要组成部分。 我们需要实时自动生成相机轨迹,形成一定的镜头语言和风格。
图 12:传统方法 传统上,我们可以根据摄影、艺术方面的一些技术和先验知识来设计优化目标,以生成相机轨迹。 然而,我们有时很难用口头或数学来描述这些先验知识。
图 13:Example-driven Virtual Cinematography by Learning Camera Behaviors 我们在 SIGGRAPH 2020 上发表了论文“Example-driven Virtual Cinematography by Learning Camera Behaviors”,试图从输入视频中提取风格的表征,从而实现虚拟动画的拍摄场景过程展示了类似的风格。
图 14:建模相机行为 在拍摄电影时,相机移动的过程在很大程度上取决于角色之间的相对关系。 基于这个观察,假设场景中总是至少有两个角色,我们可以表示两个角色之间的相对关系,他们与相机的关系,人的朝向,相机的位置等信息作为一种特殊的场景特征。 具体来说,我们在表示物体位置时采用完全局部环面坐标系,从而过滤掉全局运动的影响。
图 15:Mixture of Experts 为了提取这种表示,我们提出了图 15 所示的 Mixture of Experts 架构,它混合了对应于不同拍摄场景的不同风格的 Experts。 首先,我们通过门控神经网络得到每个场景特征的权重,根据权重混合不同的Expert,从而得到具有特定风格的相机运动轨迹。
图 16: Camera Keyframing with Style and Control 然而,“Example-driven Virtual Cinematography by Learning Camera Behaviors”中的方法并没有让用户参与对摄像机轨迹的控制,也无法通过指定来干预摄像机运动的过程关键帧。
图 17:两阶段工作流程 为了实现上述目标动画角色设计论文,我们在“Example-driven Virtual Cinematography by Learning Camera Behaviors”的基础上,使用关键帧信息、当前帧与关键帧的相对位置关系作为附加输入。
3个
动画生成
图 18:动画生成 最初,动画师需要通过调整角色关键帧中的姿势等来生成动画,这是一个耗时的过程。 现在的影视和游戏行业,我们往往先捕捉真人的动作,然后将捕捉到的动作映射到虚拟角色上,生成角色动画,大大降低了制作成本,提高了动作的丰富度。
图 19:通过组装进行无监督的共同部分分割 然而,用于动作捕捉的设备通常非常昂贵。 为此,一些研究人员尝试估计视频中人物的姿势(例如,OpenPose)。 然而,这些姿态估计方法大多是有监督的学习方法,需要我们先对图像进行大量的标注。 标记人体姿势相对容易,但标记动物和机械臂的动作比较困难,如图21所示。为了解决这个问题,我们发表了论文“Unsupervised Co-part Segmentation through Assembly” ICML 2021,它充分利用了视频中与动作相关的各个部分的相关信息,从而更好地对视频中的物体进行分类。
图 20:自监督组装 对于自监督训练,我们从不同的图像中分割出不同的部分。 如果分割结果合理,我们可以根据相应图像的变形对这些部分进行仿射变换,然后将变换后的部分组装回原始图像。
图 21:部件装配 - 编码器
首先,我们通过编码器提取零件的特征和零件的相应变换。
Figure 22: Part Assembly - Decoder 接下来,我们将每个部分的特征分别解码成相应的部分图。
图 23:零件组装 最后,我们组装零件图以恢复原始图像。
图 24:训练过程和损失函数 当输入两张图片时,我们首先通过编码器对源图片的部分特征和变换以及目标图片的变换进行编码。 接下来,我们使用目标图像的变换方法对源图像的部分特征进行变换。 我们尝试通过组装源图像的变换部分图来重建目标图像。
图 25:变换损失函数 除了重建损失函数,我们还引入了变换损失函数。 由于我们需要在区分部分的同时估计角色在规则空间中的姿势。 因此,我们假设所有部分都是规范空间中原点处的形状,其变换对应于形状本身的协方差所在的方向。 通过这个变换损失函数,我们可以赋予变换一定的物理意义。
图26:交互场景 对于电影,通过上述方法得到的一次性高质量角色动画可以满足要求。 但对于游戏、虚拟数字人、VR、服务机器人等交互场景,我们希望它们在与用户交互的过程中,能够实时产生符合要求的自然、高质量的动作。 从理论上讲,我们不可能完全依靠动作获取来获取动作空间中的所有动作,需要对已经获取的动作进行复用。
图27:Motion Graph 早期,研究人员使用Motion Graph等基于状态机的方法来完成上述目标,并通过图模型按照动作之间的逻辑关系将它们组合起来。 但是,如果涉及的动作很多,状态机就会变得非常复杂,难以进一步编辑。
图 28:生成动作 为此,研究人员试图通过学习能够根据用户指令生成新动作的生成模型,直接从非结构化数据中学习嵌入其中的策略。 在神经网络被广泛应用之前,人们试图通过高斯过程和高斯混合模型来完成上述任务。
图 29:神经运动生成 近年来,出现了几种基于自回归神经网络的运动生成模型。 我们将角色的当前状态、用户输入的指令、环境的变化输入生成网络,网络会根据以上信息迭代更新角色的状态。 其中,神经网络可以是门控网络、LSTM、标准化流等模型。 然而,这些基于数据的方法本质上是混合和重放现有数据,不能生成新的动作。
图31:基于物理的角色动画 另外,人摔倒等动作是一个物理过程,基于物理模拟的角色动画就是由此衍生出来的。 该方向的研究目标是在虚拟世界中还原现实世界的物理过程。 然而,这个控制过程往往很难实现。
图 32:基于强化学习的方法 在机器人领域,一些学者尝试研究一些常见的动作。 然而,这些研究缺乏对细节的刻画,机器人角色完成动作的外观与人类有很大差异,不自然。 近年来,随着强化学习的发展,大量基于强化学习的工作使得agent能够模仿人类的动作来学习controller,从而控制角色的运动。 具体来说,智能体不断地与其环境进行交互,并根据交互结果更新控制策略。 我们使用奖励函数使模拟结果尽可能接近输入动作。 由于模拟过程往往是一个黑盒,我们会使用 Reward-Weighted Regressoin 等模型无关的方法来解决它。
图 33:组合控制策略 除了基于简单的强化学习策略让角色学习灵活的动作外数据报告,我们还可以对身体的不同部位应用不同的控制策略(例如下半身保持平衡,上半身保持平衡)执行其他操作)。
图 34:多功能角色的控制图 使角色能够同时学习多个动作是基于物理的动画的一个重要目标。 如前所述,研究人员将基于状态机的方法应用于基于物理模拟的角色动画,结合不同的运动控制策略,使角色与物体和用户进行实时交互。
图 35:定时序列号跟踪的缺点 在进行模仿学习时,我们希望生成的动作与参考数据一致。 但是,在动态场景中,会出现一些与理想环境不匹配的意外情况。 为了解决这个问题,我们需要规划运动控制策略。 当跟踪原始参考数据失败时,我们需要跳过部分参考数据并进行新的尝试。
图 36:Q-Network for Action Planning 为了在规划时间从较长的应用程序数据中挑选出合适的数据以成功完成动作,我们设计了一种基于深度 Q-learning 网络的方法,可以实现滑板、杂技等复杂角色动画运动等等。
图 37:运动生成 + 基于物理的跟踪控制 为了生成新颖的运动,我们尝试将运动生成模型与基于物理的跟踪控制相结合。 然而,由于生成的运动通常在物理上不准确,因此在通过基于物理的方法跟踪这些运动时通常没有质量保证。
图38:Generative motion control 近年来,一些研究人员也尝试先收集大量的动作样本,然后通过自编码器找到一个共同的潜在空间,然后在潜在空间中学习新的高层策略。 这样我们可以让角色同时掌握大量的动作来完成目标,但是这个空间的训练过程也没有考虑到物理过程UI界面,动作的质量还是比较低的.
图 39:生成对抗模仿学习 此外,一些研究人员尝试将生成对抗网络 (GAN) 与强化学习/模仿学习相结合,以应对各种突发情况和物理参数的变化。 然而,GAN 和强化学习的训练都比较不稳定,因此产生的动作不自然且质量低。 今年,加州大学伯克利分校和上海交通大学的研究人员提出改进 GAN 中的鉴别器,增加一些人为干预以产生更多自然动作。
4个
Q&AQ1:角色动画生成未来的发展趋势是什么? 会遇到哪些新的机遇和挑战? A:角色动画最早是在游戏和动画中使用的。 目前业界的标准范式仍然是基于状态机的方法。 近年来,育碧、EA等大型游戏公司开始注意到机器学习可以有效提高角色动画制作过程的效率。 近期,国内一些企业尝试将角色动画技术应用于财经媒体、数字人、直播等场景。 基于物理的角色动画具有巨大的潜力。 今年,元宇宙概念的头部公司也将基于物理的模拟角色动画应用到产品中,但技术还不够成熟。 Q2:“元宇宙”概念的发展前景如何? 会发展成《头号玩家》等电影中描绘的形式吗? A:这个目标非常有吸引力,但要实现这个目标,我们还有很长的路要走。 例如,VR、AR是Metaverse的重要表现形式,但目前这些领域的算力支持还不够。 元宇宙是一个非常宏大的概念,角色动画等领域的研究往往只触及其中的一小部分。 Q3:您能否预测未来5-10年角色动画和物理模拟的研究方向会有什么样的突破?
A:我的研究工作的目标是尝试建立一个“人工小脑”,让角色本能地保持正常运动,这需要角色学习大量的运动技能,并将其转化为经验表征。 从宏观上讲,这也是通用人工智能的研究目标。