MediaPipe开发
MediaPipe开发1、简介2、使用2.1、手部检测2.2、姿态检测2.3、整体检测2.4、面部检测2.5、人脸识别2.6、人脸特效2.7、三维物体识别2.8、画笔2.9、手指控制2.10、手势识别
1、简介
MediaPipe是一款由Google开发并开源的数据流处理机器学习应用开发框架。它是一个基于图的数据处理管线,用于构建使用了多种形式的数据源,如视频、音频、传感器数据以及任何时间序列数据。 MediaPipe是跨平台的,可以运行在嵌入式平台(树莓派等),移动设备(iOS和Android),工作站和服务器上,并支持移动端GPU加速。 MediaPipe为实时和流媒体提供跨平台、可定制的ML解决方案。
MediaPipe 的核心框架由 C++ 实现,并提供 Java 以及 Objective C 等语言的支持。MediaPipe 的主要概念包括数据包(Packet)、数据流(Stream)、计算单元(Calculator)、图(Graph)以及子图(Subgraph)。
MediaPipe的特点:
-
端到端加速:内置的快速ML推理和处理即使在普通硬件上也能加速。
-
一次构建,随时随地部署:统一解决方案适用于Android、iOS、桌面/云、web和物联网。
-
即用解决方案:展示框架全部功能的尖端ML解决方案。
-
免费开源:Apache2.0下的框架和解决方案,完全可扩展和定制。
MediaPipe中的深度学习解决方案
| Face Detection | Face Mesh | Iris | Hands | Pose | Holistic |
|---|---|---|---|---|---|
![]() | ![]() | ![]() | ![]() | ![]() | ![]() |
| Hair Segmentation | Object Detection | Box Tracking | Instant Motion Tracking | Objectron | KNIFT |
![]() | ![]() | ![]() | ![]() | ![]() | ![]() |
| Android | iOS | C++ | Python | JS | Coral |
| --- | --- | --- | --- | --- | --- |
| Face Detection | ✅ | ✅ | ✅ | ✅ | ✅ |
| Face Mesh | ✅ | ✅ | ✅ | ✅ | ✅ |
| Iris | ✅ | ✅ | ✅ | ||
| Hands | ✅ | ✅ | ✅ | ✅ | ✅ |
| Pose | ✅ | ✅ | ✅ | ✅ | ✅ |
| Holistic | ✅ | ✅ | ✅ | ✅ | ✅ |
| Selfie Segmentation | ✅ | ✅ | ✅ | ✅ | ✅ |
| Hair Segmentation | ✅ | ✅ | |||
| Object Detection | ✅ | ✅ | ✅ | ||
| Box Tracking | ✅ | ✅ | ✅ | ||
| Instant Motion Tracking | ✅ | ||||
| Objectron | ✅ | ✅ | ✅ | ✅ | |
| KNIFT | ✅ | ||||
| AutoFlip | ✅ | ||||
| MediaSequence | ✅ | ||||
| YouTube 8M | ✅ |
2、使用
运行案例需要进入Docker,ROS1的环境位于Docker镜像中。
xxxxxxxxxx sh ~/ros_melodic.sh

2.1、手部检测
源码位置:~/yahboomcar_ws/src/yahboomcar_mediapipe/scripts
xxxxxxxxxx roscore rosrun yahboomcar_mediapipe 01_HandDetector.py

2.2、姿态检测
源码位置:~/yahboomcar_ws/src/yahboomcar_mediapipe/scripts
xxxxxxxxxx roscore rosrun yahboomcar_mediapipe 02_PoseDetector.py

2.3、整体检测
源码位置:~/yahboomcar_ws/src/yahboomcar_mediapipe/scripts
xxxxxxxxxx roscore rosrun yahboomcar_mediapipe 03_Holistic.py

2.4、面部检测
源码位置:~/yahboomcar_ws/src/yahboomcar_mediapipe/scripts
xxxxxxxxxx roscore rosrun yahboomcar_mediapipe 04_FaceMesh.py

2.5、人脸识别
源码位置:~/yahboomcar_ws/src/yahboomcar_mediapipe/scripts
xxxxxxxxxx roscore rosrun yahboomcar_mediapipe 05_FaceEyeDetection.py

2.6、人脸特效
源码位置:~/yahboomcar_ws/src/yahboomcar_mediapipe/scripts
xxxxxxxxxx cd ~/yahboomcar_ws/src/yahboomcar_mediapipe/scripts python3 06_FaceLandmarks.py

2.7、三维物体识别
源码位置:~/yahboomcar_ws/src/yahboomcar_mediapipe/scripts
xxxxxxxxxx cd ~/yahboomcar_ws/src/yahboomcar_mediapipe/scripts python3 08_Objectron.py
点击摄像头预览画面按f键可以切换识别的模型。

2.8、画笔
源码位置:~/yahboomcar_ws/src/yahboomcar_mediapipe/scripts
xxxxxxxxxx cd ~/yahboomcar_ws/src/yahboomcar_mediapipe/scripts python3 09_VirtualPaint.py

2.9、手指控制
源码位置:~/yahboomcar_ws/src/yahboomcar_mediapipe/scripts
xxxxxxxxxx cd ~/yahboomcar_ws/src/yahboomcar_mediapipe/scripts python3 10_HandCtrl.py

2.10、手势识别
源码位置:~/yahboomcar_ws/src/yahboomcar_mediapipe/scripts
xxxxxxxxxx cd ~/yahboomcar_ws/src/yahboomcar_mediapipe/scripts python3 11_GestureRecognition.py












