登录

  • 登录
  • 忘记密码?点击找回

注册

  • 获取手机验证码 60
  • 注册

找回密码

  • 获取手机验证码60
  • 找回
毕业论文网 > 毕业论文 > 电子信息类 > 通信工程 > 正文

基于RGB-D深度图像的的手势识别研究与人机交互实现毕业论文

 2020-02-17 09:02  

摘 要

人工智能已渐渐走进我们的生活,人们对人机交互技术实现的需求也越来越高,而手势识别技术则促进了它的成功。怎样让用户可以轻易方便地经由手势来控制智能机器人是手势识别钻研的大方向。

本文利用了微软公司的Kinect摄像头和优傲机器人公司的UR双臂机器人,设计了一个基于RGBD图像的静态手势识别系统。采用Kinect获取手势图片信息,对手势进行了手型提取与识别,在手型提取这一块采用了深度信息和颜色信息相结合的方法,这样分割出来的手形更加清晰准确;在识别这一块利用了VGG16这一卷积神经网络模型,通过大量的手势图片样本对网络进行训练,最后获得了一个识别率达到90%以上的网络模型。最后用这个训练好的模型进行实时的手势识别,将识别结果传入UR机器人,使得机器人能够根据不同的手势拾取不同的物品。

本文的特色在于没有仅使用深度信息来对手掌进行分割,而是在这基础上又加入了颜色信息,使得手势的提取更加准确,也减少了网络的训练参数。另外在识别阶段采用了卷积神经网络的识别方法,利用神经网络就无需再人工提取手势特征,大大地增加了手势识别的效率。

关键词:手势识别;kinect;深度图像;卷积神经网络

Abstract

With artificial intelligence coming into our life, human-computer interaction technology is developing rapidly, and gesture recognition technology used in human-computer interaction process has received widespread attention. How to make it easy and convenient for users to control intelligent robots by gestures is a major goal of gesture recognition research.

In this paper, a gesture recognition system based on RGBD image is designed by using Microsoft Kinect camera and UR dual-arm robot. Kinect is used to acquire gesture picture information and to extract and recognize gestures. In this part of gesture extraction, depth information and color information are combined to make the segmented hand shape clearer and more accurate. In recognition, VGG16 is used as a convolutional neural network model to train the network through a large number of gesture picture samples, and finally the network is acquired. A network model with recognition rate of more than 90%. Finally, the trained model is used for real-time gesture recognition, and the recognition results are transmitted to the UR robot, so that the robot can pick up different objects according to different gestures.

The feature of this paper is that not only the depth information is used to segment the palm, but also the color information is added on this basis, which makes the gesture extraction more accurate and reduces the training parameters of the network. In addition, the recognition method of convolution neural network is used in the recognition stage. The use of neural network can greatly increase the efficiency of gesture recognition without manual extraction of gesture features.

Key words: gesture recognition; kinect; depth image; convolutional neural network

目录

摘要 I

Abstract II

第一章 绪论 1

1.1 手势识别的研究背景及意义 1

1.2 手势识别技术的研究概况 2

1.2.1 手势识别的分类 2

1.2.2 手势识别的关键技术 2

1.2.3 手势识别研究的国内外现状 4

1.3 研究内容及目标 4

1.4 论文的组织结构 5

第二章 深度图像的获取 6

2.1 Kinect简介 6

2.1.1 Kinect硬件结构 7

2.1.2 Kinect骨骼跟踪 7

2.2 Kinect获取深度图像 8

第三章 手势分割 9

3.1 基于肤色检测的手势分割 9

3.2 基于深度信息的手势分割 11

3.2.1 深度距离与实际距离的转换 11

3.2.2 基于阈值分割获取手形 11

3.3 改进后的手势分割方法 12

第四章 基于卷积神经网络的静态手势识别 13

4.1 卷积神经网络介绍 13

4.2 VGG16模型 16

4.3 卷积神经网络的训练 17

4.4 卷积神经网络的代码实现 18

第五章 手势识别在UR机器人上的应用 21

5.1 系统开发环境 21

5.2 人机交互模块的设计 21

5.2.1 UR5机器人 22

5.2.2 机器人控制模块的设计 23

5.3 人机交互实验结果展示 24

第六章 总结与期望 26

参考文献 27

致谢 29

第一章 绪论

手势识别的研究背景及意义

