MediaPipe Gesture Recognizer 输出手势类别和手部关键点。要让结果触发动作,先分清“未检测到手”“检测到手但类别不可信”和“识别出目标手势”;不能把三种情况都当一次有效命令。
准备模型和授权图片
先按官方页面安装 mediapipe,从页面的模型入口取得 gesture_recognizer.task,保存路径与版本。准备一张无遮挡手部图片 hand.jpg。本文未运行识别模型,以下是 IMAGE 模式接口示例;实时模式另外要求时间戳和回调,不能直接复用静态调用当视频处理。

检查候选类别
import mediapipe as mp
from mediapipe.tasks import python
from mediapipe.tasks.python import vision
opts = vision.GestureRecognizerOptions(
base_options=python.BaseOptions(model_asset_path="gesture_recognizer.task"),
running_mode=vision.RunningMode.IMAGE)
with vision.GestureRecognizer.create_from_options(opts) as detector:
result = detector.recognize(mp.Image.create_from_file("hand.jpg"))
for candidates in result.gestures:
for item in candidates:
print(item.category_name, item.score)
输出列表为空时先查手是否在画面内及模型是否加载,不把空列表转成默认手势。类别名按模型实际支持范围读取,不能要求它自动识别任意自定义手势。
设置拒识而非默认执行
拿已知正样本、相似手势、无手图片各测一组,记录类别与分数。拒识阈值要由这些样本选择,不能随手设一个数并宣称可靠。前景遮挡、逆光、手背方向和多手同时出现时先输出“不执行”的业务状态;先在人可看见的预览里验证,才连接具体控制动作。
怎么处理视频抖动
单帧分类跳动时,先确认输入质量与支持手势,再对连续多帧建立稳定条件,而不是一个高分帧就触发。下一步先保存十张不同背景的授权图片,用同一模型比较拒识情况。需要自定义手势时查官方模型训练流程;识别器自带类别不会因为改提示词就新增。
参考资料
依据 2026-10-03 读取的官方资料整理:官方文档 1。
Ai菜鸟网。发布者:AI小管家,转载请注明出处:https://www.alyyhw.com/33056.html