首页> 中国专利> 语音和文本联合驱动的卡通人脸动画生成方法

语音和文本联合驱动的卡通人脸动画生成方法

摘要

本发明涉及一种语音和文本联合驱动的卡通人脸动画生成方法,包括建立语音视位映射库、文本分析、语音切分及语音合并、视位参数拼接步骤;本发明的优点在于:能够自定义音节-视位映射,从而实现各种具有夸张表情效果的唇型和脸形,最终合成卡通人脸动画;不需要大规模数据库进行训练;能够在文本的指导下,进行语音切分,提取音节时长信息,从而合成具有唇型和表情同步的人脸动画。

著录项

  • 公开/公告号CN1971621A

    专利类型发明专利

  • 公开/公告日2007-05-30

    原文格式PDF

  • 申请/专利权人 中国科学院计算技术研究所;

    申请/专利号CN200610114495.6

  • 发明设计人 陈益强;刘军发;

    申请日2006-11-10

  • 分类号G06T13/00(20060101);G10L21/06(20060101);G10L13/00(20060101);G10L15/00(20060101);

  • 代理机构11280 北京泛华伟业知识产权代理有限公司;

  • 代理人高存秀

  • 地址 100080 北京市海淀区中关村科学院南路6号

  • 入库时间 2023-12-17 18:42:04

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2023-01-24

    专利权的转移 IPC(主分类):G06T13/00 专利号:ZL2006101144956 登记生效日:20230111 变更事项:专利权人 变更前权利人:中国科学院计算技术研究所 变更后权利人:中科乐听智能技术(济南)有限公司 变更事项:地址 变更前权利人:100080 北京市海淀区中关村科学院南路6号 变更后权利人:250033 山东省济南市天桥区滨河商务中心A座12层1211室

    专利申请权、专利权的转移

  • 2009-04-08

    授权

    授权

  • 2007-07-25

    实质审查的生效

    实质审查的生效

  • 2007-05-30

    公开

    公开

说明书

技术领域

本发明属于计算机动画技术领域,涉及计算机图形学、动画技术以及语音分析技术,特别涉及一种语音和文本联合驱动的卡通人脸动画自动生成方法。

背景技术

2004年,全球数字动漫产业的产值已达2228亿美元,与动漫产业相关的周边衍生产品产值则在5000亿美元以上,从英、美、日、韩等国的发展情况来看,动漫产业已经成为一个庞大的产业。作为动漫作品的重要内容,卡通人脸动画深受人们喜爱。

一般来说,自动动画生成技术有三种:其中一种为视频驱动方式。基于视频的方法跟踪人脸的运动,并将人脸的运动信息转化为控制人脸模型的运动参数。这种方法目前的难点在于提取并跟踪人脸特征点的运动,为此,常在被跟踪人脸上加入特征标注点(如反光点)。如果每时每刻所有人脸特征或反光点都可以被检测出来,那么提取出来的数据可直接与人脸模型参数建立一种映射,此时,这种方法可以得到很好的结果。基于视频驱动的合成适合重现个人化的表情,当需要精确的唇动控制时,这项技术很难完成和语音同步的唇形计算。此外,这种技术实现过程比较复杂,采集跟踪设备十分昂贵。

