CN114332315A - 3d视频生成方法、模型的训练方法及装置 - Google Patents
3d视频生成方法、模型的训练方法及装置 Download PDFInfo
- Publication number
- CN114332315A CN114332315A CN202111494651.7A CN202111494651A CN114332315A CN 114332315 A CN114332315 A CN 114332315A CN 202111494651 A CN202111494651 A CN 202111494651A CN 114332315 A CN114332315 A CN 114332315A
- Authority
- CN
- China
- Prior art keywords
- expression
- pca
- coefficient
- avatar
- sequence
- 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
- 238000000034 method Methods 0.000 title claims abstract description 150
- 238000012549 training Methods 0.000 title claims abstract description 48
- 230000014509 gene expression Effects 0.000 claims abstract description 503
- 238000000513 principal component analysis Methods 0.000 claims abstract description 241
- 230000008859 change Effects 0.000 claims abstract description 100
- 238000012545 processing Methods 0.000 claims abstract description 91
- 238000003062 neural network model Methods 0.000 claims abstract description 80
- 239000011159 matrix material Substances 0.000 claims abstract description 54
- 238000004590 computer program Methods 0.000 claims abstract description 14
- 238000006243 chemical reaction Methods 0.000 claims description 39
- 230000006870 function Effects 0.000 claims description 25
- 238000004364 calculation method Methods 0.000 claims description 22
- 230000033001 locomotion Effects 0.000 claims description 18
- 238000013528 artificial neural network Methods 0.000 claims description 4
- 238000013075 data extraction Methods 0.000 claims description 3
- 230000000306 recurrent effect Effects 0.000 claims 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 27
- 230000008569 process Effects 0.000 description 26
- 230000000694 effects Effects 0.000 description 11
- 238000004891 communication Methods 0.000 description 8
- 239000013598 vector Substances 0.000 description 8
- 230000001815 facial effect Effects 0.000 description 5
- 238000004422 calculation algorithm Methods 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
- 230000009467 reduction Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 208000013875 Heart injury Diseases 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 201000006549 dyspepsia Diseases 0.000 description 1
- 208000024798 heartburn Diseases 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
- 238000002156 mixing Methods 0.000 description 1
- 239000013307 optical fiber Substances 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
- 230000000007 visual effect Effects 0.000 description 1
Images
Landscapes
- Processing Or Creating Images (AREA)
Abstract
本公开提供了一种3D视频生成方法和装置、神经网络模型的训练方法和装置、电子设备、存储介质和计算机程序,涉及图像处理领域,尤其涉及语音、虚拟/增强现实、深度学习领域。具体实现方案为:对多个表情的多个3D虚拟形象序列执行主成分分析PCA处理,得到PCA参数和多个表情的多个PCA系数,3D虚拟形象序列包括按时间顺序排列的多个3D虚拟形象模型;对多个PCA系数执行PCA处理,得到所述表情的均值序列和变化矩阵;以及基于所述表情的均值序列和变化矩阵来生成针对该表情的表情系数,并基于表情系数和PCA参数来生成第一3D视频。
Description
技术领域
本公开涉及图像处理技术领域,尤其涉及语音、虚拟/增强现实、深度学习技术领域,具体涉及一种3D视频生成方法和装置、神经网络模型的训练方法和装置、电子设备、存储介质和计算机程序。
背景技术
在视频制作、电子游戏和自助客服等领域,需要进行3D视频的生成。其中,3D虚拟形象的表情是3D视频生成过程中较为重要的一环。
3D视频的生成通常受到混合动画(Blendshape)的限制,Blendshape大多手工制作,因而生成的3D虚拟形象的表情在表现力和细节方面有所欠缺。
发明内容
本公开提供了一种3D视频生成方法和装置、神经网络模型的训练方法和装置、电子设备、存储介质和计算机程序。
根据本公开的一方面,提供了一种3D视频生成方法,包括:
对多个表情的多个3D虚拟形象序列执行主成分分析PCA处理,得到PCA参数和多个表情的多个PCA系数,所述3D虚拟形象序列包括按时间顺序排列的多个3D虚拟形象模型;
对所述多个PCA系数执行PCA处理,得到所述表情的均值序列和变化矩阵;以及
基于所述表情的均值序列和变化矩阵来生成针对该表情的表情系数,并基于所述表情系数和所述PCA参数来生成第一3D视频。
根据本公开的另一方面,提供了一种神经网络模型的训练方法,包括:
使用所述神经网络模型,基于语音特征和针对静默表情的PCA系数来生成3D虚拟形象的顶点变化系数;
基于所生成的顶点变化系数与目标顶点变化系数来计算损失函数;
根据所述损失函数来调整所述神经网络模型的参数。
根据本公开的另一方面,提供了一种3D视频生成装置,包括:
第一处理模块,用于对多个表情的多个3D虚拟形象序列执行主成分分析PCA处理,得到PCA参数和多个表情的多个PCA系数,所述3D虚拟形象序列包括按时间顺序排列的多个3D虚拟形象模型;
第二处理模块,用于对所述多个PCA系数执行PCA处理,得到所述表情的均值序列和变化矩阵;以及
第一生成模块,用于基于所述表情的均值序列和变化矩阵来生成针对该表情的表情系数,并基于所述表情系数和所述PCA参数来生成第一3D视频。
根据本公开的另一方面,提供了一种神经网络模型的训练装置,包括:
系数生成模块,用于使用所述神经网络模型,基于语音特征和针对静默表情的PCA系数来生成3D虚拟形象的顶点变化系数;
损失计算模块,用于基于所生成的顶点变化系数与目标顶点变化系数来计算损失函数;
调整模块,用于根据所述损失函数来调整所述神经网络模型的参数。
根据本公开的另一方面,提供了一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行实现如上所述的方法。
根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行实现如上所述的方法。
根据本公开的另一方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现如上所述的方法。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本公开的限定。其中:
图1是根据本公开实施例的3D视频生成方法的流程图;
图2是根据本公开实施例的获取PCA参数和PCA系数的方法的流程图;
图3是根据本公开实施例的获取PCA参数和PCA系数的方法的示意图;
图4是根据本公开另一实施例的3D视频生成方法的流程图;
图5是根据本公开实施例的依据PCA系数获取均值序列和变化矩阵的方法的示意图;
图6是根据本公开实施例的生成表情系数的方法的流程图;
图7A和图7B是根据本公开实施例的生成表情系数的方法的示意图;
图8是根据本公开实施例的3D视频生成方法的示意图;
图9是根据本公开另一实施例的3D视频生成方法的流程图;
图10是根据本公开另一实施例的3D视频生成方法的示意图;
图11是根据本公开又一实施例的3D视频生成方法的流程图;
图12是根据本公开又一实施例的3D视频生成方法的示意图;
图13是根据本公开实施例的神经网络模型的训练方法的流程图;
图14是根据本公开实施例的神经网络模型的训练方法的示意图;
图15是根据本公开另一实施例的神经网络模型的训练方法的流程图;
图16是根据本公开实施例的生成训练数据的方法的示意图;
图17是根据本公开实施例的3D视频生成装置的框图;
图18是根据本公开实施例的神经网络模型的训练装置的框图;
图19是用来实现本公开实施例的3D视频生成方法以及神经网络模型的训练方法的电子设备的框图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
图1是根据本公开实施例的3D视频生成方法的流程图。
如图1所示,3D视频生成方法100包括操作S110~S130。
在操作S110,对多个表情的多个3D虚拟形象序列执行主成分分析(PrincipalComponent Analysis,PCA)处理,得到PCA参数和多个表情的多个PCA系数,3D虚拟形象序列包括按时间顺序排列的多个3D虚拟形象模型。
这里所谓的PCA技术,其旨在利用降维思想,将高维数据转换为低维数据,从而提取数据的主要特征分类。在PCA处理过程中,通过将高维特征投影到PCA参数得到低维特征来实现降维,降维得到的特征向量也称作PCA系数。PCA参数是在PCA计算过程中计算得到的,其可以是向量。例如对于一个大小为T*(V*K)的矩阵,PCA参数可以是大小为M*(V*K)的向量,将该矩阵投影到PCA参数,得到的PCA系数可以是大小为T*M的向量,其中T、V、K和M均为大于1的整数。投影过程可以包括计算T*(V*K)矩阵的均值向量,该均值向量的大小为V*K,将T*(V*K)矩阵减去均值向量后与M*(V*K)矩阵的转置相乘,得到T*M的向量。
这里所谓的多个表情例如可以是静默状态下的各种表情(以下称静默表情),例如,静默状态下的微笑表情、愤怒表情、伤心表情、悲伤表情等等,具体不做限定。所谓静默状态可以指的是没有唇动的状态,即不说话的状态。
这里所谓的多个表情的多个3D虚拟形象序列例如可以是针对多个静默表情的多个3D虚拟形象序列,其中每个静默表情对应一个3D虚拟形象序列,而每个3D虚拟形象序列例如可以包括按时间顺序排列的多个3D虚拟形象模型。在本实施例中,每个3D虚拟形象模型可以包括多个3D顶点,每个3D顶点可以由三个维度的坐标来表示,例如x、y和z坐标。构建3D虚拟形象模型的方式可以根据需要采用任何合适的方式,例如采集人物或其他对象的脸部在做表情时多个点的位置变化,并基于采集的信息来构建3D虚拟形象模型,在此不再赘述。需要说明的是,本实施例中的3D虚拟形象序列并不是针对某一特定用户的头部模型,并不能反映出某一特定用户的个人信息。本实施例中的3D虚拟形象序列来自于公开数据集。
在本操作中,对分别针对多个表情的多个3D虚拟形象序列执行PCA处理,得到PCA参数和分别针对多个表情的多个PCA系数,例如,对所有静默表情的3D虚拟形象序列(例如包括微笑、伤心、悲伤等静默表情下的3D虚拟形象序列)进行PCA处理,得到PCA参数,该PCA参数可以是一个矩阵。将每个静默表情的3D虚拟形象序列(例如静默状态下的微笑表情的3D虚拟形象序列)向该PCA参数投影,得到对应每个静默表情(例如静默状态下的微笑表情)的PCA系数,每个静默表情的PCA系数可以是一个序列,其具有一定的序列长度和幅度。
在操作S120,对多个PCA系数执行PCA处理,得到表情的均值序列和变化矩阵。
基于操作S110可知,针对每个表情,可以依据该表情的3D虚拟形象序列得到对应该表情的PCA系数。对对应每个表情的PCA系数进行PCA处理,得到针对该表情的均值序列和变化矩阵。
例如,针对静默状态下的微笑表情,对对应该微笑表情的PCA系数进行PCA处理,得到针对该微笑表情的均值序列和变化矩阵。
均值序列可以包括各个PCA系数的均值,变化矩阵可以是通过将各PCA系数减去均值得到的矩阵。基于以上操作,可以得到静默状态下的其他各种表情的均值序列和变化矩阵,例如包括但不限于愤怒、伤心、悲伤等静默表情的均值序列和变化矩阵,在此不再赘述。
在操作S130,基于表情的均值序列和变化矩阵来生成针对该表情的表情系数,并基于表情系数和PCA参数来生成第一3D视频。
在依据以上描述的方法获得针对每个表情的均值序列和变化矩阵之后,针对每个表情,基于针对该表情的均值序列和变化矩阵来生成针对该表情的表情系数。这里所谓的表情系数可以是一个序列,具有一定的序列长度和幅度,表征了每个表情的特征,用户可以根据实际需要对该表情系数进行适当调整,以使调整后的表情系数更贴切体现3D虚拟形象的特点,从而获取更生动的3D视频。
在获得针对每个表情的表情系数之后,基于该表情系数与依据以上方法获得的PCA参数来生成对应的表情信息,将该表情信息应用于预先构建好的3D基础虚拟形象模型,得到第一3D视频。
这里所谓的预先构建的3D基础虚拟形象模型具体是指闭嘴情况下的3D基础虚拟形象模型,构建3D基础虚拟形象模型的方式可以根据需要采用任何合适的方式,在此不再赘述。
在本实施例中,3D视频一般可应用于电子游戏、视频制作、自助客服等领域,例如,以3D虚拟形象呈现在游戏、动漫或者智能自助服务等场景中,以与用户进行互动。
例如,针对静默状态下的微笑表情,基于该微笑表情的均值序列和变化矩阵来生成针对该微笑表情的表情系数,该表情系数体现了静默状态下微笑表情的特点。基于该表情系数和以上所述的PCA参数来生成具有微笑表情的第一3D视频,该具有微笑表情的第一3D视频体现了连续视频帧下的微笑表情变化。
同样地,基于以上操作,分别可以得到包含静默状态下的其他各种表情的第一3D视频,例如包括但不限于包含愤怒、伤心、悲伤等静默表情的第一3D视频,在此不再赘述。
本公开实施例的技术方案通过多个表情的多个3D虚拟形象序列执行两次PCA处理,并根据处理结果来构建3D视频,使得构建的视频能够体现连续视频帧下的表情变化,从而提供更多面部细节,提高3D虚拟形象的表现力。
本公开实施例的3D视频生成方法由于生成3D视频的过程不受Blendshape的限制,不需要一一手工制作与3D虚拟形象角色相匹配的Blendshape,从而能够根据不同的3D应用场景灵活构建3D基础虚拟形象模型,不仅可以提高具有表情的3D视频的生成效率,降低人工成本,而且可以避免因采用Blendshape而导致的3D虚拟角色选择受限的问题。
图2是根据本公开实施例的获取PCA参数和PCA系数的方法的流程图,图3是根据本公开实施例的获取PCA参数和PCA系数的方法的示意图。下面将参考图2和图3来说明上述操作S110的示例实现方式。
如图2所示,获取PCA参数和PCA系数的方法包括操作S211~S212。
在操作S211,对多个3D虚拟形象序列进行PCA处理,得到PCA参数。
这里所谓的多个3D虚拟形象序列例如可以是基于4D数据生成的,基于该4D数据,可以提取获得分别对应多个静默表情的多个3D虚拟形象序列。
上述4D数据可以通过录制的方式获取,或者可以从数据源(例如网络资源)中提取,具体不做限制。例如4D数据可以包括多个帧,每一帧是一个3D虚拟形象模型。3D虚拟形象模型包括多个顶点,每个顶点可以由三个维度的坐标(例如x、y、z)来表示。也就是说,4D数据可以包括3D虚拟形象模型的时间序列。4D数据还可以包括与3D虚拟形象模型的时间序列对应的音频数据。例如可以通过录制的方式采集诸如人之类的对象(也称作角色)在脸部活动(例如说话、做表情等等)过程中脸部的多个点的位置变化信息以及由于说话而产生的音频数据。基于脸部的多个点的位置变化信息可以生成3D虚拟形象模型的时间序列,生成的3D虚拟形象模型的时间序列与录制的音频数据相结合,得到4D数据。
在本操作中,对多个3D虚拟形象序列进行PCA处理,得到PCA参数与以上描述的方法相同或类似,在此不再赘述。
在操作S212,计算表情的3D虚拟形象序列在PCA参数上的投影,得到针对该表情的PCA系数。
在本操作中,获取上述PCA参数之后,针对每个表情,计算具有该表情的3D虚拟形象序列在PCA参数上的投影,得到针对该表情的PCA系数的过程与以上描述的方式相同,在此不再赘述。
在本公开实施例中,基于4D数据来获取分别针对多个表情的多个3D虚拟形象序列,并对分别针对多个表情的多个3D虚拟形象序列执行PCA处理,以生成PCA参数和多个PCA系数,数据的获取和处理过程更简单、更高效。
图3是根据本公开实施例的获取PCA参数和PCA系数的方法的示意图。
如图3所示,这里所谓的4D数据301例如可以包括各种静默表情的4D虚拟形象数据,所谓的多个3D虚拟形象序列302例如可以是针对多个静默表情的多个3D虚拟形象序列,上述关于4D数据301以及多个3D虚拟形象序列302的定义与以上描述相同或类似,在此不再赘述。需要说明的是,本实施例中的4D数据并不是针对某一特定用户的4D数据,并不能反映出某一特定用户的个人信息。本实施例中的4D数据来自于公开数据集。
例如,根据以上方法获取的4D数据301之后,基于该4D数据301提取针对多个静默表情的多个3D虚拟形象序列302,对所有表情的3D虚拟形象序列进行PCA处理,得到PCA参数303。针对每个静默表情(例如静默状态下的微笑表情),计算每个表情的3D虚拟形象序列302在PCA参数303上的投影,得到针对该表情(例如静默状态下的微笑表情)的PCA系数304。
在本公开实施例中,基于4D数据301来获取分别针对多个表情的多个3D虚拟形象序列302,并对分别针对多个表情的多个3D虚拟形象序列302执行PCA处理,以生成PCA参数303和多个PCA系数304,数据的获取和处理过程更简单、更高效。
图4是根据本公开另一实施例的3D视频生成方法的流程图。
如图4所示,在本实施例中,3D视频生成方法400包括操作S410~S440。其中,操作S410与操作S430~S440可以分别与操作S110、操作S120~S130以相同或类似的方式实现,重复的部分不再详细赘述。
在操作S410,对多个表情的多个3D虚拟形象序列执行PCA处理,得到PCA参数和多个表情的多个PCA系数,3D虚拟形象序列包括按时间顺序排列的多个3D虚拟形象模型。
在操作S420,对各个PCA系数的序列长度和幅值进行对齐处理。
例如,根据以上描述可知,每个静默表情的PCA系数是一个序列,其具有一定的序列长度和幅度。由于根据不同的3D虚拟形象序列获得对应静默表情的PCA系数,因而,每个表情的PCA系数的序列长度可能不一致且各序列的幅度相差较大,这样将不便于进行第二次PCA处理。
在本实施例中,为了使得各种静默表情的PCA系数具有统一的序列长度和幅度,以便于第二次PCA处理,对各种静默表情的PCA系数的序列长度和幅值进行对齐处理。这里所谓的对齐操作通常是指通过动态时间归整(Dynamic Time Warping,DTW)算法和幅度调整,将不同PCA系数的序列长度和幅度进行统一。
所谓序列长度统一通常是指使不同静默表情的PCA系数的序列长度一致,例如,可以采用DTW算法将不同静默表情的PCA系数的时间长度统一到同一长度。所谓幅度统一通常是指将不同静默表情的PCA系数的序列元素的幅值除以各幅值的平均值。
需要说明的是,在本实施例中,对不同静默表情的PCA系数进行序列长度和幅度统一,除了采用以上描述的方法外,还可以使用其他合适的方法,具体不做限定。
在本公开实施例中,通过对各种静默表情的PCA系数的序列长度和幅值进行对齐处理,使得各种静默表情的PCA系数具有统一的序列长度和幅度,以便于第二次PCA处理,从而提高了第二次PCA处理的效率和准确性。
在操作S430,对对齐后的多个PCA系数执行PCA处理,得到表情的均值序列和变化矩阵。
例如,将不同静默表情的PCA系数进行对齐处理之后,将对齐后的多个PCA系数进行PCA处理,以得到针对每个表情的均值序列和变化矩阵。
在本操作中,依据对齐后的PCA系数获取针对每个表情的均值序列和变化矩阵的过程与以上描述的方式相同或类似,在此不再赘述。
在操作S440,基于表情的均值序列和变化矩阵来生成针对该表情的表情系数,并基于表情系数和PCA参数来生成第一3D视频。
图5是根据本公开实施例的依据PCA系数获取均值序列和变化矩阵的方法的示意图,下面将参考图5来说明上述操作S420~S430的示例实现方式。
例如,如图5所示,依据以上方式获得各个静默表情(例如微笑、伤心、悲伤、愤怒等静默表情)的PCA系数Pa之后,对各个PCA系数Pa的序列长度和幅值进行对齐处理501,得到对齐后的多个PCA系数Pa′。对对齐后的多个PCA系数Pa′进行PCA处理502,得到针对每个静默表情(例如微笑、伤心、悲伤、愤怒等静默表情)的均值序列Pjx和变化矩阵Tbj。
在本公开实施例中,通过对各种静默表情的PCA系数的序列长度和幅值进行对齐处理,使得各种静默表情的PCA系数具有统一的序列长度和幅度,以便于第二次PCA处理,从而提高了第二次PCA处理的效率和准确性。
图6是根据本公开实施例的生成表情系数的方法的流程图。图7A和图7B是根据本公开实施例的生成表情系数的方法的示意图,下面将参考图6、图7A和图7B来说明上述操作S130的示例实现方式。
如图6所示,生成表情系数的方法包括操作S631~S633。
在操作S631,向表情的变化矩阵施加随机波动,得到随机波动变化系数。
针对每个静默表情,将随机波动曲线应用于基于以上方法获得的变化矩阵,得到随机波动变化系数。
例如,以生成静默状态下的微笑表情的表情系数为例,在基于以上描述的方法获得该微笑表情的变化矩阵和均值序列之后,将随机波动曲线应用于该微笑表情的变化矩阵,得到随机波动变化系数。
在操作S632,基于表情的均值序列和随机波动变化系数来生成针对该表情的表情系数。
例如,基于微笑表情的均值序列和上述计算得到的随机波动变化系数,可以生成针对该微笑表情的表情系数。该表情系数体现了静默状态下微笑表情的特点,后续可以将该表情系数用于生成具有微笑表情的3D视频。
同样地,基于以上操作可以得到其他静默表情的表情系数,具体获得的方式与以上描述的过程相同或类似,在此不再赘述。
在操作S633,根据用户输入来调整表情系数。
用户可以根据实际需要对该表情系数进行适当调整,例如,可以根据用户输入来灵活调整表情系数的序列长度和幅度,以使调整后的表情系数更贴切地体现用户期望的3D虚拟形象的特点,从而获取更生动的3D视频。
需要说明的是,以上虽然以特定的顺序描述了方法的各个步骤,然而本公开的实施例不限于此,上述步骤可以根据需要以其他顺序执行。例如在一些实施例中,可以不包括步骤S633。在这种情况下,不对操作S632获得的表情系数进行调整而将操作S632获得的表情系数用于3D视频的生成,从而以简单快速的方式生成3D视频,本公开对此不作限制。
图7A是根据本公开实施例的生成表情系数的方法的示意图。
如图7A所示,依据以上描述的方法获取变化矩阵Tbj和均值序列Pjx之后,将随机波动曲线Rfc应用701于该变化矩阵Tbj,得到随机波动变化系数Rf。基于该随机波动变化系数Rf以及均值序列Pjx来生成702针对该表情的表情系数Px,该表情系数Px将在后续用于生成3D视频。
图7B是根据本公开另一实施例的生成表情系数的方法的示意图。
如图7B所示,依据以上描述的方法获取变化矩阵Tbj和均值序列Pjx之后,将随机波动曲线Rfc应用701于该变化矩阵Tbj,得到随机波动变化系数Rf。基于该随机波动变化系数Rf以及均值序列Pjx来生成702针对该表情的表情系数Px。此时,可以根据用户输入的参数uc来灵活调整703表情系数Px,以得到调整后的表情系数Px′,该表情系数Px′将在后续用于生成3D视频。
在本实施例中,通过用户输入来灵活调整表情系数,以使调整后的表情系数更贴切用户期望的3D虚拟形象的特点,从而获取更生动的3D视频。
图8是根据本公开实施例的3D视频生成方法的示意图,下面将参考图8对本公开实施例的生成3D视频的方法的具体实施方式进行详细说明。应当理解,图8中示出的内容仅是为了便于本领域技术人员理解本公开的技术方案,并非用以限定本公开的保护范围。
如图8所示,依据以上描述的方式获得分别针对多个表情的多个3D虚拟形象序列3D-X之后,对分别针对多个表情的多个3D虚拟形象序列3D-X进行PCA处理801,得到PCA参数Pcs和多个表情的多个PCA系数Pcx。对该多个PCA系数Pcx进行PCA处理802,得到针对每个表情的均值序列Pjx和变化矩阵Tbj。
获取针对每个表情的变化矩阵Tbj和均值序列Pjx之后,将随机波动曲线Rfc应用803于该变化矩阵Tbj,得到随机波动变化系数Rf。基于该随机波动变化系数Rf以及均值序列Pjx来生成804针对该表情的表情系数Px。此时,可以基于用户输入的参数uc来灵活调整805表情系数Px,以得到调整后的表情系数Px′。
在获得针对每个表情的表情系数Px′之后,基于该表情系数Px′与依据以上方法获得的PCA参数Pcs来生成806第一3D视频Anml。
在本公开实施例中,通过对分别针对多个表情的多个3D虚拟形象序列执行两次PCA处理,并根据处理结果来构建3D视频,使得构建的视频能够体现连续视频帧下的表情变化,从而提供更多面部细节,提高3D虚拟形象的表现力。
本公开实施例的3D视频生成方法由于生成3D视频的过程不受Blendshape的限制,不需要一一手工制作与3D虚拟形象角色相匹配的Blendshape,从而能够根据不同的3D应用场景灵活构建3D基础虚拟形象模型,不仅可以提高具有表情的3D视频的生成效率,降低人工成本,而且可以避免因采用Blendshape而导致的3D虚拟角色选择受限的问题。
为了使以上生成的3D视频更加生动,例如还可以将唇动效果赋予3D视频,从而得到唇动与表情相匹配的3D视频(以下称非静默表情的3D视频)。下面将参考图9和图10来对非静默表情的3D视频的生成方式进行详细说明。
图9是根据本公开另一实施例的3D视频生成方法的流程图。
如图9所示,在本实施例中,3D视频生成方法900包括操作S910~S950。其中,操作S910~S920可以分别与操作S110~S120以相同或类似的方式实现,重复的部分不再详细赘述。
在操作S910,对多个表情的多个3D虚拟形象序列执行PCA处理,得到PCA参数和多个表情的多个PCA系数。
在操作S920,对多个PCA系数执行PCA处理,得到表情的均值序列和变化矩阵。
在操作S930,基于表情的均值序列和变化矩阵来生成针对该表情的表情系数。
在本操作中,针对每个表情,基于针对该表情的均值序列和变化矩阵来生成针对该表情的表情系数与以上描述的过程相同或类似,具体不再赘述。
在操作S940,使用神经网络模型基于语音特征和表情系数来生成3D虚拟形象的顶点变化系数。
这里所谓的神经网络模型例如可以是循环神经网络(Recurrent NeuralNetwork,RNN)。该神经网络模型也可以由其他合适类型的神经网络来实现,具体可以根据实际选择。
这里所谓的语音特征例如可以是从音频数据中提取的语音特征,或者是通过对文本进行从文本至语音转换(Text To Speech,TTS)而得到的语音特征,或者是采用其他方式获取的语音特征。关于语音特征的获取方式,具体可以根据实际情况选择,在此不做限定。
在唇动说话状态(以下称非静默状态)下,由于唇形在变动,非静默状态下表情的变化与静默状态下表情的变化通常会有所差别,因而需要对非静默状态下表情的变化进行适当调整。
为了使生成的3D视频更符合非静默状态下的表情效果,在本公开实施例中,针对每个表情,使用神经网络模型基于以上描述的方式获取的表情系数和语音特征来生成3D虚拟形象的顶点变化系数。该3D虚拟形象的顶点变化系数体现了非静默状态下表情的变化,后续可以利用该3D虚拟形象的顶点变化系数来生成非静默表情的3D视频。
例如,使用神经网络模型例如RNN网络,基于以上描述的方式获取表情系数(例如微笑表情的表情系数)和语音特征之后,使用神经网络模型基于该语音特征和表情系数来生成3D虚拟形象的顶点变化系数。
在操作S950,基于表情系数、PCA参数和3D顶点变化系数来生成第二3D视频。
例如,基于以上方式获得的表情系数(例如微笑表情的表情系数)和PCA参数来生成静默表情系数,基于静默表情系数与3D顶点变化系数来生成非静默状态的表情信息,将该非静默状态的表情信息应用于预先构建的3D虚拟形象模型,以得到第二3D视频(即非静默表情的3D视频)。
需要说明的是,在一些实施例中,上述用于生成非静默表情的3D视频的表情系数例如还可以采用调整后的表情系数,具体对于表情系数的调整过程可以参考以上描述的方式实现,例如,可以根据用户输入来灵活调整表情系数的序列长度和幅度,以使调整后的表情系数更贴切地体现用户期望的3D虚拟形象的特点,从而获取更生动的3D视频。
在本公开实施例中,通过对分别针对多个表情的多个3D虚拟形象序列执行两次PCA处理,并将处理结果结合神经网络模型来构建非静默状态下表情的3D视频,使得构建的视频能够体现连续视频帧下的非静默表情变化,即,能够呈现出某种表情来说话的效果,从而提供更多面部细节,提高3D虚拟形象的表现力。
本公开实施例的3D视频生成方法由于生成3D视频的过程不受Blendshape的限制,不需要一一手工制作与3D虚拟形象角色相匹配的Blendshape,从而能够根据不同的3D应用场景灵活构建3D基础虚拟形象模型,不仅可以提高具有表情的3D视频的生成效率,降低人工成本,而且可以避免因采用Blendshape而导致的3D虚拟角色选择受限的问题。
图10是根据本公开另一实施例的3D视频生成方法的示意图,下面将参考图10对本公开实施例的3D视频生成方法的具体实施方式进行详细说明。
在本实施例中,将以微笑表情为例来说明非静默表情的3D视频的生成方式。需要说明的是,以微笑表情为例仅是示例性的,以帮助本领域技术人员理解本公开的方案,并非意在限定本公开的保护范围。
如图10所示,依据以上方式获取语音特征Va以及微笑表情的表情系数Px以及PCA参数Pcs之后,在操作1010中使用神经网络模型例如RNN网络基于语音特征Va以及微笑表情的表情系数Px来生成3D虚拟形象的顶点变化系数Pd,并在操作1020中基于上述微笑表情的表情系数Px、PCA参数Pcs以及3D虚拟形象的顶点变化系数Pd生成第二3D视频Anm2(即非静默表情的3D视频)。
需要说明的是,在一些实施例中,上述用于生成非静默表情的3D视频的表情系数Px例如还可以采用调整后的表情系数,具体对于表情系数的调整过程可以参考以上描述的方式实现,例如,可以根据用户输入来灵活调整表情系数的序列长度和幅度,以使调整后的表情系数更贴切用户期望的3D虚拟形象的特点,从而获取更生动的3D视频。
在本公开实施例中,通过对分别针对多个表情的多个3D虚拟形象序列执行两次PCA处理,并将处理结果结合神经网络模型来构建非静默状态下表情的3D视频,使得构建的视频能够体现连续视频帧下的表情变化,从而提供更多面部细节,提高3D虚拟形象的表现力。,本公开实施例的3D视频生成方法由于生成3D视频的过程不受Blendshape的限制,不需要一一手工制作与3D虚拟形象角色相匹配的Blendshape,从而能够根据不同的3D应用场景灵活构建3D基础虚拟形象模型,不仅可以提高具有表情的3D视频的生成效率,降低人工成本,而且可以避免因采用Blendshape而导致的3D虚拟角色选择受限的问题。
在一些实施例中,除了可以生成上述针对单一表情变化的3D视频,还可以针对不同表情之间转换的3D视频。下面将结合图11、图12对不同表情转换的3D视频的生成方法进行详细说明。
图11是根据本公开又一实施例的3D视频生成方法的流程图。
如图11所示,在本公开实施例中,3D视频生成方法1100包括操作S1110~S1140。
在操作S1110,生成针对第一表情的表情系数。
在操作S1120,生成针对第二表情的表情系数。
这里所谓的第一表情和第二表情例如可以包括但不限于微笑表情、愤怒表情、伤心表情、悲伤表情等,其中第一表情和第二表情不同,具体可以根据实际选择。可以按照上述任意实施例描述的方式来生成针对第一表情的表情系数和针对第二表情的表情系数,例如针对微笑表情的表情系数和针对悲伤表情的表情系数。
在操作S1130,在针对第一表情的表情系数与针对第二表情的表情系数之间进行插值处理,得到表情转换系数。
这里所谓的插值处理包括在针对第一表情的表情系数与针对第二表情的表情系数之间进行线性插值,从而得到从第一表情转换到第二表情的表情转换系数,其体现了从第一表情到第二表情的转换。
例如,以第一表情为微笑表情,第二表情为伤心表情为例来说明从微笑表情转换到伤心表情的过程。
基于以上描述的方式获得针对第一表情(例如微笑表情)的表情系数和第二表情(例如伤心表情)的表情系数之后,在针对第一表情的表情系数与针对第二表情的表情系数之间进行插值处理,得到表情转换系数,该表情转换系数体现了从微笑到伤心的转换。
在操作S1140,基于表情转换系数和PCA参数来生成第三3D视频。
基于表情转换系数和以上获取的PCA参数生成从第一表情到第二表情的表情转换信息,将该表情转换信息应用到预先构建的3D基础虚拟形象模型,得到第三3D视频。
例如,沿用以上从微笑到伤心表情的转换示例,基于在微笑表情的表情系数和伤心表情的表情系数之间进行插值处理,得到从微笑到伤心的表情转换系数,依据该表情转换系数与PCA参数生成从微笑到伤心的表情转换信息,将该表情转换信息应用到预先构建的3D基础虚拟形象模型,得到具有从微笑到伤心转换效果的3D视频。
需要说明的是,本公开实施例中,具有表情转换效果的3D视频生成过程并不仅限于两种表情之间的转换,除了上述实施例示出的方式之外,还可以适用于其他多种表情之间的转换,或者可以采用其他适用于多种表情之间的转换方式。例如,可以从第一表情转换到第二表情再转换到第三表情甚至第N表情,或者从第一表情转换到第二表情再转换到第一表情,等等。关于表情转换的方式具体根据实际选择,在此不做限定。
另外,在一些实施例中,上述用于生成非静默表情的3D视频的表情系数例如还可以采用调整后的表情系数,具体对于表情系数的调整过程可以参考以上描述的方式实现,例如,可以根据用户输入来灵活调整表情系数的序列长度和幅度,以使调整后的表情系数更贴切地体现用户期望的3D虚拟形象的特点,从而获取更生动的3D视频。
在本公开实施例中,基于至少两种表情的表情系数生成表情转换系数,以构建具有表情转换效果的3D视频,进一步提高了3D虚拟形象的表现力以及细节呈现。
图12是根据本公开又一实施例的根据的3D视频生成方法的示意图,下面将参考图12对本公开实施例的3D视频生成方法的示例实现方式进行说明。
如图12所示,基于以上描述的方式获得针对第一表情(例如微笑表情)的表情系数Px1和第二表情(例如伤心表情)的表情系数Px2以及PCA参数Pcs之后,在针对第一表情的表情系数Px1与针对第二表情的表情系数Px2之间进行插值处理1201,得到表情转换系数Pz,该表情转换系数Pz体现了从第一表情(例如微笑)到第二表情(例如伤心)的转换。基于表情转换系数Pz和PCA参数Pcs生成1202第三3D视频Anm3。
在本公开实施例中,基于至少两种表情的表情系数生成表情转换系数,以构建具有表情转换效果的3D视频,进一步提高了3D虚拟形象的表现力以及细节呈现。
在一些实施例中,为了使生成的3D视频更加生动,例如还可以将唇动效果赋予3D视频,从而得到非静默表情的3D视频。下面将沿用图12中的表情转换示例来对具有表情转换效果的非静默表情的3D视频的生成方式进行详细说明。例如可以按照上述方式基于微笑表情系数和伤心表情系数来生成从微笑转换为伤心的表情转换系数。按照上述方式利用RNN基于语音特征来生成3D顶点变化信息,基于表情转换系数、3D顶点变化信息和PCA参数来生成具有从非静默微笑表情转换为非静默伤心表情的3D视频。
图13是根据本公开实施例的神经网络模型的训练方法的流程图。该方法适用于训练上述3D视频生成方法中使用的神经网络模型。
如图13所示,神经网络模型的训练方法1300包括操作S1310~S1330。在本公开实施例中,上述神经网络模型与以上描述的定义相同或类似,在此不再赘述。该神经网络模型被训练完成后可以作为上述3D视频生成方法中使用的神经网络模型。
在操作S1310,使用神经网络模型,基于语音特征和针对静默表情的PCA系数来生成3D虚拟形象的顶点变化系数。
这里所谓的语音特征和针对静默表情的PCA系数例如可以基于4D数据得到,下文将对此进行详细说明。
在本操作中,使用神经网络模型例如RNN网络,基于语音特征和针对静默表情的PCA系数来生成3D虚拟形象的顶点变化系数,该顶点变化系数用于生成非静默表情的3D视频。
在操作S1320,基于所生成的顶点变化系数与目标顶点变化系数来计算损失函数。
基于获取的顶点变化系数与目标顶点变化系数相比较,以计算损失函数,该损失函数体现了经神经网络模型预测得到的顶点变化系数与预设的目标顶点变化系数之间的差异,基于该差异,可以对神经网络模型的参数进行校正,从而使得神经网络模型输出的结果更加准确。
在操作S1330,根据损失函数来调整神经网络模型的参数。
例如,可以依据采用上述方式计算得到的损失函数来调整神经网络模型(例如RNN网络)的参数,从而提高神经网络模型预测的可靠性,使得神经网络模型输出的结果更加准确。
本公开实施例的技术方案基于语音特征和针对静默表情的PCA系数来生成3D虚拟形象的顶点变化系数,并利用3D虚拟形象的顶点变化系数来训练神经网络模型,在训练过程中,通过比较预测的3D虚拟形象的顶点变化系数与目标顶点变化系数之间的差异来调整神经网络模型的参数。训练得到的神经网络模型可以用于上述3D视频的生成方法中,神经网络模型输出的顶点变化系数可以用来生成具有非静默表情的3D视频。
图14是根据本公开实施例的神经网络模型的训练方法的示意图,下面将参考图14来说明上述操作S1310~S1330的示例实现方式。
例如,如图14所示的神经网络模型可以采用RNN网络,该神经网络模型被训练完成后可以作为上述3D视频生成方法中使用的神经网络模型。
如图14所示,获得语音特征Va和针对静默表情的PCA系数Vb之后,使用神经网络模型1401基于语音特征Va和针对静默表情的PCA系数Vb来生成3D虚拟形象的顶点变化系数Pd,顶点变化系数用于生成非静默表情的3D视频。
基于所生成的顶点变化系数Pd与目标顶点变化系数Dcx来计算1402损失函数,并利用该损失函数调整1401神经网络模型的参数。
本公开实施例的技术方案基于语音特征Va和针对静默表情的PCA系数Vb来生成3D虚拟形象的顶点变化系数Pd,并利用3D虚拟形象的顶点变化系数Pd来训练神经网络模型,在训练过程中,通过比较预测的3D虚拟形象的顶点变化系数Pd与目标顶点变化系数Dcx之间的差异来对神经网络模型的参数进行调整。训练得到的神经网络模型可以用于上述3D视频的生成方法中,神经网络模型输出的顶点变化系数可以用来生成具有非静默表情的3D视频。
图15是根据本公开另一实施例的神经网络模型的训练方法的流程图。
如图15所示,在本实施例中,神经网络模型的训练方法1500包括操作S1510~S1540。其中,操作S1520~S1540可以分别与操作S1310~S1330以相同的方式实现,重复的部分不再详细赘述。
在操作S1510,基于4D虚拟形象数据来生成训练数据。
这里所谓的训练数据例如可以包括语音特征、针对静默表情的PCA系数和目标顶点变化系数。
在本操作中,例如可以基于单人的4D数据来生成上述训练数据,这些训练数据在后续将用于模型的训练过程,具体训练方式与以上描述的过程相同或类似,在此不再赘述。
在操作S1520,使用神经网络模型,基于语音特征和针对静默表情的PCA系数来生成3D虚拟形象的顶点变化系数。
在操作S1530,基于所生成的顶点变化系数与目标顶点变化系数来计算损失函数。
在操作S1540,根据损失函数来调整神经网络模型的参数。
图16是根据本公开实施例的生成训练数据的方法的示意图,下面将参考图16来说明上述操作S1610中生成训练数据的示例实现方式。
在本实施例中,训练数据例如可以包括从4D数据中提取的语音特征、针对静默表情的PCA系数和目标顶点变化系数。关于4D数据的获取方式与以上描述的方式相同或类似,在此不再赘述。
下面将参考图16对以上数据的获取方式进行详细说明。
如图16所示,获取4D数据1600之后,从4D数据1600中提取音频数据1610、静默表情的3D虚拟形象序列1620和非静默表情的3D虚拟形象序列1630。需要说明的是,本实施例中的4D数据并不是针对某一特定用户的4D数据,并不能反映出某一特定用户的个人信息。本实施例中的4D数据来自于公开数据集。
从音频数据1610中提取关于音素的语音特征,得到语音特征1611,并依据该语音特征1611构建具有唇动的3D虚拟形象序列16111,该具有唇动的3D虚拟形象序列16111例如可以是无表情唇动的3D虚拟形象序列。
在本实施例中,依据该语音特征1611构建具有唇动的3D虚拟形象序列16111可以通过各种合适的方法来实现。例如,可以使用预先训练的神经网络模型(例如基于长短记忆网络(Long-Short Term Memory,LSTM)的神经网络模型)基于语音特征1611和预先构建的3D基础虚拟形象模型,生成具有唇动的3D虚拟形象序列16111。
对静默表情的3D虚拟形象序列1620进行PCA处理,得到PCA参数1621。
将非静默表情的3D虚拟形象序列1630投影到PCA参数1621,得到PCA系数1631。基于PCA参数1621与PCA系数1631来重构3D虚拟形象序列,得到重构的3D虚拟形象序列16211。
根据非静默表情的3D虚拟形象序列1630、具有唇动的3D虚拟形象序列16111和重构的3D虚拟形象序列16211,从而得到目标3D顶点变化系数161111,该目标3D顶点变化系数161111用于在训练过程中作为基准以计算损失函数。
在本公开实施例中,基于4D数据中与静默表情相关的信息和与非静默表情相关的信息生成了用于训练神经网络模型的训练数据,从而使训练后的神经网络模型的输出结果能够准确体现虚拟形象说话时的唇动信息。
图17是根据本公开实施例的3D视频生成装置的框图。
如图17所示,3D视频生成装置1700包括:第一处理模块1710、第二处理模块1720和第一生成模块1730。
第一处理模块1710用于对多个表情的多个3D虚拟形象序列执行主成分分析PCA处理,得到PCA参数和多个表情的多个PCA系数,3D虚拟形象序列包括按时间顺序排列的多个3D虚拟形象模型。
第二处理模块1720用于对多个PCA系数执行PCA处理,得到表情的均值序列和变化矩阵。以及
第一生成模块1730用于基于表情的均值序列和变化矩阵来生成针对该表情的表情系数,并基于表情系数和PCA参数来生成第一3D视频。
在本公开的一些实施例中,上述装置1700还包括:第二生成模块,第二生成模块用于针对每个表情,使用神经网络模型基于语音特征和表情系数来生成3D虚拟形象的顶点变化系数;以及基于表情系数、PCA参数和3D顶点变化系数来生成第二3D视频。
在一些实施例中,上述第一生成模块1730包括:随机波动子模块、表情生成子模块和表情调整子模块。
随机波动子模块用于向表情的变化矩阵施加随机波动,得到随机波动变化系数。
表情生成子模块用于基于表情的均值序列和随机波动变化系数来生成针对该表情的表情系数。以及
表情调整子模块用于根据用户输入来调整表情系数。
在一些实施例中,上述第一处理模块1710包括:参数计算子模块和系数计算子模块。
参数计算子模块用于对多个3D虚拟形象序列进行PCA处理,得到PCA参数。
系数计算子模块用于针对每个表情,计算具有该表情的3D虚拟形象序列在PCA参数上的投影,得到针对该表情的PCA系数。
在本公开的一些实施例中,上述多个表情包括第一表情和第二表情,上述装置1700还包括:第三生成模块,第三生成模块用于在针对第一表情的表情系数与针对第二表情的表情系数之间进行插值处理,得到表情转换系数;以及基于表情转换系数和PCA参数来生成第三3D视频。
在一些实施例中,上述装置1700还包括:对齐模块,对齐模块用于在对多个PCA系数执行PCA处理之前,还包括对各个PCA系数的序列长度和幅值进行对齐处理。
图18是根据本公开实施例的神经网络模型的训练装置的框图。
如图18所示,神经网络模型的训练装置1800包括:系数生成模块1810、损失计算模块1820和调整模块1830。在本公开实施例中,上述神经网络模型与以上描述的定义相同或类似,在此不再赘述。
系数生成模块1810用于使用神经网络模型,基于语音特征和针对静默表情的PCA系数来生成3D虚拟形象的顶点变化系数。
损失计算模块1820用于基于所生成的顶点变化系数与目标顶点变化系数来计算损失函数。
调整模块1830用于根据损失函数来调整神经网络模型的参数。
在一些实施例中,上述装置1800还包括:数据处理模块,数据处理模块用于基于4D虚拟形象数据来生成训练数据,训练数据包括语音特征、针对静默表情的PCA系数和目标顶点变化系数。
在一些实施例中,上述数据处理模块包括:数据提取子模块、第一计算子模块、第二计算子模块、第一重构子模块、第二重构子模块和第三计算子模块。
数据提取子模块用于从4D数据提取静默表情的3D虚拟形象序列、非静默表情的3D虚拟形象序列和音频数据。
第一计算子模块用于通过对静默表情的3D虚拟形象序列执行PCA处理来确定PCA参数。
第二计算子模块用于通过将非静默表情的3D虚拟形象序列投影到PCA参数来得到PCA系数。
第一重构子模块用于基于PCA参数和PCA系数来重构3D虚拟形象序列。
第二重构子模块用于从音频数据提取语音特征,并基于语音特征来构建具有唇动的3D虚拟形象序列。
第三计算子模块用于根据非静默表情的3D虚拟形象序列、具有唇动的3D虚拟形象序列和重构的3D虚拟形象序列,确定目标3D顶点变化系数。
需要说明的是,装置部分实施例中各模块/单元/子单元等的实施方式、解决的技术问题、实现的功能、以及达到的技术效果分别与方法部分实施例中各对应的步骤的实施方式、解决的技术问题、实现的功能、以及达到的技术效果相同或类似,在此不再赘述。
本公开的技术方案中,所涉及的用户个人信息的收集、存储、使用、加工、传输、提供和公开等处理,均符合相关法律法规的规定,且不违背公序良俗。
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
图19示出了可以用来实施本公开的实施例的示例电子设备1900的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图19所示,设备1900包括计算单元1901,其可以根据存储在只读存储器(ROM)1902中的计算机程序或者从存储单元1908加载到随机访问存储器(RAM)1903中的计算机程序,来执行各种适当的动作和处理。在RAM 1903中,还可存储设备1900操作所需的各种程序和数据。计算单元1901、ROM 1902以及RAM 1903通过总线1904彼此相连。输入/输出(I/O)接口1905也连接至总线1904。
设备1900中的多个部件连接至I/O接口1905,包括:输入单元1906,例如键盘、鼠标等;输出单元1907,例如各种类型的显示器、扬声器等;存储单元1908,例如磁盘、光盘等;以及通信单元1909,例如网卡、调制解调器、无线通信收发机等。通信单元1909允许设备1900通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元1901可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元1901的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元1901执行上文所描述的各个方法和处理,例如3D视频生成方法以及神经网络模型的训练方法。例如,在一些实施例中,3D视频生成方法以及神经网络模型的训练方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元1908。在一些实施例中,计算机程序的部分或者全部可以经由ROM 1902和/或通信单元1909而被载入和/或安装到设备1900上。当计算机程序加载到RAM1903并由计算单元1901执行时,可以执行上文描述的3D视频生成方法以及神经网络模型的训练方法的一个或多个步骤。备选地,在其他实施例中,计算单元1901可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行3D视频生成方法以及神经网络模型的训练方法。
本文中以上描述的***和技术的各种实施方式可以在数字电子电路***、集成电路***、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上***的***(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程***上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储***、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储***、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行***、装置或设备使用或与指令执行***、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体***、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的***和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的***和技术实施在包括后台部件的计算***(例如,作为数据服务器)、或者包括中间件部件的计算***(例如,应用服务器)、或者包括前端部件的计算***(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的***和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算***中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将***的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机***可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以为分布式***的服务器,或者是结合了区块链的服务器。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
Claims (23)
1.一种3D视频生成方法,包括:
对多个表情的多个3D虚拟形象序列执行主成分分析PCA处理,得到PCA参数和多个表情的多个PCA系数,所述3D虚拟形象序列包括按时间顺序排列的多个3D虚拟形象模型;
对所述多个PCA系数执行PCA处理,得到所述表情的均值序列和变化矩阵;以及
基于所述表情的均值序列和变化矩阵来生成针对该表情的表情系数,并基于所述表情系数和所述PCA参数来生成第一3D视频。
2.根据权利要求1所述的方法,还包括:针对所述表情,
使用神经网络模型基于语音特征和所述表情系数来生成3D虚拟形象的顶点变化系数;以及
基于所述表情系数、所述PCA参数和所述3D顶点变化系数来生成第二3D视频。
3.根据权利要求1或2所述的方法,其中,所述基于所述表情的均值序列和变化矩阵来生成针对该表情的表情系数包括;
向所述表情的变化矩阵施加随机波动,得到随机波动变化系数;
基于所述表情的均值序列和所述随机波动变化系数来生成所述针对该表情的表情系数;以及
根据用户输入来调整所述表情系数。
4.根据权利要求1-3中任一项所述的方法,其中,所述对多个表情的多个3D虚拟形象序列执行主成分分析PCA处理,得到PCA参数和多个表情的多个PCA系数包括:
对所述多个3D虚拟形象序列进行PCA处理,得到所述PCA参数;
计算表情的3D虚拟形象序列在所述PCA参数上的投影,得到针对该表情的PCA系数。
5.根据权利要求1-4中任一项所述的方法,其中,所述多个表情包括第一表情和第二表情,所述方法还包括:
在针对第一表情的表情系数与针对第二表情的表情系数之间进行插值处理,得到表情转换系数;
基于表情转换系数和所述PCA参数来生成第三3D视频。
6.根据权利要求1-5中任一项所述的方法,其中,在对所述多个PCA系数执行PCA处理之前,还包括对各个PCA系数的序列长度和幅值进行对齐处理。
7.一种神经网络模型的训练方法,包括:
使用所述神经网络模型,基于语音特征和针对静默表情的PCA系数来生成3D虚拟形象的顶点变化系数;
基于所生成的顶点变化系数与目标顶点变化系数来计算损失函数;
根据所述损失函数来调整所述神经网络模型的参数。
8.根据权利要求7所述的方法,还包括基于4D数据来生成训练数据,所述训练数据包括所述语音特征、所述针对静默表情的PCA系数和所述目标顶点变化系数。
9.根据权利要求8所述的方法,其中,所述生成训练数据包括:
从4D数据提取静默表情的3D虚拟形象序列、非静默表情的3D虚拟形象序列和音频数据;
通过对静默表情的3D虚拟形象序列执行PCA处理来确定PCA参数;
通过将非静默表情的3D虚拟形象序列投影到所述PCA参数来得到PCA系数;
基于所述PCA参数和所述PCA系数来重构3D虚拟形象序列;
从音频数据提取语音特征,并基于语音特征来构建具有唇动的3D虚拟形象序列;
根据非静默表情的3D虚拟形象序列、具有唇动的3D虚拟形象序列和重构的3D虚拟形象序列,确定所述目标3D顶点变化系数。
10.根据权利要求7-9中任一项所述的方法,其中,所述神经网络模型包括循环神经网络RNN。
11.一种3D视频生成装置,包括:
第一处理模块,用于对多个表情的多个3D虚拟形象序列执行主成分分析PCA处理,得到PCA参数和多个表情的多个PCA系数,所述3D虚拟形象序列包括按时间顺序排列的多个3D虚拟形象模型;
第二处理模块,用于对所述多个PCA系数执行PCA处理,得到所述表情的均值序列和变化矩阵;以及
第一生成模块,用于基于所述该表情的均值序列和变化矩阵来生成针对该表情的表情系数,并基于所述表情系数和所述PCA参数来生成第一3D视频。
12.根据权利要求11所述的装置,还包括:第二生成模块,用于针对所述表情,使用神经网络模型基于语音特征和所述表情系数来生成3D虚拟形象的顶点变化系数;以及基于所述表情系数、所述PCA参数和所述3D顶点变化系数来生成第二3D视频。
13.根据权利要求11或12所述的装置,其中,所述第一生成模块包括:
随机波动子模块,用于向所述表情的变化矩阵施加随机波动,得到随机波动变化系数;
表情生成子模块,用于基于所述表情的均值序列和所述随机波动变化系数来生成所述针对该表情的表情系数;以及
表情调整子模块,用于根据用户输入来调整所述表情系数。
14.根据权利要求11-13中任一项所述的装置,其中,所述第一处理模块包括:
参数计算子模块,用于对所述多个3D虚拟形象序列进行PCA处理,得到所述PCA参数;
系数计算子模块,用于计算表情的3D虚拟形象序列在所述PCA参数上的投影,得到针对该表情的PCA系数。
15.根据权利要求11-14中任一项所述的装置,其中,所述多个表情包括第一表情和第二表情,所述装置还包括:第三生成模块,用于在针对第一表情的表情系数与针对第二表情的表情系数之间进行插值处理,得到表情转换系数;以及基于表情转换系数和所述PCA参数来生成第三3D视频。
16.根据权利要求11-15中任一项所述的装置,还包括:对齐模块,用于在对所述多个PCA系数执行PCA处理之前,还包括对各个PCA系数的序列长度和幅值进行对齐处理。
17.一种神经网络模型的训练装置,包括:
系数生成模块,用于使用所述神经网络模型,基于语音特征和针对静默表情的PCA系数来生成3D虚拟形象的顶点变化系数;
损失计算模块,用于基于所生成的顶点变化系数与目标顶点变化系数来计算损失函数;
调整模块,用于根据所述损失函数来调整所述神经网络模型的参数。
18.根据权利要求17所述的装置,还包括:数据处理模块,用于基于4D数据来生成训练数据,所述训练数据包括所述语音特征、所述针对静默表情的PCA系数和所述目标顶点变化系数。
19.根据权利要求18所述的装置,其中,所述数据处理模块包括:
数据提取子模块,用于从4D数据提取静默表情的3D虚拟形象序列、非静默表情的3D虚拟形象序列和音频数据;
第一计算子模块,用于通过对静默表情的3D虚拟形象序列执行PCA处理来确定PCA参数;
第二计算子模块,用于通过将非静默表情的3D虚拟形象序列投影到所述PCA参数来得到PCA系数;
第一重构子模块,用于基于所述PCA参数和所述PCA系数来重构3D虚拟形象序列;
第二重构子模块,用于从音频数据提取语音特征,并基于语音特征来构建具有唇动的3D虚拟形象序列;
第三计算子模块,用于根据非静默表情的3D虚拟形象序列、具有唇动的3D虚拟形象序列和重构的3D虚拟形象序列,确定所述目标3D顶点变化系数。
20.根据权利要求17-19中任一项所述的装置,其中,所述神经网络模型包括循环神经网络RNN。
21.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-10中任一项所述的方法。
22.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1-10中任一项所述的方法。
23.一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据权利要求1-10中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111494651.7A CN114332315B (zh) | 2021-12-07 | 2021-12-07 | 3d视频生成方法、模型的训练方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111494651.7A CN114332315B (zh) | 2021-12-07 | 2021-12-07 | 3d视频生成方法、模型的训练方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114332315A true CN114332315A (zh) | 2022-04-12 |
CN114332315B CN114332315B (zh) | 2022-11-08 |
Family
ID=81050983
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111494651.7A Active CN114332315B (zh) | 2021-12-07 | 2021-12-07 | 3d视频生成方法、模型的训练方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114332315B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115035223A (zh) * | 2022-07-27 | 2022-09-09 | 北京字跳网络技术有限公司 | 一种图像处理方法、装置、设备及介质 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060077846A1 (en) * | 2004-10-08 | 2006-04-13 | Samsung Electronics Co., Ltd. | Method of erasing power calibration area for deciding optimum power |
US20130215113A1 (en) * | 2012-02-21 | 2013-08-22 | Mixamo, Inc. | Systems and methods for animating the faces of 3d characters using images of human faces |
CN104156708A (zh) * | 2014-08-20 | 2014-11-19 | 合肥工业大学 | 一种基于动态人脸表情序列和k阶情感强度模型的特征表示方法 |
US20140362091A1 (en) * | 2013-06-07 | 2014-12-11 | Ecole Polytechnique Federale De Lausanne | Online modeling for real-time facial animation |
CN111028354A (zh) * | 2018-10-10 | 2020-04-17 | 成都理工大学 | 一种基于图像序列的模型形变人脸三维重建方案 |
US20200234690A1 (en) * | 2019-01-18 | 2020-07-23 | Snap Inc. | Text and audio-based real-time face reenactment |
CN111489424A (zh) * | 2020-04-10 | 2020-08-04 | 网易(杭州)网络有限公司 | 虚拟角色表情生成方法、控制方法、装置和终端设备 |
CN111724458A (zh) * | 2020-05-09 | 2020-09-29 | 天津大学 | 一种语音驱动的三维人脸动画生成方法及网络结构 |
US20210027512A1 (en) * | 2019-07-25 | 2021-01-28 | Netmarble Corporation | Method to Create Animation |
CN113408452A (zh) * | 2021-06-29 | 2021-09-17 | 广州虎牙科技有限公司 | 表情重定向训练方法、装置、电子设备和可读存储介质 |
-
2021
- 2021-12-07 CN CN202111494651.7A patent/CN114332315B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060077846A1 (en) * | 2004-10-08 | 2006-04-13 | Samsung Electronics Co., Ltd. | Method of erasing power calibration area for deciding optimum power |
US20130215113A1 (en) * | 2012-02-21 | 2013-08-22 | Mixamo, Inc. | Systems and methods for animating the faces of 3d characters using images of human faces |
US20140362091A1 (en) * | 2013-06-07 | 2014-12-11 | Ecole Polytechnique Federale De Lausanne | Online modeling for real-time facial animation |
CN110310349A (zh) * | 2013-06-07 | 2019-10-08 | 费斯史福特有限公司 | 实时面部动画的在线建模 |
CN104156708A (zh) * | 2014-08-20 | 2014-11-19 | 合肥工业大学 | 一种基于动态人脸表情序列和k阶情感强度模型的特征表示方法 |
CN111028354A (zh) * | 2018-10-10 | 2020-04-17 | 成都理工大学 | 一种基于图像序列的模型形变人脸三维重建方案 |
US20200234690A1 (en) * | 2019-01-18 | 2020-07-23 | Snap Inc. | Text and audio-based real-time face reenactment |
US20210027512A1 (en) * | 2019-07-25 | 2021-01-28 | Netmarble Corporation | Method to Create Animation |
CN111489424A (zh) * | 2020-04-10 | 2020-08-04 | 网易(杭州)网络有限公司 | 虚拟角色表情生成方法、控制方法、装置和终端设备 |
CN111724458A (zh) * | 2020-05-09 | 2020-09-29 | 天津大学 | 一种语音驱动的三维人脸动画生成方法及网络结构 |
CN113408452A (zh) * | 2021-06-29 | 2021-09-17 | 广州虎牙科技有限公司 | 表情重定向训练方法、装置、电子设备和可读存储介质 |
Non-Patent Citations (4)
Title |
---|
KAI LI ET AL: "A Data Driven Approach for facial Expression Retargeting in Video", 《IEEE TRANSACTIONS ON MULTIMEDIA》 * |
伍行素等: "改进的2DPCA人脸识别算法", 《计算机***应用》 * |
刘明珠等: "基于2DDPCA的人脸识别算法", 《电视技术》 * |
印勇等: "基于Gabor小波的人脸表情识别", 《光电工程》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115035223A (zh) * | 2022-07-27 | 2022-09-09 | 北京字跳网络技术有限公司 | 一种图像处理方法、装置、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN114332315B (zh) | 2022-11-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114140603A (zh) | 虚拟形象生成模型的训练方法和虚拟形象生成方法 | |
CN114895817B (zh) | 交互信息处理方法、网络模型的训练方法及装置 | |
CN110874869B (zh) | 生成虚拟动画表情的方法和装置 | |
CN115049799A (zh) | 3d模型和虚拟形象的生成方法和装置 | |
CN113706669B (zh) | 动画合成方法、装置、电子设备及存储介质 | |
CN114581980A (zh) | 用于生成说话人像视频和训练人脸渲染模型的方法、装置 | |
CN114429767A (zh) | 视频生成方法、装置、电子设备以及存储介质 | |
CN114332315B (zh) | 3d视频生成方法、模型的训练方法及装置 | |
CN112330781A (zh) | 生成模型和生成人脸动画的方法、装置、设备和存储介质 | |
CN113052962A (zh) | 模型训练、信息输出方法,装置,设备以及存储介质 | |
CN114255737B (zh) | 语音生成方法、装置、电子设备 | |
CN112562045A (zh) | 生成模型和生成3d动画的方法、装置、设备和存储介质 | |
CN113469292A (zh) | 视频合成模型的训练方法、合成方法、装置、介质和设备 | |
CN113380269B (zh) | 视频图像生成方法、装置、设备、介质和计算机程序产品 | |
CN112634413B (zh) | 生成模型和生成3d动画的方法、装置、设备和存储介质 | |
JP2015038725A (ja) | 発話アニメーション生成装置、方法、及びプログラム | |
EP4152269A1 (en) | Method and apparatus of generating 3d video, method and apparatus of training model, device, and medium | |
CN114267375A (zh) | 音素检测方法及装置、训练方法及装置、设备和介质 | |
US11024071B2 (en) | Method of converting phoneme transcription data into lip sync animation data for 3D animation software | |
CN112541477A (zh) | 表情包生成方法、装置、电子设备和存储介质 | |
CN115906987A (zh) | 深度学习模型的训练方法、虚拟形象驱动方法和装置 | |
CN113327311B (zh) | 基于虚拟角色的显示方法、装置、设备、存储介质 | |
CN114882151A (zh) | 虚拟形象视频的生成方法及装置、设备、介质和产品 | |
CN114419182A (zh) | 图像处理方法和装置 | |
CN115083371A (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 |