CN116863046B - 一种虚拟口型生成方法、装置、设备及存储介质 - Google Patents

一种虚拟口型生成方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN116863046B
CN116863046B CN202310832246.4A CN202310832246A CN116863046B CN 116863046 B CN116863046 B CN 116863046B CN 202310832246 A CN202310832246 A CN 202310832246A CN 116863046 B CN116863046 B CN 116863046B
Authority
CN
China
Prior art keywords
mouth
virtual
dimensional coordinate
dubbing
point
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.)
Active
Application number
CN202310832246.4A
Other languages
English (en)
Other versions
CN116863046A (zh
Inventor
李薇薇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangdong Star Creative Animation Co ltd
Original Assignee
Guangdong Star Creative Animation Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Guangdong Star Creative Animation Co ltd filed Critical Guangdong Star Creative Animation Co ltd
Priority to CN202310832246.4A priority Critical patent/CN116863046B/zh
Publication of CN116863046A publication Critical patent/CN116863046A/zh
Application granted granted Critical
Publication of CN116863046B publication Critical patent/CN116863046B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/203D [Three Dimensional] animation
    • G06T13/403D [Three Dimensional] animation of characters, e.g. humans, animals or virtual beings
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Processing Or Creating Images (AREA)

Abstract

本发明提供一种虚拟口型生成方法、装置、设备及存储介质,本发明获取配音人员嘴巴和虚拟角色嘴巴的空间点;构建自定义三维坐标系;然后提取所有能够直接获取到的空间点的三维坐标值;再利用公式计算得到虚拟角色嘴巴的空间点在所有时间点的三维坐标值;最后对所求得的在同一时间点的三维坐标值进行曲面平滑处理,以及最终合成所述虚拟角色完整的虚拟口型动作过程。该实施例方法即使虚拟角色嘴巴与配音人员嘴巴形状差异较大也能通过形变参数自动进行调整,使得该虚拟角色的口型动作比较自然与真实;而且该方法无需对各种不同的虚拟角色的口型进行手动调整,而且也无需对各个虚拟角色的口型进行训练学习,故大大节省了虚拟口型制作的工序和时间。

Description

一种虚拟口型生成方法、装置、设备及存储介质
技术领域
本发明申请涉及三维虚拟动画技术领域,具体涉及一种虚拟口型生成方法、装置、设备及存储介质。
背景技术
口型是角色面部动画的关键视点,口型动画是否逼真、自然直接影响到角色面部整体动画的真实度,因此,口型动画的制作在电影、游戏以及虚拟现实等人机交互方式中占据着重要地位。
在处理口型动画方面,目前比较集中的处理方法包括:基于模型合成的方法、基于表演驱动的方法等,但是,上述现有的口型生成方法存在以下缺陷和不足:
1、基于模型合成方法:该方法是通过对各个音素的口型进行训练学习,从而得到对应音素的口型动作帧序列。但这种方法,对于不同的虚拟角色,由于嘴型不同,故各个角色都需要进行学习获得相应的模型,才能满足需求;而且通过音素对应的口型动作帧序列进行连接帧的口型动画合成,会导致流畅度较差,原因在于有些词语或语句的连读其口型动作与单音素组成的口型动画是有所区别的,所以会产生跳跃,给观众带来不真实感。该方法工序繁杂且真实感差。
2、基于表演驱动方法:该方法是结合配音人员的口型关键点进行映射驱动,现有的关键点捕捉大多为2D平面捕捉,将捕捉到的2D关键点通过映射形成虚拟角色的口型动作,但这种映射方式,一般只有映射到与现实人体嘴巴形状相似的虚拟角色嘴巴上时,才能够表现得较为逼真,比如虚拟角色为人类;但对于与现实人体嘴巴形状不相似的虚拟动物嘴巴,比如狼的嘴巴、老虎的嘴巴等,如果通过这样映射,则其映射结果就会使该虚拟动物的口型动作很不真实,看起来会非常别扭与不真实。故该方法适用性有局限。
公开号为CN115690280A的中国发明专利公开了一种三维形象发音口型模拟方法,利用小色块时域运动轨迹代替现有技术中常用的口型关键点,使得整个三维形象发音口型模拟流畅,同时以音素录像集建立相邻录像集并进行处理,得到相邻录像对应的音素变化过程的小色块运动轨迹记为音素变化小色块轨迹集;根据需要读取的文本,建立口型模型序列,并对所述口型模型序列中相邻的口型,以音素变化小色块轨迹集构建口型变动过程,避免了三维形象发音时单个音素对应的口型产生跳跃。该方法虽能解决发音时单个音素对应的口型产生跳跃的问题,但其应用也仅现有虚拟人类的发音口型,若应用于虚拟动物的发音口型,仍存在不真实感。
发明内容
本发明的目的在于针对上述存在问题和不足,提供一种虚拟口型生成方法、装置、设备及存储介质,以解决现有虚拟口型生成方法真实感差、工序繁杂、无法自适应各种不同尺寸或形状嘴巴口型的技术问题。
本发明的技术方案是这样实现的:
本发明的一方面,提供了一种虚拟口型生成方法,其特征在于,包括:获取配音人员嘴巴以及待生成虚拟口型的虚拟角色嘴巴,至少分别在两者嘴巴的唇部的对应位置设置空间点;分别在所述配音人员嘴巴和所述虚拟角色嘴巴的内部中间位置构建自定义三维坐标系;提取所述配音人员嘴巴和所述虚拟角色嘴巴在正常闭合状态下的各个所述空间点在所述自定义三维坐标系中的初始三维坐标值;以及对所述配音人员朗读的内容按时间分隔成多个时间点后,提取在所有所述时间点的所述配音人员所有空间点的三维坐标值;利用公式①Pn m+1=Pn m+Tn m Mn,计算得到所述虚拟角色嘴巴的空间点Pn在m+1时间点的三维坐标值;其中m为m≥0的整数,n为n≥1的整数;Pn m+1表示所述虚拟角色嘴巴的空间点Pn在m时间点相邻的下一时间点的三维坐标值;Tn m为所述配音人员嘴巴的空间点Dn在m时间点和m+1时间点之间的平移参数;Mn为所述配音人员嘴巴在正常闭合状态下的空间点Dn与所述虚拟角色嘴巴在正常闭合状态下的空间点Pn的形变参数;对同一时间点的所有所述虚拟角色嘴巴的空间点Pn按序进行曲线平滑处理,即可得到所述虚拟角色嘴巴在所述时间点的虚拟口型;将所有时间点的所述虚拟角色的口型按时间序列进行连续帧的口型动画合成,即可生成所述虚拟角色完整的虚拟口型动作过程。
在有些实施例中,所述获取所述配音人员嘴巴以及所述虚拟角色嘴巴,至少分别在两者嘴巴的唇部的对应位置设置空间点,包括以下步骤:通过深度相机实时捕捉所述配音人员嘴巴;在生成的深度图中选定位于唇部处的若干像素点作为所述配音人员嘴巴的空间点,所述空间点至少包括位于所述配音人员嘴巴两边嘴角上的像素点;根据所选择的所述配音人员嘴巴的空间点数量及其位置,在所述虚拟角色嘴巴的唇部的对应位置也设置空间点。
进一步地,所述分别在所述配音人员嘴巴和所述虚拟角色嘴巴的内部中间位置构建自定义三维坐标系,包括以下步骤:获取深度图中所述配音人员嘴巴在正常闭合状态下两边嘴角上的像素点的像素位置以及距离信息;通过计算得到这两个所述嘴角像素点的像素位置以及距离信息的平均值;在所述平均值所在的像素点构建所述配音人员嘴巴的自定义三维坐标系,所述像素点即为所述配音人员嘴巴的原点;获取所述虚拟角色嘴巴在正常闭合状态下两边嘴角的空间点连线的中点;以所述中点构建所述虚拟角色嘴巴的自定义三维坐标系,所述中点即为所述虚拟角色嘴巴的原点。
在有些实施例中,在所述对所述配音人员朗读的内容按时间分隔成多个时间点后,提取在所有所述时间点的所述配音人员所有空间点的三维坐标值后,还包括:对所述配音人员在m+1时间点提取到的三维坐标值进行旋转修正,其公式②为Dn ’m+1=Dn m+1Rn m+1,其中Dn ’m+1为旋转修正后的三维坐标值,Dn m+1为在m+1时间点提取到的三维坐标值,Rn m+1为旋转参数。
进一步地,所述公式①Pn m+1=Pn m+Tn m Mn中的平移参数Tn m为所述配音人员在m+1时间点经过旋转修正后的三维坐标值与在m时间点的三维坐标值的平移距离,其公式③为Tn m=Dn ’m+1-Dn m;将所述公式②和所述公式③代入所述公式①中,得到改写后的公式④为:Pn m+1=Pn m+(Dn m+1Rn m+1-Dn m)Mn
在有些实施例中,关于所述公式②中的所述旋转参数Rn m+1的值的计算,包括:跟踪判断所述配音人员在m时间点到m+1时间点的过程中,所述配音人员的嘴巴整体是否发生偏转;若没有发生偏转时,那么旋转参数Rn m+1的值为1;若发生偏转时,那么通过点集中心化,接着奇异值分解(SVD)求解得到旋转矩阵Rn m+1
在有些实施例中,所述对同一时间点的所有所述虚拟角色嘴巴的空间点Pn按序进行所述曲线平滑处理,具体包括:对同一时间点的所有所述虚拟角色嘴巴的空间点Pn按序进行连线,得到曲线段;通过3次B样条曲线参数方程对所述曲线段进行平滑处理,所述方程为:其中Pn为所述空间点,Fn,k(t)为k阶B样条基函数,所述基函数为:/> 其中/>表示阶乘;将所述基函数代入所述方程中,即可实现对所述曲线平滑处理。
根据本申请的一个方面,还提供了一种虚拟口型生成装置,包括:获取模块,用于获取配音人员嘴巴以及构建好的虚拟角色嘴巴,至少分别在两者嘴巴的唇部的对应位置设置空间点;构建模块,用于分别在所述配音人员嘴巴和所述虚拟角色嘴巴的内部中间位置构建自定义三维坐标系;提取模块,用于提取所述配音人员嘴巴和所述虚拟角色嘴巴在正常闭合状态下的各个所述空间点在所述自定义三维坐标系中的初始三维坐标值;以及对配音人员朗读的内容按时间分隔成多个时间点后,提取在所有所述时间点的所述配音人员所有空间点的三维坐标值;计算模块,用于利用公式①Pn m+1=Pn m+Tn m Mn,计算得到所述虚拟角色嘴巴的空间点Pn在m+1时间点的三维坐标值;处理模块,用于对同一时间点的所有所述虚拟角色嘴巴的空间点Pn按序进行连线并进行曲线平滑处理,即可得到所述虚拟角色嘴巴在所述时间点的虚拟口型;合成模块,用于将所有时间点的所述虚拟角色的口型按时间序列进行连续帧的口型动画合成,即可生成所述虚拟角色完整的虚拟口型动作过程。
根据本申请的一个方面,还提供了一种虚拟口型生成计算机设备,包括:存储器和处理器;所述存储器中存储有可执行的计算机指令;所述处理器执行所述存储器中的所述计算机指令时,实现上述的虚拟口型生成方法。
根据本申请的一个方面,还提供了一种虚拟口型生成存储介质,所述存储介质用于存储计算机指令,所述计算机指令被处理器加载以执行上述的虚拟口型生成方法。
本发明的有益效果是:
1、本发明通过配音人员嘴巴空间点的三维数据,以及待生成虚拟口型的虚拟角色嘴巴空间点在初始正常闭合状态下的三维数据,然后通过配音人员嘴巴在初始正常闭合状态下的空间点三维数据与虚拟角色嘴巴在初始正常闭合状态下的空间点三维数据进行比对分析而得到虚拟角色嘴巴相对配音人员嘴巴的形变参数Mn,之后再结合配音人员在朗读过程中的各个空间点的设定的时间点的三维数据与其前一时间点的空间点三维数据进行比较,可得到相邻两个时间点之间配音人员的口型平移参数Tn m,最后通过公式计算得到虚拟角色对应朗读内容的口型。该方法虽然看似表演驱动的方法,但实际上是采用数据来驱动虚拟角色的口型动作的,而且采用的三维坐标值(即三维数据)进行对应关联,故能满足不同形状的嘴巴和不同尺寸的嘴巴,即使嘴巴形状差异较大(比如模仿真实动物,如狼的嘴巴、老虎的嘴巴、狮子的嘴巴等)也能通过形变参数自动进行调整,使得该虚拟角色的口型动作比较自然与真实;
2、又由于虚拟角色的口型是基于配音人员的口型生成的,故不会像采用训练模型口型合成方法一样,在有些词语或语句的连读时因为其口型动作与单音素组成的口型动画有所区别而产生的跳跃感和不真实感,本发明的虚拟口型会始终与配音人员的口型保持一致,只是口型的张合大小不同,这是根据形变参数而自动调整改变的,因此本发明的方法无需对各种不同的虚拟角色的口型进行手动调整,而且也无需对各个虚拟角色的口型进行训练学习,故大大节省了虚拟口型制作的工序和时间。
下面结合附图对本发明作进一步的说明。
附图说明
图1为本发明的虚拟口型生成方法的第一个实施例示意图;
图2为本发明第一个实施例的配音人员唇部的空间点设置示意图;
图3为本发明第一个实施例的虚拟角色唇部的空间点设置示意图;
图4为本发明的虚拟口型生成方法的第二个实施例示意图;
图5为本发明的虚拟口型生成方法的第三个实施例示意图;
图6为本发明的虚拟口型生成装置的第一个实施例示意图;
图7为本发明的虚拟口型生成装置的第二个实施例示意图;
图8为本发明的服务器的结构示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”等(如果存在)是用于区别类似的对象,而并非用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在附图的图示或描述的内容以外的顺序实施。此外,术语“包括”或“具有”及其任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。
下面结合附图,描述本发明虚拟口型生成方法、装置、设备及存储介质,以下实施例的描述顺序不作为对实施例优选顺序的限定。
如图1所示,图1是本发明实施例一提供的虚拟口型生成方法的流程示意图。该虚拟口型生成方法可以包括:
S101、获取配音人员嘴巴以及待生成虚拟口型的虚拟角色嘴巴,至少分别在两者嘴巴的唇部的对应位置设置空间点。
其中,获取配音人员嘴巴,可以有多种途径。例如:可以是通过深度相机实时捕捉配音人员的嘴巴,并在生成的深度图(灰图)中选定位于唇部处的若干像素点作为所述配音人员嘴巴的空间点;还可以是通过动态捕捉设备发射跟踪光源,较优选择是采用不可见光源,以定位到配音人员的嘴巴,并在该设备的显示屏上显示出所定位到的嘴巴的3D造型,通过该动态捕捉设备自动对该3D造型嘴巴的唇部进行空间点的设置;也可以是首先在配音人员的唇部上设置颜色点,然后通过前、左、右至少三个摄像机捕捉并识别该颜色涂点,并计算得到每个颜色涂点的相对位置信息和变化状态,该颜色涂点的中心点即为空间点;当然也可以是采用动态捕捉设备扫描配音人员,从而获得配音人员的嘴巴3D造型并设置空间点。
该实施例中获取待生成虚拟口型的虚拟角色的嘴巴的方法相对较为简单,可以在制作该虚拟角色的专业软件上获取,并在该专业软件上直接设置空间点。例如,可以是使用Maya等专业软件建立虚拟角色唇部上的多个空间点,并将这些空间点与该虚拟角色的嘴巴进行绑定。使用Maya等专业软件建立空间点以及绑定均为3D建模中常见的操作,在此不做赘述,通过对嘴巴对应位置进行空间点的分布绑点,实现了对虚拟角色嘴巴进行灵活控制。
所谓的对应位置设置空间点,是指在对虚拟角色的唇部进行空间点设置时,需要尽可能保证在虚拟角色上的空间点位置与配音人员唇部上的空间点位置一一对应。但由于虚拟角色的嘴巴尺寸与配音人员嘴巴尺寸会有差异,特别是例如虚拟角色为动物嘴巴,如图3所示,该动物嘴巴与配音人员的嘴巴无论是在尺寸或造型上,都差别较大。对于这种情形,首先配音人员唇部的空间点采用均匀间隔排布的方式进行设置,对应的虚拟角色上的空间点设置,则采用长度平均分配法,比如获取动物上唇部从左侧嘴角到右侧嘴角的长度,然后根据配音人员上唇部所设置的空间点个数,在上唇部平均间隔设置这些空间点。
除了在配音人员嘴巴以及虚拟角色嘴巴的唇部设置必要的空间点外,还可以根据需要,在配音人员和/或虚拟角色的头部其他位置设置空间点,比如在额头位置设置空间点、在鼻子上设置空间点、在头部内部设置空间点等。
S102、分别在所述配音人员嘴巴和所述虚拟角色嘴巴的内部中间位置构建自定义三维坐标系。
该实施例构建自定义三维坐标系的目的,是让配音人员嘴巴与虚拟角色嘴巴有一个共同的参考原点,可以认为是虚拟的重合点,这样有助于基于该参考原地(重合点)计算出虚拟人员嘴巴相对配音人员嘴巴的形变参数。
该自定义三维坐标系构建在嘴巴内部,在选择自定义三维坐标系的位置时,应确保无论口型发生如何变化,该自定义三维坐标系所在点是不动的,或者说相对嘴巴的整体而言是不动的,比如说,当配音人员的头部发生偏转或偏移时,该自定义三维坐标系的位置相对于整个嘴巴的位置是不会变动的;以及当配音人员在朗读内容时,该自定义三维坐标系的位置相对于整个嘴巴的位置是不会变动的。具体的:该自定义三维坐标系可以是位于两侧颞下颌关节的连线中点位置,从人体头部骨骼来讲,颞下颌关节是控制嘴巴下颌动作的转动点,所以这个转动点相对嘴巴整体而言是不动的,故可以以两侧颞下颌关节连线的中点位置来构建自定义三维坐标系;还可以是以嘴巴在正常闭合状态下两边嘴角的连线的中点,作为该自定义三维坐标系的原点,其中x方向为嘴巴的嘴角两点连线方向,y方向为嘴巴上下张合的方向,z方向为垂直于x和y并朝向嘴巴外的方向,该中点相比较两侧颞下颌关节的连线中点更容易获取到;也可以是其他位于嘴巴内的中心点等等。
该实施例构建配音人员的自定义三维坐标系,可以是利用深度相机在获得配音人员两嘴角的三维坐标后,通过这两个三维坐标求得平均值,然后以该平均值点构建所述配音人员嘴巴的自定义三维坐标系;也可以是通过捕捉配音人员的嘴巴并生成嘴巴3D造型后,在该3D造型上构建自定义三维坐标系。
该实施例构建虚拟角色的自定义三维坐标系同样比较简单,根据配音人员自定义三维坐标系的定位,直接在制作该虚拟角色的专业软件上对应相同的位置构建自定义三维坐标系即可。比如配音人员的自定义三维坐标系是定在两嘴角点的连线中点位置,那么该虚拟角色的自定义三维坐标系也同样是构建在其两嘴角点的连线中点位置。
S103、提取配音人员嘴巴和虚拟角色嘴巴在正常闭合状态下的各个空间点在自定义三维坐标系中的初始三维坐标值;以及对配音人员朗读的内容按时间分隔成多个时间点后,提取在所有时间点的配音人员所有空间点的三维坐标值。
在确定了自定义三维坐标系后,对于配音人员或虚拟角色在正常闭合状态下的的各个空间点的三维坐标值,通过简单的数学计算就可以很容易地提取到。
在该实施例中,将配音人员的空间点用Dn表示,而虚拟角色的空间点用Pn表示,其中n表示所有空间点中的第n个空间点,n为n≥1的整数。那么在初始正常闭合状态下,配音人员的空间点Dn的三维坐标值可以表示为Dn 0(Xdn 0,Ydn 0,Zdn 0),虚拟角色的空间点Pn的三维坐标值可以表示为Pn 0(Xpn 0,Ypn 0,Zpn 0)。
对配音人员朗读的内容按时间分隔成多个时间点,这里可以按朗读的内容长短进行区分,若内容较长,则可将整体内容先分割成若干段、甚至以句为单位,然后再将每一段或每一句按照设定的时间间隔来分隔成多个时间点,这个时间间隔,可以按每帧所占时间来间隔,也可以是2帧所占时间的间隔,或者可以是半帧所占时间的间隔。时间间隔越短,那么数据就越精准,生成的虚拟口型动作也就越精细,但数据也相对越庞大。
设置完时间点后,虚拟角色除了初始状态(即第一个时间点)的空间点Pn 0的三维坐标值是已知的,虚拟角色其他时间点的空间点三维坐标值就是本发明方法需要获取到的,只要获取到就可以生成虚拟角色的口型动作。而对于配音人员,其各个时间点的所有空间点的三维坐标值,则是通过各种捕捉设备捕捉后直接得到的,故可以提取在所有时间点的配音人员所有空间点的三维坐标值。在一实施例中,可以用Dn m表示配音人员的空间点Dn在第m个时间点的三维坐标值,m为m≥0的整数,所以在初始时间点(即m=0)时,也即配音人员的嘴巴处于初始的正常闭合状态时,该配音人员的第n个空间点的坐标值就是Dn 0(Xdn 0,Ydn 0,Zdn 0),而第二个时间点(即m=1)的三维坐标值就是Dn 1(Xdn 1,Ydn 1,Zdn 1),以此类推。
S104、利用公式①Pn m+1=Pn m+Tn m Mn,即可得到虚拟角色嘴巴的空间点Pn在m+1时间点的三维坐标值。
其中,m为m≥0的整数,n为n≥1的整数;Pn m+1表示所述虚拟角色嘴巴的空间点Pn在m时间点相邻的下一时间点的三维坐标值;Tn m为所述配音人员嘴巴的空间点Dn在m时间点和m+1时间点之间的平移参数;Mn为所述配音人员嘴巴在正常闭合状态下的空间点Dn与所述虚拟角色嘴巴在正常闭合状态下的空间点Pn的形变参数。
该实施例的平移参数Tn m可以通过偏移量求得,用平移矩阵来表示,则其公式可以为:
其中dx、dy、dz分别为空间点Dn m在x、y、z三个维度的平移距离,w为齐次化坐标。而形变参数Mn的作用是用来表示虚拟角色嘴巴相对配音人员嘴巴的变形程度,变形程度越大的话,那么对应的发音口型的差异性也就越大,比如若变形程度的系数是2,那么假设配音人员的发音口型相对上一时间点的口型的变化系数是1的话,那么反应到该虚拟角色的发音口型变化系数就是2了,也即虚拟角色的发音口型变化比配音人员的发音口型变化更大。为了便于计算其变化情况,可建立Pn 0与Dn 0的的变换关系式为:Pn 0=Dn 0 Mn,然后将Dn 0用矩阵表示,Mn也转化为矩阵,那么该关系式转换成矩阵乘法表示则为:
其中a、b、c表示沿着x、y、z轴分别缩放a、b、c倍,w为齐次化坐标;最后通过矩阵计算即可求得三个缩放因子a、b、c的值。因此,将dx、dy、dz和a、b、c代入所述公式中可将公式改写为:Pn m+1=Pn m+[a*dx,b*dy,c*dz]。
由于采用了形变参数,故使得该虚拟口型生成方法的适用性更广,不仅可以关联到虚拟人类的口型动作生成,还可以关联到虚拟动物的口型动作生成,而且所生成的口型动作具有较高的真实感和自然感。
下面具体以配音人员的朗读口型转变生成虚拟动物狼的口型动作为例做进一步的描述:如图2所示,该实施例的配音人员的唇部共设有12个空间点,分别是两个嘴角各1个空间点,上唇部有5个,下唇部有5个,分别标记为D1-D12。对应的,如图3所示,将虚拟动物狼的嘴巴在相应的位置也设置12个空间点,分别用P1-P12表示。现假设配音人员朗读“你好”一词,该词大概需要0.6秒的时间,按0.2秒的间隔,故可以分隔成4个时间点,即D0、D1、D2、D3。通过在两嘴角两点连线的中点设置自定义三维坐标系后,可以得到配音人员这12个空间点在这4个时间点的三维坐标值,即一共48个三维坐标值;而虚拟动物狼只能暂时得到这12个空间点在第一个时间点的三维坐标值,剩下的36个三维坐标值就是需要通过公式计算就得的。这36个三维坐标值的计算步骤相同,不同的只是其值,故为了方便举例以及看出其区别,现选取两组数据进行说明,第一组为D2 0、D2 1、P2 0、P2 1,其中D2 0、D2 1、P2 0为已知的三维数据,求P2 1的三维坐标值;第二组为D4 0、D4 1、P4 0、P4 1,其中D4 0、D4 1、P4 0为已知的三维数据,求P4 1的三维坐标值。其中已知的6个三维数据假设为:D2 0(6,-0.2,1)、D2 1(6,-1,1))、P2 0(7,-1,10)、D4 0(0,-1,3)、D4 1(0,-2,3.5)、P4 0(0,-2,30),且“你”字的声母n的口型只带动唇部发生平移,所以通过公式D2 1=D2 0 T2 0,可以计算出T2 0的dx、dy、dz值,将D2 0和D2 1两个已知的三维坐标值用矩阵表示,然后代入该公式,得到算式①:
其中w为齐次化坐标,可以用1来表示w,那么可以将算式①简化成算式②:
故可得出:dx=0,dy=-0.8,dz=0;接着,通过公式P2 0=D2 0 M2,可以计算出M2的a、b、c值,将P2 0和D2 0两个已知的三维坐标值用矩阵表示,然后代入该公式,得到算式③:
其中w为齐次化坐标,故可直接得出:a=7/6,b=5,c=10;最后,将得到的T2 0和M2的值代入到公式Pn m+1=Pn m+[a*dx,b*dy,c*dz]中,可得:
即P2 1的三维坐标值为P2 1(7,-5,10),相对与P2 0(7,-1,10)的变化是沿着y轴方向向下偏移4个单位。
采用同样的方法,可计算出P4 1的三维坐标值为P4 1(0,-4,35),相对与P4 0(0,-2,30)的变化是沿着y轴方向向下偏移2个单位,同时沿z轴方向向外偏移5个单位。
将所有的12个空间点都进行偏移后,即可得到虚拟动物狼在第二个时间点的口型,如图3所示。而相比于配音人员,配音人员的D2 1是沿着y轴方向向下偏移0.8个单位,D4 1是沿着y轴方向向下偏移1个单位且向z轴方向向外偏移0.5个单位,如果不通过形变参数,那么若虚拟动物狼的口型按照配音人员的口型偏移量进行偏移的话,那么基本上只是微微的张嘴,会与实际发音的口型差别较大,显得非常不自然和不真实。
S105、对同一时间点的所有虚拟角色嘴巴的空间点Pn按序进行曲线平滑处理,即可得到虚拟角色嘴巴在时间点的虚拟口型。
该实施例的曲线平滑处理方式可以有多种,例如:可以是采用Moving average平滑方式进行处理,即邻域内的数据点做平均代替邻域的中心点值,该方法包括有一般滑动平均、加权滑动平均以及指数滑动平均;也可以是Savitzky-Golay滤波方式进行处理,即基于局域多项式最小二乘法拟合的滤波方法;还可以是Spline样条曲线平滑方式进行处理,该方法一般采用2次B样条曲线参数方程或3次B样条曲线参数方程进行处理。
S106、将所有时间点的虚拟角色的口型按时间序列进行连续帧的口型动画合成,即可生成虚拟角色完整的虚拟口型动作过程。
该实施例所述的按时间序列,是指按照所设定的时间点的先后顺序。把每个时间点所形成的虚拟角色的口型进行排序,然后将每相邻的两个时间点的口型连接起来形成动画,比如可以将各个时间点的虚拟口型设置为动画关键帧,然后由专业处理软件对相邻的两个关键帧之间进行自动运算补充,形成补间动画,最后形成虚拟角色完整的虚拟口型动作过程。
该实施例的方法采用数据来驱动虚拟角色的口型动作的,而且采用的三维坐标值(即三维数据)进行对应关联,故能满足不同形状的嘴巴和不同尺寸的嘴巴,即使嘴巴形状差异较大(比如模仿真实动物,如狼的嘴巴、老虎的嘴巴、狮子的嘴巴等)也能通过形变参数自动进行调整,使得该虚拟角色的口型动作比较自然与真实;而且该方法无需对各种不同的虚拟角色的口型进行手动调整,而且也无需对各个虚拟角色的口型进行训练学习,故大大节省了虚拟口型制作的工序和时间。
如图4所示,图4是本发明第二实施例提供的虚拟口型生成方法的流程示意图。该虚拟口型生成方法可以包括:
S201、通过深度相机实时捕捉配音人员嘴巴。
深度相机,也被成为3D相机,因为通过该相机能检测出拍摄空间的景深距离,故而称之深度相机。通过深度相机获取到图像中每个点距离摄像头的距离,在加上该点在2D图像中的二维坐标,就能获取图像中每个点的三维空间坐标。其基本原理是:采用特定波长的不可见的红外激光作为光源,它发射出来的光经过一定编码后形成具有一定结构特征的光线,将该光线投射到配音人员头部或嘴巴上,再由专门的红外摄像头进行采集,因为配音人员头部或嘴巴具有不同的深度区域,故而采集到反射的结构光图案的信息各有不同,然后通过运算单元将这种结构的变化换算成深度信息,以此来获得三维结构。
S202、在生成的深度图中选定位于唇部处的若干像素点作为配音人员嘴巴的空间点,空间点至少包括位于配音人员嘴巴两边嘴角上的像素点。
在该实施例中,由于是考虑以两边嘴角的连线中点作为自定义三维坐标系,即三维坐标原点,所以在通过深度相机生成电子深度图后,在该深度图中选定位于唇部处的配音人员嘴巴的空间点时,至少要把配音人员嘴巴两边嘴角上的像素点也作为空间点,深度图中的像素点是以该像素点在该2D图像中的二维坐标,后面跟着显示该像素点距离摄像头的距离值,比如[a,b],c,其中[a,b]就是2D图像的二维坐标,c就是距离值,故可将该像素点对应空间点Dn的原始三维坐标值标记为Dn(a,b,c)。进一步地,除了在两边嘴角各设置一个空间点,在嘴巴的上唇部和下唇部均设有若干个空间点,较优的设置方案是,在上唇部的中间位置和下唇部的中间为也都设置一个空间点,然后在该中间的空间点与嘴角点空间点之间的唇部等距间隔设置多个空间点,即唇部上的相邻两个空间点的距离相等,这里的距离不是两点直线距离,而是两点沿着唇部轮廓线的曲线距离。
S203、根据所选择的配音人员嘴巴的空间点数量及其位置,在虚拟角色嘴巴的唇部的对应位置也设置空间点。
在该实施例中,可以在制作该虚拟角色的专业软件上直接设置空间点。例如,可以是使用Maya等专业软件建立虚拟角色唇部上的多个空间点,并将这些空间点与该虚拟角色的嘴巴进行绑定。同样根据虚拟角色的唇部轮廓线长度来平均间隔设置与配音人员的空间点数相同的空间点。
S204、获取深度图中配音人员嘴巴在正常闭合状态下两边嘴角上的像素点的像素位置以及距离信息;
S205、通过计算得到这两个嘴角像素点的像素位置以及距离信息的平均值;
S206、在平均值所在的像素点构建配音人员嘴巴的自定义三维坐标系,该点即为配音人员嘴巴的原点。
在该实施例中,比如配音人员的嘴巴在正常闭合状态下两边嘴角上的信息分别是[50,10],600和[110,6],400,那么它们的平均值就是
[(50+110)/2,(10+6)/2],(600+400)/2,计算结果就是[80,8],500。将该像素点信息转化为三维坐标值就是(80,8,500)作为自定义的三维坐标系的原点,同时将两边嘴角的连线方向作为自定义三维坐标系的x轴方向,将嘴巴上下张合的方向定义为自定义三维坐标系的y轴方向,垂直于x和y并朝向嘴巴外的方向定义为自定义三维坐标系的z轴方向。较佳的方案是:在构建自定义三维坐标系前,选择配音人员的嘴巴是处于正常闭合状态的唇部深度图来进行构建。
S207、获取虚拟角色嘴巴在正常闭合状态下两边嘴角的空间点连线的中点;
S208、以中点构建所述虚拟角色嘴巴的自定义三维坐标系,该中点即为虚拟角色嘴巴的原点。
由于虚拟角色是通过专业3D软件绘制的,故在该专业软件上可以轻松地获取到所要的点并以该点构建自定义三维坐标系,这是3D建模中常见的操作,故在此不做赘述。
S209、提取配音人员嘴巴和虚拟角色嘴巴在正常闭合状态下的各个空间点在自定义三维坐标系中的初始三维坐标值;以及对配音人员朗读的内容按时间分隔成多个时间点后,提取在所有时间点的配音人员所有空间点的三维坐标值。
在该实施例中,当将配音人员的深度图中的像素点[80,8],500作为自定义三维坐标系的原点时,就可以根据该原点,重新计算出其他各个空间点在该自定义坐标系中的三维坐标值,其中正常闭合状态下的三维坐标值就为初始三维坐标值。例如,原嘴角的其中一个像素点[50,10],600对应的空间点D1 0在该自定义三维坐标系中的三维坐标值就为D1 0(-30,0,0),而原嘴角的另一个像素点[110,6],400对应的空间点D7 0在该自定义三维坐标系中的三维坐标值就为D7 0(30,0,0),其他的空间点也可以根据像素点的信息计算出来。
由于深度相机可以实施捕捉被摄物的,故后续配音人员在朗读内容时,深度相机也是可以实施捕捉到配音人员随着朗读而嘴巴发生的变动,也即可获得所标记的空间点的像素和深度距离变化,但为了避免数据太过庞大而导致处理设备压力过大,所以采用对配音人员朗读的内容按时间分隔成多个时间点,然后仅提取在这些时间点的所有空间点的三维坐标值。在该实施例中,假设配音人员在该朗读内容的时间段内,头部或整体嘴巴没有发生偏转,那么所提取到的这些时间点的所有空间点的三维坐标值就可以直接用于下面的公式中进行计算,无需进行旋转校正。
S210、利用公式①Pn m+1=Pn m+Tn m Mn,即可得到虚拟角色嘴巴的空间点Pn在m+1时间点的三维坐标值。
在该实施例中,由于Pn 0的三维坐标值都是已知的,Pn 0就是虚拟角色嘴巴在初始正常闭合状态下的第n个空间点的三维坐标值,这些三维坐标值是可以通过制作该虚拟角色的专业软件上自动计算获得的。而Tn m是可以通过Dn在第m个时间点与第m+1个时间点之间的偏移情况得到的,由于无需进行旋转校正,故Tn m=Dn m+1-Dn m,将Tn m拆分成用dx、dy、dz来分别为空间点Dn m在x、y、z三个维度的平移距离,那么假设D2 0的三维坐标值为D2 0(-20,-4,2),D2 1的三维坐标值为D2 1(-18,-10,4),那么T2 0=D2 1-D2 0=(dx,dy,dz)=(-18,-10,4)-(-20,-4,2)=(-18+20,-10+4,4-2)=(2,-6,2),即求得dx=2,dy=-6,dz=2。该实施例的Mn是通过Pn和Dn的三维坐标值相对缩放情况得到的,即虚拟角色的第n个空间点的三维坐标值,是将配以人员第n个空间点的三维坐标值通过不同缩放而得到的,体现了虚拟角色的嘴巴相对于配音人员嘴巴的形变情况;Mn一般采用a、b、c三个缩放因子来分别表示沿着x、y、z轴分别缩放a、b、c倍,所以假设P2 0的三维坐标值为P2 0(-10,-5,8),那么用公式P2 0=D2 0M2可以推出(-10,-5,8)=(-20*a,-4*b,2*c),因此可求得a=0.5,b=1.25,c=4。那么将这些数据代入该公式①即可得到:P2 1=P2 0+T2 0M2=P2 0+(a*dx,b*dy,c*dz)=(-10,-5,8)+(0.5*2,-1.25*6,4*2)=(-9,-12.5,16)。在求得P2 1后,就可以进而求得P2 2,以此类推,最终求出虚拟角色的第2个空间点在所有时间点的三维坐标值。
S211、对同一时间点的所有虚拟角色嘴巴的空间点Pn按序进行曲线平滑处理,即可得到虚拟角色嘴巴在时间点的虚拟口型。
该实施例采用Savitzky-Golay滤波方式进行处理,即基于局域多项式最小二乘法拟合的滤波方法,具体是采用5点二次平滑系数进行平滑计算。
S212、将所有时间点的虚拟角色的口型按时间序列进行连续帧的口型动画合成,即可生成所述虚拟角色完整的虚拟口型动作过程。
该实施例所述的按时间序列,是指按照所设定的时间点的先后顺序。把每个时间点所形成的虚拟角色的口型进行排序,然后将每相邻的两个时间点的口型连接起来形成动画,比如可以将各个时间点的虚拟口型设置为动画关键帧,然后由专业处理软件对相邻的两个关键帧之间进行自动运算补充,形成补间动画,最后形成虚拟角色完整的虚拟口型动作过程。
本实施例在实施例一的基础上,详细描述了获取配音人员嘴巴以及如何在唇部设置空间点的过程,以及如何构建自定义三维坐标系的过程,在构建自定义三维坐标系后,提取初始三维坐标值,然后利用公式①进行计算得到虚拟角色的所有空间点在所有时间点的三维坐标值,最后通过曲线平滑处理以及口型动作合成,生成虚拟角色完整的虚拟口型动作过程。该实施例方法即使虚拟角色嘴巴与配音人员嘴巴形状差异较大也能通过形变参数自动进行调整,使得该虚拟角色的口型动作比较自然与真实;而且该方法无需对各种不同的虚拟角色的口型进行手动调整,而且也无需对各个虚拟角色的口型进行训练学习,故大大节省了虚拟口型制作的工序和时间。
如图5所示,图5是本发明第三实施例提供的虚拟口型生成方法的流程示意图。该虚拟口型生成方法可以包括:
S301、获取配音人员嘴巴以及待生成虚拟口型的虚拟角色嘴巴,分别在两者嘴巴的唇部的对应位置设置空间点,以及在配音人员的头部设置至少三个非共线的空间点。
在该实施例中,获取配音人员的嘴巴的方法是:在配音人员的唇部上设置颜色圆点,可以是涂画上去的颜色圆点,然后通过深度摄像机捕捉获取配音人员嘴巴的同时,也获取到这些颜色圆点的位置信息,然后将每个颜色圆点的中心点设置为空间点,这样就可以实时获取到这些空间点的二维坐标以及深度距离。通过涂画颜色圆点,可以从深度图中更容易的获取到空间点,不容易出现偏差或错误,因为有颜色圆点作为参考;另外采用涂画而不是粘贴色块,可以降低配音人员的不适感,避免在朗读时唇部的不自然。
该实施例是假定配音人员在朗读内容的过程中,头部整体是有发生偏转的,所以该实施例除了至少分别在两者嘴巴的唇部的对应位置设置空间点之外,还需要在配音人员的头部再设置至少三个非共线的空间点,且这至少三个空间点的位置是配音人员在朗读过程中不会因为口型动作而发生变化的,例如可以在配音人员的额头上设置这至少三个空间点,为了方便跟踪,同样在额头上对应这三个空间点的位置涂画颜色圆点。
S302、分别在配音人员嘴巴和虚拟角色嘴巴的内部中间位置构建自定义三维坐标系。
该实施例同样是采用以两边嘴角的连线中点作为自定义三维坐标系,与实施例二相同,故不在赘述。
S303、提取配音人员嘴巴和虚拟角色嘴巴在正常闭合状态下的各个空间点在三维坐标系中的初始三维坐标值;以及对配音人员朗读的内容按时间分隔成多个时间点后,提取在所有时间点的配音人员所有空间点的三维坐标值。
在该实施例中,由于是假定配音人员在朗读内容过程中,头部可能会发生偏转的,故在不同的时间点所提取到的配音人员所有空间点的三维坐标值,并不能直接用于计算Tn m,因为所提取到的Dn m+1可能已经发生了偏转,故需要先对该Dn m+1进行旋转修正。
S304、对配音人员在m+1时间点提取到的三维坐标值通过旋转修正,其公式②为Dn ’m+1=Dn m+1Rn m+1,其中Dn ’m+1为旋转修正后的三维坐标值,Dn m+1为在m+1时间点提取到的三维坐标值,Rn m+1为旋转参数。
在该实施例中,只要能求出旋转参数Rn m+1,就可以求解出旋转修正后的三维坐标值Dn ’m+1。而旋转参数Rn m+1可以通过额头上设置的三个空间点的变化情况来进行求解,因为这三个空间点在口型动作下它们的相对位置是不变的,所以如果他们在第m+1个时间点提取到的三维坐标值与在第m个时间点提取到的三维坐标值不一样的话,那么就证明配音人员的头部发生了偏转,偏转的数值可以通过这三个空间点的三维坐标值的变化而计算出来,这个偏转的数值即旋转参数Rn m+1
S305、跟踪判断配音人员在m时间点到m+1时间点的过程中,配音人员的嘴巴整体是否发生偏转。
在该实施例中,通过实时判断额头上的三个空间点在相邻两个时间点下的三维坐标值是否相等,即可判断配音人员的头部是否发生偏转,也即,配音人员的嘴巴整体是否发生偏转。
S306、若没有发生偏转时,那么旋转参数Rn m+1的值为1,跳到步骤S308。
在该实施例中,如果额头上的三个空间点在m时间点到m+1时间点的三维坐标值相等,那就说明没有发生偏转,也即无需进行旋转修正,那么Dn ’m+1=Dn m+1,即Rn m+1的值为1,故Tn m=Dn m+1-Dn m,直接采用提取到的Dn m+1的三维坐标值进行计算。
S307、若发生偏转时,那么通过点集中心化,接着奇异值分解(SVD)求解得到旋转矩阵Rn m+1
在该实施例中,如果额头上的三个空间点在m时间点到m+1时间点的三维坐标值不相等,那就说明嘴巴整体有发生偏转,故需进行旋转修正。具体来说,首先将额头上的三个空间点的坐标都减去它所在点集的重心;然后假设存在一个3×3的旋转矩阵Rn m+1和一个3×1的平移向量T,用它们来对第一个点集D进行变换,得到对应的第二点集D=Rn m+1D+T;让D尽可能接近于目标点集Dtarget,可以利用最小二乘法来求解,先将D和D拉成向量形式,然后D来逼近的Dtarget,即D≈Dtarget,两边同时左乘DT,得到DTD≈DTDtarget,其中DT是D的转置,由于D和Dtarget是已知的,所以可以得到D≈D(DTD)-1DTDtarget,这里的(DTD)-1是DTD的逆矩阵;将D的值代入D=Rn m+1D+T可以得到Rn m+1D+T≈D(DTD)-1DTDtarget;两边同时左乘DT,即可以得到DT Rn m+1D+DTT≈DTDtarget;最后通过奇异值分解(SVD)即可求得旋转矩阵Rn m+1。求解得到旋转矩阵Rn m+1后,代入Dn ’m+1=Dn m+1Rn m+1就可以求出Dn ’m+1的三维坐标值。
S308、利用公式①Pn m+1=Pn m+Tn m Mn,即可得到所述虚拟角色嘴巴的空间点Pn在m+1时间点的三维坐标值。
在该实施例中,公式①Pn m+1=Pn m+Tn m Mn中的平移参数Tn m为配音人员在m+1时间点经过旋转修正后的三维坐标值与在m时间点的三维坐标值的平移距离,即公式③为Tn m=Dn ’m+1-Dn m;将公式②和公式③代入公式①中,得到改写后的公式④为:Pn m+1=Pn m+(Dn m+1Rn m+1-Dn m)Mn。故在通过额头的三个空间点求得Rn m+1后,即可通过公式④求得Pn m+1的三维坐标值。
S309、对同一时间点的所有虚拟角色嘴巴的空间点Pn按序进行曲线平滑处理,即可得到虚拟角色嘴巴在该时间点的虚拟口型。
在该实施例中,曲线平滑处理采用通过3次B样条曲线参数方程对曲线段进行平滑处理,其方程为:其中Pn为空间点,Fn,k(t)为k阶B样条基函数,该基函数为:/> 其中/>表示阶乘;将该基函数代入方程中,即可实现对曲线平滑处理。
S310、将所有时间点的虚拟角色的口型按时间序列进行连续帧的口型动画合成,即可生成虚拟角色完整的虚拟口型动作过程。
该实施例所述的按时间序列,是指按照所设定的时间点的先后顺序。把每个时间点所形成的虚拟角色的口型进行排序,然后将每相邻的两个时间点的口型连接起来形成动画,比如可以将各个时间点的虚拟口型设置为动画关键帧,然后由专业处理软件对相邻的两个关键帧之间进行自动运算补充,形成补间动画,最后形成虚拟角色完整的虚拟口型动作过程。
本实施例在实施例一的基础上,详细描述了当配音人员在朗读过程中发生头部偏转时如何进行旋转修正从而正确计算得到Tn m值的过程,然后利用公式①进行计算得到虚拟角色的所有空间点在所有时间点的三维坐标值,最后通过曲线平滑处理以及口型动作合成,生成虚拟角色完整的虚拟口型动作过程。该实施例方法即使虚拟角色嘴巴与配音人员嘴巴形状差异较大也能通过形变参数自动进行调整,使得该虚拟角色的口型动作比较自然与真实;而且该方法无需对各种不同的虚拟角色的口型进行手动调整,而且也无需对各个虚拟角色的口型进行训练学习,故大大节省了虚拟口型制作的工序和时间。
为便于更好的实施本发明提供的虚拟口型生成方法,本发明还提供一种基于上述虚拟口型生成方法的装置。其中名词的含义与上述虚拟口型生成方法中相同,具体实现细节可以参考方法实施例中的说明。
请参阅图6,图6为本发明其中一实施例的虚拟口型生成装置的结构示意图,该虚拟口型生成装置包括获取模块41、构建模块42、提取模块43、计算模块44、处理模块45和合成模块46等。
其中,获取模块41,用于分别在所述配音人员嘴巴和所述虚拟角色嘴巴的内部中间位置构建自定义三维坐标系;
构建模块42,用于分别在所述配音人员嘴巴和所述虚拟角色嘴巴的内部中间位置构建自定义三维坐标系;
提取模块43,用于提取所述配音人员嘴巴和所述虚拟角色嘴巴在正常闭合状态下的各个所述空间点在所述自定义三维坐标系中的初始三维坐标值;以及对配音人员朗读的内容按时间分隔成多个时间点后,提取在所有所述时间点的所述配音人员所有空间点的三维坐标值;
计算模块44,用于利用公式①Pn m+1=Pn m+Tn m Mn,即可得到所述虚拟角色嘴巴的空间点Pn在m+1时间点的三维坐标值;
处理模块45,用于对同一时间点的所有所述虚拟角色嘴巴的空间点Pn按序进行连线并进行曲线平滑处理,即可得到所述虚拟角色嘴巴在所述时间点的虚拟口型;
合成模块46,用于将所有时间点的所述虚拟角色的口型按时间序列进行连续帧的口型动画合成,即可生成所述虚拟角色完整的虚拟口型动作过程。
在一些实施例中,如图7所示,该虚拟口型生成装置还包括修正模块47,和判断模块48,该修正模块47用于对所述配音人员在m+1时间点提取到的三维坐标值通过旋转修正,该判断模块48用于跟踪判断配音人员在m时间点到m+1时间点的过程中,配音人员的嘴巴整体是否发生偏转。
本发明的实施例可以由获取模块41获取配音人员嘴巴和虚拟角色嘴巴的空间点;由构建模块42构建自定义三维坐标系;然后通过提取模块43提取所有能够直接获取到的空间点的三维坐标值;再利用计算模块44结合公式即可得到虚拟角色嘴巴的空间点在所有时间点的三维坐标值;最后通过处理模块45对所求得的三维坐标值在同一时间点的进行曲面平滑处理,以及通过合成模块46最终合成所述虚拟角色完整的虚拟口型动作过程。该实施例方法即使虚拟角色嘴巴与配音人员嘴巴形状差异较大也能通过形变参数自动进行调整,使得该虚拟角色的口型动作比较自然与真实;而且该方法无需对各种不同的虚拟角色的口型进行手动调整,而且也无需对各个虚拟角色的口型进行训练学习,故大大节省了虚拟口型制作的工序和时间。
本申请实施例还提供一种计算机设备,该计算机设备可以是服务器,如图8所示,其示出了本发明实施例所涉及的服务器的结构示意图,具体来讲:
该服务器可以包括一个或者一个以上处理核心的处理器51、一个或一个以上计算机可读存储介质的存储器52、电源53和显示单元54等部件。本领域技术人员可以理解,图8中示出的服务器结构并不构成对服务器的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。比如服务器还可以包括显示单元等,在此不再赘述。其中:处理器51是该服务器的控制中心,利用各种接口和线路连接整个服务器的各个部分,通过运行或执行存储在存储器52内的计算机指令和/或模块,以及调用存储在存储器52内的数据,执行服务器的各种功能和处理数据,从而对服务器进行整体监控。存储器52可用于存储计算机指令以及模块,处理器51通过运行存储在存储器52的计算机指令以及模块,从而执行各种功能应用以及数据处理。存储器52主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据服务器的使用所创建的数据,比如空间点数量、空间点的三维坐标值等。此外,存储器52可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器52还可以包括存储器控制器,以提供处理器51对存储器52的访问。该显示单元54可用于显示获取到的配音人员的嘴巴或者提取到的空间点的信息。
具体在本实施例中,服务器中的处理器51会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器52中,并由处理器51来运行存储在存储器52中的应用程序,从而实现如下功能:
获取配音人员嘴巴和虚拟角色嘴巴的空间点;构建自定义三维坐标系;然后提取所有能够直接获取到的空间点的三维坐标值;再利用公式计算得到虚拟角色嘴巴的空间点在所有时间点的三维坐标值;最后对所求得的在同一时间点的三维坐标值进行曲面平滑处理,以及最终合成所述虚拟角色完整的虚拟口型动作过程。
根据本发明的一个方面,提供了一种虚拟口型生成存储介质,该存储介质用于存储计算机指令。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各个实施例中提供的方法。本领域普通技术人员可以理解,上述各实施例的方法中的全部或部分步骤可以通过计算机指令来完成,或通过计算机指令控制相关的硬件来完成。以上各方法的具体实施可参见前面的实施例,在此不再赘述。其中,该存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。
由于该存储介质中所存储的程序,可以执行本发明实施例所提供的任一种虚拟口型生成方法中的步骤,因此,可以实现本发明实施例所提供的任一种虚拟口型生成方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管已经示出和描述了本发明的实施例,本领域的普通技术人员应当理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。

