
MediaPipe Hands 上手指南把 21 个手部关键点变成可用的交互信号【免费下载链接】mediapipeCross-platform, customizable ML solutions for live and streaming media.项目地址: https://gitcode.com/GitHub_Trending/med/mediapipe如果你想在应用里响应手的动作又不想依赖深度相机或昂贵的硬件方案MediaPipe Hands 是目前最务实的选项之一它用一路普通 RGB 摄像头就能实时输出每只手 21 个 3D 关键点的坐标且这套坐标可以直接参与手势判断。它覆盖 Android、iOS、桌面 C 与浏览器在手机端也能跑实时。它解决的是什么问题人一眼能认出画面里的手程序却很难手指会遮挡手掌、两只手会互相遮挡手几乎没有高对比度的识别特征目标尺度差异可达 20 倍。最直接的每帧全图检测做法算力开销太大MediaPipe Hands 用两级流水线来解决掌心检测模型扫描全图定位手掌返回带朝向的手部边界框手部关键点模型只在裁剪区域内回归 21 个 3D 关键点对部分可见、自遮挡的手姿也有鲁棒性。官方论文给出的掌心检测平均精度为 95.7%。对工程落地更有意义的是它的跟踪策略首帧检测成功后后续帧直接复用上一帧关键点位置做增量估计只有跟丢时才重新触发掌心检测。这让它能在移动设备上边跟踪双手max_num_hands默认 2边保持实时。21 个关键点如何转换成交互逻辑输出不只是坐标而是三类信息各自对应一类工程用途归一化 3D 坐标multi_hand_landmarks每个点含 x、y按图像宽高归一化到 0–1与 z深度以手腕为原点值越小越靠近摄像头。借助 z 可以判断指尖是伸向摄像头还是离开摄像头用来写推、拉、抓取这类判断。世界坐标系multi_hand_world_landmarks把关键点换算成以米为单位的真实 3D 坐标原点在手部几何中心附近便于做不依赖摄像头距离与焦距的空间计算。左右手判别multi_handedness返回 Left/Right 标签与置信度分数。有一个常见坑handedness 默认假设输入来自镜像的前置自拍相机用后置相机时需要在应用层自己翻转结果。有了这三样绝大多数常见交互都能实现比较指尖与掌心中心距离判断五指张开/握拳跟踪 z 值变化实现抓取按左右手组合触发不同命令。仓库自带的手势识别示例数据就展示了能构建的手势类别比如打电话 哪些场景值得尝试空中手势与游戏控制关键点序列本身就是天然的时间序列方便做规则判断或轻量分类手语与无障碍输入21 个 3D 点加左右手信息是手语模型常用的标准输入特征AR 交互把手当光标抓取、抛掷虚拟物体世界坐标系直接提供空间尺度手势数据采集作为标注与可视化工具先把手的姿态稳定输出再训练上层模型。如果只需要手在哪而不是手在做什么还有更轻量的路径仓库提供了仅做手部检测的图如 hand_detection_mobile只输出边界框、不跑关键点耗时更低。如何快速接入官方文档在 docs/solutions/hands.md有两条路线各语言 Solution APIPython / JavaScript / Android / iOS最快路径。Python 里通过mp.solutions.hands.Hands(...)创建实例后逐帧送入图像即可JavaScript 可直接在浏览器中接摄像头。常用参数static_image_mode视频流还是静态图、max_num_hands、model_complexity0 或 1更高更准也更慢、min_detection_confidence与min_tracking_confidence默认 0.5。C 图想深度定制时完整流水线图在 mediapipe/graphs/hand_tracking/含移动端、桌面 CPU/GPU 版本核心子模块在 mediapipe/modules/hand_landmark/。另外两点值得提前知道原 Hands 方案已在 2023 年升级并入新的 Hand Landmarkertasks 系列 API新项目建议直接评估新版如果你需要自定义手势集合可以用 Model Maker 的 gesture_recognizer 训练手势分类模型训练流程与示例数据在 mediapipe/model_maker/例如数字四需要查看源码或编译示例时克隆仓库即可git clone https://gitcode.com/GitHub_Trending/med/mediapipe⚠️ 落地前的几个提醒手部数量默认 2 只更多需要修改图配置或 API 参数延迟会相应上升低端设备选model_complexity0追求精度选 1先按目标机型实测再定处理单张静态图务必打开static_image_mode否则会被按视频流处理并进入跟踪逻辑左右手标签依赖镜像假设输出总是反了时先查这里自遮挡、部分遮挡下表现稳定但快速挥动或模糊帧不保证每帧可见此时由跟踪置信度阈值决定何时重新检测。对新手来说最省事的起步方式是先跑通 Python 摄像头示例把一帧里一只手的 21 个点打印出来弄清坐标含义之后再规划自己要做的手势判断。【免费下载链接】mediapipeCross-platform, customizable ML solutions for live and streaming media.项目地址: https://gitcode.com/GitHub_Trending/med/mediapipe创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考