yolov5简单手势识别

实验目的

实验要求只需要识别五个简单的手势即可,分别对应的一下五个动作

动作 对应标签名
点赞 good
OK ok
单手比心 love
数字 5 five
数字8 eight

使用yolov5实现目标检测功能,有一下几个主要步骤

  1. 环境配置(包括conda、labelimg、yolov5的下载)
  2. 图片标签
  3. 模型训练
  4. 模型测试(图片+视频)

附上实验结果
yolov5简单手势识别_第1张图片
yolov5简单手势识别_第2张图片

环境配置

Anaconda安装

推荐使用Anconda,它是python的一个集成管理工具,提供了包管理与环境管理的功能,可以很方便地解决多版本python并存、切换以及各种第三方包安装问题。

anconda安装不难,很多博主都有教程,可以看看他们的,不再赘述了

可以参考这个http://t.csdnimg.cn/vpmbv

Anconda的使用教程:

  • 在Anconda中主要使用的两个程序是Anaconda Prompt 和Anaconda Navigator。

  • Anaconda Prompt就是我们的cmd,以后的创建环境和切换环境,和pip安装各种包全在这里。
    (可以通过指令创建虚拟环境)

    python --version 查看python版本
    conda create -n env_name python=3.8 创建一个python版本为3.8的自命名虚拟环境
    conda remove -n env_name --all 移除自命名虚拟环境
    
  • Anaconda Navigator为可视化管理软件
    我们创建的环境和环境里的安装的包可以在Environments里查看,也可以在这里创建虚拟环境和移除虚拟环境,还可为每个独立的环境安装需要的包

Pycharm安装

PyCharm是使用最广泛的一种集成开发环境适用于Python编程语言。它对于代码的检索、提示和补全非常友好,同时便于跨平台开发。

官网下载地址:https://www.jetbrains.com/pycharm/

至于破解版自己想办法咯

注意在使用pycharm进行开发时,选择对应的conda环境

yolov5环境配置

步骤一:环境创建

打开anaconda prompt 控制台,创建一个自己的yolov5环境

conda create -n yolov5 python=3.9

再输入y,安装内容

激活环境

conda activate yolov5

步骤二:Pytorch安装

Pytorch的安装

安装pytorch之前,最好先配置清华镜像源,否则下载速度很慢

pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

官网下载地址:https://pytorch.org/get-started/locally/

在官网选择对应的版本(在英伟达控制面版左下角的系统信息中的组件里查看自己合适哪个)

步骤三:yolov5下载

下载yolov5自身环境

Github地址:https://github.com/ultralytics/yolov5

将这个GitHub库的文件压缩包下载下来,并解压,会发现有一个requirements.txt文件

来到yolo-master目录下,输入命令安装剩余环境

pip install -r .\requirements.txt

将下载好的模型文件yolov5s.pt放到文件夹,重新运行测试文件

python detect.py

这样就完成了官方案例的检测,也证明你配置好了

Labelimg安装

注意要在yolov5的环境下

用gitbash打开,运行

git clone https://github.com/tzutalin/labelImg

然后

pip install pyqt5`

下好后,直接在.whl文件当前文件夹右键运行cmd,执行

pip install PyQt5-5.13.0-5.13.0-cp35.cp36.cp37.cp38-none-win_amd64.whl

然后安装lxml:

pip install lxml

然后打开labelimg的文件夹在cmd中执行

pyrcc5 -o libs/resources.py resources.qrc

然后再该文件夹下

python labelImg.py

启动labelimg

在使用labelimg的时候不要关闭命令行控制台哦

数据标注

创建一下的文件格式

master
	--images //存放你要进行打标签的图片
	--labels //存放标签结果

在labelimg中左边选择文件目录为master/images,存放目录为master/labels,将左侧save下方的东西点成yolov

在上侧选项栏中的view选择自动保存

接下来可以打标签啦

注意

  • w可以快速进入画框模式,d为下一个 a为上一个
  • 标签时记得将原有的默认标签换成你自己的(在labelimg中的data文件夹的txt文件)

模型训练

将yolov5-master的data文件夹中coco128.yaml复制一份并粘贴回该文件夹改个名handSize 并修改内容

# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
path: ../handSize/master # dataset root dir
train: images  # train images (relative to 'path') 128 images
val: images  # val images (relative to 'path') 128 images
test:  # test images (optional)

# Classes
names:
  0: good
  1: five
  2: eight
  3: love
  4: ok

将yolov5-master的model文件夹中yolov5s.yaml复制一份并粘贴回该文件夹改个名handSize并修改内容

nc: 5  # number of classes 修改分类数量

打开train.py修改这两行

其实就是修改文件路径为刚刚修改的那两个

parser.add_argument('--cfg', type=str, default=ROOT / 'models/handSize.yaml', help='model.yaml path') 

parser.add_argument('--data', type=str, default=ROOT / 'data/handSize.yaml', help='dataset.yaml path')

修改训练轮数

parser.add_argument('--epochs', type=int, default=100, help='total training epochs')

修改为gpu模式

parser.add_argument('--device', default='0', help='cuda device, i.e. 0 or 0,1,2,3 or cpu')

然后执行train.py

注意环境!!!

训练需要一定时间,看大家电脑实力了

yolov5-master\runs\train中查看训练结果

模型检测

图片检测

将要检测的图片放在data/images

将刚刚训练的结果best.pt放在yolov5-master

修改detect.py

parser.add_argument('--weights', nargs='+', type=str, default=ROOT / 'best.pt', help='model path or triton URL')

# 目标图片路径
parser.add_argument('--source', type=str, default=ROOT / 'data/images', help='file/dir/URL/glob/screen/0(webcam)')

parser.add_argument('--data', type=str, default=ROOT / 'data/handSize.yaml', help='(optional) dataset.yaml path')

parser.add_argument('--conf-thres', type=float, default=0.25, help='confidence threshold')

运行detect.py

实时视频检测

修改detect.py

parser.add_argument('--source', type=str, default='0', help='file/dir/URL/glob/screen/0(webcam)')
# 0 是指电脑默认的摄像头

运行detect.py

参考文献

  1. anaconda的安装http://t.csdnimg.cn/nCyrV
  2. labelimg的使用http://t.csdnimg.cn/asZTb
  3. labelimg的安装http://t.csdnimg.cn/MmXnk
  4. 训练教程【【一看就懂,一学就会】yolov5保姆级打标签、训练+识别教程】https://www.bilibili.com/video/BV1rT411f7Up?vd_source=85cf7c918a14ac5619e90f4590db906e
  5. 视频检测【从0开始运行YOLOV5:8、YOLOV5使用本机摄像头实时检测】https://www.bilibili.com/video/BV1qe4y1W7n9?vd_source=85cf7c918a14ac5619e90f4590db906e

你可能感兴趣的:(YOLO)