英语原文共 13 页,剩余内容已隐藏,支付完成后下载完整资料
基于深度学习的手势识别和无人机飞行控制
摘要:动态手势识别是一种理想的人机交互替代手段。介绍了一种用于无人机飞行控制的手势识别系统。介绍了一种将4维时空数据转换为2维矩阵和1维数组来表示动态手势序列的数据表示模型。为了训练系统识别设计的手势,从Leap Motion控制器收集的骨架数据被转换成两种不同的数据模型。为了训练和测试所提出的三种深度学习神经网络,分别建立了多达9124个训练数据集样本和1938个测试数据集样本。这三种深度学习神经网络分别是2层全连接神经网络、5层全连接神经网络和8层卷积神经网络。静态测试结果表明,两层全连通神经网络的平均精度为缩放数据集的96.7%和非缩放数据集的12.3%。5层全连通神经网络的平均精度为缩放数据集的98.0%和非缩放数据的89.1%。8层卷积神经网络的平均准确率达到了缩放数据集的89.6%和非缩放数据集的96.9%。在无人机模拟器和真实无人机上的测试表明,该系统对无人机飞行控制是可行的。
关键词:深度学习,神经网络,手势识别,Leap Motion控制器,无人机。
1.介绍
手势识别的研究越来越受到世界各国研究者的重视。除了在日常生活中的普通应用外,手势识别也开始进入虚拟现实、医疗系统、教育、通信系统、游戏、移动设备、汽车等领域。
手势识别技术主要有三种:基于数据手套的手势识别技术、基于视觉的手势识别技术和基于雷达的手势识别技术。数据手套是一种交互式设备,类似于戴在手上的手套,它有助于在机器人和虚拟现实中实现触觉感知和精细运动控制。[4]传感器的输出可用于控制视频游戏、演示、音乐和视觉娱乐。基于手套的方法不方便,因为手套携带起来很笨重。使用数据手套的一个优点是它不需要从背景中提取人类的手势。然而,由于其高成本和校准要求,数据手套没有像基于视觉的手势识别系统那样广泛的应用。
基于雷达的方法是一种向目标发射无线电波,然后雷达的接收器拦截目标的反射能量的技术。雷达波从你的手上反射回接收器,允许它解释你的手的形状或运动的变化。这项技术仍在研究中。最有希望的一个是谷歌Soli,它得到了美国的批准政府将于2019年1月成立。另一方面,基于视觉的方法正在获得动力,因为用户不需要携带设备,但可以以更自然的方式执行手势。早期的研究广泛使用彩色摄像机开发手势识别系统,而今天的识别系统,如Microsoft Kinect、Leap Motion控制器和Intel RealSense,通常使用深度图像作为一种模式。Leap Motion控制器是一个小型的USB驱动设备,它使用两个单色红外摄像机和三个红外led灯来跟踪手和手指在大约1米的半球形3D空间中做出的动作和运动。Leap Motion控制器一直是手势识别中使用最广泛的摄像机之一,因为它允许用户像在现实生活中一样自由地行动。它的低成本和深度传感器可以在任何环境光线下实时捕获视频并输出骨骼数据。此外,对于Leap Motion控制器来说,手势可以是任何简单的手部运动,也可以是复杂的形状,这是本研究的一个明显选择。
手势可以定义为静态姿势,也可以定义为动态姿势。在本文中,我们只考虑动态手势。
静态手势识别的研究多集中在以神经网络为中心的方法上。对于动态手势的识别,最常用的方法之一是用时空序列表示手势。由于Starner和Pentland开始使用隐马尔可夫模型(HMM)来识别手势,HMM已经成为手势识别的一种常用方法。其他方法,如隐藏条件随机场、自回归模型、模糊逻辑、卡尔曼滤波、支持向量机和递归神经网络等也在一些研究中得到应用。
深度学习模型作为机器学习的一个分支,由于其强大的学习能力和分类能力,迅速引起了研究界和工业界的兴趣。研究领域涉及语音识别、计算机视觉、自然语言处理等。应用这种技术。近年来,卷积神经网络(convolutional neural network, CNN)作为最重要的神经网络之一,在手势识别领域取得了最好的性能。
这篇论文是会议论文的延伸。尝试将深度学习方法应用于动态手势识别中。本研究的工程目标是无人飞行器的控制。介绍了一种将4维时空数据转换为2维矩阵和1维数组来表示动态手势序列的数据模型。为了找到性能最好的卷积神经网络,我们设计了两个全连通神经网络和一个卷积神经网络。我们创建了两个用于神经网络训练和测试的数据模型。实现了基于深度学习神经网络的软件系统。据我们了解,这是在基于手势识别的深度学习网络中首次报道使用Leap运动控制器作为输入设备的工作。
论文的其余部分组织如下:第2节介绍了深度学习的基本概念。第3节概述了手势识别系统、跳跃运动控制器和无人机。第四部分介绍了系统中使用的手势和数据集。第五部分介绍了系统的核心——深度学习网络。第6节讨论了神经网络训练和测试结果。第七部分总结全文,并提出今后的工作建议。
2.深度学习基础
机器学习是人工智能的一个分支。它包括识别算法和实现系统的方法,通过这些方法,计算机可以根据给出的输入示例进行学习。该系统根据学习数据生成一个通用模型,以便预测新数据集的结果。机器学习算法已经在人脸识别、手势识别、图像识别等多个领域得到了成功的应用。
2.1人工神经网络ANN
人工神经网络的想法来自于人类大脑的工作方式。研究人员执行特定的任务,如分类、模式识别、聚类等。在电脑上模拟人脑的工作过程。神经网络是建立在节点连接的基础上的。,人工神经元,如图所示。1.每个神经元有一个或多个传入连接,其任务是收集来自其他神经元的数字信号;每个连接都有一个适用于在连接上“传播”的每个信号的权值。每个神经元都有一个或多个输出连接,将信号传递给其他神经元。激活函数用于计算输出信号的值。它从与其他神经元的输入连接中接收信号。通过将激活函数应用于输入加权和来计算输出信号。这些函数在-1和1之间或0和1之间动态变化。
有三种被广泛使用的激活函数,它们的复杂度和输出值各不相同:
1)阶跃函数:对于一个固定的阈值x,如果数学输入高于或低于阈值,则函数分别返回0或1。
2)线性组合:从默认值中减去输入值的加权和。
3) Sigmoid:生成一条Sigmoid曲线。
2.2深度学习
传统的神经网络由两层组成,不适合大规模的网络计算。因此,研究人员设计了一个3层以上的神经网络结构。在输入层和输出层之间的层称为“隐藏层”。这些是深度学习神经网络。深度学习是基于特定类型学习机制的机器学习研究领域。这个学习概念的灵感来自于大脑处理信息、学习和对外界刺激的反应。深度学习神经网络算法通过对原始输入数据进行隐层非线性变换来预测输出。
在深度学习神经网络中,每个神经元在每个隐层的输入值由前一层根据权值、偏置和激活函数进行非线性变换。当数据经过输入层和每个隐层时,数据变得越来越复杂和抽象。因此,深度学习神经网络可以解决比简单神经网络更复杂的问题,因为它有多个非线性变换层。
2.3学习基础
版权转让表格须于论文被接纳后填妥及签署。神经网络的学习过程是迭代地优化权值。深度学习算法根据训练集的一组标记示例修改权值,以获得最优的网络性能。
目标是最小化损失函数,该函数表示网络行为偏离期望的程度。然后,在一个由训练集以外的对象组成的测试集上对网络的性能进行了验证。
反向传播算法:
以下是反向传播算法训练过程的基本步骤:
1)用随机权值初始化网络。
2)前向传递:计算网络期望输出与实际输出的差值。
3)反向传递:调整当前层的权值,使误差函数最小,从输出层开始,到输入层。
重量优化:
权值优化过程采用梯度下降法(GD)对权值进行优化,GD进行以下步骤:
1)随机初始化模型参数值。
2)根据模型各参数计算误差函数的梯度G。
3)改变模型的参数,使其朝着减小误差的方向移动。
4)重复步骤2)和3)直到G的值接近于0。
2.4神经网络架构
神经网络有各种不同的体系结构。它们之间的区别在于层的数量、每层神经元的数量以及每层节点的连接方式。本节仅介绍本文中使用的两种体系结构。
多层网络:在多层网络中,输入层和输出层定义了输入和输出,而隐藏层的复杂性实现了网络的不同行为。图2展示了多层网络架构:
卷积神经网络:卷积神经网络(CNN)是专门为图像识别而设计的。卷积神经网络由一个输入层、多个隐层和一个输出层组成。通常,CNN的隐含层由卷积层、池化层和全连接层组成。
在CNN模型中,每个输入图像都经过一系列的卷积层处理,首先是过滤器和池。然后经过处理的图像通过完全连接的层。最后,输出层使用Softmax函数对概率值在0到1之间的对象进行分类。图3展示了一个示例CNN网络结构。
3.系统概述
我们的系统中包含三个子系统:手势输入组件,深度学习神经网络组合组件和无人机控制组件,如图4。
由用户生成的动态手势被处理并用作控制无人机的命令运动。跳跃运动控制器对手势信息进行跟踪和识别,然后将骨架数据传递给数据预处理模块,数据预处理模块对跳跃运动骨架数据进行特征选择和特征缩放,然后合成特征向量。将特征向量送入深度学习神经网络模块。识别姿态,并将预测结果传递到无人机控制模块。最后,在MavLink协议中,无人机控制模块提取运动指令的预测,并通过WiFi控制无人机的行为。
3.1手势输入
从图5可以看出,该组件由两个模块:Leap Motion控制器和数据预处理模块。
手势输入组件负责接收具有Leap Motion控制器提供的换能器功能的手势。将以帧形式获取的骨架数据转化为二维特征向量,并将其传递给深度学习神经网络子系统。
Leap Motion控制器提供离散的位置和运动。它使用2个光学传感器和3个红外线。Leap Motion控制器传递的信息是它以帧的形式看到的手骨架模型。骨架模型由对象(如手指或工具)相对于Leap Motion控制器原点的位置组成。
Leap Motion控制器在跟踪手和手指时提供一组数据帧。在面向对象编程术语中,帧是在leap motion视场中包含关于手、手指和工具的所有跟踪信息的对象,因此需要对后验数据进行处理,为算法提供合适的特征向量。
3.2无人机
该无人机控制组件负责提供深层认可的课程将网络学习成可修改无人机的命令行为。图6提供了发挥作用的元素的总体方案。这个有两个模块组件:无人机管理模块和命令转换模块。
无人机管理模块是对无人机状态进行管理。它负责与Mavros节点建立通信,检查无人机状态,向Mavros请求服务,并将识别到的命令转换为可理解的无人机运动命令。
4.手势和数据集
4.1手势
在这项研究中,我们定义了10种动态手势无人机运动控制,在表1中列出。每个手势的名称都暗示了控制目标。
4.2原始数据
我们从Leap Motion中提取的每一帧原始数据包括:
x1:手的俯仰角
x2:偏航手角
x3:手侧倾角
x4:掌心的X坐标
x5:手掌中心的Y坐标
x6:手掌中心的Z坐标
x7:手抓力
x8:拇指尖偏航角
x9:中指的偏航角
x10:拇指尖的X坐标
x11:拇指尖的Y坐标
x12:拇指尖的Z坐标
x13:中指的X坐标
x14:中指的Y坐标
x15:中指的Z坐标
在这项研究中,一个动态手势由45跟踪手势信息的帧。 因此,对于每个手势,我们系统的输入数据是45times;15矩阵。
4.3功能扩展
当数据的独立特征距离较远时,特征尺度变换是提高学习和识别精度的一种常用方法。可以通过以下简单的归一化来实现:
现在我们有两个数据模型:原始数据和缩放数据。将这两个模型的数据集分别输入到深度学习网络中,验证其性能。
5.深度学习性能
在这项研究中,我们设计,训练和测试了三种不同的神经网络,以便找到性能最佳的神经网络,如图7所示。它们是2层全连接网络,5层全连接网络和 8层卷积网络。 图8-10说明了三种类型的网络的体系结构。
表2-4中描述了这三个网络的高级设计。
如表4所示,在8层CNN模型中有三个卷积层。第一卷积层的大小为6times;6,深度为6个滤镜。它使用的跨度为1。输入45times;15元素时,第一卷积层的输出大小将为45times;15times;6元素。第一池化层的步幅值为2,因此第一池化层的最终输出大小为23times;8times;6个元素。
在三个卷积层之后是第一个完全连接的层,该层包含200个神经元,并从上一层接收2times;1times;24个元素。最后是ReLU和Dropout层。最后,第一个完全连接层的输出将馈送到输出层,该输出层为每个类别分配一个概率。输出层从第一完全连接层接收200个元素的输出,并包含10个神经元。该层将为每个手势类分配一个概率。
6.训练,测试和结果
实验是在以下软件环境中进行的:macOS High Sierra,Python 2.6,Tensorflow 1.3.0,Dronekit 3.0和Leapmotion SDK:2.6.5。要分别检查原始数据模型和规范化数据模型,需要两个训练数据集, 创建了两个评估数据集和两个测试数据集。 两个训练数据集中的每个数据集总共包含9124个手势。 两个测试数据集中的每个数据集总共包含1938个手势。 蒙茅斯大学的七名研究生参加了这
剩余内容已隐藏,支付完成后下载完整资料
资料编号:[239781],资料为PDF文档或Word文档,PDF文档可免费转换为Word
以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。