长久以来,有关机器人和人工智能的电影、动画一直深受观众的喜爱,而在现实生活中,计算机科学家们也期望通过现有的技术,来创造出一个人与机器人能够直接交流沟通的精彩世界。现如今人工智能产品已经逐渐走进我们的生活,以往人们都是通过鼠标、键盘、手柄、操作杆等接口设备来控制计算机,这使得人机交互需要更多的额外设备,也不适用于移动的机器人和其他便携式产品上面,而繁琐的操作对于行动不便的老人和缺乏学习能力的儿童而言也较为困难,因此,一种更为自然的人机交互方式,即手势识别技术应运而生。它对用户来说更加友好也更具吸引力,使用人体动作直接作为计算机的输入免去了其他不必要的媒体。

很早以前是使用像数据手套这样的机械设备来进行手势识别的,用一种有线的方式来控制计算机,而随着机器视觉和图像处理技术的出现和进步,基于机器视觉的手势识别成为现在开发者们探讨的主流,如何将手势从复杂的背景中分割出来并且解释手势信息也成为了手势识别主要的研究目标。与获取手势有关的基础硬件的摄像头也在该领域内得到广泛的关注,由微软公司在2010年推出的Kinect深度摄像头就是其中的一种,与传统的摄像头不一样,它是一种3D体感摄像机,获取的是带有深度信息的3D图片。

手势识别的应用领域极为广泛,它涉及到机器人运动学、计算机视觉、医学、聋哑人手语识别、虚拟现实等多个领域。通过研究手势识别,不仅能够给开发者们提供新方向新课题,也能够促进生活中多个领域的发展。尽管如此,目前手势识别的技术依然不够成熟,由于用户在使用手势时,场景都是千变万化的,而手具有很大的灵活性,每个人的手势也各不相同,这种手势的多样化和复杂化导致了手势识别的困难。而利用RGBD深度图像可以在利用颜色信息提取手势的基础上再结合深度信息,通过这种方法分离出的手掌能够提高手势识别的效率和准确率。由此可见,如何把用户的手势从复杂的背景下准确地提取出来,并使得人工智能产品能够实时地识别这些手势是现在的研究需要解决的问题。于是,基于RGBD深度图像的手势识别研究与人机交互实现有着十分重要的意义。

手势识别技术的研究概况

      1. 手势识别的分类

手势识别最简单的可以分为静态手势识别和动态手势识别[1],静态手势是静止不动的手势,例如数字手势、剪刀手、比心等。动态手势就是指运动的手势,如挥手、抬手、拍手等,会在空间中留下运动轨迹,动态手势的识别较为复杂,它得找到动态手势的两个端点,并获取这两个点之间的手势轨迹来进行识别,是在静态手势识别基础上的一种识别。

此外,根据输入设备的不同,手势识别也可以分为传统手势识别方法和基于机器视觉的手势识别方法[2]。传统的手势识别方法需要利用机器作为输入,其典型例子如1983年ATamp; T集团发明的数据输入式数字手套,该设备利用多个感应器直接检测手胳膊各个关节点的位置和角度,虽然数据手套可以有效地检测出手指,但是一定要戴上手套才可以实现目的,非常的不方便,而对设备硬件的高要求也使得价格非常昂贵,而且硬件设备的介入违背了自然的手势表达方式的初衷,因此,基于机器视觉的手势识别方式开始发展起来。基于机器视觉的识别技术是是由摄像头获取图像,对数据处理之后再判断它属于哪一种手势。最初科学家们采用的是普通的单目摄像头获取2D的RGB图像,随着摄像头硬件的高速发展,3D摄像头的出现,完美地解决了由于2D图像的限制,以及光照、肤色、背景等因素造成手势分割困难和识别不准确的问题。因为通过3D摄像头获取的图像加入了深度信息,使得手部的提取变得更加准确。本文讨论的,就是基于3D摄像头获取的RGBD图像的静态手势识别。

1.2.2 手势识别的关键技术

无论是静态手势识别,还是动态手势识别,都包括手势图像的获取、手势分割、手势特征提取、手势识别这几个阶段[3],如下图所示就是一个完整的手势识别系统。

图1.1 手势识别系统

  1. 手势图像获取

