人工心理模型驱动的人脸表情动画合成

发布时间:2023-03-24 04:32:13   来源:文档文库   
字号:
维普资讯http://www.cqvip.comComputer En neering and Applcatons计算机工程与应用 2008,44(8) 07 ◎研发、测试◎ 人工心理模型驱动的人脸表情动画合成 谷学静 ,许广宾 ,熊 伟 ,王志良 GU Xue-jing ,XU Guang-bin ,XIONG Wei ,WANG Zhi—lang 1.河北理工大学信息学院,河北唐山063009 2.北京科技大学信息工程学院,北京00083 1.School of Information,Hebei Polytechnic Universiy,Tangshan,Hebei 063009,China 2.School of Ioraton Engineerng,Universiy of Scince and Technology o Bering,Bering 100083,China E—mail:guxueng@sina.on GU Xue-jing,XU Guang—bin,XIONG Wei,et a1Research on facial expresson animaton drive by artci psychology mode1.Computer Engineering and Applications。2008。4(8):107—109. Abstract:A methodolog for facial expression animation is puts forward.The proposed methodolog introduces factor weighted aggregate method to control the parameters of facial expression animation mode1.The weight vector is probabiliy which is output by the articial psycholog mode1.Results show that facial expression animation which is real-time delved by psycholog is real— istic and naturally. Key words:arci psycholog;HMM;facial expression animation;OpenGL 要:提出了一种人脸表情动画合成方法,该方法以人工心理模型输出概率值作为权重向量,通过因素加权综合法,控制表情动 画模型参数。实验结果表明,该方法实现了心理状态对表情的实时驱动,合成的人脸表情动画真实、自然。 关键词:人工心理;隐马尔可夫模型;人脸表情动画;OpenGL 文章编号:1002—8331(2008)08—0107—03 文献标识码:A 中图分类号:TP18 引言 信息技术的飞速发展,使得计算机与人类的人机关系越来 越紧密。人类对计算机的要求也不再仅仅停留在原有的科学计 算的水平,而是要求它更加智能化和人性化。也就是说,希望计 算机不仅能理智地理解主人的语言,而且还应该能够富有感隋 地与人类进行各种交流,在交流中进行自我分析、自我调控以 及自我完善,从而使人机交流进行得更为融洽、和谐。 人工心理_是指利用信息科学的研究方法,对人的心理活 动的更全面内容(尤其是隋感、意志、性格、创造等)的人工机器 实现。人工智能、人工心理都是从人的心理活动的角度研究人 规律的基础上,以人脸物理模型为基础,提出了NURBS曲面和 面片相结合的算法,运用块体变形模型,对人脸表面的各块进 行弹性形变,建立人脸三维网格模型,通过弹性体参数的变化 实现表情动画模拟,构建了特定人脸模型。在此基础上,利用模 糊数学理论中的因素加权综合法,以人工心理模型输出的各表 情的概率作为权重向量,影响表情动画模型参数,从而实现心 理状态对表隋的实时的驱动。最后结合关键帧技术,实现了符 合人类行为规律的连续的表情动画。 基于HMM的人工心理模型 这里选择经典的离散HMM用于建立情感模型。首先,需 要确定情感的每个层次上的分类数,也就是说要确定有多少种 心情——对应隐马尔可夫模型中的状态数 ,多少种表情—— 对应隐马尔可夫模型中的观察值的个数Ⅳ。在每种心情下,各 种表情以一定的概率出现。隐马尔可夫模型由两部分组成,其 的内在性能和外部行为,人工智能是从智能的角度来研究人的 认知、思维等心理活动;而人工心理则是从更广泛的意义来研 究人的心理活动,包括感性信息的获取、处理、合成以及人的情 绪、情感、性格、意志、创造等。人I,b理建模的目的是实现对人 的心理活动的全面人工机器模拟,以期使机器既具有智能又具 有隋感、意志和性格特征。OpenGL是一个功能强大的三维图形 为Markov链,它由7r、A描述,显然,不同的7r、A决定了 库[本文利用OpenGL技术,在分析了人脸表情特征块的运动 Markov链的不同形状。在人类的情感建模应用中,由于所受的 基金项目:国家自然科学基金(the Naona Naur Science Foundaon o China under Grnt No,60573059);河北理工大学科学研究基金(the Science Research Foundation of Hebei Polytechnic Universiy No,200637)。 作者简介:谷学静(1972一),女,硕士,副教授,主要研究方向:虚拟人系统、人工情感模型构建;许广宾(1973一),男,硕士,讲师,主要研究方向:电子 技术、信息技术、计算机控制等;熊伟(1980一),男,学士,助教,主要研究方向:电子技术、信息技术、自动控制等;王志良(1956一),男,博 士生导师,教授,主要研究方向:人工心理和人工情感、模式识别、网络控制、GPS等。 收稿日期:2007—08—22 修回日期:2007—11—19 
维普资讯http://www.cqvip.comComputer Engineerg and Applcatons计算机工程与应用 意识刺激不同,所以从任意时刻开始,下-H.II可能到达任意 状态,其Makov链为状态遍历的类型 时,依据特定人脸的照片并针对模型上的特征点进行交互修改 而改变模型形状,使之于特定人脸吻合。 人类的表情丰富多彩,为了分析简便起 ,暂且把表情也 视为离散变量并将其划分为三种表情:悲伤、无表情、高兴。初 始概率矢量对应于情感模型训练开始前的各个心情状态出现 的概率,根据不同的外界刺激的历史情况及没定角色的特定的 性格特征,这里可以给出对应的初始概率矢量 在情感模型的 对于部分静态的脸部模型,这里采用NURBS曲面进行构 造,对于脸部表情变化的部分,根据人脸的生理特点,将人脸表 面分成若十块。将人脸表情特征部位,如眼睛、嘴巴等处的 NURBS曲面用面片构成的曲面代替。当特征面片块体位移和 形变都很小时,可认为块体内部个体位移是其坐标(X,Y,z)的 Markov链中,状态转移概率矩阵中各元素的值,由多种因素决 定。首先,它仃J与该个体的性格特征有关;其次,个体情绪的稳 定程度,会影响状态转移概率矩阵中各行元素值的分布,情绪 阶线性组合(高阶忽略),即: =q)+0l +以 +a3z 6(6}x+b +b  (4) 越稳定,各行元素分布的越平均,反之,每行上各个元素的值的 差距越大;另外,就某一个个体而苦,他的情感模型中的状态转 移概率矩阵的值与意识刺激的类型有关,在不蚓的意识刺激 下,状态转移概率矩阵取值不 ;它还与个体所接受刺激的历 史状况及自身内部的需求机制的作用等【大J素有关。用于模型圳 练的观察序列,应该根据所塑造的角色的性格特征来给出,它 是在某一种特定情感刺激下的情感最表层表现——表情序列。 这样,就可以由以上的初始数据,对情感模型进行训练。由 于这里要解决的问题是确定一个角色的心理模型参数,再由该 参数模型产生情感表现的观察序列,即怎样渊整模型参数A= (仃,A,B),使P(O/h)最大的问题,所以,采用Baum—welh算 法用于情感模型的参数估汁I :在参数估汁的过程中还要通过 增加比例凶子的方法解决参数下溢的问题,再对有关算法加以 修正,以消去比例 子的影响 另外、为了得到对所有参数的可 靠估计,需要用到不止一个观察值序列,综合考虑上述凶素,处 理后得到的重估公式为: L ∑  (1) f=l 7一} ∑∑  (  Ⅱ = 。 —— lfl_ _ — 一 (2) J ∑∑  ) L ∑∑    _I  “ ! 一 (3) ∑∑   其中, 是对前向变量O/和后r变量 进行处理的比例因子,f 对应观察序列的序号 3 人工心理模型驱动的人脸表情动画 以上述心理模型作为情感引擎的程序输出结果为各心情 可能出现的概率,而要实现和谐的人机交互,输出结果应该以 表情动画的方式体现出来。因此,结合OpenGL技术,实现了情 感交互虚拟人系统平台。以不同的组合方式给情感虚拟人不同 的刺激,可以得到虚拟人的情感反应结果。通过对反应结果的 分析,认为情感反应结果是符合人类情感规律的,基于HMM 心理模型驱动的人脸表情动画合成结果真实自然。 3.特定人脸模 般人脸模型是利用通用三维软件(如:3D Max Studio) 建立的一般三维模型,但是它无法实现实时控制;而且在系统 中,我们希望能以较小的代价来构建三维人脸模型,因此采用 NURBS曲面和三角形面片相结合的方式进行构建,进行转换  W=Co+C X-FC2y十 3z 对于如何将NURBS曲面的剪切边界与面片能够密实的接 合起来,就需要知道剪切边界的节点的坐标。由于NURBS曲面 剪切边界并不是按照坐标剪切的,它只是根据整体曲面的比例 来进行剪切,这就对接合坐标的工作产生一定的难度,但是可 以对边界的比例进行换算和平移,就能达到这种效果。相应节 点在本坐标系内所采用的换算公式为: x=O ×(×,  )]+ :l~,l(x 1 Xl)l一 2 ,.、 y=O ×l|Xl]一v:『x(1xn)卜  2 其中( ,)为该节点的平面坐标,l、 为曲面分别在 轴和Y轴 上的宽度, 为剪切的比例系数,当 <0.5或, <0.5时用左 边的公式,而当n ≥0.5或n ≥0.5时用右边的公式。对于轴上 的坐标,可以用平移函数来解决,L大J为NURBS曲面的变形是根 据点与点之间的相互关系来进行的,因此经过数次平移可以控 制在视觉误差范围之内了。 3.2心理模型驱动的表情动画模型 人脸出现某种特定表情时,每一个子块的形变比较小,因 此,完全可以采用弹性形变模型来模拟脸部表情动画,为眼睛 眨动、嘴巴张开等脸部动作建立了各自的弹性形变模型,即表 情动画模型。以嘴巴为例,嘴巴外形近似于一个椭圆,椭圆和抛 物线在空IhJ曲线的统一表示中其形状凶子最相近,所以用两段 抛物线模拟一个嘴巴的外形。其外形轮廓近似符合下面公 式: =Ⅱ( —b) +c (6) 对卜嘴唇:没嘴唇闭合是为嘴唇的一个弹性平衡态,且此 时下嘴唇无弹性形变,则当上嘴唇的抛物线与纵轴焦点值为 c,水平方向上的拉动位移Ax:0,垂直方向上的位移为△y(抛 物线拟合上嘴唇线)时,所有上嘴唇三角形定点的位移可表示 为(以4个特征点的坐标系原点建立坐标系): —— 广—— Ay=a( : ’ 2b(  ))Ax=、/  a 一、/  a 7) 因此,定点的坐标变为( ,Y , ),且满足:  ,v . )=( ,y,Z)+( △y,Az) (8) 综合(4)、(5),可以得到顶点的新坐标,变动a与c值,就可以 得到上嘴唇运动的一系列新坐标,从而模拟出上嘴唇的整个运 动过程。对下嘴唇,同理可得。 采用同样方法,还建立了眼睛、嘴巴等许多动作的弹性形 变模型。由于保存的是弹性形变模型的数学公式而非动作功能 网格模型,所以在空问耗费上同以往的方法相比要经济多了; 每个表情动作,只有少数区域的点参与形变,形变过程完全由 弹性形变模型确定,因而汁算量较小。 
维普资讯http://www.cqvip.com
谷学静,许广宾,熊 伟,等:人工心理模型驱动的人脸表情动画合成 2008,44(8) 109 各种刺激条件下,由式(3)可以计算出各种表情出现的概 SwapBufe ̄(dc.m_ps.hdc); 率b ,以b 作为权重参数,控制各种表情对应的弹性形变模型 当前设备的前台缓存和后台缓存交换; 数学公式中的系数,例如对于系数。与C,其输出的表情结果  参数中0 与c 应为: void CDisplayView::Drawscene(),,绘制人脸模型  =∑a =∑cxb 9) glClearColor(0.4f,0.4f,0.4f,1.0f); =l j=l glClear(GL_COLOR_BUFFER_BITIGL_DEPTH_BUFFER_BIT); 再利用关键帧技术,通过系统在关键帧之问进行样条插值 产生中间帧,进而产生动画帧序列。 Face();//人脸绘制函数 3.纹理映射 构建完模型就要加上纹理了,纹理是使用纹理映射,纹理 glFlush(); 映射技术是真实感技术的一个重要方面,人脸表面的纹理具有  颜色和几何纹理的双重属性。在贴纹理前,必须要确定纹理与 人脸的相对关系,即在场景中生成实体时要同时用到纹理坐标 5实验结果 和几何坐标。对于一个二维纹理来说,纹理坐标在两个方向上 在确定了特定人脸模型及表隋动画模型后,对人脸照片进 都是从0.0到10。这样在设计纹理时就要小心,要使其左右、 行光照等预处理后,映射至模型上,通过不同的外界激励作为 上下各边能够很好地拼为一体,即要实现纹理图像的无缝连 人工心理模型的输入,模型的输出参数控制人脸表情动画模 接。在应用中,首先选择一个图像。由于被用作纹理图像的宽和 型,得到的部分实验结果如图1、图2所示。 高必须是2的幂次方,所以在预处理部分须将其转换为符合要 求大小的格式,并将对应的256分量依次读入缓存区。在初始 化时,对纹理映射的各种参数进行设置,要对相对的几何坐标 同时给出对应的纹理坐标,本文采用了线积分卷积法来进行纹 理的矢量场映射方法。没矢量场中任一点处的局部特性由一卷 积核函数k(W)沿一条从该点开始向前向后跟踪出的一段流线 一国 图1 人脸模型网格与纹理图 积分的结果决定,则定点( ,Y)的纹理值,( ,y)可由下式得出: ∑ X  ,y)= 】_ ~ (10) ∑h 0 国国国国 其中,,为( ,Y)出发向前向后跟踪的流线段所经过的像素, 图2脸部的不同表情图 Y )为像素点( Y 处的输入纹理,h 为流线段穿过像素( 时在其内的长度。经这样的处理后,就可以实现具有真实感 结论 较强的人脸表面表情。 情感信息处理是认知科学和人工智能研究一直关注,但是 3.4动画实现 始终未能解决的问题。人类的智能不仅表现为正常的理『生思维 OpenGL是在帧缓存中存储和操作像素数据。帧缓存是由 和逻辑推理能力,也应表现为正常的情感能力。使计算机具有 多个缓存组成的逻辑集,这些缓存包括颜色缓存、深度缓存、累 更高的、全面的智能,建立和谐人机交互环境的关键在于赋予 计算机适应人类情感的能力。本文以人工心理理论为基础,实 积缓存和模板缓存。OpenGL是用双缓存技术来实现动画的。程 序把帧存看成是两个视频缓存,在任意时刻,只有两者中的一 现了心理模型实时驱动表隋动画的情感虚拟人系统。本文采用 个内容能被显示出来。当前可见视频缓存称为前台视频缓存 的人脸表睛动画算法工作量较小、速度快、空间开销小、仿真效 果真实自然,特别是与人工心理模型相结合,不但实现了计算 (FrontBufer或OnScreenBufer);不可见的正在画的视频缓存 称为后台视频缓存(BackBufr或OfScreenBufer)。当后台视 机对人类心理活动的模拟,而且情感输出通过人脸表情动画合 频缓存中的内容被要求显示时,OpenGL就会把它拷贝到前台 成技术表达,进一步提高了人机交互的人性化程度。本系统的 视频缓存中去;显示硬件则不断地读出可见视频缓存中的内 开发,为虚拟人生成应用[、情感计算、情感机器人和友好人机 容,并把结果显示在屏幕上。部分程序如下所示: 界面等领域提供了一个基础平台。 void CDisplayView::OnDraw()  参考文献: CPaintDC de(this); 】王志良.人工心理学——关于更接近人脑工作模式的科学『北京 glClearColor(O.0f,0.5f,0.5f,1.Of); 科技大学学报,2000,22(5):478—481. 将显示窗口颜色设置为蓝绿色; 2】乔林.OpenGL程序设计【M】北京:清华大学出版社,2000. glClear(GL3】谷学静.基于HMM的人工心理建模方法及虚拟人相关技术研 COLORBUFFERBITIGLDEPTHBUFFERBIT); 用该色清除颜色,深度缓存; 究【D】北京:北京科技大学,2003. 4】Badler N I,Phips C B,Webber B L.Simulating humans:computer DrwScene(); ̄制人脸模型,即调用显示列表; graphics,animaton,and control[M]London:Oxford Universiy Press, 1999. 

本文来源:https://www.2haoxitong.net/k/doc/47854924eefdc8d376ee32b4.html

《人工心理模型驱动的人脸表情动画合成.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式