MaixCAM MaixPy 基于手部关键点检测结果进行进行手势分类

简介

MaixCAM MaixPy 基于手部关键点检测结果进行进行手势分类可分类手势。

目前使用的数据集为14 类静态手势数据集数据集下载地址(百度网盘 Password: 6urr ),数据集共 2850 个样本,分为 14 类。

该 app 实现位于 MaixPy/projects/app_hand_gesture_classifier/main.py,主要逻辑是

  1. 加载 14 类静态手势数据集手部关键点检测 处理后的 20 个相对手腕的坐标偏移
  2. 初始训练前 4 个分类,以支持手势识别
  3. 加载 手部关键点检测 模型处理摄像头并通过该分类器将结果可视化在屏幕上
  4. 点击右上角 class14 可增添剩余分类样本再训练以达到 14 分类手势
  5. 点击右下角 class4 可移除上一步添加的分类样本再训练以达到 4 分类手势
  6. 点击按钮之间的小块区域,可在顶部显示分类器上一次训练的时长
  7. 点击其余大块区域,可在左侧显示当前支持的分类类别,绿色表示支持,黄色表示不支持

效果视频

  1. 视频内容为执行了上述第 4 步后的 14 分类模式,可识别手势 1-10 (默认对应其他英文释义),ok,大拇指点赞,比心(需要手背,拍摄时不好演示,可自行验证),小拇指伸展 一共 14 种手势。

  2. 紧接着执行第 5 步,回退到 4 分类模式,仅可识别 1,5,10(握拳)和 ok,其余的手势都无法识别到正常结果。期间也有执行 第 7 步展示了当前是 4 分类模式,因为除了前 4 种手势为绿,后 10 种全部为黄色显示。

  3. 再就是执行第 4 步,恢复到 14 分类模式,4 分类模式无法识别的手势现在也恢复正确识别了。

  4. 末尾展示了双手的识别,实测可同时正确识别两只手的手势。

其它

效果视频为捕获的 maixvision 右上的屏幕预览窗口而来,和屏幕实际显示内容一致。

详细实现可见源码和上述分析了。

二次开发或修改也可直接基于源码完成,内附有注释。

如确实仍有需要协助的,可与 maixhub 上发帖留言或发 email 到公司邮箱。