Binocular Hand Tracking and Pose Estimation
Stereo baserat handfuml;oljning och pose estimering
Javier Romero Gonzacute;alez-Nicolacute;as
Advisor: Danica Kragic
Examinator: Jan-Olof Eklundh
February 19, 2007
Abstract
Hand gestures are important in human communication. It is difficult to transmit visual or spatial concepts only with oral communication (communi-cation human to human) or by regular user interfaces(communication human to machine): keyboard, mouse, etc. The systems of hand gestures recogni-tion are nowadays mainly oriented to the recognition of predefined sets of gestures. This is useful for applications like virtual mouses guided by the fingertips, sign language recognition, etc. In the context of Programming by Demonstration, these sets of predefined gestures are not enough, since a system should be able to learn any kind of ”regular” gesture.
The goal of this thesis is to recover the hand pose from a stereo vision system. Two main problems are faced in this thesis: what features should we extract from the vision system and how can we extract from these features the hand configuration. The feature used in this thesis is the location in 3D of fingertips, and this information is translated into the hand pose configuration by a closed form inverse kinematics solution.
Contents
1 Introduction |
1 |
- Reasons for estimating the hand pose . . . . . . . . . . . . . . 1
1.2 |
Focus of the Thesis . . . . . . . . . . . . . . . . . . . . . . . . |
3 |
|
2 |
Problem Formulation and Motivation |
5 |
|
3 |
Related work |
9 |
|
4 |
Modelling |
19 |
|
4.1 |
Hand Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . |
19 |
|
4.2 |
Hand Model for simple matching . . . . . . . . . . . . . . . . |
23 |
|
4.3 |
Skin color Model . . . . . . . . . . . . . . . . . . . . . . . . . |
24 |
|
4.4 |
Vision Model . . . . . . . . . . . . . . . . . . . . . . . . . . . |
25 |
|
5 |
System implementation |
31 |
- System Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
5.2 |
Hand Detector . . . . . . . . . . . . . . . . . . . . . . . . . . |
33 |
5.3 |
Fingertip Detector . . . . . . . . . . . . . . . . . . . . . . . . |
34 |
5.4 |
3D Reconstruction . . . . . . . . . . . . . . . . . . . . . . . . |
35 |
6 Evaluation |
43 |
- Depth estimator . . . . . . . . . . . . . . . . . . . . . . . . . . 43
7 Conclusions |
80 |
Chapter 1
Introduction
The goal of this thesis is to recover the hand pose from a stereo vision system. The possibility of extracting higher level information, as hand gestures, is also studied here. The main question this introduction is trying to answer is why we need a visual hand pose estimator. At the end of the chapter, the main segments the thesis is focusing on will be explained briefly.
- Reasons for estimating the hand pose
Hand gestures play an important role within human communication. The oral communication is normally reinforced by them, in order to express feel-ings or emphasize sentences. Actually, hand gestures would transmit easily concepts related with visual or spatial concepts which are difficult to explain only by words. Finally, hand gestures are the main communication channel for deaf people. According to this, we can enumerate three main reasons for extracting hand pose:
- Sign Language Recognition
- Gesture based instructions and human-robot interaction
- Programming by demonstration
The first application is well known, and many systems has been built to solve it. Sign Language is basically based on a set of hand poses that are directly translated into letters. Since this set is fixed, a hand pose estimator can be programmed ”from the factory” to recognize this poses and output the correspondent letters.
1
Both second and third applications goal is to improve the user interface, either for giving instructions and commands (the second one) or for teaching actions (the third one).
User interfaces, as we already know them (mouse, keyboard, touchscreen, buttons) are not suitable for controlling complex devices such as robots, for example. The tasks involving three dimensional actions needs very complex user interfaces, both in the real world ( a plane) and in virtual ones ( a CAD tool, 3D video games).
In the second application, the system should associate a hand pose in the input with an action in the set of actions it was programmed for. Sign Language Recognition can be seen as a subproblem of this application, since the robot would have a ”pronounce” action, and it can be programmed to pronounce a letter when the sign language pose is performed. But it would be programmed for picking a glass when a specific gesture is done. Basically, hand gestures are the substitutes of buttons in this kind of applications.
Finally, the third application works in a different way. Instead of having a preprogrammed set of available actions in the robot, the actions can be taught to the robot by showing it ho
剩余内容已隐藏,支付完成后下载完整资料
Binocular Hand Tracking and Pose Estimation
Stereo baserat handfuml;oljning och pose estimering
Javier Romero Gonzacute;alez-Nicolacute;as
Advisor: Danica Kragic
Examinator: Jan-Olof Eklundh
February 19, 2007
摘要
手势在人类交流中很重要。仅通过口头交流(人与人之间的交流)或常规用户界面(人与机器之间的交流):键盘、鼠标等来传递视觉或空间概念是困难的。手势识别系统目前主要面向预定义手势集的识别。这对于由指尖引导的虚拟鼠标、手语识别等应用程序很有用。在演示式编程环境中,这些预定义的手势集是不够的,因为系统应该能够学习任何类型的“常规”手势。
本文的目标是从立体视觉系统中恢复手的姿态。本文主要面临两个问题:从视觉系统中提取哪些特征以及如何从这些特征中提取手部形态。本文所使用的特征是指尖在三维空间的位置,并通过一个封闭形式的逆运动学解将此信息转化为手的姿态配置。
引言1
1.1估计手部姿势的原因 1
1.2论文重点 3
2问题的提出和动机 5
3相关工作 9
4建模 19
4.1手模型 19
4.2简单匹配的手模型。 23
4.3肤色模型 24
4.4视觉模型 25
5系统实施 31
5.1系统设置 31
5.2手动探测器 33
5.3指尖探测器 34
5.4三维重建 35
6评价 43
6.1深度估计器 43
7结论 80
第一章
介绍
本文的目标是从立体视觉系统中恢复手的姿态。本文还研究了提取高级信息(如手势)的可能性。这篇导言试图回答的主要问题是为什么我们需要一个视觉的手姿势估计器。在本章的最后,对论文所关注的主要环节进行了简要的说明。
1.1估计手部姿势的原因
手势在人类交流中起着重要的作用。口语交际通常由他们加强,以表达感情或强调句子。实际上,手势很容易传递与视觉或空间概念相关的概念,而这些概念很难只用语言来解释。最后,手势是聋人的主要交流渠道。据此,我们可以列举出提取手部姿势的三个主要原因:
bull;手语识别
bull;基于手势的指令和人机交互
bull;演示编程
第一个应用程序是众所周知的,并且已经构建了许多系统来解决它。手语基本上是基于一组直接翻译成字母的手势。由于这一组是固定的,一个手姿态估计器可以编程“从工厂”来识别这个姿势并输出相应的字母。
第二个和第三个应用程序的目标都是改进用户界面,无论是用于发出指令和命令(第二个)还是用于教学操作(第三个)。
我们已经知道,用户界面(鼠标、键盘、触摸屏、按钮)不适合控制诸如机器人之类的复杂设备。涉及三维动作的任务需要非常复杂的用户界面,无论是在现实世界(一个平面)还是在虚拟世界(一个CAD工具,3D视频游戏)。
在第二个应用程序中,系统应将输入中的手姿势与为其编程的动作集中的动作相关联。手语识别可以看作是这个应用程序的一个子问题,因为机器人会有一个“发音”动作,而且它可以被编程成在执行手语姿势时发音一个字母。但它将被编程为在特定的手势完成时拿起一个玻璃杯。基本上,手势是这种应用程序中按钮的替代品。
最后,第三个应用程序以不同的方式工作。与其在机器人中有一组预先编程好的可用动作,不如通过向机器人展示人类是如何执行动作的,来教机器人这些动作。我们为什么要这样做?我们希望机器人完成一系列高层次的任务,具有不同层次的细节。普通用户(非程序员)也应该很容易使用该接口。gamepad是机器人最常用的接口之一,在可能的命令方面非常有限。触摸屏可以避免这种困难,但用户应该学会如何使用它,有时它会很困难(如果机器人在厨房,而你在餐厅呢?)。语言是一个很好的解决方案,但有些概念很难用语言来解释(形状、颜色、方向)。基于视觉的方法是系统的一个很好的输入,因为它是自然的、灵活的、易于使用的,并且可以与语音混合以获得更好的性能。这是一个本能的解决方案:在人类环境中,与执行人类任务的仿人机器人交流的最佳方式应该是人类方式(言语 手势)。
有一个问题还没有解决。为什么我们需要一个仿人机器人?
现在的人们似乎比一百年前忙得多(压力也更大)。当人们到家的时候,他们会花很多钱去打扫房子,做饭,或者只是摘报纸和啤酒。A、 研究人员很容易意识到这一点,因为人们问他们的第一个问题是:什么时候会有一个机器人来完成家庭任务?老年人是仿人机器人的另一个可能市场。他们通常需要帮助完成日常工作,如穿鞋或穿衣。因为我们的预期寿命在不断增加,年轻人越来越忙,谁来帮助老年人完成这项任务?这种推理对残疾人也是有效的。最后,把时间浪费在机器人能自动完成的任务上是不明智的,要么我们太忙要么不忙。
事实上,我们现在被许多种类的机器人所包围,这些机器人在几年前必须由人类完成任务。他们以极低的价格完成了几乎最理想的任务。那么,我们从仿人机器人那里能得到什么好处呢?由于房子是为人类设计的,任何一种非本地任务对于非人形机器人来说几乎是不可能的。如果我们想要一个机器人能够为人类完成一项简单的任务,比如制作三明治并把它带到餐厅,我们需要一个机器人,至少能够精确地操作物体(打开冰箱、打开面包包、吃奶酪等),并且具有良好的导航能力(避开障碍、适应新的情况等)。高度也是需要考虑的因素,因为房子里的物体最好放在人类可以操纵的地方。最后,仿人机器人在运动上能够完成人类能做的大部分事情。因此,这给了我们一种可能,最终将新的任务包括在它的时间表中。通过演示编程可以帮助我们以自然的方式为机器人配备这些任务。
1.2论文重点
按演示环境编程需要许多不同的组件:
bull;不同的输入估计器:语音识别、手部姿势估计器
bull;更高级别的动作识别
bull;人-机器人适应层
bull;初始任务规划器
bull;具有反馈输入的在线任务规划器
从这个列表中可以看出,这是一个硕士论文不可行的大问题。本硕士论文主要研究手部姿态估计问题。这个问题将分为两个主要层面:
bull;图像处理:基于颜色分割的双目手跟踪。该层主要基于[6,8,7,9,10]中提出的系统。
bull;手部姿势提取:将手部模型与从图像中提取的特征相匹配。手部模型的建立有助于从系统的特定特征中恢复手部姿势。
第二章
问题表述和动机
由于通常的编程语言对普通用户来说是不可行的,通过演示来教机器人如何实现某些目标成为了最好的方法。演示式手动动作教学需要准确地估计手的姿势,以便识别教师在做什么,并准确地学习如何执行动作。在这种背景下,手姿态估计器成为示教框架中的一个关键组成部分。
如果我们考虑到用恶魔层来教手势的整个问题,我们会发现这根本不是一个小问题。为了介绍这些问题,我们在下图中给出了系统的一个简单模型。
这些数字显示:
1.记录输入数据信息的输入设备,通常是一台或两台摄像机
2.从信息中提取特征的模块。通常,这些特征是从由手识别模块确定的特定区域提取的。手部姿态的预测对于提高特征提取率具有重要意义。
3.一个模块,通过复逆函数fminus;1(y)执行从特征f(hp)到手部姿势hp的逆映射
4.预测下一步手部姿势的跟踪器。
- 从特征或手的姿势或两者中识别动作的模块。
图2.1:手部姿势提取系统模块图
6.提供闭环信息以改进任务分配的传感器。
7.最后,将人类关节角度映射到机器人关节角度的模块,考虑到两者之间的差异,即人类和反馈传感器正在执行的动作。
在对系统进行了这个小总结之后,我们可以更深入地了解每个模块向我们呈现的问题。
第一步是识别什么是手,以便将我们的注意力集中在摄像机提供的图像/图像的这一部分。考虑到特定人的手,它是一个非刚性,高度变形,无纹理的物体。如果我们还想识别不同人的手,我们必须考虑到手的不同部分的颜色、大小和长度完全不是恒定的。当我们采取
考虑到环境的变化:光照变化、物体遮挡等。所有这些原因都将手的识别转化为困难问题。
当手的识别过程完成后,我们需要一些类似于图像中的“面具”的东西,说出什么是手,什么不是。有些方法直接利用手部图像来提取手部姿态。该方法利用已知手部参数的训练图像来比较新样本和以前的样本。这可以通过数据库直接完成,也可以通过一些非线性学习方法(如人工神经网络)间接完成。然而,所需训练样本的数量随着输入的变化而增加。由于手的图像在许多方面(颜色、形状、大小、视点等)都会有所不同,因此需要更简单的表示。通常需要提取一些特征,以获得手的低维表示。由于某些特征对某些方法有利,而对其他方法不利,因此在选择提取特征的同时,还应选择从中提取手部姿态的方法。
我们要特别注意的一个特点是三维信息。手部动作有一个内在的3D行为:如果你想向机器人解释如何进入你的房间,那么在2D场景中,笔直向前的手势(将手向深度方向移动)将太复杂而无法识别。只有当我们将手的形状限制为常数,禁止不同的手的形状时,才能从二维场景中提取手的姿势。由于这些原因,在这种设备中获取3D信息是非常理想的。这个选项的缺点是场景的三维重建一点都不容易,因此我们必须开发一个系统,能够匹配两幅图像中要提取的点,并在给定相机参数的情况下执行三角剖分。由于相机不是完美的设备(不对齐、失真、不确定性),并且匹配点有时几乎不可能找到(一个相机中的视点外的点、遮挡等),因此这是一个非常重要的问题。
特征提取应该返回手的表示(2D或3D),这使得反向映射更容易(从特征中提取手的姿势)。由于手的高维表示(手的姿态由10到30个自由度表示),逆映射是一个复杂的求解任务。在这一步中通常会进行一些优化和迭代,这使得逆映射成为计算上最昂贵的任务之一。
在提取出手的姿势之后,在将手的姿势映射到机器人手之前,还有很多工作要做。相反,我们需要直接将从人手提取的关节角度映射到机器人,我们还需要解决一些问题:手指之间的碰撞、关节范围限制、如果自由度不同,我们应该映射哪些关节角度。实际上,我们通常需要一个比直接映射更好的映射,因为机器人的手和人类的手是不同的。在这种情况下,需要进行一些调整。在操纵物体的情况下,从人到机器人的这种适应肯定应该与一些闭环的观察和适应相结合;手的姿势稍有误差就意味着不安全的抓握,没有压力或扭矩传感器是无法改善的。
在前面提到的“适应”阶段,有时需要从更高层次的抽象中获取信息。机器人需要知道某个动作的目标是什么。例如,在掌握过程中,有两个不同的步骤,目标非常不同:接近和掌握。在近似过程中,主要的目标是将手放在一个适合抓取的姿势中靠近物体。在抓取过程中,有一些硬约束(物体不应落下)和目标(移动、旋转等)。为了更好地完成动作,应该考虑到这些不同的目标:在接近的时候,手的姿势没有抓握那么重要。如果我们认识到所执行的操作和要遵循的步骤,就可以调整映射。因此,在这样的系统中需要动作识别模块。动作识别输入可以是图像特征、手部姿势或两者。对于某些动作,从图像特征(观察指尖,我们可以很容易地识别指尖手势)中重新识别动作可能更容易,但对于其他任务,则需要整个手部姿势来识别动作。
第三章
相关工作
人机交互一直是一个活跃的研究领域。我们今天用来与计算机(主要是键盘和鼠标)通信的设备已经使用了几十年,没有发生重大变化,它们可能正在成为新技术的瓶颈,i、 e.三维虚拟环境。改善人机界面的第一种方法是自动语音识别。然而,正如我们之前所讨论的,当我们想要使用空间或视觉概念时,言语可能会不够好。
能够提取手势的设备非常复杂,计算它们提供的数据在计算方面将非常昂贵。这意味着对手势提取的研究是相对现代的。在80年代后期,基于手势的新方法在研究界广受欢迎。有关90年代早期可用系统的概述,请参见[66]。研究了三种系统:光跟踪、磁跟踪和声跟踪。本文以光跟踪为基础,简要介绍了磁跟踪和声跟踪。光学跟踪有两种变体:基于红外LE
剩余内容已隐藏,支付完成后下载完整资料
资料编号:[409865],资料为PDF文档或Word文档,PDF文档可免费转换为Word
以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。