动态手势识别(精选7篇)
动态手势识别 篇1
0 引 言
数字图像处理技术是将获得的低质量图像利用计算机处理成更适合人眼观察或仪器检测的图像的技术[1]。嵌入式视觉技术是使用摄像机和计算机代替人眼对目标进行识别、跟踪和测量的技术[2]。因此。数字图像处理技术和嵌入式视觉技术被广泛地应用在基于图像的识别控制系统中[3,4,5,6,7,8]。
当前人机交互的主要信息输入方式有键盘输入、鼠标输入、触摸屏输入、语音输入、视觉输入。对于鼠标、键盘和触屏输入方式,信息输入者需要接触输入设备,而语音输入和视觉输入不需要接触输入设备。语音输入对特定语音识别率较高,非特定语音输入识别率低,因此语音输入普适性差;基于视觉的输入通过摄像头捕捉手部运动,将手语转换成对应的命令,实现手势输入,这就可以让人摆脱人机交互时接触的限制。本文介绍了一种基于ARM的操作图片的手势动态识别系统,利用数字图像处理技术和嵌入式视觉技术,通过摄像头捕捉手势动态来操作显示屏上的图片,实现以非接触的方式对图片进行放大、缩小、切换等操作。
1 系统硬件架构
如图1 所示,手势动态识别的硬件系统主要由ARM S3C6410处理器、USB摄像头、USB 控制器、LCD控制器、存储器控制器等组成。系统由摄像头获取手势动态的图片,经过S3C6410处理判断操作者意图,对显示屏的图片进行操作。
S3C6410处理器的部分硬件特性如下:采用ARM1176JZF-S核,包含16 KB的指令数据CACHE和16 KB的指令数据TCM,主频最高可达667 MHz;支持TFT 24 b LCD屏,分辨率能支持到1 024×1 024;独立的USB Host控制器,支持USB Host 1.1;支持(Mobile)SDRAM和(Mobile)DDR SDRAM;具有图像处理模块;支持JPEG编解码功能,最大尺寸为4 096×4 096;支持对YUV420/422和RGB565/888的数据进行硬件翻转。
2 系统软件设计
系统软件架构主要由Linux操作系统,OpenCV,QT/E构成。Linux操作系统负责整个系统资源的分配和管理;OpenCV及QT/E完成图像采集、图像处理、动作识别、图像显示等功能[9,10,11]。软件架构如图2所示。
2.1 实现原理
本系统以帧差法为基础,通过记录两帧中人手的坐标信息或者面积信息,判断人手的运动轨迹来操作显示屏上的图片。
以显示屏的左上角为坐标原点建立平面直角坐标系如图3所示。当人手进入摄像头捕捉区域后,摄像头对人手进行2次拍照,S3C6410对获取图像进行预处理,并获取人手图片的数据信息,将次时刻的图片数据与前一时刻的图片数据进行相应的运算处理,即可判断人手的运动方向,确定操作者的意图,从而操作显示屏上的图片[6,7]。
本系统设置两种图片操作模式:切换和缩放。当处于切换模式时,根据图片中人手在前后两帧图片的中位置坐标A0和A1,确定人手的左右运动方向,实现图片的左或右切换,如图4所示。当处于缩放模式时,根据图片中人手在前后两帧图片的中的面积S0和S1,确定人手的前后运动方向,实现图片的放大或缩小,如图5,图6所示。
2.2 软件流程图
操作图片的手势动态识别系统程序设计基于嵌入式C语言,采用模块化结构,由主程序、图像采集子程序、图像预处理子程序、图像识别子程序、图片操作子程序等组成的。主程序流程图如图7所示。
3 测试结果
主要测试设备包括USB摄像头、S3C6410平台、320×240 TFT屏,测试结果如图8,图9所示。测试结果表明:在摄像头视野内,若人手从左向右划过,则TFT显示屏上的图片从左向右滑动切换至前一张图片;若人手从右到左划过,则TFT显示屏上的图片从右向从滑动切换至下一张图片。若人手靠近摄像头,则TFT显示屏上的图片放大一定倍数;若人手远离摄像头,则TFT显示屏上的图片缩小一定倍数。
4 结 语
本文介绍了基于ARM芯片S3C6410的手势动态操作图片的识别系统,通过手势对图片进行切换与缩放操作,实现了非接触式的人机交互。本系统利用QT/E开发的人机界面美观,应用开源的OpenCV提供的各种视觉、图像处理算法,提高图片处理的效率。本文提出的手势输入系统,可以让用户摆脱鼠标、键盘输入的空间限制,利用“手语”“隔空”控制。本系统可以方便地移植到可用手势控制的系统,比如医生进出医院手术室的大门控制系统,另外本文的设计思想在聋哑人手语输入、机器人视觉输入等方面具有良好的应用前景和很大的实用价值。
参考文献
[1]王晓雪,苏杏丽.数字图像处理在车牌识别中的应用[J].自动化仪表,2010,31(7):22-25.
[2]王思华,刘崇春,陈立峰,等.计算机视觉新技术及其在IC标记质量检验中的应用[J].电子技术应用,2000,26(9):25-27.
[3]陈文广,董士海,岳玮宁,等.手持移动计算中的人机交互技术研究[J].计算机应用,2010,25(10):2219-2223.
[4]王国建,陶霖密.支持隐式人机交互的分布式视觉系统[J].中国图象图形学报,2010,15(8):1133-1138.
[5]李文昊.基于SPCA563B芯片的图像识别系统设计[J].单片机与嵌入式系统应用,2006(8):40-43.
[6]魏志莲,汪剑鸣,窦汝振,等.一种新的室内机器人手势指令识别系统[J].天津工业大学学报,2010,29(1):72-76.
[7]孔晓明,陈一民,陈养彬,等.基于视觉的手势动态识别[J].计算机工程与设计,2005,26(11):2934-2936.
[8]章磊,李耀,刘光徽.基于机器视觉的烟支检测系统的设计[J].电子技术应用,2012,38(5):15-18.
[9]欧文盛.ARM嵌入式Linux应用实例开发[M].北京:中国电力出版社,2008.
[10]贺翔,孟小华.嵌入式智能家居终端人机界面设计与实现[J].计算机工程与设计,2010,31(10):2166-2168.
[11]BRADSKI G,KAEHLER A.学习OpenCV(中文版)[M].北京:清华大学出版社,2009.
[12]王燕,曹银杰,郎丰法,等.基于Emgu CV的数字相机图像采集[J].电子科技,2012(4):31-32.
动态手势识别 篇2
通过动态手势识别等方案实现智能人机交互已经成为未来科技产品的重要趋势。当前国内外关于手势识别的相关研究工作主要集中于对RGB视频序列进行分析识别,研究人员提出了许多识别方案及相关应用。武汇岳等[1]提出了3D动态手势状态转移模型,解决了Midas Touch问题,并使用一种基于小样本学习的动态手势识别方法,解决了传统手势识别方法的缺点;杨波等[2]根据手势图像的区域形状特征提出一种基于手势空间分布特征的手势识别算法,在环境光照相对稳定的条件下,能够实现鲁棒的实时手势识别。
虽然以上研究也能达到较好的性能,但是由于利用自然光图像的手势识别常遭遇光照变化及复杂环境背景等因素的限制,当光照发生变化时,识别率通常会降低,当环境背景变复杂,识别率一般大大减小。因此,获取鲁棒性强的视频源很有必要。深度图像代表的是摄像机与物体的远近距离,并用不同的灰度值表示出来。深度图像不仅具有空间颜色无关性,不受光照和环境背景等因素的影响,而且由于其代表的特殊含义,很容易将前景与背景分开,这对于机器视觉领 域人体目 标的检测 提取具有 重要意义。
目前,研究者们利用深度数据的研究大多关注在整体的动作识别,如Lin等[3]分块提取深度视频序列划分成的时空特征,然后利用相似串匹配识别行为;Li等[4]使用动作图谱将行为模型化,再使用3D特征点词袋描述一系列姿势,使用隐马尔可夫模型识别行为。基于深度数据的整体行为识别在近些年已取得一定进展,在一些公开的数据集上测试的识别率逐步提高,但实现的方式都比较复杂,计算量大。
针对上述存在的问题,本文介绍了一种不受情景影响的动态手势识别方法,将深度数据经过视频图像处理算法检测到目标,提取手势关键特征点运动轨迹,利用支持向量机(Support Vector Machine,SVM)对公开的DHA数据集[5,6]中有关手势动作数据进行识别评估。通过实验验证,该方法具有较好的鲁棒性,较高的准确率。
1 运动目标检测
本文采用的手势识别可以分为三大模块,分别是运动目标检测、关键特征点提取和识别评估,其中目标检测是识别方案的基础。目前已有方案对手势识别的基础大多是建立在RGB图像序列中对手臂特征全部提取,或者是对手掌特征[7]全部提取,这样虽然有利于提高识别率,但更加增大了计算量,复杂程度随着特征点的增多而剧烈增大。
为了保持实验处理的效果,在并不影响实验结果的情况下,可以首先提取人体目标。将深度数据经过自适应阈值算法,得到二值化的人体目标。以DHA数据集中arm-swing中的某一帧为例,效果如图1(b)所示。可以看出,人的整体目标已经明朗,并且简化后的目标可以有效的去除背景等因素对识别的影响。
2 关键特征点提取
在得到简化后的人体目标后,关键特征点的提取可以采用文献[8]中的方法,以手掌的重心点作为特征点,跟踪此特征点得到运动轨迹,但是手掌重心点的获取并不是一件简单的事,需要在跟踪的过程中,一直计算,且计算复杂,容易存在误差。鉴于上述问题,本文将简化后的人体目标经过细化等算法,得到单像素的人体骨架,如图1(c)所示。
单像素骨架虽然去除了大量特征点,但是关于手势运动轨迹的特征点并没有去除,手臂上每一个像素的运动轨迹都与手势运动相关联,其中处于手臂末端的端点就是手势关键特征点。
设像素点I(Ix,Iy)为某一帧单像素骨架图中的任意一个像素,其中,Ix,Iy分别代表I的横坐轴和纵坐标,≤X,≤Y,X,Y分别表示图像的长和宽。In(Ix,Iy)为后续第n帧单像素骨架图,n=0,1,2…。像素点示意图如图2所示。
以提取图1(c)中右边手臂末端的角点为例,算法实现的步骤如下:
步骤1:判断(Ix,Iy)是否为0,若是,去除点像素点I;若不是,保存像素点I,得到骨架完整像素,进入步骤2;
步骤2:判断(Ix,Iy1)+(Ix1,Iy)+(Ix1,Iy1)是否为1,若不是,去除像素点I;若是,保存像素点I,得到五个角点I′(I′x,I′y),进入步骤3;
步骤3:判断(Ix,Iy1)+(Ix1,Iy)+(Ix1,Iy1)是否大于等于3,若是,保存像素点,得到躯干骨架的特征点,取纵坐标最小的,设为I″(I″x,I″y)进入步骤4;
步骤4 : 如果X>I′ x >I″ x , I″ y <I′ y <Y成立 ,则I′(I′x,I′y)为图2中右边手臂末端的角点。
得到手势动作关键特征点后,就可以提取关键特征点的坐标,然后获取每一帧关键特征点的数据,得到手势运 动轨迹。 以 “one-hand-wave(单臂挥动)”动态手势序列图为例,将获取的数据经过处理得到的运动轨迹示意图如图3所示。
3 识别和评估
为了验证本文采用的基于关键特征点运动轨迹的动态手势识别 方法的有 效性,本文采用 公开的DHA数据集中有关动态手势进行识别评估。
3.1 实验设置
3.1.1 测试数据
DHA数据集包括17类人体行为,每一类动作都由21个人分别完成。其中动态手势主要有9种:One-hand-wave(单臂挥手 )、Arm-swing(手臂摆动)、Front-box(正面拳击)、Side-box(侧面拳击)、Golf-swing(高尔夫挥杆)、Pitch(抛物)、Two-handwave(双臂挥手)、Arm-curl(曲臂)、Side-clap(侧拍)。它们的部分序列图如图4所示。
另外8种人体行为不属于本文研究的动态手势识别内容。
3.1.2 分类器
动作识别技术最后一步就是分类识别,目前常用的有支持向量机[9]、隐马尔可夫模型[10]等方法。隐马尔可夫模型需要更多的训练数据,对动作数据库的要求更高,相比之下,SVM能够较好解决小样本非线性的分类问题,因此采用SVM作为分类模型。
3.1.3评估方法
等分法和留一法[11]是目前最常用的评估方法。其中由于等分法在小样本情况下存在一定的巧合性,而留一法将全部样本分成N份,每次取其中1份作为测试集,用其他的N-1份构建预测模型,最后取N次实验平均性能最为最后的评估结果,更具说服力,有鉴于此,本文采用留一法作为评估方法。
3.2 实验结果及分析
根据动态手势关键特征点的提取方法,本文在得到手势特征点运动轨迹的情况下,按照实验设置,采用留一法进行识别和评估。图5给出了基于关键特征点运动轨迹的手势识别性能的混淆矩阵。
由于深度数据反映的只是物体距离摄像头的远近,因此深度数据经过二值化后得到的目标图保留的信息将减少。从“front-box”和“arm-curl”之间的误识别可以看出,当目标正对深度摄像机采集动态手势时,二值化后的深度图不能区分前后运动轨迹,只能反映相应的上下运动轨迹,这就导致了“frontbox”和“arm-curl”的误识别较大,但本文采用的基于关键特征点运动轨迹对以上9种动态手势识别平均获得了82.5%的准确率,这也说明了本文的方法对动态手势识别具有较高的鲁棒性。
4 总 结
本文利用深度摄像机获取复杂环境下的人体目标,经过简化处理,得到骨架图,然后采用关键特征点运动轨迹作为动态手势的描述子,结合SVM对公开的DHA数据集中的动态手势进行识别与评估。实验结果表明,本文采用的方法具有较大的识别率。在已有较高识别率的情况下,结合现实生活,为实现对某些简单操作的控制打下基础。
摘要:为实现基于运动轨迹信息的动态手势识别,本文介绍了一种基于手势关键特征点轨迹识别的方法。将深度摄像机获取的深度信息经过自适应阈值算法提取人体目标,经过细化等算法得到人体骨架,并提取手势关键特征点轨迹,利用支持向量机在公开的、具有挑战性的DHA数据集中有关手势数据进行识别和评估。实验证明该方法可以实现复杂背景下的多种手势的识别,鲁棒性强。
手势识别综述 篇3
通常在人机交互领域手势定义为:人类通过手掌和手指的不同姿势组合形成的具有特定含义的信息的集合体称为手势。
手势通常可以分为操作性手势和交流性手势:如钢琴伴奏家在弹奏钢琴时的手指动作属于操作性手势, 通过十个手指的不同组合, 在键盘上发出不同声音形成乐曲的弹奏, 只有操作的含义, 不含有视觉上信息。马路上交警指挥路况时手上的动作属于交流性手势, 通过司机观察交通警察手上不同动作理解警察的意思, 含有视觉上的信息。
按照手势在表达的信息中所处的地位分为自主性手势和非自主性手势:哑语演示时表演者手上的手势动作完全表达了哑语表演者的思想, 手势在语义交流中占主导地位, 属于自主性手势, 演员表演节目时有时为了更好的表达情感会用手势加深语义表达, 但是手势只是为了更好表达意思, 起到对演员表达思想的补充, 这种手势动作这属于非自主性手势, 在语义表达中不占主导地位。按照手势在交流活动中手势的作用对象分为离心手势和向心手势:比如说话人在下命令时手指向受命人这种手势属于离心手势, 例如交通警察在交通管制中的手势属于离心手势, 当听到某消息时听者会有相应的情感反应这时的手势属于向心手势, 例如小朋友表示不同意时摇手即为向心手势。当操作者利用手势表达思想的时候有两种方式, 一种是手臂不动完全通过手指和手掌的运动来表达操作者的意思, 还有一种是忽略手指的运动, 通过手的运动轨迹来表达思想。当我们做研究时会遇到手和手指同时运动的情况这时为了分类方便, 需要做相应约束, 当手是动的应忽略手指的动作, 反之如果手指在动这时应忽略手的运动轨迹。因为基于表观的手势识别最终面临的是手的2D图像如果手和手指的运动同时考虑的话会给分类造成不必要的麻烦。
2 手势识别的分类
按照对手势数据采集的方式分为数据手套型和摄像头型。
2.1 数据手套
虚拟现实中重要组成部分, 是一种通用的人机接口他可以将手指的复杂动作通过传感器反应到虚拟环境中去, 在虚拟环境中真实再现手部动作。数据手套使用的效果关键是手套能不能将手指、手掌、手腕的弯曲真实的以数据形势反演到系统数据库中, 让系统根据模型对手势进行有效识别, 由于手部软组织和计算复杂性, 数据手套的计算速度总是存在延时, 同时从人机交互的角度手套佩戴也十分不方便, 如果多人使用还存在卫生等问题, 因此数据手套目前来说只是应用在试验阶段, 真正推广到社会应用还有很多问题要解决。例如由海军某课题组开发的某型飞机训练仿真系统采用了数据手套, 将人的动作如拉升飞机操纵杆通过数据手套反应到系统中, 但是不足之处是手套存在一定的延时, 通常第二个动作都准备做了, 第一个动作系统往往还没执行, 这和真实的飞机操作存在很大的差别, 但是要想系统及时接受数据手套传感来的数据, 往往对系统的中央处理器要求很高, 需要大量投入经费和人力, 存在一定的矛盾。因此数据手套在虚拟仿真中往往只是完成简单的非连续的动作, 对于连续复杂动作目前从技术上还不是很成熟。但是用数据手套来进行数据采集抗干扰性非常好, 在数据采集的时候不容易手的外界环境的影响, 例如光线照射等等。市面上比较成熟的产品有RME公司在上世纪80年代生产的DATAGLOVE, 适用于VR的医学应用, 不足之处是对用户手形要求高, 对于特别大或者小的手使用存在不足。Cyber glove是Virtual Technologies公司1992年生产的数据手套, 重量轻易于抓举使用方便。
2.2 基于摄像头
基于摄像头数据采集方式的手势识别系统从数据采集的角度来说要比数据手套方便, 摄像头采集到的手部数据后比较麻烦的是要从背景中将手分割出来, 通常会用肤色分割的方法基于皮肤的色调将不同于周围背景手的区域分离出来, 但是会受到光线等因素干扰, 分离出手后需要用合适的模型对手的动作建模, 之后从模型中估算出参数, 根据估算出的参数对手势进行分类, 得出结论。由于在数据采集时容易受到背景干扰, 往往要求背景颜色和手的颜色有较好的区分度。例如日本RT公司研发的基于单个摄像头的电视操作平面, 对外界环境要求较高, 当黄昏光线不好的时候, 位于电视上的原装摄像头对手的变化反应迟钝, 切 (下转第19页) (上接第79页) 换节目的速度不如白天的效果好。同时该系统要求电视的操作者只能有一个, 即在摄像头前如果同时有两个人在操作, 电视识别系统无法分辨出哪个操作应当执行, 即对干扰的滤除存在需要改进的方面。
3 手势识别的关键技术
手势的识别过程比较复杂, 但是它基本从认知的角度可以分为建模、分析、判定三个过程, 三个过程是按顺序逐一进行的, 最终形成结论。
3.1 手势建模
我们知道在研究手势时必须要抓住它共性的特征, 无论是动态手势还是静态手势它们必然有可以反映其规律的特征, 人为的把这些特征形成的集合就是建模, 所谓手势建模就是将手的静态姿势和动态动作用某种一般规律进行描述这样在分析某种具体动作时就可以从模型中提取相应参数, 用该参数来表征该动作的分类问题。
通常有基于三维和表观两种方式建模。基于3D方式需要对手的关节进行复杂的数学描述, 理论上任何手势都可以用3D方式来描述, 但是由于数学的限制在描述手势时并不尽人意, 特别是复杂的动作, 因此在一些简单的动作的描述上我们倾向于基本表观的方式来对手势建模。
基于表观的手势建模通常有基于平面灰度图像、变形模板、图像属性、图像运动参数四种。本文采用了基于手势平面灰度图像傅里叶描述子来对手势建模。
3.2 手势分析与手势判定
所谓手势分析就是对从摄像头中采集到的手势数据需要进行去除噪声, 目标定位, 轮廓提取。所谓手势判定就是从手势模型中估算出手势的参数, 利用参数对手势进行分类, 通常采用经典的欧式距离比较法对手势分类, 利用采集到的手势的傅里叶描述子, 逐一和模板库中的手势进行比对, 取欧式距离最小模板作为该手势。当然也有别的距离可以作为识别的判据, 如马氏距离、切比雪夫距离等。
3.3 动态判定
在动态手势判定过程中我们采用的是对视频流进行离散采样的方法具体如下:将动态手势分解成若干序列, 取有代表性的序列形成模板库, 然后对采集到的手势和模板库序列逐一比对, 用欧式距离判定。当状态都能比对上时, 确认该手势。S
[责任编辑:王洪泽]
摘要:介绍了手势识别的定义、分类, 手势识别的过程, 动态手势识别的过程。
手势动作识别分类的研究 篇4
1 s EMG的特征提取与特征选择
表面肌电信号的特征提取对手势动作的识别率有直接影响。本文采用时域、频域及时频域的特征作为不同手势动作的特征。但是, 特征太多会给计算带来困难, 而且会造成分类效果的恶化。因此本文采用K-W检验的方法对时域、频域及时频域的单个特征进行评价, 选择最具有分离度的特征。本文将提取的特征作为改进PNN神经网络的输入信息对7种手势动作识别分类, 并与传统的神经网络进行识别率对比分析。
2 改进PNN神经网络模型
PNN神经网络是1990年由Specht提出的一种径向基函数 (RBF) 网络的重要变形。它的训练学习过程是一个完全正向的过程这一点与传统神经网络不同, 大大减少了点问题。
训练时间。不仅如此该网络不易陷入局部极小值点, 非常适合模式识别研究。在进行仿真实验时, 传播率的改变对识别结果的影响明显, 总会有一个值能使识别率最高但是在概率神经网络中该参数一般是手工设定, 增加了训练时间, 为了提高效率本文通过仿真实验, 在多次试验中找使结果最好的取值。粒子群优化算法被广泛应用与优化数值的求解, 本文采用该方法选取最优的传播率参数。
3 仿真实验及结果分析
将本文的改进算法统传统的算法进行比较分析, 改进PNN神经网络算法记为P1算法, 传统BP神经网络算法记为P2算法。对于P1算法:设计的PNN网络的结构为:输入层有4个神经元, 输出层有7个神经元, 中间层的传递函数为高斯函数, 输出层的传递函数为线性函数。将第1通道均值、第2通道均值、第1通道功率谱密度、第2通道功率谱密度作为输入特征, 进行仿真实验研究。
4 结论
传统的神经网络训练时间长且易陷入局部极小值, 在手势动作识别研究中正确识别率也并不高, 本文针对这些问题提出的改进PNN神经网络有效克服了这些不足, 识别率提高到90%左右, 并且训练时间也缩短了一半。有效的改善了手势动作识别效果。
改进PNN神经网络的提出为手势动作识别分类提供了理论基础, 为智能假肢的研究提高的科学依据, 但是, 为了将手势动作的识别算法应用于智能假肢, 改进的概率神经网络识别算法的识别率仍有待提高。因此, 寻找更有效的识别算法, 提高手势动作的识别准确率是今后的研究热
摘要:手势动作识别分类已成为当今的热点研究问题, 但目前所采用的识别方法识别率较低。为了寻找高识别率的手势识别方法, 本文提出了一种基于改进的PNN神经网络手势识别算法。主要对传播率参数进行优化, 克服了传统传播率需要人工设置的缺点。经过仿真实验研究, 改进算法平均正确识别率均在90%以上, 而传统算法的正确率仅为80%左右, 即改进的PNN神经网络算法具有更短的训练时间和更强的分类能力。
关键词:手势动作识别,PNN,传播率,识别率
参考文献
[1]JIN D W, WANG R CH.Artif iciallntelligent prosthesis[J].Chinese J.Clinical Rehabilitation, 2002, 5 (20) :2994-2995.
[2]Paclik P, Novovicova J, Pudil P.Roadsign classification using Laplace classifier[J].Pattern Recognition Letters, 2000, 21 (13-14) :1165-1173.
[3]Sueteus P, Fua P, Hanson A J.Com-putation alstrategies for objectrecognition[J].ACM Computing Surveys, 1992, 24 (1) :5-61.
[4]Specht D.Probabilistic neural network[J].Neural Networks, 1990, 3 (1) :109-1 1 8.
[5]McDuff R J, Simpson P K.An Inves-tigation of Neural Networks for F-16Fault Dignosis:II.System Performance[C]//SPIE 1294 Application of Arti-ficial Neural Networks.1990:42-45.
[6]飞思科技产品研发中心.神经网络理论与MATLAB7实现[M].北京:电子工业出版社, 2005.
基于视觉的多特征手势识别 篇5
关键词:视觉,多特征,手势识别
依据输入方式的不同, 可以把手势识别分为基于视觉和基于手套数据的手势识别。基于手套数据的手势识别主要是利用手套来识别空间运动信息和轨道, 最终达到人机交互。基于视觉手势识别就是使用摄像机来收集图像信息, 分析识别图像信息, 此识别方式的主要优点就是设备要求低、简单、符合日常生活习惯。
1 手势的定义
因为手势自身就具有多义性和多样性, 不同空间和时间上存在很大差异, 还在一定程度上受到不同背影的影响, 导致手势意义不相同。从手势识别方面来说, 可以定义为:手势是手和臂膀之间出现的不同姿势和动作, 包括动态和静态两方面。静态手势实际上是模型空间的一个点, 动态手势是模型空间中的一条轨迹, 应该依据时间变化的特征来表达。
2 手势建模
手势模型是手势识别中非常重要的部分, 尤其是对于一些具有特定范围的识别起到更大的作用, 依据具体情况合理选择模型。如果需要特定的应用, 可以使用简单粗糙的手势模型, 例如, 可以使用图像梯度方向来跟踪和识别静态手势。但是想要实现人机交换自然进行, 此时就需要建立相应的精细识别模型, 例如, 使用3D人手模型, 手势识别系统此时能够对大部分手势做出合理反映, 从现阶段研究看来, 可以把所有的手势模型归结为两大类:一是基于3D模型的手势识别建模;二是基于表象的手势建模。基于表象的手势建模一般都是建立在图像的基础之上, 通过表观来合理分析手势信息, 通过表象特征来进行建模。基于3D手势模型建模, 一般都是充分考虑到产生手势的媒介, 一般来说, 主要遵循两个步骤:一是, 先给手臂之间的动态进行建模;二是, 从姿态和运动的参数来合理建设手势模型。
3 手势识别
一般都有很多种手势识别方式, 并且与手势建模密切相关。可以借力选取手势二值图像来表示手掌。利用指尖来对手指进行定位, 此时, 监测指尖就显得尤为重要。下图为十一个手势模板。
3.1 检测指尖
利用手势的凸缺陷以及手势轮廓来进行检测指尖。手势凸出缺陷实际上就是手势外部轮廓和手势凸包之间的差异, 如下图所示的手势凸缺陷。由图可以看出利用虚线构成的多边形形状实际上就是轮廓的凸包, 实心多边形就是人手的实际轮廓, 双向黑色箭头可以表示凸包与凸缺陷之间存在的最大距离, P1点用来表示开始时凸缺陷的轮廓点, P2点用来表示结束时候的凸缺陷轮廓点, P3点用来表示距离凸包最远处凸缺陷的轮廓点。从图上可以看出手势指尖和凸缺陷有着十分密切的关系, 可以有效地表示手势。
用以下方式来合理验证和检测得到的凸缺陷序列信息。第一, 手势外轮廓附近必定存在指尖。第二, 只有具有一定长度的凸缺陷满足与凸包的最大距离的时候, 才是凸缺陷指尖的候选集, 下图中的a处就是满足需求的凸缺陷, 而b处就不能满足凸缺陷的要求。第三, 指尖靠近开始和结束凸缺陷的轮廓点, 一般需要遵守以下几个原则:一是, 第一个和最后一个指尖由第一个开始的轮廓点和最后一个结束的轮廓点表示。二是, 把现阶段凸缺陷结束轮廓点以及下一个开始点作为指尖坐标, 这样就可以得到指尖位置和个数。
3.2 手势识别和表示
对于上文得到的指尖坐标点, 合理利用二值图形, 把其重心当做原点, 以此建立指尖坐标, 找到相应位置。假设指尖个数为M, 那么M在0~5范围内。可以得到两种计算方式;
第一, M大于等于2的时候, 利用相应的指尖位置来进行手势识别。可以利用第一个和其他指尖分别与重心连线的角度之和以及第一个和最后一个指尖与重心连线的角度来表示相对位置。
第二, M小于等于1的时候, 利用几何特征来识别手势。主要包括外轮廓面积、外轮廓凸包面积、轮廓长度、轮廓面积等, 可以方便于手势的识别。
4 手势识别的系统特点
4.1 功能强大
识别系统主要以知识工程和人工智能为基本依据, 利用数据库技术、分布式技术、GIS技术、统计分析、混合推理技术、图像分析技术以及回归预测和分析等技术, 因此系统功能十分强大。对于疾病的防治和诊断有十分重要的作用。合理的把OWC组件以及AJAX无刷新技术进行有机结合, 可以全面实现系统实时分析图表和更新功能。
4.2 安全性能高
识别系统主要是建立在NET之上, 可以从系统级、数据库级、网络级、用户级等多方面来保障系统安全, 采取限权用户多种组合模式的管理方法、数据库自动周期备份功能等多方面安全策略。
4.3 性能良好
合理使用多层的B/S系统和集成服务理念, 在层与层之间建立松散但是独立的耦合, 使系统变得方便维护、操作简单,
5 结束语
基于视觉的多特征手势识别逐渐发展成为未来的趋势, 也是在语音识别之后逐渐成熟和研究的新兴人机交互识别技术, 具有广泛的应用前景, 可以用于手语识别、虚拟交互、机器人的机械手等。手语其实是动作语言, 不仅是在聋哑人之间的交流, 也可以是非聋哑人的交流, 因此, 基于视觉多特征手势识别具有一定社会意义和前景。
参考文献
[1]翁汉良, 战荫伟.基于视觉的多特征手势识别[J].计算机工程与科学, 2012, 34 (02) .
[2]孙靖.基于视觉的实时手势识别及其应用[D].广西大学, 2013.
[3]闯跃龙.基于视觉的手势识别关键技术研究[D].浙江大学, 2013.
可穿戴手势识别控制器 篇6
近年来,嵌入多种MEMS(Micro-Electro-Mechanical System)传感器的可穿戴电子设备发展迅速,如谷歌眼镜、阿迪达斯运动鞋和爱心运动手环等。同时,将人机交互和可穿戴设备相结合逐渐成为研究热点,其中手势识别技术在人机交互领域扮演着一个重要的角色[1]。在手势识别技术中,基于运动传感器的手势识别技术[2,3]相比基于图像的手势识别方法避免了环境因素的干扰,成为了一种简单的交互方式,国内外学者基于此做了大量研究。Min等利用K均值聚类算法提取手势模板,在识别阶段通过动态时间规整算法进行输入手势与手势模板的匹配计算,从手势数据中计算特征量,利用贝叶斯分类器对手势进行预分类,再与相应类中的手势模板进行匹配[5]。Thomas等开发了一种手持Wii控制器,算法中通过量化三维加速度向量和建立隐性马尔科夫模型进行手势识别,平均识别率为90%[6]。XU等提出了符号序列结合霍普菲尔德(Hopfield)神经网络、速度增量和符号序列结合模板匹配三种算法,分别对手势的速度数据进行编码,识别率为95.6%[7]。黄刘松[8]等提出一种基于加速度传感器的乒乓球击球动作识别算法,利用固定阈值法截取手势数据,提取能量信号和手势长度等特征,识别过程采用K近邻和决策树算法。
基于以上分析,本文设计了一种可穿戴于手指上的手势识别控制器,相比传统的手持设备,其获取手势的方式更加自由随意,提高了用户的体验性;同时,采用特征提取的方法实现手势识别,利用特征量阈值进行分类提高手势识别算法的准确率,相比于其他方法不仅计算量小,而且省去了复杂的模板建立过程,提高了手势识别算法的个体适应性。
1 系统的总体设计方案
可穿戴手势识别控制器组成如图1所示,主控芯片ATmega328控制各模块运行,接收姿态模块MPU6050传感器采集的三轴加速度、角速度和和通过姿态解算得到的三轴姿态角,然后将数据由Wi Fi模块传给上位机,进行手势数据的截取,通过提取运动手势的特征量进行手势分类。
设备体积大小只有2.3 cm×1.4 cm×0.8 cm,通过5 V锂电池为系统供电,控制器的实物图正、反面如图2所示,穿戴于食指的第二个关节上。
2 手势定义
手势动作的定义应易于学习与使用,且具有明显的特征。本文定义六类简单手势,如表1所示。
3 手势识别算法
3.1 手势数据预处理
微惯性传感器能够采集动态的手势数据,但由于敏感原件的固有特性会产生随机噪声,所以采用卡尔曼滤波方法(Kalman)对获取的加速度、角速度数据等进行平稳去噪处理。卡尔曼滤波方法仅需知道前一时刻的估算值和当前测量值,通过时间更新和观测更新方程不断迭代获得当前状态信息和滤波增益[9],相比于小波变换[10]、傅里叶变换方法节省了数据的存储空间和算法的编译时间。通过设定观测噪声协方差和过程噪声协方差矩阵相近的取值,可以剔除手势数据中的高频噪声,角速度的滤波效果如图3所示。
3.2 手势数据截取
控制器在平稳状态下输出相对稳定的数据,当手指操作时,传感器采集的加速度和角速度都会有明显变化,因此采用差分值法进行手势数据截取,如式(1):
其中,Xkacc、Ykacc、Zkacc表示k时刻下的三轴加速度,Xkagr、Ykagr、Zkagr表示k时刻下的三轴角速度。在6种手势中敲击运动的加速度与角速度变化量最小,所以本设计通过敲击类的起止点阈值进行手势数据的截取。经过测试,加速度起点及终点的阈值δth1=0.3 m/s2,当加速度差分值在5个数据点内满足△acc N>δth1时,确定为手势加速度起点,满足△acc N<δth1时,判断为加速度终点,角速度起点及终点的阈值δth2=8 rad/s,当角速度差分值在5个数据点满足△agr N>δth2时,确定为手势角速度起点,满足△agr N<δth2时,判断为角速度终点。如图4所示。
3.3 特征量提取
在手势识别过程中,惯性传感器设备坐标系不断改变,最终产生的数据有很大差异,所以需将设备坐标转变为用户坐标系,然后分析这些手势数据。确定了6个特征量对手势进行分类:
(1)手势长度L:手势运动中从起点到终点的手势数据采样个数。
(2)手势能量E:手势在运动过程中的剧烈程度被称为手势能量,计算为从手势起点到终点的所有三轴角速度和三轴加速度之和,如式(2):
其中,L为手势长度,wxi、wyi、wzi为手势在X、Y、Z轴上的角速度,axi、ayi、azi分别为手势在三轴上的加速度,g为重力加速度。
(3)角速度能量最大轴:每个轴角速度能量计算方法如式(3)所示,角速度能量最大轴为分别计算各轴角速度总和之后比较得出的最大者,即max(Ewx,Ewy,Ewz)所在的坐标轴。
(4)加速度波峰数:即三轴加速度波峰数之和,每个坐标轴的波峰数提取方法如图5所示。首先找出手势加速度数据与横轴的所有交点A1、A2、A3、A4、A5……,然后在这些相邻两交点间找出加速度绝对值最大值点B1、B2、B3、B4……,它们中大于波峰数阈值范围的个数为加速度波峰数。
(5)姿态角变化量△a:控制器在运动起点与终点时的三轴姿态角的分别差值的总和,如下式:
式中,θA、φA、γA分别为手势开始时的设备姿态角,θB、φB、γB分别为手势结束时的设备姿态角。
(6)单符号角速度:手势操作时,任何一个坐标轴上的角速度始终为正值或负值,为单符号角速度。
3.4 手势分类与识别
操作可穿戴设备过程中,一些不规则手势将会影响手势识别的准确率,所以经过分析6种手势数据后,本算法将手势动作不满足手势长度L>30或手势能量E>50的条件当做误动作去除。手势能量E范围在1 500以内,不规则手势运动的手势能量大于该阈值时同样将判为误动作不进行手势分类与识别,从而提高手势识别算法的鲁棒性。本文采用决策树分类器对6种手势进行分类,如图6所示。
第一层:敲击手势持续时间短,产生手势数据个数少且运动剧烈程度小,因此根据手势长度、手势能量两个特征量阈值区分出敲击类手势。
第二层:翻转手势主要是绕X轴作旋转运动,角速度能量主要集中于X轴,所以利用X轴是否为角速度能量最大轴即可识别出翻转手势。
第三层:划叉、晃动、划钩、甩动手势间的手势长度、手势能量、加速度波峰数特征量都有一定的交集,所以利用Fisher线性分类算法将4种手势分为两类:f=43×L+65×E+124×P-29 900,当f>0为划叉和晃动类手势,反之为划钩和甩动类手势。
第四层:分析晃动和划叉手势的起止点的三轴姿态角数据,得出划叉比晃动手势的姿态角变化量大,以此区分这两类手势。甩动手势是绕Z坐标轴作单方向的旋转运动,满足单符号角速度特征,因此和划钩手势进行区分。
4 实验结果
考虑到用时最短的敲击手势频率小于10 Hz,只要采样频率大于手势动作的2~3倍就可以获得完整的动作数据信息,所以本设计分别以不同的频率进行数据采样,按照以上识别算法进行平均识别时间和准确率测试如表2所示。随着采样频率增加,采集数据增加,编译时间增加和准确率提高,但当采样频率过大时则采集数据过多导致计算量增大反而影响准确率,实时性降低。为保证算法的实时性和控制计算量,将控制器的采样频率设为50 Hz,分类算法的编译和识别可以在0.085 s内完成,不会影响设备的下次数据采样。
本文选择了20位实验者对设备进行测试,他们分别操作6种手势各20次。敲击手势的加速度数据和手势能量较小,如图7所示,翻转手势X轴的角速度能量远大于Y轴和Z轴的角速度数据,如图8所示。甩动类手势满足单符号角速度特征,其角速度数据如图9。划钩手势不具有单符号角速度特征而易于被识别,其角速度数据如图10所示。晃动和划叉手势因姿态角变化量特征被区分,其手势数据分别如图11、12所示。
手势分类结果如表3所示,第一列是手势动作的输入,第一行代表手势识别输出结果,识别准确率依次为:敲击-100%、翻转-100%,甩动-94.5%、晃动-96.5%、划叉-95.25%、划钩-95.75%。实验证明控制器对6种手势的平均识别率达到了97%。
其中的误差主要是由于甩动手势在操作前有极短的反方向运动过程而不满足单符号角速度特征,易被识别为划钩手势;当甩动力度过大时,手势能量和波峰数增加,将导致Fisher函数值大于零,且甩动手势的姿态角变化量较小,所以也可能被划分为晃动手势。同理,当晃动手势动作幅度过小时,分类器出现误差,且不具有单符号角速度特性,有被识别为划钩手势的可能。划钩手势力度过大和因姿态角变化量较大将被识别为划叉类,操作划叉手势力度过小时和不具有单符号角速度特征将被分类为划钩手势。
5 结论
本文提出了一种具有手势识别功能的可穿戴控制器的设计方法。控制器充分运用了惯性传感器的加速度计和陀螺仪的输出数据,依据特征量提取的方法对手势数据进行分析,成功实现了对6种手势的识别,确保了分类算法的准确率。该设计方法首先对控制器进行设备姿态更新,消除了以往仅使用加速度计对设备姿态的限制,提高了设备的用户体验性和实用性。而且使用者无需经过训练提取模板,减小了个体差异引起的误差,同时该手势识别算法省去了传统算法中模板匹配过程的计算量,确保了算法的简单性。
参考文献
[1]王万良,杨经纬,蒋一波.基于运动传感器的手势识别[J].传感技术学报,2011,24(12):1723-1727.
[2]Liu Yu.Inertial sensor-based mobile phone gesture recognition[J].Application of Electronic Technique,2011,37(12):76-79.
[3]黄启友,戴永,胡明清.基于陀螺传感器的三维手势识别方案[J].计算机工程,2011,37(22):72-76.
[4]Yin Liang,Dong Mingzhi,Duan Ying.A high-performance training-free approach for hand gesture recognition with accelerometer[J].Multimedia Tools and Applications,2014(1):843-864.
[5]Jun-Ki Min,Bongwhan Choe,Sung-Bae Cho.A selective template matching algorithm for short and intuitive gesture UI for accelerometer built-in mobile phones[C].IEEE Second World Congress on Nature and Biologically Inspired Computing.Fukuoka,2010:660-665.
[6]SCHLLOMER T.Gesture recognition with a Wii controller[C].Proceedings of the 2nd International Conference on Tangible and Embedded Interaction.Bonn,2008:11-14.
[7]Xu Ruize,Zhou Shengli,WEN J,et al.MEMS accelerometer based nonspecific-user hand gesture recognition[J].IEEE Sensors Journal,2012,12(5):1166-1173.
[8]黄刘松,储岳中,张学锋.基于加速度传感器的乒乓球击球动作识别[J].传感器与微系统,2016,35(1):56-58.
基于OpenCV的视觉手势识别 篇7
1 图像处理
1.1 手势图像处理与背景分割
图像分割是实现自动图像分析时首先需要完成的操作。由于各样不同的背景、光线变化,会对手势的分割产生一定的干扰。
研究发现,人类皮肤在色度空间中的分布被证明了是聚类空间中的较小区域内,使用HSV空间来进行分割处理。由于HSV空间中,V代表了亮度,它对应于全部光能且可量化为光源的亮度。通过基于像素颜色的分割处理来实现前景与背景分离。
1.2 手势预处理
1.2.1 图像形态滤波
图像形态学包括开运算和闭运算,膨胀和腐蚀。他们本身具有多项特征处理特征。
1.2.2 图像平滑处理技术
利用Open CV提供cv Smooth函数实现了图像平滑处理,该函数同时实现了中值滤波、高斯滤波、双边滤波三种滤波功能。
2 算法实现
2.1 算法思路
通过单个或者多个摄像头对手势进行采集,再对采集的手势图像或视频进行相应的处理提取出手势的特征,之后采用特定的方法对手势特征进行识别。
通过摄像头捕捉手势图像,图像预处理(分离HSV通道)获得手的二值图像,通过进一步的图像处理(腐蚀,高光补偿等)获得手的轮廓,然后针对手的轮廓图像对手进行特征提取,采用模板匹配的方式对手势进行识别。
2.2 总体系统图
2.3 手势运动分析
2.3.1 获取手形区域
利用阈值化,规定了0-100亮度为0,101--255为1,通过图像分割,获得了手型前景信息,对手形信息进行提取。
2.3.2 手势运动判断
在判断运动方向时,假如手形运动前,捕获中心点为A(X,Y),经过一定帧后变为B(X1,Y1),那么得到的水平偏移量为
根据运动规律,利用tanθ=B/A=(Y1-Y)/(X1-X)
2.3.3 实验数据
实验数据,如图1-图8所示。
2.4 手势特征分析
手形形状轮廓特征识别:轮廓有长度,面积以及轮廓的边界框等特征。手行在识别过程中,由于手与摄像头距离问题,手形轮廓的长度,面积等都将发生变化。
3 结论
手势识别实现了人与计算机的简单交互,使得人们操作计算机变得简单、易用。通过摄像头捕捉手势图像,通过图像预处理(分离HSV通道)获得手的二值图像,通过进一步的图像处理(腐蚀,高光补偿等)获得手的轮廓,然后在针对手的轮廓图像对手进行特征提取,采用模板匹配的方式对手势进行识别。
本论文最终实现了摄像头检测手型,利用Open CV算法的矩形框函数检测出手势,采用阈值处理技术分割出手型移动区域,利用帧差错算法实行矩形框随着手的移动而移动,得到桌面手形左右上下移动变化。
摘要:随着计算机技术的快速发展,机器学习的不断进步与深入。在互联网+的当下,人们与计算机的交互还是停留在传统的利用机器(鼠标、键盘)进行交互。目前,人们正需要研发以人为中心进行计算机交互控制。本文正是基于这一点,利用Open CV提供的各种图像处理算法,将从数学摄像头采集图像视频信息,通过灰度图处理,转化为计算机能识别的二进制图像信息,再对二值化图像进行图像滤波、分割,提取到手型后对其进行轮廓特征分析。
关键词:图像滤波,特征提取,手势分析,OpenCV
参考文献
[1]Gray Bradski&Adrian Kaebler.Learning Opencv[M].北京:清华大学出版社,2009.
[2][美]Richard O.Duda&Peter E.Hart模式识别[M].北京:机械工业出版社,2003.
[3].Milan Sonka&Vaclav Hlavac图像处理分析与机器视觉[M].北京:人民邮电出版社,2003.
[4][美]Donald Hearn&M.Pauline Baker Computer Graphics with Open GL[M].北京:电子工业出版社,2008
[5][美]Tome M.Mitchell机器学习[M].北京:机械工业出版社,2003.
[6]路凯,李小坚.手势识别研究概述[J].西安文理学院学报:自然科学版,2006,9(02):93-96.
[7]冯志全.运动人手的三维跟踪方法研究[D].山东:山东大学计算机科学与技术学院,2006.
[8]ALI E,GEOGREB,MIRCEAN,etal.Visionbased hand pose estimation:a review[J].Computer Vision and Image Understanding,2007(08):52-73.
【动态手势识别】推荐阅读:
动态手势11-23
静态手势识别05-13
手势轨迹识别01-01
演讲手势:演讲手势的训练和指导09-26
演讲手势的五原则_演讲手势原则02-11
教师手势05-20
手势控制09-01
手势的种类10-18
合唱指挥手势11-23
手势特征模型12-14