基于MATLAB的战术手势识别

手势识别的研究起步于20世纪末,由于计算机技术的发展,特别是近年来虚拟现实技术的发展,手势识别的研究也到达一个新的高度。熵分析法是韩国的李金石、李振恩等人通过从背景复杂的视频数据中分割出人的手势形状,然后计算手型的质心到轮廓边界的距离从而识别手势的方法,该方法具有较好的识别率,在对6个实验样本的测试中,结果显示其正确识别率近乎百分百。印度人米娜克氏在基于视觉手势识别的基础上进一步研究,提出一种基于结构特征的手势识别算法。该算法包括去除背景、方向检测。手指检测以及手指的数量进行检测,最终确定手势。于成龙等采用基于视觉的组合特征进行手势识别,通过手掌的大小长度、质心、长宽比等人手的属性值结合使用,使得识别率得到极大提升。

对于手势识别的研究不仅仅限于大学或者是研究院等机构,众多的大型公司机构也纷纷加入到手势识别研究以及应用的行列。在多伦多2014年举行的“计算机人机互动大会”上,微软向世界展示了一款运动传感键盘,该键盘实现了对用户悬空手势进行的识别。该款键盘被命名为Type-Hover-Swipe键盘,它集成了64个传感器,每个传感器位于键盘的格子中间。当用户将手指悬停在键盘上方时,键盘会根据用户手指的运动进行识别,这样就可以实现用户以一种舒服的姿势进行手势操作。而Xbox则是微软比较成熟的商业化手势甚至是身体的识别。作为芯片生产巨头,Intel公司也积极参与到手势识别的大军中来。其中开源的图像处理OpenCV类库以及Realsense设备都是他们在此领域的研究成果。

国内高校及研究院对于手势识别也有着许多成就,哈尔滨工业大学的吴江琴、高文等人通过ANN与HMM的混合方法的手语训练识别方法,增加了识别方法的分类特征,同时使得模型的估计参数大幅减少,提高了效率。在实际运用中,使用ANN-HMM混合方法的中国手语识别系统中,孤立词语的识别率为90%,简单语句的识别率为92%。另外,天津大学的研究人员通过对操作者的体态动作图像信息进行处理使其能够控制机器人的运动、答复等状态。清华大学的研究人员将识别率较高的手势类型(例如数字手语)作为人机交互的信号,并将其应用于电脑游戏中,取得了成功。

3  手势识别基本概念

手势识别(Gesture Recognition)指通过跟踪人类手势、识别并其转换为语义上有意义的命令的过程。手势图像识别的总体目标是通过计算机对获取的手的位置、姿势或形态等信息进行处理识别,并得出语义的解释或执行相应的操作。手势图像识别技术性并不是很强,其难点和重点主要是对大量数据信息的训练和处理。

手势的完成是一个动态的过程,这个过程包括了手指弯曲引起的手的形状和手在空间中的位置和方位的变化两个方面,在实际识别过程中,根据手势的时间特征,可以将手势分为静态手势和动态手势两种。相对而言,对于静态手势的识别,可以将其视为静态图像,将时间特征设定为统一值,对手势的空间特征进行研究,而动态手势则需要将时间和空间两个要素同时参考,以随时间变化的空间特征为属性对手势进行描述。静态手势的研究,可以利用手的关节、指间等特征值进行表示,而动态手势的研究则需要取一段时间内手的各种空间特征的测量序列值进行表示。同时,由于人手具有的自由度较多,运动较为复杂,导致相同的手势动作在不同的人操作时会呈现不同的运动,从而导致特征值的差别。

为了检测手的姿势或形态,可以使用通用分类器或模板匹配器进行识别。当对视频进行手势识别时,由于视频中手势含有轨迹,使其被赋予时间特征,那么就需要相应的技术诸如隐藏马尔可夫模型(HMM)等进行该特征的处理,从而使得动态的手势识别最终转化为静态的手势识别。

目前,作为比较流行的手势识别技术有模板匹配法、特征提取和BP神经网络算法。模板匹配法:作为最接近人本身对事物的识别的方法,模型匹配法是将传感器输入的原始数据与预先存储的模板进行匹配,通过测量两者之间的相似度来完成识别,相应的,模型匹配法需要大量的基础数据作为匹配对象来确保识别率,所以受到噪声、光照等复杂环境影响较大,并且识别速度慢。但是,模板匹配法具有简单、易掌握,普及程度高的优点。特征提取:指通过对输入数据的特征进行提取,并分析转化形成具有实际含义的特征属性,从而形成训练数据库,在对手势图像进行识别时,以训练数据库的特征为基础进行识别。特征提取方法缩小了基础数据的需求量,但依旧容易受到噪声、光照等复杂环境的影响,识别速度较慢。BP神经网络是一种前向传播的多层网络,BP神经网络算法是一种按误差逆传播算法训练的多层前馈网络。它的学习规则是使用最速下降法,通过反向传播来调整网络的权值和阈值,使得网络的误差平方和最小。

