MediaPipe 多平台部署教程:实时手势识别 5 步跑上 4 个平台
MediaPipe 多平台部署教程实时手势识别 5 步跑上 4 个平台【免费下载链接】mediapipeCross-platform, customizable ML solutions for live and streaming media.项目地址: https://gitcode.com/GitHub_Trending/med/mediapipe同一个手势识别功能手机 App、浏览器、桌面客户端各要一份实现MediaPipe 就是为这种场景设计的跨平台实时媒体处理框架一套计算图流水线能在 Android、iOS、C 桌面和浏览器里分别运行。下面按最短链路 → 各平台清单 → 常见坑的顺序过一遍读完你手里会有一份可直接复制执行的部署清单。它是什么、能跑在哪先说结论MediaPipe 是面向 live/streaming 场景的设备端机器学习框架分两层——上层是预置解决方案人脸网格、手部 21 关键点、姿态、人像分割下层是 Framework即 graph calculator 的自拼流水线底座。各平台支持情况Android / iOS一等公民官方示例 App 齐全GPU 加速开箱即用桌面CLinux 路径最完整macOS 可用但桌面 GPU 不支持Windows 官方标注 experimentalWebJS 包在浏览器内直接推理Chrome 与 Safari 覆盖主流系统Coral 等边缘设备仅部分解决方案如人脸检测支持。一句话点评移动端体验最顺桌面端以 Linux 为准Windows 建议走 WSL。先跑通一条最短链路桌面 Linux 是上手成本最低的起点一条 bazel 命令就能验证整条工具链git clone https://gitcode.com/GitHub_Trending/med/mediapipe cd mediapipe sudo apt-get install -y build-essential libopencv-dev python3 pip3 install --user six export GLOG_logtostderr1 bazel run --define MEDIAPIPE_DISABLE_GPU1 mediapipe/examples/desktop/hello_world:hello_world看到连续刷出的Hello World!说明编译、OpenCV 链接、Python 桥接全部就位后面各平台都能在这套环境上叠加。各平台部署清单 桌面端bazel 直接跑出实时手部跟踪目标在本地验证一个真正的解决方案。前提条件上面最短链路已跑通。关键命令bazel run --define MEDIAPIPE_DISABLE_GPU1 \ mediapipe/examples/desktop/hand_tracking:hand_tracking_cpu如何验证弹出窗口里 21 个关键点的骨架随手部实时移动即为成功Linux 上想开 GPU可换hand_tracking_gpu目标并追加--copt -DMESA_EGL_NO_X11_HEADERS --copt -DEGL_NO_X11。浏览器里直接跑推理目标不碰 C 编译直接在网页里看手部跟踪效果。前提条件装好 Node.js建一个空目录作项目根。关键命令npm install mediapipe/hands mediapipe/drawing_utils之后写一个页面引入这两个包把摄像头帧喂给 Hands用 drawing_utils 在 canvas 上画关键点与连线官方 demo 有完整可改的实现。如何验证打开页面授权摄像头后动一下手骨架跟手。Android 端出包命令目标把官方 handtracking 示例 APK 装到真机。前提条件设备开启开发者模式与 USB 调试构建机能联网拉取 SDK/NDK。关键命令bash ./setup_android_sdk_and_ndk.sh bazel build -c opt --configandroid_arm64 mediapipe/examples/android/src/java/com/google/mediapipe/apps/handtrackinggpu:handtrackinggpu adb install bazel-bin/mediapipe/examples/android/src/java/com/google/mediapipe/apps/handtrackinggpu/handtrackinggpu.apk如何验证手机打开 App摄像头画面叠加实时手部骨架若 adb 不识别设备先确认两端 adb 版本一致。iOS 端生成 Xcode 工程目标拿到能直接对真机 Run 的 Xcode 工程。前提条件Xcode Command Line Tools 与 Bazelisk 已安装。关键命令python3 mediapipe/examples/ios/link_local_profiles.py open mediapipe/MediaPipe.tulsiproj如何验证脚本会生成唯一 bundle ID 前缀避免和别人冲突在 Xcode 选中真机 Run 后示例打开摄像头并实时出检测结果。最容易踩的坑 ⚠️现象链接阶段报一片 OpenCV 符号缺失。原因WORKSPACE 里linux_opencv仍指向系统默认/usr而你的 OpenCV 4.x 装在别处。解决把new_local_repository的 path 改成实际安装目录并在opencv_linux.BUILD打开include/opencv4头文件路径。现象macOS 上构建 GPU 版示例失败。原因仓库桌面 GPU 路径目前只支持 Linux 的 mesa/EGL 组合macOS 桌面 GPU 未开放。解决保持--define MEDIAPIPE_DISABLE_GPU1走 CPU需要 GPU 就换 Linux 机器。现象首次构建就报 Bazel 版本不匹配。原因用了系统里手装的旧版 bazel。解决统一用 Bazelisk它按仓库要求自动选版本避免版本漂移。现象Windows 原生环境构建 Android APK 走不通。原因Android 工具链依赖 Linux 环境官方文档明确 native Windows 不支持。解决改到 WSL 或 Linux 机器上构建adb 两端版本保持一致。下一步用自己的数据训练手势识别模型mediapipe/model_maker/翻遍官方示例与图文件找可复用的 pbtxtmediapipe/examples/上线前测帧率、看各算子耗时docs/tools/performance_benchmarking.md【免费下载链接】mediapipeCross-platform, customizable ML solutions for live and streaming media.项目地址: https://gitcode.com/GitHub_Trending/med/mediapipe创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考