MediaPipe介绍

这篇具有很好参考价值的文章主要介绍了MediaPipe介绍。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

MediaPipe介绍
自2012年起,谷歌在内部的多个产品和服务中使用了它。它最初是为了实时分析YouTube上的视频和音频而开发的。渐渐地,它被整合到更多的产品中,比如

  • NestCam的感知系统
  • 谷歌镜头的目标检测
  • 增强现实广告
  • 谷歌图片
  • 谷歌Home
  • Gmail
  • 云视觉API等。

MediaPipe为我们日常使用的革命性产品和服务提供动力。与资源消耗型的机器学习框架不同,MediaPipe只需要最少的资源。它是如此微小和高效,甚至嵌入式物联网设备都可以运行它。2019年,MediaPipe公开发布后,为研究人员和开发人员开辟了一个全新的机会世界。

1. MediaPipe是什么?

MediaPipe是一个用于构建机器学习管道的框架,用于处理视频、音频等时间序列数据。这个跨平台框架适用于桌面/服务器、Android、iOS和嵌入式设备,如Raspberry Pi和Jetson Nano。

2. MediaPipe工具包

MediaPipe工具包包括框架和Solutions。下图显示了MediaPipe Toolkit的组件。
MediaPipe介绍

2.1框架

框架是用c++、Java和Obj-C编写的,包含以下api。

  • Calculator API (C++).
  • Graph construction API (Protobuf).
  • Graph Execution API (C++, Java, Obj-C).

Graphs

MediaPipe感知管道称为Graph。让我们以第一个solution为例,汉兹。我们输入一串图像作为输入,然后在图像上呈现手的landmarks。
MediaPipe介绍
下面的流程图代表MP(简称MediaPipe)hand solution graph。
MediaPipe介绍
在计算机科学术语中,图由边连接的节点组成。在MediaPipe Graph内部,节点称为Calculators,边缘称为Streams。每个流都携带一个时间戳递增的数据包序列

在上图中,我们用矩形块表示Calculators,用箭头表示Streams。

Calculators(计算单元)

这些是用c++编写的特定计算单元,有分配的任务要处理。数据包(视频帧或音频段)通过计算单元的端口进入和离开。初始化计算器时,它声明将遍历端口的数据包有效负载类型。每当图形运行时,框架都会在计算器中实现Open、Process和Close方法。Open启动计算器;当数据包进入时,这个过程重复运行。整个图形运行后,进程关闭。

例如,考虑上图中显示的第一个计算单元。计算单元ImageTransform在输入端口获取图像,并在输出端口返回转换后的图像。另一方面,第二个计算单元imageto张量,将图像作为输入,并输出一个张量。

MediaPipe中的计算器类型

上面显示的所有计算单元都内置在MediaPipe中。我们可以把它们分成四类。

  • 预处理计算单元是图像和媒体处理计算单元族。上图中的ImageTransform和imagetotensor就属于这一类
  • 推理计算单元允许与Tensorflow和Tensorflow Lite进行ML推理的本地集成。
  • 后处理计算单元执行ML后处理任务,如检测、分割和分类。TensorToLandmark是一个后处理计算单元。
  • 计算单元工具是执行任务(如图像注释)的一类计算单元

计算单元api允许您编写自己的自定义计算器。

2.2 MediaPipe Solutions

Solutions是基于特定的预训练TensorFlow或TFLite模型的开源预构建示例。您可以在这里查看Solutions方案特定的模型。MediaPipe Solutions构建在框架之上。目前,它提供了16个Solutions,如下所示。

  • 人脸检测
  • Face Mesh
  • 虹膜
  • 姿态
  • 人体
  • 人物分割
  • 头发分割
  • 目标检测
  • Box Tracking
  • Instant Motion Tracking
  • 3D目标检测
  • 特征匹配
  • AutoFlip
  • MediaSequence
  • YouTube-8M

MediaPipe介绍

3. 依赖

MediaPipe依赖OpenCV来处理视频,FFMPEG来处理音频数据。它还有其他依赖项,如OpenGL/Metal、Tensorflow、Eigen等。

4. 开始使用MediaPipe

我们建议您在开始使用MediaPipe之前先对OpenCV有一个基本的了解。查看这个关于OpenCV入门的简化系列文章。
MediaPipe Python解决方案对于初学者来说是最简单的,因为设置过程很简单,而且Python编程语言很流行。MediaPipe框架的模块化支持定制。但在开始定制之前,我们建议使用各种预构建的解决方案。理解与它们相关的内部api,然后调整输出以创建令人兴奋的应用程序。

5.MediaPipe可视化工具

MediaPipe Visualizer提供了一种尝试所有solutions的简单方法。
在MediaPipe中,protobuf (.pbtxt)文本文件定义了一个图形。MediaPipe Visualizer欢迎页面会向您显示一个包含空白图形单元的protobuf文件。它有不同解决方案的各种预构建图形,你可以从右上方的New按钮加载。
MediaPipe介绍
在预先构建的MediaPipe的桌面版本中,您可以享受调整和创建应用程序的乐趣。您可以使用一个命令来安装MediaPipe。

pip install mediapipe

MediaPipe solutions提供了易于学习的文档

6. 它真的是实时的吗?

MediaPipe解决方案并不总是实时工作

解决方案建立在MediaPipe框架之上,该框架提供计算单元API (c++),

Graph construction API (Protobuf)和Graph Execution API (c++, Java, Obj-C)。有了这些api,我们就可以构建图表并编写自定义计算单元。

工具非常出色,但它的性能取决于底层硬件。下面的示例显示了HD(1280×720)和Ultra HD(3840×2160)视频上的并排推理比较。
MediaPipe介绍
您可以尝试从头构建MediaPipe解决方案,当然可以看到性能上的飞跃。但是,您可能仍然无法实现实时推理。

注意:MediaPipe框架支持bezel 构建。因此,要充分利用MediaPipe的潜力,就需要对c++和bezel 相当熟悉。文档也不容易上手,因为它是在积极的开发阶段。

总结

MediaPipe solutions很简单,您可以在一两天内介绍掌握。
另一方面,c++ MediaPipe框架的学习曲线可能非常陡峭。别担心;我们将一步一步地走到那一步。

总的来说,它是一个漂亮的、快速增长的库,提供了有前途的结果。在项目中实现MediaPipe消除了我们在处理ML项目时通常面临的大多数麻烦。不需要担心同步和繁琐的设置。它允许你专注于实际的开发部分。文章来源地址https://www.toymoban.com/news/detail-454193.html

到了这里,关于MediaPipe介绍的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 如何同时安全高效管理多个谷歌账号?

    您的业务活动需要多个 Gmail 帐户吗?出海畅游,Gmail账号是少不了的工具之一,可以关联到Twitter、Facebook、Youtube、Chatgpt等等平台,可以说是海外网络的“万能锁”。但是大家都知道,以上这些平台注册多账号如果产生关联,会影响账号安全。 Gmail账号也一样,关联了容易在

    2024年04月10日
    浏览(43)
  • 谷歌慌了!想发论文得审批,优先开发产品,让OpenAI没得看

    来源 | 机器之心  ID | almosthuman2014 众所周知,谷歌就像人工智能领域的「黄埔军校」,自深度学习兴起后培养出了整整一代机器学习研究人员和工程师。很长一段时间里,谷歌就是领先 AI 技术的代名词。 人们已经习惯跟随谷歌的脚步,使用其提出的新技术和工具作为研究

    2024年02月04日
    浏览(53)
  • 谷歌产品大更新:Bard可生成图像;文生音乐平台等5大免费功能

    2月2日,谷歌在官网对生成式AI产品进行了大更新,包括类ChatGPT聊天助手Bard可以通过文本提示生成图像; 全新的文生音乐平台MusicFX;新的文生图像平台ImageFX;新的文本扩写平台TextFX;在谷歌地图中增加生成式AI功能,用文本提示快速查找路线、店铺等。 值得一提的是,这

    2024年02月20日
    浏览(52)
  • 同一操作系统中安装多个不同版本谷歌Chrome浏览器

    本来我电脑上已经有103版本的Chrome浏览器: 1. 现在我需要安装一个89版本的Chrome浏览器,我已经有该版本的.exe文件: 如果没有该安装包的,https://www.chromedownloads.net/chrome64win/ 通过这个网址可以下载到相应版本的chrome浏览器, 记住,必须时离线安装包,不能是在线安装包。

    2024年02月05日
    浏览(64)
  • 一.windows2012搭建fpt服务器和常见端口介绍

    点击确定 温馨提示密码要设置复杂一点 点击完成即可 2.1查看fpt属性 2.2复制路径 2.3新建入站规则 2.4选择第一个 2.5粘贴刚刚复制的路径 2.6点击是 2.7设置名称点击完成即可 2.8主机访问fpt测试 2.9MobaXterm连接ftp TCP/UDP 20, 21: FTP (File Transfer Protocol) 20:数据连接 21:控制连接 TCP/UD

    2024年01月22日
    浏览(51)
  • 超低价:阿里云双11服务器优惠价格表_87元一年起

    2023阿里云双十一优惠活动已经开启了,轻量2核2G服务器3M带宽优惠价87元一年、2核4G4M带宽优惠价165元一年,云服务器ECS经济型e实例2核2G3M固定带宽优惠价格99元一年,还有2核4G、2核8G、4核8G、4核16G、8核32G等配置报价,云服务器e实例、云服务器u1、c7、g7、c8i、g8i等ECS实例,阿

    2024年02月06日
    浏览(51)
  • 建造者模式深入理解:演示建造单个和多个产品的实践,结合模板模式,通俗易懂

    首先呢看下建造者的定义是什么样的,先读一遍 建造者模式 (Builder Pattern)是一种创建型设计模式,它主要用于将一个复杂对象的构建过程与它的表示分离,使得同样的构建过程可以创建不同的表现形式。这种模式通过一系列可重用的独立的类(称为建造者或构建器)来一

    2024年01月22日
    浏览(44)
  • 时序数据库 TDengine 与腾讯云多个产品线完成兼容性互认证明

    随着数字经济蓬勃发展,数据成为驱动企业数字化转型的关键生产要素,如何加强对数据资源的治理利用、实现数据洞察、激活数据价值正成为亟待解决的问题。在此背景下,数据库与操作系统、云平台等国产化软件相互结合赋能成为解决问题的思路之一。 近日,经过数月努

    2024年02月11日
    浏览(52)
  • (适配多个版本)双击 DWG 文件以使用 AutoCAD 产品打开时显示“Windows 找不到 [文件名].acad.exe ”

    1,鼠标右键单击——>点属性   2.更改打开方式,————>找到你安装的CAD的地方,双击acad.exe    但是以上方法,有点小难受,那就是在改过之后,文件的图标会改变,让人看起来不舒服 ——>     在键盘上按 WINDOWS+R 以显示“运行”窗口,输入 REGEDI

    2024年02月08日
    浏览(72)
  • 谷歌倾斜摄影数据获取以及转换3DTiles介绍

    2005年谷歌地球横空出世,将地球以三维可视化方式展现在每一个电脑屏幕前的用户,掀起了数字地球热潮,而随着三维倾斜摄影模型数据的加入,将谷歌地球对全球的三维可视化效果表达,提升到了更高的层次。作为全球三维倾斜摄影覆盖面积最广的三维数字地球平台,谷歌

    2024年02月03日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包