指南:3分鐘跑通人臉、手部與姿態(tài)檢測)
MediaPipe實時AI視覺開發(fā)指南3分鐘跑通人臉、手部與姿態(tài)檢測【免費下載鏈接】mediapipeCross-platform, customizable ML solutions for live and streaming media.項目地址: https://gitcode.com/GitHub_Trending/med/mediapipe視頻會議應(yīng)用里要加個虛擬背景健身 App 需要實時數(shù)深蹲AR 濾鏡要貼著臉部 468 個關(guān)鍵點畫特效——這些功能背后都是同一套東西Google 開源的MediaPipe。它是一個跨平臺實時 AI 視覺框架人臉、手部、姿態(tài)、物體檢測都有預(yù)訓(xùn)練模型CPU 上就能毫秒級出結(jié)果。 MediaPipe 項目速覽MediaPipe 是面向移動、Web、桌面和邊緣設(shè)備的端側(cè)機器學(xué)習(xí)工具集適合想把 AI 視覺功能塞進(jìn) App 的普通開發(fā)者也適合要自己搭推理流水線的資深工程師解決的核心問題是不依賴云端、在設(shè)備本地實時跑視覺模型。項目說明許可證Apache 2.0LICENSE可免費商用支持平臺Android、iOS、WebWASM、桌面 C、PythonLinux/macOS/Windows、Coral 等邊緣設(shè)備Python 環(huán)境通過 pip 安裝提供 Linux/macOS/Windows 的 wheel運行要求普通 CPU 即可實時運行可選 GPU 加速兩層架構(gòu)Solutions/Tasks開箱即用的高層 APIFramework用圖Graph、計算器Calculator、數(shù)據(jù)包Packet自建流水線一個容易踩的認(rèn)知點倉庫里mediapipe/python/solutions/是較早的 Legacy Solutionsmediapipe/tasks/是 2023 年后主推的新框架Vision、Text、Audio 三大類 Task二者并存新代碼建議優(yōu)先用 Tasks。 MediaPipe 快速安裝與驗證最省事的路徑就是 pip一行安裝一行驗證pip3 install mediapipe python3 -c import mediapipe as mp; print(mp.__version__)打印出版本號即安裝成功之后import mediapipe as mp就能用。需要從頭編譯 C/Android/iOS 的走 Bazel 構(gòu)建文檔或用倉庫根目錄的Dockerfile起容器環(huán)境即可普通使用者不必編譯。 MediaPipe 核心能力手部、人臉、姿態(tài)手部追蹤21 個關(guān)鍵點做手勢控制適用場景手勢交互翻頁、控制 PPT、虛擬樂器、無障礙輸入。用法要點mediapipe/python/solutions/hands.py 里默認(rèn)max_num_hands2同時檢測兩只手min_detection_confidence和min_tracking_confidence都默認(rèn)0.5——前者管檢不檢出后者管丟了之后跟不跟。返回的 21 個關(guān)鍵點是歸一化坐標(biāo)0~1乘以寬高才能畫到圖上。人臉網(wǎng)格 Face Mesh468 點驅(qū)動 AR 特效適用場景虛擬化妝、表情驅(qū)動虛擬形象、視頻會議美顏。用法要點mediapipe/python/solutions/face_mesh.py 默認(rèn)輸出468個人臉關(guān)鍵點打開refine_landmarksTrue會在眼部和唇部追加 10 個點共478個做口型同步和眼部特效時必須開它。人體姿態(tài)與其他能力Pose 輸出33個身體關(guān)鍵點含 3D z 坐標(biāo)model_complexity提供 0/1/2 三檔——0 最快、2 最準(zhǔn)、1 平衡實時應(yīng)用先試 1不夠再降 0。其余能力一張表帶過能力入口文件一句話用途人臉檢測face_detection.py人臉框 5 個五官點比 Face Mesh 更輕量全身 Holisticholistic.py臉 手 姿勢一次出物體檢測object_detection80 類 COCO 目標(biāo) 置信度背景分割selfie_segmentation.py輸出人像 mask做虛擬背景 最小實戰(zhàn)一張圖片跑通手部檢測下面這段是完整可運行的腳本邏輯來自 hands_test.py 的官方示例import cv2 import mediapipe as mp mp_hands mp.solutions.hands image cv2.imread(hand.jpg) rgb cv2.cvtColor(image, cv2.COLOR_BGR2RGB) # MediaPipe 吃 RGB必須先轉(zhuǎn)換 with mp_hands.Hands(max_num_hands2) as hands: # 建解決方案最多檢測 2 只手 results hands.process(rgb) # 推理返回 21 個歸一化關(guān)鍵點 if results.multi_hand_landmarks: for lm in results.multi_hand_landmarks: mp.solutions.drawing_utils.draw_landmarks(image, lm, mp_hands.HAND_CONNECTIONS) cv2.imshow(MediaPipe Hands, image) cv2.waitKey(0)跑通后你會看到每個手指關(guān)節(jié)上有點、關(guān)節(jié)之間有連線——這就是手勢控制應(yīng)用的第一個里程碑。? MediaPipe 常見問題與解法畫出來是反色的人臉發(fā)綠OpenCV 讀圖是 BGRMediaPipe 要 RGB喂圖前記得cv2.cvtColor(img, cv2.COLOR_BGR2RGB)這是新手最高頻的坑。視頻流處理時結(jié)果閃爍、丟幀默認(rèn)static_image_modeFalse框架按連續(xù)視頻流做時間追蹤處理靜態(tài)圖片批次時務(wù)必設(shè)static_image_modeTrue否則單張圖會反復(fù)觸發(fā)重初始化。pip 安裝失敗或找不到 wheelPython 需要3.9~3.12另外 PyPI 目前不提供 aarch64 wheelJetson、樹莓派等 ARM64 Linux 要按 python.md 從源碼構(gòu)建。C/Android/iOS 環(huán)境編譯報錯Framework 層依賴 Bazel 和 OpenCV手搓環(huán)境很痛苦先用根目錄Dockerfile驗證代碼邏輯或參考 桌面示例 的 BUILD 文件對齊依賴版本。手機上推理太慢優(yōu)先降model_complexity、縮小輸入分辨率再考慮換 Tasks API 并啟用 GPU 委托而不是直接上更重的模型。 MediaPipe 資源導(dǎo)航docs/getting_started/各平臺Python/C/Android/iOS/Web的入門與安裝文檔docs/framework_concepts/Graph、Calculator、Packet 三大核心概念自建流水線前必讀mediapipe/python/solutions/Python 高層解決方案 APIHands、Face Mesh、Pose 等mediapipe/tasks/新版跨平臺 Tasks APIVision/Text/Audio含 C、Java、iOS、Web 多語言實現(xiàn)mediapipe/examples/desktop/桌面 C 示例如hand_tracking、pose_trackingmediapipe/graphs/各 Solution 背后的.pbtxt計算圖定義看模型怎么串起來mediapipe/model_maker/用自有數(shù)據(jù)微調(diào)/訓(xùn)練手勢識別器、物體檢測器模型docs/tools/tracing_and_profiling.md性能瓶頸分析與可視化追蹤一句話總結(jié)MediaPipe 把設(shè)備端實時視覺從需要算法團(tuán)隊的活變成了 pip 一行裝完、幾十行代碼出結(jié)果的活——現(xiàn)在裝一個包拿一張自己的照片跑一遍上面的手部檢測腳本就是最快的上手方式。【免費下載鏈接】mediapipeCross-platform, customizable ML solutions for live and streaming media.項目地址: https://gitcode.com/GitHub_Trending/med/mediapipe創(chuàng)作聲明:本文部分內(nèi)容由AI輔助生成(AIGC),僅供參考