CN112562043A - 图像处理方法、装置和电子设备 - Google Patents
图像处理方法、装置和电子设备 Download PDFInfo
- Publication number
- CN112562043A CN112562043A CN202011425375.4A CN202011425375A CN112562043A CN 112562043 A CN112562043 A CN 112562043A CN 202011425375 A CN202011425375 A CN 202011425375A CN 112562043 A CN112562043 A CN 112562043A
- Authority
- CN
- China
- Prior art keywords
- node
- model
- matrix
- blendshape
- bone
- 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.)
- Granted
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 29
- 210000000988 bone and bone Anatomy 0.000 claims abstract description 254
- 238000012545 processing Methods 0.000 claims abstract description 66
- 239000000758 substrate Substances 0.000 claims abstract description 16
- 239000011159 matrix material Substances 0.000 claims description 221
- 230000009466 transformation Effects 0.000 claims description 59
- 238000000034 method Methods 0.000 claims description 25
- 238000004590 computer program Methods 0.000 claims description 10
- 238000009877 rendering Methods 0.000 claims description 9
- 238000002156 mixing Methods 0.000 claims description 4
- 238000013473 artificial intelligence Methods 0.000 abstract description 3
- 230000003190 augmentative effect Effects 0.000 abstract description 2
- 238000013135 deep learning Methods 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 17
- 230000008859 change Effects 0.000 description 11
- 238000004364 calculation method Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000001815 facial effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T13/00—Animation
- G06T13/20—3D [Three Dimensional] animation
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Processing Or Creating Images (AREA)
Abstract
本申请公开了一种图像处理方法、装置和电子设备,涉及计算机视觉、深度学习、增强现实等人工智能技术领域。具体实现方案为:在确定用于生成目标图像的目标骨骼驱动系数时,先根据待处理图像和N个BlendShape模型,再通过N个BlendShape模型对应的权重系数对N个预设骨骼驱动系数进行优化,使得优化得到的基底蒙皮骨骼模型中各节点对应的目标骨骼驱动系数描述脸部图像的特征,解决了现有技术中无法获取与脸部图像匹配的骨骼驱动系数的问题。而且,在对基于优化后的目标骨骼驱动系数生成的骨骼驱动模型进行渲染时,生成的动画头像也更接近于真实的脸部图像。
Description
技术领域
本申请涉及计算机视觉、深度学习、增强现实等人工智能技术领域,尤其涉及一种图像处理方法、装置和电子设备。
背景技术
在获取用户的脸部图像对应的动画头像时,工作人员需要先根据脸部图像定制N个骨骼驱动系数,再根据基底蒙皮骨骼模型和定制的N个骨骼驱动系数生成骨骼驱动模型,再对骨骼驱动模型进行渲染,以生成该脸部图像对应的动画头像。
但是,在根据脸部图像定制N个骨骼驱动系数时,由于骨骼的层级结构不易理解,且存在父子多级节点,因此,即使技术人员通过多次反复手动调整,定制得到N个骨骼驱动系数,该N个骨骼驱动系数也很难描述脸部图像的特征,因此,如何获取与脸部图像匹配的骨骼驱动系数,是本领域技术人员亟待解决的问题。
发明内容
本申请提供了一种图像处理方法、装置和电子设备,解决了现有技术中无法获取与脸部图像匹配的骨骼驱动系数的问题。
根据本申请的一方面,提供了一种图像处理方法,该图像处理方法可以包括:
获取待处理图像和混合形状BlendShape模型。
根据所述待处理图像和N个BlendShape模型,分别确定每个所述BlendShape模型对应的权重系数。
根据所述N个BlendShape模型对应的权重系数、N个预设骨骼驱动系数和基底蒙皮骨骼模型,确定所述基底蒙皮骨骼模型中各节点对应的目标骨骼驱动系数,以根据所述目标骨骼驱动系数,得到所述待处理图像对应的目标图像;其中,所述BlendShape模型的骨骼和所述基底蒙皮骨骼模型的骨骼相同。
根据本申请的另一方面,提供了一种图像处理装置,该图像处理装置可以包括:
获取模块,用于获取待处理图像和混合形状BlendShape模型。
处理模块,用于根据所述待处理图像和N个BlendShape模型,分别确定每个所述BlendShape模型对应的权重系数。
确定模块,用于根据所述N个BlendShape模型对应的权重系数、N个预设骨骼驱动系数和基底蒙皮骨骼模型,确定所述基底蒙皮骨骼模型中各节点对应的目标骨骼驱动系数,以根据所述目标骨骼驱动系数,得到所述待处理图像对应的目标图像;其中,所述BlendShape模型的骨骼和所述基底蒙皮骨骼模型的骨骼相同。
根据本申请的另一方面,提供了一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述第一方面所述的图像处理方法。
根据本申请的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行上述第一方面所述的图像处理方法。
根据本申请的另一方面,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时,实现上述第一方面所述的图像处理方法。
根据本申请的技术方案,在确定用于生成目标图像的目标骨骼驱动系数时,先根据待处理图像和N个BlendShape模型,分别确定每个BlendShape模型对应的权重系数,并根据N个BlendShape模型对应的权重系数、N个预设骨骼驱动系数和基底蒙皮骨骼模型,确定基底蒙皮骨骼模型中各节点对应的目标骨骼驱动系数,即通过N个BlendShape模型对应的权重系数对N个预设骨骼驱动系数进行优化,使得优化得到的基底蒙皮骨骼模型中各节点对应的目标骨骼驱动系数描述脸部图像的特征,解决了现有技术中无法获取与脸部图像匹配的骨骼驱动系数的问题。在对基于优化后的目标骨骼驱动系数生成的骨骼驱动模型进行渲染时,生成的动画头像也更接近于真实的脸部图像。
应当理解,本部分所描述的内容并非旨在标识本申请的实施例的关键或重要特征,也不用于限制本申请的范围。本申请的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本申请的限定。其中:
图1是本申请实施例提供的一种应用场景的示意图;
图2是本申请实施例提供的一种面部图像的示意图;
图3是根据本申请第一实施例提供的图像处理方法的流程示意图;
图4是根据本申请第一实施例提供的图像处理方法的框架示意图;
图5是根据本申请第二实施例提供的确定目标骨骼驱动系数的流程示意图;
图6是根据本申请第二实施例提供的树状基底蒙皮骨骼模型中各节点的示意图;
图7是根据本申请第二实施例提供的节点位姿变化的示意图;
图8是根据本申请第二实施例提供的各节点之间的关系示意图;
图9是根据本申请第三实施例提供的图像处理装置的结构示意图,示例的;
图10示出了可以用来实施本申请的实施例的示例电子设备的示意性框图。
具体实施方式
以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
在本申请的实施例中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况,其中A,B可以是单数或者复数。在本申请的文字描述中,字符“/”一般表示前后关联对象是一种“或”的关系。
本申请实施例提供的图像处理方法可以应用于图像处理的场景中。示例的,请参见图1所示,图1是本申请实施例提供的一种应用场景的示意图,当终端想要用自己的脸部图像生成动画头像时,可以使用终端拍摄自己的脸部图像,并将采集的脸部图像发送给网络设备,以使网络设备获取到该脸部图像;网络设备在获取脸部图像后,技术人员可以针对该脸部图像,定制该脸部图像对应的N套骨骼驱动系数,并将定制的N套骨骼驱动系数发送给终端;终端根据预先存储的基底蒙皮骨骼驱动模型和接收到的N套骨骼驱动系数生成骨骼驱动模型,并对生成的骨骼驱动模型进行渲染,从而生成脸部图像对应的动画头像。
但是,在根据脸部图像定制N个骨骼驱动系数时,由于骨骼的层级结构不易理解,且存在父子多级节点,因此,即使技术人员通过多次反复手动调整,定制得到N个骨骼驱动系数,该N个骨骼驱动系数也很难描述脸部图像的特征,因此,如何获取与脸部图像匹配的骨骼驱动系数,是本领域技术人员亟待解决的问题。
可以理解的是,在生成脸部图像对应的动画头像时,除了可以对骨骼驱动系数进行渲染,以生成脸部图像对应的动画头像之外,还可以对混合形状BlendShape驱动模型进行渲染,同样可以生成脸部图像对应的动画头像。其中,BlendShape驱动模型是对N个BlendShape模型和N个BlendShape模型各自对应的权重系数进行加权确定的。并且,由于对BlendShape驱动模型进行渲染生成的脸部图像对应的动画头像更接近于真实的脸部图像,因此,为了获取与脸部图像匹配的骨骼驱动系数,可以基于N个BlendShape模型各自对应的权重系数对定制的N个骨骼驱动系数进行优化,得到优化后的骨骼驱动系数,使得优化后的骨骼驱动系数描述脸部图像的特征,这样对基于优化后的骨骼驱动系数和基底蒙皮骨骼驱动模型生成的骨骼驱动模型进行渲染,生成的动画头像更接近于真实的脸部图像。
基于上述技术构思,本申请实施例提供了一种图像处理方法,先获取待处理图像和N个BlendShape模型;根据待处理图像和N个BlendShape模型,分别确定每个BlendShape模型对应的权重系数;再根据N个BlendShape模型对应的权重系数、N个预设骨骼驱动系数和基底蒙皮骨骼模型,确定基底蒙皮骨骼模型中各节点对应的目标骨骼驱动系数,以根据目标骨骼驱动系数,得到待处理图像对应的目标图像。其中,BlendShape模型的骨骼和基底蒙皮骨骼模型的骨骼相同。
其中,待处理图像可以为用户脸部图像。BlendShape模型为BlendShape变形需要用到的模型,BlendShape模型的最基本要求与面片模型类似,只需要有顶点和面片即可。基底蒙皮骨骼模型由树状节点(Node)的层级结构组成,每一个节点保存自己的局部刚性位姿(Translate、Rotation、Scale,简称TRS),局部刚性位姿从上层到下层逐层传递受父节点影响计算成为节点的全局刚性位姿,每个节点包含蒙皮区域覆盖三维顶点。三维模型由顶点组成,每一个三角面片的三个点即为顶点,每个顶点根据蒙皮和权重,受1到多个节点控制,其蒙皮总权重为1,可参见图2所示,图2是本申请实施例提供的一种面部图像的示意图,通常情况下,树状基底蒙皮骨骼模型中包括的节点数量为90个左右。图2是当节点做刚性变换时,变换会按权重比例应用到每个蒙皮范围内的顶点上。面片模型和基底蒙皮骨骼模型的同拓扑,是指两个模型的顶点具有相同的点数、点相对位置、点连接顺序和面片连接顺序。其中,刚性位姿矩阵是一个4x4的矩阵,里面包含三维空间的TRS信息。刚性变换矩阵也是一个4x4的矩阵,里面也包含三维空间的TRS信息,它是一个相乘后可以让一个刚性位姿到达另一个刚性位姿的矩阵。
N个预设骨骼驱动系数可以理解为技术人员根据实际需要定制的N个骨骼驱动系数。骨骼驱动系数为节点的局部TRS属性,分别以xyz的3轴平移值,3个欧拉角旋转值、3个缩放值共9个数值表示,和刚性位姿矩阵可以互相转换。
可以理解的是,在本申请实施例中,BlendShape模型的骨骼和基底蒙皮骨骼模型的骨骼相同,是指是指该BS模型可以利用基底模型通过修改骨骼驱动系数变形而成的模型。之所以限定:BlendShape模型的骨骼和基底蒙皮骨骼模型的骨骼相同,其原因在于:只有在BlendShape模型的骨骼和基底蒙皮骨骼模型的骨骼相同时,才可以根据N个BlendShape模型对应的权重系数和基底蒙皮骨骼模型对N个预设骨骼驱动系数进行优化,从而得到基底蒙皮骨骼模型中各节点对应的目标骨骼驱动系数。
可以看出,在本申请实施例中,在确定用于生成目标图像的目标骨骼驱动系数时,先根据待处理图像和N个BlendShape模型,分别确定每个BlendShape模型对应的权重系数,并根据N个BlendShape模型对应的权重系数、N个预设骨骼驱动系数和基底蒙皮骨骼模型,确定基底蒙皮骨骼模型中各节点对应的目标骨骼驱动系数,即通过N个BlendShape模型对应的权重系数对N个预设骨骼驱动系数进行优化,使得优化得到的基底蒙皮骨骼模型中各节点对应的目标骨骼驱动系数描述脸部图像的特征,解决了现有技术中无法获取与脸部图像匹配的骨骼驱动系数的问题。在对基于优化后的目标骨骼驱动系数生成的骨骼驱动模型进行渲染时,生成的动画头像也更接近于真实的脸部图像。
下面,将通过具体的实施例对本申请提供的图像处理方法进行详细地说明。可以理解的是,下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。
实施例一
图3是根据本申请第一实施例提供的图像处理方法的流程示意图,该图像处理方法可以由软件和/或硬件装置执行,例如,该硬件装置可以为网络设备。示例的,请参见图3所示,该图像处理方法可以包括:
S301、获取待处理图像和N个BlendShape模型。
示例的,在获取待处理图像时,可以直接从网络设备中获取预先存储的待处理图像,也可以从终端接收待处理图像,例如,当用户想要用自己的脸部图像生成动画头像时,可以使用终端拍摄自己的脸部图像,并将拍摄的脸部图像发送给网络设备,以使网络设备获取到该脸部图像,该脸部图像即为网络设备从终端接收到的待处理图像;也可以通过其它方式获取待处理图像,在此,本申请实施例只是以这两种可能的获取方式为例进行说明,具体可以根据实际需要进行设置,在此,对于待处理图像的获取方式,本申请实施例不做进一步地限制。
示例的,在获取N个BlendShape模型时,可以根据基底蒙皮骨骼模型和N个预设骨骼驱动系数生成N个BlendShape模型,也可以通过其它方式获取N个BlendShape模型,在此,本申请实施例只是以可以根据基底蒙皮骨骼模型和N个预设骨骼驱动系数生成N个BlendShape模型为例进行说明,具体可以根据实际需要进行设置。
在分别获取到待处理图像和N个BlendShape模型后,可以根据待处理图像和N个BlendShape模型,分别确定每个BlendShape模型对应的权重系数,即执行下述S302:
S302、根据待处理图像和N个BlendShape模型,分别确定每个BlendShape模型对应的权重系数。
示例的,在根据待处理图像和N个BlendShape模型,分别确定每个BlendShape模型对应的权重系数时,可以将待处理图像和N个BlendShape模型输入到求解器中,并通过求解器得到每个BlendShape模型对应的权重系数,示例的,请参见图4所示,图4是根据本申请第一实施例提供的图像处理方法的框架示意图。
在通过求解器得到每个BlendShape模型对应的权重系数后,可以根据N个BlendShape模型对应的权重系数和基底蒙皮骨骼模型对N个预设骨骼驱动系数进行优化,从而得到基底蒙皮骨骼模型中各节点对应的目标骨骼驱动系数,即执行下述S303:
S303、根据N个BlendShape模型对应的权重系数、N个预设骨骼驱动系数和基底蒙皮骨骼模型,确定基底蒙皮骨骼模型中各节点对应的目标骨骼驱动系数;以根据目标骨骼驱动系数,得到待处理图像对应的目标图像;其中,BlendShape模型的骨骼和基底蒙皮骨骼模型的骨骼相同。
示例的,在确定基底蒙皮骨骼模型中各节点对应的目标骨骼驱动系数,以根据目标骨骼驱动系数,得到待处理图像对应的目标图像时,可以包括下述至少两种可能的实现方式:
在一种可能的实现方式中,网络设备在确定基底蒙皮骨骼模型中各节点对应的目标骨骼驱动系数后,可以直接根据各节点对应的目标骨骼驱动系数和基底蒙皮骨骼模型,生成骨骼驱动模型;并对骨骼驱动模型进行渲染,得到目标图像。
在该种可能的实现方式中,各节点对应的目标骨骼驱动系数的获取操作,以及目标图像的生成操作均由网络设备执行,对于终端而言,在向用户输出待处理图像对应的目标图像时,只需要从网络设备接收目标图像,并向用户输出该目标图像即可,减少了终端的计算量。
在另一种可能的实现方式中,网络设备在确定基底蒙皮骨骼模型中各节点对应的目标骨骼驱动系数后,可以将确定出的各节点对应的目标骨骼驱动系数发送给终端,以使终端设备根据目标骨骼驱动系数和基底蒙皮骨骼模型生成骨骼驱动模型,并对骨骼驱动模型进行渲染,得到目标图像。
在该种可能的实现方式中,各节点对应的目标骨骼驱动系数的获取操作由网络设备执行,但基于各节点对应的目标骨骼驱动系数获取目标图像的操作均由终端执行。与上述可能的实现方式相比,虽然通过终端执行获取目标图像的操作会增加终端的计算量,但可以避免因终端从网络设备接收目标图像产生的网络时延,而且,与从网络设备获取定制的N个骨骼驱动系数相比,降低了网络流量的占用。
可以看出,在本申请实施例中,在确定用于生成目标图像的目标骨骼驱动系数时,先根据待处理图像和N个BlendShape模型,分别确定每个BlendShape模型对应的权重系数,并根据N个BlendShape模型对应的权重系数、N个预设骨骼驱动系数和基底蒙皮骨骼模型,确定基底蒙皮骨骼模型中各节点对应的目标骨骼驱动系数,即通过N个BlendShape模型对应的权重系数对N个预设骨骼驱动系数进行优化,使得优化得到的基底蒙皮骨骼模型中各节点对应的目标骨骼驱动系数描述脸部图像的特征,解决了现有技术中无法获取与脸部图像匹配的骨骼驱动系数的问题。在对基于优化后的目标骨骼驱动系数生成的骨骼驱动模型进行渲染时,生成的动画头像也更接近于真实的脸部图像。
基于上述图3所示的实施例,为了便于理解在本申请实施例中,如何根据N个BlendShape模型对应的权重系数、N个预设骨骼驱动系数和基底蒙皮骨骼模型,确定基底蒙皮骨骼模型中各节点对应的目标骨骼驱动系数。在确定基底蒙皮骨骼模型中各节点对应的目标骨骼驱动系数时,由于各节点对应的目标骨骼驱动系数的确定方法类似,因此,在下述实施例二中,将以基底蒙皮骨骼模型中某一个节点为例,详细描述如何确定基底蒙皮骨骼模型中该节点对应的目标骨骼驱动系数。
实施例二
图5是根据本申请第二实施例提供的确定目标骨骼驱动系数的流程示意图,该目标骨骼驱动系数的确定方法可以由软件和/或硬件装置执行,例如,该硬件装置可以为网络设备。示例的,请参见图5所示,该目标骨骼驱动系数的确定方法可以包括:
S501、针对基底蒙皮骨骼模型中各节点,根据各BlendShape模型下节点对应的预设骨骼驱动系数和各BlendShape模型下节点的父节点的全局刚性位姿矩阵,确定各BlendShape模型下节点的当前全局刚性位姿矩阵。
示例的,在获取各BlendShape模型下节点的父节点的全局刚性位姿矩阵时,对于树状基底蒙皮骨骼模型中各节点,父节点的位姿变化会影响其子节点的位姿。因此,在获取各BlendShape模型下第j个节点的父节点的全局刚性位姿矩阵时,可以从根节点开始,向第j个节点做宽度优先遍历和对应顺序求解,依次计算各BlendShape模型下根节点的局部刚性位姿变化矩阵、各BlendShape模型下根节点的子节点的局部刚性位姿变化矩阵、直至各BlendShape模型下第j个节点的父节点的局部刚性位姿变化矩阵之间的乘积,并将该乘积确定为各BlendShape模型下节点的父节点的全局刚性位姿矩阵,从而得到各BlendShape模型下节点的父节点的全局刚性位姿矩阵。
示例的,在根据各BlendShape模型下节点对应的预设骨骼驱动系数和各BlendShape模型下节点的父节点的全局刚性位姿矩阵,确定各BlendShape模型下节点的当前全局刚性位姿矩阵时,可以先计算各BlendShape模型下节点对应的预设骨骼驱动系数和各BlendShape模型下节点的父节点的全局刚性位姿矩阵的第三乘积矩阵;并将计算得到的第三乘积矩阵确定为各BlendShape模型下节点的当前全局刚性位姿矩阵,从而获取到各BlendShape模型下节点的当前全局刚性位姿矩阵。
在计算基底蒙皮骨骼模型中各节点对应的目标骨骼驱动系数时,由于各节点对应的目标骨骼驱动系数的获取方式类似,为了便于描述,以基底蒙皮骨骼模型中的第j个节点为例,将详细描述如何获取第j个节点对应的目标骨骼驱动系数。可以理解的是,基底蒙皮骨骼模型中除第j个节点之外的其它节点对应的目标骨骼驱动系数的获取方法可参见第j个节点对应的目标骨骼驱动系数的获取方法,本申请实施例中不再进行赘述。
在获取基底蒙皮骨骼模型中第j个节点对应的目标骨骼驱动系数时,可以先根据下述公式1确定各BlendShape模型下第j个节点的当前全局刚性位姿矩阵。
currentNode(p,j)Global=parentNode(p,j)Global*localTRS(p,j) 公式1
其中,p表示第p个BlendShape模型,j表示基底蒙皮骨骼模型中第j个节点,p的取值为0到N,currentNode(p,j)Global表示各BlendShape模型下第j个节点的当前全局刚性位姿矩阵,parentNode(p,j)Global表示各BlendShape模型下第j个节点的父节点的全局刚性位姿矩阵,localTRS(p,j)表示各BlendShape模型下第j个节点对应的预设骨骼驱动系数。
在根据公式1获取到各BlendShape模型下第j个节点的当前全局刚性位姿矩阵后,可以执行下述S502:
S502、根据各BlendShape模型下节点的当前全局刚性位姿矩阵和节点的初始全局刚性位姿矩阵确定各BlendShape模型下节点的综合刚性变换矩阵。
示例的,在根据各BlendShape模型下节点的当前全局刚性位姿矩阵和节点的初始全局刚性位姿矩阵确定各BlendShape模型下节点的综合刚性变换矩阵时,可以先计算各BlendShape模型下节点的当前全局刚性位姿矩阵和节点的初始全局刚性位姿矩阵的逆矩阵的第四乘积矩阵;并将计算得到的第四乘积矩阵确定为各BlendShape模型下节点的综合刚性变换矩阵,从而获取到各BlendShape模型下节点的综合刚性变换矩阵。
示例的,在获取各BlendShape模型下节点的综合刚性变换矩阵时,结合上述S401中的描述,仍以第j个节点为例,可以根据下述公式2计算各BlendShape模型下第j个节点的综合刚性变换矩阵。
Deform(p,j)=currentNode(p,j)Global*initNodejGlobal-1 公式2
其中,Deform(p,j)表示各BlendShape模型下第j个节点的综合刚性变换矩阵,initNodejGlobal表示第j个节点的初始全局刚性位姿矩阵。
在根据公式2获取到各BlendShape模型下节点的综合刚性变换矩阵后,可以对N个BlendShape模型对应的权重系数和各BlendShape模型下节点的综合刚性变换矩阵进行加权,得到节点的加权综合变换矩阵,即执行下述S503:
S503、对N个BlendShape模型对应的权重系数和各BlendShape模型下节点的综合刚性变换矩阵进行加权,得到节点的加权综合变换矩阵。
示例的,在对N个BlendShape模型对应的权重系数和各BlendShape模型下节点的综合刚性变换矩阵进行加权,得到节点的加权综合变换矩阵时,结合上述S401中的描述,仍以第j个节点为例,可以根据下述公式3计算第j个节点的加权综合变换矩阵。
需要说明的是,之所以可以采用公式3计算节点的加权综合变换矩阵,原因在于:
在基底蒙皮骨骼模型中,基底蒙皮骨骼模型的外形由每一个顶点的位置确定,每一个面片顶点的位置由下述公式4得出:
其中,m表示节点的总个数,n表示顶点的总个数,j表示第j个节点,α(i,j)表示第j个节点对i个顶点的蒙皮权重,对于任意i顶点有Deformj表示第j节点的综合刚性变换矩阵,Vertex'i表示第i个顶点的变化后的位置,Vertexi表示第i个顶点的初始位置。
通过公式1可以看出,每一个顶点的位置由相关节点的蒙皮权重和刚性变换相乘的和,乘到原始顶点上实现的。
对于第p个BlendShape模型,每个模型具有不同的骨骼驱动系数,进而有每个节点的Deformj不同,顶点位置不同,可通过下述公式5表示:
假设共有N个BlendShape模型完成加权计算,其中,第p个BlendShape模型对应的权重系数为βp,则可通过下述公式6加权:
可以对公式6做进一步的拆解,拆解成N个公式的求和,就可以推导出公式3,因此,在本申请实施例中,可以通过公式3计算节点的加权综合变换矩阵。
在根据公式3获取到节点的加权综合变换矩阵后,可以根据节点的加权综合变换矩阵和节点的初始全局刚性位姿矩阵,确定节点的当前全局刚性位姿矩阵,即执行下述S504:
S504、根据节点的加权综合变换矩阵和节点的初始全局刚性位姿矩阵,确定节点的当前全局刚性位姿矩阵。
示例的,在根据节点的加权综合变换矩阵和节点的初始全局刚性位姿矩阵,确定节点的当前全局刚性位姿矩阵时,可以计算节点的加权综合变换矩阵与节点的全局刚性位姿矩阵的第一乘积矩阵;并将计算得到的第一乘积矩阵确定为节点的当前全局刚性位姿矩阵,从而获取到节点的当前全局刚性位姿矩阵。
示例的,在获取节点的当前全局刚性位姿矩阵时,结合上述S401中的描述,仍以第j个节点为例,可以根据下述公式7计算第j个节点的当前全局刚性位姿矩阵。
其中,currentNodejGlobal表示第j个节点的当前全局刚性位姿矩阵,initNodejGlobal表示第j个节点的初始全局刚性位姿矩阵。
在根据公式7获取到节点的当前全局刚性位姿矩阵后,就可以根据节点的当前全局刚性位姿矩阵和节点的父节点的全局刚性位姿矩阵,确定节点对应的目标骨骼驱动系数,即执行下述S505:
S505、根据节点的当前全局刚性位姿矩阵和节点的父节点的全局刚性位姿矩阵,确定节点对应的目标骨骼驱动系数。
对于树状基底蒙皮骨骼模型中各节点,父节点的位姿变化会影响其子节点的位姿。示例的,可参见图6所示,图6是根据本申请第二实施例提供的树状基底蒙皮骨骼模型中各节点的示意图,假设树状基底蒙皮骨骼模型中包括根节点Noderoot、NodeE、NodeF、NodeG以及NodeH,其之间的关系可参见图6所示,Noderoot的子节点为NodeE、NodeE的子节点为NodeF、NodeF的子节点为NodeG、NodeG的子节点为NodeH,若每一个节点的位姿发生变化,则会影响其子节点的位姿,但并不会影响其父节点的位姿,可参见图7所示,图7是根据本申请第二实施例提供的节点位姿变化的示意图,可以看出,假设节点F的位姿发生了变化,则其位姿的变化会影响其子节点的位置,即会影响节点G的位姿和节点H的位姿,因此,在获取公式8中第j个节点的父节点的全局刚性位姿矩阵parentNodejGlobal时,可请参见图8所示,图8是根据本申请第二实施例提供的各节点之间的关系示意图,可以从根节点开始,向第j个节点做宽度优先遍历和对应顺序求解,依次计算根节点的局部刚性位姿变化矩阵、根节点的子节点的局部刚性位姿变化矩阵、直至第j个节点的父节点的局部刚性位姿变化矩阵之间的乘积,并将该乘积确定为第j个节点的父节点的全局刚性位姿矩阵parentNodejGlobal。
示例的,在根据节点的当前全局刚性位姿矩阵和节点的父节点的全局刚性位姿矩阵,确定节点对应的目标骨骼驱动系数时,可以计算节点的当前全局刚性位姿矩阵和节点的父节点的全局刚性位姿矩阵的逆矩阵的第二乘积矩阵;并将计算得到的第二乘积矩阵确定为节点对应的目标骨骼驱动系数,从而获取到节点对应的目标骨骼驱动系数。
示例的,在获取节点对应的目标骨骼驱动系数时,结合上述S401中的描述,仍以第j个节点为例,可以根据下述公式8计算第j个节点对应的目标骨骼驱动系数。
currentNodejGlobal=parentNodejGlobal*localTRSj 公式8
其中,parentNodejGlobal表示第j个节点的父节点的全局刚性位姿矩阵,localTRSj表示第j个节点对应的目标骨骼驱动系数。
可以看出,在本申请实施例中,在确定用于生成目标图像的目标骨骼驱动系数时,先根据待处理图像和N个BlendShape模型,分别确定每个BlendShape模型对应的权重系数,并根据N个BlendShape模型对应的权重系数、N个预设骨骼驱动系数和基底蒙皮骨骼模型,确定基底蒙皮骨骼模型中各节点对应的目标骨骼驱动系数,即通过N个BlendShape模型对应的权重系数对N个预设骨骼驱动系数进行优化,使得优化得到的基底蒙皮骨骼模型中各节点对应的目标骨骼驱动系数描述脸部图像的特征,解决了现有技术中无法获取与脸部图像匹配的骨骼驱动系数的问题。在对基于优化后的目标骨骼驱动系数生成的骨骼驱动模型进行渲染时,生成的动画头像也更接近于真实的脸部图像。
实施例三
图9是根据本申请第三实施例提供的图像处理装置90的结构示意图,示例的,请参见图9所示,该图像处理装置90可以包括:
获取模块901,用于获取待处理图像和N个BlendShape模型。
处理模块902,用于根据待处理图像和N个BlendShape模型,分别确定每个BlendShape模型对应的权重系数。
确定模块903,用于根据N个BlendShape模型对应的权重系数、N个预设骨骼驱动系数和基底蒙皮骨骼模型,确定基底蒙皮骨骼模型中各节点对应的目标骨骼驱动系数,以根据目标骨骼驱动系数,得到待处理图像对应的目标图像;其中,BlendShape模型的骨骼和基底蒙皮骨骼模型的骨骼相同。
可选的,确定模块903包括第一确定子模块和第二确定子模块。
第一确定子模块,用于确定基底蒙皮骨骼模型中各节点对应的目标骨骼驱动系数,并根据目标骨骼驱动系数和基底蒙皮骨骼模型,生成骨骼驱动模型。
第二确定子模块,用于对骨骼驱动模型进行渲染,得到目标图像。
可选的,确定模块903还包括第三确定子模块和第四确定子模块。
第三确定子模块,用于确定基底蒙皮骨骼模型中各节点对应的目标骨骼驱动系数。
第四确定子模块,用于将目标骨骼驱动系数发送给终端设备;目标骨骼驱动系数用于指示终端设备根据目标骨骼驱动系数和基底蒙皮骨骼模型生成骨骼驱动模型,并对骨骼驱动模型进行渲染,得到目标图像。
可选的,处理模块902包括第一处理子模块和第二处理子模块。
第一处理子模块,用于针对基底蒙皮骨骼模型中各节点,根据各BlendShape模型下的节点对应的预设骨骼驱动系数和各BlendShape模型下的节点的父节点的全局刚性位姿矩阵,确定各BlendShape模型下的节点的综合刚性变换矩阵。
第二处理子模块,用于根据N个BlendShape模型对应的权重系数和各BlendShape模型下的节点的综合刚性变换矩阵,确定节点对应的目标骨骼驱动系数。
可选的,第二处理子模块包括第一处理单元和第二处理单元。
第一处理单元,用于对N个BlendShape模型对应的权重系数和各BlendShape模型下的节点的综合刚性变换矩阵进行加权,得到节点的加权综合变换矩阵。
第二处理单元,用于根据节点的加权综合变换矩阵和节点的初始全局刚性位姿矩阵,确定节点对应的目标骨骼驱动系数。
可选的,第二处理单元包括第一处理子单元和第二处理子单元。
第一处理子单元,用于根据节点的加权综合变换矩阵和节点的初始全局刚性位姿矩阵,确定节点的当前全局刚性位姿矩阵。
第二处理子单元,用于根据节点的当前全局刚性位姿矩阵和节点的父节点的全局刚性位姿矩阵,确定节点对应的目标骨骼驱动系数。
可选的,第一处理子单元,具体用于计算节点的加权综合变换矩阵与节点的全局刚性位姿矩阵的第一乘积矩阵;并将第一乘积矩阵确定为节点的当前全局刚性位姿矩阵。
可选的,第二处理子单元,具体用于计算节点的当前全局刚性位姿矩阵和节点的父节点的全局刚性位姿矩阵的逆矩阵的第二乘积矩阵;并将第二乘积矩阵确定为节点对应的目标骨骼驱动系数。
可选的,第一处理子模块包括第三处理单元和第四处理单元。
第三处理单元,用于根据各BlendShape模型下的节点对应的预设骨骼驱动系数和各BlendShape模型下的节点的父节点的全局刚性位姿矩阵,确定各BlendShape模型下的节点的当前全局刚性位姿矩阵。
第四处理单元,用于根据各BlendShape模型下的节点的当前全局刚性位姿矩阵和节点的初始全局刚性位姿矩阵确定各BlendShape模型下的节点的综合刚性变换矩阵。
可选的,第三处理单元,具体用于计算各BlendShape模型下的节点对应的预设骨骼驱动系数和各BlendShape模型下的节点的父节点的全局刚性位姿矩阵的第三乘积矩阵;并将第三乘积矩阵确定为各BlendShape模型下的节点的当前全局刚性位姿矩阵。
可选的,第四处理单元,具体用于计算各BlendShape模型下的节点的当前全局刚性位姿矩阵和节点的初始全局刚性位姿矩阵的逆矩阵的第四乘积矩阵;并将第四乘积矩阵确定为各BlendShape模型下的节点的综合刚性变换矩阵。
本申请实施例提供的图像处理装置90,可以执行上述任一实施例中的图像处理方法的技术方案,其实现原理以及有益效果与图像处理方法的实现原理及有益效果类似,可参见图像处理方法的实现原理及有益效果,此处不再进行赘述。
根据本申请的实施例,本申请还提供了一种电子设备和一种可读存储介质。
图10示出了可以用来实施本申请的实施例的示例电子设备1000的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图10所示,电子设备1000包括计算单元1001,其可以根据存储在只读存储器(ROM)1002中的计算机程序或者从存储单元1008加载到随机访问存储器(RAM)1003中的计算机程序,来执行各种适当的动作和处理。在RAM 1003中,还可存储设备1000操作所需的各种程序和数据。计算单元1001、ROM 1002以及RAM 1003通过总线1004彼此相连。输入/输出(I/O)接口1005也连接至总线1004。
设备1000中的多个部件连接至I/O接口1005,包括:输入单元1006,例如键盘、鼠标等;输出单元1007,例如各种类型的显示器、扬声器等;存储单元1008,例如磁盘、光盘等;以及通信单元1009,例如网卡、调制解调器、无线通信收发机等。通信单元1009允许设备1000通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元1001可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元1001的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元1001执行上文所描述的各个方法和处理,例如图像处理方法。例如,在一些实施例中,图像处理方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元1008。在一些实施例中,计算机程序的部分或者全部可以经由ROM 1002和/或通信单元1009而被载入和/或安装到设备1000上。当计算机程序加载到RAM 1003并由计算单元1001执行时,可以执行上文描述的图像处理方法的一个或多个步骤。备选地,在其他实施例中,计算单元1001可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行图像处理方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS服务("Virtual Private Server",或简称"VPS")中,存在的管理难度大,业务扩展性弱的缺陷。服务器也可以为分布式系统的服务器,或者是结合了区块链的服务器。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本申请公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。
Claims (25)
1.一种图像处理方法,包括:
获取待处理图像和N个混合形状BlendShape模型;
根据所述待处理图像和N个BlendShape模型,分别确定每个所述BlendShape模型对应的权重系数;
根据所述N个BlendShape模型对应的权重系数、N个预设骨骼驱动系数和基底蒙皮骨骼模型,确定所述基底蒙皮骨骼模型中各节点对应的目标骨骼驱动系数,以根据所述目标骨骼驱动系数,得到所述待处理图像对应的目标图像;其中,所述BlendShape模型的骨骼和所述基底蒙皮骨骼模型的骨骼相同。
2.根据权利要求1所述的方法,所述确定所述基底蒙皮骨骼模型中各节点对应的目标骨骼驱动系数,以根据所述目标骨骼驱动系数,得到所述待处理图像对应的目标图像,包括:
确定所述基底蒙皮骨骼模型中各节点对应的目标骨骼驱动系数,并根据所述目标骨骼驱动系数和所述基底蒙皮骨骼模型,生成所述骨骼驱动模型;
对所述骨骼驱动模型进行渲染,得到所述目标图像。
3.根据权利要求1所述的方法,所述确定所述基底蒙皮骨骼模型中各节点对应的目标骨骼驱动系数,以根据所述目标骨骼驱动系数,得到所述待处理图像对应的目标图像,包括:
确定所述基底蒙皮骨骼模型中各节点对应的目标骨骼驱动系数,并将所述目标骨骼驱动系数发送给终端设备;所述目标骨骼驱动系数用于指示所述终端设备根据所述目标骨骼驱动系数和所述基底蒙皮骨骼模型生成所述骨骼驱动模型,并对所述骨骼驱动模型进行渲染,得到所述目标图像。
4.根据权利要求1-3任一项所述的方法,其中,所述根据所述N个BlendShape模型对应的权重系数、N个预设骨骼驱动系数和基底蒙皮骨骼模型,确定所述基底蒙皮骨骼模型中各节点对应的目标骨骼驱动系数,包括:
针对所述基底蒙皮骨骼模型中各节点,根据各BlendShape模型下的所述节点对应的预设骨骼驱动系数和所述各BlendShape模型下的所述节点的父节点的全局刚性位姿矩阵,确定所述各BlendShape模型下的所述节点的综合刚性变换矩阵;
根据所述N个BlendShape模型对应的权重系数和所述各BlendShape模型下的所述节点的综合刚性变换矩阵,确定所述节点对应的目标骨骼驱动系数。
5.根据权利要求4所述的方法,其中,所述根据所述N个BlendShape模型对应的权重系数和所述各BlendShape模型下的所述节点的综合刚性变换矩阵,确定所述节点对应的目标骨骼驱动系数,包括:
对所述N个BlendShape模型对应的权重系数和所述各BlendShape模型下的所述节点的综合刚性变换矩阵进行加权,得到所述节点的加权综合变换矩阵;
根据所述节点的加权综合变换矩阵和所述节点的初始全局刚性位姿矩阵,确定所述节点对应的目标骨骼驱动系数。
6.根据权利要求5所述的方法,其中,所述根据所述节点的加权综合变换矩阵和所述节点的初始全局刚性位姿矩阵,确定所述节点对应的目标骨骼驱动系数,包括:
根据所述节点的加权综合变换矩阵和所述节点的初始全局刚性位姿矩阵,确定所述节点的当前全局刚性位姿矩阵;
根据所述节点的当前全局刚性位姿矩阵和所述节点的父节点的全局刚性位姿矩阵,确定所述节点对应的目标骨骼驱动系数。
7.根据权利要求6所述的方法,其中,所述根据所述节点的加权综合变换矩阵和所述节点的初始全局刚性位姿矩阵,确定所述节点的当前全局刚性位姿矩阵,包括:
计算所述节点的加权综合变换矩阵与所述节点的全局刚性位姿矩阵的第一乘积矩阵;
将所述第一乘积矩阵确定为所述节点的当前全局刚性位姿矩阵。
8.根据权利要求6所述的方法,其中,所述根据所述节点的当前全局刚性位姿矩阵和所述节点的父节点的全局刚性位姿矩阵,确定所述节点对应的目标骨骼驱动系数,包括:
计算所述节点的当前全局刚性位姿矩阵和所述节点的父节点的全局刚性位姿矩阵的逆矩阵的第二乘积矩阵;
将所述第二乘积矩阵确定为所述节点对应的目标骨骼驱动系数。
9.根据权利要求4所述的方法,其中,所述根据各BlendShape模型下的所述节点对应的预设骨骼驱动系数和所述各BlendShape模型下的所述节点的父节点的全局刚性位姿矩阵,确定所述各BlendShape模型下的所述节点的综合刚性变换矩阵,包括:
根据各BlendShape模型下的所述节点对应的预设骨骼驱动系数和所述各BlendShape模型下的所述节点的父节点的全局刚性位姿矩阵,确定所述各BlendShape模型下的所述节点的当前全局刚性位姿矩阵;
根据所述各BlendShape模型下的所述节点的当前全局刚性位姿矩阵和所述节点的初始全局刚性位姿矩阵确定所述各BlendShape模型下的所述节点的综合刚性变换矩阵。
10.根据权利要求9所述的方法,其中,所述根据各BlendShape模型下的所述节点对应的预设骨骼驱动系数和所述各BlendShape模型下的所述节点的父节点的全局刚性位姿矩阵,确定所述各BlendShape模型下的所述节点的当前全局刚性位姿矩阵,包括:
计算所述各BlendShape模型下的所述节点对应的预设骨骼驱动系数和所述各BlendShape模型下的所述节点的父节点的全局刚性位姿矩阵的第三乘积矩阵;
将所述第三乘积矩阵确定为所述各BlendShape模型下的所述节点的当前全局刚性位姿矩阵。
11.根据权利要求9所述的方法,其中,所述根据所述各BlendShape模型下的所述节点的当前全局刚性位姿矩阵和所述节点的初始全局刚性位姿矩阵确定所述各BlendShape模型下的所述节点的综合刚性变换矩阵,包括:
计算所述各BlendShape模型下的所述节点的当前全局刚性位姿矩阵和所述节点的初始全局刚性位姿矩阵的逆矩阵的第四乘积矩阵;
将所述第四乘积矩阵确定为所述各BlendShape模型下的所述节点的综合刚性变换矩阵。
12.一种图像处理装置,包括:
获取模块,用于获取待处理图像和混合形状BlendShape模型;
处理模块,用于根据所述待处理图像和N个BlendShape模型,分别确定每个所述BlendShape模型对应的权重系数;
确定模块,用于根据所述N个BlendShape模型对应的权重系数、N个预设骨骼驱动系数和基底蒙皮骨骼模型,确定所述基底蒙皮骨骼模型中各节点对应的目标骨骼驱动系数,以根据所述目标骨骼驱动系数,得到所述待处理图像对应的目标图像;其中,所述BlendShape模型的骨骼和所述基底蒙皮骨骼模型的骨骼相同。
13.根据权利要求12所述的装置,所述确定模块包括第一确定子模块和第二确定子模块;
所述第一确定子模块,用于确定所述基底蒙皮骨骼模型中各节点对应的目标骨骼驱动系数,并根据所述目标骨骼驱动系数和所述基底蒙皮骨骼模型,生成所述骨骼驱动模型;
所述第二确定子模块,用于对所述骨骼驱动模型进行渲染,得到所述目标图像。
14.根据权利要求12所述的装置,所述确定模块还包括第三确定子模块和第四确定子模块;
所述第三确定子模块,用于确定所述基底蒙皮骨骼模型中各节点对应的目标骨骼驱动系数;
所述第四确定子模块,用于将所述目标骨骼驱动系数发送给终端设备;所述目标骨骼驱动系数用于指示所述终端设备根据所述目标骨骼驱动系数和所述基底蒙皮骨骼模型生成所述骨骼驱动模型,并对所述骨骼驱动模型进行渲染,得到所述目标图像。
15.根据权利要求12-14任一项所述的装置,其中,所述处理模块包括第一处理子模块和第二处理子模块;
所述第一处理子模块,用于针对所述基底蒙皮骨骼模型中各节点,根据各BlendShape模型下的所述节点对应的预设骨骼驱动系数和所述各BlendShape模型下的所述节点的父节点的全局刚性位姿矩阵,确定所述各BlendShape模型下的所述节点的综合刚性变换矩阵;
所述第二处理子模块,用于根据所述N个BlendShape模型对应的权重系数和所述各BlendShape模型下的所述节点的综合刚性变换矩阵,确定所述节点对应的目标骨骼驱动系数。
16.根据权利要求15所述的装置,其中,所述第二处理子模块包括第一处理单元和第二处理单元;
所述第一处理单元,用于对所述N个BlendShape模型对应的权重系数和所述各BlendShape模型下的所述节点的综合刚性变换矩阵进行加权,得到所述节点的加权综合变换矩阵;
所述第二处理单元,用于根据所述节点的加权综合变换矩阵和所述节点的初始全局刚性位姿矩阵,确定所述节点对应的目标骨骼驱动系数。
17.根据权利要求16所述的装置,其中,所述第二处理单元包括第一处理子单元和第二处理子单元;
所述第一处理子单元,用于根据所述节点的加权综合变换矩阵和所述节点的初始全局刚性位姿矩阵,确定所述节点的当前全局刚性位姿矩阵;
所述第二处理子单元,用于根据所述节点的当前全局刚性位姿矩阵和所述节点的父节点的全局刚性位姿矩阵,确定所述节点对应的目标骨骼驱动系数。
18.根据权利要求17所述的装置,其中,
所述第一处理子单元,具体用于计算所述节点的加权综合变换矩阵与所述节点的全局刚性位姿矩阵的第一乘积矩阵;并将所述第一乘积矩阵确定为所述节点的当前全局刚性位姿矩阵。
19.根据权利要求17所述的装置,其中,
所述第二处理子单元,具体用于计算所述节点的当前全局刚性位姿矩阵和所述节点的父节点的全局刚性位姿矩阵的逆矩阵的第二乘积矩阵;并将所述第二乘积矩阵确定为所述节点对应的目标骨骼驱动系数。
20.根据权利要求15所述的装置,其中,所述第一处理子模块包括第三处理单元和第四处理单元;
所述第三处理单元,用于根据各BlendShape模型下的所述节点对应的预设骨骼驱动系数和所述各BlendShape模型下的所述节点的父节点的全局刚性位姿矩阵,确定所述各BlendShape模型下的所述节点的当前全局刚性位姿矩阵;
所述第四处理单元,用于根据所述各BlendShape模型下的所述节点的当前全局刚性位姿矩阵和所述节点的初始全局刚性位姿矩阵确定所述各BlendShape模型下的所述节点的综合刚性变换矩阵。
21.根据权利要求20所述的装置,其中,
所述第三处理单元,具体用于计算所述各BlendShape模型下的所述节点对应的预设骨骼驱动系数和所述各BlendShape模型下的所述节点的父节点的全局刚性位姿矩阵的第三乘积矩阵;并将所述第三乘积矩阵确定为所述各BlendShape模型下的所述节点的当前全局刚性位姿矩阵。
22.根据权利要求20所述的装置,其中,
所述第四处理单元,具体用于计算所述各BlendShape模型下的所述节点的当前全局刚性位姿矩阵和所述节点的初始全局刚性位姿矩阵的逆矩阵的第四乘积矩阵;并将所述第四乘积矩阵确定为所述各BlendShape模型下的所述节点的综合刚性变换矩阵。
23.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-11中任一项所述的图像处理方法。
24.一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行权利要求1-11中任一项所述的图像处理方法。
25.一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时,实现上述权利要求1-11中任一项所述的图像处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011425375.4A CN112562043B (zh) | 2020-12-08 | 2020-12-08 | 图像处理方法、装置和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011425375.4A CN112562043B (zh) | 2020-12-08 | 2020-12-08 | 图像处理方法、装置和电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112562043A true CN112562043A (zh) | 2021-03-26 |
CN112562043B CN112562043B (zh) | 2023-08-08 |
Family
ID=75059827
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011425375.4A Active CN112562043B (zh) | 2020-12-08 | 2020-12-08 | 图像处理方法、装置和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112562043B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113628307A (zh) * | 2021-08-02 | 2021-11-09 | 聚好看科技股份有限公司 | 一种三维模型的骨骼驱动方法及设备 |
CN114724254A (zh) * | 2022-05-16 | 2022-07-08 | 北京百度网讯科技有限公司 | 确定动作类别的方法、装置、设备、存储介质及程序产品 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080129737A1 (en) * | 2006-12-05 | 2008-06-05 | Ji Hyung Lee | Method and system of producing cartoon animation using character animation and mesh deformation |
US20170032055A1 (en) * | 2015-07-27 | 2017-02-02 | Technische Universiteit Delft | Linear Blend Skinning Weight Optimization Utilizing Skeletal Pose Sampling |
CN108711182A (zh) * | 2018-05-03 | 2018-10-26 | 广州爱九游信息技术有限公司 | 渲染处理方法、装置及移动终端设备 |
JP6487083B1 (ja) * | 2018-03-07 | 2019-03-20 | 株式会社スクウェア・エニックス | ウェイトマップの局所性を考慮したスキニング分解高速化方法及び同スキニング分解高速化プログラム |
CN109993819A (zh) * | 2019-04-09 | 2019-07-09 | 网易(杭州)网络有限公司 | 虚拟角色的蒙皮方法及装置、电子设备 |
CN110111247A (zh) * | 2019-05-15 | 2019-08-09 | 浙江商汤科技开发有限公司 | 人脸变形处理方法、装置及设备 |
CN111260764A (zh) * | 2020-02-04 | 2020-06-09 | 腾讯科技(深圳)有限公司 | 一种制作动画的方法、装置及存储介质 |
-
2020
- 2020-12-08 CN CN202011425375.4A patent/CN112562043B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080129737A1 (en) * | 2006-12-05 | 2008-06-05 | Ji Hyung Lee | Method and system of producing cartoon animation using character animation and mesh deformation |
US20170032055A1 (en) * | 2015-07-27 | 2017-02-02 | Technische Universiteit Delft | Linear Blend Skinning Weight Optimization Utilizing Skeletal Pose Sampling |
JP6487083B1 (ja) * | 2018-03-07 | 2019-03-20 | 株式会社スクウェア・エニックス | ウェイトマップの局所性を考慮したスキニング分解高速化方法及び同スキニング分解高速化プログラム |
CN108711182A (zh) * | 2018-05-03 | 2018-10-26 | 广州爱九游信息技术有限公司 | 渲染处理方法、装置及移动终端设备 |
CN109993819A (zh) * | 2019-04-09 | 2019-07-09 | 网易(杭州)网络有限公司 | 虚拟角色的蒙皮方法及装置、电子设备 |
CN110111247A (zh) * | 2019-05-15 | 2019-08-09 | 浙江商汤科技开发有限公司 | 人脸变形处理方法、装置及设备 |
CN111260764A (zh) * | 2020-02-04 | 2020-06-09 | 腾讯科技(深圳)有限公司 | 一种制作动画的方法、装置及存储介质 |
Non-Patent Citations (4)
Title |
---|
XIN CHEN等: "Joint Audio-Video Driven Facial Animation", 2018 IEEE INTERNATIONAL CONFERENCE ON ACOUSTICS, SPEECH AND SIGNAL PROCESSING (ICASSP) * |
丁鹏;贾月乐;张静;罗东芳;: "骨骼蒙皮动画设计与实现", 技术与市场, no. 10 * |
宋丽丽;田丰林;陈戈;: "基于VTF的海洋生物骨骼动画系统设计与实现", 计算机与现代化, no. 05 * |
肖安南;张城玮;戴先玉;费婷婷;马银中;: "基于深度图像序列的虚拟人蒙皮动画算法", 计算机与现代化, no. 06 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113628307A (zh) * | 2021-08-02 | 2021-11-09 | 聚好看科技股份有限公司 | 一种三维模型的骨骼驱动方法及设备 |
CN113628307B (zh) * | 2021-08-02 | 2023-07-28 | 聚好看科技股份有限公司 | 一种三维模型的骨骼驱动方法及设备 |
CN114724254A (zh) * | 2022-05-16 | 2022-07-08 | 北京百度网讯科技有限公司 | 确定动作类别的方法、装置、设备、存储介质及程序产品 |
Also Published As
Publication number | Publication date |
---|---|
CN112562043B (zh) | 2023-08-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113643412B (zh) | 虚拟形象的生成方法、装置、电子设备及存储介质 | |
CN112862933B (zh) | 用于优化模型的方法、装置、设备以及存储介质 | |
CN112785674B (zh) | 纹理贴图的生成方法、渲染方法、装置、设备及存储介质 | |
CN112819971B (zh) | 虚拟形象的生成方法、装置、设备和介质 | |
CN112184921A (zh) | 虚拟形象驱动方法、装置、设备和介质 | |
CN112330805B (zh) | 人脸3d模型生成方法、装置、设备及可读存储介质 | |
CN115147265B (zh) | 虚拟形象生成方法、装置、电子设备和存储介质 | |
CN114549710A (zh) | 一种虚拟形象的生成方法、装置、电子设备及存储介质 | |
CN114612600B (zh) | 虚拟形象生成方法、装置、电子设备和存储介质 | |
CN112581573A (zh) | 虚拟形象驱动方法、装置、设备、介质和程序产品 | |
CN112562043B (zh) | 图像处理方法、装置和电子设备 | |
CN115147523A (zh) | 虚拟形象驱动方法及装置、设备、介质和程序产品 | |
CN113380269B (zh) | 视频图像生成方法、装置、设备、介质和计算机程序产品 | |
CN114078184B (zh) | 数据处理方法、装置、电子设备和介质 | |
CN114638919A (zh) | 虚拟形象的生成方法、电子设备、程序产品及用户终端 | |
CN114581586A (zh) | 一种模型基底的生成方法、装置、电子设备及存储介质 | |
CN114549785A (zh) | 一种模型基底的生成方法、装置、电子设备及存储介质 | |
CN113610992B (zh) | 骨骼驱动系数确定方法、装置、电子设备及可读存储介质 | |
CN115937373B (zh) | 虚拟形象驱动方法、装置、设备以及存储介质 | |
CN116030150B (zh) | 虚拟形象生成方法、装置、电子设备和介质 | |
CN116385829B (zh) | 姿态描述信息生成方法、模型的训练方法和装置 | |
CN117194696B (zh) | 基于人工智能的内容生成方法、装置、设备和存储介质 | |
CN114037814B (zh) | 数据处理方法、装置、电子设备和介质 | |
CN114820908B (zh) | 虚拟形象生成方法、装置、电子设备和存储介质 | |
CN116310134A (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 |