安岳彤序半导体公司

Web 上的 MediaPipe

202002月22日

Web 上的 MediaPipe

原标题:Web 上的 MediaPipe

文 / Michael Hays 和 Tyler Mullen, MediaPipe 团队

MediaPipe是用于构建跨平台众模态 ML 流水线行使的框架。吾们之前已在 移动设备 (Android, iOS) 和 边缘设备(如 Google Coral) 上,演示了以 MediaPipe 计算图构建与运走 ML 流水线。

在本文中,吾们很起劲能够展现在 Web 涉猎器中实时运走的 MediaPipe 计算图,由 WebAssembly 挑供声援,并采用 XNNPack ML 推理库添速。吾们将预览功能集成到基于 Web 的可视化工具 (Visualizer) 中,为迅速迭代计算图设计挑供了一个 Playground。原由吾们直接在涉猎器中运走一切内容,一切视频不息在用户本地的计算机上,您能够实时的在网络摄像流中进走迭代 测试(即将声援肆意视频格式)。

图 1 :可视化工具中运走的 MediaPipe 人脸检测示例

MediaPipe 可视化工具

MediaPipe 可视化工具(参见图 2)的托管地址为 viz.mediapipe.dev。能够议定将代码粘贴到“编辑器”选项卡或将计算图文件上传到可视化工具中来检查 MediaPipe 计算图。用户能够行使鼠标和滚轮来平移和放大计算图的图形化外示,并可望到编辑器中更改的实时反答。

睁开全文

图 2:托管于 https://viz.mediapipe.dev上的 MediaPipe 可视化工具

MediaPipe 可视化工具的行使演示

吾们用现有的 MediaPipe 计算图示例创建了几个可视化工具演示。您可议定 Chrome 涉猎器访问以下地址,在可视化工具中查望:

边缘检测

人脸检测

头发分割

手部追踪

您可议定点击编辑器顶部的奔跑幼人图标,在涉猎器中一一运走这些演示(倘若添载的是非演示做事区,则该图标会表现为灰色):

点击后会掀开一个新的选项卡以运走现在的计算图(必要行使网络摄像头)。

实现细目

为了最大水平地挑高可移植性,吾们行使 Emen将一切必需的 C 代码直接编译成 WebAssembly,这是专为 Web 涉猎器设计的稀奇形态的底层汇编代码。运走时,Web 涉猎器会创建虚拟机,编制会在其中迅速地实走这些指令,速度比实走传统的 Java 代码快得众。

吾们还为 Java 和 C 的通信创建了浅易的 API,从而使吾们能够直接在 Java 中做出更改并与 MediaPipe 计算图交互。对于熟识 Android 开发的读者来说,产品导航您能够将此视为相通于行使 Android NDK 编写 C /Java 桥接模式的过程。

末了,吾们将一切必要的演示资源(ML 模型和辅助文本/数据文件)打包成自力的二进制数据包,用于在运走时添载。对于图形和渲染来说,吾们批准 MediaPipe 直接自动进入 WebGL,以便大无数基于 OpenGL 的计算器都能够在网页上“平常运走”。

性能

实走 WebAssembly 清淡比纯 Java 代码快,但慢于实走本地 C 代码,以是吾们做出一些优化以挑供更益的用户体验。吾们尽能够行使 GPU 实走图像操作,并选择行使一切 ML 模型中最轻量的版本(为速度屏舍一些质量)。然而,原由计算着色器 (Compute Shader) 尚未在 Web 中普及行使,以是吾们无法轻巧行使 TensorFlow Lite GPU 进走机器学习推理,而由此产生的 CPU 推理清淡会成为主要的性能瓶颈。因此,为了缓解这栽情况,吾们议定行使 XNNPack ML 推理库来对 “ TfLiteInferenceCalculator” 进走自动添强,从而为行使带来 2 到 3 倍的速度升迁。

现在,基于 Web 的 MediaPipe 中存在一些主要控制:

仅可行使上述演示计算图中的计算器

用户必须编辑其中一个计算图模板;无法从头开起构建本身的内容

用户无法增补或更改资源

必须行使单线程的图实走程序(即 ApplicationThreadExecuto)

不声援 GPU 上的 TensorFlow Lite 推理

仅可行使上述演示计算图中的计算器

用户必须编辑其中一个计算图模板;无法从头开起构建本身的内容

用户无法增补或更改资源

必须行使单线程的图实走程序(即 ApplicationThreadExecuto)

吾们计划在这个新平台上不息构建,尽能够众地清除上述的控制,为开发人员挑供更众控制权(例如,对资源进走动态管理)。请关注 Google 开发者上的 MediaPipe 系列内容。

致谢

感谢 Marat Dukhan、Chuo-Ling Chang、Jianing Wei、Ming Guang Yong 和 Matthias Grundmann 对此文作出的贡献。

回到顶部

Powered by 安岳彤序半导体公司 @2018 RSS地图 html地图

Copyright 站群 © 2013-2018 版权所有