其二是文本驱动方式,通常的处理都是采取数据库映射将文本转换成动画视位参数。视位参数含义如下:人脸某一时刻的表情状态可以用一个FAP(Facial Animation Parameter)值来表示,一个FAP值由68个点的位移组成。一组FAP值则可以构成一个视位,(用以描述脸部某种表情的过程,而将一系列视位进行拼接就可生成连续的面部动画。文本驱动方式生成动画的过程可参考文献【汉语文本-可视语音转换的研究,王志明,蔡莲红 吴志勇,陶建华,小型微型计算机系统,Vol.23,No.4,PP.474-477,2002.4】。一般是,首先建立文本单元(如音节)与唇型、表情的对应关系,然后对输入的文本进行解析,将解析得到的文本单元(音节)转换成唇型和表情参数,然后根据参数合成出人脸,将这些人脸序列进行拼接就可以合成为动画。文本驱动方式虽然有很好的直观驱动性,但单纯的文本驱动缺乏时间长度信息,合成动画时唇型和脸部表情动画持续的时间无法确定,因此生成的动画在视觉上容易产生不协调、不自然的感觉。附图2是一个典型的文本驱动人脸动画流程。

第三种人脸动画的驱动方式是语音驱动方式,将人的语音转换为动画视位参数,目前的方法分为两种:通过语音识别的方式和语音参数映射的方式。(1)通过语音识别的方式基于数据库或是规则的方法进行文本驱动,都需要建立单个字或是单个词层面上文本与动画视位的对应首先将语音识别成音节,然后采用和文本驱动相同的方式合成动画。该方法由于识别问题本身就是有待提高的研究领域,因此音节识别的精确度不高,合成的动画也就不够逼真。(2)语音参数映射方式如图3所示,是直接将语音特征参数直接映射到动画视位参数首先采集大量的语音数据和相应的人脸视位数据,然后采用机器学习方法如人工神经网络或隐马尔科夫模型学习二者之间的关联映射关系,如文献【基于机器学习的语音驱动人脸动画方法,陈益强,高文,王兆其,姜大龙,软件学报,Vol.14,No.2】中提供的方法。这种方法可以实现面部表情变化、唇型变化和语音的同步性,但由于采集的数据来源于真人表情和语音,因此最后的效果也只能是模拟真人,无法实现卡通动画的夸张化效果。此外,如文献所述,该方法需要基于大规模音视频同步数据库的训练。其最后的效果取决于数据库的规模和训练方法的鲁棒性。

发明内容

本发明的目的在于克服现有技术的不足,综合考虑文本驱动和语音驱动两种方法的特点,从而提供一种既能表现丰富的表情,又能够保证语音和唇型、表情同步的卡通人脸动画生成方法。

为实现上述发明目的,本发明提供的语音和文本联合驱动的卡通人脸动画生成方法,其特征在于,包括如下步骤:

1)输入一段语音数据及其相应的文本,对所述输入文本进行文本分析,提取所述输入文本中所有的有效发音音节,得到输入语音数据中所包含的音节个数;并根据所述有效发音音节查找音节视位映射库,得到输入语音中每个音节所对应的视位参数子序列;

2)采用双阈值端点检测算法对输入的语音数据进行语音切分,得到一系列语音段,该语音段个数多于步骤1)中得到的音节个数;不断地将时长最短的语音段与其相邻语音段合并,直到语音段的数目与步骤1)中得到的音节个数一致,将最终得到的各语音段的时长作为各音节的时长信息;

3)根据步骤2)中获得的各音节的时长信息,将步骤1)中得到的各音节的视位参数子序列拼接成整个输入语音的视位参数序列,将该视位参数序列作为最后输出的连续的动画参数。

上述技术方案中,所述步骤1)中的音节视位映射库的建立过程如下:

选择发音标准饱满面部表情丰富的演员朗读语料文本,该语料文本对应的语音覆盖汉语所有的常用音节;

演员面部按照MPEG4动画网格固定运动捕捉设备的感光点,采用运动捕捉设备采集演员的面部运动数据,并在同时进行语音录制,从而得到同步录取的语音序列和视位参数序列,进行后期分割处理后,得到所有常用音节与视位参数子序列一一对应的音节视位映射库。

上述技术方案中,所述步骤2)中将时长最短的语音段与其相邻语音段合并的方法如下:设定时间轴方向为从左到右,首先从所有语音段中,找出时长最短的语音段,然后比较和该语音段左右相邻的两个语音段的时长,选择时长较短的语音段与所述时长最短语音段合并为一个语音段,合并过程中将二个语音段最左端的端点作为合并后语音段的起始点,二个语音段最右端的端点作为合并后语音段的结束点。

上述技术方案中,所述步骤3)包括如下子步骤:

31)根据步骤2)获得的各音节的时长与音节视位映射库中的原始音节的时长的比例,对步骤1)中得到的各音节的视位参数子序列进行进行同比例缩放,然后将缩放后的各音节视位参数子序列按顺序拼接成完整的视位参数序列;

32)采用三阶Hermite函数对步骤31)中得到的视位参数序列进行平滑处理,得到最终的视位参数序列。

本发明的优点在于:(1)能够自定义音节一视位映射,从而实现各种具有夸张表情效果的唇型和脸形,最终合成卡通人脸动画;(2)不需要大规模数据库进行训练;(3)能够在文本的指导下,进行语音切分,提取音节时长信息,从而合成具有唇型和表情同步的人脸动画。

附图说明

图1为语音端点检测流程图

图2是典型的文本驱动人脸动画方法结构示意图

图3是典型的语音驱动人脸动画方法结构示意图

图4是语音和文本联合驱动卡通人脸动画的结构示意图

图5为语音切分流程图

具体实施方式

