
MediaPipe Hands如何从摄像头实时追踪 21 个手部关键点【免费下载链接】mediapipeCross-platform, customizable ML solutions for live and streaming media.项目地址: https://gitcode.com/GitHub_Trending/med/mediapipe打开笔记本摄像头屏幕上你的手背上立刻亮起 21 个带连线的点——手腕 1 个每根手指 4 个指尖、指节一个不少。这就是 MediaPipe Hands 在本地做的事逐帧分析摄像头画面输出每只手的 21 个 3D 关键点坐标。它不需要 GPU 服务器Python 装个包就能跑Android、iOS、桌面端都有现成示例工程。先看效果下图来自仓库内手势识别数据集MediaPipe Hands 会在这样的画面上输出双手的 21 个关键点z 值表示深度可以区分前后手指。几个关键数据每只手 21 个关键点输出含 x、y、z 三维坐标x、y 归一化到 [0,1]z 以手腕为原点掌部检测平均精度 95.7%默认最多同时跟踪 2 只手检测置信度默认 0.5移动端 GPU 上可实时运行3 分钟跑通手势识别先用 pip 装好包然后十几行 Python 就能让摄像头里的关键点动起来。安装依赖pip install mediapipe opencv-python打开摄像头并绘制手部关键点import cv2, mediapipe as mp hands mp.solutions.hands.Hands(max_num_hands2, min_detection_confidence0.5) cap cv2.VideoCapture(0) while cap.isOpened(): ok, img cap.read() if not ok: break r hands.process(cv2.cvtColor(img, cv2.COLOR_BGR2RGB)) if r.multi_hand_landmarks: mp.solutions.drawing_utils.draw_landmarks(img, r.multi_hand_landmarks, mp.solutions.hands.HAND_CONNECTIONS) cv2.imshow(MediaPipe Hands, cv2.flip(img, 1)) if cv2.waitKey(5) 0xFF 27: break完整工程Android、iOS、桌面 C 三端可直接看仓库里的示例目录 mediapipe/examples/desktop/hand_tracking/。它是怎么工作的关键点在单帧图像上就能算出来整条管线是两级结构掌部检测一个 SSD 单发检测器先在全图上找手掌框。官方论文里说检测刚性的手掌比检测张开手指的手要稳得多双手握手这种自遮挡场景也压得住关键点回归在手部裁剪区上另一个模型直接回归出 21 个 3D 坐标训练用了约 3 万张人工标注图加合成手部渲染图跟踪复用视频模式下后一帧优先用上一帧关键点位置裁剪局部区域继续跟踪跟丢了才重新跑掌部检测——这是延迟低的关键图化管线整条流程由 pbtxt 图文件定义见 mediapipe/graphs/hand_tracking/hand_tracking_mobile.pbtxtAndroid/iOS 上可切到 GPU 执行能拿它做什么手势识别把 21 个点的相对位置喂给分类器就能把画面判成石头/剪刀/布/数字 4这类离散手势。隔空操作指尖坐标可以直接驱动光标或虚拟键盘按键手指弯曲程度用关节角度算对应按键区。手语转文字连续帧的 21 点序列 手部朝向是手语识别系统最基础的输入特征。自定义手势模型自带手势不够用用 Model Maker 录几组照片就能微调出自己的识别器样本目录 mediapipe/model_maker/python/vision/gesture_recognizer/ 自带完整数据集和教程。进阶玩法参数与图文件在哪改常用调参项Python 里就是Hands()的入参max_num_hands跟几只手默认 2model_complexity0 或 1越高越准也越慢min_detection_confidence/min_tracking_confidence丢手时机调高更稳、丢得更快static_image_mode处理静态图设true每帧都跑检测底层管线想动结构改图文件移动端 hand_tracking_mobile.pbtxt、桌面端hand_tracking_desktop_live.pbtxt都在 mediapipe/graphs/hand_tracking/ 目录关键点模型子图在 mediapipe/modules/hand_landmark/。写在最后如果你要的是摄像头进、21 个 3D 点出、数据全在本地、还要覆盖 Android/iOS/桌面三端MediaPipe Hands 目前几乎没有更省事的选择。两种情况可以不用它只是想在 iPhone 上取手部位图系统自带框架就够了要的是全身关节直接看同仓库的 Pose 或 Holistic 方案更合适。【免费下载链接】mediapipeCross-platform, customizable ML solutions for live and streaming media.项目地址: https://gitcode.com/GitHub_Trending/med/mediapipe创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考