一、什麼是 MediaPipe?
MediaPipe 是由 Google Research 開發的一個 跨平台、模組化的機器學習框架,專門用來構建與部署即時的多媒體管道。它支援電腦視覺(Computer Vision)、姿態追蹤(Pose Tracking)、手勢辨識、人臉偵測等功能,且適用於 桌面、行動裝置與網頁。
MediaPipe 的最大特色是提供即時、高效能且容易部署的解決方案,讓開發者能快速導入 AI 模型至各種應用中。
二、主要特點
特點 說明
📦 模組化設計 使用 Graph 結構組成,可快速配置與擴充
⏱ 即時處理 設計用於低延遲的處理管道,適合手勢、姿勢等互動應用
🌐 多平台支援 支援 Android、iOS、Web(MediaPipe.js)、Raspberry Pi、桌面平台
🧠 AI 模型內建 提供已訓練好的模型如手部追蹤、臉部偵測、人體姿勢等
🔧 C++/Python/JavaScript API 可用 C++ 開發核心,也支援 Python 和 JS 呼叫
三、常見應用場景
應用 說明
👋 手勢辨識(Hand Tracking) 可追蹤 21 個手部關鍵點,用於手勢控制、AR 應用
🧍♀️ 姿勢偵測(Pose Estimation) 可偵測人體 33 個關鍵點,應用於健身追蹤、運動分析
😊 臉部偵測與表情分析 提供臉部邊界、表情特徵點(468 點)
👁️ 物體偵測與追蹤 可進行多物件追蹤(Objectron)
🗣️ 聲音與視訊結合應用 融合音訊與視訊資訊的多模態分析
四、支援平台
行動裝置: Android(支援 Java/C++)
iOS(支援 Swift/Objective-C)
桌面平台: Windows、macOS、Linux(使用 Python 或 C++)
Web 平台: 使用 MediaPipe.js,在瀏覽器中即時推論
IoT 與嵌入式裝置: Raspberry Pi、Nvidia Jetson Nano 等設備支援
五、常用套件/模組介紹
模組 說明
FaceMesh 偵測臉部 468 個特徵點
Hands 偵測單手或雙手的 21 個關鍵點
Pose 人體姿勢的全身關鍵點追蹤
Holistic 整合臉、手與姿勢追蹤的模組
Objectron 3D 物體偵測與追蹤(例如鞋子、椅子等)
Selfie Segmentation 拍照背景虛化或替換功能
六、如何開始使用?(以 Python 為例)
pip install mediapipe opencv-python範例程式(偵測手部):
補充 1
import cv2
import mediapipe as mp
mp_hands = mp.solutions.hands
hands = mp_hands.Hands()
mp_draw = mp.solutions.drawing_utils
cap = cv2.VideoCapture(0)
while cap.isOpened():
ret, img = cap.read()
img_rgb = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
result = hands.process(img_rgb)
if result.multi_hand_landmarks:
for hand_landmarks in result.multi_hand_landmarks:
mp_draw.draw_landmarks(img, hand_landmarks, mp_hands.HAND_CONNECTIONS)
cv2.imshow('MediaPipe Hands', img)
if cv2.waitKey(1) & 0xFF == 27:
break
cap.release()
cv2.destroyAllWindows()七、優點與挑戰
✅ 優點:
計算效能高,支援即時應用
多平台跨語言支援
提供完整的預訓練模型與範例
⚠️ 挑戰:
Graph 結構較複雜,不熟悉的開發者上手需要時間
模型較偏向 Google 自家格式(如 TFLite)
八、學習資源
官方網站
GitHub 倉庫
官方教學影片
PS: MediaPipe 目前僅支持python 3.9~3.12