目录

1. 数据集介绍

2. 训练、保存网络

3. 手势识别

4. 识别结果

5. 总结


1. 数据集介绍

本实验所用数据集为从Kaggle平台下载的手语数据集(sign_mnist)中选取的部分数据。

sign_mnist 数据集格式的模式化与经典 MNIST 紧密匹配。每个训练和测试用例表示一个标签 (0-25),作为每个字母 A-Z 的一对一映射(由于手势运动,9=J 或 25=Z 没有情况)。训练数据(27,455 个案例)和测试数据(7172 个案例)大约是标准 MNIST 大小的一半,但在其他方面与标签 pixel1,pixel2....pixel784 的标题行相似,它们表示单个 28x28 像素图像,灰度值在 0-255 之间。原始手势图像数据表示多个用户在不同背景下重复手势。部分示例图片如下:

本实验从以上数据集中选取十个手势分别定义为 0~9,定义示例图如下:

本实验所用数据集将原始的 CSV 文件转换成图片(png)格式,两种格式文件下载见文末总结。

2. 训练、保存网络

随机选取 20 张图片进行展示。

clc; clear
gesture_dataset_path = fullfile('dataset', 'train_data');
imds=imageDatastore(gesture_dataset_path, 'FileExtensions',...
{'.png','.jpg','.tif'},'IncludeSubfolders',true,...
'LabelSource','foldernames');figure
numImages = 11599;
perm = randperm(numImages,20);     % 随机选取20个数,perm是1*20double数组
for i = 1:20                       % 此循环是MATLAB自带示例subplot(4,5,i);imshow(imds.Files{perm(i)});   % 显示随机选取的20幅图像drawnow;
end

展示如图:

cnn网络结构图:

训练结果:

训练结果显示,其验证准确度达到了 99.97%,效果很好。

3. 手势识别

通过使用测试数据集中的图片进行手势识别,查看识别效果。

clc; clear% 导入训练好的 CNN 网络
load("cnn.mat");% 对测试数据集任一图像测试
I = imread('dataset\test_data\5\5_100.png');
imshow(I);
title(classify(net, I));% 查看对测试数据集中手势 5 的识别正确率
m = 0;
for i = 1:310P = imread(strcat('dataset\test_data\5\5_', num2str(i),'.png'));if double(string(classify(net, P))) ~= 5m = m + 1;end
end
accy = (310 - m) / 310;
fprintf('The accuracy rate is %6.4f.\n', accy);

4. 识别结果

结果显示,对测试数据集中手势 5 的识别正确率为 93.55%。

5. 总结

1. 识别效果良好,最终的手势识别测试可以改进做一个 GUI 界面更好。

2. 本实验所用数据集和全部源代码下载。

MATLAB基于卷积神经网络的手势识别相关推荐

  1. 基于卷积神经网络的手势识别研究论文

    1.卷积神经网络 有哪些改进的地方 卷积神经网络的研究的最新进展引发了人们完善立体匹配重建热情.从概念看,基于学习算法能够捕获全局的语义信息,比如基于高光和反射的先验条件,便于得到更加稳健的匹配.目前 ...

  2. MATLAB基于BP神经网络的手势识别

    MATLAB基于BP神经网络的手势识别 摘 要:给出了采用MATLAB来识别五个手指和手背的同心圆距离,并通过颜色肤色的方法来提取手势特征量,同时利用BP神经网络算法进行误差分析来实现手势识别的设计方 ...

  3. 【图像识别】基于卷积神经网络实现手写汉字识别附matlab代码

    1 内容介绍 1.1. 数据集的获取 数据集的获取来自模式识别国家重点实验室共享,这个不解释直接上网址http://www.nlpr.ia.ac.cn/databases/download/featu ...

  4. 基于卷积神经网络的数字手势识别APP(安卓) 毕业设计 附完整代码

    项目简介 这是一个基于卷积神经网络的数字手势识别 APP(安卓),主要功能为:通过手机摄像头识别做出的数字手势,能够识别数字 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 对应的手 ...

  5. Android基于卷积神经网络的数字手势识别识别数字手势0-10 Android studio编译

    这篇博客主要基于我做的一个数字手势识别APP,具体分享下如何一步步训练一个卷积神经网络模型(CNN)模型,然后把模型集成到Android Studio中,开发一个数字手势识别APP.Android基于 ...

  6. 一种基于卷积神经网络的图像去雾研究-含matlab代码

    目录 一.绪论 二.去雾卷积网络 2.1 特征提取 2.2 多尺度映射 2.3 局部均值 2.4 非线性回归 三.实验与分析 四.Matlab代码获取 一.绪论 雾是一种常见的大气现象,空气中悬浮的水 ...

  7. 基于卷积神经网络的手写汉字识别[matlab版本][可识别509类汉字]

    基于卷积神经网络的手写汉字识别[matlab版本][可识别509类汉字] ####一. 数据集的获取 数据集的获取来自模式识别国家重点实验室共享,这个不解释直接上网址http://www.nlpr.i ...

  8. 【图像识别】基于卷积神经网络cnn实现银行卡数字识别matlab源码

    1 基于卷积神经网络cnn实现银行卡数字识别模型 模型参考这里. 2 部分代码 %印刷体识别 clc;clear;close all; addpath('util/'); addpath('data/ ...

  9. 卷积神经网络matlab_基于卷积神经网络的遥感图像养殖区自动划分

    基于卷积神经网络的遥感图像养殖区自动划分 摘要:卷积神经网络是目前计算机视觉领域广泛应用的模型.我们在传统卷积神经网络的基础上,替换了全连接层,借助高分辨率图像,对海水养殖区进行识别和标记,最终实现了 ...

最新文章

  1. Sublime Text shift+ctrl妙用、Sublime Text快捷组合键大全
  2. Fiori offline support : overrideRefreshHandling and injectRefreshList
  3. 机器学习是如何改善企业生产力的?(内附机器智能版图)
  4. JavaScript计算指定日期与当前日期的相差天数
  5. 使用libbpf-bootstrap构建BPF应用程序
  6. Git 基础(八)—— 分支管理
  7. 校内网脱胎“人人”能成大器
  8. .Net 接入CAS 遇到的坑
  9. php memcache 缓存与memcached 客户端的详细步骤
  10. 计算机阅卷系统 流程,河北鑫众博电脑阅卷系统六步操作过程
  11. 如何用计算机测量图片景深,景深(摄影测量与遥感学术语 .)_百度百科
  12. DELL EMC Isilon配额Quota
  13. option设置selected
  14. docker容器内启动mysql服务,报错:New main PID 99 does not belong to service, and PID file is not owned by root.
  15. 支付宝个人支付接口,无需营业执照
  16. 电脑缺失ACPI.sys
  17. JVM 双亲委派机制(通俗易懂)
  18. Ubuntu中实现中英文切换
  19. (八)空气质量指数计算7.0-----beautifulsoup4解析处理html、获取所有城市空气质量
  20. 圣诞树代码,c语言编程,基于graphics.h

热门文章

  1. 解决win10家庭版远程 RPD失效问题
  2. php公众号开发关注事件推送图文_PHP_微信公众平台开发关注及取消关注事件的方法,本文实例讲述了微信公众平台 - phpStudy...
  3. 使用OrthoMCL鉴定直系同源基因组
  4. 【网络基础】qps | tps | pv | uv
  5. linux如何让两台或多台服务器时间同步
  6. 基于PaddleOCR和ToolGood.Words测试从图片中检测敏感词
  7. vivado生成ltx文件命令_Xilinx Artix-7系列FPGA 高速采集卡开发例程使用手册.pdf
  8. TwinCAT 3 控制汇川伺服 startup添加索引列表
  9. 常见的计算机组成原理专业术语名词总结:
  10. Linux逻辑卷管理 、 VDO 、 RAID磁盘阵列、进程管理基础学习