‘壹’ 请问做手势识别用什么做比较好opencv可以吗或者其他什么
手势识别,就是
图像输入
图像处理,获得手势轮廓或者图像
根据轮廓或图像判断手势类型
OPENCV可以很好的处理图像的输入,以及处理,各种滤波 轮廓提取 颜色域转换等函数能减少很多工作。
至于最关键的手势识别就要你自己根据处理的图像来写算法判断了。当然别人可能也有现成的代码你可以找找看
‘贰’ 手势识别用什么图像特征提取算法
《基于计算机视觉的手势识别研究》中提到了多尺度模型,它就是采用此模型提取手势的指尖的数量和位置,将指尖和掌心连线,采用距离公式计算各指尖到掌心的距离,再采用反余弦公式计算各指尖与掌心连线间的夹角,将距离和夹角作为选择的特征。对于静态手势识别而言,边缘信息是比较常用的特征。中采用的HDC提取关键点的识别算法,基于用八方向邻域搜索法提取出手势图像的边缘,把图像的边缘看成一条曲线,然后对曲线进行处理。
‘叁’ 什么是手势识别
在计算机科学中,手势识别 是通过数学算法来识别人类手势的一个议题。手势识别可以来自人的身体各部位的运动,但一般是指脸部和手的运动。
‘肆’ 如何写一个简单的手写识别算法
移动设备多用手势进行输入,用户通过手指在屏幕上画出一个特定符号,计算机识别出来后给予响应的反应,要比让用户点击繁琐的按钮为直接和有趣,而如果为每种手势编写一段识别代码的话是件得不偿失的事情。如何设计一种通用的手势识别算法来完成上面的事情呢?
我们可以模仿笔记识别方法,实现一个简单的笔画识别模块,流程如下:
第一步:手势归一化
手指按下时开始记录轨迹点,每划过一个新的点就记录到手势描述数组guesture中,直到手指离开屏幕。
2. 将gesture数组里每个点的x,y坐标最大值与最小值求出中上下左右的边缘,求出该手势路径点的覆盖面积。
3. 手势坐标归一化:以手势中心点为原点,将gesture里顶点归一化到-1<=x<=1, -1<=y<=1空间中。
4. 数组长度归一化:将手势路径按照长度均匀划分成32段,用共32个新顶点替换guestue里的老顶点。
第二步:手势相似度
1. 手势点乘:g1 * g2 = g1.x1*g2.x1 + g1.y1*g2.y1 + … + g1.x32*g2.x32 + g1.y32*g2.y32
2. 手势相似:相似度(g1, g2)=g1*g2/sqrt(g1*g1 + g2*g2)
由此我们可以根据两个手势的相似度算成一个分数score。用户输入了一个手势g,我们回合手势样本中的所有样本g1-gn打一次相似度分数,然后求出相似度最大的那个样本gm并且该分数大于某个特定阀值(比如0.8),即可以判断用户输入g相似于手势样本 gm !
‘伍’ 最近做图像识别,想通过MATLAB做手势识别的算法,不知道需要学些什么,做完会是什么样子,求大牛指导
模式识别、机器学习。
一般的做法是:
首先要有一定数量的手势图片;
其次将训练用的手势图片进行人工分类,即“打上标签”
再次将手势图片转换成轮廓图(可以用DFT、DCT、小波变换等计算出边缘,然后对边缘进行“扩张”即可);
第四是将轮廓图规格化、矢量化,生成向量;
最后以上述向量集来训练学习机(例如:神经网络),直到回归;
获得的结果是能进行手势识别的学习机。
‘陆’ 手势识别的课题谁做过我不会用HMM算法
我做过。那是隐马尔科夫,在语音识别中常用,可以从中国知网下论文看
‘柒’ 手势输入方式的手势识别的原理
手势是指在人的意识支配下,人手作出的各类动作,如手指弯曲、伸展和手在空间的运动等,可以是
收稿日期: 2000 - 05 - 15
基金项目: 行业基金项目(院编96311)
作者简介: 曾芬芳(1940 - ) ,女,湖南益阳人,华东船舶工业学院教授。
执行某项任务,也可以是与人的交流,以表达某种含义或意图。基于手势识别的三维交互输入技术,常
用的有基于数据手套的和基于视觉(如摄象机) 的手势识别。
人手有20 多个关节,其手势十分复杂,在VR(Virtual Reality) 中的交互过程,需分析手势的形成并
识别其含义。如用户以自然方式抓取环境中的物体,同时还可以对用户产生相关的感知反馈,如对具有
力反馈的手套,就能使人感知到抓取的物体的重量,对有触觉反馈的手套,能感知到用户所碰到的物体
的质感,如毛毯有多粗糙等。所以计算机要能对人手运动的灵活、复杂的手势进行识别是一项艰难而又
十分有意义的任务。
手势的分类早在40 年代,心理学家Quek[7 ] . ,Pavlovic[8 ]等人从人机接口的角度对手势进行研究,
按其功能分为:
手的运动
无意识的手运动
有意识的手运动(手势
交流手势
表动作
表符号(手语)
引用手语(如表示数字)
情态手势
执行任务(如抓握锤) 手势不但由骨胳肌肉驱动,而且还受人的信念、意识的驱使,它涉及到人的思维活动的高级行为。
人机交互的研究目的之一是使机器对人类用户更方便,从用户产生手势到系统“感知”手势的过程[9 ]如
图1 所示。
图1 系统“感知”手势的过程
Fig. 1 Process of sensing gesture by the system
手的运动,是手势的表现形式。用户的操作
意图是用户要完成任务的内容, 即用户心理活
动(概念手势) G ,经过运动控制(变换) ,用手势
运动H 表达。由经感受设备(变换Thi) 将手的
运动H 变换为系统的输入信息I ,所以从G到I
的映射过程为:
Tgh : G → H , 即H > Tgh ( G)
Thi : H → I , 即I > Thi ( H)
Tgi : G → I , 即I > Thi ( Tgh ( G) ) > Tgi ( G)
其中, Tgh 为人体运动控制传送函数; Thi为输入设备传送函数。
手势识别的任务就是从系统输入I 推断、确定用户意图G ,显然是以上映射的逆过程。即
G = T- 1
gi ( I) ( 1 )
H = T- 1
hi ( I) ( 2 )
G = T- 1
gh ( H) ( 3 )
其中, T- 1
gi , T- 1
hi , T- 1
gh 是Tgi , Thi , Tgh 的逆变换。
所以手势识别可以采用H = T- 1
hi ( I) 时输入信息I ,得到手的运动H ,再由G = T- 1
gh ( H) 手势的表
示推断用户手势的概念意图,也可直接从G = T- 1
gi ( I) 求得概念手势G。
手势识别分为静态手势和动态手势的识别,目前的研究大都是在线静态手势识别,如Lee 研究的就
是静态孤立手势[10 ] 。动态手势识别难度大,一般采用关键帧方法,记录每个手势的始和终状态及手势的
运动轨迹,然后用内插算法重建帧,但仍需给予限制,如Davis研究的动态手势识别就规定开始时手必须
朝上等。 手势的语法信息是通过手的构形、手的运动变化来传递。为了
给用户提供必要的视觉反馈信息, 使其在交互过程中看到自己的手
(图2 是用3DSMAX 绘制) ,同时也为了分析交互过程中手和虚拟对
象之间的相互作用关系,必须建立手几何模型和运动学模型。 人手是一个多肢节系统, 由27 块骨骼组成, 可看成由4 个相邻
手指、一个大拇指和手掌组成, 每个手指由指段和关节组成。因此手
是一种由关节相连的结构, 随着关节运动, 手的形状在不断变化。这
种变化可以通过指段和关节的状态空间位置的变化来描述[11 ] 。
每一个手指( Ⅱ - Ⅴ) 具有四个自由度,其中手指的
基部(MP) 有两个自由度,弯曲和旋转,手指的中间关节处(PIP)
和末端关节处(DIP) 分别各有一个自由度,主要是弯曲运动。大拇
指除了与其他四个手指一样具有四个自由度外, 还有一个外展运
动,所以大拇指具有五个自由度(拇指和手掌之间的一节也可不考
虑) 。外加手掌的前后左右运动二个自由度。所以手运动总共具有
23 个自由度,即状态空间为23 维。
从上述的分析可知,除大拇指外每个手指都具有四个自由度,
从而可以建立一条链,以协调手指的机构及运动。整个手可以以手掌为基础链接五个手指( Ⅰ - Ⅴ) ,在
指段MP 上链接指段PIP ,再链接指段DIP ,每条链可以获取四个参数。从而五个手指以手掌为根节点构
成一个树型结构,树中的每一个节点代表一个关节,关节通过指段具有相互关联的运动特性。
212 手势的输入
手势的输入是实现手势交互的前提。它要求能够有效地跟踪手的运动, 又要方便用户手的运动, 既
要求准确确定手的位置、方位、手指弯曲角度,又要求对手的运动限制很少。就目前而言, 手势的输入有
基于数据手套的和基于视觉(摄象机) 等两种方式。
21211 基于数据手套的手势输入
基于数据手套的手势输入[12 ] ,是根据戴在手上的具有位置跟踪器的数据手套利用光纤直接测量手
指弯曲和手的位置来实现手势输入的。本文使用5DT 公司生产的不带位置跟踪器的5th Glove 右手数据
手套,每个手指中间关节有一个传感器用于测量手指的平均屈伸度,在手腕部位还有一个2 轴倾斜传感
器测量手的转动(绕Z 轴旋转) 和倾斜(绕X 轴旋转) 两个角度,以探测手的上下摆动和旋转。该手套共
带有七个传感器,因此同一时刻只能读出七个角度值。5th Glove 还提供命令、报告数据、连续数据、模拟
鼠标等工作方式,可定义一指、二指和三指( Z 轴) 等手势来控制虚拟手的飞行、视点、运动速度等。
5th Glove 数据手套通过串行接口与微机连接在一起,以传送手运动信号,从而控制手动作。它能将
用户手的姿势(手势) 转化为计算机可读的数据, 因而使手去抓取或推动虚拟物体。人手在运动过程中
会碰撞物体,所以在系统中,虚拟手的交互操作除了实现抓取和释放物体等功能外, 还需实现了碰撞的
检测。
21212 基于视觉的手势输入
基于视觉的手势输入是采用摄象机捕获手势图象,再利用计算机视觉技术对捕获的图象进行分析,
提取手势图象特征,从而实现手势的输入。这种方法使用户手的运动受限制较少,同时用户还可以直接
看到手的图象。基于视觉的输入所输入的原始数据是手的图象,采用重建三维模型来构建手势图象,调
节模型参数如手指弯曲角度的夹角等,以合成手的三维图形。根据手生成的图形和已获得的手图象匹
配,所得到的模型参数就构成了手势。1995 年,Lee J intae 和Kunii Tosiyasv l. 研究用立体图像数据自动
分析三维手势[4 ] 。它用摄像机拍摄手的运动图像,使用轮廓提取边界特征进行识别的方法,成功地提
取27 个交互作用手参数,实现了三维手势的重构。其实早在1981 年, Kroeger 采用两个摄象机实现了
一个获取手势的系统,它通过用户的手在与鼠标垫一般大小的“镜象盒”的3D 空间中来完成交互。两
个镜子被放在大约与前平面成45 度角的位置上,两个镜子代替单个镜子产生了一个虚拟视点,加上两
垂直平面上的两个摄象机共三个视点相交成直角,以提供给用户一个确定的工作空间,在这个空间内允
许用户与计算机交互。
‘捌’ 基于语法动态手势识别有哪些方法
手势识别分为二维和三维手势识别。
二维手势识别基本只不会涉及深度信息,会为用户解决最简单基础的手势操作。
这种技术不仅可以识别手型,还可以识别一些简单的二维手势动作,比如对着摄像头挥挥手、确定、点选及拖拽等基础交互手势。此类手势识别技术虽然在硬件要求上和二维手型识别并无区别,但是得益于更加先进的计算机视觉算法,可以获得更加丰富的人机交互内容。在使用体验上也提高了一个档次,从纯粹的状态控制,变成了比较丰富的平面控制。
这种技术已经被集成到了电视里,像乐视TV等;也被做成了基于普通摄像头的手势识别技术,如国内英梅吉的HandCV手势交互系统,可以安装在手机/PC等设备中就可以实现手势交互,同时也深度适配VR/AR环境;还有来自以色列的EyeSight,被中国一家企业投资2000万美金,他们的手势识别技术同样也是做普通摄像头,不同于国内的这家手势识别,以色列这家多应用于生活场景,为懒人提供福利,不用触摸手机直接隔空操作。
总的来说,二维的手势识别相对来说更加入门级,可以为手势识别提供从零到一的普及。
三维的手势识别技术相对于二维的来说更精准、更深度,可以操作除了生活场景之外的一些游戏场景,面向一些发烧级玩家。提供的解决方案有结构光,微软的KINECT;光飞时间TOF,根据光子飞行时间进而可以推算出光子飞行的距离,得到物体的深度信息;以及目前和暴风正在合作的leap
motion的多角成像技术,使用两个或者两个以上的摄像头同时摄取图像。
‘玖’ 手势识别算法有哪些
你好,我正在研究识别算法,已经在自然杂志发表了论文,你需要的话我可以发你邮箱,希望采纳。