下面结合附图和具体实施例对本发明做进一步地描述。

实施例1

如附图4所述,本发明方法共包含音节视位映射库的建立、文本分析、语音切分及视位拼接等四个步骤。

首先建立一个音节视位映射库,库中包含所有常用汉语音节与视位参数的映射关系。

然后输入一段文本,通过文本分析后,即可获得一组单个的音节和音节的个数;单个的音节经过映射,可以获得相应的视位。

而通过语音切分可以将所有输入的音节在语音段中标注出来,即获得每一个音节的时长。

最后在视位拼接阶段,根据音节的时长,将所有音节的视位拼接起来,就形成了连续的视位参数,从而可以最后合成连续的动画。

各步骤的实现方法如下:

1.音节视位映射库的建立。据〔蔡莲红,黄德智,蔡锐,《现代语音技术基础与应用》,清华大学出版社,2003〕汉语音节共有422个。本方法首先通过实验基于真实人脸采集所有音节的视位。数据采集试验如下进行:1)选择发音标准饱满,面部表情丰富的演员,进行文本朗读;2)采用863语音合成语料库Coss-1(Corpus of SpeechSynthesis)采用的语料,该语料文本共265句,覆盖了社会生活的各方面内容,对应的语音覆盖了汉语所有的音节;3)演员面部按照MPEG4(Moving Picture Experts Group)动画网格固定专用材料(该专用材料由采集设备配套提供)的感光点,采用运动捕捉设备采集演员的面部运动数据,并在同时进行语音录制,从而得到同步录取的语音序列和视位参数序列。本实施例中采用的是Vicon公司的采集仪器〔http://www.vicon.com〕。最后对录制的语音序列和视位参数序列根据其文本进行后期分割,则得到了基于真人的音节和视位映射库。后期分割的过程是这样的:用语音切分工具(如praat)从语音序列中切分出一个完整的音节,这样就获得了该音节的起止时间。根据该起止时间,从视位参数序列上分割出该音节对应的视位参数子序列。同理可得到所有音节所对应的视位参数子序列,从而建立起音节与视位参数子序列一一对应的音节视位映射库。

由于卡通动画的视位不需要真实感,为了进一步体现其夸张性和非真实感,本发明还可以对真实的视位数据库进行了手动的编辑。此外,由于真实数据是在一个较长时间范围内采集的,演员不免疲劳,使得有些音节的视位不太显著,因此也需要重新编辑调整。编辑使用的工具其功能较为简单,已有公开报道,如文献【手机平台上的人脸动画系统,王洁,王兆其,黄河,夏时洪,首届智能CAD与数字娱乐学术会议(CIDE2004)】。其输入是一初始的视位,采用的网格为通用MPEG4人脸动画网格,由手工拖动网格定点到适当的位置,使得网格对应的表情和唇型比较适中为止。

2.文本分析。文本分析的作用是提取输入文本中所有的有效发音音节,以便这些发音音节能够在唇型动画中体现出来。主要包括:1)去除文本中各种标点符号,如引号,书名号,破折号,冒号等,这些符号是无法在动画中体现出来的部分。对于有些标点符号,如逗号或冒号,虽然可能会对应着人脸动画上的静止状态,但去除之并不会影响动画效果,因为在下一步语音切分的过程中,会检测到这一部分静音段。2)将罗马数字或部分英文字母翻译成相应的汉语音节。只有翻译成汉语音节,才能够在音节视位映射库中找到相应视位。

经过文本分析得到的文本单元,都是能够从音节视位映射库中映射到相应视位的有效音节单元。比如对于文本“《大话西游》第2部非常funny”,经过文本分析后成为“大话西游第二部非常发尼”。

文本分析后,即可获得一组单个的音节和音节的个数,所述单个的音节指文本中的每一个汉字所对应的汉语拼音,音节的个数则指包含汉字的个数。

3.语音切分。语音切分的目的在于将文本音节在语音序列中标注出来,从而获得各音节的时长参数。目前,语音切分算法很多,由于本方法已经知道语音所对应的文本,因此设计了一种基于文本信息的语音切分算法。通过文本分析过程,已得到音节个数,就是说,切分之前已经知道语音将要被切分的单元个数。这使得在语音端点检测的时候可以事先确定尽可能多的端点,端点个数多于音节个数,然后不断合并相邻且时长最短的端点,直到最终检测到的端点个数与音节个数一致。如附图5所示。

