从Blendshapes到Animoji

发布网友 发布时间:2024-10-23 22:41

我来回答

1个回答

热心网友 时间:2024-11-02 22:15

从某种角度审视,人脸表情可拆分为两部分:identity和expression。identity代表人脸的本质,是区分不同人脸的标志,在7x24小时内不会发生变化;而expression则是指表情分量,人脸可以展现各种表情,且不断变化。因此,一个特定时刻的人脸可视为本质的identity与当前expression的叠加。这种拆分方式的一大优势是,可以将expression分量提取并叠加到另一张人脸的identity上,使后者展现出相同的表情。甚至可以将expression分量叠加到动物或卡通脸——这就是Animoji。

然而,如何计算expression呢?这引出了Blendshapes的概念——一组构成整体表情的基准,数量可从十几个到100+不等,越多则表情越细腻。通过线性组合这一组基准,我们可以计算出整体的expression。用公式表示为[e = B * d + b],其中e是expression,B是一组表情基准,d是对应的系数(权重),b是neutral(中性)。

每个人有不同的identity,因此也有不同的表情基准。在鸿蒙时代,一个人脸的B、d和b都是未知的。假设我们知道每个人脸的B和b,将一个人脸的d应用到另一张人脸的B和b上,那么后者是否会展现出相同的表情呢?这些问题可以通过各种算法解决,虽然过程复杂。Blendshapes(在Maya中称为blend shapes,在3DS Max中称为morph targets)在3D动画中被广泛应用。

iPhone X上的Animoji需要52个Blendshapes(ARKit 2规范),这些Blendshapes由苹果ARKit Face模块追踪到的animation data驱动,从而线性组合出不同的表情。这52个Blendshapes如下所示:

三维动画建模师负责为你的脸创建模型(scanned head、photorealistic 3D head模型或卡通人物),并构建这52个表情基准和一个neutral中性基准。如果参数设计不当,微笑可能看起来像牙疼。这些设计好的参数封装在主流的文件格式中,如FBX、Unity、Maya等。其中,FBX是通用格式,gemfield会使用blender软件打开FBX格式的文件。

现在,产业界流行使用AI技术(CNN网络)对输入的人脸进行expression系数的推理,即一组表情基准中每个基准的权重系数。同时,还会给出头的3D倾角数值,以模拟头部的转动。有时间了,gemfield将在gemfield专栏中介绍一个这样的项目:

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com