| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 人工智能 -> 毕业设计之—基于CNN的手势识别技术研究与游戏应用实现 -> 正文阅读 |
|
[人工智能]毕业设计之—基于CNN的手势识别技术研究与游戏应用实现 |
1.摘要? ? ? ? ? 手势操作作为一种全新的操作方式,在智能设备中得到了广泛应用。传统的手势识别方法需要复杂的预处理过程,识 别速度与准确度比较差。文章提出一种基于CNN的手势识别技术,取得了较好的识别效果,识别速度也有明显的提升。最后我们将本文设计实现的手势识别技术应用到玩Chrome 浏览器 Dino Jump 游戏上,将“Punch(冲拳手势)”手势与 Dino 角色的跳跃动作绑定在一起进行玩向前跳跃游戏。 ? ? ? ? ? 2. CNN概述? ? ? ? 随着人工智能技术的快速发展,人机交互得到了极大的 丰富,从打字、触屏到语音,交互方式的发展给人们的操作 带来了便利和极佳的使用体验。近年来,手势操作得到了人 们广泛的重视,通过对用户不同手势的识别,系统能够理解 用户的意图并完成相应的操作。本文主要利用卷积神经网络 (Convolutional Neural Network,CNN)较强的容错性与鲁 棒性,提出了一种新的手势识别技术,实现了较好的手势识 别性能。 ? ? ? ? 神经网络是一种利用仿生学原理,模仿大脑神经突触的 信息处理过程而建立的网络模型。CNN是一种局部激活的 前馈型神经网络,具有局部感受野、权值共享与降采样三大 基本特征。典型的CNN主要由输入层、输出层、卷积层、池 化层以及全连接层组成,其典型网络结果如图所示。 ? ? ? ? 通过图可以看出,当待处理图像传入输入层后,需要经 过若干个卷积层与池化层的处理,通过若干个全连接层得 到最终的输出结果。在卷积层通过滤波掩膜对图像进行卷 积操作,能够实现图像局部特征的提取,CNN局部感受野 的特征得到了体现。同时在同一卷积层中掩膜的参数保持一 致,体现了CNN权值共享的特征。经过卷积层的处理,图像 提取的特征进入池化层进行降采样以减少后续数据的处理 量,最大值池化是最常用的池化方式。通过上述处理,将提 取的图像特征拉伸为特征向量,再经过若干全连接层后,即 可实现图像特征的较好分类识别。 CNN主要包括各卷积层的掩膜参数、层与层间的传递 权值等。这些参数需要利用大量的训练数据进行优化调节, 一般采用误差反向传递传播的方法,将误差反向进行传递, 并根据误差逐层调节模型参数,最终达到较好的分类识别 性能。 CNN的复杂网络结果、大规模的可设置参数赋予其较 强的容错能力与鲁棒性。一方面对图像特征的提取具备平 移、旋转及尺度不变性,使得训练好的CNN模型能够较好 地适应不同场景的识别问题。另一方面CNN模型在训练中的 调参过程耗时较长,一旦训练完成,其识别过程十分迅速, 极大增强了CNN的实用价值。 3.模型设计代码实现:
模型结构:
4.实验结果分析4.1 数据来源本文采用:
其数据展示如下: ?4.2 模型训练? ? 手势图像的预处理: 在实际应用中,手势图像通常只占全部图像的一小部分, 为了排除无关图像对手势识别可能造成的影响,需要对图像 进行简单的预处理,主要包括手势区域的检测、分割与二值 化操作。首先在较大尺度下,通过对人体躯干等结构的识别 并在彩色图像中检测手势所在区域;其次利用图像分割,将 手势区域分割出来;然后将得到的手势区域利用自适应阈值 对图像进行二值化操作,并将背景区域置0,手势区域置1; 最后再将手势区域平移至图像中心,并将图像规范为统一大 小,作为神经网络的输入。 ? ? ? 选择5类手势作为训练对象,每类收拾选择 1 000张手势图片,其中每次迭代训练随机选择900张? 作为训 练样本,另外100张作为测试样本,共计迭代15次,得到最终 的CNN模型。 4.3 结果分析与展示? ? ? ? ?CNN模型训练完成后,利用数据集中已选取的测试样 本对模型的识别性能进行测试,得到5种手势的识别结果, 结果如图所示。
总体来看,本文提出的基于CNN 的手势识别方法取得了较好的识别效果。 5.应用实现? 在 电脑上没有安装任何游戏下,我们将尝试 Chrome 浏览器 Dino Jump 游戏。因此,本文将“Punch”手势与 Dino 角色的跳跃动作绑定在一起,实现控制玩这个游戏。实现结果如下: ?6.总结 ? ? ? ?针对传统手势识别方法所存在的弊端,本文设计了针对 手势识别方法的CNN结构,并利用手势数据集实现了网络 模型的训练与参数的调节,通过实验的结果可以证明该方法的识别准确率较高,最后在 玩Chrome 浏览器 Dino Jump 的游戏上显示该研究在实际生活中具有较强的应用价值。 |
|
|
上一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/27 6:34:33- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |