【问题标题】:How to convert Mediapipe Face Mesh to Blendshape weight如何将 Mediapipe 面网格转换为 Blendshape 权重
【发布时间】:2021-06-28 20:30:40
【问题描述】:

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

目标 3D 模型具有类似 iOS 的 ARFaceAnchor.BlendShapeLocation 的混合形状。

我应该将人脸地标转换为 blendshape 权重。
为了实现这一点,我想我应该检查地标的位置并计算它们之间的距离和校准顶点的位置。
但也许它需要微调并且缺乏通用性。
根据this paper 的说法,谷歌有一个模型,但很遗憾他们不会发布这个模型(here)。

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

【问题讨论】:

  • 我也有同样的问题。我想使用 android 设备获取 blendshapes。如果有一个数学公式可以将 470 个地标转换为 52 个混合形状,那将是非常有趣的
  • 不会有任何特定的数学公式,因为所有混合形状都是任意的。但是您可以找到自己的特定方法,而最简单的方法之一就是通过机器学习。

标签: mediapipe


【解决方案1】:

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

引用您引用的论文:

Puppeteering 我们的模型也可用于虚拟木偶- peteering 和面部触发器。我们建立了一个小型的完全连接 预测 10 个混合形状系数的关联模型 每只眼睛的嘴巴和 8 个混合形状系数。我们 将注意力网格子模型的输出馈送到此 混合形状网络。为了处理差异be- 补间各种人脸,我们应用拉普拉斯网格编辑- 将规范网格变形为预测网格 [3]。 这让我们可以将混合形状系数用于不同的 hu- 人脸无需额外微调。我们展示 图5中的一些结果

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

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

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

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

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

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

最好的问候, C

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2022-12-21
  • 2018-09-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多