Claims (10)

1.一种虚拟口型生成方法,其特征在于,包括:
获取配音人员嘴巴以及待生成虚拟口型的虚拟角色嘴巴,至少分别在两者嘴巴的唇部的对应位置设置空间点;
分别在所述配音人员嘴巴和所述虚拟角色嘴巴的内部中间位置构建自定义三维坐标系;
提取所述配音人员嘴巴和所述虚拟角色嘴巴在正常闭合状态下的各个所述空间点在所述自定义三维坐标系中的初始三维坐标值;以及对所述配音人员朗读的内容按时间分隔成多个时间点后,提取在所有所述时间点的所述配音人员所有空间点的三维坐标值;
利用公式① Pn m+1= Pn m +Tn m Mn,即可得到所述虚拟角色嘴巴的空间点Pn在m+1时间点的三维坐标值;其中m为m≥0的整数,n为n≥1的整数;Pn m+1表示所述虚拟角色嘴巴的空间点Pn在m时间点相邻的下一时间点的三维坐标值;Tn m为所述配音人员嘴巴的空间点Dn在m时间点和m+1时间点之间的平移参数;Mn为所述配音人员嘴巴在正常闭合状态下的空间点Dn与所述虚拟角色嘴巴在正常闭合状态下的空间点Pn的形变参数;
对同一时间点的所有所述虚拟角色嘴巴的空间点Pn按序进行曲线平滑处理,即可得到所述虚拟角色嘴巴在所述时间点的虚拟口型;
将所有时间点的所述虚拟角色的口型按时间序列进行连续帧的口型动画合成,即可生成所述虚拟角色完整的虚拟口型动作过程。
2.根据权利要求1所述的虚拟口型生成方法,其特征在于,所述获取所述配音人员嘴巴以及所述虚拟角色嘴巴,至少分别在两者嘴巴的唇部的对应位置设置空间点,包括以下步骤:
通过深度相机实时捕捉所述配音人员嘴巴;
在生成的深度图中选定位于唇部处的若干像素点作为所述配音人员嘴巴的空间点,所述空间点至少包括位于所述配音人员嘴巴两边嘴角上的像素点;
根据所选择的所述配音人员嘴巴的空间点数量及其位置,在所述虚拟角色嘴巴的唇部的对应位置也设置空间点。
3.根据权利要求2所述的虚拟口型生成方法,其特征在于,所述分别在所述配音人员嘴巴和所述虚拟角色嘴巴的内部中间位置构建自定义三维坐标系,包括以下步骤:
获取深度图中所述配音人员嘴巴在正常闭合状态下两边嘴角上的像素点的像素位置以及距离信息;
通过计算得到这两个所述嘴角像素点的像素位置以及距离信息的平均值;
在所述平均值所在的像素点构建所述配音人员嘴巴的自定义三维坐标系,该点即为所述配音人员嘴巴的原点;
获取所述虚拟角色嘴巴在正常闭合状态下两边嘴角的空间点连线的中点;
以所述中点构建所述虚拟角色嘴巴的自定义三维坐标系,该中点即为所述虚拟角色嘴巴的原点。
4.根据权利要求1所述的虚拟口型生成方法,其特征在于,在所述对所述配音人员朗读的内容按时间分隔成多个时间点后,提取在所有所述时间点的所述配音人员所有空间点的三维坐标值后,还包括:
对所述配音人员在m+1时间点提取到的三维坐标值通过旋转修正,其公式②为Dn ’m+1 =Dn m+1 Rn m+1,其中Dn ’m+1为旋转修正后的三维坐标值,Dn m+1为在m+1时间点提取到的三维坐标值,Rn m+1为旋转参数。
5.根据权利要求4所述的虚拟口型生成方法,其特征在于,所述公式① Pn m+1= Pn m +Tn m Mn中的平移参数Tn m为所述配音人员在m+1时间点经过旋转修正后的三维坐标值与在m时间点的三维坐标值的平移距离,公式③为Tn m = Dn ’m+1 - Dn m
将所述公式②和所述公式③代入所述公式①中,得到改写后的公式④为:Pn m+1= Pn m +(Dn m+1 Rn m+1 - Dn m)Mn
6.根据权利要求4所述的虚拟口型生成方法,其特征在于,关于所述公式②中的所述旋转参数Rn m+1的值的计算,包括:
跟踪判断所述配音人员在m时间点到m+1时间点的过程中,所述配音人员的嘴巴整体是否发生偏转;
若没有发生偏转时,那么旋转参数Rn m+1的值为1;
若发生偏转时,那么通过点集中心化,接着奇异值分解(SVD)求解得到旋转矩阵Rn m+1
7.根据权利要求1所述的虚拟口型生成方法,其特征在于,所述对同一时间点的所有所述虚拟角色嘴巴的空间点Pn按序进行所述曲线平滑处理,具体包括:
对同一时间点的所有所述虚拟角色嘴巴的空间点Pn按序进行连线,得到曲线段;
通过3次B样条曲线参数方程对所述曲线段进行平滑处理,所述方程为:
,其中Pn为所述空间点,Fn,k(t)为k阶B样条基函数,所述基函数为:
,其中/>表示阶乘;
将所述基函数代入所述方程中,即可实现对所述曲线平滑处理。
8.一种虚拟口型生成装置,其特征在于,包括:
获取模块,用于获取配音人员嘴巴以及构建好的虚拟角色嘴巴,至少分别在两者嘴巴的唇部的对应位置设置空间点;
构建模块,用于分别在所述配音人员嘴巴和所述虚拟角色嘴巴的内部中间位置构建自定义三维坐标系;
提取模块,用于提取所述配音人员嘴巴和所述虚拟角色嘴巴在正常闭合状态下的各个所述空间点在所述自定义三维坐标系中的初始三维坐标值;以及对配音人员朗读的内容按时间分隔成多个时间点后,提取在所有所述时间点的所述配音人员所有空间点的三维坐标值;
计算模块,用于利用公式① Pn m+1= Pn m +Tn m Mn,即可得到所述虚拟角色嘴巴的空间点Pn在m+1时间点的三维坐标值;其中m为m≥0的整数,n为n≥1的整数;Pn m+1表示所述虚拟角色嘴巴的空间点Pn在m时间点相邻的下一时间点的三维坐标值;Tn m为所述配音人员嘴巴的空间点Dn在m时间点和m+1时间点之间的平移参数;Mn为所述配音人员嘴巴在正常闭合状态下的空间点Dn与所述虚拟角色嘴巴在正常闭合状态下的空间点Pn的形变参数;
处理模块,用于对同一时间点的所有所述虚拟角色嘴巴的空间点Pn按序进行连线并进行曲线平滑处理,即可得到所述虚拟角色嘴巴在所述时间点的虚拟口型;
合成模块,用于将所有时间点的所述虚拟角色的口型按时间序列进行连续帧的口型动画合成,即可生成所述虚拟角色完整的虚拟口型动作过程。
9.一种虚拟口型生成计算机设备,其特征在于,包括:存储器和处理器;
所述存储器中存储有可执行的计算机指令;
所述处理器执行所述存储器中的所述计算机指令时,实现如权利要求1-7任一项所述的虚拟口型生成方法。
10.一种虚拟口型生成存储介质,其特征在于,所述存储介质用于存储计算机指令,所述计算机指令被处理器加载以执行权利要求1-7任一项所述的虚拟口型生成方法。
CN202310832246.4A 2023-07-07 2023-07-07 一种虚拟口型生成方法、装置、设备及存储介质 Active CN116863046B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310832246.4A CN116863046B (zh) 2023-07-07 2023-07-07 一种虚拟口型生成方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310832246.4A CN116863046B (zh) 2023-07-07 2023-07-07 一种虚拟口型生成方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN116863046A CN116863046A (zh) 2023-10-10
CN116863046B true CN116863046B (zh) 2024-03-19

