基于Android的视觉手势识别.doc_第1页
基于Android的视觉手势识别.doc_第2页
基于Android的视觉手势识别.doc_第3页
基于Android的视觉手势识别.doc_第4页
基于Android的视觉手势识别.doc_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

精品文档基于Android系统的视觉手势识别基于Android的视觉手势识别-相册管理实现中文摘要手势识别是计算机视觉领域和数值图像处理领域一个迅速发展的重要方向。手势主要分为静态手势和动态手势两种,动态手势可以看作是连续的静态手势序列。动态手势具有丰富和直观的表达能力,与静态手势结合在一起,能创造出更丰富的语义。利用动态手势识别构建新型的交互界面,是新一代的人机交互界面对输入方式自然性的要求,可以弥补传统交互方式的不足。手势识别技术在过去几年得到了很好的发展,但移动设备中的手势识别技术仍然面临一些重要的难题,例如移动设备常常处于各种不同的环境中,其环境背景可能会有差异,而且处于变化状态中,那么在这一情况下能够实现较高准确度的手势识别就能使得这一技术得到很好的用户体验。本研究从实际出发,开发出一款不必接触屏幕即可控制手机的技术,并以相册的管理作为演示案例。关键字: Android,手势识别,相册管理英文摘要Gesture recognition is an important direction of the field of computer vision and numerical image processing a rapid development. The gesture is divided into two kinds of static gestures and dynamic gestures, dynamic gesture can be seen as a continuous sequence of static gestures. The dynamic gesture has a rich and intuitive skills, and with static gestures combine to create a richer semantics. Dynamic gesture recognition to build a new interface, a new generation of human-computer interaction interface naturally the input requirements, can make up for the deficiencies of the traditional interactive mode.Gesture recognition technology in the past few years has been well developed, but the gesture recognition technology still faces some important challenges in the mobile device, such as mobile devices are often in a variety of different environments, the environmental background may vary, butin a state of change, in this case can achieve higher accuracy of the gesture recognition will be able to make this technology a good user experience.The actual, developed a do not have to touch the screen to control the mobile phone technology, and the management of the album as a demonstration case.Key Words: Android, Gesture recognition, Album management1 绪论11手势识别研究的意义在人机交互的发展过程中先后出现了基于文本方式的键盘、基于图形方式的鼠标等交互接,然而从某种程度上说,这些机械设备在人机交互方面是不方便和不和谐的。它把机器作为人机交互的中心,在人机交互时人需要去适应机器的输入输出设备,对机器没有主动控制的能力。随着计算机科学的快速发展,研究符合人类交流习惯的人机交互技术成为国内外关注的热点,这些研究包括人脸识别、面部表情识别、头部运动跟踪、眼睛识别、手势识别以及人体姿势识别等。总体来说,人机交互的研究已经从以计算机为中心转移到以人为中心,大大提高了人机交互的效率。手势作为人类最自然的表达方式之一,在日常生活中得到了广泛的应用。手势生动、形象、直观,而且蕴涵着丰富的信息,是人与人沟通的重要媒介。目前基于手势的交互已经成为人机交互的重要内容。手势识别的应用前景十分广阔:(1)对于聋哑人而言,特别是文化程度比较低的聋哑人,使用手语和正常人交流更加方便和高效。手语是用手势表示意思的语言,对不熟悉手语的普通人来说,理解手语是非常困难的。如果有一套可以翻译手语的系统,则将大大方便聋哑人与正常人之间的交流;(2)利用手势对虚拟现实中的智能设备进行控制。比如在虚拟场景内利用手势实现虚拟钢琴的演奏,又如用机器人的虚拟手抓取物体等;(3)研究人类对于视觉语言的理解规律,提高计算机对人类语言的理解能力;(4)手势交互是虚拟现实中多通道接口的重要组成部分之一。12手势识别国内外研究现状根据外围设备采集手势图像方式的不同可以把手势识别分为两种:基于数据手套的手势识别和基于视觉的手势识别。基于数据手套的手势识别是通过数据手套和位置跟踪来测量手势运动的轨迹和时序信息,其优点是系统的识别率高,缺点是输入设备昂贵,并且要求打手势的人穿戴复杂的数据手套,给人带来很多不便,因此这种方式不能成为未来发展的趋势。基于视觉的手势识别是计算机通过对摄像头拍摄的手势图像进行分析和处理提取出手的位置及形状。这种方法在实现时无需购买昂贵的设备,仅需要廉价的摄像头和低端处理能力的PC机即可。并且在操作时更加自然、方便,符合以人为本和自由性的要求,是手势识别未来发展的趋势。但是这种方法的识别效率比基于数据手套的手势识别低,而且能够识别的手势种类受到很大的限制,是目前亟待解决的问题。1.3基于视觉的手势跟踪与识别流程图本课题的主要内容是研究基于计算机视觉的手势跟踪与识别。首先对手势跟踪与识别各个阶段的算法进行了分析,提出基于Hu矩特征和“一对多径向基核函数支持向量机相结合的手势识别算法,并在Microsoft Visual C+60开发环境下,借助OpenCV开源库,实现了对从摄像头输入的10个常用手势的识别,以验证提出算法的可行性,并以此为基础建立了一个简单的手势交互系统。基于视觉的手势跟踪与识别流程图见图1-1。图1-1 基于视觉的手势跟踪与识别流程图2 基于计算机视觉的手势识别基础理论在人与人的交际过程中,经常会用到手势,手势的语义强大并且直观,可以很好地表达思想,与自然语言形成互补。所以近些年来,手势识别的研究得到了很大的关注和发展。本章主要介绍基于视觉的手势识别的一些基础理论。21模式识别概述通常,我们把通过对具体的个别事物进行观测所得到的具有时间和空间分布的信息称为模式,把各模式所属的类别称为模式类。模式识别是对表征事物或者现象的各种形式的信息进行分析和处理,来实现对事物或现象进行描述、辨认、分类和解释,是信息科学和人工智能的重要组成部分。人们为了掌握客观事物,就将事物按照相似度组成类别。模式识别的作用和目的就在于面对某一具体事物时将其J下确的归入某一类别。有两种基本的模式识别方法,即统计模式识别方法和结构模式识别方法。与此相应的模式识别系统都由两个过程组成,即设计与实现。设计是指用一定数量的样本(叫做训练集或学习集)进行分类器的设计。实现是指用所设计的分类器对待识别的样本进行分类决策。基于统计方法的模式识别主要由4个部分组成:数据获取、预处理、特征提取和选择、分类决策,如图2-1所示。图2-1 模式识别系统的基本构成1数据获取为了使计算机能够对各种现象进行分类识别,要用计算机可以运算的符号来表示所研究的对象。通常输入对象的信息有一维波形、物理参量和逻辑值、二维图像3种类型,通过测量、采样和量化,可以用矩阵或向量表示二维图像或一维波形。这就是数据获取的过程。2预处理预处理的目的是去除噪声,加强有用的信息,并对输入测量仪器或其他因素所造成的退化现象进行复原。3特征提取由图像或波形所获得的数据量是相当大的。例如,一个文字图像可以有几千个数据,一个心电图波形也可能有几千个数据。为了有效地实现分类识别,就要对原始数据进行变换,得到最能反映分类本质的特征。这就是特征提取和选择的过程。一般我们把原始数据组成的空间叫测量空间,把分类识别赖以进行的空间叫做特征空间,通过变换,可把在维数较高的测量空间中表示的模式变为在维数较低的特征空间中表示的模式。4分类决策分类决策就是在特征空间中用统计方法把被识别对象归为某一类别。基本做法是在样本训练集基础上确定某个判决规则,使按这种判决规则对被识别对象进行分类所造成的错误识别率最小或引起的损失最小。22基于计算机视觉的手势跟踪理论手势分割与跟踪是手势识别的基础,其好坏将影响识别率的大小。手势分割的方法大体分为三种:基于运动信息的、基于运动模板的和基于颜色信息的。基于运动信息的手势分割是通过对前后两帧图像做差分运算来检测手势的,当手势运动时则图像发生变化。运动估计的依据是图像强度发生变化,用图像序列中相邻图像的差来表示强度的变化。图像差运算非常简单,这是由于在图像差运算中仅仅涉及到了像素强度的相减。在实际的手势识别系统中,摄像机的位置是固定的,对手势序列中相邻两帧图像做差分运算便能有效地保留运动的部分(即手势),滤除图像中保持不变的背景区域。基于运动模板的手势分割是用模板匹配方法寻找运动的手势,一般把二维可变形模板作为插值节点去近似物体轮廓。模板由平均点集合、点可变性参数和外部变形构成,平均点集合描述的是某一组形状的平均形状,点可变性参数描述的是可变形模板的全局运动。通常用基于可变形模板的人手模型来跟踪人手。二维模板实现简单,但对手的姿念有一定限制。三维模板则不受手的姿态的限制,但其参数过多使得实现困难。基于颜色信息的分割在图像分割中占有重要地位。颜色分割与其他两种方法相比,具有高效性和鲁棒性等特点,得到了广泛的应用。但是在复杂背景的情况下或者光照变化快时,基于颜色的分割效果不好,为了解决这个问题,目前众多研究者尝试利用融合多种信息的技术进行手势分割。国内外对手势跟踪的研究很多,例如利用粒子滤波(Particle Filter)对手势跟踪获得了较好的效果。Camshift巧J(ContinuouslyAdaptive Mean Shift)是一种基于颜色概率模型的跟踪算法,它是Mean Shift算法的改进与扩展,可以处理动态变化的分布。当视频序列一帧一帧变化时,Camshift能够自动调节搜索窗的大小和位置,定位被跟踪目标的中心和大小,并且用当前帧定位的结果来预测下一帧图像中目标的中心和大小,每帧图像都这样处理,就形成了连续的跟踪。23基于计算机视觉的手势识别理论基于视觉的手势识别可以分为基于单目视觉的手势识别和基于多目视觉的手势识别。基于单目视觉的手势识别就是通过单个摄像机来采集手势图像,从而建立平面手势模型。这种方法处理的数据量较小,识别速度快,但是对于用户手势的输入限制较大。基于多目视觉的手势识别是通过两个或两个以上的摄像机来采集图像,建立的是立体模型。这种方法对于用户手势的输入限制较小,可以实现更加自然的人机交互,但由于立体模型的复杂性,需要处理大量的数据,识别时间长,无法实现实时的识别。基于视觉的手势识别算法可分为神经网络算法、模板匹配,统计分析算法、和隐马尔可夫模型(Hidden Markov Model HMM)等。231神经网络算法对人工神经网络的研究早在20世纪40年代就已经开始了。有人以包含0-1和1-0变化的随机模型作为模型化神经系统的基础。到了50年代中期和60年代初期,人们已设计出称为感知机(perceptrons)的学习机器,引起了模式识别理论界人士的重视。80年代中期提出的对多层感知机的新训练算法(称为以反扩散学习的广义德尔塔(Delta)规则)是非常有效的。广义德尔塔规则在许多实际问题中得到了成功的应用,使得多层感知机类机器成为目自玎使用神经网络的主要模型之一。神经网络是指利用工程技术手段模拟人脑神经网络的结构和功能的一种技术,其目的是使机器具有人脑那样的感知、学习和推理功能。神经网络方法在手势识别领域得到了广泛的使用。它对信息处理具有自组织、自学习等特点,有较强的抗干扰能力。它是由许多具有非线性映射能力的神经元组成的一种大规模并行处理网络,神经元之间通过权相连。文献16qb MYeasin采用了TDNN(TimeDelay Neutral Network时延神经网络)的手势识别技术。BP神经网络模型实现了多层网络学习的设想。它是一种单向传播的多层前向神经网络,除输入输出节点外还有一层或多层隐层节点,同层节点之I、日J没有耦合,输入信号从输入层节点依次传过各层节点,最后到达输出层节点。每一层节点的输出只影响下一层节点的输出。BP神经网络结构分三层:输入层、隐含层和输出层。图2-2是一个三层前馈神经网络模型,输入层、中间隐含层和输出层的神经元个数分别为5、50和9。图2-2 三层前馈神经网络模型BP网络学习是典型的有导师学习。训练集包含M个样本,对第P个训练样本(P=1,2,M),单元的实际输出为郇,它的第i个输入(也即第i个神经元的输入)为,则: (2-1)BP算法中大多选用S型函数作为输出函数,即: (2-2)232基于模板匹配的算法模板匹配算法就是将输入的原始数据与预先存储的模板进行匹配,通过测量两个模板之间的相似度进行识别。模板匹配的方法多用于静态手势识别中,如Cui Yuntao通过计算模板的相关系数来进行预测匹配。文献f181中张良国、吴江琴、高文等人首先改进了Hausdorff距离,接下来通过比较预处理后的输入图像的Hausdorff距离和标准模板库中各种图像的Hausdorff距离进行判断。Hausdorff距离是描述两组点集之间相似程度的一种量度,它是两个点集之间距离的一种定义形式【191:假设有两组集合A=,B= ,则这两个点集之上的Hausdorff距离定义为: (2-3) (2-4) (2-5)是点集A和点集B间的距离范式这里,式(2-3)称为双向Hausdorff距离,是Hausdorff距离的最基本形式;式(2-4)(2-5)中的h(A,B)和h(B,A)分别称为从A集合到B集合和从B集合到A集合的单向Hausdorff距离。即h(A,B)实际上首先对点集A中的每个点到距离此点最近的B集中点b,之间的距离进行排序,然后取该距离中的最大值作为h(A,B)的值,h(B,A)同理可得。由式(2-3)知,双向Hausdorff距离H(A, B)是单向距离h(A,B)和h(B,A)两者中的较大者,它度量了两个点集之间的最大不匹配程度。233统计分析算法统计分类算法是在模式识别发展的过程中建立的经典方法,它用概率统计模型得到各类别的特征向量分布,以达到分类的目的。统计分类算法是一种监督学习的模式识别方法。如何将分类器设计得更有效,识别率更高,是需要重点解决的问题。当几个类别的样本在特征空间的分布符合一定的拓扑结构,并且我们知道各个类别的概率分布函数时,我们就可以利用统计分类方法进行模式识别。常用的统计分类方法有很多,例如byproduct”方法、决策树和决策表方法等。模式的统计分类方法,又称为决策理论识别方法,它是将各模式类别看成是用某个随机向量实现的集合。属于同一类别的各个模式之间的差异,有些是由环境噪声和传感器的因素引起的,有些是模式本身所具有的随机性质引起的。在通常情况下,不同类别的两个模式之间的距离要大于同一类别的两个模式之间的距离,这样就可以将特征空间准确的划分为几个区域,其中各个区域同各个类别是一一对应的。若不满足上述条件,则对每个特征向量估计其属于某一类的概率,概率值最大的类就是该点所属的类别。统计分类方法常用的分类器主要有贝叶斯分类器、线性判别函数、树分类器、最小距离分类、近邻法分类、聚类分析等。234隐马尔可夫模型(HMM)在给定前一个状态的情况下,随机变量序列的下一个状态的出现是条件独立的。每一个时刻的随机变量有一个度量值,这个度量值的分布与该时刻的状态有关。这样的模型称为隐马尔可夫模型(HMM)。隐马尔可夫模型是在Markov链的基础之上发展起来的。实际问题比马尔可夫链所描述的更为复杂,观察到的事件并不是与状态一一对应的,而是通过一组概率分布相联系的。它是一个双重随机过程:一是描述状态转移的马尔可夫链是基本随机过程;另一个是描述状态和观察值之间的统计对应关系是随机过程。基于以上原因观察者只能看到观察值不能直接看到状态,即让观察者通过一个随机过程去感知状态的情况,所以称之为“隐”Markov模型。如图2-3为隐马尔可夫模型组成的示意图。HMM作为信号的一种统计模型,已经在语音信号处理领域得到了广泛应用,近年来很多研究者也将HMM用于手语识别领域。但是应用于手势识别时有很多约束。首先,动态手势信号不满足马尔可夫性质,也就是说随机向量当前的状态只与前一状态有关;其次,仅用隐马尔可夫模型对手势建模远远不够,会导致隐马尔可夫模型将许多信号作为噪声处理。图2-3:隐马尔可夫模型组成24基于计算机视觉的手势跟踪与识别系统计算机视觉研究就是计算机通过对一幅或多幅图像进行分析,从中获取三维世界的运动信息或者集合特征,例如物体的位置、形状、姿态运动等信息,接下来对这些信息进行分析、处理,以达到认识三维世界的目的。计算机视觉作为一门新兴的学科,正在受到越来越多的关注。视觉运动分析方法因具有适用范围广、抗电子干扰能力强、测量精度高和保密性好等优点,在军事、导航、机器人技术、气象分析、医疗诊断、交通管制、安全防范等领域得到了广泛的应用。手势作为人类最自然的表达方式之一,在日常生活中得到了广泛的应用。同时,手势具有适应性强、形象生动及简便易行等特点,比较适合在非特定环境下对机器人的控制。通常一个完整的手势跟踪与识别系统,分为以下几个部分:(1)手势的检测与跟踪:手势的检测与跟踪是手势识别的基础,其好坏将影响识别率的大小。手势分割的方法大体分为三种:基于运动信息的、基于运动模板的和基于颜色信息的。国内外对手势跟踪也做了大量研究,常用的有卡尔曼滤波(Kalmall Filter)、粒子滤波(Particle Filter)等跟踪方法。(2)静态手势识别:静态手势识别是指对于静态图片中手的形状和手的姿势进行识别。国内外对静态手势识别做了大量研究。例如文献f81中提出了一种使用神经网络方法和Hough变换对中国手语中的20种手势进行识别。在文献91中采用基于表观的手势模型,提取八个手势特征组成特征向量,采用二次分类(粗分类和细分类)的方法对10个常用的静态手势进行识别。(3)动态手势识别:动态手势识别是对连续的手势序列进行实时的跟踪,通过对跟踪到的手势运动的时空轨迹(spatialtemporal trajectory)或手势状态轨迹(state trajectory)进行处理,以识别摆手等动态手势。3 手势图像预处理及特征提取手势图像的预处理和特征提取是下一步要进行的手势跟踪与识别的前提,其质量的好坏既关系到手势的识别率,又关系到所建立的人机交互系统的整体性能。本章针对图像采集时所遇到的光照变化、旋转、平移等不确定因素,对手势图像的预处理和特征提取进行了分析。31手势图像预处理在手势图像的预处理阶段,为了得到理想的分割效果,本文对采集到的手势图像采用了图像平滑、色彩空间转换、图像二值化以及形态学处理等算法以得到准确的手势二值化图像。311图像平滑图像平滑的目的是为了消除噪声。图像噪声的来源有三种:一是在光电、电磁转换过程中引入的人为噪声;二是大气层电(磁)暴、闪电、电压、浪涌等引起的强脉冲性冲激噪声;三是自然起伏性噪声,由物理量的不连续性或粒子性引起,这类噪声又可分为热噪声、散粒噪声等。消除噪声的方法又可以分为空间域方法或频率域方法,亦可以分为全局处理方法或局部处理方法等。1邻域平均法邻域平均法I刎是简单的空域处理方法。这种方法的基本思想是用几个像素灰度的平均值来代替每个像素的灰度。假定有一幅NXN个像素的图像,平滑处理后得到一幅图像。由下式决定: (3-1)式中, S是点伍纠所在领域的中点的坐标集合,但不包括点;M是集合内坐标点的总数。式(31)说明,平滑后的图像中每个像素的灰度值,均由似一邻域中包含的像素灰度值的平均值来决定。2中值滤波法中值滤波【211是一种非线性滤波,由于它在实际运算过程中并不需要图像的统计特性,所以比较方便。中值滤波首先是被应用到一维信号处理技术中,后来被二维图像信号处理技术所引用。在一定的条件下,它可以克服线性滤波器所带来的图像细节模糊,而且对滤除脉冲干扰及图像扫描噪声最为有效。但是对一些细节,特别是点、线、尖顶细节多的图像不宜采用中值滤波的方法。3频域平滑技术图像的平滑既能够在空域中进行,又能够在频域中进行。频域平滑技术是一维信号低通滤波器在二维图像中的推广。对于一幅图像,它的边缘、跳跃部分以及噪声都代表图像的高频分量,而大面积的背景区和变化缓慢的部分则代表图像的低频分量,用频域低通滤波器除去其高频分量就能去掉噪声,从而使图像得到平滑。滤波器的数学表达式为: (3-2) 其中F(u,D为原图像的傅立叶变换,为平滑后图像的傅立叶变换,是滤波器的转移函数。常用的低通滤波器有:(1)理想低通滤波器一个理想低通滤波器的传递函数为: (3-3)其中D。为截止频率,是点(u,v)到频率平面原点的距离。理想低通滤波器在处理过程中会产生比较严重的模糊和“振铃”现象,这是由于H(u, v)在D。处由1突变到0,这种理想的H(u, v ),D对应的冲激响应h(u, v)在空域中表现为同心环的形式,并且此同心环数与D。成反比,D。小,同心环数越多,模糊程度越厉害。正是由于理想低通滤波存在“振铃现象,其平滑效果才下降。(2)巴特沃斯滤波器一个巴特沃斯滤波器的传递函数为: (3-4)其中D。为截止频率,当D(u, v)= D。时,H(u,v)降为最大值的1/2。,n为阶数,取正整数,阶数刀控制曲线的形状。由于转移特性曲线较为平滑,没有振铃效应,故图像的模糊将减少。(3)指数型滤波器一个指数形滤波器的传递函数为: (3-5)其中Do为截止频率,n为阶数,当D(u, v)= D。时,H(u,v)降为最大值的le。用指数形滤波器滤波后的图像比用巴特沃斯滤波器滤波后的图像模糊一些,但没有振铃效应。图3-1(a)(b)(c)(d)分别是原图像、加椒盐噪声的图像、中值滤波效果图以及33邻域滤波效果图。可见,用中值滤波的方法进行图像的平滑处理效果比较理想,因此本文在手势预处理中采用中值滤波法对图像进行平滑。图3-1 图像平滑效果31 .2图像色彩空间转换计算机色彩理论认为,一种颜色在计算机中有多种不同的表达方式,从而形成了各种不同的色彩空间。事实上,各种色彩空间只不过是颜色在计算机内不同的表达形式而已,每一种色彩空自J都有它各自的应用领域、产生背景等。下面我们分析几种常用的色彩空间:1HSI模式HSI模式的定义是以人眼对色彩的观察为依据的,在HSI模式中,每种颜色都用色度、饱和度、亮度三个特征来表示。色度H与波长有关,例如,不同波长的可见光具有不同的颜色。波长不同的光以不同比例混合能够形成各种各样的颜色。饱和度S指颜色的强度,表示在色调中灰色成分所占的比例,用0一100(纯色)表示。亮度I表示颜色的相对明暗程度,通常用0(黑)一100(白)来度量。将RGB转换为HSI所用的变换为: (3-6)其中: (3-7)31 .3图像二值化图像的二值化就是指把多灰度级的图像变成只有两个灰度级的图像。把其中感兴趣的目标像素作为前景像素,其余部分作为背景像素。设图像的灰度值范围在a,b,二值化的闽值设为t(),则图像一值化的一般表达式为: (3-8)得到的就是二值图像,阈值t不同,得到的二值图像也是不同的。因此要达到理想的分割效果,选择合适的闽值t是至关重要的。图像二值化方法大致分为三种:整体闽值二值化、局部闽值二值化以及动态闽值二值化。仅由像素点的灰度值确定阈值的方法称为整体阈值选择法。由像素点的灰度值和像素周围点局部灰度特性确定阈值的方法称为局部闽值选择法。当闽值选择不仅取决于该像素阈值以及其周围各像素的灰度值,而且还与该像素坐标位置有关时,称之为动态闽值选择法。1模式法模式法是指当扶度直方图具有双峰性的时候,目标物体和背景的扶度分别在两个山峰的附近,则将山谷的中心点作为模式法的闽值。但是,实际得到的灰度直方图不平杆,存在由于小的凹凸而产生的局部极小值,这样给自动判断造成诸多不便。针对这种情况,可以先对放度直方图进行平滑处理,再确定闽值。这样做会产生一些噪声,但对判断结果的影响不大。2动态阈值法当光照不均匀时,用确定闽值二值化方法分割效果不理想。在这种情况下,我们可以用动志闽值法解决。把图像分成若干个予区域,对每一个子区域计算其灰度直方图。如果在子区域中同时存在背景和目标物体,那么其获度直方图呈双峰,这时可再用模式法等进行二值化处理。这种情况下,每个子区域一般都不相同,这种二值化方法称为可变阐值法。3最大类间方差法最大类间方差法是通过使两组像素的组内方差最小来确定阈值的方法。首先定义直方图函数为概率函数P,其中表示灰度值0,I的直方图概率,其中RxC是图像的空间区域。如果灰度直方图是双模式的,则通过灰度直方图求闽值就是确定最佳阐值t,利用阙值t把两种模式分开。根据阈值t,可以确定灰度值小于或者等于t的像素集的方差以及灰度值大于t的像素值的方差。晟大类间方差法的最佳阈值是使组内方差的加权和最小的阈值,其中权分别代表各组概率。组内均衡性的测度是方差,则均衡性高的具有较低的方差,均衡性低的具有较高的方差。本文用晟大类间方差法(Otsu)对手势图像做二值化处理。图3-3所示,(a)(b)(c)分别是Y通道图像、cb通道图像以及。通道图像的二值化效果图。Y通道二值化图像也就是直接荻度化的效果,与西通道以及cr通道的二值化图像相比,分割效果不佳,因此,本文采用虽大类问方差法对手势。通道图像进行二值化处理。图3-3 Y通道、cb通道和cr通道二值化图像3.1 .4图像形态学处理由于噪声的影响,使手势图像的分割效果不太理想。我们再采用形态学处理方法获得比较理想的手势分割效果。形态学处理的基本运算有膨胀、腐蚀、开运算和闭运算。(1)膨胀:用结构元S对二值图像进行膨胀运算表示为BS,定义如下: BS (3-9) 用结构元S扫描整幅图像。初始化输出图像的像素值为0,一旦结构元S的原点遇N-值图像B中值为1的像素时,结构元整体形状就与输出图像进行逻辑“或”运算。(2)腐蚀:用结构元S对二值图像曰进行腐蚀运算表示为BS,定义如下: BS= (3-10)腐蚀运算也是用结构元扫描整幅图像。针对二值图像上的每一个像素点,如果结构元上每一个值为1的像素都覆盖着二值图像上一个值为1的像素,则将二值图像B上与结构元原点对应的像素与输出图像对应点进行逻辑“或运算。(3)闭运算:用结构元S对二值图像曰进行的闭运算表示为BS,定义: Bs=(BS) S (3-11)先膨胀后腐蚀的过程就称为闭运算。闭运算能够填充物体内细小空洞,连接邻近物体以及平滑边界。(4)开运算:用结构元S对二值图像B进行的开运算表示为B。S,定义: B。S=(BS) S (3-12)先腐蚀后膨胀的过程称为开运算。开运算具有消除细小物体,在纤细处分离物体和平滑较大物体边界的作用。本文利用Otsu分割方法得到的图像还存在噪声,如图3-4(a)所示,二值化后的手势图手指区域分割并不完全,这会导致后续特征值的计算产生一定的偏差从而影响最终的手势识别结果,所以我们把分割得到的图像先进行膨胀运算,如图3-4(b)所示,去掉分割不理想导致的小的“孔洞”;再进行腐蚀运算得到图像3-4(c)。图3-4 手势图像形态学处理效果图32手势图像特征提取图像识别是根据图像特征进行的,显然这些特征的选择非常重要,它严重影响到图像识别分类器的设计、特性及识别结果的准确性。如果特征选择错误,就不能准确分类,甚至无法分类。所以特征选择是图像识别的一个关键问题。因为实际问题中很难找到那些最关键的特征,或者某些图像的特征会随着环境的变化而变化,这就使得特征的选择和提取更加复杂化。如何从众多特征中找出那些最有效最关键的特征是特征选择和提取的基本任务。当样本数量不是很多时,需要用很多特征进行分类器的设计,而从计算复杂度和分类器的性能来看都是不合适的。根据待识别图像的特征,通过计算产生原始特征,称为特征形成。原始特征的量很大,或者说图像样本是处在一个高维空间中,通过映射降低维数,用低维空间来表示样本,即特征提取。而映射后得到的特征是原始特征的一种组合。特征提取在广义上是指一种变换。从一组特征中挑选出一些最有效的特征以达到降低特征空间维数的目的,叫特征的选择。良好的特征应具有可靠性、可区别性、数量少以及独立性等特点。在描述图像时,可以针对图像的特点采取多种不同的描述方法。每一种描述方法都有其优点、缺点,且不存在通用的方法或者最优方法。4 手势跟踪算法研究视频序列中运动物体的跟踪是计算机视觉中的一个重要研究课题。物体的跟踪可以理解为确定其在视频序列不同帧中相对位置的动态过程。视频是由一系列时间上连续的图像组成,它们具有逻辑上的相对次序关系。视频序列提供了比单帧图像更丰富的目标信息,我们通过对其进行分析能够更好地研究运动物体的跟踪过程。41 Kalman跟踪算法卡尔曼滤波是在分析已提取信号相关信息的基础上通过特定算法估计出所需信号。其中已提取的信号是由白噪声引起的随机响应,并且系统的状态转换方程和测量方程已知,其中状态转换方程描述的是激励源与响应之间的状态传递结构,而测量方程则表示量测量与被估计量之间的函数关系。在估计过程中,我们利用系统状态方程、量测方程、白噪声激励的统计特性、测量误差的统计特性这些已知信息来最终来估计出所需的信号。由于卡尔曼滤波是综合时域内的信息来设计整个滤波系统,且适用于多维的情况,因而卡尔曼滤波的应用范围主要在机器人控制、导航、传感器数据融合等方面,近年来更被应用于图像处理特别在图像分割、图像边缘检测以及视频序列中的人脸识别等方面。下面介绍卡尔曼滤波的基本原理:以下是卡尔曼滤波器核心的5个式子。 X(k|k-1)=A X(k-1|k-1)+B U(k) (4-1) P(k|k-1)=A P(k-1|k-1) A+Q (4-2) X(k|k)= X(k|k-1)+Kg(k) (Z(k)-H X(k|k-1) (4-3)Kg(k)= P(k|k-1) H / (H P(k|k-1) H + R) (4-4)P(k|k)=(I-Kg(k) H)P(k|k-1) (4-5)下面我们详细介绍卡尔曼滤波的过程。首先,我们要引入一个离散控制过程的系统。该系统可用一个线性随机微分方程来描述: X(k)=A X(k-1)+B U(k)+W(k) (4-6)再加上系统的测量值: Z(k)=H X(k)+V(k) (4-7)上两式子中,X(k)是k时刻的系统状态,U(k)是k时刻对系统的控制量。A和B是系统参数,对于多模型系统,他们为矩阵。Z(k)是k时刻的测量值,H是测量系统的参数,对于多测量系统,H为矩阵。W(k)和V(k)分别表示过程和测量的噪声。他们被假设成高斯白噪声(White Gaussian Noise),他们的covariance分别是Q,R(这里我们假设他们不随系统状态变化而变化)。对于满足上面的条件(线性随机微分系统,过程和测量都是高斯白噪声),卡尔曼滤波器是最优的信息处理器。下面我们来用他们结合他们的covariances来估算系统的最优化输出。首先我们要利用系统的过程模型,来预测下一状态的系统。假设现在的系统状态是k,根据系统的模型,可以基于系统的上一状态而预测出现在状态:X(k|k-1)=A X(k-1|k-1)+B U(k) (4-8)式(1)中,X(k|k-1)是利用上一状态预测的结果,X(k-1|k-1)是上一状态最优的结果,U(k)为现在状态的控制量,如果没有控制量,它可以为0。到现在为止,我们的系统结果已经更新了,可是,对应于X(k|k-1)的covariance还没更新。我们用P表示covariance:P(k|k-1)=A P(k-1|k-1) A+Q (4-9)式(2)中,P(k|k-1)是X(k|k-1)对应的covariance,P(k-1|k-1)是X(k-1|k-1)对应的covariance,A表示A的转置矩阵,Q是系统过程的covariance。式子1,2就是卡尔曼滤波器5个公式当中的前两个,也就是对系统的预测。现在我们有了现在状态的预测结果,然后我们再收集现在状态的测量值。结合预测值和测量值,我们可以得到现在状态(k)的最优化估算值X(k|k):X(k|k)= X(k|k-1)+Kg(k) (Z(k)-H X(k|k-1) (4-10)其中Kg为卡尔曼增益(Kalman Gain):Kg(k)= P(k|k-1) H / (H P(k|k-1) H + R) (4-11)到现在为止,我们已经得到了k状态下最优的估算值X(k|k)。但是为了要另卡尔曼滤波器不断的运行下去直到系统过程结束,我们还要更新k状态下X(k|k)的covariance:P(k|k)=(I-Kg(k) H)P(k|k-1) (4-12)其中I为1的矩阵,对于单模型单测量,I=1。当系统进入k+1状态时,P(k|k)就是式子(2)的P(k-1|k-1)。这样,算法就可以自回归的运算下去。卡尔曼滤波器的原理基本描述了,式子1,2,3,4和5就是他的5个基本公式。根据这5个公式,可以很容易的实现计算机的程序。42 Camshift跟踪算法Camshift(Continuously Adaptive Mean Shit)是连续的自适应的Mean Shift算法,它是对Mean Shift算法的改进与扩展,可以处理跟踪目标动态变化的情况。当视频序列一帧一帧变化时,Camshift利用其自动调节搜索窗的大小和位置的功能,定位被跟踪目标的位置,并且用当前已知定位的结果来预测下一帧中目标的位置,这样迭代的处理每帧图像,就形成了动态的跟踪。421颜色概率模型为了使用Camshift算法实现物体的跟踪,我们选取目标物体的颜色来作为跟踪特征,需要通过颜色概率模型 (Color Probability ModelCP把每帧图像转化为颜色概率分布图。由于本文是手势跟踪,因此这里的颜色就是肤色。计算机图像处理中常用的色彩空间有RGB,YIQ,YUv,HSV,HSV等,由于肤色对HSV(色调、色饱和度、亮度)色彩空间的H分量很敏感,所以用H分量的直方图建立肤色概率模型。HSV与RGB转换的公式如下: (4-13) (4-14) (4-15)首先,要计算被跟踪目标的色彩直方图。将RGB色彩空间转化到HSV空间,获得H分量,并计算它的1维直方图。这里我们把H分量的数值量化到O,255。如图4-1所示。图4-1(a)是单色背景下的手势图像,图(b)是H通道图像,在图(b)中,人手部和背景之间的轮廓很不清晰,我们采用形态学方法对m)图像增强得到(c)图像。对比(b)(c)图可见,形态学处理后的目标图像得到了很好的增强。然后,根据获得的色彩直方图将原始图像反向投影成色彩概率分布图像,如图(e)。在反向投影前,目标图像中的每一个象素的值描述的是在这一点的颜色信息,而投影后,图像中每一个象素的值就变成了这个颜色信息出现在此处的可能性的一种离散化的度量。图(d)是形态学处理后的H通道图像直方图。彩色概率分布的Open CV算法实现如下:(1)首先通过摄像头捕获手势图像,将彩色空间转化为HSV空间,并且得到其中的H分量:(2)计算H分量的直方图,即1维直方图:图4-1 反向投影的输入输出图像在这罩需要考虑H分量的取值范围的问题,H分量的取值范围是fo,360),这个取值范围的值不能用一个bm来表不,为了能用个byte表示,需要将H值做适当的量化处理,在这里我们将H分量的范围量化到0,2551。(3)根据获得的色彩直方图将原始图像转化成色彩概率分布图像,这个过程就被称作”BackProjection”。计算BackProject,result即为所要的结果(二维彩色概率分布图)。5.4 手势跟踪与识别在人机交互中的应用为了验证论文中的手势跟踪、识别算法,本文基于VC+60平台编写了一个简单的Word数字录入程序,将手势识别应用于人机交互中,实现了从摄像头输入手势对Word文

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论