摘要
近年来很多学者将人工智能、人工生命等技术融入到人体动画制作中,从而实现动画序列的自动生成,让人物角色具备一定的自主性和智能性。由于很多智能人体动画技术以人体运动捕捉数据为基础,因此本文先简要介绍了基于运动捕捉的人体动画制作流程中涉及到的各项技术,然后分别介绍了两类智能人体动画技术的发展脉络:群体动画技术和面向动画序列生成的人体动画制作技术。最后对智能人体动画技术的未来研究趋势作了展望。
关键词:计算机动画,智能人体动画,运动捕捉,群体动画,运动合成
1.引言
计算机动画以计算机图形学为基础,涉及到图像处理技术、运动控制原理、视频技术和艺术甚至于视觉心理学、生物学、机器人学、人工智能学等领域,是一个多种学科和技术综合的领域。计算机角色动画是计算机动画中非常重要的组成部分,其中又以人体动画最为常见。为了得到形象逼真的人体动画,艺术、计算机等领域的专家提出了很多方法,人体动画技术取得了很大进展,但由于人体运动包含的自由度多、数据维数高,运动过程中需要与外部环境进行交互等原因,在计算机中模拟复杂的人体运动仍然存在着很多困难和挑战。对人体动画的研究方法大致可以分为三类[1]:手工方法;基于物理的方法;运动捕捉数据驱动的方法。很多传统方法没有考虑到动画角色之间以及动画角色与虚拟场景之间的协调融合,在最终的动画制作过程中缺乏一定的智能性。为了进一步提高人体动画制作的效率,近年来很多学者将人工智能、人工生命[2]等技术融入到动画制作中。肖俊[3]将智能人体动画技术大致分为两类:群体动画技术和面向动画序列生成的人体动画制作技术。
很多智能人体动画技术都是以已有的三维人体运动捕捉数据为基础,因此本文先对基于运动捕捉的人体动画制作技术流程做简要介绍,再分别从群体动画技术和面向动画序列生成的人体动画制作技术两个方面来梳理智能人体动画技术的发展脉络。
2.基于运动捕捉的人体动画制作技术
基于运动捕捉的动画制作技术是以真实感三维运动数据为基础,采用数据驱动的方式产生三维人体动画。具体创作流程可以大致分为如下步骤[3]:运动数据获取、数据预处理、运动合成。
2.1 三维人体运动数据获取
运动捕捉技术起源于上世纪70年代[4],该技术的基本思想是采用特殊设备,实时捕捉真实运动物体(演员、动物等)的三维运动数据,然后将捕捉得到的运动数据映射到动画师事先建立好的三维模型上生成动画序列。
运动捕捉技术经过几十年的发展,大致分为两类:基于传感器的捕捉技术和基于视频的捕捉技术。基于传感器的捕捉技术中的运动捕捉设备有机械式、声学式、电磁式和光学式。基于视频的捕捉技术也可以进一步分类:从运动捕捉条件来看,可以分为基于单相机和基于多相机两类;从技术手段来看,可以分为基于特征跟踪、基于模型匹配、基于统计学学习、基于侧影分析等几类。基于视频的捕捉技术仅仅使用少量便宜设备就能利用大量已有的视频信息,和基于传感器的捕捉技术相比具有成本低、环境限制少的优势。
2.2 人体运动数据预处理
运动捕捉设备得到的原始运动数据通常有数据量大、缺少结构化信息的缺点,我们通常希望运动数据能够通过预处理满足一些需求[5]:(1)数据完善,可以精确反映运动;(2)可以复用;(3)可以增加衣服的运动等辅助运动;(4)可以建立非真实感的风格化运动;(5)根据动画制作的设想改变运动意图;(6)弥补真实运动的一些不足:如反复运动不循环等。运动编辑技术可以对已有的运动数据,按照用户需求对其特征进行改变,从而满足动画制作的需求。在运动编辑技术中,输入给系统的往往都是一段单一的运动数据。常见的运动编辑技术有运动数据分割、运动重定向、关键帧编辑、运动变形、运动路径编辑等。
2.3 运动合成
运动合成是以多个已有三维人体运动数据为输入,通过处理产生一段新运动数据的过程。根据不同的技术手段和面向的问题,运动合成技术的常见类别有以下几种[6]: (1)运动过渡和运动融合:将用户输入的两段运动数据进行无缝拼接,最终形成一段较长时间序列的运动数据; (2)基于物理学或动力学原理的运动合成:涉及面较广,一个典型例子是使用动力学知识来合成角色遭受到非预计外力作用后的反应行为数据; (3)基于运动图建模的运动合成:将已有的运动数据分割成独立运动单元,将其作为有向图的节点,通过运动过渡算法在各运动单元间检测可能存在的运动过渡条件并建立有向连接,合成运动数据时,在建好的有向图上搜索合理路径即可; (4)基于子空间分析的运动合成:将原始运动数据从高维空间映射到低维空间,进行编辑和合成后再投影回原始空间,从而生成新的运动数据; (5)参数化运动合成:将人体运动数据进行参数化表示,在运动合成时通过指定参数值来生成新的运动数据; (6)基于人机交互的运动合成:演员在镜头前演示简单的行为序列,系统将其作为控制信号输入,然后从已有的捕获数据库中检索和控制信号匹配的运动数据来合成最终动画序列。控制信号有视觉特征、音乐、数据手套的信号、语音等。
3 群体动画技术
群体动画是指两人或两人以上的集合体拥有相同目标,在场景中做着大致相同的行为,但是每个个体的动作存在一定差异性[7]。Amkraut等人在 1985年采用鸟群运动的全局向量力场技术第一次实现了可编程虚拟鸟群的群体动画模拟。人类群体动画都是以那些更为简单的实体群体动画为基础的, 特别是鸟群[8]和鱼群[9]的动画。
3.1 群体动画建模
角色动画建模在计算机图形学上可以按照层次等级方式进行归纳。张淑军等人[2]在文献中将角色模型从低到高分为几何模型、物理模型、生物力学模型、行为模型和认知模型。饶云波等人[7]则将动画模型从低到高分为几何模型、运动学模型、物理模型、行为模型、认知模型。两种模型的整体结构相似,在物理模型、生物力学模型的排序方面相反。
基于角色动画建模金字塔,饶云波等人将群体动画的建模分为五类: (1)基于行为的建模:主要考虑模拟个体的数目、个体的智商水平、控制机制和碰撞处理,解决方法主要有粒子系统、群体系统、行为系统、等级层次系统等。 (2)基于认知的建模:为角色建立认知模型,通过该认知模型来指导角色行为。比较典型的方法有Shao等[10]提出的一种虚拟场景中群体动画的生成技术,他们利用认知模型对每个虚拟角色独立建模,使其具有感知、行为及认知能力。 (3)基于虚拟环境的建模:模拟环境使得群体的模拟和它们所处的环境相符。 (4)基于人群的建模:具有一定代表性的研究方向有恐慌状态下人群撤离运动建模[11]等。 (5)基于角色的群体建模:在特定环境中,不同的智能角色有不同的感觉能力,基于智能体的动画技术可以较为逼真地刻画出智能角色的感知能力。
3.2 基于智能体的群体动画
智能体(Agent)是于1986年由著名计算机学家及人工智能学科创始人之一M.Minsky在《心智的社会》这本书中提出来的一个概念。他主张研究人工智能的一条新的思路,即研究社会的智能。因为人的智能,是自然的产物,也是社会的产物。典型的智能体具有以下特征:自主性、社会性、反应性、移动性、意识性。Agent可看作是功能单一的主体,它只是解决某一方面的问题,但是通过群体Agent的通信和协调,它们可以共同解决非常复杂的问题[12]。 基于智能体的动画是将动画角色建模为自主Agent,运用Agent相关理论和机器学习等方法创建动画角色的技术[2]。利用这种技术,图形角色被创作为类生命的合成Agent,它们的行为可以用某些学习和适应机制获得。
Reynolds等人[8]在1987年提出了一个集群行为计算模型, 其中每个角色是在各自的环境中独立的行为者, 通过感知局部环境 来决定在给定的时间采取何种行为,体现了人工生命学科的“涌现”思想;Tu等人[9]在1994年提出了基于自然生命模型的动画自动生成方法, 把鱼作为自激励的自主智能体, 创作了生动逼真的人工鱼群, 其工作是智能角色动画的典型代表; 刘丰等人[13]在2004年提出一个基于多自主智能体的群体动画创作框架,群体中的角色作为自主智能体能感知环境信息,产生意图,规划行为,最后通过运动系统产生的运动数据来完成行为和实现意图。与传统角色运动生成机理不同,该框架首先采用运动捕获系统建立基本运动库,然后通过运动编辑技术对基本运动进行处理以最终得到角色运动。
4 面向动画序列生成的人体动画制作技术
面向动画序列生成的人体动画制作技术的目的是[3]以已有人体运动数据作为输入,结合虚拟场景及虚拟场景中的非生命物体,借助基于运动捕捉的动画制作技术中的运动编辑、合成等方法生成最终的人体动画序列[14]。
4.1 基于运动学的技术
多种基于运动学的技术可以利用运动捕捉数据来合成人体和场景的交互运动。2002年,Lee等人[15]基于运动图框架,展示了人体角色攀爬梯子、悬挂单杠等攀爬类的动画。然而该框架的设置只允许演员在进行运动捕捉时在相同的环境中移动。Lee等人[16]在2006年提出的一种基于“补丁(Patch)”的 “积木(Building Blocks)”算法可以在新环境中产生角色动画序列。该算法中多个“积木”单元可以任意组合在一起形成新的虚拟场景,每一个“积木”单元中不仅包含了构建场景所需的几何元素,还嵌入了对应于该几何元素的可用三维人体运动数据。但是这种方法只适用于高度结构化且具有规则几何结构的虚拟场景。这种基于“补丁(Patch)”的扩展方法还被用来解决多个角色之间的交互运动合成问题[17]。Agrawal等人[18]在2016年通过调整运动数据库中人体运动的足迹模式来合成交互运动。
4.2 基于核方法的技术
以上方法的本质都是将选中的运动序列插入场景并根据场景进行编辑。这类方法是简单的,但不能产生连续的运动空间。为了解决这一问题,不少研究者尝试使用核方法来合成新运动[19][20][21][22]。此类方法通过插值多个运动序列和调整混合权值来合成平滑的新运动。核方法的问题在于扩展性差和预处理成本高:当数据量非常大时,最近邻搜索可能非常耗时,并成为该方法的瓶颈。
4.3 基于深度学习的技术
许多研究者尝试用深度学习技术克服核方法的局限性。LSTM适合处理时间序列数据,被应用于运动重定向[23]和关键帧姿势插值[24]等方面。由于未来的不确定性,LSTM常会出现向平均姿态收敛的问题。Li等人[25]通过使用基于概率的Teacher Forcing解决了这一问题。Lee等人[26]构建了一个四层LSTM模型,用于合成角色移动、打篮球和打网球的动画。递归神经网络(Recurrent Neural Network,RNN)结构 (如LSTM)的一个问题是难以对其进行训练。Bai等人[27]详细介绍了LSTM在序列建模上的难点。 Holden等人使用时域卷积模型[28]和一种称为相位函数神经网络[29]的专门架构来产生新运动。相位函数神经网络在卷积自编码网络的基础上加入了实时控制机制,将运动相位作为输入。随着相位,该系统采取用户控制,角色的前一状态,场景的几何形状作为输入,并自动产生高质量的运动,实现所需的用户控制。系统可以自动生成动作,让角色适应不同的几何环境,比如在崎岖的地形上行走和奔跑,爬过大石头,跳过障碍物,蹲在低矮的天花板下。这种方法的局限性在于训练速度慢,且需要对数据提前进行人工标记。Starke等人[14]在2019年提出了一种新的深度自回归框架——神经状态机,通过精确的场景交互来引导角色完成目标驱动的动作。为了让角色适应大范围的几何形状,例如不同形状的家具和障碍物,该框架引入了一种自中心推理和目标中心推理相结合的控制方案来提高在运行时达到目标的精度。
5 小结
智能人体动画技术是计算机图形学、机器人学、人工智能学等多学科交叉的研究领域,其中涉及的研究内容在电影特效行业、游戏行业、仿真模拟等领域具有广泛的应用背景。近年来智能动画技术取得了很大的发展,但仍然有不少挑战和值得研究的方向。 (1)在智能人体动画技术中可以进一步利用神经网络技术。 (2)智能人体动画技术是多学科交叉研究领域,如何借鉴机器人学与生物力学[30]中的各种研究方法、原理也是值得研究人员进一步研究的方向。 (3)复杂多样的环境交互运动合成[14]。
参考文献
[1] 王鑫,柴春雷,孙守迁. 3维人体运动编辑与合成技术综述[J]. 中国图象图形学报, 2009, 14(02): 233–242. [2] 张淑军,班晓娟,陈勇,陈戈. 基于人工智能和人工生命的计算机动画[J]. 计算机科学, 2007, 34(10). [3] 肖俊,庄越挺,吴飞. 计算机视觉与机器学习技术在三维人体动画中的应用综述[J]. 计算机辅助设计与图形学学报, 2008, 03: 281–290. [4] Sturman D J J . A brief history of motion capture for computer character animation[EB/OL]. 1994. [5] 刘贤梅. 数据驱动的人体动画合成研究综述[J]. 计算机工程与设计, 2010, 31(18): 4054-4057+4061. [6] Safonova A and J K H. Construction and optimal search of interpolated motion graphs[J]. Acm Transactions on Graphics, 2007. [7] 饶云波. 计算机群体动画中的真实感行为综述[J]. 计算机应用, 2010, 30(03): 571–578. [8] Reynolds C W. Flocks, herds and schools: A distributed behavioral model[J]. Computer graphics and interactive techniques, 1987: 25–34. [9] Tu X and D T. Artificial fishes: physics, locomotion, perception, behavior[J]. Computer graphics and interactive techniques, 1994: 3–50. [10] Shao W, Terzopoulos D. Autonomous pedestrians[J]. Graphical Models, 2007, 69(5–6): 246–274. [11] Helbing D, Farkas I, Vicsek T. Simulating dynamical features of escape panic[J]. Nature, 2000, 407(6803): 487–490. [12] 董刚. 基于自主智能体的群体动画创作方法研究与实现[D]. 国防科学技术大学, 2004. [13] 刘丰. 基于多自主智能体的群体动画创作[J]. 计算机研究与发展, 2004, 01: 104–110. [14] Starke, S. et al. Neural State Machine for Character-Scene Interactions[J]. Acm Transactions on Graphics, 2019, 38(6): 14. [15] Lee, J.H. et a. Interactive control of avatars animated with human motion data[J]. Acm Transactions on Graphics, 2002, 21(3): 491–500. [16] Lee, K.H., M.G. Choi and J L. Motion patches: Building blocks for virtual environments annotated with motion data[J]. Acm Transactions on Graphics, 2006, 25(3): 898–906. [17] Kim, M. et al. Tiling motion patches[J]. ACM SIGGRAPH/Eurographics Symposium on Computer Animation, 2012: 117–126. [18] Agrawal S, Van De Panne M. Task-based Locomotion[J]. ACM Transactions on Graphics, 2016, 35(4): 1–11. [19] Mukai T and S K. Geostatistical motion interpolation[J]. Acm Transactions on Graphics, 2005, 24(3): 1062–1070. [20] Rose, C., M.F. Cohen and B B. Verbs and adverbs: Multidimensional motion interpolation[J]. Computer Graphics and Applications, 1998, 18(5): 32–40. [21] Rose III C F, Sloan P-P J, Cohen M F. Artist-Directed Inverse-Kinematics Using Radial Basis Function Interpolation[J]. Computer Graphics Forum, 2001, 20(3): 239–250. [22] Wang, J.M., D.J. Fleet and A H. Gaussian process dynamical models for human motion[J]. Pattern Analysis and Machine Intelligence, 2008, 30(2): 283–298. [23] Villegas, R. et al. Neural Kinematic Networks for Unsupervised Motion Retargetting[J]. Computer Vision and Pattern Recognition, 2018: 8639–8648. [24] Harvey F G and C P. Recurrent transition networks for character locomotion[J]. SIGGRAPH Asia, 2018. [25] Li Z, Zhou Y, Xiao S, et al. Auto-Conditioned Recurrent Networks for Extended Complex Human Motion Synthesis[J]. 2017: 1–13. [26] Lee, K., S. Lee and J L. Interactive Character Animation by Learning Multi-Objective Control.[J]. Acm Transactions on Graphics, 2018. [27] Bai S, Kolter J Z, Koltun V. An Empirical Evaluation of Generic Convolutional and Recurrent Networks for Sequence Modeling[J]. 2018. [28] Holden, D., J. Saito and T K. A Deep Learning Framework for Character Motion Synthesis and Editing[J]. Acm Transactions on Graphics, 2016. [29] Holden, D., T. Komura and J S. Phase-Functioned Neural Networks for Character Control[J]. Acm Transactions on Graphics, 2017. [30] Choi, M.G., J. Lee and S Y S. Planning biped locomotion using motion capture data and probabilistic roadmaps[J]. Acm Transactions on Graphics, 2003.
|