Family

ID=88226494

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310832246.4A Active CN116863046B (zh) 2023-07-07 2023-07-07 一种虚拟口型生成方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN116863046B (zh)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002197488A (ja) * 2000-12-27 2002-07-12 Konami Computer Entertainment Yokyo Inc リップシンクデータ生成装置並びに方法、情報記憶媒体、及び情報記憶媒体の製造方法
CN110189394A (zh) * 2019-05-14 2019-08-30 北京字节跳动网络技术有限公司 口型生成方法、装置及电子设备
CN112734889A (zh) * 2021-02-19 2021-04-30 北京中科深智科技有限公司 一种2d角色的口型动画实时驱动方法和系统
CN113628309A (zh) * 2021-08-17 2021-11-09 杭州相芯科技有限公司 一种真人语音口型动画生成方法及系统、电子设备、存储介质
CN115690280A (zh) * 2022-12-28 2023-02-03 山东金东数字创意股份有限公司 一种三维形象发音口型模拟方法
CN116206621A (zh) * 2023-05-04 2023-06-02 北京百度网讯科技有限公司 口型驱动模型训练方法、装置、电子设备和存储介质
CN116228934A (zh) * 2023-01-30 2023-06-06 山东金东数字创意股份有限公司 一种三维形象流畅发音口型模拟方法
CN116246649A (zh) * 2022-12-26 2023-06-09 山东金东数字创意股份有限公司 一种三维形象发音过程头部动作模拟方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112131988B (zh) * 2020-09-14 2024-03-26 北京百度网讯科技有限公司 确定虚拟人物唇形的方法、装置、设备和计算机存储介质

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002197488A (ja) * 2000-12-27 2002-07-12 Konami Computer Entertainment Yokyo Inc リップシンクデータ生成装置並びに方法、情報記憶媒体、及び情報記憶媒体の製造方法
CN110189394A (zh) * 2019-05-14 2019-08-30 北京字节跳动网络技术有限公司 口型生成方法、装置及电子设备
CN112734889A (zh) * 2021-02-19 2021-04-30 北京中科深智科技有限公司 一种2d角色的口型动画实时驱动方法和系统
CN113628309A (zh) * 2021-08-17 2021-11-09 杭州相芯科技有限公司 一种真人语音口型动画生成方法及系统、电子设备、存储介质
CN116246649A (zh) * 2022-12-26 2023-06-09 山东金东数字创意股份有限公司 一种三维形象发音过程头部动作模拟方法
CN115690280A (zh) * 2022-12-28 2023-02-03 山东金东数字创意股份有限公司 一种三维形象发音口型模拟方法
CN116228934A (zh) * 2023-01-30 2023-06-06 山东金东数字创意股份有限公司 一种三维形象流畅发音口型模拟方法
CN116206621A (zh) * 2023-05-04 2023-06-02 北京百度网讯科技有限公司 口型驱动模型训练方法、装置、电子设备和存储介质

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Model-based face and lip animation for interactive virtual reality applications;Michel D.Bondy;《Proceedings of the Animation》;全文 *
一种基于动作学习的2D形状动画制作方法;李慧;张德政;钱文彬;陈红倩;陈谊;;系统仿真学报(09);全文 *
动画角色设计中Maya技术的应用探讨;容健玲;《科技与创新》;全文 *

