CN112509099B - 虚拟形象驱动方法、装置、设备和存储介质 - Google Patents

虚拟形象驱动方法、装置、设备和存储介质 Download PDF

Info

Publication number
CN112509099B
CN112509099B CN202011384844.2A CN202011384844A CN112509099B CN 112509099 B CN112509099 B CN 112509099B CN 202011384844 A CN202011384844 A CN 202011384844A CN 112509099 B CN112509099 B CN 112509099B
Authority
CN
China
Prior art keywords
data
bone
node
target
skin
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
CN202011384844.2A
Other languages
English (en)
Other versions
CN112509099A (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.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology 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 Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN202011384844.2A priority Critical patent/CN112509099B/zh
Publication of CN112509099A publication Critical patent/CN112509099A/zh
Priority to US17/516,769 priority patent/US20220058848A1/en
Application granted granted Critical
Publication of CN112509099B publication Critical patent/CN112509099B/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

Abstract

本申请公开了一种虚拟形象驱动方法、装置、设备和存储介质,涉及计算机视觉、增强现实和深度学习领域。具体实现方案为:确定将虚拟形象的蒙皮骨骼模型驱动至同拓扑的目标面片模型时,各骨骼节点的参考位姿数据;根据各所述骨骼节点的所述参考位姿数据,同步驱动所述蒙皮骨骼模型;更新各所述骨骼节点的参考位姿数据,用于后续驱动所述蒙皮骨骼模型。本申请提高了蒙皮骨骼模型驱动效率。

Description

虚拟形象驱动方法、装置、设备和存储介质
技术领域
本申请涉及人工智能技术领域,尤其涉及计算机视觉、增强现实和深度学习领域,具体涉及一种虚拟形象驱动方法、装置、设备和存储介质。
背景技术
随着人工智能技术的不断发展,计算机视觉技术应运而生。可以通过计算机视觉中的增强现实方式,对虚拟形象的蒙皮骨骼模型进行驱动,来模拟真实形象的表情或姿态等,增加了用户的使用乐趣。
然而,现有技术中,基于真实形象进行虚拟形象驱动时,存在处理时间较长、处理效率较低的问题,降低了用户的使用体验。
发明内容
本申请提供了一种效率更高虚拟形象驱动方法、装置、设备和存储介质。
根据本申请的一方面,提供了一种虚拟形象驱动方法,包括:
确定将虚拟形象的蒙皮骨骼模型驱动至同拓扑的目标面片模型时,各骨骼节点的参考位姿数据;
根据各所述骨骼节点的所述参考位姿数据,同步驱动所述蒙皮骨骼模型;
更新各所述骨骼节点的参考位姿数据,用于后续驱动所述蒙皮骨骼模型。
根据本申请的另一方面,还提供了一种虚拟形象驱动装置,包括:
参考位姿数据确定模块,用于确定将虚拟形象的蒙皮骨骼模型驱动至同拓扑的目标面片模型时,各骨骼节点的参考位姿数据;
蒙皮骨骼模型驱动模块,用于根据各所述骨骼节点的所述参考位姿数据,同步驱动所述蒙皮骨骼模型;
参考位姿数据更新模块,用于更新各所述骨骼节点的参考位姿数据,用于后续驱动所述蒙皮骨骼模型。
根据本申请的另一方面,还提供了一种电子设备,其中,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本申请任意实施例所提供的一种虚拟形象驱动方法。
根据本申请的另一方面,还提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使计算机执行本申请任意实施例所提供的一种虚拟形象驱动方法。
根据本申请的技术,提高了通过驱动虚拟形象来模拟真实形象的表情或姿态时的虚拟形象驱动效率。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本申请的限定。其中:
图1A是本申请实施例提供的一种虚拟形象驱动方法的流程图;
图1B是本申请实施例提供的一种虚拟形象的骨骼节点和蒙皮的结构示意图;
图1C是本申请实施例提供的一种骨骼节点与蒙皮关联关系示意图;
图1D是本申请实施例提供的一种骨骼节点对子节点的蒙皮顶点的影响情况示意图;
图2是本申请实施例提供的另一种虚拟形象驱动方法的流程图;
图3是本申请实施例提供的另一种虚拟形象驱动方法的流程图;
图4A是本申请实施例提供的另一种虚拟形象驱动方法的流程图;
图4B是本申请实施例提供的一种虚拟形象驱动过程对照图;
图5是本申请实施例提供的一种虚拟形象驱动装置的结构图;
图6是用来实现本申请实施例的一种虚拟形象驱动方法的电子设备的框图。
具体实施方式
以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
本申请提供的各虚拟形象驱动方法和虚拟形象驱动装置,适用于通过在相机类或视频类等应用程度中,通过虚拟形象来模拟真实形象的表情或姿态等的情况。本申请所提供的各虚拟形象驱动方法,可以采用虚拟形象驱动装置执行,该装置可以采用软件和/或硬件加以实现,并具体配置于电子设备中,该电子设备可以是安装有具备虚拟形象模拟功能的应用程序的移动终端或固定终端中。
参见图1A所示的一种虚拟形象驱动方法的流程图,该方法包括:
S101、确定将虚拟形象的蒙皮骨骼模型驱动至同拓扑的目标面片模型时,各骨骼节点的参考位姿数据。
其中,虚拟形象可以理解为基于诸如虚拟人物、虚拟动物或虚拟植物等所构建的形象,例如卡通形象等。
其中,蒙皮骨骼模型为技术人员在虚拟形象设计时所构建的模型结构,用于唯一表征对应的虚拟形象。该蒙皮骨骼模型可以包括骨骼(Bone)节点和蒙皮(Skinned Mesh)两部分。其中,各骨骼节点可以根据节点之间的关联关系构建骨骼节点树,便于进行骨骼节点的查找或使用。其中,蒙皮中包括至少一个蒙皮顶点,附着在骨骼上,每个蒙皮顶点可以被多个骨骼节点所控制。
参见图1B所示的一种虚拟形象的骨骼节点和蒙皮的结构示意图。其中,(a)图中的线条表示骨骼节点之间的层次结构,线条的交点即为骨骼节点。其中,(b)图表示(a)图中的各骨骼节点对应的蒙皮。由于同一蒙皮顶点可以被多个骨骼节点所控制,因此,还可以在蒙皮区域中通过灰度表征骨骼节点对所关联蒙皮的控制程度,也即蒙皮权重。其中,区域10通过灰度表征(a)图中的骨骼节点A对所关联蒙皮的蒙皮权重。其中,白色权重为1,黑色权重为0。
其中,面片模型为技术人员针对虚拟形象涉及的仅包括蒙皮部分的模型结构。本申请中同拓扑的面片模型可以理解为与蒙皮骨骼模型两个模型针对同一虚拟形象,且模型中的蒙皮顶点数量相同,各蒙皮顶点对应位置相同,蒙皮顶点之间的连接顺序相同,以及各蒙皮面片的连接顺序也相同。
其中,目标面片模型可以理解为虚拟形象完全模拟真实形象后所得到的理想虚拟形象的面片模型。
其中,目标面片模型可以通过对虚拟形象模仿真实形象的表情和/或姿态等信息后,得到的面片模型。该面片模型中各蒙皮顶点的位置信息等其他数据,可以基于现有技术中的任意一种三维动画处理方式,对真实形象的图像进行处理得到。示例性地,可以通过预先构建的多个混合形状(Blend Shape,BS)模型构建的线性模型,对真实形象对应图像进行处理得到。
其中,参考位姿数据用于表征将虚拟形象的蒙皮骨骼模型进行姿态变换后得到与同拓扑的目标面片模型相一致的理想虚拟形象时,蒙皮骨骼模型中的各骨骼节点对应的位姿数据。为了减少姿态变换过程的复杂程度,通常姿态变换采用刚性变换,例如可以包括旋转、平移和缩放等变换中的至少一种。
在一个可选实施例中,确定将虚拟形象的蒙皮骨骼模型驱动至同拓扑的目标面片模型时,各骨骼节点的参考位姿数据,可以是:根据蒙皮骨骼模型中各骨骼节点所关联蒙皮顶点的当前位置信息,以及目标面片模型中各骨骼节点所关联蒙皮顶点的目标位置信息,确定各骨骼节点的参考位姿数据,完善了参考位姿数据的确定机制,为后续进行蒙皮骨骼模型的驱动提供了数据支撑。
需要说明的是,参考位姿数据的确定方式还可以采用现有技术中的其中一个确定方式,或至少两种确定方式的组合加以实现,本申请对参考位姿数据的具体确定方式不做任何限定。
在一个可选实施例中,骨骼节点所关联蒙皮顶点可以是该骨骼节点所控制的各蒙皮顶点。
由于骨骼节点对该骨骼节点的子节点的蒙皮顶点的位置信息同样存在影响,也即骨骼节点对蒙皮顶点的影响存在跨节点传递的情况,因此,为了避免由于忽略节点间相互影响,导致最终确定的参考位姿数据确定结果不准确度的情况,进而影响蒙皮骨骼模型最终驱动结果的准确度,在一个可选实施例中,在进行参考位姿数据确定时,所使用的骨骼节点所关联的蒙皮顶点,可以设置为包括骨骼节点所控制蒙皮中的蒙皮顶点,以及骨骼节点在骨骼节点树中的至少一个子节点所控制蒙皮中的蒙皮顶点。其中,骨骼节点的子节点可以包括该骨骼节点的一级子节点、二级子节点和更高级子节点等中的至少一种。
参见图1C示意性给出了根节点(NodeRoot)、节点E(NodeE)、节点F(NodeF)、节点G(NodeG)和节点H(NodeH)之间依次具备父子关系,且示意性给出了不同节点所关联蒙皮(对应灰色区域)的情况。需要说明的是,在蒙皮骨骼模型中,部分骨骼节点可以不直接对蒙皮进行控制,也即其直接控制的蒙皮顶点数量为0,例如图示节点F。
图1D示意性给出了当对节点G进行调整时,节点G所关联蒙皮区域20中的各蒙皮顶点21的位置信息会发生变化;相应的,节点G的一级子节点(节点H)所关联的蒙皮区域30也会相应发生变化。
可以理解的是,为了减少执行虚拟形象驱动方法的电子设备在进行虚拟形象驱动方法时的数据运算量,在一个可选实施例中,还可以将各骨骼节点的参考位姿数据的确定过程,迁移至与电子设备所关联的其他计算设备中。相应的,当在进行虚拟形象驱动过程中,需要进行参考位姿数据确定时,只需从其他计算设备中进行参考位姿数据的获取即可。
S102、根据各骨骼节点的参考位姿数据,同步驱动蒙皮骨骼模型。
示例性地,可以针对每个骨骼节点,根据前述确定的参考位姿数据,确定此次对蒙皮骨骼模型的骨骼驱动系数;根据每个骨骼节点对应的骨骼驱动系数,同步驱动蒙皮骨骼模型,从而实现对虚拟形象中的蒙皮顶点的位置信息的变更,以使变更后的虚拟形象,逐渐逼近目标面片模型中对应蒙皮顶点的位置信息。
需要说明的是,在进行蒙皮骨骼模型驱动时,由于至少两个骨骼节点之间相互关联,也即至少两个骨骼节点可以直接或间接对同一蒙皮顶点的位置信息存在影响,因此,在对蒙皮骨骼模型进行驱动时,通过所有骨骼节点的参考位姿数据对蒙皮骨骼模型进行同步驱动,能够在驱动过程中同步考量各骨骼节点之间的协同作用或制约作用,减少了对骨骼节点反复调整的情况的发生,进而提高了驱动效率。
S103、更新各骨骼节点的参考位姿数据,用于后续驱动蒙皮骨骼模型。
在对蒙皮骨骼模型驱动过程中,通常情况下无法在一次驱动情况下即可实现虚拟形象对真实形象的模拟,也即驱动后的蒙皮骨骼模型无法很好的匹配理想虚拟形象(虚拟形象所模拟的真实形象)的目标面片模型,因此需要通过多次迭代驱动的方式,使驱动后的蒙皮骨骼模型对应的当前虚拟形象逐渐逼近理想虚拟形象。
由于在对蒙皮骨骼模型驱动之后,驱动后的蒙皮骨骼模型的各骨骼节点的所关联蒙皮顶点的位置信息将会发生变化,因此,后续对蒙皮骨骼模型进行驱动时的参考位姿数据也将发生变换。为了实现对蒙皮骨骼模型的连续驱动,以实现理想虚拟形象的呈现,还需要对各骨骼节点对应的参考位姿数据进行重新确定,也即更新各骨骼节点的参考位姿数据,进而根据更新后的参考位姿数据,进行后续蒙皮骨骼模型的驱动。
在一个可选实施例中,更新各骨骼节点的参考位姿数据,可以是:确定驱动后的蒙皮骨骼模型驱动至同拓扑的目标面片模型时,各骨骼节点的参考位姿信息。
示例性地,可以根据驱动后的蒙皮骨骼模型中各骨骼节点关联的蒙皮顶点的位置信息,以及同拓扑的目标面片模型中对应蒙皮顶点的位置信息,进行该骨骼节点的参考位姿数据的重新确定,以更新各骨骼节点的参考位姿数据,为后续对蒙皮骨骼模型的驱动提供数据支撑。
在对蒙皮骨骼模型进行多次迭代驱动的过程中,通常会设置迭代终止条件,并将最末次驱动后的蒙皮骨骼模型对应的当前虚拟形象作为模拟真实形象后的最终形象,向用户进行展示。
在一个可选实施例中,迭代终止条件可以是迭代次数达到设定次数阈值,其中,设定次数阈值可以由技术人员根据需要或经验值进行设置。
在另一可选实施例中,迭代终止条件还可以根据驱动后的蒙皮骨骼模型对应的当前虚拟形象与目标面片模型对应的理想虚拟形象之间的误差进行确定。
示例性地,根据驱动后的蒙皮骨骼模型中各骨骼节点所关联蒙皮顶点的当前位置信息,以及各蒙皮顶点在目标面片模型中的目标位置信息,确定位置误差;根据位置误差,判定确定是否满足迭代终止条件;若是,则终止对蒙皮骨骼模型的驱动操作;否则,继续执行参考位姿变换数据更新操作,进而根据更新后的参考位姿变换数据,驱动蒙皮骨骼模型。其中,位置误差可以是位置信息的数据差值、均方根误差、或者其他能够表征蒙皮骨骼模型对应的当前虚拟形象与理想虚拟形象之间的偏差的误差数据,本申请对此不做任何限定。
需要说明的是,通过位置误差对当前虚拟形象和理想虚拟形象之间的偏差进行表征,从而在虚拟形象驱动过程中,能够兼顾蒙皮骨骼模型对应当前虚拟形象与理想虚拟形象的匹配度,进而保证了虚拟形象进行真实形象模仿时模仿结果的准确度,增强了用户的使用体验。
可选的,若位置误差小于设定位置误差阈值,则确定满足迭代终止条件;若位置误差不小于设定位置无法阈值,则确定不满足迭代终止条件。其中,设定位置误差阈值可以由技术人员根据需要或经验值进行设定或调整。
若位置误差小于设定位置误差阈值,则认定位置误差收敛,也即当前虚拟形象与理想虚拟形象逼近,即可终止对蒙皮骨骼模型的迭代驱动;若位置误差不小于设定位置误差阈值,则认定位置误差无收敛,也即当前虚拟形象与理性虚拟形象相差较远,因此需要继续对蒙皮骨骼模型进行迭代驱动。
可以理解的是,通过位置误差进行迭代终止条件的确定,能够避免由于位置误差已经收敛,但仍未达到迭代次数阈值时,继续进行不必要的迭代计算导致的计算资源的浪费,在保证驱动结果与理想虚拟形象匹配度的情况下,减少了计算资源的无端消耗。
可选的,若位置误差的收敛趋势由收敛变更为发散,则确定满足迭代终止条件;否则,确定不满足迭代终止条件。
若位置误差不断减小,但仍未小于设定位置误差阈值,此时认为位置误差的收敛趋势为收敛;若位置误差在收敛过程中,数值发生反向变化,也即位置误差数值增大,此时,认为位置误差的收敛趋势由收敛变更为发散。在此情况下,如果继续对蒙皮骨骼模型进行驱动,将会增大当前虚拟形象与理想虚拟形象之间的差距,从而降低了驱动结果与理想虚拟形象之间的匹配度,还会带来计算量的增加。因此,通过位置误差收敛趋势变更情况对上述情况进行及终止,能够达到兼顾虚拟形象驱动结果的准确度和确定过程的数据运算量的效果。
本申请实施例通过确定将虚拟形象的蒙皮骨骼模型驱动至同拓扑的目标面片模型时,各骨骼节点的参考位姿数据;根据各骨骼节点的参考位姿数据,同步驱动蒙皮骨骼模型;根据各骨骼节点的参考位姿数据,用于后续驱动蒙皮骨骼模型。上述技术方案通过各骨骼节点的参考位姿数据对蒙皮骨骼模型的同步驱动,能够同步考量至少两个骨骼节点之间的协同或制约作用,减少了对蒙皮骨骼模型反复调整的情况的发生。同时,通过各骨骼节点的参考位姿变换数据对蒙皮骨骼模型的同步驱动,代替现有技术中针对各骨骼节点分别迭代驱动的方式,减少了虚拟形象驱动过程中的数据运算量,进而提高了虚拟形象模拟真实形象时的驱动效率。
针对数据运算量的减少,以对包括m个骨骼节点和n个蒙皮顶点的蒙皮骨骼模型的迭代驱动过程,实现通过虚拟形象对真实形象进行模拟的情况为例,进行详细说明。若采用针对各骨骼节点分别迭代驱动虚拟形象为例,针对所有骨骼节点完成一次完整的迭代,其数据运算量为m*n;若迭代次数为p,则整个虚拟形象驱动过程的数据运算量即为m*n*p。而采用本申请的方式,每次迭代过程需要所有骨骼节点同步驱动蒙皮骨骼模型,则完成一次完整的迭代,其数据运算量为m+n;若迭代次数为q,则整个虚拟形象驱动过程的数据运算量即为(m+n)*q。又由于蒙皮骨骼模型中蒙皮顶点的数量n远远大于迭代次数p和q,因此,数据运算量m*n*p也远远大于数据运算量(m+n)*q。另外,本申请通过同步驱动的方式能够同步考量不同骨骼节点之间的相互作用,从而避免了对蒙皮骨骼模型反复调整的方式发生,因此迭代次数q通常比迭代次数p要小。因此,本申请中的数据运算量(m+n)*q远小于现有技术的数据运算量m*n*p。由于数据运算量的减少,同时也提高了虚拟形象模拟真实形象时的驱动效率。
由于每次迭代过程中,通过对蒙皮骨骼模型中各骨骼节点进行同步驱动,通常会出现过拟合情况的发生,最终导致虚拟形象驱动结果的准确度较低。为了兼顾虚拟形象驱动过程的计算效率和计算结果准确度,在一个可选实施例中,在单次迭代过程中可以引入部分程度驱动的思想,从而降低了单次迭代过程过拟合情况的发生,进而避免了整体驱动过程过拟合情况的出现,提高了最终驱动结果的准确度。
进一步参见图2所示的一种虚拟形象驱动方法,包括:
S201、确定将虚拟形象的蒙皮骨骼模型驱动至同拓扑的目标面片模型时,各骨骼节点的参考位姿数据。
S202、根据各骨骼节点的参考位姿数据和各骨骼节点的变换程度调节参数,分别确定各骨骼节点的目标位姿数据;其中,变换程度调节参数为小于1的正数。
其中,变换程度调节参数,用于表征单次迭代过程对蒙皮骨骼模型的驱动程度。其中,目标位姿数据用于表征本地迭代过程以期呈现的当前虚拟形象中,各骨骼节点在蒙皮骨骼模型中所对应的位姿数据。其中,位姿数据可以包括旋转数据、平移数据和缩放数据等刚性变换数据中的至少一种。
其中,变换程度调节参数可以由技术人员根据需要或经验值进行设定或调整。本申请中将变换程度调节参数设置为小于1的正数,使得后续基于目标位姿数据对蒙皮骨骼模型进行部分程度的驱动,可以避免因骨骼节点之间相互协同促进导致过拟合情况的发生。需要说明的是,不同骨骼节点对应的变换程度调节参数可以相同或不同;相同骨骼节点在不同迭代过程中,对应的变换程度调节参数可以相同或不同。
变换程度调节参数可以预先存储在电子设备本地、与电子设备关联的其他存储设备或云端中,并在需要进行当前位姿变换数据确定时,进行变换程度调节参数的获取和使用。
需要说明的是,由于在骨骼节点树中,父节点对子节点所控制的蒙皮顶点的位置信息存在影响,因此,在骨骼节点树中较高层级的骨骼节点对整个蒙皮骨骼模型中蒙皮顶点的影响相对较大,而较低层级的骨骼节点对蒙皮骨骼模型中的蒙皮顶点的影响相对较小。也即,根据较高层级的骨骼节点的参考位姿数据驱动蒙皮骨骼模型时,产生过拟合的可能性,相较于较低层级的骨骼节点要高。所以,在一个可选实施例中,可以根据各骨骼节点在骨骼节点树中的层数,分别确定各骨骼节点的变换程度调节参数。通常情况下,较高层级的骨骼节点对应的变换程度调节参数较小;较低层级的骨骼节点对应的变换程度调节参数较大。
可以理解的是,由于不同层级的骨骼节点对蒙皮骨骼模型中蒙皮顶点的影响力不同,因此通过骨骼节点在骨骼节点树中的层数,区别设置变换程度调节参数,能够对影响较大的骨骼节点进行较强的抑制,避免了过拟合情况的发生,为最终蒙皮骨骼模型驱动结果的准确度的提高奠定了基础;同时,对影响较小的骨骼节点进行相对较弱的抑制,避免了过度抑制带来迭代次数的增加。
在一个可选实施例中,根据各骨骼节点在骨骼节点树中的层数,分别确定各骨骼节点的变换程度调节参数,可以是:采用预先构建的调节参数确定函数,根据骨骼节点在骨骼节点树中的层数,确定该骨骼节点的变换程度调节参数。其中,调节参数确定函数为骨骼节点的层数的减函数,也即随着骨骼节点的层数的增加,变换程度调节参数的数值减少。其中,调节参数确定函数的具体内容,可以由技术人员根据需要或经验值进行确定,或通过大量试验反复确定。例如,可以将同一虚拟形象的蒙皮骨骼模型中不同层级的骨骼节点的变换程度参数进行拟合,并根据拟合结果,确定调节参数确定函数。当然,还可以通过其他方式进行调节参数确定函数的确定,本申请对此不做任何限定。
为了减少虚拟形象驱动过程的数据运算量,在另一可选实施例中,还可以预先设置骨骼节点树中不同层数的骨骼节点与变换程度调节参数之间的调节参数对应关系,后续通过各骨骼节点在骨骼节点树中的层数,查找确定对应骨骼节点的变换程度调节参数。
可以理解的是,通过调节参数对应关系的预先设定,在进行虚拟形象驱动时,仅通过骨骼节点在骨骼节点树中的层数,进行该骨骼节点的变换程度调节参数的查找确定即可,无需进行变换程度调节参数的计算,从而降低了虚拟形象驱动过程的数据运算量。
可选的,可以通过变换程度调节参数通过第一设定变换,得到位姿调节参数;根据位姿调节参数,对参考位姿数据进行加权处理,得到目标位姿数据。或者可选的,还可以通过对参考位姿数据通过第二设定变换,得到待处理位姿数据;根据变换程度调节参数对待处理位置数据进行加权处理,得到目标位姿数据。其中,第一设定变换和第二设定变换可以分别由技术人员根据需要或经验,选取适应的变换方式加以实现,本申请对具体的变换方式不做任何限定。当然,还可以采用现有技术中的其他方式对参考位姿数据进行调整,仅需保证根据得到的目标位姿数据进行蒙皮骨骼模型驱动时,能够达到对蒙皮骨骼模型进行部分程度且程度可控的姿态变换即可,本申请实施例对此不做任何限定。
S203、根据各骨骼节点的目标位姿数据,同步驱动蒙皮骨骼模型。
可以理解的是,由于目标位姿数据基于小于1的变换程度调节参数确定,因此,目标位姿数据对蒙皮骨骼模型的变换趋势,将会小于参考位姿数据对蒙皮骨骼模型的变换趋势。因此,根据各骨骼节点的目标位姿数据,同步驱动蒙皮骨骼模型,将会减少过拟合情况的发生。
S204、更新各骨骼节点的参考位姿数据,用于后续驱动蒙皮骨骼模型。
由于驱动后的蒙皮骨骼模型中各骨骼节点所关联蒙皮顶点的位置信息已经发生变化,因此蒙皮骨骼模型驱动至同拓扑的目标面片模型时,各骨骼节点的参考位姿数据也将发生变化,为了便于进行后续蒙皮骨骼模型的迭代驱动,还需要对骨骼节点的参考位姿数据进行重新确定。
在一个可选实施例中,可以根据驱动后的蒙皮骨骼模型中各骨骼节点所关联蒙皮顶点的当前位置信息,以及目标面片模型中各骨骼节点所关联蒙皮顶点的目标位置信息,重新确定各骨骼节点的参考位姿数据,以实现对参考位姿数据的更新操作。
可以理解的是,参考位姿数据的更新方式还可以采用现有技术中的其中一个更新方式,或至少两种更新方式的组合加以实现,本申请对此不做任何限定。
可选的,骨骼节点所关联蒙皮顶点可以包括该骨骼节点所控制的各蒙皮顶点。或者可选的,骨骼节点所关联蒙皮顶点还可以包括该骨骼节点的至少一个子节点所控制的各蒙皮顶点。其中,骨骼节点的子节点可以包括该骨骼节点的一级子节点、二级子节点和更高级子节点等中的至少一种。
在更新各骨骼节点的参考位姿数据之后,还可以根据各骨骼节点的位姿数据和各骨骼节点的变换程度调节参数,分别确定各骨骼节点的目标位姿数据;其中,变换程度调节参数为小于1的正数;根据各骨骼节点的目标位姿数据,进行当前次迭代过程的蒙皮骨骼模型的驱动;周而复始,直至达到迭代终止条件,并将最末次迭代得到的蒙皮骨骼模型对应的当前虚拟形象作为最终形象向用户进行呈现。此时,该当前虚拟形象与理想虚拟形象匹配度较好。
本申请通过将同步驱动蒙皮骨骼模型的操作,细化为根据各骨骼节点的参考位姿数据和各骨骼节点的变换程度调节参数,分别确定目标位姿数据;其中,变换程度调节参数为小于1的正数;根据各骨骼节点的目标位姿数据,同步驱动蒙皮骨骼模型,避免了单次驱动过程中过拟合情况的发生,为最终蒙皮骨骼模型驱动结果的准确度的提高奠定了基础,同时减少了由于过拟合情况对部分骨骼节点朝不同变换趋势反复调节的情况,从而降低了虚拟形象驱动过程的数据运算量,提高了虚拟形象驱动效率。
由于参考位姿数据无法直接进行插值计算,因此,无法直接根据变换程度调节参数对参考位姿变换数据进行处理,也即通过某一骨骼节点的变换程度调节参数直接对该骨骼节点的位姿变换矩阵进行加权,所得到位姿数据可能达不到对蒙皮骨骼模型进行可控部分程度变换的效果。为了避免上述情况的发生,给虚拟形象驱动过程计算量和驱动结果准确度带来的影响,在一个可选实施例中,可以将“根据各骨骼节点的参考位姿数据和各骨骼节点的变换程度调节参数,分别确定各骨骼节点的目标位姿数据”操作,细化为“分别确定蒙皮骨骼模型中各骨骼节点变换至参考位姿数据时的参考位姿变换数据;根据各骨骼节点的参考位姿变换数据和变换程度调节参数,分别确定各骨骼节点的目标位姿变换数据;根据各骨骼节点的当前位姿变换数据和目标位姿变换数据,分别确定各骨骼节点的目标位姿数据”,以完善目标位姿数据的确定机制。
参见图3所示的一种虚拟形象驱动方法,包括:
S301、确定将虚拟形象的蒙皮骨骼模型驱动至同拓扑的目标面片模型时,各骨骼节点的参考位姿数据。
其中,参考位姿数据可以理解为与目标面片模型呈现相同虚拟形象时的蒙皮骨骼模型中,各骨骼节点所对应的位姿数据。由于位姿数据可以包括旋转数据、平移数据和缩放数据等中的至少一个刚性变换数据,因此本申请中所涉及的参考位姿数据可以包括参考旋转数据、参考平移数据和参考缩放数据等中的至少一种。
S302、分别确定蒙皮骨骼模型中各骨骼节点变换至参考位姿数据时的参考位姿变换数据。
示例性地,根据蒙皮骨骼模型中各骨骼节点的当前位姿数据和参考位姿数据,分别确定各骨骼节点的参考位姿变换数据。
其中,当前位姿数据可以理解为蒙皮骨骼模型在前次驱动之后,在本次驱动之前,各骨骼节点所对应的位姿数据。由于位姿数据可以包括旋转数据、平移数据和缩放数据等中的至少一个刚性变换数据,因此本申请中所涉及的当前位姿数据可以包括当前旋转数据、当前平移数据和当前缩放数据等中的至少一种。
示例性地,若参考位姿数据包括参考平移数据,则当前位姿数据包括当前平移数据,参考位姿变换数据包括参考平移变换数据。相应的,根据蒙皮骨骼模型中各骨骼节点的当前位姿数据和参考位姿数据,分别确定各骨骼节点的参考位姿变换数据,可以是:根据参考平移数据与当前平移数据的数据差值,确定参考平移变换数据。
示例性地,若参考位姿数据包括参考缩放数据,则当前位姿数据包括当前缩放数据,参考位姿变换数据包括参考缩放数据。相应的,根据蒙皮骨骼模型中各骨骼节点的当前位姿数据和参考位姿数据,分别确定各骨骼节点的参考位姿变换数据,可以是:根据参考缩放数据与当前缩放数据的数据差值,确定参考缩放变换数据。
示例性地,若参考位姿数据包括参考旋转数据,则当前位姿数据包括当前旋转数据,参考位姿变换数据包括参考四元数变换数据。需要说明的是,由于旋转数据无法实现平滑插值,因此,需要分别旋转数据转化为具备线性关系的四元数数据进行处理。相应的,根据蒙皮骨骼模型中各骨骼节点的当前位姿数据和参考位姿数据,分别确定各骨骼节点的参考位姿变换数据,可以是:针对每一个骨骼节点,将该骨骼节点的当前旋转数据转换为当前四元数数据,以及,将该骨骼节点的参考旋转数据,转换为参考四元数数据;根据参考四元数数据与当前四元数数据之间的差值,确定参考四元数变换数据。其中,旋转数据与四元数之间的转换关系可以通过现有技术的方式加以实现,本申请对此不做任何限定。
S303、根据各骨骼节点的参考位姿变换数据和变换程度调节参数,分别确定各骨骼节点的目标位姿变换数据;其中,变换程度调节参数为小于1的正数。
示例性地,若参考位姿变换数据包括参考平移变换数据,则目标位姿变换数据包括目标平移变换数据;相应的,根据各骨骼节点的参考位姿变换数据和变换程度调节参数,分别确定各骨骼节点的目标位姿变换数据,可以是:针对每一骨骼节点,采用该骨骼节点的变换程度调节参数对参考平移变换数据进行加权,得到该骨骼节点的目标平移变换数据。
示例性地,若参考位姿变换数据包括参考缩放变换数据,则目标位姿变换数据包括目标缩放变换数据;相应的,根据各骨骼节点的参考位姿变换数据和变换程度调节参数,分别确定各骨骼节点的目标位姿变换数据,可以是:针对每一骨骼节点,采用该骨骼节点的变换程度调节参数对参考缩放变换数据进行加权,得到该骨骼节点的目标缩放变换数据。
示例性地,若参考位姿变换数据包括参考四元数变换数据,则目标位姿变换数据包括目标四元数变换数据;相应的,根据各骨骼节点的参考位姿变换数据和变换程度调节参数,分别确定各骨骼节点的目标位姿变换数据,可以是:针对每一骨骼节点,采用该骨骼节点的变换程度调节参数对参考四元数变换数据进行加权,得到该骨骼节点的目标四元数变换数据。
S304、根据各骨骼节点的当前位姿数据和目标位姿变换数据,分别确定各骨骼节点的目标位姿数据。
示例性地,若目标位姿变换数据包括目标平移变换数据,则目标位姿数据包括目标平移数据;相应的,根据各骨骼节点的当前位姿数据和目标位姿变换数据,分别确定各骨骼节点的目标位姿数据,可以是:针对每一骨骼节点,根据该骨骼节点的当前平移数据和目标平移变换数据的和值,确定该骨骼节点的目标平移数据。
示例性地,若目标位姿变换数据包括目标缩放变换数据,则目标位姿数据包括目标缩放数据;相应的,根据各骨骼节点的当前位姿数据和目标位姿变换数据,分别确定各骨骼节点的目标位姿数据,可以是:针对每一骨骼节点,根据该骨骼节点的当前缩放数据和目标缩放变换数据的和值,确定该骨骼节点的目标缩放数据。
示例性地,若目标位姿变换数据包括目标四元数变换数据,则目标位姿数据包括目标旋转数据;相应的,根据各骨骼节点的当前位姿数据和目标位姿变换数据,分别确定各骨骼节点的目标位姿数据,可以是:针对每一骨骼节点,将该骨骼节点的当前旋转数据转换为当前四元数数据;根据当前四元数数据和目标四元数变换数据的和值,确定目标四元数数据;将目标四元数数据,转换为目标旋转数据。
需要说明的是,本申请通过将旋转数据转换为可以插值运算的四元数数据,实现对蒙皮骨骼模型旋转过程的可控部分程度变换。当然,本申请实施例还可以采用现有技术的方式将无法直接进行插值运算的参考位姿数据,转换为其他形式的数据,本申请实施例对此不做任何限定。
S305、根据各骨骼节点的目标位姿数据,同步驱动蒙皮骨骼模型。
将蒙皮骨骼模型中的各个骨骼节点的目标平移数据、目标缩放数据和目标旋转数据中的至少一种,同步驱动蒙皮骨骼模型。
需要说明的是,对蒙皮骨骼模型的同步驱动可以分级目标位姿数据的类型,分次对蒙皮骨骼模型进行驱动。例如,可以根据全部骨骼节点的目标缩放数据对蒙皮骨骼模型进行缩放处理;根据全部骨骼节点的目标旋转数据对缩放后的蒙皮骨骼模型进行旋转处理;根据全部骨骼节点的目标平移数据,对旋转后的蒙皮骨骼模型进行平移处理。
S306、更新各骨骼节点的参考位姿数据,用于后续驱动蒙皮骨骼模型。
本申请实施例通过将目标位姿数据确定过程,细化为分别确定蒙皮骨骼模型中各骨骼节点变换至参考位姿数据时的参考位姿变换数据;根据各骨骼节点的参考位姿变换数据和变换程度调节参数,分别确定各骨骼节点的目标位姿变换数据;根据各骨骼节点的当前位姿数据和目标位姿变换数据,分别确定各骨骼节点的目标位姿数据。通过引入参考位姿变换数据实现对参考位姿数据的部分变换趋势的确定,为后续进行目标位姿数据的确定提供了数据支撑,同时提高了所确定目标位姿数据的准确度,进而提高了虚拟形象驱动结果的准确度和可控性。
在上述各技术方案的基础上,本申请还提供了一种进行虚拟形象驱动方法的优选实施例。
进一步参见图4A,该虚拟形象驱动方法包括:
S401、获取待处理图像转换为虚拟形象时的目标面片模型的各蒙皮顶点的目标位置信息。
其中,待处理图像即为用户上传的真实图像。
示例性地,目标面片模型中各蒙皮顶点的目标位置信息,可以通过预先构建的多个BS模型所构建的线性模型,对待处理图像进行处理得到。
S402、针对与目标面片模型同拓扑的蒙皮骨骼模型中的每个骨骼节点,获取该骨骼节点所关联蒙皮顶点的当前位置信息。
其中,骨骼节点所关联蒙皮顶点包括:骨骼节点自身所控制蒙皮顶点以及该骨骼节点的各子节点所控制蒙皮顶点。
S403、获取目标面皮模型中对应蒙皮顶点的目标位置信息。
S404、根据骨骼节点关联的当前位置信息和目标位置信息,确定将蒙皮骨骼模型驱动得到目标面片模型是的参考位姿矩阵。
S405、根据骨骼节点的参考位姿矩阵,以及在蒙皮骨骼模型中对应的当前位姿矩阵,确定该骨骼节点的参考位姿变换矩阵。
S406、根据该骨骼节点的参考位姿变换矩阵和变换程度调节参数,确定该骨骼节点的目标位姿变换矩阵。其中,变换程度调节参数为小于1的正数。
示例性地,骨骼节点的变换程度调节参数可以根据骨骼节点在虚拟形象的骨骼节点树中的层数确定。例如,根据预先构建的调节参数对应关系,查找与该骨骼节点层数对应的变换程度调节参数。其中,调节参数对应关系可以由技术人员根据需要或经验进行设定或调整。
S407、根据骨骼节点的目标位姿变换矩阵,以及该骨骼节点在蒙皮骨骼模型中对应的当前位姿矩阵,确定目标位姿矩阵。
需要说明的是,在针对各骨骼节点确定目标位姿矩阵时,对各骨骼节点的计算顺序不做任何限定。
示例性地,位姿矩阵包括平移矩阵、缩放矩阵和旋转矩阵。
若位姿矩阵包括平移矩阵,则可以针对每一骨骼节点,根据骨骼节点的参考平移矩阵,以及蒙皮骨骼模型中对应的当前平移矩阵,确定该骨骼节点的参考平移变换矩阵;将参考平移变换矩阵和变换程度调节参数的乘积,作为目标平移变换矩阵;将目标平移变换矩阵以及该骨骼节点在蒙皮骨骼模型中对应的当前平移矩阵的和值,作为目标平移矩阵。
若位姿矩阵包括缩放矩阵,则可以针对每一骨骼节点,根据骨骼节点的参考缩放矩阵,以及蒙皮骨骼模型中对应的当前缩放矩阵,确定该骨骼节点的参考缩放变换矩阵;将参考缩放变换矩阵和变换程度调节参数的乘积,作为目标缩放变换矩阵;将目标缩放变换矩阵以及该骨骼节点在蒙皮骨骼模型中对应的当前缩放矩阵的和值,作为目标平移矩阵。
若位姿矩阵包括旋转矩阵,则可以针对每一骨骼节点,将该骨骼节点的参考旋转矩阵转换为参考四元数矩阵,以及将该骨骼节点在蒙皮骨骼模型中对应的当前旋转矩阵,转换为当前四元数矩阵;将参考四元数矩阵和当前四元数矩阵之间的差值,作为参考四元数变换矩阵;将参考四元数变换矩阵与变换程度调节参数的乘积,作为目标四元数变换矩阵;将目标四元数变换矩阵和当前四元数矩阵的和值,作为目标四元数矩阵;将目标四元数矩阵转换为目标旋转矩阵。
S408、根据全部骨骼节点的目标位姿矩阵,同步驱动蒙皮骨骼模型,以更新蒙皮骨骼模型。
依次根据全部骨骼节点的目标缩放矩阵,同步驱动蒙皮骨骼模型;根据全部骨骼节点的目标旋转矩阵,同步驱动缩放后的蒙皮骨骼模型;根据全部骨骼节点的目标平移矩阵,同步驱动旋转后的蒙皮骨骼模型。
S409、确定蒙皮骨骼模型中各蒙皮顶点与目标面片模型中相应蒙皮顶点的坐标均方误差。
S410、判断坐标均方误差是否收敛;若否,则执行S411;否则,执行S412。
示例性地,若坐标均方误差小于设定误差阈值,则判定坐标均方误差收敛;若坐标均方误差不小于设定误差阈值,则判定坐标均方误差不收敛。其中,设定误差阈值可以由技术人员根据需要或经验值进行确定或调整。
S411、判断是否达到设定迭代次数阈值;若否,则返回执行S402;否则执行S412。
其中,设定迭代次数阈值可以由技术人员根据需要或经验值进行确定或调整。
S412、展示更新后的蒙皮骨骼模型对应的虚拟形象。
本申请通过将单词迭代过程中通过全部骨骼节点同步驱动蒙皮骨骼模型的方式,避免了单一节点分别计算并驱动蒙皮骨骼模型带来的过拟合,导致其他骨骼节点运算和后续迭代运算不正确的问题,同时提升了算法的计算速度(不到秒级)。同时,通过引入变换程度调节参数,实现虚拟形象驱动过程中向目标面片模型的渐进逼近,驱动效果明显提升。
参见图4B所示的虚拟形象驱动过程对照图,其中,图(a)为目标面片模型的效果图;图(b)-(f)依次为迭代1、3、5、7和10次时,与目标面片模型同拓扑的蒙皮骨骼模型对应的虚拟形象示意图。通过对比可知,随着迭代次数的逐渐增加,蒙皮骨骼模型对应的虚拟形象(如眼角、比较和嘴角等部位)逐渐逼近目标面片模型对应的理想虚拟形象。
作为对上述各虚拟形象驱动方法的实现,本申请还提供了一种实施虚拟形象驱动方法的虚拟装置的一个实施例。进一步参见图5所示的一种虚拟形象驱动装置500,包括:参考位姿数据确定模块501、蒙皮骨骼模型驱动模块502和参考位姿数据更新模块503。其中,
参考位姿数据确定模块501,用于确定将虚拟形象的蒙皮骨骼模型驱动至同拓扑的目标面片模型时,各骨骼节点的参考位姿数据;
蒙皮骨骼模型驱动模块502,用于根据各所述骨骼节点的所述参考位姿数据,同步驱动所述蒙皮骨骼模型;
参考位姿数据更新模块503,用于更新各所述骨骼节点的参考位姿数据,用于后续驱动所述蒙皮骨骼模型。
本申请实施例通过参考位姿数据确定模块确定将虚拟形象的蒙皮骨骼模型驱动至同拓扑的目标面片模型时,各骨骼节点的参考位姿数据;通过蒙皮骨骼模型驱动模块根据各骨骼节点的参考位姿数据,同步驱动蒙皮骨骼模型;通过参考位姿数据更新模块根据各骨骼节点的参考位姿数据,用于后续驱动蒙皮骨骼模型。上述技术方案通过各骨骼节点的参考位姿数据对蒙皮骨骼模型的同步驱动,能够同步考量至少两个骨骼节点之间的协同或制约作用,减少了对蒙皮骨骼模型反复调整的情况的发生。同时,通过各骨骼节点的参考位姿变换数据对蒙皮骨骼模型的同步驱动,代替现有技术中针对各骨骼节点分别迭代驱动的方式,减少了虚拟形象驱动过程中的数据运算量,进而提高了虚拟形象模拟真实形象时的驱动效率。
在一可选实施例中,所述蒙皮骨骼模型驱动模块502,包括:
目标位姿数据确定单元,用于根据各所述骨骼节点的所述参考位姿数据和各所述骨骼节点的变换程度调节参数,分别确定各所述骨骼节点的目标位姿数据;其中,所述变换程度调节参数为小于1的正数;
蒙皮骨骼模型驱动单元,用于根据各所述骨骼节点的所述目标位姿数据,同步驱动所述蒙皮骨骼模型。
在一可选实施例中,所述装置还包括:
变换程度调节参数确定模块,用于根据各所述骨骼节点在骨骼节点树中的层数,分别确定各所述骨骼节点的所述变换程度调节参数。
在一可选实施例中,所述变换程度调节参数确定模块,包括:
变换程度调节参数确定单元,用于根据调节参数对应关系,通过各所述骨骼节点在骨骼节点树中的层数,分别确定各所述骨骼节点的所述变换程度调节参数。
在一可选实施例中,所述目标位姿数据确定单元,包括:
参考位姿变换数据确定子单元,用于分别确定所述蒙皮骨骼模型中各所述骨骼节点变换至所述参考位姿数据时的参考位姿变换数据;
目标位姿变换数据确定子单元,用于根据各所述骨骼节点的所述参考位姿变换数据和所述变换程度调节参数,分别确定各所述骨骼节点的目标位姿变换数据;
目标位姿数据确定子单元,用于根据各所述骨骼节点的当前位姿数据和所述目标位姿变换数据,分别确定各所述骨骼节点的目标位姿数据。
在一可选实施例中,所述参考位姿数据包括参考平移数据、参考缩放数据和参考旋转数据中的至少一种;
所述参考位姿变换数据包括参考平移变换数据、参考缩放变换数据和参考四元数变换数据中的至少一种;
所述目标位姿变换数据包括目标平移变换数据、目标缩放变换数据和目标四元数变换数据中的至少一种;
所述目标位姿数据包括目标平移数据、目标缩放数据和目标旋转数据中的至少一种。
在一可选实施例中,所述参考位姿数据确定模块501,包括:
参考位姿数据确定单元,用于根据所述蒙皮骨骼模型中各骨骼节点所关联蒙皮顶点的当前位置信息,以及所述目标面片模型中各所述骨骼节点所关联蒙皮顶点的目标位置信息,确定各所述骨骼节点的所述参考位姿数据。
在一可选实施例中,所述骨骼节点所关联蒙皮顶点包括:所述骨骼节点所控制蒙皮中的蒙皮顶点,以及所述骨骼节点在骨骼节点树中的至少一个子节点所控制蒙皮中的蒙皮顶点。
在一可选实施例中,所述装置还包括:
位置误差确定模块,用于在根据各所述骨骼节点的所述参考位姿数据,同步驱动所述蒙皮骨骼模型之后,在所述更新各所述骨骼节点的参考位姿变换数据之前,根据驱动后的所述蒙皮骨骼模型中各骨骼节点所关联蒙皮顶点的当前位置信息,以及各蒙皮顶点在所述目标面片模型中的目标位置信息,确定位置误差;
迭代终止条件判定模块,用于根据所述位置误差,判定是否满足迭代终止条件;
判定结果触发模块,用于若是,则终止执行;否则,继续执行参考位姿变换数据更新操作。
在一可选实施例中,所述迭代终止条件,包括:所述位置误差小于设定位置误差阈值,和/或,所述位置误差的收敛趋势由收敛变更为发散。
上述虚拟形象驱动装置可执行本申请任意实施例所提供的虚拟形象驱动方法,具备执行虚拟形象驱动方法相应的功能模块和有益效果。
根据本申请的实施例,本申请还提供了一种电子设备和一种可读存储介质。
如图6所示,是实现本申请实施例的虚拟形象驱动方法的电子设备的框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请的实现。
如图6所示,该电子设备包括:一个或多个处理器601、存储器602,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在电子设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示GUI的图形信息的指令。在其它实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个电子设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图6中以一个处理器601为例。
存储器602即为本申请所提供的非瞬时计算机可读存储介质。其中,所述存储器存储有可由至少一个处理器执行的指令,以使所述至少一个处理器执行本申请所提供的虚拟形象驱动方法。本申请的非瞬时计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行本申请所提供的虚拟形象驱动方法。
存储器602作为一种非瞬时计算机可读存储介质,可用于存储非瞬时软件程序、非瞬时计算机可执行程序以及模块,如本申请实施例中的虚拟形象驱动方法对应的程序指令/模块(例如,附图5所示的参考位姿数据确定模块501、蒙皮骨骼模型驱动模块502和参考位姿数据更新模块503)。处理器601通过运行存储在存储器602中的非瞬时软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例中的虚拟形象驱动方法。
存储器602可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储实现虚拟形象驱动方法的电子设备的使用所创建的数据等。此外,存储器602可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些实施例中,存储器602可选包括相对于处理器601远程设置的存储器,这些远程存储器可以通过网络连接至实现虚拟形象驱动方法的电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
实现虚拟形象驱动方法的电子设备还可以包括:输入装置603和输出装置604。处理器601、存储器602、输入装置603和输出装置604可以通过总线或者其他方式连接,图6中以通过总线连接为例。
输入装置603可接收输入的数字或字符信息,以及产生与实现虚拟形象驱动方法的电子设备的用户设置以及功能控制有关的键信号输入,例如触摸屏、小键盘、鼠标、轨迹板、触摸板、指示杆、一个或者多个鼠标按钮、轨迹球、操纵杆等输入装置。输出装置604可以包括显示设备、辅助照明装置(例如,LED)和触觉反馈装置(例如,振动电机)等。该显示设备可以包括但不限于,液晶显示器(LCD)、发光二极管(LED)显示器和等离子体显示器。在一些实施方式中,显示设备可以是触摸屏。
此处描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、专用ASIC(专用集成电路)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
这些计算程序(也称作程序、软件、软件应用、或者代码)包括可编程处理器的机器指令,并且可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。如本文使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(PLD)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)、互联网和区块链网络。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS服务中,存在的管理难度大,业务扩展性弱的缺陷。服务器也可以为分布式系统的服务器,或者是结合了区块链的服务器。
人工智能是研究使计算机来模拟人的某些思维过程和智能行为(如学习、推理、思考、规划等)的学科,既有硬件层面的技术也有软件层面的技术。人工智能硬件技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理等技术;人工智能软件技术主要包括计算机视觉技术、语音识别技术、自然语言处理技术及机器学习/深度学习技术、大数据处理技术、知识图谱技术等几大方向。
根据本申请实施例的技术方案,通过各骨骼节点的参考位姿数据对蒙皮骨骼模型的同步驱动,能够同步考量至少两个骨骼节点之间的协同或制约作用,减少了对蒙皮骨骼模型反复调整的情况的发生。同时,通过各骨骼节点的参考位姿变换数据对蒙皮骨骼模型的同步驱动,代替现有技术中针对各骨骼节点分别迭代驱动的方式,减少了虚拟形象驱动过程中的数据运算量,进而提高了虚拟形象模拟真实形象时的驱动效率。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本申请公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。

