LattePanda&AI-剪刀石头布手势识别
## LattePanda&AI-剪刀石头布手势识别## 概述
在计算机科学中,手势识别是通过数学算法来识别人类手势。手势识别可以来自人的身体各部位的运动,但一般是指脸部和手的运动。
在项目基础中我们将制作一款剪刀石头布人机对战小游戏,通过对“剪刀”、“石头”、“布”图片的训练,得出剪刀石头布模型文件,调用模型文件就可以对摄像头拍摄的手势进行识别了;在项目进阶中,我们将进一步训练其他手势,测试识别的效果!
## 项目基础
剪刀石头布小游戏
### 硬件准备:
AI主控:LattePanda
输入输出设备:5英寸显示屏、键盘、鼠标、摄像头
### 程序编写:
1. 双击桌面上的“startpage.sh”,打开JupyterLab,切换到“home/lattepanda/桌面/LattePanda&AI项目实战/”目录下,如下图,检查一下项目必需的3个文件;
2. 双击“LattePanda&AI-剪刀石头布手势识别”,进入该文件夹:
- 数据- 集——该文件夹下存有不同类别的图片库,用于训练程序在训练模型时的调用
- 模型分类名称文件——扩展名为“.npy”,训练程序运行时会生成该文件 - 训练程序——该程序包括训练和测试两个部分,训练时会对图库中的图片对象进行特征提取,训练结束后会生成模型文件和模型分类名称文件,测试时会调用这两个文件,并对测试图片进行识别
3. 双击打开“剪刀石头布训练.ipynb”,运行训练程序;
`*本次的训练模型文件会覆盖上一次的文件,为了便于观察,请在训练前将“剪刀石头布.h5”和“剪刀石头布.npy”删除。`
4. 训练完成后,双击打开“剪刀石头布摄像头.ipynb”;
样例代码:
5. 运行程序,当执行到最后一个单元格时,会打开交互窗口进入准备阶段,交互窗口的左侧是摄像头采集的实时图像,你需要在3秒倒计时结束前做好手势动作,
准备界面持续3秒后,电脑出的手势结果会在交互窗口的右侧出现,并根据规则显示比试结果;
6. 当显示比试结果时,按键盘上的“Q”键可退出交互窗口。
*在准备阶段,按“Q”键是不会退出交互窗口的。
## 项目进阶
### 训练其他手势
在项目基础中,我们做到了识别“剪刀”、“石头”、“布”三种手势,那么能不能通过训练识别更多的手势呢?当然是可以的,下面我们就来试试吧!
1. 首先我们打开数据集;
2. 在数据集中,新建一个文件夹,重命名为“手势”,
3. 双击进入新建的“手势”文件夹,在里面添加你想要训练的手势名称,注意,这里最少要建立2个类别的文件夹;
4. 在这些手势类别文件夹里,放置海量的手势图片。
*图片大小最好在20KB~60KB之间,尽量不要超过200KB,图片名称随意。
### 如何拍摄
为了获取大量的手势图片,我们编写了图片拍摄程序,它能控制与LattePanda相连的摄像头,进行自动连拍。
1. 在“home/lattepanda/桌面/LattePanda&AI项目实战/”目录下,找到“图片拍摄”文件夹并双击进入;
2. 双击打开程序,在for index in range(照片数量)中修改你需要拍摄的照片数量;
样例代码:
3. 选择深色、无杂物的背景,提前在摄像头合适位置打好手势,然后运行程序,拍摄的图片会在程序同目录下依次出现;
4. 双击图片查看拍摄效果;
5. 点击选中第一张图片,按住“Shift”不松开,再点击选中最后一张图片,这样就选中了所有拍摄的图片;
6. 将拍摄的这些图片移动到“手势/手枪”文件夹下;
## 训练模型
1. 双击打开“手势训练.ipynb”程序
样例代码:
2. 运行程序,程序所在目录下生成“手势.h5”和“手势.npy”文件,并识别测试图片中的手势。
厉害厉害厉害厉害厉害
楼主,你好!请问,文章中的数据集,模型文件在哪里可以找到?我也要自己训练一下试试看
厉害厉害 赞赞赞赞赞!! 厉害厉害 不错不错
页:
[1]