Also Published As

Publication number Publication date
CN116863046A (zh) 2023-10-10

Similar Documents

Publication Publication Date Title
JP5344358B2 (ja) 演技から作り出される顔アニメーション
US7027054B1 (en) Do-it-yourself photo realistic talking head creation system and method
US6919892B1 (en) Photo realistic talking head creation system and method
Blanz et al. Reanimating faces in images and video
US7239321B2 (en) Static and dynamic 3-D human face reconstruction
Revéret et al. MOTHER: a new generation of talking heads providing a flexible articulatory control for video-realistic speech animation
Tsoli et al. Breathing life into shape: Capturing, modeling and animating 3D human breathing
Bhat et al. High fidelity facial animation capture and retargeting with contours
US8021160B2 (en) Learning assessment method and device using a virtual tutor
CN110211222B (zh) 一种ar沉浸式旅游导览方法、装置、存储介质及终端设备
US20070159486A1 (en) Techniques for creating facial animation using a face mesh
EP2811460A2 (en) Creating a synthetic model with organic veracity
Kalberer et al. Face animation based on observed 3d speech dynamics
EP2615583A1 (en) Method and arrangement for 3d model morphing
WO2022060230A1 (en) Systems and methods for building a pseudo-muscle topology of a live actor in computer animation
CN112381913B (zh) 基于3d建模与口腔解剖的动态发音教学模型构建方法
CN116863046B (zh) 一种虚拟口型生成方法、装置、设备及存储介质
Kennedy Acting and its double: A practice-led investigation of the nature of acting within performance capture
ARIPIN DEVELOPMENT OF INDONESIAN TALKING-HEAD ANIMATIONS ON HUMANOID AND NON-HUMANOID CHARACTERS USING THE RETARGETING PROCESS OF FACIAL MOTION CAPTURE DATA
US11410370B1 (en) Systems and methods for computer animation of an artificial character using facial poses from a live actor
US12033257B1 (en) Systems and methods configured to facilitate animation generation
US11875504B2 (en) Systems and methods for building a muscle-to-skin transformation in computer animation
US20230154094A1 (en) Systems and Methods for Computer Animation of an Artificial Character Using Facial Poses From a Live Actor
Bailly Audiovisual speech synthesis. from ground truth to models.
Aron et al. Registration of multimodal data for estimating the parameters of an articulatory model

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant