MediaPipe介绍

MediaPipe介绍

1. MediaPipe简介

Mediapipegoogle的一个开源项目,可以提供开源的、跨平台的常用机器学习(machine learning)方案。Mediapipe实际上是一个集成的机器学习视觉算法的工具库,包含了人脸检测、人脸关键点、手势识别、头像分割和姿态识别等各种模型。

MediaPipe介绍_第1张图片

2. MediaPipe

1)支持各种平台和语言,包括IOSAndroidC++PythonJAVAScriptCoral等;
2)速度快,各种模型基本上可以做到实时运行。

3. 依赖库

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

4.应用产品

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

5. MediaPipe中的计算器类型

预处理计算单元是图像和媒体处理计算单元族。上图中的ImageTransform和imagetotensor就属于这一类;

推理计算单元允许与Tensorflow和Tensorflow Lite进行ML推理的本地集成;

后处理计算单元执行ML后处理任务,如检测、分割和分类。TensorToLandmark是一个后处理计算单元;

计算单元工具是执行任务的一类计算单元。

6. MediaPipe中Solutions

Solutions是基于特定的预训练TensorFlowTFLite模型的开源预构建示例。它一共提供了16Solutions人脸检测Face Mesh(面网)虹膜姿态人体人物分割头发分割目标检测Box Tracking(方格追踪)Instant Motion Tracking实时运动跟踪3D目标检测特征匹配AutoFlip(视频裁剪)MediaSequence(媒体序列)YouTube-8M(视频标签比赛)。MediaPipe介绍_第2张图片

7.MediaPipe的框架

框架是用c++JavaObj-C编写的,包含以下api

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

Graphs

MediaPipe感知管道称为Graph。让我们以第一个solution为例,汉兹。我们输入一串图像作为输入,然后在图像上呈现手的landmarks

MediaPipe介绍_第3张图片

 

下面的流程图代表MP(简称MediaPipe)hand solution graph

MediaPipe介绍_第4张图片

 

8.MediaPipe的应用

Mediapipe手势识别

  1. OpenCV调用摄像头;
  2. 调用mediapipe中的hands模块;
  3. demo示例。

手势识别

基于mediapipe我们已经能够获取手指关键点的坐标位置了,进一步只需要判断每根手指的开合状态即可得到手势。先贴以下关键点分布图:

Mediapipe姿态识别

1.OpenCV调用摄像头(同手势识别)
2.调用Mediapipe中的pose模块;

3.demo示例。

姿态估计模型主要有三类:

1.运动学模型:它是一种基于骨骼的模型,代表人体。

2.平面模型:平面模型是一种基于轮廓的模型,它使用人体周围的轮廓来表示人体形状。

3. 体积模型:体积模型创建人体的 3d 网格,表示人体的形状和外观https://img-blog.csdnimg.cn/6fe6cc81293344b9a722866ff07021af.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAYmFzaGVuZGl4aWU1,size_20,color_FFFFFF,t_70,g_se,x_16

 

你可能感兴趣的:(python)