CN101923726B - 一种语音动画生成方法及*** - Google Patents
一种语音动画生成方法及*** Download PDFInfo
- Publication number
- CN101923726B CN101923726B CN2009102036609A CN200910203660A CN101923726B CN 101923726 B CN101923726 B CN 101923726B CN 2009102036609 A CN2009102036609 A CN 2009102036609A CN 200910203660 A CN200910203660 A CN 200910203660A CN 101923726 B CN101923726 B CN 101923726B
- Authority
- CN
- China
- Prior art keywords
- batten
- distortion
- horizontal
- vertical
- face
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Processing Or Creating Images (AREA)
Abstract
本发明实施例提供一种语音动画生成方法及***。一种语音动画生成方法的实施例,包括:在面部图像上生成面部图像特征点;根据面部图像特征点独立构造变形前面部图像的横向样条和纵向样条;从音频数据中获取语音动画参数;根据语音动画参数获取变形后面部图像的横向样条和纵向样条;根据变形前的横向样条和变形后的横向样条通过扫描线计算变形前的横向样条间像素点移动的第一位移以及根据变形前的纵向样条和变形后的纵向样条通过扫描线计算变形前的纵向样条间像素点的第二位移,根据所述第一位移和所述第二位移生成变形后的面部图像。本发明实施例降低语音动画技术中图像变形算法的运算复杂性,使得语音动画技术中语音控制动画生成的实时性增强。
Description
技术领域
本发明涉及图像处理技术领域,特别涉及一种语音动画生成方法及***。
背景技术
自然语言和肢体语言是人类相互交流的主要方式。在肢体语言中,人脸是人类相互交流的重要渠道,因此语音和人脸是人类相互交流的两种最重要的渠道。语音动画技术就是将人脸动画技术与语音处理技术相结合,用计算机生成语音与口型同步播出的动画技术,也称为“说话的头像”或“对口型”。
语音动画技术包括基于单幅图像的语音动画技术。基于单幅图像的语音动画技术的工作流程为:输入一张人脸图像,在所述人脸图像上自动或手工标记特征点,保存成面部特征点的位置数据文件;输入语音文件,对所述语音文件进行语音识别,生成音素-时间戳文件并保存;根据所述语音文件的音素-时间戳文件对所述人脸图像采用图像变形技术实现人脸图像的变形,达到变形图像与语音文件的同步,使得一边播放语音,一边驱动图像上的人脸进行动画。基于单幅图像的语音动画技术还可应用于动物脸图像或卡通形象的脸图像。
在基于单幅图像的语音动画技术中,图像变形技术是其核心技术。现有的图像变形技术一般采用基于网格扭曲的图像变形算法。
基于网格扭曲的图像变形算法通过对面部图像进行网格划分,形成一张网状的面罩,再对面部图像进行图像变形,产生人脸动画。基于网格扭曲的图像变形算法主要用于两张面部图像之间的形状变形,两张面部图像分别为源图像IS和目标图像IT。其中,源图像IS与网格MS相对应,目标图像IT与网格MT相对应;如图1所述,网格MS指定了控制点的坐标,网格MT指定了网格MS中控制点在目标图像IT中的对应位置。网格MS和网格MT一起用于定义空间转变,所述空间转变将源图像IS中所有控制点映射到目标图像IT上去,实现源图像IS到目标图像IT的图像变形。
基于网格扭曲的图像变形算法中,人脸图像的动画效果是通过一帧一帧的中间帧图像连贯在一起表现出来的。所述中间帧图像IF可以通过执行以下步骤得到:
(1)在网格MT和网格MS之间线性插值网格M;
(2)利用网格MS和网格M将源图像IS变形到I1;
(3)利用网格MT和网格M将目标图像IT变形到I2;
(4)在I1和I2之间线性插值图像IF。
如果IS和IF是同一幅图像,网格MT和网格MS不同,就可以实现源图像IS的动画。其中,基于网格扭曲的图像变形算法中的线性插值方法为三次样条插值法,所述三次样条插值法计算量大,增加了图像变形算法的运算复杂性,使得图像变形时间增加,使得语音动画技术中语音与变形图像之间同步性降低。
从上面可以看出,现有语音动画技术中的基于网格扭曲的图像变形算法的运算复杂性高,计算量大,增加了图像变形的时间,使得语音动画技术中语音控制动画生成的实时性降低。
发明内容
本发明实施例的目的是提供一种语音动画生成方法及***,以降低语音技术中图像变形算法的运算复杂性,使得语音动画技术中语音控制动画生成的实时性增强。
为解决上述技术问题,本发明实施例提供的一种语音动画生成方法及***是这样实现的:
一种语音动画生成方法,包括:
在面部图像上生成面部图像特征点;
根据所述面部图像特征点独立构造变形前面部图像的横向样条和纵向样条;
从音频数据中获取语音动画参数,所述语音动画参数是在可视音素存在下影响人脸特征点移动的人脸动画参数;
根据所述语音动画参数获取变形后面部图像的横向样条和纵向样条;
根据所述变形前的横向样条和所述变形后的横向样条通过扫描线计算所述变形前的横向样条间像素点移动的第一位移以及根据所述变形前的纵向样条和所述变形后的纵向样条通过扫描线计算所述变形前的纵向样条间像素点移动的第二位移,根据所述第一位移和所述第二位移生成变形后的面部图像。
一种语音动画生成***,包括:
预处理单元,用于在面部图像上生成面部图像特征点;
样条构造单元,用于根据所述面部图像特征点独立构造变形前面部图像的横向样条和纵向样条;
语音动画参数获取单元,用于从音频数据中获取语音动画参数,所述语音动画参数是在可视音素存在下影响人脸特征点移动的人脸动画参数;
样条处理单元,用于根据所述语音动画参数获取变形后面部图像的横向样条和纵向样条;
图像处理单元,用于根据所述变形前的横向样条和所述变形后的横向样条通过扫描线计算所述变形前的横向样条间像素点移动的第一位移以及根据所述变形前的纵向样条和所述变形后的纵向样条通过扫描线计算所述变形前的纵向样条间像素点移动的第二位移,根据所述第一位移和所述第二位移生成变形后的面部图像。
由以上本发明实施例提供的技术方案可见,本发明实施例采用基于扫描线的图像变形算法,将传统的样条插值方法简化为分段线性插值方法,使得语音动画技术中的图像变形算法的运算复杂性降低,计算量减小,图像变形时间减小,使得本发明实施例在普通台式机上就可满足语音动画技术中语音控制动画生成实时性的要求,使得语音动画技术中语音控制动画生成的实时性增强。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅表明本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他实施例的附图。
图1是现有技术提供的基于网格扭曲的图像变形算法的网格扭曲示意图;
图2是本发明实施例提供的语音动画生成方法流程图;
图3是本发明实施例提供的人脸图像特征点位置分布示意图;
图4为本发明实施例提供的横向样条计算示意图;
图5是本发明实施例提供的嘴部纵向样条示意图;
图6是本发明实施例提供的眼眉部纵向样条示意图;
图7是本发明实施例提供的脸部纵向样条示意图;
图8是本发明实施例提供的脸部横向样条示意图;
图9是本发明实施例提供的人脸动画参数示意图;
图10是本发明实施例提供的面部图像特征点位移计算流程图;
图11是本发明实施例提供的眨眼随机控制流程图;
图12是本发明实施例提供的横向样条变形示意图;
图13是本发明实施例提供的纵向样条变形示意图;
图14是本发明实施例提供的头部上下摇动随机控制流程图;
图15是本发明实施例提供的口腔涂黑操作流程图;
图16是本发明实施例提供的语音动画生成***框图;
图17是本发明实施例提供的样条构造单元框图;
图18是本发明实施例提供的语音动画参数获取单元框图;
图19是本发明实施例提供的样条处理单元框图;
图20是本发明实施例提供的图像处理单元框图。
具体实施方式
本发明实施例提供一种语音动画生成方法及***。
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
图2为本发明实施例提供的语音动画生成方法流程图,如图2所示,包括五个步骤,分别为:
S201:在面部图像上生成面部图像特征点;
输入面部图像后,将面部图像根据面部图像特征点提取算法进行相应处理,生成面部图像特征点,具体为:输入面部图像后,根据缺省特征点位置在所述面部图像上定位所述嘴部、眼眉部和脸部特征点的位置,且将所述特征点的位置保存成输入图像的特征点位置文件。
所述面部图像特征点包括嘴部特征点、眼眉部特征点和脸部特征点。
所述面部图像特征点的选取应该具有代表性,能代表一个人的面部特征且唯一标识该个体。通常选取眼角点、鼻翼点、嘴角点等标识眼、耳、口、鼻及脸部轮廓的特征点,本发明实施例中还选取了眼眉点来标识眼眉的特征点。
其中,所述面部图像包括人脸图像、动物脸图像或卡通形象脸图像;所述定位所述嘴部、眼眉部和脸部特征点的位置采用自动定位的方法,此外还可以在自动定位的基础上采用手工调整特征点的方法,在采用手工调整特征点时可以采用单个特征点调整、图像放大或操作后退等操作手法。
图3为本发明实施例提供的人脸图像特征点位置分布示意图,如图3所示,4.1-4.6标注的是人脸图像的眉部特征点,3.1-3.16标注的是人脸图像的眼部特征点,2.1-2.4和8.1-8.4标注的是人脸图像嘴部的特征点,9.4-9.6标注的是人脸图像鼻部特征点,11.1-11.5和10.7-10.10和2.10-2.12标注的是人脸图像脸部轮廓的特征点。
S202:根据所述面部图像特征点独立构造变形前面部图像的横向样条和纵向样条;
根据S201中所述面部图像特征点独立构造变形前面部图像的横向样条和纵向样条。具体包括:在任意两个面部图像特征点之间通过线性插值法生成样点,连接面部图像特征点和相应样点独立构造变形前面部图像的横向样条和纵向样条,其中,所述线性插值法的计算量小。
图4为本发明实施例提供的横向样条计算示意图,其中,图4中仅以一条横向样条为例,如图4所示,实线1表示某条横向样条,所述横向样条由面部图像特征点A、B、C和D顺序用线段连接构成,所述横向样条上任意相邻的两个图像特征点之间的点称为样点,所述样点的位置可以通过线性插值法计算。
所述横向样条的计算过程就是计算所述横向样条上每个x对应的y值,假设面部图像特征点A和B的坐标分别为(Xa,Ya)和(Xb,Yb),那么,面部图像特征点A和B之间的样点的计算公式为:
面部图像特征点B和C之间以及面部图像特征点C和D之间的样点的计算公式与式(1)类似,只是相应的替换A点和B点的坐标值。
所述横向样条包括脸部横向样条,所述脸部横向样条用于面部图像脸部的纵向变形;所述纵向样条包括嘴部纵向样条、眼眉部纵向样条和脸部纵向样条,所述嘴部纵向样条、眼眉部纵向样条分别用于面部图像嘴部、眼眉部的横向变形,所述脸部纵向样条用于实现头部的摇动效果。
图5-图8分别为本发明实施例提供的嘴部、眼眉部和脸部纵向样条以及脸部横向样条示意图。其中,在图5-图8中,“●”表示面部图像特征点,“■”表示样点。所述嘴部、眼眉部和脸部纵向样条以及脸部横向样条都是由面部图像特征点和样点构成的。
所述面部图像的横向样条和纵向样条采用独立构造的方法,只需要根据面部图像特征点就可以独立构造横向样条和纵向样条,并且独立构造的横向样条和纵向样条可以不需要共享某些面部图像特征点而形成样条网格,降低了样条构造的难度,并且独立构造的横向样条和纵向样条可以独立用于下面的面部图像变形中,独立地实现横向样条的变形和纵向样条的变形,以便最终实现整个面部图像的整体变形。
S203:从音频数据中获取语音动画参数;
处理语音文件的音频数据,从所述语音文件的音频数据中获取音素和音素-时间戳流。
人说话时的声音由若干单个的读音组成,即使是一个很短的字、词也是由一定的读音组成,英语中把组成一个读音的最小单位称为音素。
所述音素-时间戳流反映的是所述音素的持续时间。
将所述音素和音素-时间戳流根据MPEG-4标准分别转换成可视音素和可视音素-时间戳流。其中,在MPEG-4标准中,将可明显区分的音素分组,即可将某些对应人脸口型相同的音素划分为一组,每一组音素为一种可视音素且每一组音素都对应一种可视音素的基本口型。可视音素-时间戳流表示可视音素在语音动画中持续的时间,所述可视音素-时间戳流中可以包含表情时间戳标签,当在可视音素-时间戳中遇到表情时间戳标签时就可以在此时读入表情参数。
根据所述可视音素查找预先设置的可视音素-人脸动画参数关系表获取语音动画参数,其中语音动画参数属于人脸动画参数(FAP,Facial AnimationParameter),语音动画参数强调的是在可视音素存在下影响人脸特征点移动的人脸动画参数。
每个可视音素对应一组人脸动画参数的最大值,可视音素以及人脸动画参数的设计可以参考MPEG-4标准。
图9为本发明实施例提供的人脸动画参数的示意图,如图9所示,图中圆圈表示的是面部图像特征点,数字表示的是人脸动画参数编号,箭头表示该人脸动画参数所影响的面部图像特征点的运动方向。由图9可以看出,本发明实施例使用了编号为3-60的人脸动画参数,但是本发明实施例并不局限于此,还可以使用其他编号的人脸动画参数。
所述可视音素-人脸动画参数关系表定义了可视音素与人脸动画参数之间的关系,如表1所示,其可以进行预先设置,但是并不局限于表1。表1中共有68个人脸动画参数,但是本发明实施例只使用了编号为3-60的人脸动画参数,其中表1只是列举了可视音素-人脸动画参数对照表中的一组作简要说明。
表1
其中,ae ax ah aa ay表示一种可视音素,即ae ax ah aa ay的发音都对应一种人脸的基本口型;紧跟ae ax ah aa ay后的“0”表示可视音素的标号为0;
表1中的68个人脸动画参数中的“0”或“1”为人脸动画参数的掩码,“0”或“1”掩码代表了某个编号的人脸动画参数是否在这个可视音素中起作用,其中,“0”代表不起作用,“1”代表起作用,例如在68个人脸动画参数中编号为3的人脸动画参数对应的掩码为“1”,就表示编号为3的人脸动画参数在这个可视音素中起作用;因为语音动画参数强调的是在可视音素存在下影响人脸特征点移动的人脸动画参数,所以上述人脸动画参数的掩码为“1”的人脸动画参数就为ae ax ah aa ay的语音动画参数。人脸动画参数掩码后的数字表示对应掩码为1的人脸动画参数(即语音动画参数)的系数,值的大小代表位移幅度,值的正负代表位移方向,其中向上或向左为正,向下或向右为负;所述系数表示对应掩码为1的人脸动画参数在某个位移方向上的变化幅度。
其余的可视音素与人脸动画参数的对应关系与表1类似,在此不做过多赘述。表情与人脸动画参数的对应关系与可视音素与人脸的对应关系类似,在此也不做过多赘述,其中表情与人脸动画参数的设计也参考MPEG-4标准。
S204:根据所述语音动画参数获取变形后面部图像的横向样条和纵向样条;
根据所述语音动画参数计算所述面部图像的横向样条和纵向样条上特征点的位移;
根据所述面部图像特征点的位移获取变形后的面部图像特征点;
根据所述变形后的面部图像特征点获取变形后面部图像的横向样条和纵向样条。
所述根据所述语音动画参数计算所述面部图像的横向样条和纵向样条上特征点的位移的计算流程可以参照图10所示,其中图10为本发明实施例提供的面部图像特征点位移计算流程图,包括:
S301:恢复中性面部图像;
所述中性面部图像为无表情和发音口型的面部图像或者为原始输入状态下的面部图像。
S302:载入当前时刻可视音素的时间参数和表情参数;
所述可视音素的时间参数可以同步语音和动画的播放,也可以确定特征点的位移随时间变化的幅度,因为每个可视音素的动画过程是持续一段时间的变化过程。根据所述可视音素-时间戳流中的表情标签读入表情的表情参数,所述表情的表情参数可以反映人脸的表情运动。
S303:根据所述语音动画参数计算可视音素帧的FAP;
所述语音动画参数为在可视音素存在下影响人脸特征点移动的人脸动画参数。
一个可视音素有一组预定义的最大人脸动画参数值,一个可视音素一般会持续数帧,连续的数帧显示出可视音素口型“闭合->张开->闭合”的连续过程,根据所述语音动画参数计算可视音素帧的FAP。
S304:根据所述表情参数计算表情帧的FAP;
同可视音素类似,一个表情也具有一组预定义的最大人脸动画参数值,一个表情一般也会持续数帧,连续的数帧可以显示表情运动的一个连续过程,根据所述表情参数计算表情帧的FAP。
S305:融合表情帧和可视音素帧的FAP;
所述融合表情帧和可视音素帧的FAP就是将可视音素帧涉及的人脸动画参数和表情帧涉及的人脸动画参数合并到一起,在动画中的表现就是既有口型的运动也同时有表情的运动。具体为:
S1:将可视音素帧对应的人脸动画参数的掩码和表情帧对应的人脸动画参数的掩码进行“逻辑或”运算;
S2:将可视音素帧对应的人脸动画参数值和表情帧对应的人脸动画参数值进行“算数加”运算;
经过S1和S2运算后得到的特征点的运动将是可视音素和表情的运动叠加。
S306:根据所述融合后的FAP和所述可视音素的时间参数计算每个特征点的位移。
在计算每个特征点的位移时还应考虑是否随机晃动头部,头部的晃动包括上下晃动和左右晃动,所述头部的晃动对应脸部纵向样条的变形。
其中,在S304中,还可以在计算表情帧FAP的基础上计算眨眼的FAP。因为眨眼运动将涉及到眼睛运动的四个人脸动画参数(左右眼的上下眼皮的竖向运动),这四个人脸动画参数在表情运动中也涉及到,所以将眨眼也定义为一种单独的表情,可以在表情帧的FAP的基础上计算眨眼的FAP。当眨眼运动发生时,将会覆盖掉当前表情帧中眼睛部分的人脸动画参数(左右眼的上下眼皮的竖向运动)。
因为眨眼和其他的表情运动是随机发生的,所以对眨眼和其他的表情运动可以进行随机控制,图11为本发明实施例提供的眨眼随机控制流程图,如图11所示,包括:
S401:开始,进入S402;
S402:判断当前时刻是否在眨眼周期内,如果是,进入S403;如果否,进入S406;
S403:判断当前帧图像是否要求结束眨眼,如果是,进入S404;如果否,进入S405;
S404:取消眨眼标志,进入S408;
S405:计算当前眨眼的FAP,进入S408;
S406:计算随机数,判断是否允许当前帧图像眨眼,如果是,进入S407;如果否,进入S408;
S407:设置眨眼标志,开始眨眼周期,进入S402;
S408:结束。
其他表情的随机控制流程与眨眼的随机控制流程类似,在此不做过多赘述。
S205:通过扫描线计算所述变形前的横向样条间像素点移动的第一位移以及所述变形前的纵向样条间像素点移动的第二位移,根据所述第一位移和所述第二位移生成变形后的面部图像。
所述横向样条包括脸部横向样条,所述纵向样条包括嘴部纵向样条、眼眉部纵向样条和脸部纵向样条,其中所述脸部纵向样条用于实现头部的摇动效果。
图12为本发明实施例提供的横向样条变形示意图,其中,图12中仅以两条相邻的横向样条为例,实线1表示变形前的横向样条1,实线2表示变形前的横向样条2,虚线1表示变形后的横向样条1,虚线2表示变形后的横向样条2,竖线表示竖直扫描线,所述竖直扫描线与所述变形前的横向样条1、所述变形前的横向样条2、所述变形后的横向样条1和所述变形后的横向样条2的交点分别为A、B、A′和B′,C点为变形前的横向样条1和变形前的横向样条2之间的像素点,C′为C点变形后的对应点。
根据所述变形前的横向样条和所述变形后的横向样条,通过扫描线计算所述变形前的横向样条1和所述变形前的横向样条2间像素点C移动的第一位移包括:
竖直扫描线逐列对变形前和变形后的横向样条进行扫描,某竖直扫描线与相邻的两条变形前的横向样条相交,交点为A和B,且所述某竖直扫描线与相邻的两条变形后的横向样条也相交,交点为A′和B′;
获取变形前第一横向样条、第二横向样条与所述某竖直扫描线的交点A和B的纵坐标分别为s1和s2;
获取变形后第一横向样条、第二横向样条与所述竖直扫描线的交点A′和B′的纵坐标分别为d1和d2;
对所述变形后第一横向样条和第二横向样条之间的像素点C′进行纵向的分段线性插值,通过分段线性插值计算得到像素点C′的纵坐标为:
其中,y为所述变形前第一横向样条和第二横向样条之间的像素点C的纵坐标,点A、B、A′、B′、C和C′在同一条竖直扫描线上;
计算所述变形前的横向样条1和所述变形前的横向样条2间像素点C移动的第一位移为:
Dy=y′-y (3)
图13为本发明实施例提供的纵向样条变形示意图,其中,图13仅以两条相邻的纵向样条为例,实线3表示变形前的纵向样条1,实线4表示变形前的纵向样条2,虚线3表示变形后的纵向样条1,虚线4表示变形后的纵向样条2,横线表示水平扫描线,所述水平扫描线与所述变形前的纵向样条1、所述变形前的纵向样条2、所述变形后的纵向样条1和所述变形后的纵向样条2的交点分别为D、E、D′和E′,F点为变形前的横向样条1和变形前的纵向样条2之间的像素点,F′为F点变形后的对应点。
根据所述变形前的纵向样条和所述变形后的纵向样条,所述通过扫描线计算所述变形前的纵向样条1和所述变形前的纵向样条2间像素点F移动的第二位移包括:
水平扫描线逐行对变形前和变形后的纵向样条进行扫描,某水平扫描线与相邻的两条变形前的纵向样条相交,交点为D和E,且所述某水平扫描线与相邻的两条变形后的纵向样条也相交,交点为D′和E′;
获取变形前第一纵向样条、第二纵向样条与所述某水平扫描线的交点D和E的横坐标分别为s3和s4;
获取变形后第一纵向样条、第二纵向样条与所述某水平扫描线的交点D′和E′的横坐标分别为d3和d4;
对所述变形后第一纵向样条和第二纵向样条之间的像素点F′进行横向的分段线性插值,通过分段线性插值计算得到像素点F′的横坐标为:
其中,x为所述变形前第一纵向样条和第二纵向样条之间的像素点F的横坐标,点D、E、D′、E′、F和F′在同一条水平扫描线上;
计算所述变形前的纵向样条1和所述变形前的纵向样条2间像素点F移动的第二位移为:
Dx=x′-x (5)
根据所述第一位移Dy和所述第二位移Dx生成变形后的面部图像。
所述脸部纵向样条用于实现头部的摇动效果,所述头部的摇动包括头部的上下摇动和左右摇动,头部的摇动是随机进行的且头部的上下摇动和左右摇动不能同时进行。其中头部的上下摇动时将所有控制点的纵坐标都加上一个相同的值,运动的效果是头部整体的上下移动;头部的左右移动时,脸部纵向样条中的三根样条运动幅度不相同,中间的纵向样条移动的幅度要比两边的纵向样条的运动幅度摇大很多,运动时的效果为头部整体的转动。
图14为本发明实施例提供的头部上下摇动随机控制流程图,如图14所示,包括:
S501:开始,进入S502。
S502:判断当前时刻是否在摇头周期,如果是,进入S503;如果否,进入508。
S503:判断头部是否正在上下摇动,如果是,进入S504;如果否,进入S514。
S504:判断头部是否结束上下摇动,如果是,进入S505;如果否,进入S507。
S505:取消头部摇动标志,进入S506。
S506:取消头部上下摇动标志,进入S514。
S507:计算当前帧图像控制点的位移,进入S514。
S508:计算随机数,判断当前帧图像是否允许做头部摇动,如果是,进入S509;如果否,进入S512。
S509:设置头部摇动标志,进入S510。
S510:设置头部上下摇动标志,进入S511。
S511:开始摇动周期计数,计入S514。
S512:取消头部摇动标志,进入S513。
S513:取消头部上下摇动标志,进入S514。
S514:结束。
头部左右摇动的随机控制流程与所述头部上下摇动的随机控制流程类似,在此不做过多赘述。
为了优化人脸图像变形时口部张开时的效果,在面部图像的变形过程中还可以包括口腔部分图像填充处理。
所述口腔部分图像填充处理包括口腔涂黑处理,所述口腔涂黑就是对内嘴唇进行着色。图15为本发明实施例提供的口腔涂黑操作流程图,如图15所示,包括:
S601:开始,进入S602。
S602:确定内嘴唇的最小矩形包络,进入S603。
S603:将内嘴角控制点旋转到正方向,进入S604。
S604:根据拉格朗日插值得到内嘴唇的上下弧线,进入S605。
S605:遍历矩形包络内的每一点A,判断是否遍历完毕,如果是,进入S609;如果否,进入S606。
S606:判断点A的纵坐标是否在内嘴唇的上下弧线之间,如果是,进入S607;如果否,进入S605。
S607:根据点A到内嘴唇上下弧线的距离确定点A的涂黑因子,进入S608。
根据点A到内嘴唇上下弧线的距离获得一个[0,1]的分数,使得越靠近边缘,所述分数越接近1;越靠近中间,所述分数越接近0,其中所述分数为涂黑因子,这样便可实现渐近式涂黑。
S608:涂黑因子乘以点A对应的灰度值,得到点A对应的新灰度值,进入S605。
S609:结束。
本发明实施例提供的语音动画生成方法采用运算复杂性低的基于扫描线的图像变形算法,在普通的台式机上就可满足语音动画技术中语音与变形图像之间实时性的要求。传统的图像变形算法采用各种样条插值法(如三次样条插值法),计算量较大,会产生差指点“越界”的现象,即插值点的值不位于控制点的值之间;本发明实施例的基于扫描线的图像变形算法采用分段线性插值法代替传统的样条插值法,使得线性插值计算量小,运算复杂性降低,有利于减小图像变形时间,使得语音动画技术中语音控制动画生成的实时性增强,且不会发生“越界”现象,避免了不合理变形图像的产生。
其次,本发明实施例提供的语音动画生成方法采用独立构造面部图像上的横向样条和纵向样条的方法,不需要共享某些面部图像的特征点而形成样条网格,降低了样条构造的难度,使得样条构造简单,便于用户交互。
本发明实施例也适用于三维人脸动画,还可用于离线制作语音动画视频;如果用歌曲驱动时,本发明实施例还可实现人脸唱歌效果。
基于上述语音动画生成方法,本发明实施例还提供了一种语音动画生成***,下面结合具体实施例来详细说明其组成部分。
图16为本发明实施例提供的语音动画生成***框图,如图16所述,语音动画生成***包括:
预处理单元1,用于在面部图像上生成面部图像特征点。
所述面部图像特征点包括嘴部特征点、眼眉部特征点和脸部特征点。
样条构造单元2,用于根据面部图像特征点独立构造变形前面部图像的横向样条和纵向样条。
所述根据面部图像特征点独立构造变形前面部图像的横向样条和纵向样条具体包括:在任意两个面部图像特征点之间通过线性插值法生成样点,连接面部图像特征点和相应样点独立构造变形前面部图像的横向样条和纵向样条。
语音动画参数获取单元3,用于根据音频数据获取语音动画参数。
样条处理单元4,用于根据所述语音动画参数获取变形后面部图像的横向样条和纵向样条。
图像处理单元5,用于根据所述变形前的横向样条和所述变形后的横向样条通过扫描线计算所述变形前的横向样条间像素点移动的第一位移以及根据所述变形前的纵向样条和所述变形后的纵向样条通过扫描线计算所述变形前的纵向样条间像素点移动的第二位移,根据所述第一位移和所述第二位移生成变形后的面部图像。
图17为本发明实施例提供的样条构造单元框图,如图17所示,样条构造单元包括:
嘴部样条构造子单元101,用于构造嘴部纵向样条。
所述嘴部纵向样条用于嘴部的横向变形。
眼眉部样条构造子单元102,用于构造眼眉部纵向样条。
所述眼眉部纵向样条用于眼眉部的横向变形。
脸部样条构造子单元103,用于构造脸部横向样条和脸部纵向样条。
所述脸部横向样条用于脸部纵向变形,所述脸部纵向样条用于实现头部摇动效果。
图18为本发明实施例提供的语音动画参数获取单元框图,如图18所示,语音动画参数获取单元包括:
可视音素获取子单元201,用于处理语音文件的音频数据,获取可视音素;
查表子单元202,用于根据所述可视音素查找预先设置的可视音素-人脸动画参数关系表获取语音动画参数。
图19为本发明实施例提供的样条处理单元框图,如图19所示,样条处理单元包括:
位移计算子单元301,用于根据所述语音动画参数计算所述面部图像的横向样条和纵向样条上特征点的位移;
特征点获取子单元302,用于根据所述面部图像特征点的位移获取变形后的面部图像特征点;
样条获取子单元303,用于根据所述变形后的面部图像特征点获取变形后面部图像的横向样条和纵向样条。
图20为本发明实施例提供的图像处理单元框图,如图20所示,图像处理单元包括:
第一位移计算子单元401,用于根据所述变形前的横向样条和所述变形后的横向样条通过扫描线计算所述变形前的横向样条间像素点移动的第一位移;
其中所述第一位移计算子单元401包括:
第一获取子单元4011,用于获取变形前第一横向样条、第二横向样条与竖直扫描线的交点纵坐标分别为s1和s2;
第二获取子单元4012,用于获取变形后第一横向样条、第二横向样条与所述竖直扫描线的交点的纵坐标分别为d1和d2;
第一计算子单元4013,用于计算竖直扫描线上所述变形后第一横向样条和第二横向样条间的像素点的纵坐标为:
其中,y为所述变形前第一横向样条和第二横向样条间像素点的纵坐标;
第二计算子单元4014,用于计算所述变形前的横向样条间像素点移动的第一位移为:Dy=y′-y。
第二位移计算子单元402,用于根据所述变形前纵向样条和所述变形后纵向样条通过扫描线计算所述变形前的纵向样条间像素点移动的第二位移;
其中,所述第二位移计算子单元402包括:
第三获取子单元4021,用于获取变形前第一纵向样条、第二纵向样条与水平扫描线的交点横坐标分别为s3和s4;
第四获取子单元4022,用于获取变形后第一纵向样条、第二纵向样条与所述竖直扫描线的交点的横坐标分别为d3和d4;
第三计算子单元4023,用于计算竖直扫描线上所述变形后第一纵向样条和第二纵向样条间像素点的横坐标为:
其中,x为所述变形前第一纵向样条和第二纵向样条间像素点的横坐标;第四计算子单元4024,用于计算所述变形前的纵向样条间像素点移动的第二位移为:Dx=x′-x。
生成子单元403,用于根据所述第一位移和所述第二位移生成变形后的面部图像。
本发明实施例提供的语音动画生成***,采用分段线性插值法的扫描线图像变形算法,降低了运算复杂性,使得语音动画生成***中语音与变形图像之间实时性增强。
此外,本发明实施例提供的语音动画生成***的样条构造单元采用独立构造面部图像横向样条和纵向样条的方法,降低了样条构造的难度,便于用户交互。
以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制。虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明。任何熟悉本领域的技术人员,在不脱离本发明技术方案范围情况下,都可利用上述揭示的方法和技术内容对本发明技术方案做出许多可能的变动和修饰,或修改为等同变化的等效实施例。因此,凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所做的任何简单修改、等同变化及修饰,均仍属于本发明技术方案保护的范围内。
Claims (15)
1.一种语音动画生成方法,其特征在于,包括:
在面部图像上生成面部图像特征点;
根据所述面部图像特征点独立构造变形前面部图像的横向样条和纵向样条;
从音频数据中获取语音动画参数,所述语音动画参数是在可视音素存在下影响人脸特征点移动的人脸动画参数;
根据所述语音动画参数获取变形后面部图像的横向样条和纵向样条;
根据所述变形前的横向样条和所述变形后的横向样条通过扫描线计算所述变形前的横向样条间像素点移动的第一位移,根据所述变形前的纵向样条和所述变形后的纵向样条通过扫描线计算所述变形前的纵向样条间像素点移动的第二位移,根据所述第一位移和所述第二位移生成变形后的面部图像。
2.根据权利要求1所述的语音动画生成方法,其特征在于,所述面部图像特征点包括:
嘴部特征点、眼眉部特征点和脸部特征点。
3.根据权利要求2所述的语音动画生成方法,其特征在于,所述横向样条包括脸部横向样条,所述纵向样条包括嘴部纵向样条、眼眉部纵向样条和脸部纵向样条。
4.根据权利要求1-3任一项所述的语音动画生成方法,其特征在于,所述根据所述面部图像特征点独立构造变形前面部图像的横向样条和纵向样条包括:
在任意两个所述面部图像特征点之间通过线性插值法生成样点;
连接所述面部图像特征点和相应所述样点独立构造变形前面部图像的横向样条和纵向样条。
5.根据权利要求1-3任一项所述的语音动画生成方法,其特征在于,所述从音频数据获取语音动画参数包括:
从音频数据中获取可视音素;
根据可视音素查找预先设置的可视音素-人脸动画参数关系表获取语音动画参数。
6.根据权利要求1-3任一项所述的语音动画生成方法,其特征在于,所述根据所述语音动画参数获取变形后面部图像的横向样条和纵向样条包括:
根据所述语音动画参数计算所述面部图像的横向样条和纵向样条上特征点的位移;
根据所述面部图像特征点的位移获取变形后的面部图像特征点;
根据所述变形后的面部图像特征点获取变形后面部图像的横向样条和纵向样条。
7.根据权利要求1-3任一项所述的语音动画生成方法,其特征在于,所述根据所述变形前的横向样条和所述变形后的横向样条通过扫描线计算所述变形前的横向样条间像素点移动的第一位移包括:
获取变形前第一横向样条、第二横向样条与竖直扫描线的交点纵坐标分别为s1和s2;
获取变形后第一横向样条、第二横向样条与所述竖直扫描线的交点的纵坐标分别为d1和d2;
计算竖直扫描线上所述变形后第一横向样条和第二横向样条间像素点的纵坐标为:
其中,y为所述变形前第一横向样条和第二横向样条间像素点的纵坐标;
计算所述变形前的横向样条间像素点移动的第一位移为:Dy=y′-y。
8.根据权利要求1-3任一项所述的语音动画生成方法,其特征在于,所述根据所述变形前的纵向样条和所述变形后的纵向样条通过扫描线计算所述变形前的纵向样条间像素点移动的第二位移包括:
获取变形前第一纵向样条、第二纵向样条与水平扫描线的交点横坐标分别为s3和s4;
获取变形后第一纵向样条、第二纵向样条与所述水平扫描线的交点的横坐标分别为d3和d4;
计算竖直扫描线上所述变形后第一纵向样条和第二纵向样条间像素点的横坐标为:
其中,x为所述变形前第一纵向样条和第二纵向样条间像素点的横坐标;
计算所述变形前的纵向样条间像素点移动的第二位移为:Dx=x′-x。
9.一种语音动画生成***,其特征在于,包括:
预处理单元,用于在面部图像上生成面部图像特征点;
样条构造单元,用于根据所述面部图像特征点独立构造变形前面部图像的横向样条和纵向样条;
语音动画参数获取单元,用于从音频数据中获取语音动画参数,所述语音动画参数是在可视音素存在下影响人脸特征点移动的人脸动画参数;
样条处理单元,用于根据所述语音动画参数获取变形后面部图像的横向样条和纵向样条;
图像处理单元,用于根据所述变形前的横向样条和所述变形后的横向样条通过扫描线计算所述变形前的横向样条间像素点移动的第一位移,根据所述变形前的纵向样条和所述变形后的纵向样条通过扫描线计算所述变形前的纵向样条间像素点移动的第二位移,根据所述第一位移和所述第二位移生成变形后的面部图像。
10.根据权利要求9所述的语音动画生成***,其特征在于,所述样条构造单元包括:
嘴部样条构造子单元,用于构造嘴部纵向样条;
眼眉部样条构造子单元,用于构造眼眉部纵向样条;
脸部样条构造子单元,用于构造脸部横向样条和脸部纵向样条。
11.根据权利要求9或10所述的语音动画生成***,其特征在于,所述语音动画参数获取单元包括:
可视音素获取子单元,用于从语音文件的音频数据中获取可视音素;
查表子单元,用于根据所述可视音素查找预先设置的可视音素-人脸动画参数关系表获取语音动画参数。
12.根据权利要求9或10所述的语音动画生成***,其特征在于,所述样条处理单元包括:
位移计算子单元,用于根据所述语音动画参数计算所述面部图像的横向样条和纵向样条上特征点的位移;
特征点获取子单元,用于根据所述面部图像特征点的位移获取变形后的面部图像特征点;
样条获取子单元,用于根据所述变形后的面部图像特征点获取变形后面部图像的横向样条和纵向样条。
13.根据权利要求9或10所述的语音动画生成***,其特征在于,所述图像处理单元包括:
第一位移计算子单元,用于根据所述变形前的横向样条和所述变形后的横向样条通过扫描线计算所述变形前的横向样条间像素点移动的第一位移;
第二位移计算子单元,用于根据所述变形前的纵向样条和所述变形后的纵向样条通过扫描线计算所述变形前的纵向样条间像素点移动的第二位移;
生成子单元,用于根据所述第一位移和所述第二位移生成变形后的面部图像。
14.根据权利要求13所述的语音动画生成***,其特征在于,所述第一位移计算子单元包括:
第一获取子单元,用于获取变形前第一横向样条、第二横向样条与竖直扫描线的交点纵坐标分别为s1和s2;
第二获取子单元,用于获取变形后第一横向样条、第二横向样条与所述竖直扫描线的交点的纵坐标分别为d1和d2;
第一计算子单元,用于计算竖直扫描线上所述变形后第一横向样条和第二横向样条间像素点的纵坐标为:
其中,y为所述变形前第一横向样条和第二横向样条间像素点的纵坐标;
第二计算子单元,用于计算所述变形前的横向样条间像素点移动的第一位移为:Dy=y′-y。
15.根据权利要求13所述的语音动画生成***,其特征在于,所述第二位移计算子单元包括:
第三获取子单元,用于获取变形前第一纵向样条、第二纵向样条与水平扫描线的交点横坐标分别为s3和s4;
第四获取子单元,用于获取变形后第一纵向样条、第二纵向样条与所述水平扫描线的交点的横坐标分别为d3和d4;
第三计算子单元,用于计算竖直扫描线上所述变形后第一纵向样条和第二纵向样条间像素点的横坐标为:
其中,x为所述变形前第一纵向样条和第二纵向样条间像素点的横坐标;
第四计算子单元,用于计算所述变形前的纵向样条间像素点移动的第二位移为:Dx=x′-x。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009102036609A CN101923726B (zh) | 2009-06-09 | 2009-06-09 | 一种语音动画生成方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009102036609A CN101923726B (zh) | 2009-06-09 | 2009-06-09 | 一种语音动画生成方法及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101923726A CN101923726A (zh) | 2010-12-22 |
CN101923726B true CN101923726B (zh) | 2012-04-04 |
Family
ID=43338635
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009102036609A Expired - Fee Related CN101923726B (zh) | 2009-06-09 | 2009-06-09 | 一种语音动画生成方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101923726B (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101388542B1 (ko) | 2011-09-27 | 2014-04-23 | 중국과학기술대학 | 모핑 애니메이션을 생성하기 위한 방법 및 장치 |
WO2014127494A1 (en) | 2013-02-23 | 2014-08-28 | Qualcomm Incorporated | Systems and methods for interactive image caricaturing by an electronic device |
CN105096366A (zh) * | 2015-07-23 | 2015-11-25 | 文化传信科技(澳门)有限公司 | 3d虚拟服务公开平台*** |
CN109952594B (zh) * | 2017-10-18 | 2022-01-07 | 腾讯科技(深圳)有限公司 | 图像处理方法、装置、终端及存储介质 |
CN109949390B (zh) * | 2017-12-21 | 2022-09-09 | 腾讯科技(深圳)有限公司 | 图像生成方法、动态表情图像生成方法及装置 |
CN108847246A (zh) * | 2018-06-15 | 2018-11-20 | 上海与德科技有限公司 | 一种动画制作方法、装置、终端及可读介质 |
CN108831463B (zh) * | 2018-06-28 | 2021-11-12 | 广州方硅信息技术有限公司 | 唇语合成方法、装置、电子设备及存储介质 |
CN110853614A (zh) * | 2018-08-03 | 2020-02-28 | Tcl集团股份有限公司 | 虚拟对象口型驱动方法、装置及终端设备 |
CN110503942A (zh) | 2019-08-29 | 2019-11-26 | 腾讯科技(深圳)有限公司 | 一种基于人工智能的语音驱动动画方法和装置 |
CN114578969B (zh) * | 2020-12-30 | 2023-10-20 | 北京百度网讯科技有限公司 | 用于人机交互的方法、装置、设备和介质 |
CN117078811A (zh) * | 2023-08-31 | 2023-11-17 | 华院计算技术(上海)股份有限公司 | 模型训练方法、图像生成方法、动画生成方法及*** |
CN116912376B (zh) * | 2023-09-14 | 2023-12-22 | 腾讯科技(深圳)有限公司 | 口型动画生成方法、装置、计算机设备和存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101344914A (zh) * | 2007-07-09 | 2009-01-14 | 上海耀明仪表控制有限公司 | 基于特征点的人脸识别方法 |
-
2009
- 2009-06-09 CN CN2009102036609A patent/CN101923726B/zh not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101344914A (zh) * | 2007-07-09 | 2009-01-14 | 上海耀明仪表控制有限公司 | 基于特征点的人脸识别方法 |
Non-Patent Citations (1)
Title |
---|
JP特开2007-63149A 2007.03.15 |
Also Published As
Publication number | Publication date |
---|---|
CN101923726A (zh) | 2010-12-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101923726B (zh) | 一种语音动画生成方法及*** | |
CN106251396B (zh) | 三维模型的实时控制方法和*** | |
JP7126000B2 (ja) | 三次元部分人体モデルの生成方法及び装置、並びにデバイス | |
EP2706507B1 (en) | Method and apparatus for generating morphing animation | |
CN104322060A (zh) | 用于深度图的低等待时间变形的***、方法和计算机程序产品 | |
US10515573B2 (en) | Head mounted display and method for controlling the same | |
CN108520728B (zh) | 背光调节方法、装置、计算设备、显示设备和存储介质 | |
CN109191548A (zh) | 动画制作方法、装置、设备及存储介质 | |
US11100899B2 (en) | Systems and methods for foveated rendering | |
CN109376582A (zh) | 一种基于生成对抗网络的交互式人脸卡通方法 | |
CN108805090B (zh) | 一种基于平面网格模型的虚拟试妆方法 | |
WO2022135013A1 (zh) | 一种人脸属性编辑方法、***、电子设备及存储介质 | |
CN110288614A (zh) | 图像处理方法、装置、设备及存储介质 | |
CN104899563A (zh) | 一种二维人脸关键特征点定位方法及*** | |
CN108965740A (zh) | 一种实时视频换脸方法、装置、设备和存储介质 | |
US20070009180A1 (en) | Real-time face synthesis systems | |
CN102497513A (zh) | 一种面向数字电视的视频虚拟人手语*** | |
CN106600712A (zh) | 一种基于二维图像的纹理替换方法 | |
CN111008927B (zh) | 一种人脸替换方法、存储介质及终端设备 | |
CN101930620A (zh) | 使二维影像呈现出三维效果的影像处理方法及相关影像处理装置 | |
CN108536405A (zh) | 数据处理*** | |
CN101729919B (zh) | 基于fpga的全自动平面视频转立体视频*** | |
CN102263979A (zh) | 一种平面视频立体化的深度图生成方法及装置 | |
US20200005719A1 (en) | Data processing systems | |
US20210056292A1 (en) | Image location identification |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20120404 Termination date: 20180609 |
|
CF01 | Termination of patent right due to non-payment of annual fee |