CN107003737A - 用于自然用户输入的指示器投影 - Google Patents

用于自然用户输入的指示器投影 Download PDF

Info

Publication number
CN107003737A
CN107003737A CN201580066105.XA CN201580066105A CN107003737A CN 107003737 A CN107003737 A CN 107003737A CN 201580066105 A CN201580066105 A CN 201580066105A CN 107003737 A CN107003737 A CN 107003737A
Authority
CN
China
Prior art keywords
user
sight
directed
indicator
video
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201580066105.XA
Other languages
English (en)
Inventor
M·施韦辛格
T·雷凡德
S·斯塔取涅克
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN107003737A publication Critical patent/CN107003737A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • G06F3/0412Digitisers structurally integrated in a display
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/012Head tracking input arrangements
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/017Head mounted
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/002Specific input/output arrangements not covered by G06F3/01 - G06F3/16
    • G06F3/005Input arrangements through a video camera
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/013Eye tracking input arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/017Gesture based interaction, e.g. based on a set of recognized hand gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/0304Detection arrangements using opto-electronic means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04815Interaction with a metaphor-based environment or interaction object displayed as three-dimensional, e.g. changing the user viewpoint with respect to the environment or object
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output
    • G06F3/167Audio in a user interface, e.g. using voice commands for navigating, audio feedback
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/271Image signal generators wherein the generated image signals comprise depth maps or disparity maps
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/017Head mounted
    • G02B2027/0178Eyeglass type
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/01Indexing scheme relating to G06F3/01
    • G06F2203/012Walk-in-place systems for allowing a user to walk in a virtual environment while constraining him to a given position in the physical environment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/041Indexing scheme relating to G06F3/041 - G06F3/045
    • G06F2203/041012.5D-digitiser, i.e. digitiser detecting the X/Y position of the input means, finger or stylus, also when it does not touch, but is proximate to the digitiser's interaction surface and also measures the distance of the input means within a short range in the Z direction, possibly with a separate measurement setup
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/041Indexing scheme relating to G06F3/041 - G06F3/045
    • G06F2203/04106Multi-sensing digitiser, i.e. digitiser using at least two different sensing technologies simultaneously or alternatively, e.g. for detecting pen and finger, for saving power or for improving position detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/048Indexing scheme relating to G06F3/048
    • G06F2203/04808Several contacts: gestures triggering a specific function, e.g. scrolling, zooming, right-click, when the user establishes several contacts with the surface simultaneously; e.g. using several fingers or a combination of fingers and pen
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2206/00Indexing scheme related to dedicated interfaces for computers
    • G06F2206/20Indexing scheme related to audio interfaces for computers, indexing schema related to group G06F3/16

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • General Health & Medical Sciences (AREA)
  • Optics & Photonics (AREA)
  • User Interface Of Digital Computer (AREA)
  • Position Input By Displaying (AREA)

Abstract

一种基于眼睛跟踪与姿势识别来标识定向到的对象的方法。所述方法在由用户控制并被操作地耦合到机器视觉系统的计算系统中执行。在该方法中,计算系统从机器视觉系统接收对用户的头和指示器进行成像的视频。基于该视频,计算系统计算用户的几何视线,所述视线被指示器部分遮挡。随后,参考一个或多个对象的位置数据,所述计算系统标识沿几何视线放置的定向到的对象。

Description