本文中结合运用了特征提取法和BP神经网络算法进行战术手势图像的识别,基本实现了较高的识别率同时识别速度较快。

4  需求分析

基于MATLAB的战术手势识别功能的设计实现能很好的提高基层官兵在训练中对手语学习的记忆和掌握。根据不同的战术背景不同的手语需要,结合特战小队在实际任务中可以运用到的手语联络方式进行设计研究,从而建立的手语库能够更好的涵盖实战的各个方面,提高训练的全面性。同时,为训练成果的检验提供了一种更为智能化的方式。

根据基层现状可知,官兵日常训练任务较重,时间安排较满,官兵日常需要背记的条令条例等固化知识较多,思维活跃受到了较大限制,使得官兵在对多变、复杂的手语进行训练记忆时,往往没有较好的效果。故此如何提高训练的质量和效益成为一个关键性问题。而在记忆学中,图像放映式记忆效果显著,通过类似播放电影的方式对手语记忆进行训练,能极大的提高训练的效果,同时,其富有的生动性、形象性能够激发官兵学习热情,促使学习过程中精力更为集中,进一步的提高训练的质量。

基于这些问题,建立一个战术手势识别功能平台是相当有必要的。通过利用MATLAB的各种功能组合设计出一个具备手势识别功能和具有用户使用界面的一个平台,应用于官兵在训练中对手语的记忆,能很好的提高训练的效果和质量,大大降低训练的时间,从而减轻基层官兵的压力。同时也为管理者对所属人员训练情况进行考核提高了平台和条件。

5  战术手势识别框架设计

在对MATLAB的基本操作、原理进行深入学习后,立足于MATLAB高效便捷的特点,使用MATLAB神经网络库以及GUI用户界面做支撑,研究设计了基于MATLAB的图像处理和手势识别功能,该设计总体可以分为手势视频分解、手势图像处理与识别、GUI用户使用界面三个部分,其总体框架如图5-1所示。

在图5-1中,将基于MATLAB的战术手势识别功能的实现的完整流程进行展示,通过框图的设计,将整个设计划分为手势视频分解、手势图像处理与识别、GUI用户使用界面三个部分的内容,在本小节将针对手势视频分解、手势图像处理与识别进行详细介绍。

6、GUI界面

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/463580.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Mac 配置SourceTree集成云效

1、背景 工作使用的是自己的笔记本,一个是比较卡,在一个是敏感信息比较多还是使用公司的电脑,但是系统是Mac就很麻烦,在网上找了帖子记录一下 2、配置 打开终端 ssh-keygen -t rsa #一直回车就行 cd .ssh cat id_rsa.pub #查…

【快速上手】pyspark 集群环境下的搭建(Yarn模式)

目录 前言: 一、安装步骤 安装前准备 1.第一步:安装python 2.第二步:在bigdata01上安装spark 3.第三步:同步bigdata01中的spark到bigdata02和03上 二、启动 三、可打开yarn界面查看任务 前言: 上一篇介绍的是…

使用Python多线程抓取某图网数据并下载图片

前言 在互联网开发领域,数据抓取是一项非常实用的技术。通过数据抓取,我们可以从网页上获取所需的信息,并将其转化为结构化数据,以便进一步分析或使用。本文将介绍如何利用Python编写一个多线程程序来抓取网页上的图片数据&#…

《IMM交互式多模型滤波MATLAB实践》专栏目录,持续更新……

专栏链接:https://blog.csdn.net/callmeup/category_12816762.html 专栏介绍 关于IMM的例程 双模型EKF: 【逐行注释】基于CV/CT模型的IMM|MATLAB程序|源代码复制后即可运行,无需下载三模型EKF: 【matlab代码】3个模型的IMM例程&…

鸿蒙开发案例:指南针

【1】引言(完整代码在最后面) 在本文中,我们将介绍如何使用鸿蒙系统(HarmonyOS)开发一个简单的指南针应用。通过这个案例,你可以学习如何使用传感器服务、状态管理以及UI构建等基本技能。 【2】环境准备 …

人工智能的发展与未来:从Yann LeCun的观点谈起

引言 在当今的人工智能(AI)领域,AGI(通用人工智能)已成为热门话题。许多专家认为,随着技术的不断发展,AGI的实现只是时间问题。然而,Yann LeCun——图灵奖得主、Meta首席AI科学家&a…

【The Art of Unit Testing 3_自学笔记06】3.4 + 3.5 单元测试核心技能之:函数式注入与模块化注入的解决方案简介

文章目录 3.4 函数式依赖注入技术 Functional injection techniques3.5 模块化依赖注入技术 Modular injection techniques 写在前面 上一篇的最后部分对第三章后续内容做了一个概括性的梳理,并给出了断开依赖项的最简单的实现方案,函数参数值注入法。本…

电磁兼容(EMC):整改案例(六)Y电容过大导致雷击浪涌炸机

目录 1. 异常现象 2. 原因分析 3. 整改方案 4. 总结 1. 异常现象 某金属外壳带接地线的产品按GB/T 17626.5进行雷击浪涌测试,在L,N线对PE进行4kV浪涌电压测试时,出现炸机现象,AC-DC电源芯片损坏。而在L,N线间进行2…

代码之眼,陈欣的xml解密之路

第一章 在未来的世界里,科技已经发展到了令人难以想象的地步。人工智能、量子计算和生物技术交织在一起,创造了一个全新的社会形态。在这个世界中,有一个名为“代码守护者”的组织,专门负责维护全球信息系统的安全和稳定。 陈欣是…

L0G1000:Linux+InternStudio 闯关作业

1. 配置基础环境 首先,打开 Intern Studio 界面,点击 创建开发机 配置开发机系统。 InternStudio 填写 开发机名称 后,点击 选择镜像 使用 Cuda11.7-conda 镜像,然后在资源配置中,使用 10% A100 * 1 的选项&#xff…

爬虫笔记22——当当网图书详情页静、动态数据爬取

当当网动态数据爬取 静态数据爬取动态数据爬取接口参数的获取 静态数据爬取 进入图书详情,这里的图书数据信息比如标题、价格、图片都是非结构化数据,可以使用xpath语法提取。是很简单的数据采集了,就不细说了。 动态数据爬取 滑到下面这里的…

使用pathview在线渲染KEGG Pathway Map,给感兴趣的基因、化合物添加颜色

导读: 通过将用户提供的基因表达定量数据,化合物定量数据映射并渲染到相关的KEGG通路图上,能够帮助我们直观且系统地研究基因、酶、化合物间的关系。 KEGG通路图简介 KEGG PATHWAY数据库是一系列手动绘制的图形图谱的集合,称为…

自动化测试工具Ranorex Studio(二十一)-适配一个已存在的对象库

通过录制一个手工测试场景我们创建了一个对象库。录制期间用到的每个UI元素都在库中创建了一个新的条目。默认情况下,一个新的Ranorex Studio项目包含一个库文件(*.rxrep),这个文件可以被多个录制模块或代码模块使用。 图:一个库的文件视图…

OpenSLL下载,环境变量配置

https://slproweb.com/products/Win32OpenSSL.html 环境变量 新建一个path为安装选择的目录的bin路径

【MyBatis】【基于轻量型架构的WEB开发】课程 课后习题 章节测试

mybatis关联查询、缓存、注解 一. 单选题 1. 下列关于 <collection> 元素的描述正确的是&#xff08;&#xff09;。 A. MyBatis 就是通过 <collection> 元素来处理一对多关联关系的 B. <collection> 元素的属性与 <association> 元素完全相同 C.…

JavaEE-多线程上

文章目录 线程概述进程/线程多线程的作用JVM关于线程资源的规范关于Java程序的运行原理 并发与并行并发(concurrency)并行(parallellism)并发编程与并行编程 线程的调度策略分时调度模型抢占式调度模型 创建线程线程类分析入门实现线程的第一种方式实现线程的第二种方式 线程的…

SQL 常用语句

目录 我的测试环境 学习文档 进入数据库 基础通关测验 语句-- 查 展示数据库&#xff1b; 进入某个数据库&#xff1b; 展示表&#xff1a; 展示某个表 desc 查询整个表&#xff1a; 查询特定列&#xff1a; 范围查询 等于特定值 不等于 介于 特定字符查询 Li…

[MySQL]DQL语句(一)

查询语句是数据库操作中最为重要的一系列语法。查询关键字有 select、where、group、having、order by、imit。其中imit是MySQL的方言&#xff0c;只在MySQL适用。 数据库查询又分单表查询和多表查询&#xff0c;这里讲一下单表查询。 基础查询 # 查询指定列 SELECT * FROM …

【Unity】鼠标点击获取世界坐标位置:物体移动至鼠标点击的位置

需求说明 鼠标点击3D场景时&#xff0c;可以获取其所在的世界坐标&#xff1b; 鼠标点击3D物体时&#xff0c;可以获取该物体&#xff1b; 鼠标点击3D物体时&#xff0c;可以让玩家移动至该物体&#xff1b; 成果展示 Scene部分 关于仓库栏的设置&#xff0c;物体如何进入…

使用nvm切换node版本失败

​ 使用nvm切换node版本失败&#xff08;原node版本v20.14.0&#xff0c;我使用nvm use 16.9.1切换node版本后&#xff0c;显示Now using node v16.9.1可当我使用命令node -v查看当前node版本时还是v20.14.0&#xff0c;意味着版本切换失败&#xff09;&#xff1a; 这个原因大…