具有视觉跟踪的中英文语音动画系统1.doc_第1页
具有视觉跟踪的中英文语音动画系统1.doc_第2页
具有视觉跟踪的中英文语音动画系统1.doc_第3页
具有视觉跟踪的中英文语音动画系统1.doc_第4页
具有视觉跟踪的中英文语音动画系统1.doc_第5页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

具有视觉跟踪的中英文语音动画系统1吕玉生 宁波大学信息科学与工程学院,宁波 (315211) e-mail:11007118摘要:本文给出了一个具有视觉跟踪的中英文语音动画系统的实现过程。该文介绍了该系 统的设计过程以及所需的技术,包括可视音素、三维人头模型的制作与显示、语音与动画的同步、动画的平滑自然的过渡、眼睛的跟踪与随机眨眼、与外部程序接口的设计等。该语音动画系统具有人脸表情真实自然等特点,在普通 pc 机上能够产生高质量的语音动画。关键词:语音动画 可视语音合成 可视音素 人机交互 视觉跟踪中图分类号:tp391.411引言随着多媒体技术的迅速发展,多种媒体之间的信息融合也日益受到人们的重视。人脸和 语音是人类相互交流的两种最重要的渠道,将人脸动画技术(facial animation)与语音处理 技术(speech processing)相结合、用计算机生成语音与口形同步动画的技术,称作语音动 画技术,也被称为“说话的人头”(talking head)。在人机交互等应用环境中,如果人们面对的是这样一个会说话的人物形象,则会使计算 机界面更为友好,人机之间的交流更加自然。研究表明,在环境噪声较大的情况下,如果在 给出声音信息的同时能给出一个“说话的人头”,则可使信噪比提高约8-12db1。本文结合了几款优秀软件的强大功能,开发出了一款支持中英文语音的人脸动画系统。 该动画系统具有表情表现自然真实等特点,并且为了方便后续程序开发的工作,我们还设计了与外部程序交互的接口。2语音动画系统的设计与实现如图 1 所示,整个系统的界面分为三个部分。左上部为三维人头的显示区域,可以对三 维人头进行旋转、缩放等操作;左下部为文本输入以及语音控制部分,可以选择男女声、调 节音量和语速等;右面部分为模型变形的控制部分,包括控制 7 种表情、15 种调节器和 16 种可视音素对应模型的变形程度,并且可以通过组合产生出各种新的表情。1本课题得到国家科技部 973 重大基础前期专项(2005cca04400)、国家自然科学基金项目(60672071)的资助 。-6-2.1 三维人头模型的制作与显示图 1 系统界面在三维人头模型的制作软件中,facegen2是一款非常优秀的制作参数化人头的工具软 件,操作简单,全部实时交互调节,可调节的参数达上百个,可对头部 60 多个区域进行调 节。调节内容包括人种、性别、年龄等。此外,还可以调节几十种表情和口型。(a)正面人头照片(b)合成的三维人头正面截图图 2 原图与合成图同时,我们还可以通过提供一张正面人头照片,让 facegen 合成出非常逼真的三维人头模型。如图 2 所示,我们提供一张正面人头照片,通过 facegen,合成了一个逼真的三维人 头模型。三维人头模型制作完成以后,就可以导出为数种流行的 3d 文件格式,如 obj、3ds、vrml 等。因为 open inventor3(以下简称 oiv)可以完美支持 vrml97 格式,所以我们导出包 括中性和其他所有目标动画人脸模型在内的 vrml97 文件。oiv 是目前世界上应用最为广泛的面向对象和交互式的三维图形软件开发包。它是在opengl 的基本上开发而成的,因而也是一种相对独立的图形系统,并可方便地移植到不同操作系统的硬件平台上。由于 oiv 在构造复杂的三维场景时采用了“搭积木”的灵活方式, 这使得用户只需花费较少的时间就可构造出复杂、优美的三维场景。另外,oiv 还能够完美 支持三维音效、三维纹理和多处理器的并行渲染技术。但是 vrml 与 oiv 在纹理处理方式上是有不同的4。对于 rgb 和 argb 构成的纹理 文件,在 vrml 中直接用纹理的颜色替换物体的颜色。这样,要想得到我们想要的在眼球 上有一个高光反射的亮点的效果就变得非常麻烦。眼睛是心灵的窗口,如果在模型的显示中 , 眼球上有一个高光反射的亮点,那么必然会使显示效果看起来更加逼真生动。相反,使用 ovi 的相应节点可以相对容易的做到这样的效果。我们使用 oiv 3d 开发包读取 vrml 人 脸模型文件,并把 vrml 节点转化为 oiv 相应的节点,再重新调节材质、光线和摄像机等 节点的参数,显示出了具有较高真实感的效果。图 3(b)的效果明显要比图 3(a)的效果要好的 多。2.2 可视音素(a)使用 vrml 节点(b)转化成 ovi 的节点图 3 眼球上的高光反射microsoft 公司的 sapi 5.15是微软 windows 环境下的语音开发工具包,提供了包括中 英文在内的数种语音开发的接口,使语音系统的开发变得非常方便。但是使用它本身提供的 几种语音包合成的语音,听起来不够自然,而且没有定义中文的可视音素,不能直接得到中 文可视音素及其持续时间。文献6中给出了中文可视音素的获取和估计其持续时间的方法。 neospeech7是当前最好的语音合成软件之一,它的效果几乎可以乱真。neospeech 提供了 中英日韩四种语音包,并且实现了 sapi 语音接口,以统一的方式提供了这四种语言的可视 音素。这种就可以使用 sapi 调用 neospeech,合成出高质量的语音。facegen 提供 16 种可视音素,而 sapi 5.1 定义了 22 种可视音素。经过反复试验后, 我们定义了它们之间的对应关系。有了可视音素以及表情等模型,下面要做的就是怎么样让这些模型与语音同步并且平滑 地动起来。(a) aa (b) d,s,t图 4 可视音素 aa 和 d,s,t2.3 语音与动画的同步、动画的平滑自然的过渡在人说话的时候,一个口型到另一个口型的转化是平滑的。所以我们要想得到比较自然 的过渡效果,那么在前一个可视音素对应的口型与下一个可视音素对应的口型过渡的时候, 必须产生几帧中间的口形动画。我们在异步方式下调用 sapi 的 speak 函数朗读文本,然后处理 spei_tts_viseme 事 件,得到可视音素及其相应的持续时间。接着进行可视音素的过渡,得到与输出语音对应的 同步的人脸动画,进而生成语音动画。我们对此的处理过程如下:(1) 在异步方式下调用 sapi 的 speak 函数朗读输入的文本;(2) 处理 spei_tts_viseme 事件,得到可视音素及其持续时间;(3) 计算从前一个可视音素对应的人脸动画到当前得到的可视音素对应的目标人脸动 画平滑过渡所需要的帧数。帧数可视音素的持续时间(毫秒)/30;持续时间长的可视音素将 对应较多的帧数。将可视音素的编号与计算出的帧数放入一个可视音素队列中;(4) 在一个每秒钟响应 30 次的定时器响应函数中读取这个可视音素队列,根据过渡所 需要的帧数在前一可视音素与读取的可视音素对应的人脸动画之间进行线性插值,显示出多 帧平滑的过渡动画。2.4 眼睛的跟踪与随机眨动在人与人的自然交互中,在说话的同时,一般眼睛都会盯着对方,并且伴随着随机性的 眨眼动作。同样,在具有逼真效果的人脸语音动画系统中,眼睛的跟踪与随机眨动也是非常 必要的。我们使用 camshift8,9方法对视频中的人脸进行检测,根据检测结果设定虚拟人 的眼球转动的方向与程度,即实现三维虚拟人 “盯着人看”的效果。 camshift 是 “continuously adaptive mean-shift”的简称,意为连续自适应均值移动算法。它是一种实 时性和鲁棒性良好的跟踪算法,能够根据前一帧图像中目标物的颜色分布自动调整搜索窗口 的大小,在下一帧中找到目标物体所在区域的中心及目标物的大小。对于每一帧视频图像, 它首先根据目标物的颜色直方图模型将图像转化为颜色概率分布图。对于人脸跟踪来说,就 是根 据人脸的肤色信息建立颜色 直方 图,然后在转化后的颜色概率分布图中利用 camshift 算法找到人脸的中心和大小。重复这个过程就实现了对人脸的连续跟踪了。图 5 显示眼睛的跟踪效果。(a)、(b)、(c)为 camshift 对摄像头前人脸的跟踪效果,(b)、(d)、 (f)为相应的眼睛跟踪结果。我们设定一个时间值,让虚拟人的眼睛在这个值附近随机眨动。这就为用户提供了一个生动有趣的交互环境,使虚拟人显得活灵活现,更加逼真生动。而且,加入了视觉跟踪以后,以后我们可以根据不同的情境来产生不同的表情。(a)(b)(c)(d)2.5 提供给外部程序的接口(e)(f)图 5 视觉跟踪为了方便后续程序开发的工作,我们设计了与外部程序交互的接口。我们通过 wm_copydata10消息来在外部程序与本系统之间传送数据。外部程序只需先找到本系统 的窗口句柄,然后向这个窗口句柄发送事先设计好的格式的数据即可。本系统一旦接收到 wm_copydata 消息,先对数据进行验证,然后再让模型产生相应的变形,显示相应的效 果。3总结目前已有很多产生具有真实感的三维人脸模型和人脸动画的方法,但是在具有高真实感 模型的制作、人脸动画与语音同步等方面都还不够理想。我们采用 facegen 定制出高度真实 感的人脸模型,并导出成 vrml 这种通用的 3d 文件格式。oiv 能够完美支持 vrml97 和 多处理器的并行渲染技术。得到模型后,我们使用 oiv 3d 开发包读取人脸模型,并把 vrml 节点转化为 oiv 相应的节点,再重新设置材质、光线和摄像机等参数,显示出了具有较高 真实感的效果。在人脸动画与语音同步方面,我们采用线性插值方法。在当前表情与目标表情的模型之 间进行插值,得到的结果更新当前表情模型;由 sapi 5.1 产生的、与目标表情模型对应的 可视音素以及这个可视音素的持续时间,计算出这个可视音素需要的帧数,生成平滑过度的与中英文语音同步的人脸动画。为了方便后续的开发工作,我们还设计了一个与外部程序交互的接口。 最终我们实现了一个比较令人满意的人脸语音动画系统。参考文献1 王志明, 蔡莲红, 吴志勇, 陶建华汉语文本-可视语音转换的研究j小型微型计算机系统, 2002(04):9194.2 /modeller31_help.htmeb/ol.3 阎锋欣,侯增选,张定华等.open inventor 程序设计从入门到精通m.北京:清华大学出版社,2007.4 open inventor 6.0 for vc+ .net 2003. users guideeb/ dk.5 ruibird.windows 语音编程初步eb/ol. /ruibird/archive/2007/04/05/1552380.aspx.6 王洵, 张道义, 董兰芳, 万寿红.一个基于 sapi5.0 的中文语音动画系统j.计算机工程, 2003(04): 5254, 57.7 eb/ol.8 bradski g r. computer vision face tracking for use in a perceptual user interfacej. intel technology journal,1998, 2: 214 219.9 eb/ol.10 明日科技. visual c+ 开发经验技巧宝典m.北京:人民邮电出版社,2007.a chinese and english speech animation system with visualtrackinglv yushenginstitute of computer science & technology, ningbo university, ningbo zhejiang(315211)abstractthe article gives a chinese and english speech animation system with visual tracking. this paper describes the systems design process and the necessary technology, including viseme, production and display of the three-dimensional heads model , voice and animation simultaneously, smooth natural transition of the animation, the eyes tracking and random blink, and the program interfaces design with the outside program. the systems facia

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论