跳到主要内容

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 DetectionFace MeshIrisHandsPoseHolistic
face_detectionface_meshirishandposehair_segmentation
Hair SegmentationObject DetectionBox TrackingInstant Motion TrackingObjectronKNIFT
hair_segmentationobject_detectionbox_trackinginstant_motion_trackingobjectronknift
AndroidiOSC++PythonJSCoral
------------------
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

image-20250116093327534

2.1、手部检测

源码位置:~/yahboomcar_ws/src/yahboomcar_mediapipe/scripts

xxxxxxxxxx roscore rosrun yahboomcar_mediapipe 01_HandDetector.py

image-20250116093342355

2.2、姿态检测

源码位置:~/yahboomcar_ws/src/yahboomcar_mediapipe/scripts

xxxxxxxxxx roscore rosrun yahboomcar_mediapipe 02_PoseDetector.py

image-20250116093544751

2.3、整体检测

源码位置:~/yahboomcar_ws/src/yahboomcar_mediapipe/scripts

xxxxxxxxxx roscore rosrun yahboomcar_mediapipe 03_Holistic.py

image-20250116093704543

2.4、面部检测

源码位置:~/yahboomcar_ws/src/yahboomcar_mediapipe/scripts

xxxxxxxxxx roscore rosrun yahboomcar_mediapipe 04_FaceMesh.py

image-20250116093738295

2.5、人脸识别

源码位置:~/yahboomcar_ws/src/yahboomcar_mediapipe/scripts

xxxxxxxxxx roscore rosrun yahboomcar_mediapipe 05_FaceEyeDetection.py

image-20250116093827457

2.6、人脸特效

源码位置:~/yahboomcar_ws/src/yahboomcar_mediapipe/scripts

xxxxxxxxxx cd ~/yahboomcar_ws/src/yahboomcar_mediapipe/scripts python3 06_FaceLandmarks.py

image-20250116093913451

2.7、三维物体识别

源码位置:~/yahboomcar_ws/src/yahboomcar_mediapipe/scripts

xxxxxxxxxx cd ~/yahboomcar_ws/src/yahboomcar_mediapipe/scripts python3 08_Objectron.py

点击摄像头预览画面按f键可以切换识别的模型。

image-20250116093932913

2.8、画笔

源码位置:~/yahboomcar_ws/src/yahboomcar_mediapipe/scripts

xxxxxxxxxx cd ~/yahboomcar_ws/src/yahboomcar_mediapipe/scripts python3 09_VirtualPaint.py

image-20250116094028393

2.9、手指控制

源码位置:~/yahboomcar_ws/src/yahboomcar_mediapipe/scripts

xxxxxxxxxx cd ~/yahboomcar_ws/src/yahboomcar_mediapipe/scripts python3 10_HandCtrl.py

image-20250116094050376

2.10、手势识别

源码位置:~/yahboomcar_ws/src/yahboomcar_mediapipe/scripts

xxxxxxxxxx cd ~/yahboomcar_ws/src/yahboomcar_mediapipe/scripts python3 11_GestureRecognition.py

image-20250116094108654