Skip to main content

MediaPipe

基于摄像头的面部和手部的追踪方案。对于面部追踪,MediaPipe 可以追踪 40 多种 ARKit 的 blendshapes、头部旋转以及头部平移。而对于姿态追踪,MediaPipe 能够追踪手腕和手指。

设置

MediaPipe 已经内置于 Warudo 中,因此无需安装任何额外软件。大多数网络摄像头都能与 MediaPipe 兼容,但如果遇到问题,请参考下面的 常见问题解答 部分。

MediaPipe 可以在 CPU 或 GPU 上运行。为了获得更好的性能,推荐使用 GPU;默认情况下,MediaPipe 会在 GPU 上运行。如果需要改用 CPU,请进入 MediaPipe 追踪器 资源并禁用 GPU 加速

提示

什么时候该使用 CPU?如果你正在玩一款占用大量 GPU 资源的游戏,可以考虑改用 CPU 来运行 MediaPipe,以避免性能问题。

如果使用 MediaPipe 进行手部追踪,请确保你位于摄像头中心,并且双手完全能被摄像头捕获。你可以在 MediaPipe 追踪器 资源中启用 显示摄像头内容 来查看摄像头画面,效果应该如下所示:

通常情况下,建议将摄像头放置在电脑屏幕上方,头部略微高于摄像头画面的中心。我们还建议在使用前校准手部追踪。详情请参阅 校准

校准

面部追踪

你可以通过以下方式校准 MediaPipe 的面部追踪:

  • 点击 角色 → 动作捕捉 → 快速校准 → 校准 MediaPipe,或者
  • MediaPipe 追踪器 资源中点击 校准

在校准过程中,你应该直视前方并保持头部静止。完成校准后,你(的头)就能松口气啦。

手部追踪

你可以通过在 MediaPipe 追踪器 资源中点击 校准手部追踪 来校准 MediaPipe 的手部追踪:将一只手举到耳朵旁边,手掌朝向摄像头。另一只手按下 确定 按钮进行校准。

在校准期间,双手应保持放松,手掌朝向摄像头,需要的话手指可以稍微弯曲。

如果你发现手部动作过快或过慢,可以调整 手部移动范围 。你还可以调整 手部移动偏移 ,例如将手部移动得更靠近头部。

参数设置

  • 手部移动范围:手部的移动范围。X 表示左右,Y 表示上下,Z 表示前后。
  • 手部移动偏移:手部移动范围的偏移量。正 X 表示左偏移,正 Y 表示上偏移,正 Z 表示前偏移。
  • 手臂转轴偏移:使肘部向内或向外旋转。
  • 手部水平距离补偿:使角色的双手靠得更近,便于做出交叉手指等手势。
  • 手部 Y 阈值:如果手腕与摄像头视野的上下边缘之间的距离小于该值,则忽略对该手的追踪。这有助于避免因不稳定追踪导致的抖动问题。
  • 摄像头对角线视场角:摄像头的视场角。准确的数值有助于估算手部的深度。通常可以在摄像头制造商提供的产品页面上找到视场角信息。
  • 手部最大 Z 前推:为防止手部穿透身体,手部会被向前推。该值决定了手部向前推的最大距离。
  • 手部前推 Y 范围:手部越低于肩膀,就会被向前推得越多。当手部与肩膀之间的垂直距离大于或等于该值时,手部将被向前推至最大值。
  • 手部前推 Y 起点:当该值为 0 时,手部从肩膀位置开始向前推;当该值为正值时,手部从肩膀上方开始向前推。
  • 肩膀旋转权重:肩膀旋转的程度。0 表示不旋转,1 表示完全旋转。调整该值直到肩膀看起来自然为止。

常见问题解答

请参阅 动作捕捉方案一览面部追踪姿态追踪 获取常见问题的答案。

我的 MediaPipe 追踪窗口是黑色的 / 卡在“加载中...”。

某些网络摄像头仅在启用 GPU 加速 时受支持(例如 IP 摄像头,如 DroidCam),而有些则仅在禁用 GPU 加速 时受支持。你可以尝试在 MediaPipe Tracker 资源中切换 GPU 加速,看看是否能解决问题。

此外,某些杀毒软件可能会阻止 Warudo 访问摄像头。请禁用杀毒软件的摄像头保护功能,或将 Warudo 添加到白名单中。

我无法鼓起脸颊 / 伸出舌头。

这是 MediaPipe 的已知限制,我们正在等待 Google 修复此问题

我的追踪画面抖动。

首先,请确保你的摄像头实际帧率达到了 30 FPS 以上。你可以使用 这个网站 检查摄像头的帧率。如果你的摄像头帧率较低,可能是因为房间太暗,请确保房间光线充足。

如果你的摄像头帧率已经达到 30 FPS 以上,但追踪窗口显示的帧率仍然很低,请尝试在 MediaPipe 追踪器 资源中切换 GPU 加速

提示

追踪帧率通常在 15-30 之间。当你在玩 3D 游戏时,追踪帧率可能会下降到约 10 FPS。

我的追踪画面卡住了。

如果你使用的是笔记本电脑,请确保它已插电并且未处于电池供电状态。

我应该使用 MediaPipe 还是 Leap Motion 进行手部追踪?

如果你预算允许,我们一般建议使用 Leap Motion 2 并搭配颈部/胸部支架进行手部追踪。Leap Motion 的追踪通常更加稳定,并且比 MediaPipe 使用更少的 CPU/GPU 资源,尤其是在玩 3D 游戏时。

我们不推荐使用 Leap Motion 1,因为它容易丢失追踪。

翻译者

上次更新于 2025.02.26