CN117808940A - 图像生成方法及装置、存储介质、终端 - Google Patents
图像生成方法及装置、存储介质、终端 Download PDFInfo
- Publication number
- CN117808940A CN117808940A CN202311716958.6A CN202311716958A CN117808940A CN 117808940 A CN117808940 A CN 117808940A CN 202311716958 A CN202311716958 A CN 202311716958A CN 117808940 A CN117808940 A CN 117808940A
- Authority
- CN
- China
- Prior art keywords
- vector
- control
- current
- driving
- vectors
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 58
- 239000013598 vector Substances 0.000 claims abstract description 481
- 239000011159 matrix material Substances 0.000 claims description 19
- 238000004590 computer program Methods 0.000 claims description 15
- 238000012549 training Methods 0.000 claims description 8
- 238000000354 decomposition reaction Methods 0.000 claims description 7
- 238000003062 neural network model Methods 0.000 claims description 6
- 230000009286 beneficial effect Effects 0.000 abstract description 4
- 230000008921 facial expression Effects 0.000 description 23
- 230000014509 gene expression Effects 0.000 description 19
- 230000009471 action Effects 0.000 description 12
- 230000008569 process Effects 0.000 description 9
- 230000001815 facial effect Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 4
- 239000000203 mixture Substances 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 238000013527 convolutional neural network Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 210000004709 eyebrow Anatomy 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000007781 pre-processing Methods 0.000 description 2
- 230000003042 antagnostic effect Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000004424 eye movement Effects 0.000 description 1
- 238000011478 gradient descent method Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
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
- G06T13/40—3D [Three Dimensional] animation of characters, e.g. humans, animals or virtual beings
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Processing Or Creating Images (AREA)
Abstract
一种图像生成方法及装置、存储介质、终端,所述方法包括:获取当前控制向量,当前控制向量包括虚拟对象的N个当前控制数据,所述N个当前控制数据由用户设置;从数据库中查找与当前控制向量相似度最高的K个第一控制向量,记为K个相似控制向量;至少根据K个相似控制向量以及K个相似控制向量匹配的第一驱动向量,确定当前控制向量匹配的当前驱动向量;根据当前驱动向量,生成当前帧图像。本发明提供的方案,有利于高效地生成包含虚拟对象的图像,且图像中虚拟对象呈现用户期望的物理状态。
Description
技术领域
本发明涉及虚拟对象技术领域,尤其涉及一种图像生成方法及装置、存储介质、终端。
背景技术
随着计算机技术的发展,虚拟对象被广泛应用于虚拟现实(Virtual Reality,VR)、动画以及各种游戏中。虚拟对象是一种通过三维建模技术在三维虚拟世界中构建的角色或对象,如何使虚拟对象呈现用户期望的状态是虚拟对象技术领域的研究重点。
目前,现有技术中虚拟对象的图像生成效率仍然有待提高。
发明内容
本发明解决的技术问题是如何提高虚拟对象的图像生成效率。
为解决上述技术问题,本发明实施例提供一种图像生成方法,所述方法包括:获取当前控制向量,所述当前控制向量包括虚拟对象的N个当前控制数据,所述N个当前控制数据由用户设置,N为大于1的正整数;从数据库中查找与所述当前控制向量相似度最高的K个第一控制向量,记为K个相似控制向量,其中,所述数据库记录有向量对集合,所述向量对集合中的每个向量对包括所述第一控制向量和匹配的第一驱动向量,所述第一驱动向量包括M个基准状态的权重值,M为大于1的正整数,K为大于1的正整数;至少根据所述K个相似控制向量以及所述K个相似控制向量匹配的第一驱动向量,确定所述当前控制向量匹配的当前驱动向量;根据所述当前驱动向量,生成当前帧图像,所述当前帧图像中所述虚拟对象呈现所述用户期望的物理状态。
可选的,至少根据所述K个相似控制向量以及所述K个相似控制向量匹配的第一驱动向量,确定所述当前控制向量匹配的当前驱动向量包括:计算所述当前控制向量相对于所述K个相似控制向量的残差控制向量;计算所述残差控制向量匹配的第一驱动向量;基于每个相似控制向量的权重值,对所述K个相似控制向量匹配的第一驱动向量进行加权求和,得到第二驱动向量,其中,所述权重值根据所述相似控制向量和所述当前控制向量的相似度确定;计算残差控制向量匹配的第一驱动向量和所述第二驱动向量之和,得到所述当前驱动向量。
可选的,计算所述当前控制向量相对于所述K个相似控制向量的残差控制向量包括:基于每个相似控制向量的权重值,对所述K个相似控制向量进行加权求和,得到第二控制向量;计算所述当前控制向量和所述第二控制向量中各个控制数据的差值,得到所述残差控制向量。
可选的,所述N个当前控制数据为所述虚拟对象的模板中N个控制点的当前位置数据,所述数据库还记录有每个控制点匹配的第一驱动向量,计算所述残差控制向量匹配的第一驱动向量包括:确定所述残差控制向量中非零的位置数据对应的控制点,记为非零控制点;针对每个非零控制点,计算该非零控制点匹配的第一驱动向量和该非零控制点在所述残差控制向量中的位置数据的乘积,记为该非零控制点的第一结果;计算所有所述非零控制点的第一结果之和,得到所述残差控制向量匹配的第一驱动向量。
可选的,获取当前控制向量之前,所述方法还包括:获取初始向量对集合;对所述初始向量对集合中所有向量对构成的第一矩阵进行奇异值分解去噪处理,得到第二矩阵;对所述第二矩阵进行LU分解,得到第三矩阵;对所述第三矩阵进行拆分,得到所述向量对集合。
可选的,在根据所述当前驱动向量,生成当前帧图像之前,所述方法还包括:采用所述向量对集合作为训练数据,对预设的神经网络模型进行训练,得到驱动向量生成模型;将所述当前控制向量输入至所述驱动向量生成模型,得到第三驱动向量;采用所述第三驱动向量对所述当前驱动向量进行校验。
可选的,所述方法应用于三维引擎中。
本发明实施例还提供一种图像生成装置,所述装置包括:获取模块,用于获取当前控制向量,所述当前控制向量包括虚拟对象的N个当前控制数据,所述N个当前控制数据由用户设置,N为大于1的正整数;查找模块,用于从数据库中查找与所述当前控制向量相似度最高的K个第一控制向量,记为K个相似控制向量,其中,所述数据库记录有向量对集合,所述向量对集合中的每个向量对包括所述第一控制向量和匹配的第一驱动向量,所述第一驱动向量包括M个基准状态的权重值,M为大于1的正整数,K为大于1的正整数;计算模块,用于至少根据所述K个相似控制向量以及所述K个相似控制向量匹配的第一驱动向量,确定所述当前控制向量匹配的当前驱动向量;驱动模块,用于根据所述当前驱动向量,生成当前帧图像,所述当前帧图像中所述虚拟对象呈现所述用户期望的物理状态。
本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器运行时,执行上述图像生成方法的步骤。
本发明实施例还提供一种终端,包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,所述处理器运行所述计算机程序时执行上述图像生成方法的步骤。
与现有技术相比,本发明实施例的技术方案具有以下有益效果:
在本发明实施例的方案中,通过提高基于控制向量得到对应的驱动向量的效率,来提高虚拟角色的图像生成效率。具体而言,预先构建向量对集合,每个向量对集合包括第一控制向量和匹配的第一驱动向量,每当获取当前控制向量时,从向量对集合中查找确定K个相似控制向量,然后至少基于K个相似控制向量匹配的第一驱动向量,确定当前控制向量匹配的当前驱动向量,从而基于当前驱动向量生成虚拟对象的当前图像帧。相较于人为基于控制向量反复调试确定对应的驱动向量以及通过提取表达式再基于表达式解算的方法,上述方案能够高效地得到控制向量对应的驱动向量,从而有利于提高虚拟对象的图像帧的生成效率。
进一步,本发明实施例的方案中,计算残差控制向量及其匹配的第一驱动向量,并根据残差控制向量匹配的第一驱动向量计算当前驱动向量,采用这样的方案,能够在基于相似控制向量匹配的第一驱动向量推算当前驱动向量的前提下,保留当前控制向量所表征的物理状态细节,有利于保证生成的图像帧中虚拟对象的物理状态更加还原或接近当前控制向量所期望或表征的状态。
附图说明
图1是本发明实施例中一种虚拟对象的面部模板的示意图;
图2是本发明实施例中一种图像生成方法的流程示意图;
图3是图2中步骤S23的一种具体实施方式的示意图;
图4是本发明实施例中一种图像生成装置的结构示意图。
具体实施方式
如背景技术所述,虚拟对象的图像生成效率仍有待提高。
在虚拟对象的表情设计阶段,为了便于动画师更加直观地设置虚拟对象的面部表情,面部绑定控制(facial rig control)技术应运而生。在面部绑定控制技术中,由动画师通过操纵虚拟对象面部的控制点来控制虚拟对象的面部状态,以实现虚拟对象的表情设计。然而,动画师设置的控制点数据并不能直接用于虚拟对象的动画生成,而是需要将控制点数据转化为混合形状数据,然后再根据混合形状数据生成虚拟对象动画。混合形状是计算机图形学中的一种技术,常用于对象动画和面部表情的建模和动画制作。
在现有技术中,对于动画师设置的控制点数据,通常通过专业技术人员反复调试或者通过复杂的表达式解算过程来得到对应的混合形状数据,从而导致虚拟对象面部表情动画的生成效率较低。
类似的,在虚拟对象的肢体动作、虚拟对象的眼部动作等生成场景中也存在上述问题。也即,用户直接能够设置的数据无法直接用于虚拟对象的图像生成,而是需要通过复杂过程转换为能够直接用于图像生成的数据,导致虚拟对象的图像生成效率较低。
有鉴于此,本发明实施例提供一种图像生成方法,在本发明实施例的方案中,通过提高基于控制向量得到对应的驱动向量的效率,来提高虚拟角色的图像生成效率。具体而言,预先构建向量对集合,每个向量对集合包括第一控制向量和匹配的第一驱动向量,每当获取当前控制向量时,从向量对集合中查找确定K个相似控制向量,然后至少基于K个相似控制向量匹配的第一驱动向量,确定当前控制向量匹配的当前驱动向量,从而基于当前驱动向量生成虚拟对象的当前图像帧。相较于人为基于控制向量反复调试确定对应的驱动向量以及通过提取表达式再基于表达式解算的方法,上述方案能够高效地得到控制向量对应的驱动向量,从而有利于提高虚拟对象的图像帧的生成效率。
下面首先对本发明实施例中的部分名词进行解释,以便本领域技术人员理解。
1.虚拟对象
本申请实施例中的虚拟对象可以是指在虚拟场景中的对象。其中,虚拟场景可以是游戏场景,但并不限于此。例如,虚拟对象可以是虚拟人或数字人。又例如,虚拟对象可以是指虚拟动物、虚拟植物等。再例如,虚拟对象可以是虚拟物体,如虚拟房屋、虚拟道具等。
2.面部模板
面部模板是虚拟对象的面部的模板,通过对面部模板的控制,可以生成虚拟对象的各种面部表情。参照图1,图1是本发明实施例中一种虚拟对象的面部模板的示意图。图1中的面部模板10是二维模板,面部模板10上预先设置有N个控制点11,N为大于1的正整数,本发明实施例对于N的具体取值并不限定。
其中,每个控制点11具有可移动范围,各个控制点11可以在各自的可移动范围内移动。可移动范围可以是一维的,如图1中的可移动范围121;可移动范围也可以是二维的,如图1中的可移动范围122。用户可以调整控制点11在可移动范围内的位置来设计期望的表情。一个或多个控制点11的位置发生变化时,虚拟对象的面部表情也会随之变化。
需要说明的是,本发明实施例中的“控制点”可以称之为“控制器”等。
3.控制向量
本发明实施例中的控制向量可以包含由用户设置的N个控制数据,用户通过设置N个控制数据的值来控制虚拟对象的物理状态。需要说明的是,本发明实施例对于控制向量中控制数据的类型并不限制。
例如,在虚拟对象的面部表情生成场景中,控制数据可以为虚拟对象的面部模板中控制点的位置数据。
本文主要以控制数据为虚拟对象的面部模板中控制点的位置数据为例对方案进行描述。用户设置虚拟对象的面部模板中控制点的位置数据来控制虚拟对象的面部表情。
具体的,控制向量可以用于表征各个控制点的属性信息,该属性信息可以包括位置信息,例如可移动的位置范围。在本发明实施例中,控制向量可以包括N个控制点的位置数据,也即,控制向量包括N个控制点在各自可移动范围内的位置或坐标。
具体的,对于一维的可移动范围,其可移动范围可以为[-1,1]或者[0,1]。对于二维的可移动范围,可以将其视为两个一维的可移动范围,其中,每个一维的可移动范围可以为[-1,1]或者[0,1]。本发明实施例的方案中,各个一维的可移动范围可以是相同的,例如,均可以为[0,1]。
在控制向量包括面部模板中N个控制点的位置数据的情况下,控制向量也可以称之为控制点向量。
需要说明的是,在其他实施例中,控制数据可以是虚拟对象的眼部模板中N个控制点的位置数据,用户通过设置眼部模板中控制点的数据来控制虚拟对象的眼部动作。或者,控制数据可以是虚拟对象的肢体模板中N个控制点的位置数据,用户通过设置肢体模板中N个控制点的位置数据来控制虚拟对象的肢体动作。
4.第一驱动向量
第一驱动向量可以是指直接用于生成图像的向量。具体的,第一驱动向量可以是驱动图像中虚拟对象呈现特定物理状态的向量。
具体地,第一驱动向量可以包括M个基准状态的权重值,M为大于1的正整数,本发明实施例对于M的具体取值并不限定。其中,基准状态可以是预定义的标准状态。通过对第一驱动向量中M个基准状态进行加权求和,能够得到个性化的物理状态。通过控制基准状态的权重值,可以实现图像中虚拟对象物理状态的个性化。一个或多个基准状态的权重值发生变化,图像中虚拟对象的物理状态均会相应地发生变化。
以包含虚拟对象的面部表情的图像生成为例,基准状态可以是指基准混合形状,也即,第一驱动向量可以包括M个基准混合形状的权重值。在第一驱动向量包括M个基准混合形状的权重值的情况下,第一驱动向量也可以称之为第一混合形状向量。
其中,基准混合形状可以是预先设置的标准表情,例如,可以是:微笑、张嘴、眼睛向上看、皱眉、挑左眉、挑右眉等,M个基准混合形状各不相同。通过对M个基准混合形状进行加权求和,可以得到虚拟对象的面部表情。其中,通过控制基准混合形状的权重值,可以实现面部动画中虚拟对象面部表情的个性化。一个或多个基准混合形状的权重值发生变化,面部动画中虚拟对象的表情均会相应地发生变化。在实际应用中,基准混合形状还可以被称之为“基础表情”、“标准混合形状”、“基准表情”、“表情基”等。
再以包含虚拟对象的肢体动作的图像生成为例,基准状态可以是指基准动作,也即,第一驱动向量可以包括M个基准动作的权重值。其中,基准动作可以是预先设置的标准动作,M个基准动作各不相同。通过对M个基准动作进行加权求和,可以得到虚拟对象的肢体动作。其中,通过控制基准动作的权重值,可以实现图像中虚拟对象肢体动作的个性化。一个或多个基准动作的权重值发生变化,图像中虚拟对象的肢体动作均会相应地发生变化。
5.向量对集合
向量对集合包括多个向量对,每个向量对包括一个第一控制向量和该第一控制向量匹配的第一驱动向量。向量对集合中的第一控制向量可以是预先设置的控制向量,第一控制向量匹配的第一驱动向量可以是基于现有方案预先得到的,例如,可以是通过表达式解算得到的。
其中,第一驱动向量和第一控制向量匹配可以是指:由第一控制向量呈现的虚拟对象的物理状态和第一驱动向量生成的虚拟对象的物理状态是一致的。
以第一控制向量包括面部模板中N个控制点的位置数据,第一驱动向量包括M个基准混合形状的权重值为例,第一驱动向量和第一控制向量匹配可以是指:由第一控制向量呈现的虚拟对象的面部表情和第一驱动向量生成的虚拟对象的面部表情是一致的。
下面对本发明实施例的方案进行具体描述。
参照图2,图2是本发明实施例中一种图像生成方法的流程示意图。图2示出的方法可以由终端执行,所述终端可以具有数据接收和数据处理能力。具体的,终端可以与数据库耦接,数据库中记录有上述的向量对集合。
需要说明的是,图2示出的方法可以应用于虚拟对象的面部表情生成的场景中。图2示出的方法也可以应用于虚拟对象的肢体动作或眼部动作生成的场景中,但并不限于此。下文主要以面部表情生成场景为例进行示例性的描述。
图2示出的方法可以包括以下步骤:
步骤S21:获取当前控制向量,当前控制向量包括虚拟对象的N个当前控制数据,N为大于1的正整数;
步骤S22:从数据库中查找与当前控制向量相似度最高的K个第一控制向量,记为K个相似控制向量;
步骤S23:至少根据所述K个相似控制向量以及所述K个相似控制向量匹配的第一驱动向量,确定所述当前控制向量匹配的当前驱动向量;
步骤S24:根据当前驱动向量,生成当前帧图像,所述当前帧图像中所述虚拟对象呈现所述用户期望的物理状态。
在步骤S21中,当前控制向量包括虚拟对象的N个当前控制数据。其中,当前控制向量可以是由用户设定的,所述用户是指虚拟对象的设计者,例如,可以是动画师等。
示例性的,在虚拟对象的面部表情生成的应用场景中,当前控制向量包括面部模板中N个控制点的当前位置数据。如上文所述,用户可以通过调整面部模板中控制点的位置来设定当前控制点向量。在其他实施例中,用户可以设定多帧动画帧中每个控制点的运动轨迹,当前控制点向量可以是N个控制点的运动轨迹中当前帧对应的位置数据。
本发明实施例的方案中,数据库记录有向量对集合,向量对集合是预先构建并存储于数据库中。
在本发明的一实施例中,为了使数据库中的向量对之间尽可能地极大无关,在将向量对集合写入数据库之前,可以先进行预处理。具体的,可以将预先构建的多个向量对记为初始向量对集合,通过对初始向量对集合进行预处理得到向量对集合,并写入数据库中。
其中,预处理过程可以包括以下步骤:首先,基于初始向量对集合构建第一矩阵。具体的,将每个向量对中第一控制向量和第一驱动向量进行拼接,得到拼接后的向量。由此,通过拼接,将每个向量对转化为单个向量。进一步将所有向量对所对应的拼接后的向量组成第一矩阵。其次,对第一矩阵进行奇异值分解(Singular Value Decomposition,SVD)去噪处理,得到第二矩阵。其中,SVD去噪处理可以是现有的SVD去噪处理流程,本发明实施例对此并不限制。然后,对第二矩阵进行LU分解(LU Decomposition),得到第三矩阵。最后,对第三矩阵进行拆分,即可得到预处理后的向量对集合。其中,对于第三矩阵的拆分过程可以是基于初始向量对集合构建第一矩阵的逆过程。
在步骤S22中,在数据库中查找与当前控制向量相似度最高的K个第一控制向量,记为K个相似控制向量。其中,K为大于1的正整数。示例性的,K=4,但并不限于此。
具体的,在查找过程中,计算当前控制向量和向量对集合中各个第一控制向量之间的相似度,并将相似度最高的K个第一控制向量作为相似控制向量。
示例性的,当前控制向量和第一控制向量之间的相似度可以是当前控制向量和第一控制向量的余弦相似度(Cosine Similarity),或者,也可以是当前控制向量和第一控制向量的欧式距离(Euclidean Distance)等,还可以是其他现有的用于衡量向量之间相似度的指标,本实施例对此并不限制。
通过步骤S22不仅可以确定K个相似控制向量,还可以一并确定K个相似控制向量匹配的第一驱动向量。
在步骤S23中,至少根据K个相似控制向量以及K个相似控制向量匹配的第一驱动向量,确定当前控制向量匹配的当前驱动向量。
在一实施例中,可以对K个相似控制向量匹配的第一驱动向量进行加权求和,得到当前控制向量匹配的当前驱动向量。
具体的,可以先根据K个相似控制向量和当前驱动向量的相似度,确定K个相似控制向量中每个相似控制向量的权重值,然后根据K个相似控制向量的权重值,对K个相似控制向量匹配的第一驱动向量进行加权求和,得到当前驱动向量。其中,对K个第一驱动向量进行加权求和时,每个第一驱动向量的权重值即为该第一驱动向量匹配的相似控制向量的权重值。
本发明实施例的方案中,相似控制向量与当前控制向量的相似度越高,权重值越大。示例性的,K个相似控制向量的权重值可以是对K个相似控制向量和当前控制向量的相似度(如欧式距离等)进行归一化得到的。
由于相似控制向量和当前控制向量之间的相似度通常是有限的,上述方案中仅基于相似控制向量匹配的第一驱动向量计算结果,可能丢失当前控制向量期望体现的局部细节。
以面部表情生成的应用场景为例,仅基于相似控制向量匹配的第一驱动向量计算结果,可能丢失当前控制向量期望体现的局部表情,例如,可能会丢失细微的表情,如眼睛的细节动作等。为此,本发明的另一实施例中对上述方案进行进一步优化。
参照图3,图3是图2中步骤S23的一种具体实施方式的流程示意图。如图3所示,步骤S23可以包括步骤S231至步骤S234。
步骤S231,计算当前控制向量相对于K个相似控制向量的残差控制向量。
具体的,可以先基于每个相似控制向量的权重值,对K个相似控制向量进行加权求和,得到第二控制向量。也即,第二控制向量是对K个相似控制向量进行加权求和的结果。其中,每个相似控制向量的权重值可以参照上文的相关描述,在此不再赘述。
进一步地,可以将当前控制向量减去第二控制向量,得到残差控制向量。更具体地,可以将当前控制向量中每个控制数据减去第二控制向量中对应维度的控制数据,从而得到残差控制向量。例如,控制数据为面部模板中控制点的位置数据,可以将当前控制向量中每个位置数据减去第二控制向量中对应维度的位置数据,从而得到残差控制向量。
步骤S232,计算残差控制向量匹配的第一驱动向量。
具体的,数据库还记录有每个控制数据匹配的第一驱动向量。其中,每个控制数据匹配的第一驱动向量可以是预先构建并存储于数据库中,例如,可以是采用现有方法(如基于表达式解算等)来得到的。
更具体地,每个控制数据匹配的第一驱动向量是指,该控制数据为参考值时且N个控制数据中除该控制数据以外的其他控制数据均为0时所对应的第一驱动向量。
在S232中,可以先确定残差控制向量中非零的控制数据。
进一步地,可以根据非零的控制数据匹配的第一驱动向量和残差控制向量,确定残差控制向量对当前驱动向量的影响。
具体的,针对每个非零的控制数据,可以计算残差控制向量中该非零控制数据和该非零控制数据匹配的第一驱动向量的乘积,得到该非零控制数据的第一结果。进一步的,计算所有非零控制数据的第一结果的和,从而得到残差控制向量匹配的第一驱动向量。
以面部表情生成的场景为例,控制数据为面部模板中控制点的位置数据,数据库还记录有N个控制点中每个控制点匹配的第一驱动向量。其中,每个控制点匹配的第一驱动向量可以是预先构建并存储于数据库中,例如,可以是采用现有方法(如基于表达式解算等)来得到的。
更具体地,每个控制点匹配的第一驱动向量是指,该控制点的位置数据为可移动范围的最大值(例如1)时且N个控制点中除该控制点以外的其他控制点的位置数据均为0时,虚拟角色的面部表情所对应的第一驱动向量。
在S232中,可以先确定残差控制向量中非零的位置数据对应的控制点,记为非零控制点。由此,可以确定残差控制向量对应的一个或多个非零控制点。
进一步地,可以根据非零控制点匹配的第一驱动向量和残差控制向量,确定残差控制向量对当前驱动向量的影响。
具体的,针对每个非零控制点,可以计算残差控制向量中该非零控制点的位置数据和该非零控制点匹配的第一驱动向量的乘积,得到该非零控制点的第一结果。进一步的,计算所有非零控制点的第一结果的和,从而得到残差控制向量匹配的第一驱动向量。其中,残差控制向量匹配的第一驱动向量即为残差控制向量对当前驱动向量的影响。
步骤S233,基于每个相似控制向量的权重值,对K个相似控制向量匹配的第一驱动向量进行加权求和,得到第二驱动向量。也即,第二驱动向量为K个第一驱动向量的加权求和的结果,第一驱动向量的权重值即为该第一驱动向量匹配的相似控制向量的权重值。
步骤S234,计算残差控制向量匹配的第一驱动向量和第二驱动向量之和,得到当前驱动向量。
更具体的,可以将残差控制向量匹配的第一驱动向量中每个权重值和第二驱动向量中对应维度的权重值进行相加,从而得到当前驱动向量。
由上,图3示出的方案中,计算残差控制向量及其匹配的第一驱动向量,并根据残差控制向量匹配的第一驱动向量计算当前驱动向量,能够在基于相似控制向量匹配的第一驱动向量推算当前驱动向量的前提下,保留当前控制向量所表征的物理细节,有利于保证生成的虚拟对象的效果。
继续参照图2,在步骤S24中,可以根据上述得到的当前驱动向量,得到虚拟角色的当前图像帧。
具体的,当前驱动向量包含M个基准状态的权重值,可以基于M个基准状态以及各个基准状态对应的权重值,生成虚拟对象的当前图像帧,在当前图像帧中虚拟对象呈现的物理状态与当前控制点向量相匹配。
以面部表情生成的应用场景为例,当前驱动向量包含当前面部表情对应的M个基准混合形状的权重值,可以基于M个基准混合形状以及各个基准混合形状对应的权重值,生成虚拟角色的当前图像帧,在当前图像帧中虚拟对象呈现当前控制向量所对应的面部表情。
需要说明的是,关于步骤S24中基于驱动向量生成虚拟对象图像帧的更多内容可以参照现有的虚拟对象的图像生成的具体方案,本实施例对此并不限定。例如,在面部表情生成场景中,基于驱动向量生成面部表情图像帧的内容可以参照现有的基于blendshape生成图像的具体方案,本实施例对此并不限定。
在本发明的其他实施例中,也可以将向量对集合作为训练数据,对预设的神经网络模型进行训练,得到驱动向量生成模型。其中,神经网络模型可以是现有的各种适当的模型,例如,可以是卷积神经网络模型(Convolutional Neural Networks,CNN)、深度神经网络模型(Deep Neural Network,DNN)、生成式对抗神经网络(Generative AdversarialNetwork,GAN)等。此外,对神经网络模型进行训练的训练方法也可以是现有的适当的训练方法,如梯度下降法等。
在获取当前控制向量之后,可以将当前控制向量输入至驱动向量生成模型,得到驱动向量生成模型输出的第三驱动向量,并将第三驱动向量作为当前控制向量匹配的当前驱动向量。也即,可以采用机器学习的方法生成模型,采用模型基于控制数据对应的驱动向量,相较于人为确定或表达式解算的方案,也有利于提高得到驱动向量的效率,从而有利于提高图像生成效率。
在一个非限制性的例子中,可以采用第三驱动向量对步骤S23中得到的当前驱动向量进行校验。具体的,在步骤S24之前,可以先计算第三驱动向量和步骤S23中得到的当前驱动向量之间的相似度,若相似度大于或等于设定的门限值,则可以根据步骤S23中得到的当前驱动向量生成当前图像帧;若相似度小于设定的门限值,则可以将当前驱动向量发送至用户,并提醒用户对当前驱动向量进行修正,在步骤S24中,可以根据用户修正后的驱动向量生成当前动画帧。采用上述方案,有利于进一步保证得到准确的驱动向量,从而确保生成的图像帧中虚拟对象的物理状态呈现用户期望的效果。
由上,本发明实施例提供的方案能够高效地得到控制向量对应的驱动向量,从而有利于提高虚拟对象图像的生成效率。在实际应用中,本发明实施例提供的方法可以应用于虚拟对象相关的各类引擎中,例如,可以应用于三维引擎中,但并不限于此。其中,三维引擎可以是游戏引擎,或者渲染引擎等。
可以理解的是,在具体实施中,上述方法可以采用软件程序的方式实现,该软件程序运行于芯片或芯片模组内部集成的处理器中;或者,该方法可以采用硬件或者软硬结合的方式来实现,例如用专用的芯片或芯片模组来实现,或者,用专用的芯片或芯片模组结合软件程序来实现。
参照图4,图4是本发明实施例中一种图像生成装置的结构示意图,如图4所示,图4示出的装置包括:
获取模块41,用于获取当前控制向量,所述当前控制向量包括虚拟对象的N个当前控制数据,所述N个当前控制数据由用户设置,N为大于1的正整数;
查找模块42,用于从数据库中查找与所述当前控制向量相似度最高的K个第一控制向量,记为K个相似控制向量,其中,所述数据库记录有向量对集合,所述向量对集合中的每个向量对包括所述第一控制向量和匹配的第一驱动向量,K为大于1的正整数;
计算模块43,用于至少根据所述K个相似控制向量以及所述K个相似控制向量匹配的第一驱动向量,确定所述当前控制向量匹配的当前驱动向量;
驱动模块44,用于根据所述当前驱动向量,生成当前帧图像,所述当前帧图像中所述虚拟对象呈现所述用户期望的物理状态。
关于本发明实施例中图像生成装置的工作原理、工作方法和有益效果等更多内容,可以参照上文关于图像生成方法的相关描述,在此不再赘述。
本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器运行时,执行上述的图像生成方法的步骤。所述存储介质可以包括ROM、RAM、磁盘或光盘等。所述存储介质还可以包括非挥发性存储器(non-volatile)或者非瞬态(non-transitory)存储器等。
本发明实施例还提供一种终端,包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,所述处理器运行所述计算机程序时执行上述图像生成方法的步骤。所述终端包括但不限于手机、计算机、平板电脑等终端设备。
应理解,本申请实施例中,所述处理器可以为中央处理单元(central processingunit,简称CPU),该处理器还可以是其他通用处理器、数字信号处理器(digital signalprocessor,简称DSP)、专用集成电路(application specific integrated circuit,简称ASIC)、现成可编程门阵列(field programmable gate array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
还应理解,本申请实施例中的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,简称ROM)、可编程只读存储器(programmable ROM,简称PROM)、可擦除可编程只读存储器(erasable PROM,简称EPROM)、电可擦除可编程只读存储器(electricallyEPROM,简称EEPROM)或闪存。易失性存储器可以是随机存取存储器(random accessmemory,简称RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的随机存取存储器(random access memory,简称RAM)可用,例如静态随机存取存储器(staticRAM,简称SRAM)、动态随机存取存储器(DRAM)、同步动态随机存取存储器(synchronousDRAM,简称SDRAM)、双倍数据速率同步动态随机存取存储器(doubledata rate SDRAM,简称DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,简称ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,简称SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,简称DR RAM)
上述实施例,可以全部或部分地通过软件、硬件、固件或其他任意组合来实现。当使用软件实现时,上述实施例可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令或计算机程序。在计算机上加载或执行所述计算机指令或计算机程序时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以为通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机程序可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机程序可以从一个网站站点、计算机、服务器或数据中心通过有线或无线方式向另一个网站站点、计算机、服务器或数据中心进行传输。
在本申请所提供的几个实施例中,应该理解到,所揭露的方法、装置和***,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的;例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式;例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理包括,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。例如,对于应用于或集成于芯片的各个装置、产品,其包含的各个模块/单元可以都采用电路等硬件的方式实现,或者,至少部分模块/单元可以采用软件程序的方式实现,该软件程序运行于芯片内部集成的处理器,剩余的(如果有)部分模块/单元可以采用电路等硬件方式实现;对于应用于或集成于芯片模组的各个装置、产品,其包含的各个模块/单元可以都采用电路等硬件的方式实现,不同的模块/单元可以位于芯片模组的同一组件(例如芯片、电路模块等)或者不同组件中,或者,至少部分模块/单元可以采用软件程序的方式实现,该软件程序运行于芯片模组内部集成的处理器,剩余的(如果有)部分模块/单元可以采用电路等硬件方式实现;对于应用于或集成于终端的各个装置、产品,其包含的各个模块/单元可以都采用电路等硬件的方式实现,不同的模块/单元可以位于终端内同一组件(例如,芯片、电路模块等)或者不同组件中,或者,至少部分模块/单元可以采用软件程序的方式实现,该软件程序运行于终端内部集成的处理器,剩余的(如果有)部分模块/单元可以采用电路等硬件方式实现。
应理解,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,表示前后关联对象是一种“或”的关系。
本申请实施例中出现的“多个”是指两个或两个以上。本申请实施例中出现的第一、第二等描述,仅作示意与区分描述对象之用,没有次序之分,也不表示本申请实施例中对设备个数的特别限定,不能构成对本申请实施例的任何限制。
虽然本发明披露如上,但本发明并非限定于此。任何本领域技术人员,在不脱离本发明的精神和范围内,均可作各种更动与修改,因此本发明的保护范围应当以权利要求所限定的范围为准。
Claims (10)
1.一种图像生成方法,其特征在于,所述方法包括:
获取当前控制向量,所述当前控制向量包括虚拟对象的N个当前控制数据,所述N个当前控制数据由用户设置,N为大于1的正整数;
从数据库中查找与所述当前控制向量相似度最高的K个第一控制向量,记为K个相似控制向量,其中,所述数据库记录有向量对集合,所述向量对集合中的每个向量对包括所述第一控制向量和匹配的第一驱动向量,所述第一驱动向量包括M个基准状态的权重值,M为大于1的正整数,K为大于1的正整数;
至少根据所述K个相似控制向量以及所述K个相似控制向量匹配的第一驱动向量,确定所述当前控制向量匹配的当前驱动向量;
根据所述当前驱动向量,生成当前帧图像,所述当前帧图像中所述虚拟对象呈现所述用户期望的物理状态。
2.根据权利要求1所述的方法,其特征在于,至少根据所述K个相似控制向量以及所述K个相似控制向量匹配的第一驱动向量,确定所述当前控制向量匹配的当前驱动向量包括:
计算所述当前控制向量相对于所述K个相似控制向量的残差控制向量;
计算所述残差控制向量匹配的第一驱动向量;
基于每个相似控制向量的权重值,对所述K个相似控制向量匹配的第一驱动向量进行加权求和,得到第二驱动向量,其中,所述权重值根据所述相似控制向量和所述当前控制向量的相似度确定;
计算残差控制向量匹配的第一驱动向量和所述第二驱动向量之和,得到所述当前驱动向量。
3.根据权利要求2所述的方法,其特征在于,计算所述当前控制向量相对于所述K个相似控制向量的残差控制向量包括:
基于每个相似控制向量的权重值,对所述K个相似控制向量进行加权求和,得到第二控制向量;
计算所述当前控制向量和所述第二控制向量中各个控制数据的差值,得到所述残差控制向量。
4.根据权利要求2所述的方法,其特征在于,所述N个当前控制数据为所述虚拟对象的模板中N个控制点的当前位置数据,所述数据库还记录有每个控制点匹配的第一驱动向量,计算所述残差控制向量匹配的第一驱动向量包括:
确定所述残差控制向量中非零的位置数据对应的控制点,记为非零控制点;针对每个非零控制点,计算该非零控制点匹配的第一驱动向量和该非零控制点在所述残差控制向量中的位置数据的乘积,记为该非零控制点的第一结果;
计算所有所述非零控制点的第一结果之和,得到所述残差控制向量匹配的第一驱动向量。
5.根据权利要求1所述的方法,其特征在于,获取当前控制向量之前,所述方法还包括:
获取初始向量对集合;
对所述初始向量对集合中所有向量对构成的第一矩阵进行奇异值分解去噪处理,得到第二矩阵;
对所述第二矩阵进行LU分解,得到第三矩阵;
对所述第三矩阵进行拆分,得到所述向量对集合。
6.根据权利要求1所述的方法,其特征在于,在根据所述当前驱动向量,生成当前帧图像之前,所述方法还包括:
采用所述向量对集合作为训练数据,对预设的神经网络模型进行训练,得到驱动向量生成模型;
将所述当前控制向量输入至所述驱动生成模型,得到第三驱动向量;
采用所述第三驱动向量对所述当前驱动向量进行校验。
7.根据权利要求1所述的方法,其特征在于,所述方法应用于三维引擎中。
8.一种图像生成装置,其特征在于,所述装置包括:
获取模块,用于获取当前控制向量,所述当前控制向量包括虚拟对象的N个当前控制数据,所述N个当前控制数据由用户设置,N为大于1的正整数;
查找模块,用于从数据库中查找与所述当前控制向量相似度最高的K个第一控制向量,记为K个相似控制向量,其中,所述数据库记录有向量对集合,所述向量对集合中的每个向量对包括所述第一控制向量和匹配的第一驱动向量,所述第一驱动向量包括M个基准状态的权重值,M为大于1的正整数,K为大于1的正整数;
计算模块,用于至少根据所述K个相似控制向量以及所述K个相似控制向量匹配的第一驱动向量,确定所述当前控制向量匹配的当前驱动向量;
驱动模块,用于根据所述当前驱动向量,生成当前帧图像,所述当前帧图像中所述虚拟对象呈现所述用户期望的物理状态。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器运行时,执行权利要求1至7中任一项所述图像生成方法的步骤。
10.一种终端,包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,其特征在于,所述处理器运行所述计算机程序时执行权利要求1至7中任一项所述图像生成方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311716958.6A CN117808940A (zh) | 2023-12-13 | 2023-12-13 | 图像生成方法及装置、存储介质、终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311716958.6A CN117808940A (zh) | 2023-12-13 | 2023-12-13 | 图像生成方法及装置、存储介质、终端 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117808940A true CN117808940A (zh) | 2024-04-02 |
Family
ID=90428853
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311716958.6A Pending CN117808940A (zh) | 2023-12-13 | 2023-12-13 | 图像生成方法及装置、存储介质、终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117808940A (zh) |
-
2023
- 2023-12-13 CN CN202311716958.6A patent/CN117808940A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11908057B2 (en) | Image regularization and retargeting system | |
US12039454B2 (en) | Microexpression-based image recognition method and apparatus, and related device | |
WO2020258668A1 (zh) | 基于对抗网络模型的人脸图像生成方法及装置、非易失性可读存储介质、计算机设备 | |
CN110675475B (zh) | 一种人脸模型生成方法、装置、设备及存储介质 | |
CN108960020A (zh) | 信息处理方法和信息处理设备 | |
US11455765B2 (en) | Method and apparatus for generating virtual avatar | |
US11514638B2 (en) | 3D asset generation from 2D images | |
CN111401216A (zh) | 图像处理、模型训练方法、装置、计算机设备和存储介质 | |
JP2024501986A (ja) | 3次元顔再構築の方法、3次元顔再構築の装置、デバイスおよび記憶媒体 | |
CN111833236B (zh) | 产生模拟用户的三维脸部模型的方法及装置 | |
US20200327726A1 (en) | Method of Generating 3D Facial Model for an Avatar and Related Device | |
CN112149651B (zh) | 一种基于深度学习的人脸表情识别方法、装置及设备 | |
CN113658324A (zh) | 图像处理方法及相关设备、迁移网络训练方法及相关设备 | |
CN107862387A (zh) | 训练有监督机器学习的模型的方法和装置 | |
CN113222841A (zh) | 一种图像处理方法、装置、设备及介质 | |
RU2755396C1 (ru) | Нейросетевой перенос выражения лица и позы головы с использованием скрытых дескрипторов позы | |
CN113822114A (zh) | 一种图像处理方法、相关设备及计算机可读存储介质 | |
JP7479507B2 (ja) | 画像処理方法及び装置、コンピューター機器、並びにコンピュータープログラム | |
CN116469147A (zh) | 人脸表情迁移方法和表情迁移装置、电子设备及存储介质 | |
CN113095134B (zh) | 人脸表情提取模型生成、人脸图像生成方法及装置 | |
CN117808940A (zh) | 图像生成方法及装置、存储介质、终端 | |
CN117011449A (zh) | 三维面部模型的重构方法和装置、存储介质及电子设备 | |
CN110047118B (zh) | 视频生成方法、装置、计算机设备及存储介质 | |
CN114943799A (zh) | 一种面部图像处理方法、装置和计算机可读存储介质 | |
CN117745897A (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 |