Claims (20)

1.一种虚拟形象驱动方法,包括:
根据蒙皮骨骼模型中各骨骼节点所关联蒙皮顶点的当前位置信息,以及目标面片模型中各所述骨骼节点所关联蒙皮顶点的目标位置信息,确定各所述骨骼节点的参考位姿数据;
根据各所述骨骼节点的所述参考位姿数据和各所述骨骼节点的变换程度调节参数,分别确定各所述骨骼节点的目标位姿数据;其中,所述变换程度调节参数用于表征单次迭代过程对蒙皮骨骼模型的驱动程度;
根据各所述骨骼节点的所述目标位姿数据,同步驱动所述蒙皮骨骼模型;
根据蒙皮骨骼模型对应的当前虚拟形象与理想虚拟形象之间的位置误差,判定是否满足迭代终止条件;若否,则更新各所述骨骼节点的参考位姿数据,用于后续驱动所述蒙皮骨骼模型。
2.根据权利要求1所述的方法,其中,所述变换程度调节参数为小于1的正数。
3.根据权利要求2所述的方法,其中,各所述骨骼节点的所述变换程度调节参数根据以下方式确定:
根据各所述骨骼节点在骨骼节点树中的层数,分别确定各所述骨骼节点的所述变换程度调节参数。
4.根据权利要求3所述的方法,其中,所述根据各所述骨骼节点在骨骼节点树中的层数,分别确定各所述骨骼节点的所述变换程度调节参数,包括:
根据调节参数对应关系,通过各所述骨骼节点在骨骼节点树中的层数,分别确定各所述骨骼节点的所述变换程度调节参数。
5.根据权利要求2所述的方法,其中,所述根据各所述骨骼节点的所述参考位姿数据和各所述骨骼节点的变换程度调节参数,分别确定各所述骨骼节点的目标位姿数据,包括:
分别确定所述蒙皮骨骼模型中各所述骨骼节点变换至所述参考位姿数据时的参考位姿变换数据;
根据各所述骨骼节点的所述参考位姿变换数据和所述变换程度调节参数,分别确定各所述骨骼节点的目标位姿变换数据;
根据各所述骨骼节点的当前位姿数据和所述目标位姿变换数据,分别确定各所述骨骼节点的目标位姿数据。
6.根据权利要求5所述的方法,其中,所述参考位姿数据包括参考平移数据、参考缩放数据和参考旋转数据中的至少一种;
所述参考位姿变换数据包括参考平移变换数据、参考缩放变换数据和参考四元数变换数据中的至少一种;
所述目标位姿变换数据包括目标平移变换数据、目标缩放变换数据和目标四元数变换数据中的至少一种;
所述目标位姿数据包括目标平移数据、目标缩放数据和目标旋转数据中的至少一种。
7.根据权利要求1所述的方法,其中,所述骨骼节点所关联蒙皮顶点包括:所述骨骼节点所控制蒙皮中的蒙皮顶点,以及所述骨骼节点在骨骼节点树中的至少一个子节点所控制蒙皮中的蒙皮顶点。
8.根据权利要求1-6任一项所述的方法,其中,在所述根据各所述骨骼节点的所述目标位姿数据,同步驱动所述蒙皮骨骼模型之后,在所述更新各所述骨骼节点的参考位姿变换数据之前,所述方法还包括:
根据驱动后的所述蒙皮骨骼模型中各骨骼节点所关联蒙皮顶点的当前位置信息,以及各蒙皮顶点在所述目标面片模型中的目标位置信息,确定位置误差;
根据所述位置误差,判定满足迭代终止条件,则终止执行参考位姿变换数据更新操作。
9.根据权利要求8所述的方法,其中,所述迭代终止条件,包括:所述位置误差小于设定位置误差阈值,和/或,所述位置误差的收敛趋势由收敛变更为发散。
10.一种虚拟形象驱动装置,包括:
参考位姿数据确定模块,用于确定将虚拟形象的蒙皮骨骼模型驱动至同拓扑的目标面片模型时,各骨骼节点的参考位姿数据;
蒙皮骨骼模型驱动模块,用于根据各所述骨骼节点的所述参考位姿数据,同步驱动所述蒙皮骨骼模型;
参考位姿数据更新模块,用于根据蒙皮骨骼模型对应的当前虚拟形象与理想虚拟形象之间的位置误差,判定是否满足迭代终止条件;若否,则更新各所述骨骼节点的参考位姿数据,用于后续驱动所述蒙皮骨骼模型;
其中,所述蒙皮骨骼模型驱动模块,包括:
目标位姿数据确定单元,用于根据各所述骨骼节点的所述参考位姿数据和各所述骨骼节点的变换程度调节参数,分别确定各所述骨骼节点的目标位姿数据;其中,所述变换程度调节参数用于表征单次迭代过程对蒙皮骨骼模型的驱动程度;
蒙皮骨骼模型驱动单元,用于根据各所述骨骼节点的所述目标位姿数据,同步驱动所述蒙皮骨骼模型;
所述参考位姿数据确定模块,包括:
参考位姿数据确定单元,用于根据所述蒙皮骨骼模型中各骨骼节点所关联蒙皮顶点的当前位置信息,以及所述目标面片模型中各所述骨骼节点所关联蒙皮顶点的目标位置信息,确定各所述骨骼节点的所述参考位姿数据。
11.根据权利要求10所述的装置,其中,所述变换程度调节参数为小于1的正数。
12.根据权利要求11所述的装置,其中,所述装置还包括:
变换程度调节参数确定模块,用于根据各所述骨骼节点在骨骼节点树中的层数,分别确定各所述骨骼节点的所述变换程度调节参数。
13.根据权利要求12所述的装置,其中,所述变换程度调节参数确定模块,包括:
变换程度调节参数确定单元,用于根据调节参数对应关系,通过各所述骨骼节点在骨骼节点树中的层数,分别确定各所述骨骼节点的所述变换程度调节参数。
14.根据权利要求11所述的装置,其中,所述目标位姿数据确定单元,包括:
参考位姿变换数据确定子单元,用于分别确定所述蒙皮骨骼模型中各所述骨骼节点变换至所述参考位姿数据时的参考位姿变换数据;
目标位姿变换数据确定子单元,用于根据各所述骨骼节点的所述参考位姿变换数据和所述变换程度调节参数,分别确定各所述骨骼节点的目标位姿变换数据;
目标位姿数据确定子单元,用于根据各所述骨骼节点的当前位姿数据和所述目标位姿变换数据,分别确定各所述骨骼节点的目标位姿数据。
15.根据权利要求14所述的装置,其中,所述参考位姿数据包括参考平移数据、参考缩放数据和参考旋转数据中的至少一种;
所述参考位姿变换数据包括参考平移变换数据、参考缩放变换数据和参考四元数变换数据中的至少一种;
所述目标位姿变换数据包括目标平移变换数据、目标缩放变换数据和目标四元数变换数据中的至少一种;
所述目标位姿数据包括目标平移数据、目标缩放数据和目标旋转数据中的至少一种。
16.根据权利要求10所述的装置,其中,所述骨骼节点所关联蒙皮顶点包括:所述骨骼节点所控制蒙皮中的蒙皮顶点,以及所述骨骼节点在骨骼节点树中的至少一个子节点所控制蒙皮中的蒙皮顶点。
17.根据权利要求10-15任一项所述的装置,其中,所述装置还包括:
位置误差确定模块,用于在所述根据各所述骨骼节点的所述目标位姿数据,同步驱动所述蒙皮骨骼模型之后,在所述更新各所述骨骼节点的参考位姿变换数据之前,根据驱动后的所述蒙皮骨骼模型中各骨骼节点所关联蒙皮顶点的当前位置信息,以及各蒙皮顶点在所述目标面片模型中的目标位置信息,确定位置误差;
迭代终止条件判定模块,用于根据所述位置误差,判定是否满足迭代终止条件;
判定结果触发模块,用于若是,则终止执行参考位姿变换数据更新操作。
18.根据权利要求17所述的装置,其中,所述迭代终止条件,包括:所述位置误差小于设定位置误差阈值,和/或,所述位置误差的收敛趋势由收敛变更为发散。
19. 一种电子设备,其中,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-9中任一项所述的一种虚拟形象驱动方法。
20.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使计算机执行权利要求1-9中任一项所述的一种虚拟形象驱动方法。
CN202011384844.2A 2020-11-30 2020-11-30 虚拟形象驱动方法、装置、设备和存储介质 Active CN112509099B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202011384844.2A CN112509099B (zh) 2020-11-30 2020-11-30 虚拟形象驱动方法、装置、设备和存储介质
US17/516,769 US20220058848A1 (en) 2020-11-30 2021-11-02 Virtual avatar driving method and apparatus, device, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011384844.2A CN112509099B (zh) 2020-11-30 2020-11-30 虚拟形象驱动方法、装置、设备和存储介质

