
MediaPipe 手部追踪实战指南从21个关键点到实时手势识别【免费下载链接】mediapipeCross-platform, customizable ML solutions for live and streaming media.项目地址: https://gitcode.com/GitHub_Trending/med/mediapipeMediaPipe 是跨平台 ML 推理框架手部追踪方案能从单张 RGB 图像实时输出 21 个手部关键点与左右手判定。适合想把手势做进桌面、Web 或移动端应用的开发者。本文以 Python 为例10 分钟跑通。核心能力⚡ 手部追踪不是单个模型而是两段式小图先定位手掌再在局部区域里出关键点。两个模型都不大单帧开销可控。一次调用拿到三样东西21 个关键点的图像坐标、真实世界 3D 坐标单位米、左右手标签。多手与视频流max_num_hands控制手数量视频模式下用上一帧关键点做先验帧间不会反复重置。CPU/GPU 可切换同一套逻辑有 CPU 和 GPU 两种执行图手部关键点模块 里能看到对应的 pbtxt 配置。上图是检测类任务在设备端的运行示意输入一帧画面输出带标注框的结果。手部追踪的产出形式类似只是框变成了 21 个关键点。五分钟跑通第一个例子Python 端实时手部追踪最小示例OpenCV MediaPipe Solutionsimport cv2 import mediapipe as mp hands mp.solutions.hands.Hands(model_complexity1, max_num_hands2) cap cv2.VideoCapture(0) while cap.isOpened(): ok, frame cap.read() if not ok: break frame cv2.flip(frame, 1) # 先镜像左右手判定才正确 result hands.process(cv2.cvtColor(frame, cv2.COLOR_BGR2RGB)) if result.multi_hand_landmarks: mp.solutions.drawing_utils.draw_landmarks( frame, result.multi_hand_landmarks[0], mp.solutions.hands.HAND_CONNECTIONS) cv2.imshow(hands, frame) if cv2.waitKey(5) 0xFF 27: break几个容易踩的点model_complexity只有 0 和 1 两档源码注释明确写了0 轻快1 精确但更慢。关键点编号固定0 是腕部1-4 拇指5-8 食指9-12 中指13-16 无名指17-20 小指映射定义在 Python Hands 方案 的HandLandmark枚举里。process只收 RGB 的 numpy 数组OpenCV 读出来是 BGR记得转。内部机制两段式检测MediaPipe 用图来执行一切图里每个节点叫 Calculator负责处理一类数据。手部追踪图的骨架如下为什么分两段全帧检测只回答有没有手、在哪模型可以做得很小定位后裁出 ROI感兴趣区域即手的局部放大图再交给更精细的关键点网络。总耗时低于直接上一个大模型。为什么帧间稳static_image_modeFalse时上一帧关键点会作为输入喂给网络当前帧预测被往上一帧方向拉抖动被压住。左右手标签有前提handedness 按镜像图自拍模式计算。你喂的是普通横拍图标签会左右反。高频坑点与一行修复现象左右手标签反了。原因handedness 假设输入是镜像图。修复frame cv2.flip(frame, 1)后再 process。现象帧耗时高低端设备掉帧。原因model_complexity1是重模型。修复Hands(model_complexity0)。现象快速移动或遮挡时轨迹断、抖动。原因跟踪置信度阈值偏高低置信帧被丢弃。修复min_tracking_confidence0.3按场景往下调。现象处理单张图第二次调用结果漂移。原因默认static_image_modeFalse在引用上一帧先验。修复Hands(static_image_modeTrue)。调参顺序建议先降阈值再换轻模型最后才考虑图像预处理。别一上来就动模型。进阶入口从关键点到手势类别Tasks API 的 GestureRecognizer 直接输出手势分类结果实现在 GestureRecognizer 任务。从 Python 到其他平台把执行图换成移动端 GPU 版本即可配置在mediapipe/graphs/hand_tracking/目录下。写在最后二十行代码就到手部追踪地基。下一步读一读手部追踪官方文档把平滑和手势分类加进你的业务流程。参考链接手部追踪方案文档手部关键点模块Python Hands 方案源码【免费下载链接】mediapipeCross-platform, customizable ML solutions for live and streaming media.项目地址: https://gitcode.com/GitHub_Trending/med/mediapipe创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考