用于自然用户输入的指示器投影
背景
触摸屏技术将显示和输入功能组合在一个统一的、直观的用户界面(UI)中。触摸屏以许多尺寸和形状因子可用,并且利用了各种传感器技术,其已经变成一种普遍存在的UI模态。然而,触摸屏技术具有固有的局限。例如,尽管触摸屏显示器可以是从很远距离可视的,但仅当用户在附近时它才能接收输入。而且,经受正常使用的触摸屏很快就会被来自用户的手的油和其它污染物弄脏。弄脏使得显示质量下降并且需要频繁清洁。
概述
在本公开的一个实施例中,计算系统从机器视觉系统接收对用户的头和指示器成像的视频。基于该视频,计算系统计算用户的通过指示器的几何视线并标识沿几何视线放置的定向到的对象(targeted object)。
提供本概述以便以简化的形式介绍以下在详细描述中进一步描述的一些概念。本概述并不旨在标识所要求保护主题的关键特征或必要特征,也不旨在用于限制所要求保护主题的范围。此外,所要求保护的主题不限于解决在本公开的任一部分中所提及的任何或所有缺点的实现。
附图简述
图1示出其中通过眼睛跟踪以及姿势识别来定向对象的示例环境。
图2示出被配置为支持定向对象的示例计算系统的各方面。
图3示出了在姿势识别中使用的示例虚拟骨架的各方面。
图4示出示例虚拟骨架的手部分的各方面。
图5在一个示例实施例中示出眼睛跟踪的各方面。
图6示出做出姿势以选择定向到的对象的用户。
图7、8和9示出包括定向到的对象在内的一组显示对象。
图10示出做出姿势以向前移动目标对象的用户。
图11示出做出姿势以减小目标对象的尺寸的用户。
图12示出被配置为基于所组合的眼睛跟踪与姿势识别来支持对象定向的示例可穿戴电子设备。
图13示出图12的可穿戴电子设备的各附加方面。
图14示出基于所组合的眼睛跟踪与姿势识别来标识定向到的对象的示例方法。
图15示出基于所组合的眼睛跟踪与姿势识别来在显示屏上形成对象的示例方法。
详细描述
在一个或多个实施例中基本相同的组件、过程步骤和其他元素被协调地标识并且以重复最小的方式描述。然而,将注意,同等地标识的各元素也可在一定程度上不同。将进一步注意到,上面列出的附图是示意性的并且通常未按照比例绘制。当然,附图中所示的各种绘图比例、纵横比、以及组件的数量可故意地失真,以更容易看到某些特征或关系。
图1示出在其中用户12站立在大尺寸、平面显示屏14前面的环境10。显示器14在一些实施例中可以是立体3D显示器,或者在其它实施例中是传统的2D显示器。计算系统16操作上耦合至该显示器以及其它组件,例如音频-视频(A/V)接收机18和扬声器20。在一个实施例中,计算系统可以是游戏控制台。在另一个实施例中,计算系统可以是多用途个人计算机或工作站。以下描述计算系统的附加方面。
在一些实施例中,用户12可以通过传统的输入设备—例如键盘、触摸屏、鼠标、游戏系统控制器和/或无线遥控器与计算系统16和相关联的组件交互。作为替换或补充,计算系统可以对“自然用户输入”(NUI)进行响应,其中用户语音、手势和/或眼睛移动被感测、解释并被用于控制计算系统。
为此,在图1中的计算系统16操作上被耦合到机器视觉系统22。所示的机器视觉系统包括红外(IR)或近红外(NIR)照明源24、深度相机26以及平面图像相机28。机器视觉系统还可以包括用于接收来自用户12的语音或其它可听输入的话筒30(在图1中未示出)。
深度相机26可被配置来获取用户12的时间分辨深度图序列和环境10的其它方面。如在此所使用的,术语“深度图”指与成像场景的对应区域(Xi,Yi)配准(register)的像素阵列,其中深度值Zi指示针对每个像素的对应区域的深度。“深度”被定义为与深度相机的光轴平行的坐标,该坐标随着距深度相机的距离的增加而增加。操作上,深度相机可被配置成获取2D图像数据,根据这些2D图像数据经由下游处理获得深度图。
一般来说,深度相机26的性质在本公开的各种实施例中可以是不同的。在一实施例中,来自深度相机中的两个实立体镜地(stereoscopically)定向的成像阵列的亮度或颜色数据可被共同配准并用于构造深度图。在其它实施例中,照明源24可被配置成将包括多个离散特征(例如,线或点)的结构化照明图案投影到主体上。该深度相机中的成像阵列可被配置成对从主体反射回的结构化照明进行成像。基于所成像的主体的各个区域中毗邻特征之间的间隔,可构造该主体的深度图。在又一其它实施例中,照明源可以将脉冲IR或NIR照明投向主体。深度相机中的一对成像阵列可被配置成对从主体反射回的脉冲照明进行检测。这两个阵列均可包括与脉冲照明同步的电子快门,但用于这两个阵列的集成时间可不同,使得脉冲照明的从照明源到主体再接着到这两个阵列的像素解析的飞行时间可基于在两个阵列的相应的元素中接收到的相对光的量来区别开来。
通过合适的物镜系统,平面图像相机28跨一范围的视场角度检测光,将这样的角度映射到矩形像素阵列的对应的像素。在一个实施例中,平面图像相机可以检测处于多个波长通道—例如,红、绿、蓝等的光,每个波长通道与阵列像素的一个子集相关联。可替换地,单色平面图像相机可被使用,其以灰度范围成像可见、IR、NIR和/或紫外(UV)光。平面图像相机中曝光的所有像素的颜色或亮度值共同构成数字图像。在一些实施例中,深度相机26和平面图像相机28被安排成具有以相同方向定向的平行光轴。
如在图2中所示,来自机器视觉系统22的感测数据由计算系统16的一个或多个NUI引擎处理以揭示可操作的用户输入。这样的输入可以由操作系统(OS)38或由应用级代码来解析,由此控制计算系统的操作。在图2的实施例中,计算系统16包括语音识别引擎32、姿势识别引擎34以及眼睛跟踪引擎36。
语音识别引擎32被配置来处理来自话筒30的音频数据、识别用户的语音中的某些单词或词组、并生成对应的到OS 38或应用40的可操作输入。姿势识别引擎34被配置为通过有线或无线硬件接口至少接收来自机器视觉系统22的深度视频。姿势识别引擎还被配置来:至少处理来自机器-机器视觉系统22的深度视频(即时间分辨深度图序列),标识深度视频中的一个或多个人类主体,计算所标识的主体的各种几何(例如,骨架)特征,以及从几何特征收集要被用作NUI的各种姿势或手势信息。
在一个非限制性实施例中,姿势识别引擎34标识深度视频中的一个或多个人类主体的至少一部分。通过合适的深度图像处理,深度图的给定位点可被识别为属于人类主体。在更特定实施例中,属于人类主体的像素可(例如通过分割出深度图的在合适的时间标度内展示出高于阈值的运动的部分)被标识,并且人类的通用几何模型可从这些像素中推导出。
在一个实施例中,深度图的每一像素可被分配将该像素标识为属于特定人类主体或非人类元素的人物索引。作为示例,与第一人类主体相对应的像素可被分配等于一的人物索引,与第二人类主体相对应的像素可被分配等于二的人物索引,而不与人类主体相对应的像素可被分配等于零的人物索引。人物索引可用任何适当的方式来确定、分配和保存。
姿势识别引擎34还可以做出关于哪个(或哪些)人类主体将向计算系统16提供用户输入(即哪些将被标识为用户)的确定。在某些实施例中,人类主体可基于到显示器14或深度相机26的邻近度和/或在深度相机的视野中的位置被选为用户。更具体地,所选的用户可以是最接近深度相机或最接近深度相机的视野的中心的人类主体。
姿势识别引擎34还可以处理来自用户的姿势信息。所述姿势信息是通过计算从深度视频中推导出的。在一些实施例中,附加的感测输入—例如,来自平面图像相机28的图像数据或来自话筒30的音频数据—可与姿势信息一起被处理。
在某些实施例中,姿势识别引擎34可被配置来分析深度图的对应于用户的像素,以确定每个像素对应于用户身体的什么部位。至此,各种不同身体部位分配技术可被使用。在一个示例中,深度图中的具有适当的人物索引(见上文)的每一个像素可被分配身体部位索引。身体部位索引可包括离散标识符、置信度值和/或指示像素可能对应的一个或多个身体部位的身体部位概率分布。
在一些示例中,机器学习可被用于向每一像素分配身体部位索引和/或身体部位概率分布。机器学习方法参考从先前训练的已知姿态集合中学习到的信息来分析用户。在受监督训练阶段期间,例如,各种人类主体被观察到处于各种姿态,训练器在观察到的数据中提供标记不同的机器学习分类器的地面实况注释。所观察到的数据和注释接着被用于生成将输入(例如,深度视频)映射到所需输出(例如,相关像素的身体部位索引)的一个或多个机器学习算法。
此后,虚拟骨架被适配到深度视频的对应于用户的像素。图3示出示例虚拟骨架42。该虚拟骨架包括枢转地耦合在多个关节46处的多个骨骼部分44。在一些实施例中,身体部位指定可被分配给每个骨骼部分和/或每个关节。在图3中,每个骨骼部分44的身体部位指定由所附字母表示:A针对头部、B针对锁骨、C针对上臂、D针对前臂、E针对手、F针对躯干、G针对骨盆、H针对大腿、J针对小腿、而K针对脚。类似地,每个关节46的身体部位指定由所附字母表示:A针对颈部,B针对肩膀,C针对肘,D针对手腕,E针对下背,F针对髋关节,G针对膝盖以及H针对踝。自然地,图3中示出的骨骼部分和关节的安排不是为了以任何方式进行限制。符合本公开的虚拟骨架可包括实质上任何类型和数量的骨骼部分和关节。
在更具体的实施例中,对应于用户的手的点云(深度图的各部分)可以被进一步处理以揭示手的骨骼子结构。图4示出用户虚拟骨架42的示例手部分48。手部分包括腕关节50、指关节52以及毗邻的指节54。
通过任何合适的最小化方式,骨骼部分的长度和关节的位置和旋转角可被调整以符合深度图的各个轮廓。以此方式,每个关节被分配各种参数-例如,指定关节位置的笛卡尔坐标、指定关节旋转的角、以及指定对应的身体部位的形态(手打开、手闭合等)的附加参数。该虚拟骨架可采取数据结构的形式,该数据结构包括针对每个关节的这些参数中的任一个、一些或全部。该过程可以限定所成像的人类主体的位置和姿态。一些骨架拟合算法可以使用深度数据结合其他信息,诸如彩色图像数据和/或指示一个像素轨迹如何相对于另一个来移动的运动数据。在上述方式中,虚拟骨架可被适配到深度视频的帧序列中的每一帧中。通过分析各个骨架关节和/或分段的位置变化,所成像的用户的对应移动—例如,姿势或动作—可被确定。
上述描述不应当被理解为限制可用于构造虚拟骨架42的方法的范围,因为可以用任何合适的方式从深度图中导出虚拟骨架而不背离本公开的范围。此外,尽管使用虚拟骨架来建模用户12有优点,但这个方面并不是必需的。代替虚拟骨架,原始点云数据可被直接用来提供合适的姿势信息。
在图2中继续,眼睛跟踪引擎36被配置为通过有线或无线硬件接口至少接收来自平面图像相机28的视频。眼睛跟踪引擎被进一步配置成处理来自平面图像相机28的图像数据以定位用户12的一个或多个视觉特征。这样的特征可以包括瞳孔或从角膜反射的一个或多个闪光。基于在图像数据中的视觉特征的大小和位置,眼睛跟踪引擎计算在真实世界、3D坐标中每个瞳孔的中心点以及可选的来自每个眼睛的注视向量V。在其中针对右眼和左眼两者来同时确定注视向量的各示例中,右和左注视向量的交点可被用于在三个维度中定义用户的聚焦点。
图5在一个实施例中示出眼睛跟踪的附加方面。在所示示例中,机器视觉系统22的照明源包括轴上灯56和离轴灯58。每个灯可以例如包括发光二极管(LED)或二极管激光器,其发射平面图像相机28的处于高灵敏度波长段中的IR或NIR照明。在某些实施例中,平面图像相机可包括阻挡照明源的发射波段之外的传输以改善强环境光存在时的亮瞳对比的波长过滤器。
术语“轴上”和“离轴”指眼睛的照明相对于平面图像相机28的光轴A的方向。相对于眼睛跟踪而言,轴上和离轴照明可以服务于不同的目的。如图5所示,离轴照明可创建从用户的眼睛的角膜62反射的镜面闪光60。离轴照明也可被用于照亮眼睛以用于“暗瞳”效果,其中瞳孔64显得比周围的虹膜66更暗。相反,来自IR或NIR源的轴上照明可被用于创建“亮瞳”效果,其中瞳孔显得比周围的虹膜更亮。更具体地,来自轴上灯56的IR或NIR照明可照亮眼睛的视网膜68的回射组织,该回射组织将照明通过瞳孔反射回去,形成如由平面图像相机28所成像的瞳孔的亮图像70。虽然图5将轴上和离轴灯示意性示出为点源,但将理解这些灯可以采用任何合适的形式。例如,在一些示例中,轴上灯56可以被配置为围绕平面图像相机28的光圈的“LED环”的形式。
现在返回到图1和2,各种图形显示对象72可以被呈现在显示器14上。这样的对象可以例如包括窗口、照片、文本框、图标和UI控件元素。每个对象在显示器上的坐标被存储在位置数据74中(参考图2),该位置数据对OS 38可访问。位置数据可以包括每个对象相对于显示器的可视区域的给定拐角相对的拐角的X,Y偏移76。在显示器14是立体或3D显示器的实施例中,深度偏差Z也可以被指定。位置数据74还包括针对显示器14的配准数据78。配准数据可以包括定义显示器的可视区域的物理尺寸、位置和方向的坐标—例如针对有效显示面积的每个拐角的X、Y和Z。
在图1所示的场景中,用户12正注视着特定定向到的对象72’的方向。定向到的对象例如可以是用户例如打算移动、重新调整大小、选择或激活的对象。基于来自眼睛跟踪引擎36的注视向量V并参考配准数据78,用户注视在显示器14上的目标坐标可以被估计。在一些条件下,所述估计可准确到足以通过进一步参考偏移76揭示各对象中哪个对象已被定向到。这种方式是否可能取决于眼睛跟踪引擎36的准确性以及其它因素(例如对象在显示器上的大小和布局以及用户相对于显示器的行踪)。下面描述的是一种使用直观的指示器姿势以及注视来定向对象的更加稳健的模式。在该方案中,即使在用户位于离开显示器相对远的地方时,计算系统16也能够准确地在紧密间隔的对象之间进行区分以确定哪个对象已被定向到。
在本公开的上下文中,“指示器”可以是用户的手指或手。它也可以是棒或指示笔、手指的组合、手套的一部分或任何其它合适的对象。在图1的示例中,指示器80是用户的手指之一。在注视着目标对象72’时,所述用户将指示器定位成部分遮挡定向到的对象(从用户自己的视角来看)。在其它变形中,用户可以将指示器定位成紧邻目标对象—即在指示器看上去触碰到定向到的对象的位置中。
再次参考图2,指示器投影引擎82从姿势识别引擎34接收姿势信息,所述姿势信息包括指示器80的3D坐标。指示器投影引擎还可以从眼睛跟踪引擎36接收瞳孔位置数据。指示器投影引擎实际上被配置为构建在瞳孔和指示器的尖端之间通过的直线视线L。该线被用于标识在显示器14上的定向到的对象。参考配准数据78,指示器投影引擎定位了L与显示器14的可视平面相交的点。该交点被用于相对于显示器的拐角计算指示器投影坐标(Xpp,Ypp),其被提供给OS 38。在那里,每个对象在显示器上的偏移76被与指示器投影坐标相比较以确定哪个对象已被定向到。
尽管指示器投影和独立的注视跟踪两者依据两个测得的点定义了视线,但每个点均经受测量误差,指示器投影比独立的注视跟踪更稳健。在注视跟踪中,测得的点是(a)眼睛的中心和(b)瞳孔的中心。这些点隔开略超过1厘米。在指示器投影方案中,测得的点是(a)瞳孔的中心和(b)指示器的尖端,它这些点可隔开大约十或二十厘米。当一个对象被定向到时,由测得的点定义的视线被一直外推到显示屏,其可离开用户数米。目标坐标方面的不确定性与外推距离成比例,并且与测得的点之间的距离成反比。因此,指示器投影可以使注视跟踪的定向误差减少到十分之一或更多,假设这些测量误差与这两种方法的测量误差类似。
由于外推距离减小了,因此在一些场景中,容忍瞳孔和/或指示器位置方面的相对大的不确定性是可接受的。因此,具有完全解析的手部分的虚拟骨架42并不是在每个实施例中都被需要。相反,可以基于虚拟骨架的单个手关节的位置以及来自姿势识别引擎34的关于手是张开还是握紧的指示一起确定指示器位置。类似地,眼睛跟踪引擎36无需在每个实施例中都解析瞳孔,而是在一些示例中可以通过近似将瞳孔置于眼睛的中心。在又一个实施例中,可以单独基于来自虚拟骨架的头部关节的位置估计瞳孔位置。因此,在此使用的术语“眼睛跟踪”包括基于瞳孔位置的粗略近似以及如上所述的瞳孔的精确成像的方法。
一旦对象被定向到,用户12可发信号表示要对该对象采取的进一步行动。计算系统16的一个或多个NUI引擎可以被配置为检测用户要对定向到的对象采取行动的意图。例如,在对象被定向到后,用户可发信号表示选择该对象的意图—例如通过将指示器80悬停在对象前面或通过移动指示器以围绕该对象。姿势识别引擎34可以被配置成检测选择姿势。
在一些实施例和场景中,可选地在用户作出的选择之后可以激活定向到的对象。激活可以包括执行与定向到的对象相关联的OS或应用级代码。例如,如果定向到的对象是文档,激活可以包括加载文字处理器,其自动打开文档以供编辑。如果定向到的对象是幻灯片,激活可以包括在显示器上呈现所述幻灯片。用户可以通过做出指示器的递增前向移动—例如推姿势来发信号表示激活该对象的意图。推姿势由图6中的示例示出。姿势识别引擎34可以被配置成检测这种类型的激活姿势。在其它示例中,用户要选择或激活定向到的对象的意图可以通过由语音识别引擎32所检测到的说出的单词或短语来发信号表示。
在一些情形中,用户可能想要将定向到的(可选地是所选)对象移动至显示器14上的不同位置。用户可以通过维持对定向到的对象的注视同时向上、下或侧面移动指示器来发信号表示这种意图。指示器投影引擎82识别指示器坐标Xpp,Ypp方面的改变并指示OS将定向到的对象移动至经改变的坐标。
通过允许用户直观地定向、选择、激活和移动显示器14上的对象,计算系统16赋予显示器类似触摸屏的特征,同时克服了传统的触摸屏技术的一些缺陷。例如,用户能够在不弄脏显示器的情况下操控对象,并且即使在显示器不可触及的情况下也能这么做。
在一些实施例中,在显示器14上呈现的对象可以是三维的或至少配准到3D空间。3D空间可以具有精细解析的深度坐标Z,或仅是彼此平行堆叠的几个层。因此,用户12可能想要将定向到的或所选的对象移动至不同的深度坐标或层。这个场景在图7和8中被示出,其中在图7中的定向到的对象72’在图8中已经被前移。用户可以通过维持对对象的注视同时移动指示器离开或更靠近他的脸部来发信号表示改变定向到的对象的深度的意图。如图10所示,朝向脸部的指示器运动可发信号表示减小对象的深度的意图,而离开脸部的指示器运动可发信号表示增加该深度的意图。指示器投影引擎82识别所维持的指示器坐标,而姿势识别引擎34识别指示器运动的方向和范围。来自这些引擎的经组合的指令指引系统将对象移动至新的深度值。取决于用于3D渲染的相机模型,显示对象的深度改变也可以影响放大/缩小特征。
在某些情况下,用户可能想要重新调整定向到的或所选的对象的大小。这个场景在图7和9中被示出,其中在图7中的定向到的对象72’在图9中已经被减小了大小。用户可以通过在维持对对象的注视同时改变指示器的张开程度来发信号表示重新调整定向到的对象的大小的意图。用于这种示例的典型指示器是用户的拇指和食指的组合。或者,指示器可以由用户的整个手组成。如图11所示,拇指和食指之间的减小的间隔或手的握紧可以发信号表示减小对象的大小,而手的增加的间隔或张开可以发信号表示放大。指示器投影引擎82识别所维持的指示器坐标,而姿势识别引擎34识别指示器的张开和握紧。来自这些引擎的经组合的指令指引OS38重新调整对象的大小。读者将注意到用于向前或向后移动定向到的对象的姿势优选地与用于重新调整对象大小的姿势不同,这与在其中过载的姿势被用于两种操作的UI模态是相反的。
如上所述,指示器投影引擎82访问配准数据78以便计算指示器投影坐标Xpp,Ypp。提供配准数据的过程在此被称为显示器14的“配准”。配准可以通过任何合适形式的用户输入来执行;每次显示器14和机器视觉系统22相对彼此移动时,配准都要被重复。
在一些实施例中利用指示器投影引擎82和上游部件的功能来执行显示器14的配准是方便的。在一个示例中,可请求设立环境10的用户按以上述方式通过组合的注视和指示器位置连续地定向显示器14的可视区域的每个拐角。根据一个瞳孔位置来定向每个拐角不唯一地确定拐角的坐标,而是为每个拐角定义通过该拐角的线。随后,用户可以被请求移动至不同的位置并重复所述过程。这将为显示器的每个拐角定义那个拐角被定位在其上的第二线。每对对应的线的交点唯一地定义了拐角的位置。技术人员将理解关于这种配准方案的许多变形是可能的,并在此被构思。
在一些实施例中,多个显示器14可以在操作上被耦合到计算系统16。因此,指示器投影引擎82的操作可以被扩展成为与视线L相交的每个显示器i计算指示器投影坐标Xppi,Yppi。OS 38可以被配置为使用指示器投影坐标来标识每个显示器上的定向到的对象。这要求每个显示器的尺寸、位置和方向与在其上显示的每个对象的偏移一起被包括在位置数据74中。
在多个显示器14在操作上被耦合到计算系统16的情况下,用户12可能想要将对象从一个显示器移动或复制到另一个显示器。这个动作可如上所述通过视线移动经过并离开第一显示器的可视区域,在各显示器之间通过,随后移至并经过第二显示器的可视区域一直到期望的最终坐标来发信号表示。
以上概述的用于处理多个操作上耦合的显示器14的方案容易地被扩展到涉及多个不同的计算系统16的场景,每个计算系统具有一个或多个显示器。如果这些计算系统彼此通信地耦合,详细记载了每个显示器的尺寸、位置和取向以及显示对象的安排的位置数据可以与指示器投影引擎82共享,以用于跨系统操作。
在上述描述中,术语“对象”主要被用于指代显示对象—在相关联的显示器上呈现的计算系统的构造。然而,本公开还符合该术语的更广泛的使用。具体而言,指示器投影引擎82可以被用于标识环境10中的任何定向到的真实世界对象。定向到的对象可以包括远程可控设备,诸如有线机顶盒、A/V接收机、打印机或环境控件。通过指示器投影引擎82定向和选择这样的对象的动作可以具有在显示器14上呈现那个设备的控制界面、使得用户能够通过NUI控制设备的效果。
在其他示例中,对象可以包括例如照片、便利贴或画在纸上或白板上的图例。计算系统16可以被配置为当这样的一个对象被定向到、选择和/或激活时以特定的方式作出响应。在图1所示的场景中,例如,环境10包括大型画板84。定向到和/或激活画板可以触发通过辅助相机86对该画板进行拍照,并将其图像插入到计算系统16上打开的文档中。在其它示例中,定向到和/或激活画板可引起所画的结构的数据被检索到。
定向到任何现实世界对象要求配准那个对象,这可以如以上在显示器配准的上下文中概述的那样发生。在其它环境中,现实世界对象或显示器可以是自配准的。自配准对象可以包括具有内建的位置和方向跟踪(通过GPS和/或惯性传感器)的设备以及物理上被耦合到无线位置寻找器的对象。这些对象在环境10内的位置和方向可以被本地地计算并传递给计算系统16以实现配准。这个特征的另一个优点在于自配准的对象即使在该环境中被移动时还保持被配准。这样,在图1所示的场景中(其中用户一个手上拿着平板计算机88,同时用另一个手向计算系统16做出手势),通过指示器投影引擎82,定向到的显示对象可以在平板的显示器14和显示器屏幕之间被移动。
图12和13示出另一个实施例的各方面,在其中机器视觉系统和显示器被安置在可穿戴电子设备90上。所示的设备包括靠近佩戴者眼睛被定位的立体透视显示器部件;其可被用于增强现实(AR)应用,其中现实世界图像与虚拟显示图像混合。
可穿戴电子设备90包括惯性测量单元(IMU)92,包括一套运动传感器。这样的传感器可以包括加速度计、陀螺仪和磁力计。加速度计和陀螺仪可提供沿三条正交轴的惯性数据以及绕三条轴的旋转数据,作为组合的六个自由度。来自加速度计和陀螺仪的数据可与来自磁力计的地磁数据结合以按照地理方位进一步定义惯性和旋转数据。
图2的可穿戴电子设备90包括分开的右和左显示器面板94R和94L。计算系统16’被操作地耦合到显示面板和其它显示系统部件。图13在一个非限制性实施例中示出了右或左显示面板94(94R、94L)的各方面。显示面板包括背光96和液晶显示器(LCD)矩阵98。背光可包括LED的整体——例如,白LED或红、绿和蓝LED的某种分布。可放置背光以便引导其发射光穿过LCD矩阵,该LCD矩阵基于来自计算系统的控制信号形成显示图像。LCD矩阵可包括布置于矩形网格或其它几何形状上的众多可单独寻址的像素。在一些实施例中,发射红光的像素可在矩阵中与发射绿和蓝光的像素并置,使得LCD矩阵形成彩色图像。在其它实施例中,反射硅上液晶(LCOS)矩阵或数字微镜阵列可被用于代替图13的LCD矩阵。替换地,有源LED矩阵或合适的扫描束技术可被用于形成右和左显示图像。尽管图示出了分开的右和左显示面板,跨双眼延伸的单个显示面板可被替代使用。
可穿戴电子设备90包括机器-机器视觉系统22’,其在操作上也被耦合到计算系统16’。在所示的实施例中,机器视觉系统包括眼睛成像相机28’、轴上灯56和离轴灯58。显示面板94的光束转向光学器件100允许眼睛成像相机和轴上灯共享公共光轴A,而不管它们在显示面板的外围上的安排。机器-机器视觉系统22’还包括被配置为对佩戴者的视野的至少一部分(包括指示器80)进行成像的面向前方的深度相机26’。来自眼睛成像相机28’和面向前方的深度相机26’的数字图像数据可被传送给计算系统16’中的或可通过网络访问的远程计算机系统中的相关联的逻辑。
图1和12的实施例各自提供了特定的益处。例如,图1的固定机器视觉方案不要求用户戴上专门的头饰或眼镜。它对同一视野中的用户的头和指示器成像,确保头和指示器的图像被准确地彼此配准。此外,外部对象的配准在该实施例中是更加容易的,因为机器视觉系统具有固定的视野。作为对比,图12的实施例非常适合于虚拟或增强现实显示系统。在此,机器视觉系统包括分开的面向前和面向后的相机;面向前的深度相机自动跟踪用户的视野,而面向后的相机理想地被放置成观察瞳孔。然而,头戴式实施例的一些益处可能由于来自前方和后方相机的共同配准的图像数据中的误差而被抵销,特别是当装备是柔性的且可在用户的脸部上移动时。虽然机器-机器视觉系统22’倾向于随着佩戴者移动或转动他的头部而移动,但通过利用IMU 92在六个自由度上对可穿戴电子设备90的自跟踪使得外部对象的配准成为可能。
尽管本公开的结构化方面是通过示例配置的方式来描述的,但本公开也包括了示例配置的部件部分的每个有用的子组合。例如,符合本公开的一些机器视觉系统可以包括安置在可穿戴电子设备中的眼睛跟踪相机以及用于姿势识别的外部深度相机。在另一个示例中,外部相机可代替IMU 92被用于建立可穿戴电子设备90在环境10中的位置和方向。通过阅读本公开,其它有用的子组合对于本领域的技术人员来说是显而易见的。
图14示出要在操作地耦合到机器视觉系统的计算系统中执行的示例方法102。所述方法基于所组合的眼睛跟踪与姿势识别来标识定向到的对象。
在方法102的104处,一个或多个对象被呈现在操作上耦合到计算系统的显示器上。在一个实施例中,位置数据可以针对呈现在显示器上的每个对象来积累。除了如上所述的显示器自身的配准数据之外,所述位置数据还可以包括每个对象相对于显示器的拐角的偏移。以此方式,空间坐标可以被分配给所呈现的一个或多个对象中的每个对象,空间坐标定义了机器视觉系统的视野内的每一对象的位置。
在106,从机器视觉系统检索对用户的头和指示器进行成像的视频。该视频可以包括来自深度相机的一系列时间分辨深度图像和/或来自平面图像相机的一系列时间分辨图像。如上所述,指示器可以包括例如用户的手指或手、协力移动的多个手指或指示笔。在一个实施例中,视频可以对同一视野内(—即沿同一光轴、从同一有利位置或通过同一相机光圈)的头和指示器成像。
在108,基于该视频计算用户的几何视线,所述视线被指示器部分遮挡。在一个实施例中,计算几何视线的动作包括根据该视频(—例如根据骨骼跟踪)计算头的空间坐标。在另一个实施例中,计算几何视线可以包括根据该视频计算用户的眼睛或瞳孔的空间坐标。在此,来自机器视觉系统的平面图像相机的图像数据可以被使用。所计算的坐标可以包括一个或两个眼睛、一个或两个瞳孔等的坐标。在这些和其它实施例中,计算几何视线可以包括根据该视频计算指示器的空间坐标。如上所述,几何视线可以是通过指示器的终点并通过用户的头、眼睛或瞳孔的直线L。
在110,参考一个或多个对象的位置数据,沿几何视线放置的定向到的对象被标识。标识定向到的对象的动作可以包括确定定向到的对象是沿着几何视线还是靠近几何视线被放置的。
在112,任何可用形式的到计算系统的输入—语音输入、姿势输入等—被处理以确定用户是否已通过选择命令发信号表示对定向到的对象的选择。如果选择命令已经被接收,那么在114,定向到的对象被选择。在一些实施例中,定向到的对象的外观可以作为一种形式的对用户的视觉反馈在选择时被改变。所述对象可以被突出显示、加亮、重新着色、轮廓化、变得闪烁等。
在116,视频可以被处理以标识指示器沿着几何视线的递增前向移动—例如用户的手的推移动。如果递增前向移动被检测到,那么在118,与定向到的对象相关联的处理被执行。在此执行的处理可以是针对该对象的激活过程。
在120,视频可以被处理以标识指示器沿视线朝向或离开用户的脸部的移动。如果这样的移动被检测到,那么在122,定向到的对象的深度坐标被移位。具体而言,指示器离开用户的脸部的移动,深度坐标可以被增加,而对于指示器朝向用户的脸部的移动,深度坐标可以被减小。在一些实施例中,对象的深度坐标的移位可以将对象从显示器的一个深度层移至另一个深度层。
在124,视频被处理以标识指示器在基本上平行于显示器或基本上垂直于视线的平面中的移动。如果这样的移动被检测到,那么在126,定向到的对象的X、Y坐标被移位。以此方式,对象可以在显示器上被上移、下移、左移和/或右移。在一些实施例中,这种动作可以将对象移离一个显示器并移至另一个显示器上,如上所述。
在128,视频被处理以标识手的部分张开或闭合,而手保持在视线内。如果该姿势被检测到,那么在130,定向到的对象被缩放—即依据手的部分张开或闭合的程度在尺寸上被放大或缩小,而手保持在视线内。
图15示出要在操作地耦合到机器视觉系统和显示器的计算系统中执行的示例方法138。该方法使用眼睛跟踪和姿势识别来标识定向到的对象,并随后在显示器上形成表示该对象的图像。
在方法138的140处,接收一个或多个对象的位置数据。在定向到的对象是呈现的供计算系统显示的虚拟显示对象或在计算系统中配准的真实对象的情况下,该位置数据的源可在计算系统本地。在其它实施例中,位置数据可从另一个、通信上耦合的计算系统中检索。
在106,从机器视觉系统检索对用户的头和指示器进行成像的视频。在108A,基于视频计算用户的初始视线,该视线被指示器部分遮挡。在110,参考一个或多个对象的位置数据,沿初始视线放置的所定向的对象被标识。定向到的对象可以是执行方法138的计算系统的虚拟显示对象、配准到计算系统的真实对象或另一个计算系统的虚拟显示对象。在114,响应于来自用户的选择命令—选择姿势、口述的命令等,选择定向到的对象。在108B,基于该视频计算用户的后续视线,该视线被指示器部分遮挡。随后,在136,在显示器上形成沿后续视线的图像以表示定向到的对象。
从前述描述中显而易见,本文所描述的方法和过程可被绑定到一个或多个计算机器的计算系统。这样的方法和过程可被实现为计算机应用程序或服务、应用编程接口(API)、库和/或其它计算机程序产品。读者再次参考图2,该图以简化形式示于执行在此所述的方法和过程的计算系统16的一个非限制性示例。该计算系统包括逻辑机138和数据存储机140。计算系统还包括显示器14、通信机器142和在附图中未示出的各种组件。
逻辑机138包括被配置成执行指令的一个或多个物理逻辑设备。逻辑机可被配置成执行作为以下各项的一部分的指令:一个或多个应用、服务、程序、例程、库、对象、组件、数据结构、或其它逻辑构造。这种指令可被实现以执行任务、实现数据类型、转换一个或多个组件的状态、实现技术效果、或以其他方式得到期望结果。
逻辑机138可包括被配置成执行软件指令的一个或多个处理器。作为补充或替换,逻辑机可包括被配置成执行硬件或固件指令的一个或多个硬件或固件逻辑机。逻辑机的处理器可以是单核或多核,且在其上执行的指令可被配置用于串行、并行和/或分布式处理。逻辑机的各个组件可任选地分布在两个或更多单独设备上,这些设备可以位于远程和/或被配置用于进行协同处理。逻辑机的各方面可由以云计算配置进行配置的可远程访问的联网计算设备来虚拟化和执行。
数据存储机140包括被配置成保持可由相关联的逻辑机138执行以实现此处描述的方法和过程的指令的一个或多个物理计算机存储器设备。在实现此类方法和过程时,可变换数据存储机的状态(例如,保存不同数据)。数据存储机可包括可移动的和/或内置设备;它可包括光学存储器(例如,CD、DVD、HD-DVD、蓝光碟等)、半导体存储器(例如,RAM、EPROM、EEPROM等)、和/或磁性存储器(例如,硬盘驱动器、软盘驱动器、磁带驱动器、MRAM等)、以及其他。数据存储机可以包括易失性的、非易失性的、动态的、静态的、读/写的、只读的、随机存取的、顺序存取的、位置可定址的、文件可定址的、和/或内容可定址的设备。
将理解,数据存储机140包括一个或多个物理设备。然而,本文所述的指令的各方面替代地可由通信介质(如电磁信号、光学信号等)来传播,而不是经由存储介质进行存储。
逻辑机138和数据存储机140的各方面可以被一起集成到一个或多个硬件逻辑组件中。这些硬件逻辑组件可包括例如现场可编程门阵列(FPGA)、程序和应用专用的集成电路(PASIC/ASIC)、程序和应用专用的标准产品(PSSP/ASSP)、片上系统(SOC)以及复杂可编程逻辑器件(CPLD)。
术语“模块”、“程序”和“引擎”可用于描述被实现为执行一特定功能的计算机系统的一方面。在某些情况下,可经由执行由数据存储机所保持的指令的逻辑机来实例化模块、程序或引擎。将理解,可以从同一应用、服务、代码块、对象、库、例程、API、函数等实例化不同的模块、程序和引擎。同样,可以由不同的应用程序、服务、代码块、对象、例程、API、函数等来实例化同一模块、程序和引擎。模块、程序或引擎可涵盖单个或成组的可执行文件、数据文件、库、驱动程序、脚本、数据库记录等。
显示器14可用于呈现由数据存储机140所保持的数据的视觉表示。此视觉表示可采取图形用户界面(GUI)的形式。由于本文所描述的方法和过程改变了由数据存储机保持的数据,并由此变换了数据存储机的状态,因此同样可以转变显示器14的状态以视觉地表示底层数据的改变。显示器14可以包括使用实际上任何类型的技术的一个或多个显示设备。可将此类显示设备与逻辑机138和/或数据存储机140组合在共享封装中,或者此类显示设备可以是外围显示设备。
通信机器142可被配置为将计算系统通信地耦合到一个或多个其它机器,包括服务器计算机系统。通信机器可以包括与一个或多个不同通信协议兼容的有线和/或无线通信设备。作为非限制性示例,通信机器可被配置成用于经由无线电话网络或者有线或无线局域网或广域网来进行通信。在一些示例中,通信机器可允许计算机器经由诸如因特网这样的网络将消息发送至其他设备以及/或者从其它设备接收消息。
将会理解,此处描述的配置和/或方法本质是示例性的,这些具体的一个或多个示例不应被视为限制性的,因为许多变体是可能的。本文描述的具体例程或方法可以表示任何数量的处理策略中的一个或多个。如此,所示和/或所述的各种动作可以以所示和/或所述顺序、以其他顺序、并行地执行,或者被省略。同样,上述过程的次序可以改变。
本公开的主题包括各种过程、系统和配置以及此处公开的其他特征、功能、动作和/或属性、以及它们的任一和全部等价物的所有新颖且非显而易见的组合和子组合。
本公开的一个方面是在操作地耦合到机器视觉系统的计算系统中执行的方法。该方法包括下述动作:从机器视觉系统接收对在同一视野中的用户的头和指示器进行成像的视频;基于所述视频计算所述用户的几何视线,所述视线被指示器部分遮挡;参考一个或多个对象的位置数据,标识沿所述几何视线放置的定向到的对象;处理所述视频以标识所述指示器沿所述几何视线的递增前向移动;以及响应于所述递增前向移动执行与所述定向到的对象相关联的处理。
在一些实现中,上述方法包括在操作上耦合到计算系统的显示器上呈现一个或多个对象。在这些和其它实现中,计算几何视线可以包括根据该视频中计算头的空间坐标和/或计算几何视线可以包括根据该视频计算用户的眼睛或瞳孔的空间坐标和/或根据该视频计算所述指示器的空间坐标。在这些和其它实现中,几何视线可以是通过指示器并通过用户的眼睛的直线。
在一些实现中,在上述方法中的标识定向到的对象包括确定定向到的对象是否是沿着几何视线放置的。在这些和其它实现中,指示器可以包括用户的手指;机器视觉系统可以包括深度相机,而所述视频可以包括来自深度相机的一系列时间分辨深度图像。而且,机器视觉系统可以包括平面图像相机,而视频可以包括来自平面图像相机的一系列时间分辨图像。
在一些实现中,机器视觉系统的深度和平面图像相机可具有以相同方向取向的平行的光轴。上述方法还可以包括响应于由用户口述的选择命令将定向到的对象在视觉上表示为所选对象和/或通过将空间坐标分配给所述一个或多个对象的每个对象来积累位置数据,其中所述空间坐标定义了每个对象在所述机器视觉系统的视野内的位置。
在一些实现中,聚集位置数据可以包括接收定义空间坐标的用户输入。在这些和其它实现中,定向到的对象可以是在操作上耦合到计算系统的显示器上呈现的虚拟显示对象;积累位置数据可以包括接收定义显示器的观看区域的空间坐标的用户输入。在这些和其它实现中,积累位置数据可以包括以下动作:从机器视觉系统接收在同一视野中的用户的头和指示器进行成像的先前的视频;基于所述视频计算被指示器部分遮挡的用户的先前的视线;并且存储沿先前的视线的空间坐标。
本公开的另一方面提供了一种计算设备,该计算设备包括逻辑机和数据存储机;数据存储机存储可由逻辑机执行以进行以下操作的指令:经由硬件接口从机器视觉系统接收对用户的头和指示器进行成像的视频;基于所述视频计算被指示器部分遮挡的用户的初始视线;参考一个或多个经配准的对象的位置数据,标识沿所述初始视线放置的定向到的对象;基于视频计算被指示器部分遮挡的用户的后续视线;以及沿所述后续视线在显示器上形成图像以表示定向到的对象。
在一些实现中,上述指令可进一步执行以响应于来自用户的选择命令选择所标识的定向到的对象。所述指令可进一步执行以从另一个计算系统接收一个或多个对象的位置数据。在这些和其它实现中,机器视觉系统和/或显示器可以被集成在用户可佩戴的头戴式设备中。
本公开的另一个方面提供了一种在操作地耦合到机器视觉系统和显示器的计算系统中执行的方法。该方法包括下述动作:从机器视觉系统接收对用户的头和手进行成像的视频;基于该视频计算被手部分遮挡的用户的初始视线;参考一个或多个对象的位置数据标识沿初始视线放置的定向到的对象;处理该视频以标识手沿视线离开用户的移动;响应于手沿视线离开用户的移动,移位图像的深度坐标;处理所述视频以标识手的闭合,其中手仍然在所述视线中;以及响应于所述手的闭合减小图像的尺寸,其中所述手维持在所述视线中。

Claims (15)

1.在操作上耦合到机器视觉系统的计算系统中,一种方法包括:
从所述机器视觉系统接收对在同一视野中的用户的头和指示器进行成像的视频;
基于所述视频计算被所述指示器部分遮挡的所述用户的几何视线;
参考一个或多个对象的位置数据,标识沿所述几何视线放置的定向到的对象;
处理所述视频以标识所述指示器沿所述几何视线的递增前向移动;以及
响应于所述递增前向移动,执行与所述定向到的对象相关联的处理。
2.如权利要求1所述的方法,其特征在于,还包括在操作上耦合到所述计算系统的显示器上呈现所述一个或多个对象。
3.如权利要求1所述的方法,其特征在于,计算所述几何视线包括根据所述视频计算所述头的空间坐标。
4.如权利要求1所述的方法,其特征在于,计算所述几何视线包括根据所述视频计算所述用户的眼睛或瞳孔的空间坐标。
5.如权利要求1所述的方法,其特征在于,计算所述几何视线包括根据所述视频计算所述指示器的空间坐标,并且其中所述几何视线是通过所述指示器并通过所述用户的所述眼睛的直线。
6.如权利要求1所述的方法,其特征在于,标识所述定向到的对象包括确定所述定向到的对象是否沿着所述几何视线被放置。
7.如权利要求1所述的方法,其特征在于,所述指示器包括所述用户的手指。
8.如权利要求1所述的方法,其特征在于,所述机器视觉系统包括深度相机,并且其中所述视频包括来自所述深度相机的一系列时间分辨深度图像。
9.如权利要求1所述的方法,其特征在于,所述机器视觉系统包括平面图像相机,并且其中所述视频包括来自所述平面图像相机的一系列时间分辨图像。
10.如权利要求1所述的方法,其特征在于,所述机器视觉系统的深度和平面图像相机具有以相同方向取向的平行的光轴。
11.如权利要求1所述的方法,其特征在于,还包括响应于由所述用户口述的选择命令将所述定向到的对象在视觉上表示为所选对象。
12.如权利要求1所述的方法,其特征在于,还包括通过将空间坐标分配给所述一个或多个对象的每个对象来积累所述位置数据,其中所述空间坐标定义每个对象在所述机器视觉系统的视野内的位置。
13.如权利要求12所述的方法,其特征在于,聚集所述位置数据包括接收定义所述空间坐标的用户输入。
14.如权利要求12所述的方法,其特征在于,所述定向到的对象是被呈现在操作上耦合到所述计算系统的显示器上的虚拟显示对象,并且其中积累所述位置数据包括接收定义了所述显示器的观看区域的空间坐标的用户输入。
15.一种计算系统,所述计算系统包括逻辑机和数据存储机,所述数据存储机存储可由所述逻辑机执行以进行以下操作的指令:
通过硬件接口从所述机器视觉系统接收对所述用户的头和指示器进行成像的视频;
基于所述视频计算被所述指示器部分遮挡的所述用户的初始视线;
参考一个或多个经配准对象的位置数据,标识沿所述初始视线放置的定向到的对象;
基于所述视频计算被所述指示器部分遮挡的所述用户的后续视线;
沿所述后续视线在所述显示器上形成图像以表示所述定向到的对象。
CN201580066105.XA 2014-12-03 2015-11-23 用于自然用户输入的指示器投影 Pending CN107003737A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/559,870 US9823764B2 (en) 2014-12-03 2014-12-03 Pointer projection for natural user input
US14/559,870 2014-12-03
PCT/US2015/062050 WO2016089637A1 (en) 2014-12-03 2015-11-23 Pointer projection for natural user input

Publications (1)

Publication Number Publication Date
CN107003737A true CN107003737A (zh) 2017-08-01

Family

ID=55022670

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201580066105.XA Pending CN107003737A (zh) 2014-12-03 2015-11-23 用于自然用户输入的指示器投影

Country Status (4)

Country Link
US (1) US9823764B2 (zh)
EP (1) EP3227760B1 (zh)
CN (1) CN107003737A (zh)
WO (1) WO2016089637A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111147934A (zh) * 2018-11-02 2020-05-12 宏正自动科技股份有限公司 电子装置及输出画面决定方法

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9740293B2 (en) 2009-04-02 2017-08-22 Oblong Industries, Inc. Operating environment with gestural control and multiple client devices, displays, and users
US9990046B2 (en) * 2014-03-17 2018-06-05 Oblong Industries, Inc. Visual collaboration interface
US9830073B2 (en) * 2014-12-12 2017-11-28 Alpine Electronics, Inc. Gesture assistive zoomable selector for screen
WO2016166902A1 (en) * 2015-04-16 2016-10-20 Rakuten, Inc. Gesture interface
EP3309708A4 (en) * 2015-06-10 2019-03-06 Vtouch Co., Ltd. METHOD AND DEVICE FOR DETECTING GESTURES IN A USER-BASED SPATIAL COORDINATE SYSTEM
US10409443B2 (en) * 2015-06-24 2019-09-10 Microsoft Technology Licensing, Llc Contextual cursor display based on hand tracking
US20170293363A1 (en) * 2016-04-07 2017-10-12 Jeffrey Shawn McLaughlin System And Methods For Eye Gaze Triggered Control Of Appliance By Hand Gesture
US10140776B2 (en) 2016-06-13 2018-11-27 Microsoft Technology Licensing, Llc Altering properties of rendered objects via control points
CN111610858B (zh) * 2016-10-26 2023-09-19 创新先进技术有限公司 基于虚拟现实的交互方法及装置
US10436615B2 (en) 2017-04-24 2019-10-08 Carnegie Mellon University Virtual sensor system
US10872470B2 (en) * 2018-04-05 2020-12-22 Lenovo (Singapore) Pte. Ltd. Presentation of content at headset display based on other display not being viewable
US10922862B2 (en) 2018-04-05 2021-02-16 Lenovo (Singapore) Pte. Ltd. Presentation of content on headset display based on one or more condition(s)
US10831265B2 (en) * 2018-04-20 2020-11-10 Microsoft Technology Licensing, Llc Systems and methods for gaze-informed target manipulation
CN112204505A (zh) * 2018-06-06 2021-01-08 索尼公司 信息处理装置、信息处理方法和程序
EP3623996A1 (en) * 2018-09-12 2020-03-18 Aptiv Technologies Limited Method for determining a coordinate of a feature point of an object in a 3d space
CN109591033A (zh) * 2018-09-28 2019-04-09 广州智伴人工智能科技有限公司 一种非接触式人机交互系统
CN110300225A (zh) * 2019-06-28 2019-10-01 联想(北京)有限公司 一种信息处理方法及电子设备
US11227593B2 (en) * 2019-06-28 2022-01-18 Rovi Guides, Inc. Systems and methods for disambiguating a voice search query based on gestures
US11243117B2 (en) * 2019-09-11 2022-02-08 Jdrf Electromag Engineering Inc. NIR motion detection system and method

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120050273A1 (en) * 2010-08-26 2012-03-01 Samsung Electronics Co., Ltd. Apparatus and method for controlling interface
CN102959616A (zh) * 2010-07-20 2013-03-06 普莱姆森斯有限公司 自然交互的交互真实性增强
CN102981616A (zh) * 2012-11-06 2013-03-20 中兴通讯股份有限公司 增强现实中对象的识别方法及系统和计算机
CN103180893A (zh) * 2011-08-23 2013-06-26 索尼公司 用于提供三维用户界面的方法和系统
CN103347437A (zh) * 2011-02-09 2013-10-09 普莱姆森斯有限公司 3d映射环境中的凝视检测
US20140184494A1 (en) * 2012-12-31 2014-07-03 Giedrius Tomas Burachas User Centric Interface for Interaction with Visual Display that Recognizes User Intentions

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7515173B2 (en) * 2002-05-23 2009-04-07 Microsoft Corporation Head pose tracking system
US7348963B2 (en) * 2002-05-28 2008-03-25 Reactrix Systems, Inc. Interactive video display system
US7667700B1 (en) * 2004-03-05 2010-02-23 Hrl Laboratories, Llc System and method for navigating operating in a virtual environment
US7893920B2 (en) 2004-05-06 2011-02-22 Alpine Electronics, Inc. Operation input device and method of operation input
US7950026B1 (en) * 2004-06-24 2011-05-24 Julian Michael Urbach Virtual application execution system and method
US20100231506A1 (en) * 2004-09-07 2010-09-16 Timothy Pryor Control of appliances, kitchen and home
US8494215B2 (en) * 2009-03-05 2013-07-23 Microsoft Corporation Augmenting a field of view in connection with vision-tracking
EP2226713A1 (en) * 2009-03-05 2010-09-08 TELEFONAKTIEBOLAGET LM ERICSSON (publ) Cooperative drag and drop
US8232990B2 (en) * 2010-01-05 2012-07-31 Apple Inc. Working with 3D objects
US20110209058A1 (en) * 2010-02-25 2011-08-25 Microsoft Corporation Multi-screen hold and tap gesture
US8707174B2 (en) * 2010-02-25 2014-04-22 Microsoft Corporation Multi-screen hold and page-flip gesture
EP2372512A1 (en) * 2010-03-30 2011-10-05 Harman Becker Automotive Systems GmbH Vehicle user interface unit for a vehicle electronic device
US20130154913A1 (en) * 2010-12-16 2013-06-20 Siemens Corporation Systems and methods for a gaze and gesture interface
US8788947B2 (en) * 2011-06-14 2014-07-22 LogMeln, Inc. Object transfer method using gesture-based computing device
KR101235432B1 (ko) * 2011-07-11 2013-02-22 김석중 3차원 모델링된 전자기기의 가상터치를 이용한 원격 조작 장치 및 방법
US8581901B2 (en) * 2011-07-28 2013-11-12 Adobe Systems Incorporated Methods and apparatus for interactive rotation of 3D objects using multitouch gestures
US9323325B2 (en) * 2011-08-30 2016-04-26 Microsoft Technology Licensing, Llc Enhancing an object of interest in a see-through, mixed reality display device
US9255813B2 (en) * 2011-10-14 2016-02-09 Microsoft Technology Licensing, Llc User controlled real object disappearance in a mixed reality display
US9311883B2 (en) * 2011-11-11 2016-04-12 Microsoft Technology Licensing, Llc Recalibration of a flexible mixed reality device
US9170674B2 (en) * 2012-04-09 2015-10-27 Qualcomm Incorporated Gesture-based device control using pressure-sensitive sensors
KR101533320B1 (ko) * 2012-04-23 2015-07-03 주식회사 브이터치 포인터가 불필요한 3차원 객체 정보 획득 장치
US9183676B2 (en) * 2012-04-27 2015-11-10 Microsoft Technology Licensing, Llc Displaying a collision between real and virtual objects
KR101334585B1 (ko) * 2012-05-29 2013-12-05 주식회사 브이터치 프로젝터를 통해 표시되는 정보를 이용하여 가상터치를 수행하는 원격 조작 장치 및 방법
US9021387B2 (en) * 2012-07-31 2015-04-28 Hewlett-Packard Development Company, L.P. Re-sizing user interface object on touch sensitive display
US9977492B2 (en) * 2012-12-06 2018-05-22 Microsoft Technology Licensing, Llc Mixed reality presentation
US20140191927A1 (en) * 2013-01-09 2014-07-10 Lg Electronics Inc. Head mount display device providing eye gaze calibration and control method thereof
US9851803B2 (en) * 2013-03-15 2017-12-26 Eyecam, LLC Autonomous computing and telecommunications head-up displays glasses
US10025486B2 (en) * 2013-03-15 2018-07-17 Elwha Llc Cross-reality select, drag, and drop for augmented reality systems

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102959616A (zh) * 2010-07-20 2013-03-06 普莱姆森斯有限公司 自然交互的交互真实性增强
US20120050273A1 (en) * 2010-08-26 2012-03-01 Samsung Electronics Co., Ltd. Apparatus and method for controlling interface
CN103347437A (zh) * 2011-02-09 2013-10-09 普莱姆森斯有限公司 3d映射环境中的凝视检测
CN103180893A (zh) * 2011-08-23 2013-06-26 索尼公司 用于提供三维用户界面的方法和系统
CN102981616A (zh) * 2012-11-06 2013-03-20 中兴通讯股份有限公司 增强现实中对象的识别方法及系统和计算机
US20140184494A1 (en) * 2012-12-31 2014-07-03 Giedrius Tomas Burachas User Centric Interface for Interaction with Visual Display that Recognizes User Intentions

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111147934A (zh) * 2018-11-02 2020-05-12 宏正自动科技股份有限公司 电子装置及输出画面决定方法
CN111147934B (zh) * 2018-11-02 2022-02-25 宏正自动科技股份有限公司 电子装置及输出画面决定方法

Also Published As

Publication number Publication date
EP3227760A1 (en) 2017-10-11
US9823764B2 (en) 2017-11-21
US20160162082A1 (en) 2016-06-09
EP3227760B1 (en) 2020-12-23
WO2016089637A1 (en) 2016-06-09

Similar Documents

Publication Publication Date Title
CN107003737A (zh) 用于自然用户输入的指示器投影
CN107004279A (zh) 自然用户界面相机校准
US11546505B2 (en) Touchless photo capture in response to detected hand gestures
US20220206588A1 (en) Micro hand gestures for controlling virtual and graphical elements
CN110647237B (zh) 在人工现实环境中基于手势的内容共享
CN104756045B (zh) 用于跟踪由关节连接的身体部位的可佩戴传感器
US10635895B2 (en) Gesture-based casting and manipulation of virtual content in artificial-reality environments
CN106462233B (zh) 用于显示设备观看者视线吸引的方法和设备
US11861062B2 (en) Blink-based calibration of an optical see-through head-mounted display
CN117120962A (zh) 用于控制虚拟和图形元素的映射手部区域之间的双手交互
CN104871084B (zh) 自适应投影仪
US20180046874A1 (en) System and method for marker based tracking
CN110045816A (zh) 近眼显示器和系统
CN117178247A (zh) 用于动画化及控制虚拟和图形元素的手势
CN110520899A (zh) 标识在环境中的标记的位置
CN106030610B (zh) 移动设备的实时3d姿势识别和跟踪系统
CN106062862A (zh) 用于沉浸式和交互式多媒体生成的系统和方法
CN106575039A (zh) 具有确定用户眼镜特性的眼睛跟踪设备的平视显示器
US20180088676A1 (en) Gesture interface
WO2020197626A1 (en) Methods for two-stage hand gesture input
CN110163899A (zh) 图像匹配方法和图像匹配装置
WO2012142202A1 (en) Apparatus, systems and methods for providing motion tracking using a personal viewing device
CN111344749A (zh) 引向用户关注
CN109074212A (zh) 信息处理装置、信息处理方法和程序
JP2013218535A (ja) 三次元モデリングされたcg画像内にcg画像化された手指を表示する方法及び装置、並びに三次元モデリングされたcg画像を表示する広視野角ヘッドマウントディスプレイ装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20170801

RJ01 Rejection of invention patent application after publication