通常采用摄像头进行手势图像和包含手势的视频流的获取,由前文可知,用于手势图像获取的摄像头有2D和3D摄像头,它们得到的分别是RGB图像和RGBD图像,本次设计采用的是Kinect 3 D摄像头,通过深度信息和彩色信息可以更有效地提取手形。

  1. 手势分割

手势分割指把手形从具有繁杂背景的图片中单独提取出来,背景的杂乱程度和不均匀的光线强度都会给分割造成很大的影响,它的主要特点是选择如颜色、灰度、深度等与无意义区域有显著差别的特征,将手势与无意义区域分离[4]。目前常用的手势分割的方法有建立手势形状数据库、轮廓跟踪、差影法及其改进算法和基于肤色模型方法[5]

  1. 特征提取

在一个图片中一般有许多种特征,特征提取就是从众多特征中提出能够描述该图像的特征的过程。常见的手势特征有颜色特征、表观特征和几何特征[6]。因为人眼对色彩信息非常敏感,因此相比较其他特征而言,颜色是最为显著的特征,具有复杂度低、受旋转、平移、缩放变化小的特点。手的几何特征就是数学上具有几何性质的特征,例如Hu 矩、Zernike 矩、HOG、Haar等。

  1. 手势识别

手势识别就是通过算法识别出它是哪一种手势。常用的静态手势识别算法有神经网络法、模板匹配法、支持向量机算法[7]。神经网络这一词来源于生物学中的神经网络,它的组成单元就是神经元,每个神经元都通过权重连接,利用神经网络进行识别的本质就是通过训练找到输入与输出之间的映射关系,比较实际输出和理想输出的误差,根据损失函数来改变神经网络的权重,从而使误差降到最低,经过数次训练之后神经网络就会具备很高的识别率。模板匹配法是最基础的一种识别方法,首先在数据库中存在一个模板,包含了常见的图像信息,当获取手势图像之后,就寻找模板中是否有与之匹配的图像并找到它的相应位置,这种方法简单快速但不适用于大规模的图像识别。支持向量机(SVM)是一种基于统计学习的算法,它的基本思想可以概括为:通过升维的方式使非线性的输入转变成线性的,并选取适当的核函数来减小分类误差。另外,还有用于动态手势识别的隐马尔科夫模型 (Hidden Markov Model,简称HMM)[8]和动态时间规整(Dynamic Time Warping,简称DTW)[9]算法,HMM是从马尔科夫链发展来的一种统计分析模型,最开始用在语音识别方面,获得了不错的成果,但其在获得训练模板时需要的运算量非常大[10]。DTW算法本质上是一种模板匹配的算法,经由对时间的转变把时候转变成非线性的,这类方法比HMM练习的量小。

      1. 手势识别研究的国内外现状

手势识别技术从最开始的使用数据手套进行识别进行到现在,已经完善了许多。国外最先开始投入研究,最早是利用数据手套来对手势进行识别的。随后因为数据手套携带的诸多不便与限制,利用机器视觉的手势识别开始出现,2010年微软公司发明的Kinect更是为手势识别技术提供了一个新方向。在手势识别技术方面有许多不错的成果,Bhuyan MK和Bora PK提出了使用有限状态机(FSM)来进行识别,其使用的特征是各种运动参数,比如手的速度,因为在手势的开始和结束时手的速度较小,并且手在运动期间突然移动速度较大 [11];Yang H-D等人使用基于条件随机场(CRF)的阈值模型进行手势识别,它结合了基于运动和位置的特征[12]

虽然国内对手势识别研究的工作开始得没有国外早,但也获得了一些不错的成绩:清华大学祝远新、徐光祐提出了一种动态手势时空表观模型,结合了运动、形状、颜色等多种特征来获取时空表观模型的参数,最后用动态时空规整算法(DTW)对12种特定手势进行识别,识别率达到了97%[13];北京交通大学的王松林利用Kinect SDK提供的人体骨骼模型和深度数据提取手形,设计出了基于双深度阈值信息伸直手指轮廓检测算法和弯曲手指轮廓检测算法,最后利用K曲率识别算法识别手指指尖,将该方法与DTW算法相结合来识别动态手势,最后应用于机器人系统来控制六边形机器人[14];苏州大学的崔子璐设计了基于MTS(即运动信息、深度信息、肤色检测)的手势分割,手部轮廓特征、几何参数特征、Hu矩特征相融合的特征提取,在DTW算法中融入了KNN分类算法的k-DTW手势识别算法,最后将方法应用于汽车驾驶系统[15]

