4

我想将Mediapipe Face Mesh预测的面部动作应用到使用 blendshape 的 3D 模型中。

目标 3D 模型具有混合形状,如iOS 的ARFaceAnchor.BlendShapeLocation

我应该将 Face landmark 转换为 blendshape 权重。
为了实现这一点,我想我应该检查地标的位置并计算它们之间的距离和校准顶点的位置。
但也许它需要微调并且缺乏通用性。
根据这篇论文,谷歌有一个模型,但不幸的是他们不会发布这个模型(这里)。

你能教我什么好主意吗?
或者,如果您知道已经发布的似乎有用的逻辑,我想知道。

4

1 回答 1

0

我现在有同样的问题。我目前的解决方案如下:

引用您找到的论文:

Puppeteering 我们的模型也可用于虚拟木偶操纵和面部触发。我们建立了一个小型全连接模型,预测嘴巴的 10 个混合形状系数和每只眼睛的 8 个混合形状系数。我们将注意力网格子模型的输出提供给这个混合形状网络。为了处理不同人脸之间的差异,我们应用拉普拉斯网格编辑将规范网格变形为预测网格[3]。这让我们可以使用不同人脸的混合形状系数,而无需额外的微调。我们在图 5 中展示了一些结果

我认为我目前的做法与他们所做的几乎相同。

我的方法:首先对多对随机混合形状进行采样 -> 面部网格(在 3D 模型上检测面部网格),然后从中学习逆模型。(一个简单的神经网络就可以了)

因此,您最终会得到一个模型,该模型可以在给定面网格的情况下提供混合形状。

上面的简介中也提到了要处理的问题,即您要处理不同的面部网格输入。在上面的简介中,他们似乎对 3D 模型进行了采样,但将采样的网格转换为规范的面网格,因此最终得到了规范的逆模型。在推理时,您也将给定的网格转换为规范的面网格。

另一种解决方案可能是将不同人的面部网格直接转换为 3D 模型的网格。

我还没有完成规范网格部分,但第一步应该可以工作。

最好的问候, C

于 2022-02-04T01:23:15.040 回答