[AI人工智能教程]LattePanda&AI-剪刀石头布手势识别 精华

4471浏览
查看: 4471|回复: 6

[AI人工智能教程] LattePanda&AI-剪刀石头布手势识别

[复制链接]

LattePanda&AI-剪刀石头布手势识别

概述

在计算机科学中,手势识别是通过数学算法来识别人类手势。手势识别可以来自人的身体各部位的运动,但一般是指脸部和手的运动。
LattePanda&AI-剪刀石头布手势识别图34
在项目基础中我们将制作一款剪刀石头布人机对战小游戏,通过对“剪刀”、“石头”、“布”图片的训练,得出剪刀石头布模型文件,调用模型文件就可以对摄像头拍摄的手势进行识别了;在项目进阶中,我们将进一步训练其他手势,测试识别的效果!

项目基础

剪刀石头布小游戏

硬件准备:

AI主控:LattePanda
输入输出设备:5英寸显示屏、键盘、鼠标、摄像头

程序编写:

  1. 双击桌面上的“startpage.sh”,打开JupyterLab,切换到“home/lattepanda/桌面/LattePanda&AI项目实战/”目录下,如下图,检查一下项目必需的3个文件;
    LattePanda&AI-剪刀石头布手势识别图33

  2. 双击“LattePanda&AI-剪刀石头布手势识别”,进入该文件夹:
    LattePanda&AI-剪刀石头布手势识别图31

    • 数据- 集——该文件夹下存有不同类别的图片库,用于训练程序在训练模型时的调用
      LattePanda&AI-剪刀石头布手势识别图30LattePanda&AI-剪刀石头布手势识别图29LattePanda&AI-剪刀石头布手势识别图28
    • 模型分类名称文件——扩展名为“.npy”,训练程序运行时会生成该文件    - 训练程序——该程序包括训练和测试两个部分,训练时会对图库中的图片对象进行特征提取,训练结束后会生成模型文件和模型分类名称文件,测试时会调用这两个文件,并对测试图片进行识别
  3. 双击打开“剪刀石头布训练.ipynb”,运行训练程序;
    *本次的训练模型文件会覆盖上一次的文件,为了便于观察,请在训练前将“剪刀石头布.h5”和“剪刀石头布.npy”删除。
    LattePanda&AI-剪刀石头布手势识别图32

  4. 训练完成后,双击打开“剪刀石头布摄像头.ipynb”;
    LattePanda&AI-剪刀石头布手势识别图27
    样例代码:
    LattePanda&AI-剪刀石头布手势识别图26LattePanda&AI-剪刀石头布手势识别图25LattePanda&AI-剪刀石头布手势识别图23LattePanda&AI-剪刀石头布手势识别图24LattePanda&AI-剪刀石头布手势识别图22LattePanda&AI-剪刀石头布手势识别图21

  5. 运行程序,当执行到最后一个单元格时,会打开交互窗口进入准备阶段,交互窗口的左侧是摄像头采集的实时图像,你需要在3秒倒计时结束前做好手势动作,
    LattePanda&AI-剪刀石头布手势识别图20
    准备界面持续3秒后,电脑出的手势结果会在交互窗口的右侧出现,并根据规则显示比试结果;
    LattePanda&AI-剪刀石头布手势识别图19

  6. 当显示比试结果时,按键盘上的“Q”键可退出交互窗口。
    *在准备阶段,按“Q”键是不会退出交互窗口的。

项目进阶

训练其他手势

在项目基础中,我们做到了识别“剪刀”、“石头”、“布”三种手势,那么能不能通过训练识别更多的手势呢?当然是可以的,下面我们就来试试吧!

  1. 首先我们打开数据集;
    LattePanda&AI-剪刀石头布手势识别图18
  2. 在数据集中,新建一个文件夹,重命名为“手势”,
    LattePanda&AI-剪刀石头布手势识别图17
  3. 双击进入新建的“手势”文件夹,在里面添加你想要训练的手势名称,注意,这里最少要建立2个类别的文件夹;
    LattePanda&AI-剪刀石头布手势识别图15
  4. 在这些手势类别文件夹里,放置海量的手势图片。
    *图片大小最好在20KB~60KB之间,尽量不要超过200KB,图片名称随意。
    LattePanda&AI-剪刀石头布手势识别图16

如何拍摄

为了获取大量的手势图片,我们编写了图片拍摄程序,它能控制与LattePanda相连的摄像头,进行自动连拍。

  1. 在“home/lattepanda/桌面/LattePanda&AI项目实战/”目录下,找到“图片拍摄”文件夹并双击进入;
    LattePanda&AI-剪刀石头布手势识别图14
  2. 双击打开程序,在for index in range(照片数量)中修改你需要拍摄的照片数量;
    LattePanda&AI-剪刀石头布手势识别图13
    样例代码:
    LattePanda&AI-剪刀石头布手势识别图11
  3. 选择深色、无杂物的背景,提前在摄像头合适位置打好手势,然后运行程序,拍摄的图片会在程序同目录下依次出现;
    LattePanda&AI-剪刀石头布手势识别图12
  4. 双击图片查看拍摄效果;
    LattePanda&AI-剪刀石头布手势识别图10
  5. 点击选中第一张图片,按住“Shift”不松开,再点击选中最后一张图片,这样就选中了所有拍摄的图片;
    LattePanda&AI-剪刀石头布手势识别图9
  6. 将拍摄的这些图片移动到“手势/手枪”文件夹下;
    LattePanda&AI-剪刀石头布手势识别图8
    LattePanda&AI-剪刀石头布手势识别图35
    LattePanda&AI-剪刀石头布手势识别图6LattePanda&AI-剪刀石头布手势识别图4

    训练模型

  7. 双击打开“手势训练.ipynb”程序
    LattePanda&AI-剪刀石头布手势识别图7
    样例代码:
    LattePanda&AI-剪刀石头布手势识别图5

    LattePanda&AI-剪刀石头布手势识别图1
    LattePanda&AI-剪刀石头布手势识别图2
  8. 运行程序,程序所在目录下生成“手势.h5”和“手势.npy”文件,并识别测试图片中的手势。
    LattePanda&AI-剪刀石头布手势识别图3




虾虾^0^  见习技师

发表于 2021-8-14 13:36:41

厉害厉害厉害厉害厉害
回复

使用道具 举报

白鹤人  学徒

发表于 2021-9-14 21:31:35

楼主,你好!请问,文章中的数据集,模型文件在哪里可以找到?我也要自己训练一下试试看
回复

使用道具 举报

三春牛-创客  初级技神

发表于 2023-8-23 21:45:54

厉害厉害
回复

使用道具 举报

三春牛-创客  初级技神

发表于 2023-8-23 21:46:55

赞赞赞赞赞!!
回复

使用道具 举报

花生编程  中级技匠

发表于 2023-8-24 14:20:25

厉害厉害
回复

使用道具 举报

花生编程  中级技匠

发表于 2023-8-24 14:21:30

不错不错
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail