用于用户界面的无触摸输入.pdf

上传人:a1 文档编号:21426 上传时间:2018-01-12 格式:PDF 页数:25 大小:1.53MB
返回 下载 相关 举报
摘要
申请专利号:

CN201380053178.6

申请日:

2013.10.11

公开号:

CN104838337A

公开日:

2015.08.12

当前法律状态:

实审

有效性:

审中

法律详情:

实质审查的生效IPC(主分类):G06F 3/01申请日:20131011|||公开

IPC分类号:

G06F3/01; G06F3/00; G06F3/03; G06K9/00; H04N13/02

主分类号:

G06F3/01

申请人:

微软技术许可有限责任公司

发明人:

G.赫德

地址:

美国华盛顿州

优先权:

13/651187 2012.10.12 US

专利代理机构:

中国专利代理(香港)有限公司72001

代理人:

李舒; 景军平

PDF下载: PDF下载
内容摘要

一系列深度图反映场景。每个深度图包括多个像素,其中每个像素规定由该像素反映的表面的深度。在该系列深度图内具有最浅深度的一组非静态像素被标识。这组非静态像素的位置被映射到光标位置。

权利要求书

1.  一种接收用户输入的方法,该方法包括:
接收反映场景的一系列深度图,每个深度图包括多个像素,多个像素的每个像素规定由该像素反映的表面的深度;
标识在该系列深度图内具有最浅深度的一组非静态像素;以及
把该组非静态像素的位置映射到光标位置。

2.
  权利要求1的方法,其中标识该组非静态像素包括:标识对于该系列深度图内的阈值数目的连续深度图保持最浅深度的一组非静态像素。

3.
  权利要求1的方法,其中标识该组非静态像素包括:规定在来自该系列深度图的不同深度图中的对应像素之间的深度差;
对于每个像素:
如果对于该像素的差低于阈值,则标识该像素为静态像素;或
如果对于该像素的差处于或高于阈值,则标识该像素为非静态像素。

4.
  权利要求1的方法,其中该组非静态像素的位置按照映射函数被映射到光标位置,该映射函数具有作为该组非静态像素的深度的函数而改变的比例尺。

5.
  权利要求1的方法,其中由该组非静态像素所反映的表面是最接近在光标位置处显示光标的显示设备的手指,以及其中把该组非静态像素的位置映射到光标位置包括:使光标位置偏移离开手指的自然空间位置。

6.
  权利要求1的方法,还包括在该系列深度图中的连续多个深度图中跟踪该组非静态像素,以及从在该连续多个深度图中的该组非静态像素的一个或多个参数中识别光标操作。

7.
  权利要求1的方法,其中所述一个或多个参数包括该组非静态像素的三维路径。

8.
  一种计算设备,包括:
逻辑子系统,被配置成执行指令;以及
存储子系统,包括被存储在其上的指令,指令可由逻辑子系统执行以:
从深度相机接收一系列深度图,其反映包括人类主体的场景,每个深度图包括多个像素,多个像素的每个像素规定由该像素反映的表面的深度;
  用包括虚拟手关节的虚拟骨骼对人类主体建模;
  把虚拟手关节的位置映射到该系列深度图中的一个或多个深度图的对应的部分,所述一个或多个深度图的所述对应的部分反映由虚拟手关节建模的人类主体的手;
  根据一个或多个深度图的对应的部分的深度图信息对一个或多个手指建模;以及
  解译由所述一个或多个手指执行的手指手势。

9.
  权利要求8的设备,其中指令还可执行来:
使基本上线性的轮廓拟合于对应所述一个或多个手指的像素;以及
从该线性的轮廓计算手指角度。

10.
  权利要求8的设备,其中所述指令还可执行来对人类主体的一个或多个指纹建模。

说明书

用于用户界面的无触摸输入
背景技术
基于手指的触摸输入技术允许用户直接与由触摸屏显示的用户界面对象交互。然而,有效地实施这样的触摸输入技术提出了几个挑战。例如,手指可能在视觉上遮蔽用户界面的一些方面。作为另一个例子,指垫(finger pad)是相对较大的表面,可能很难使这个表面转化为单个点。
发明内容
本概要被提供来以简化的形式介绍概念的选择,这些概念还将在下面的详细说明中进一步描述。本概要既不打算确认所要求保护的主题的关键特征或必要特征,也不打算被使用来限制所要求保护的主题的范围。而且,所要求保护的主题不限于解决在本公开内容的任何部分中指出的任何或全部缺点的实现。
一系列深度图反映(image)某个场景。每个深度图包括多个像素,在其中每个像素规定由该像素反映的表面的深度。在该系列的深度图内,具有最浅深度的一组非静态像素被标识。这组非静态像素的位置被映射到光标位置。
附图说明
图1A和1B 显示按照本公开内容的实施例的、反映人类主体(human subject)的一部分的示例性无触摸输入系统。
图2 示意地显示按照本公开内容的实施例的、骨骼跟踪流水线(pipeline)的非限制性例子。
图3显示按照本公开内容的实施例的、接收无触摸输入的方法。
图4示意地显示按照本公开内容的实施例的、深度图的视觉表示。
图5显示按照本公开内容的实施例的、各种光标映射策略。
图6示意地显示按照本公开内容的实施例的、深度图的另一种视觉表示。
图7示意地显示按照本公开内容的实施例的、深度图的再一种视觉表示。
图8A和8B显示按照本公开内容的实施例的各种光标映射策略。
图9显示按照本公开内容的实施例的、接收无触摸输入的另一种方法。
图10显示按照本公开内容的实施例的对手指建模的方法。
图11显示按照本公开内容的实施例的、接收无触摸输入的另一种方法。
图12显示按照本公开内容的实施例的计算设备。
具体实施方式
本公开内容针对在视觉上检测无触摸输入。正如下面更详细地描述的,包括深度相机和/或其它源的跟踪系统被使用来接收反映包括一个或多个人类主体的场景的一个或多个深度图。在所述一个或多个深度图上的像素被分析,以便标识具有最浅深度的非静态像素。然后,(一个或多个)非静态像素的位置被映射成光标位置。这样,尖的(pointed)手指的位置可被使用来控制显示设备上的光标位置。无触摸输入还可以被接收和解译,以便控制光标操作和多触摸手势。
图1A和1B 显示无触摸输入系统100的非限制性例子。特别地,图1A和1B 显示可被使用来接收来自用户104的无触摸输入的计算设备102。正如这里使用的,“无触摸输入”是不需要物理地接触屏幕的输入(例如,手指指向(pointing))。
计算设备102包括集成的显示屏幕106,它可被使用来呈现对应于由计算设备提供的计算功能性的画面(visual)。在其它实施例中,显示屏幕可以是计算设备的外围装置。计算设备可以以各种方式被配置成几乎提供任何计算功能性,而不背离本公开内容的范围。而且,虽然计算设备102以平板计算设备的形式被图示,但应当理解,无触摸输入可以在几乎任何类型的计算设备上被实施,无论形式如何。
在某些实施例中,无触摸输入可以被跟踪系统108接收。在所图示的例子中,跟踪系统108包括深度相机110和可见光相机112。跟踪系统108被显示为容纳在计算设备102内,然而在其它实施例中它可以作为外围设备在外部提供。跟踪系统108可被使用来在视觉上监视和/或跟踪用户104。
无触摸输入系统可被使用来识别、分析和/或跟踪一个或多个人类用户(例如,用户104)和/或物理对象(例如,输入指示笔)。图1A和1B显示其中跟踪系统108跟踪用户104的手的情景,这样使得由手作出的移动可以被计算设备102解译。具体地,用户104的运动被解译为可被使用来影响计算设备102的控制。
在图1A和1B上图示的示例性情景显示用户104导航显示屏幕106上所显示的图形用户界面(GUI 114)。具体地,图1A显示计算设备102经由跟踪系统108跟踪用户104在物理空间的位置。计算设备102把手指的物理空间位置映射成在GUI上光标116的位置。图1B显示:因为计算设备102不断跟踪手指位置,用户104可以通过移动手指而把光标116移向文件夹 118。
由用户104作出的其它移动可被解译为其它控制。作为非限制性例子,用户104可以实行多个光标操作,包括点击和拖动操作。而且,用户104可以实行与光标不相关的其它操作,包括多触摸手势,诸如缩放和平移(panning)。虽然GUI 114作为例子被提供,但应当理解,几乎任何GUI和/或计算设备的其它方面都可以用这里描述的无触摸输入来控制。不同于人类的对象也可被建模和/或跟踪。这样的对象可以独立于人类主体来被建模和/或跟踪。例如,握住指示笔的用户的运动和/或指示笔本身的运动都可以被跟踪。
图2图形地显示简化的跟踪流水线200,计算设备可以通过它接收无触摸输入。为了简化说明,流水线200参照图1A和1B的无触摸输入系统100进行描述。然而,流水线200可以在任何适当的计算设备上实施,而不背离本公开内容的范围。例如,流水线200可以在图12的计算设备1200上实施。而且,可以使用与流水线200不同的、用于接收无触摸输入的方法或流水线,而不背离本公开内容的范围。
在202,图2显示从跟踪系统108角度看的用户104。跟踪系统(诸如跟踪系统108)可包括被配置成观测诸如用户104那样的人类主体的一个或多个传感器。
在204,图2显示由跟踪系统(诸如跟踪系统108)所收集的观测数据的示意性表示206。所收集的观测数据的类型将取决于被包括在跟踪系统中的传感器的数目和类型而变化。在所图示的例子中,跟踪系统包括深度相机和可见光(例如,彩色)相机。
深度相机可以针对深度相机的每个像素来确定在所观测场景中的表面相对于深度相机的深度。图2示意地显示对于计算设备102的深度相机的DPixel[v,h]观测的三维x/y/z坐标208。对于深度相机的每个像素可以记录类似的三维x/y/z坐标。对于所有的像素的三维x/y/z坐标共同地构成深度图。三维x/y/z坐标可以以任何适当的方式被确定,而不背离本公开内容的范围。示例性深度寻找技术将参照图12更详细地讨论。
当被包括时,可见光相机可以针对可见光相机的每个像素,来确定对于一个或多个光通道(例如,红、绿、蓝、灰度等等)的所观测场景中的表面的相对光强度。图2示意地显示针对跟踪系统108的可见光相机的V-LPixel[v,h]的所观测的红色/绿色/蓝色颜色值210。对于可见光相机的每个像素可以记录类似的红色/绿色/蓝色颜色值。对于所有的像素的红色/绿色/蓝色颜色值共同地构成数字彩色图像。红色/绿色/蓝色颜色值可以以任何适当的方式来确定,而不背离本公开内容的范围。示例性彩色成像技术将参照图12更详细地讨论。
深度相机和可见光相机可以具有相同的分辨率,然而这不是必须的。不管这两个相机是具有相同的还是不同的分辨率,可见光相机的像素可与深度相机的像素对准(register)。这样,对于所观测的场景的每个部分,通过考虑来自可见光相机和深度相机的对准的像素(例如,V-LPixel[v,h]和DPixel[v,h]),可以确定彩色和深度信息。
收集的数据可以取几乎任何适当的(一个或多个)数据结构的形式,其包括(但不限于)一种或多种矩阵,矩阵包括对于由深度相机成像的每个像素的三维x/y/z坐标和/或对于由可见光相机成像的每个像素的红色/绿色/蓝色颜色值。虽然图2描绘了单个帧,但应当理解,人类主体可被连续地观测和建模(例如,每秒30帧)。因此,可以对每个这样观测的帧收集数据。可经由一个或多个应用编程接口(API)而使收集的数据可得到,和/或对收集的数据进一步分析,如在下面描述的。
跟踪系统和/或合作的计算设备任选地可以分析深度图以便把人类主体和/或其它要被跟踪的目标与在所观测的深度图中的非目标单元区分开。深度图的每个像素可被指派以主体索引(subject index) 214,主体索引将该像素标识为反映特定目标或非目标单元。作为例子,对应于第一主体的像素可被指派以等于1的主体索引,对应于第二主体的像素可被指派以等于2的主体索引,以及不对应于目标主体的像素可被指派以等于0的主体索引。这样的主体索引可以以任何适当的方式被确定、指派和保存,而不背离本公开内容的范围。
跟踪系统和/或合作的计算设备任选地还可以分析人类主体的深度图的像素,以便确定每个这样的像素可能反映该主体身体的什么部分。各种各样不同的身体部分指派技术可被使用来评价特定的像素可能反映人类主体身体的哪个部分。带有适当主体索引的深度图的每个像素可被指派以身体部分索引216。身体部分索引可包括离散的标识符、置信度值、和/或指示该像素可能反映的那个身体部分或者那些身体部分的身体部分概率分布。身体部分索引可以以任何适当的方式被确定、指派和保存,而不背离本公开内容的范围。
作为一个非限制性例子,机器学习可被使用来给每个像素指派身体部分索引和/或身体部分概率分布。机器学习方法使用从以前训练的一批已知姿态中学习的信息,来分析人类主体。换句话说,在受监督(supervise)的训练阶段期间,各种各样不同的人以各种各样不同的姿态被观测到,并且人类训练者在所观测的数据中提供对不同的机器学习分类器进行标注的基础真值注解(ground truth annotation)。所观测的数据和注解被使用来生成一个或多个机器学习算法,其把输入(例如,来自跟踪系统的观测数据)映射为想要的输出(例如,对于相关的像素的身体部分索引)。
在218,图2显示虚拟骨骼220的示意性表示,这个虚拟骨骼用作为用户104的机器可读表示。虚拟骨骼220包括二十个虚拟关节—{头部、肩部中心、脊柱、臀部中心、右肩、右肘、右腕、右手、左肩、左肘、左腕、左手、右臀部、右膝、右踝、右脚、左臀部、左膝、左踝、和左脚 }。这二十个关节的虚拟骨骼作为非限制性例子被提供。按照本公开内容的虚拟骨骼可以具有几乎任何数目的关节。具体地,如下所述,虚拟骨骼可包括一个或多个手指关节。
各个骨骼关节可以对应于人类主体的实际关节、人类主体身体部分的重心、人类主体的四肢的末端、和/或不具有与人类主体的直接解剖学联系的点。每个关节至少具有三个自由度(例如,自然空间(world space)x/y/z)。照这样,虚拟骨骼的每个关节用三维位置规定。例如,左肩虚拟关节222用x坐标位置223、y坐标位置224、和z坐标位置225规定。z坐标位置225可以编码左肩虚拟关节222的深度。可以相对于任何适当的原点来规定关节的位置。作为一个例子,跟踪系统可以用作为原点,并且所有的关节位置相对于跟踪系统被规定。关节可以以任何适当的方式用三维位置规定,而不背离本公开内容的范围。
可使用各种各样的技术来确定每个关节的三维位置。骨骼拟合(fit)技术可以使用深度信息、颜色信息、身体部分信息、和/或以前训练的解剖学和动力学信息来推断出(deduce)对人类主体接近地建模的一个或多个骨骼。作为一个非限制性例子,以上描述的身体部分索引可被使用来找出每个骨骼关节的三维位置。
关节位置和/或其它信息可以以任何适当的(一个或多个)数据结构来编码。而且,可以经由一个或多个API来使与任何特定的关节相关联的位置和/或其它参数可得到。
图3显示用于接收无触摸输入的方法300。方法300例如可以由无触摸输入系统100实行。在302,接收反映某个场景的一系列深度图。场景可包括一个或多个人类用户和/或物理对象。正如以上参照图2描述的,在该系列深度图中的每个深度图包括多个像素,每个像素规定由该像素反映的表面的深度。
在304,标识在该系列深度图内具有最浅深度的一组非静态像素。换句话说,方法300标识贯穿该系列深度图被相当大地改变的一个或多个像素,并且还标识最靠近参考物(诸如显示器或跟踪系统)的一个或多个非静态像素组。
图4示意地显示深度图400。深度图反映某个场景,在本例中该场景包括用户104的手。深度图包括多个像素,例如像素408。像素408反映用户104的食指的表面,并规定该表面的深度。图4还示意地显示针对像素408而被编码的三维x/y/z坐标410。虽然图4显示了单个深度图,但应当理解,深度图400可以是一系列深度图中的一个深度图。
在深度图中的非静态像素可以以许多方式规定,而不背离本公开内容的范围。在一个例子中,如果像素的深度(例如,在x/y/z 坐标中的z坐标位置)至少改变了某个阈值量(带有针对来自深度相机的噪声和/或其它误差估算的容差),则它被标识为非静态像素。例如,对于连续的深度图中的像素,深度差值可以通过从第一深度图的像素深度中减去第二深度图的同一个像素的深度而被规定。可以确立某个阈值,这样使得如果对于该像素的该差值低于阈值,则该像素被标识为静态像素。相反,如果对于该像素的该差值处于或高于阈值,则该像素被标识为非静态像素。这样,无触摸输入系统100可以标识对应于人类主体的移动部分或移动的对象(例如,输入指示笔)的非静态像素。
可以使用用于标识非静态像素的其它方法,而不背离本公开内容的范围。例如,在某些实施例中,也可以评估颜色值来确定颜色改变大于阈值量的像素。
无触摸输入系统100还可标识在该系列深度图中具有最浅深度的一组非静态像素。换句话说,离显示器或某个其它参考物最近的非静态像素可被标识。无触摸输入系统100可以首先标识非静态像素,并随后标识具有最浅深度的那些像素。替换地,系统可以首先标识具有最浅深度的像素,并随后标识非静态的那些像素。
非静态像素可以基于许多准则被标识为具有最浅的深度。在一个例子中,假设不存在共享同一个最浅深度的两个或更多个非静态像素,则在该系列深度图中具有最浅深度的非静态像素被标识。在这种情形下,该组非静态像素包括一单个像素。替换地,一个或多个非静态像素可被标识为一组具有最浅深度的非静态像素。在本例中,具有最小深度的像素(即,离显示器或其它参考物最近的像素)被标识,并且基于它的深度来确立阈值。具有在这个深度的阈值内的深度的邻接非静态像素也可以被指派到具有最浅深度的非静态像素的组。在再一个实施例中,具有最浅深度的像素被标识,并且一个或多个相邻的像素可被加到具有最浅深度的非静态像素的组。在本例中,非静态像素的组包括多个邻接的像素。这样的情景在图4中图示出,其中像素408被标识为具有最浅深度。三个相邻的像素也被包括在具有最浅深度的非静态像素的组中,并且四个像素一起形成邻连的一组非静态像素 412。
在某些实施例中,反映特定的对象(例如,手指)的非静态像素的组可以贯穿连续的多个深度图来被跟踪。跟踪对象的特定像素可以一帧接一帧地改变,但可以利用试探法(heuristic)来确定在每个帧中哪组像素反映该对象。在某些实施例中,只有在反映对象的一组非静态像素在一系列深度图的阈值数量的连续深度图中保持最浅深度时,那些像素才将被标识为具有最浅深度的非静态像素的组。这样,可以避免由于噪声造成的不准确性。
可以贯穿一系列的深度图来连续地跟踪一组非静态像素,即使是在标识了新的一组具有最浅深度的非静态像素的情况下。这样,可跟踪和分析多于一个手指和/或其它对象(例如,用来解译多触摸手势)。
返回图3,在306,方法300包括把所标识的该组非静态像素的位置映射到光标位置。例如,方法300可以把用户的手指的物理空间位置映射到光标116的位置。这样,尖的手指的位置可被使用来控制显示设备上的光标位置。
在某些实施例中,具有最浅深度的单个非静态像素的位置被映射到光标位置。替换地,多个像素的位置的平均可被映射到光标位置。
在所图示的实施例中,假设用户的手指和手放置为相对接近跟踪系统。如果跟踪系统和显示设备一同被容纳在计算设备内,则由一组非静态像素所反映的表面是最接近在光标位置处显示光标的显示设备的手指。作为一个非限制性例子,如果显示设备是在用户附近,则手指可被认为是最接近显示设备的。
在其中用户的手指是最接近显示设备的某些策略中,光标可被映射到尽可能靠近实际手指位置的光标位置。
图5图示出这样的情景。随同光标502一起,用户104的手以虚线显示。然而,从用户的角度来看,光标502被遮蔽。
光标和其它用户界面单元的遮蔽可以通过将光标位置从手指处偏移开而得以缓和。图5显示偏移开的光标504,它的位置从用户104的手指的物理空间位置被偏移开。
一组非静态像素也可以反映并非最接近在光标位置处显示光标的显示设备的手指的表面。作为一个非限制性例子,如果显示设备不是在用户附近,则手指可能不被认为是最接近显示设备的。非最接近显示设备的表面可以由外部的外围跟踪系统成像,例如,如果跟踪系统没有被容纳在计算设备内,就可能是这种情形。
把一组非静态像素的位置映射到光标位置可以由映射函数控制。映射函数可包括比例尺(scale)属性,它控制如何把手指和/或输入设备的移动映射到光标位置。在手指被使用来提供输入的情形下,比例尺属性例如可以是灵敏度属性,其在手指在物理空间中各处移动时控制光标移动的速度。
映射函数的一个实施例由图6表示。深度图600被示意地显示,它反映包括第一只手602和第二只手604的场景。对应于反映第一只手602的非静态像素的深度210被使用来确立映射函数的比例尺。第一只手602相对最接近跟踪系统,因此映射函数的比例尺可因此被设置为高。高比例尺可以在手指在物理空间中各处移动时,使得光标以相对快的速度移动。相反,第二只手604比第一只手602离跟踪系统更远,它具有因此更大深度的相关联的非静态像素。这个非静态像素可以将比例尺设置为低,使得当手指在物理空间中各处移动时,光标以相对较慢的速度移动。在其它的实施例中,比例尺可被设置成使得离得较远的手指比离得相对较近的手指更快地移动光标。可使用一个或多个像素的深度来以线性或非线性函数设置比例尺。
图7图示出映射函数的比例尺如何基于一组非静态像素的大小被设置。在所图示的例子中,示意地显示反映第一只手602和第二只手604的深度图700。对应于第一只手602的非静态像素的组包括四个像素,而对应于第二只手604的非静态像素的组包括两个像素。映射函数因此可以具有这样的比例尺,即:其作为非静态像素组的大小的函数而改变。一组非静态像素的大小可以以几乎任何方式来确定,而不背离本公开内容的范围。作为一个非限制性例子,所述大小可以通过计算非静态像素的总数而被确定。替换地,大小可以通过拟合围绕该组非静态像素的周界的圆孔径(例如,孔径702和704)并且计算该圆孔径的直径而被确定。
在再一个实施例中,映射函数的比例尺可以基于用户手中的哪个手指被标识为对应于具有最浅深度的非静态像素的组而被确定。例如,无触摸输入系统100可以标识用户的两个或更多个手指,并且给每个手指设置不同的比例尺。这样,用户可以通过交替使用这些手指而动态地和容易地控制光标灵敏度和移动。
图8A和8B进一步图示出映射函数的比例尺可以如何改变,从而导致由用户控制的光标的灵敏度中的对应改变。在图8A,用户104把手放置在离计算设备102相对较远的地方。因此,映射函数的比例尺被设置为低,使得光标移动较慢和较精确。这个低比例尺由具有相对较小直径的孔径802表示。在图8B,用户104已把手移动到相对靠近计算设备102。因此,映射函数的比例尺被设置为高,使得光标移动较快。这个高比例尺由具有相对较大直径的孔径804表示。这样,用户可以在光标灵敏度的连续统(continuum)的各处无缝地过渡。虽然示例性改变比例(scaling)是作为例子被提供的,但应当理解,可以使用几乎任何改变比例的函数,而不背离本公开内容的范围。例如,可以使用导致光标在手指离得更远时移动得更快的改变比例的函数。
无触摸输入系统100可以控制除了光标位置和灵敏度以外的计算方面。通过如上所述的,贯穿连续的多个深度图来跟踪一组非静态像素,与所跟踪的像素组相关联的一个或多个参数(例如,深度)可被评估,并被映射成几乎任何光标操作。参数可包括所跟踪的像素组的三维路径(例如,x/y/z坐标)。光标操作可包括点击操作、双击操作、三击操作、选择操作、高亮操作、滚动操作、和拖动操作。然而,这些操作仅仅作为说明性例子被提供,并且其无论如何不打算是限制性的。几乎任何光标操作都可用这里描述的方法被解译和实行。
图9显示用于接收无触摸输入的方法900。方法900例如可以由无触摸输入系统100实行。在902,从深度相机接收一系列深度图,如以上参照图2描述的。该系列的深度图反映包括人类主体的场景。
在904,按照上述的实施例,特别是参照图2,人类主体用包括多个虚拟手指关节的虚拟骨骼建模。
在某些实施例中,虚拟手指关节可以用以前训练的机器学习算法建模。替换地,图10显示的方法1000可被利用来对虚拟手指关节建模。在1002,内部或外部地提供到计算设备的深度相机被使用来标识用户的手。手可以通过使用包括流水线200的任何适当方法来标识,而不背离本公开内容的范围。在1004,计算设备计算跟踪系统与两只被标识的手之间的深度,从而选择更近的手用于输入。在1006,计算设备标识所标识的手的每个指尖,并任选地,经由显示屏把所标识的手指的表示呈现给用户。在1008,计算设备接收来自用户的选择,其指示哪个手指要控制输入。在1010,计算设备在三维空间内跟踪手指,并解译它的移动作为手势。
手指也可以通过使基本上线性的轮廓(profile)拟合于对应于一个或多个手指的像素而被建模。换句话说,手指可以用杆状的几何形状近似。然后,可以基于拟合的线性轮廓来计算指尖与跟踪系统之间的手指角度。这样,手指的长度和指尖都可被准确地建模和跟踪。
在其中深度相机具有足够的分辨率的实施例中,人类主体的指纹可被标识,并匹配于用户。这样,用户可以被标识,并且光标控制或其它计算属性可被设置为与所标识用户相关联的偏好。
回到图9,在906,从一个或多个深度图建模的一个或多个虚拟手指关节的三维行为被解译为手指手势。三维行为的解译可包括评估一个或多个虚拟手指关节的x/y/z坐标。解译还可以包括贯穿连续的多个深度图来跟踪虚拟手指关节,如上所述的。
几乎任何手指或多触摸手势可被解译,而不背离本公开内容的范围。虽然“多触摸”在这里被使用来描述利用多于一个手指的手指手势, 但应当理解,本公开内容使得这样的手势能够以无触摸的方式来执行。这样的无触摸的多触摸手势的例子包括轻击(tap)手势、双轻击手势、按压手势、滚动手势、平移手势、轻拂(flick)手势、双手指轻击手势、双手指滚动手势、捏合(pinch)手势、展开(spread)手势、和旋转手势。然而,将会意识到,这些例子仅仅是说明性的,并且无论如何不打算用来限制。
手指手势还可以基于以前由人类主体作出的选择被解译。人类主体例如可以指令无触摸输入系统100忽略来自无名指和小指的输入,从而把手指手势的解译仅仅限于食指和中指。
图11显示用于接收无触摸输入的另一种方法1100。方法1100可以例如由无触摸输入系统100实行。在1102,从深度相机接收一系列深度图,正如上面参照图2描述的。
在1104,人类主体用包括虚拟手关节的虚拟骨骼建模,正如上面参照图3具体地描述的。
在1106,虚拟手关节的位置被映射到该系列深度图的一个或多个深度图的对应的部分。该对应的部分反映人类主体的手,手也可以通过虚拟手关节建模。
在1108,人类主体的一个或多个手指被建模。具体地,一旦反映手的深度图的那部分借助于虚拟骨骼的虚拟手关节被标识,深度图的那部分便可被分析以便更准确地对所反映的手和手指建模。可使用任何适当的技术来以这种方式给手和手指建模。作为非限制性例子,以前训练的机器学习算法可以以机器可读的形式给手建模,可以从其跟踪手指手势。作为另一个例子,可以使用图10的方法1000。
在1110,解译由一个或多个手指执行的手指手势。解译可以如上所述地实行。在某些实施例中,“手指手势”可以指由物理对象执行的手势,该物理对象由建模的手指中的一个或多个手指握住或以其它方式与该一个或多个手指相关联。照这样,如这里描述的解译手指手势可包括解译由建模的手指中的一个或多个手指握住或以其它方式与该一个或多个手指相关联的物理对象的手势。
方法1100可以在对手指建模的响应性方面给予提升,因为一旦虚拟手关节被标识,就不需要处理和分析不对应于虚拟手关节的深度图的其它部分。
应当理解,以上的方法不打算是限制性的。可以通过各种各样不同的方法来接收和解译无触摸输入,而不背离本公开内容的范围。
在某些实施例中,以上描述的方法和过程可能依赖于一个或多个计算设备中的一个计算设备。具体地,这样的方法和过程可被实施为计算机应用程序或服务、应用编程接口(API)、库、和/或其它计算机程序产品。
图12示意地显示可以展现(enact)上述的方法和过程中的一个或多个的计算设备1200的非限制实施例。计算设备1200以简化的形式显示。将理解,可以使用几乎任何计算机体系结构,而不背离本公开内容的范围。在不同的实施例中,计算设备1200可以取以下的形式:大型计算机、服务器计算机、台式计算机、膝上型计算机、平板计算机、家用娱乐计算机、网络计算设备、游戏设备、移动计算设备、移动通信设备(例如,智能电话)等等。
计算设备1200包括逻辑子系统1202和存储子系统1204。计算设备1200任选地可包括输入子系统1206、显示子系统1208、通信子系统1210和/或在图12上未示出的其它构件。
逻辑子系统1202包括被配置成执行指令的一个或多个物理设备。例如,逻辑子系统可被配置成执行作为一个或多个应用、服务、程序、例行程序、库、对象、构件、数据结构、或其它逻辑构造的一部分的指令。这样的指令可被实施来执行任务、实施数据类型、转换一个或多个构件的状态、或以其它方式达到想要的结果。
逻辑子系统可包括一个或多个处理器,其被配置成执行软件指令。另外或替换地,逻辑子系统可包括一个或多个硬件或固件逻辑机器,其被配置成执行硬件或固件指令。逻辑子系统的处理器可以是单核或多核的,以及在其上执行的程序可被配置用于顺序的、并行的或分布的处理。逻辑子系统可以任选地包括分布在两个或更多个设备之间的个体的构件,它们可以位于远端和/或被配置用于协调的处理。逻辑子系统的一些方面可以通过可远程接入的、在云计算配置中配置的联网的计算设备而被虚拟化和执行。
存储子系统1204包括一个或多个物理的非瞬时性设备,其被配置成持有(hold)可由逻辑子系统执行的数据和/或指令,用来实施这里描述的方法和过程。当这样的方法和过程被实施时,存储子系统1204的状态可被转换—以例如持有不同的数据。
存储子系统1204可包括可拆卸介质和/或内建的设备。存储子系统1204除了其它的之外,可包括光学存储设备(例如,CD、DVD、HD-DVD、蓝光盘等等)、半导体存储设备(例如,RAM、EPROM、EEPROM等等)和/或磁存储设备(例如,硬盘驱动、软盘驱动、磁带驱动、MRAM等等)。存储子系统1204可包括易失性、非易失性、动态、静态、读/写、只读、随机存取、顺序存取、可按位置寻址、可按文件寻址、和/或可按内容寻址的设备。
将会意识到,存储子系统1204包括一个或多个物理的非瞬时性设备。然而,在某些实施例中,这里描述的指令的一些方面可以通过纯信号(例如电磁信号、光信号等等)以瞬态的方式被传播,纯信号并不被物理设备持有达有限的持续时间。而且,关于本公开内容的数据和/或其它形式的信息可以通过纯信号传播。
在某些实施例中,逻辑子系统1202和存储子系统1204的一些方面可被一起集成到一个或多个硬件逻辑构件中,通过其可以展现这里描述的功能性。这样的硬件逻辑构件可例如包括现场可编程门阵列(FPGA)、特定于程序和应用的集成电路(PASIC/ASIC)、特定于程序和应用的标准产品(PSSP/ASSP)、单片系统(SOC)、和复杂可编程逻辑器件(CPLD)。
可使用术语“模块”、“程序”和“引擎”来描述被实施来执行特定功能的计算设备1200的某方面。在某些情形下,模块、程序、或引擎可以经由逻辑子系统1202,通过执行由存储子系统1204持有的指令而被实例化。将理解,不同的模块、程序、和/或引擎可以从相同的应用、服务、代码块、对象、库、例行程序、API、功能等等而被实例化。同样地,相同的模块、程序、和/或引擎可以通过不同的应用、服务、代码块、对象、例行程序、API、功能等等而被实例化。术语“模块”、“程序”和“引擎”可包含个体的或成组的可执行文件、数据文件、库、驱动器、脚本、数据库记录等等。
将意识到,如在这里使用的,“服务”是可跨多个用户会话执行的应用程序。服务可以是一个或多个系统构件、程序、和/或其它服务可得到的。在某些实现中,服务可以在一个或多个服务器-计算设备上运行。
当被包括时,显示子系统1208可被使用来呈现由存储子系统1204持有的数据的视觉表示。这个视觉表示可以取图形用户界面(GUI)的形式。当这里描述的方法和过程改变由存储子系统持有的数据并因此转换存储子系统的状态时,显示子系统1208的状态可同样地被转换以在视觉上表示基础(underlying)数据的改变。显示子系统1208可包括一个或多个显示设备,其利用几乎任何类型的技术。这样的显示设备可以与逻辑子系统1202和/或存储子系统1204一起组合在共享的外壳中,或这样的显示设备可以是外围显示设备。
当被包括时,输入子系统1206可包括一个或多个用户输入设备(诸如键盘、鼠标、触摸屏、或游戏控制器)或与其对接。在某些实施例中,输入子系统可包括所选择的自然用户输入(NUI)元件部分(例如,跟踪系统108)或与其对接。这样的元件部分可以是集成的或是外围的,并且输入动作的转导(transduction)和/或处理可以在板上或板外(on- or off-board)操控。示例性NUI元件部分可包括用于语音和/或话音识别的话筒;用于机器视觉和/或手势识别的红外、彩色、立体、和/或深度相机;头部跟踪器、眼睛跟踪器、加速度计、和/或用于运动检测和/或意图识别的陀螺仪;以及用于评估大脑活动的电场传感元件部分。
在某些实施例中,输入子系统1206可包括“结构光(structured light)”深度相机或与它对接,结构光深度相机可被配置成投射包括许多离散特征(例如,线或点)的结构化红外照明。相机可被配置成反映从场景中反射的结构化照明。基于在成像场景的各种区域中邻近特征之间的间隔,可以构建场景的深度图。
输入子系统1206可包括“飞行时间”深度相机或与它对接,“飞行时间”深度相机可包括被配置成向场景投射脉冲式红外照明的光源。两个相机可被配置成检测从场景中反射的脉冲式照明。相机可包括与脉冲式照明同步的电子快门,但用于相机的积分时间可以是不同的,这样使得从光源到场景然后到相机的脉冲式照明的分辨像素(pixel-resolved)的飞行时间是可从两个相机的对应像素中接收的相对光量来辨别的。
当被包括时,通信子系统1210可被配置成将计算设备1200与一个或多个其它的计算设备可通信地耦合。通信子系统1210可包括可与一个或多个不同的通信协议兼容的有线和/或无线通信设备。作为非限制性例子,通信子系统可被配置成经由无线电话网、或者有线或无线局域网或广域网进行通信。在某些实施例中,通信子系统可以允许计算设备1200经由诸如互联网那样的网络,把消息发送到其它设备或从其它设备接收消息。
将理解,这里描述的配置和/或方法在本质上是示范性的,并且这些特定的实施例或例子不要以限制性的意义来考虑,因为可能有无数的变例。这里描述的特定的例行程序或方法可以表示任何数目的处理策略中的一个或多个处理策略。照这样,所图示的和/或描述的各种动作可以以所图示的和/或描述的顺序、以其它的顺序、并行地被执行,或被省略。同样地,上述的过程的次序可以改变。
本公开内容的主题包括各种过程、系统和配置、及此处公开的其它特征、功能、行动和/或性质以及它们的任何和所有的等同物的、所有新颖和非显而易见的组合和子组合。

用于用户界面的无触摸输入.pdf_第1页
第1页 / 共25页
用于用户界面的无触摸输入.pdf_第2页
第2页 / 共25页
用于用户界面的无触摸输入.pdf_第3页
第3页 / 共25页
点击查看更多>>
资源描述

《用于用户界面的无触摸输入.pdf》由会员分享,可在线阅读,更多相关《用于用户界面的无触摸输入.pdf(25页珍藏版)》请在专利查询网上搜索。

一系列深度图反映场景。每个深度图包括多个像素,其中每个像素规定由该像素反映的表面的深度。在该系列深度图内具有最浅深度的一组非静态像素被标识。这组非静态像素的位置被映射到光标位置。 。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1