研究内容及目标

本次设计的目标是设计出一个基于RGBD深度图像的静态手势识别系统,使用Kinect摄像头来获取数字手势的深度图像和彩色图像,并结合深度信息和椭圆肤色模型两种方法将手掌从复杂背景中提取出来,然后利用卷积神经网络训练模型,最后将手势识别的结果应用到UR双臂机器人上,使得能够使用不同的手势操控机器人执行不同的操作。具体的研究内容如下:

(1)比较分别使用深度信息和颜色信息分割手掌的结果,比较它们的优缺点,最后采用两者结合的方法达到优势互补。先运用Kinect得到的图像的深度数据对手掌进行分离,再根据YCbCr颜色空间找出符合条件的部分,将两个结果取交集就得到了最终需要的手掌的像素点。

(2)利用卷积神经网络的VGG16结构对分割出的手掌进行识别,本次设计使用了1—4四个数字的手势图像,每种手势各2000张进行训练,通过不断的训练改变卷积核权值的大小最终得到一个良好的识别模型。

(3)UR双臂机器人操作系统的设计。预先设定好每种手势对应的操作,将识别结果与机器人通过无线通信的方式连接起来,达到最终人机交互的目的。

1.4 论文的组织结构

本文想要实现的是一个基于RGBD图像的手势识别系统,章节内容安排如下:

第一章,绪论。主要叙述了手势识别技术的研究背景和意义,介绍了手势识别中的关键技术和国内外的研究现状,提出本次设计的主要内容和目标。

第二章,深度图像的获取。这一章介绍了设计中会使用到的Kinect摄像头,包括它的硬件结构和成像原理,还有它的主要功能,然后利用了Kinect获取了深度图像。

第三章,手势分割。分别介绍了基于椭圆肤色模型的肤色检测分割方法和基于深度信息的分割方法,比较了两者的优缺点,最后采用融合两种方法的技术完成了手掌分割。

第四章,基于卷积神经网络的静态手势识别。先描述了人工神经网络和卷积神经网络的层次结构以及每一层的功能,还介绍了本次设计使用的VGG16模型,讲述了卷积神经网络的训练过程以及它是如何通过训练来自我学习从而达到识别的目的。最后展示了本次设计的训练结果并进行了结果分析。

第五章,手势识别在UR机器人上的应用。给出了设计系统需要的软件和硬件,简单介绍了UR双臂机器人。然后是对系统的整体框架和实现步骤进行具体的说明,最近将手势识别的结果应用到机器人上,使不同的手势能够控制机器人拾取不同的物品。

第六章,总结与期望。对整篇论文进行总结,并提出不足的地方和可能实现的优化。

第二章 深度图像的获取

能够准确实时地获取手势图像是手势识别的关键,使用传统的摄像头获取的RGB图像是一种二维的图像,其在进行手势分割时容易受到光照、肤色和背景等因素的干扰。本文采用Kinect这一3D摄像头,用来获取RGBD图像,由于其包含了图像的深度信息,所以能够更加准确地分割出手形而不受光照的影响。本章主要介绍了Kinect的硬件结构和它的成像原理,并利用它获取了手势的彩色和深度图像。

2.1 Kinect简介

到目前为止,计算机对它们周围世界的视野非常有限,用户与计算机的通信方式也非常有限。多年来,计算机已经可以从摄像头和音频获得输入信息,但这些是无法识别的,计算机可以存储和播放这些内容,但是很难让计算机理解这些形式的输入。

例如,当人们听到声音时,他们可以通过相对于他们自己的位置来判断声源的距离和方向。直到现在,计算机想要做出这样的判断还有很多难点。来自多个麦克风的音频信息确实提供了关于音频源的距离和方向的大量信息,但是程序还是难以确定该信息。类似地,视频图片提供了计算机要分析的环境图像,但是计算机必须非常努力地提取关于图片或视频中的对象的信息,因为图像是将三维的世界用一个二维平面表示出来。

以上是毕业论文大纲或资料介绍,该课题完整毕业论文、开题报告、任务书、程序设计、图纸设计等资料请添加微信获取,微信号:bysjorg。

相关图片展示:

您需要先支付 80元 才能查看全部内容!立即支付

企业微信

Copyright © 2010-2022 毕业论文网 站点地图