计算机人脸动画是虚拟现实中一个十分重要的课题,经过近30年的研究,它取了非常快速的发展。它涉及到了多门学科,包括人脸解剖学、表情心理学、计算机图形学等。它的主要目标有两个:第一,开发一个合理的数学模型来对人脸进行模拟,得到一个静态的具有真实感的三维人脸动画;第二,把前面的静态的人脸动画进行序列化,使三维模型能像真实人脸一样能动态动作。根据人脸运动机理,本文采用了一种基于伪肌肉向量的动画方法来实现人脸动画:把人脸肌肉分为三种,线性肌、括约肌和扁平肌,利用这三种肌肉的受力来实现人脸动画;把人脸皮肤模型顶点用弹簧进行连接,同时加入边界排斥弹簧,防止了当受力过大时网格崩坍现象;加入头骨模型,使头骨通过肌肉向皮肤点施加一个向外的约束力;创建皮肤、肌肉和头骨三层模型的力平衡公式,并利用该公式得到皮肤点的动画。最后在动画里面加入了下巴旋转、眼睛睁闭和眼球的转动,完整地补充了伪肌向量动画。本文还利用该动画方法实现了在视频驱动和语音驱动两个方面的应用。在视频驱动中,采用以下步骤实现人脸特征点检测:1)对图像做预处理,弥补图像色彩偏差,提升图像质量;2)对于视频的第一帧,采用Viola Jones做人脸检测;3)对于视频的其余帧,采用MeanShift算法对人脸进行跟踪;4)利用活动形状模型(ASM)算法对前两步得到的人脸区域做特征点检测;5)把人脸特征点的位移信息转换成与伪肌肉向量动画方法相对应的动画驱动参数。为了提高检测的精确度,本文还分别对MeanShift算法和ASM算法进行了改进,并取得了很好的效果。在语音驱动中,本文首先利用HTK做语音分析,得到语音相应的汉字内容以及每个汉字在语音中的时间信息。然后再根据统计,把汉字转换成口型。动画系统就是根据口型和汉字相对应的时间信息,得到对应于语音的序列化好以后的动画。为了使在语音驱动时,人脸动作和表情更加丰富,引入了表情圆方法。通过这个方法,无需手工参与,就能合成人脸其它的许多表情,同时还能利这个方法来做到动态表情的效果。最后,本文还实现了一个可以用来编辑、渲染三维模型的动画平台和一个具有较高扩展性的动画平台。