Publications (2)

Publication Number Publication Date
CN112509099A CN112509099A (zh) 2021-03-16
CN112509099B true CN112509099B (zh) 2024-02-06

Family

ID=74968580

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011384844.2A Active CN112509099B (zh) 2020-11-30 2020-11-30 虚拟形象驱动方法、装置、设备和存储介质

Country Status (2)

Country Link
US (1) US20220058848A1 (zh)
CN (1) CN112509099B (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112967405A (zh) * 2021-03-23 2021-06-15 深圳市商汤科技有限公司 虚拟物体的位姿更新方法、装置、设备以及存储介质
CN113050794A (zh) * 2021-03-24 2021-06-29 北京百度网讯科技有限公司 用于虚拟形象的滑块处理方法及装置
CN113610992B (zh) * 2021-08-04 2022-05-20 北京百度网讯科技有限公司 骨骼驱动系数确定方法、装置、电子设备及可读存储介质
CN113608615B (zh) * 2021-08-05 2022-05-06 北京百度网讯科技有限公司 对象数据处理方法、处理装置、电子设备以及存储介质
CN114926572A (zh) * 2022-05-18 2022-08-19 聚好看科技股份有限公司 一种角色动画中衣物的驱动方法及设备
CN115049799B (zh) * 2022-06-14 2024-01-09 北京百度网讯科技有限公司 3d模型和虚拟形象的生成方法和装置
CN115661310B (zh) * 2022-12-22 2023-03-14 海马云(天津)信息技术有限公司 虚拟数字人表情逼近方法、装置、存储介质、电子设备
CN115937373B (zh) * 2022-12-23 2023-10-03 北京百度网讯科技有限公司 虚拟形象驱动方法、装置、设备以及存储介质
CN116883624B (zh) * 2023-09-07 2023-11-21 海马云(天津)信息技术有限公司 骨骼快速绑定方法和装置、电子设备及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016207311A1 (en) * 2015-06-24 2016-12-29 MAX-PLANCK-Gesellschaft zur Förderung der Wissenschaften e.V. Skinned multi-person linear model
JP6487083B1 (ja) * 2018-03-07 2019-03-20 株式会社スクウェア・エニックス ウェイトマップの局所性を考慮したスキニング分解高速化方法及び同スキニング分解高速化プログラム
CN109993819A (zh) * 2019-04-09 2019-07-09 网易(杭州)网络有限公司 虚拟角色的蒙皮方法及装置、电子设备
CN111369649A (zh) * 2018-12-26 2020-07-03 苏州笛卡测试技术有限公司 一种基于高精度三维扫描模型的制作计算机蒙皮动画的方法
CN111445561A (zh) * 2020-03-25 2020-07-24 北京百度网讯科技有限公司 虚拟对象的处理方法、装置、设备及存储介质
CN111738935A (zh) * 2020-05-15 2020-10-02 完美世界(北京)软件科技发展有限公司 残影渲染方法和装置、存储介质和电子装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060262119A1 (en) * 2005-05-20 2006-11-23 Michael Isner Transfer of motion between animated characters
US7859538B2 (en) * 2006-07-31 2010-12-28 Autodesk, Inc Converting deformation data for a mesh to animation data for a skeleton, skinning and shading in a runtime computer graphics animation engine
US9928663B2 (en) * 2015-07-27 2018-03-27 Technische Universiteit Delft Skeletal joint optimization for linear blend skinning deformations utilizing skeletal pose sampling
US10839585B2 (en) * 2018-01-05 2020-11-17 Vangogh Imaging, Inc. 4D hologram: real-time remote avatar creation and animation control
US11308673B2 (en) * 2018-05-03 2022-04-19 Magic Leap, Inc. Using three-dimensional scans of a physical subject to determine positions and/or orientations of skeletal joints in the rigging for a virtual character
CN112437950A (zh) * 2018-05-22 2021-03-02 奇跃公司 用于对虚拟头像制作动画的骨架系统

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016207311A1 (en) * 2015-06-24 2016-12-29 MAX-PLANCK-Gesellschaft zur Förderung der Wissenschaften e.V. Skinned multi-person linear model
JP6487083B1 (ja) * 2018-03-07 2019-03-20 株式会社スクウェア・エニックス ウェイトマップの局所性を考慮したスキニング分解高速化方法及び同スキニング分解高速化プログラム
CN111369649A (zh) * 2018-12-26 2020-07-03 苏州笛卡测试技术有限公司 一种基于高精度三维扫描模型的制作计算机蒙皮动画的方法
CN109993819A (zh) * 2019-04-09 2019-07-09 网易(杭州)网络有限公司 虚拟角色的蒙皮方法及装置、电子设备
CN111445561A (zh) * 2020-03-25 2020-07-24 北京百度网讯科技有限公司 虚拟对象的处理方法、装置、设备及存储介质
CN111738935A (zh) * 2020-05-15 2020-10-02 完美世界(北京)软件科技发展有限公司 残影渲染方法和装置、存储介质和电子装置

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
Extraction of skeleton features using human silhouette and skin;Taeho Kim等;7th Korea-Russia International Symposium on Science and Technology, Proceedings KORUS 2003. (IEEE Cat. No.03EX737);全文 *
一种基于国标人体测量学数据的虚拟人建模方法;戚福洲;侯进;黄永坤;;计算机工程与科学(第04期);全文 *
表情动画中3D骨骼蒙皮技术运用研究;李岩;;渭南师范学院学报(第12期);全文 *
骨骼蒙皮动画设计与实现;丁鹏;贾月乐;张静;罗东芳;;技术与市场(第10期);全文 *

Also Published As

Publication number Publication date
CN112509099A (zh) 2021-03-16
US20220058848A1 (en) 2022-02-24

Similar Documents

Publication Publication Date Title
CN112509099B (zh) 虚拟形象驱动方法、装置、设备和存储介质
CN112184921B (zh) 虚拟形象驱动方法、装置、设备和介质
US11587300B2 (en) Method and apparatus for generating three-dimensional virtual image, and storage medium
CN111598818B (zh) 人脸融合模型训练方法、装置及电子设备
CN111260764B (zh) 一种制作动画的方法、装置及存储介质
CN111968203B (zh) 动画驱动方法、装置、电子设备及存储介质
CN111488925B (zh) 一种数据标注方法、装置、电子设备及存储介质
CN111340905B (zh) 图像风格化方法、装置、设备和介质
CN112184851B (zh) 图像编辑方法、网络训练方法、相关装置及电子设备
CN112330805B (zh) 人脸3d模型生成方法、装置、设备及可读存储介质
CN111914994B (zh) 多层感知机的生成方法、装置、电子设备及存储介质
CN111754431B (zh) 一种图像区域替换方法、装置、设备及存储介质
CN115131476A (zh) 虚拟对象的骨骼绑定迁移方法、装置、设备及存储介质
CN111599002A (zh) 用于生成图像的方法和装置
CN112509098B (zh) 动画形象生成方法、装置及电子设备
KR102488517B1 (ko) 헤어스타일 변환 방법, 장치, 기기 및 저장 매체
CN111523467B (zh) 人脸跟踪方法和装置
CN113129456B (zh) 车辆三维模型变形方法、装置和电子设备
CN112562048A (zh) 三维模型的控制方法、装置、设备以及存储介质
CN112562043A (zh) 图像处理方法、装置和电子设备
KR20220113830A (ko) 안면 키포인트 검출 방법, 장치 및 전자 기기
CN116433847A (zh) 姿态迁移方法及装置、电子设备和存储介质
CN111680623B (zh) 姿态转换方法及装置、电子设备、存储介质
CN113240778B (zh) 虚拟形象的生成方法、装置、电子设备和存储介质
CN112562047B (zh) 三维模型的控制方法、装置、设备以及存储介质

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