文 / Ivan Grishchenko 和 Valentin Bazarevsky,Google Research 研究工程师
在移动设备上实时且同时感知人体姿态、面部特征点和进行手部追踪,可以实现各种各样具有影响力的应用,如:健身和运动分析、手势控制和手语识别、增强现实效果等。MediaPipe 是一个开源框架,专门用于加速推理(如 GPU 或 CPU)的复杂感知流水线,它为上述任务提供了快速、准确且独立的解决方案。要将它们全部实时组合成一个语义一致的端到端解决方案,难度特别高,这需要多个相互依赖的神经网络同时推理。
MediaPipe
https://mediapipe.dev/
今天,我们怀着无比激动的心情发布 MediaPipe Holistic,可以克服上述难题的解决方案。它采用全新人体姿态拓扑,可以解锁全新用例。MediaPipe Holistic 采用一个新流水线,其中包含经过优化的姿态、面部和手部组件,每个组件均实时运行,最大程度降低了推理后端之间的内存转换,同时还对三个组件增加了互换性的支持,根据质量/速度进行权衡。MediaPipe Holistic 将这三个组件全部包括在内,形成了一个统一拓扑,可识别关键点超过 540 个(33 个姿态,每只手 21 个,468 个面部特征点),并且在移动设备上获得了接近实时的性能。MediaPipe Holistic 作为 MediaPipe 的一部分发布,可以在移动设备(Android、iOS)和桌面设备上使用。此外,我们还推出了 MediaPipe 新 API,供研究 (Python) 和网络 (JavaScript) 应用轻松使用这项技术。
上图:MediaPipe Holistic 在运动和舞蹈用例中的展示结果;下图:识别“保持安静”和“打招呼”手势。请注意,我们的解决方案始终如一地将手部标识为右(蓝色)或左(橙色)
MediaPipe Holistic
https://solutions.mediapipe.dev/holistic
Python
https://mediapipe.page.link/holistic_py_colab
JavaScript
https://mediapipe.page.link/holistic_codepen
流水线和质量
MediaPipe Holistic 流水线整合了姿态、面部和手部组件的独立模型,每个组件均基于特定领域进行了优化。不过,由于它们的专业性不同,一个组件的输入并不是很适合其他组件。例如,姿态估计模型使用较低的固定分辨率视频帧 (256x256) 作为输入。但是,如果对该图片中的手部和面部区域进行剪裁,然后传递给相应的模型,由于图片分辨率过低,无法准确接合。因此,我们将 MediaPipe Holistic 设计为多级流水线,它使用适合区域的图片分辨率来处理不同的区域。
首先,MediaPipe Holistic 使用 BlazePose 的姿态检测器和后续关键点模型来估计人体姿态。然后,使用推理的姿态关键点提取每只手 (2x) 和面部共三个感兴趣区 (ROI) 剪裁,并利用重新剪裁的模型来改进 ROI(下文详述)。随后,流水线剪裁这些 ROI 的全分辨率输入帧,并应用任务特定的面部和手部模型来估计其相应的关键点。最后,将所有关键点与姿态模型的相应关键点进行合并,生成全部的 540 多个关键点。
MediaPipe Holistic 流水线概览
为了简化 ROI 的标识,采用的跟踪方法与独立的面部和手部流水线所用的方法类似。此方法假定对象在帧之间不会明显移动,使用前一帧的估计值作为指导来估计当前帧中的对象区域。不过,在快速移动时,跟踪器会失去目标,这要求检测器在图片中重新定位目标。MediaPipe Holistic 使用姿态预测(基于每一帧)作为附加 ROI 先验,从而在应对快速移动时缩短流水线的响应时间。此外,这还可以防止帧中某人的左右手或人体部位与其他人的混淆,从而让模型在人体及其各个部位之间保持语义一致性。
另外,姿态模型输入帧的分辨率非常低,以至于生成的面部和手部 ROI 的准确性过低而无法引导对这些区域重新进行剪裁,这需要精确的输入剪裁才能保持轻型。为了弥补这一准确性差距,我们采用轻型面部和手部重新剪裁模型,它们充当空间变换器的角色,只需要相应模型推理时间的 10% 左右。
空间变换器
https://arxiv.org/abs/1506.02025
MEH | FLE | |
---|---|---|
跟踪流水线(基准) | 9.8% | 3.1% |
无重新剪裁的流水线 | 11.8% | 3.5% |
有重新剪裁的流水线 | 9.7% | 3.1% |
手部预测质量。每只手平均误差 (MEH) 使用手部大小进行标准化。面部特征点误差 (FLE) 使用瞳距进行标准化
性能
MediaPipe Holistic 要求在每帧多达 8 个模型之间进行协调,即 1 个姿态检测器,1 个姿态特征点模型,3 个重新剪裁模型,3 个手部和面部关键点模型。构建此解决方案时,我们不仅对机器学习模型进行了优化,而且还对各种算法(例如,仿射变换)进行了预处理和后处理,由于流水线较复杂,这在大部分设备上都需要花费大量时间。在这种情况下,将所有预处理计算移动到 GPU 后,根据设备不同,总体流水线速度提高了约 1.5 倍。因此,即使在终端设备和浏览器中,MediaPipe Holistic 的运行也接近实时性能。
Phone | FPS |
---|---|
Google Pixel 2 XL | 18 |
Samsung S9+ | 20 |
15-inch MacBook Pro 2017 | 15 |
各种中端设备的性能使用 TFLite GPU按帧率 (FPS) 进行测量
TFLite GPU
https://tensorflow.google.cn/lite/performance/gpu_advanced
流水线的多级特性还有两个性能优势。由于模型大部分是独立的,它们可以根据性能和准确率要求替换为更轻或更重的版本(或完全关闭)。此外,推理姿态后,可以准确知道手部和面部是否在框架边界内,从而允许流水线是否跳过对这些人体部位的推理。
应用
MediaPipe Holistic 具有超过 540 个关键点,目的是全方位同时感知肢体语言、手势和面部表情。它采用混合方法来支持远程手势界面,以及全身 AR、运动分析和手语识别。为了阐述 MediaPipe Holistic 的质量和性能,我们构建了简单的远程控制界面, 它在浏览器中本地运行, 无需使用鼠标或键盘,即可实现令人叹服的用户互动。用户可以在屏幕上操控目标,坐在沙发上点按虚拟键盘,并且可以指向或触摸特定面部区域(例如,静音或关闭摄像头)。本质上,它依赖准确的手部检测,即后续手势识别映射到锚定在用户肩膀的“触控板”空间,从而实现长达 4 米的远程控制。
远程控制界面
https://mediapipe.dev/demo/holistic_remote
在不方便采用其他人机互动方式时,可以使用这种手势控制技术解锁各种全新用例。在我们的网络演示中试一试并使用它来对您自己的想法进行原型设计。
浏览器内无接触控制演示。左图:手掌拾取器、触摸界面、键盘。右图:远距离无接触键盘。试一试吧!
试一试吧
https://mediapipe.dev/demo/holistic_remote
MediaPipe 在研究和网络中的应用
为了加快机器学习研究及其在网络开发者社区的应用,MediaPipe 如今在 Python 和 JavaScript 中提供了现成可用但可以自定义的机器学习解决方案。我们从我们以前发布的内容开始:面部网格、手部和姿态(包括 MediaPipe Holistic 在内),未来会持续增加。直接在网络浏览器中试一试:对于 Python,请在 Google Colab 上的 MediaPipe 中使用笔记本;对于 JavaScript,请在 CodePen 上的 MediaPipe 中使用您自己的摄像头输入!
Google Colab 上的 MediaPipe
https://mediapipe.page.link/colab
CodePen 上的 MediaPipe
https://mediapipe.page.link/codepen
结论
我们希望在发布 MediaPipe Holistic 后,可以激励研发社区的成员构建独特的新应用。我们期待这些流水线为将来在具有挑战性的领域(例如,手语识别、无触摸控制界面或其他复杂用例)开展的研究开辟一些途径。我们盼望看到您使用流水线构建的成果!
复杂的动态手势。视频由 Bill Vicars 博士拍摄,已获得使用许可
致谢
特别感谢与我们一起研究技术的所有团队成员:Fan Zhang、Gregory Karpiak、Kanstantsin Sokal、Juhyun Lee、Hadon Nash、Chuo-Ling Chang、Jiuqiang Tang、Nikolay Chirkov、Camillo Lugaresi、George Sung、Michael Hays、Tyler Mullen、Chris McClanahan、Ekaterina Ignasheva、Marat Dukhan、Artsiom Ablavatski、Yury Kartynnik、Karthik Raveendran、Andrei Vakunov、Andrei Tkachenka、Suril Shah、Buck Bourdon、Ming Guang Yong、Esha Uboweja、Siarhei Kazakou、Andrei Kulik、Matsvei Zhdanovich 和 Matthias Grundmann。
更多 AI 相关阅读:
看机器学习如何驾驭光影:一键为照片增光添彩的“人像光效”
使用强化学习评估训练数据,准确量化训练样本
Dataset Search 搜索工具:改善数据集的发现、重用和引用方式
步履不停:TensorFlow 2.4 新功能一览!
URL2Video 流水线:网页端自动创作视频的实现
点击屏末 | 阅读原文 | 立即访问 MediaPipe