本实施例的语音切分采用了双阈值端点检测算法,不需要建立模型进行训练而得到比较准确的时长参数。其中用到了短时能量,过零率两种语音的最基本的也是最重要的时域特征。图1给出了端点检测处理流程。

语音信号首先进行归一化处理,将其幅度限制在[-1,1]之间。

计算语音信号的过零率和短时能量,为短时能量和过零率分别设置高、低两个阈值。这些阈值的选择和输入的语音信号相关。首先对输入的语音进行短时能量和过零率的统计,分别计算出短时能量和过零率的平均值,用平均值的5%作为低阈值,用平均值的10%作为高阈值。低阈值被超过未必就是语音的开始,有可能是时间很短的噪声引起的。高阈值被超过则可以基本确信是由于语音信号引起的。本实施例中为了在检测过程可以产生更多的端点,选择了5%和10%这两个比较低的阈值,可以看出,在本发明的实施过程中也可以根据实际情况选择其他阈值。

语音信号一般分为四段:静音段、过渡段、语音段和结束段。语音信号的端点就是上述四段的任一起点和结束点,端点检测就是将所有的起点和结束点都标记出来,也可以理解为将初始语音信号切分为上述四个类型的段。在静音段,如果能量或过零率超过了低阈值,则开始标记起始点,进入过渡段。在过渡段,由于参数的数值比较小,不能确信是否处于真正的语音段,因此只要能量和过零率两个参数的数值都回落到低阈值以下,就将当前恢复到静音状态。而如果在过渡段中两个参数中的任一个超过高阈值,就可以确信进入语音段了。噪声可能引起短时能量或过零率数值很高,往往时间很短,可以设定最短时间阈值来判断。当前状态处于语音段时,总的标记时间长度小于最短时间阈值(该阈值的取值一般在20~100ms,本实施例中取值为60ms),则认为是噪音,继续扫描以后的语音数据,否则就标记结束点。

在前一个步骤检测到足够多的端点后,端点合并的过程如图5所示。首先从所有语音段中,找出时长最短的语音段,然后比较和该语音段左右相邻的两个语音段的时长,选择时长较短的语音段与所述时长最短语音段合并为一个语音段。做法是将二者最左端的端点作为新的音节起始点,二者最右端的端点作为新的音节结束点(时间轴方向为从左到右)。而原来两个语音段之间可能存在的过渡段、静音段则自动成为新的音节的一部分。按照上述方法不断合并语音段,直至音节个数与文本分析得到的音节数一致。这样便获得了每个语音段(即音节)的时长信息。

4.视位拼接。经过前述两个步骤,获得了音节的视位参数和视位对应的时长参数后,将各音节的视位参数子序列按照时长进行拼接,合成一个对应于输入语音的完整的视位参数序列(即一组连续的动画参数)。考虑到人们在说话过程中,口形是连续变化的,每个口形要受前后口形的影响,而从音节-视位库中匹配的视位基本类型,如果不经过处理,直接根据语音切分时间拼接播放,效果相当粗糙,缺乏真实感。

因此还需要对视位参数序列进行调整。本发明采用公开文献【汉语文本-可视语音转换的研究,王志明,蔡莲红吴志勇,陶建华,小型微型计算机系统,Vol.23,No.4,PP.474-477,2002.4】中的方法,以三阶Hermite函数(埃尔米特函数)曲线来调整视位参数序列,使其更接近实际情况,即:

FAP(t)=FAP(t1)+(3β2-2β3)(FAP(t2)-FAP(t1))    (1)

其中t1,t,t2分别代表前一时刻,中间时刻和后一时刻,单位为毫秒,且t1≤t≤t2。FAP(t)为t时刻的FAP参数值,β=(t-t1)/(t2-t1)。具体实施步骤如下所述:

1)将所有音节视位参数进行相应的缩放。最原始的音节具有一个时长参数T0,而语音切分可以得到该音节在该语句中的时长T1,二者之间存在一个比例R=T1/T0,这就需要对音节的视位参数进行同比例R的缩放,于是得到了满足时长参数的视位参数序列。

2)然后对该序列进行根据公式(1)进行平滑拼接。视位参数序列由时间序列对(t1,FAP(t1)),(t2,FAP(t2)),…,(tN,FAP(tN))组成,根据公式(4)进行迭代计算,首先根据t1和t3的数据计算t2,然后根据再根据t2和t4计算t3,……,直到根据tN-2和tN计算出tN-1。最终得到一个新的视位参数序列,这一新的视位参数序列即可作为最终的对应于输入语音的连续的动画参数。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号