原力动画技术分析
原力动画涉及的技术栈分析。
重光照数字扫描建模&人脸扫描数据
通过数字扫描收集的一千人纹理贴图、表情数据和pose数据。
我理解这里的扫描数据可以用作多种类任务,包括FaceReconstruction等等。
FaceReconstruction
FLAME提出LBS(linear blend skining),计算骨骼位移带来的皮肤位移,结合blendshape来表示头部,参数包括shape/pose/expression;
Deep3DFaceReconstruction通过回归五类系数重建人脸,包括identity/expression/texture/pose/lighting
DECA将FLAME引入网络,通过网络预测反射率计算反射贴图,光照率计算光照系数,shape/pose/expression等计算FLAME,额外加入detail的细节表示;
面部动画解决方案(Face&Audio)
面部
类似于 faceware facegood 的单目相机人脸表情捕捉方案
facegood paper 仍然是基于blendshape(ARKit 52 Avatary生成),利用红外相机对抗光照影响,通过inception蒸馏mobilenetv2降低模型体积提高推理速度,后期使用了kalman Savitzky-golay联合滤波减少抖动
口型
AUDIO AUTOMATICALLY GENERATES LIP ANIMATIONS
如果是基于2D数字人,一般是audio2pix(GAN)或者audio2中间表示(landmark/expression)的形态,来驱动口型;
原力驱动的大多是UE 3D人物,不知道有没有达到metahuman的级别,这里模型输出的最终信息应该是控制数字人嘴部rig的信息,解决一个audio到驱动信息的映射关系。
可能的驱动信息包括:
- blendshape权重值
- 骨骼位移(metahuman)
- Eye blink
- 高级别的表情转换控制器(自动完成平滑blendshape过渡)
Rig
使用深度学习网络学习expression code到rig(Rig Logic)的过程,提高了在大量blendshape情况下的变形速度,等于用CNN代替rig推理,进行提速。
缺点可能是需要基于每个3D角色的绑定文件单独训练深度学习模型。