分享

MediaPipe Holistic — 在设备上同时进行面部、手部和姿势预测

 雨夜的博客 2021-10-07

视频介绍:MediaPipe Holistic — 在设备上同时进行面部、手部和姿势预测

在移动设备上实时、同时感知人体姿势、面部标志和手部跟踪可以实现各种有影响力的应用,例如健身和运动分析、手势控制和手语识别、增强现实效果等。MediaPipe是一种开源框架,专为利用加速推理(例如,GPU 或 CPU)的复杂感知管道而设计,已经为这些任务提供了快速、准确但独立的解决方案。将它们全部实时组合成语义一致的端到端解决方案是一个独特的难题,需要同时推理多个相关的神经网络。

今天,我们很高兴地宣布MediaPipe Holistic,这是一种应对这一挑战的解决方案,它提供了一种新颖的、最先进的人体姿势拓扑,可以解锁新颖的用例。MediaPipe Holistic 包含一个新管道,其中优化了姿势、面部和手部组件,每个组件都实时运行,推理后端之间的内存传输最少,并增加了对三个组件可互换性的支持,具体取决于质量/速度的权衡。当包含所有三个组件时,MediaPipe Holistic 为突破性的 540 多个关键点(33 个姿势、21 个单手和 468 个面部标志)提供统一的拓扑结构,并在移动设备上实现近乎实时的性能。MediaPipe 整体正在作为MediaPipe 的一部分发布,可在移动设备(Android、iOS)和桌面设备上使用。我们还推出了 MediaPipe 用于研究 ( Python ) 和 Web ( JavaScript )的全新即用型 API,以简化对该技术的访问。

file

管道和质量

MediaPipe 整体管道集成了姿势、面部和手部组件的单独模型,每个模型都针对其特定领域进行了优化。然而,由于它们的不同专业化,一个组件的输入并不适合其他组件。例如,姿势估计模型采用较低的固定分辨率视频帧 (256x256) 作为输入。但是,如果要从该图像中裁剪手部和面部区域以传递给它们各自的模型,则图像分辨率将太低而无法准确表达。因此,我们将 MediaPipe Holistic 设计为多级管道,它使用区域适当的图像分辨率处理不同的区域。

首先,MediaPipe Holistic 使用BlazePose 的姿势检测器和随后的关键点模型估计人体姿势。然后,使用推断的姿势关键点,它为每只手 (2x) 和面部推导出三个感兴趣区域 (ROI) 裁剪,并采用重新裁剪模型来提高 ROI(详情如下)。然后管道将全分辨率输入帧裁剪到这些 ROI,并应用特定于任务的面部和手部模型来估计它们相应的关键点。最后,所有关键点与姿势模型的关键点合并以产生完整的 540 多个关键点。

file

为了简化 ROI 的识别,一种类似于用于独立面部和手部的跟踪方法管道被利用。这种方法假设对象不会在帧之间显着移动,使用来自前一帧的估计作为当前帧中对象区域的指南。然而,在快速移动过程中,跟踪器可能会丢失目标,这就需要检测器在图像中重新定位它。MediaPipe Holistic 使用姿势预测(在每一帧上)作为额外的 ROI,以便在对快速移动做出反应时减少管道的响应时间。这也使模型能够通过防止框架中一个人的左手和右手或身体部位与另一个人的身体部位混淆,从而保持整个身体及其部位的语义一致性。

此外,姿势模型的输入帧的分辨率足够低,导致面部和手部的 ROI 仍然太不准确,无法指导这些区域的重新裁剪,这需要精确的输入裁剪以保持轻量级。为了缩小这个精度差距,我们使用轻量级的人脸和手重新裁剪模型,这些模型扮演空间变换器的角色,并且只花费相应模型推理时间的 10% 左右。

MEH 睡觉

跟踪管道(基线) 9.8% 3.1%

没有重新作物的管道 11.8% 3.5%

带重新作物的管道 9.7% 3.1%

性能

MediaPipe Holistic 需要在每帧多达 8 个模型之间进行协调——1 个姿势检测器、1 个姿势地标模型、3 个重新裁剪模型和 3 个手部和面部关键点模型。在构建此解决方案时,我们不仅优化了机器学习模型,还优化了预处理和后处理算法(例如仿射变换),由于管道的复杂性,这些算法在大多数设备上需要花费大量时间。在这种情况下,将所有预处理计算移至 GPU 导致总流水线加速约 1.5 倍,具体取决于设备。因此,即使在中端设备和浏览器中,MediaPipe Holistic 也能以近乎实时的性能运行。

电话 第一人称射击

谷歌像素 2 XL 18

三星S9+ 20

15 英寸 MacBook Pro 2017 15

流水线的多阶段特性提供了另外两个性能优势。由于模型大多是独立的,它们可以根据性能和精度要求更换为更轻或更重的版本(或完全关闭)。此外,一旦推断出姿势,就可以准确地知道手和脸是否在帧边界内,从而允许管道跳过对这些身体部位的推断。

应用

MediaPipe Holistic 拥有 540 多个关键点,旨在实现对肢体语言、手势和面部表情的整体、同步感知。其混合方法支持远程手势界面,以及全身 AR、运动分析和手语识别。为了展示 MediaPipe Holistic 的质量和性能,我们构建了一个在浏览器本地运行的简单远程控制界面并支持引人注目的用户交互,无需鼠标或键盘。用户可以操纵屏幕上的对象,坐在沙发上时在虚拟键盘上打字,并指向或触摸特定的面部区域(例如,静音或关闭相机)。在它下面依赖于精确的手部检测,随后的手势识别被映射到一个固定在用户肩膀上的“触控板”空间,实现最远 4 米的远程控制。

当其他人机交互方式不方便时,这种手势控制技术可以解锁各种新颖的用例。在我们的网络演示中尝试一下,并用它来原型化您自己的想法。

file

用于研究和 Web 的 MediaPipe

为了加速 ML 研究及其在 Web 开发人员社区中的采用,MediaPipe 现在在Python和JavaScript 中提供即用型但可自定义的 ML 解决方案。我们从之前出版物中的那些开始:Face Mesh、Hands和Pose,包括MediaPipe Holistic,还有更多。直接在网络浏览器中尝试它们:对于使用Google Colab 上的 MediaPipe 中的笔记本的 Python ,以及在CodePen 上的 MediaPipe 中使用您自己的网络摄像头输入的 JavaScript !

结论

我们希望 MediaPipe Holistic 的发布将激励研发社区成员构建新的独特应用程序。我们预计这些管道将为未来对挑战性领域的研究开辟道路,例如手语识别、非接触式控制界面或其他复杂的用例。我们期待看到您可以用它构建什么!

file

更新说明:优先更新微信公众号“雨夜的博客”,后更新博客,之后才会陆续分发到各个平台,如果先提前了解更多,请关注微信公众号“雨夜的博客”。

博客来源:雨夜的博客

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多