CN112424727A - 用于可穿戴***的跨模态输入融合 - Google Patents

用于可穿戴***的跨模态输入融合 Download PDF

Info

Publication number
CN112424727A
CN112424727A CN201980044870.XA CN201980044870A CN112424727A CN 112424727 A CN112424727 A CN 112424727A CN 201980044870 A CN201980044870 A CN 201980044870A CN 112424727 A CN112424727 A CN 112424727A
Authority
CN
China
Prior art keywords
user
input
wearable system
sensor
gesture
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
CN201980044870.XA
Other languages
English (en)
Inventor
P·莱西
S·A·米勒
N·A·克莱默
D·C·伦德马克
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.)
Magic Leap Inc
Original Assignee
Magic Leap Inc
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 Magic Leap Inc filed Critical Magic Leap Inc
Publication of CN112424727A publication Critical patent/CN112424727A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed 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
    • 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
    • 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/16Sound input; Sound output
    • G06F3/167Audio in a user interface, e.g. using voice commands for navigating, audio feedback
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/20Image enhancement or restoration using local operators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/038Indexing scheme relating to G06F3/038
    • G06F2203/0381Multimodal input, i.e. interface arrangements enabling the user to issue commands by simultaneous use of input devices of different nature, e.g. voice plus gesture on digitizer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/04Indexing scheme for image data processing or generation, in general involving 3D image data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/24Indexing scheme for image data processing or generation, in general involving graphical user interfaces [GUIs]

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)
  • Audiology, Speech & Language Pathology (AREA)
  • Health & Medical Sciences (AREA)
  • Multimedia (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Graphics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • User Interface Of Digital Computer (AREA)
  • Position Input By Displaying (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Mechanical Optical Scanning Systems (AREA)

Abstract

可穿戴***和方法的示例可以使用多个输入(例如手势、头部姿势、眼睛注视、声音、图腾和/或环境因素(例如,位置))来确定应该执行的命令以及应该在三维(3D)环境中进行操作的对象。可穿戴***可以检测不同的输入何时会聚在一起,诸如何时用户使用诸如眼睛注视、头部姿势、手势和图腾输入的多个输入来选择虚拟对象。在检测到输入会聚后,可穿戴***可以执行跨模态滤波方案,该跨模态滤波方案利用会聚的输入来帮助正确解释用户提供哪个命令或用户瞄准哪个对象。

Description

用于可穿戴***的跨模态输入融合
相关申请的交叉引用
本申请要求于2018年5月22日提交的题为“增强现实中的肌电传感器预测(Electromyographic Sensor Prediction in Augmented Reality)”的美国临时专利申请号62/675,164和于2018年6月29日提交的题为“用于可穿戴***的跨模态输入融合(Transmodal Input Fusion for a Wearable System)”的美国临时专利申请号62/692,519的优先权,其公开通过引用全部合并于此。
版权声明
该专利文件的公开内容的一部分包含受版权保护的材料。版权所有者不反对任何人以专利和商标局专利文件或记录中的形式复制专利文件或专利公开的内容,但保留其它所有版权。
技术领域
本公开涉及虚拟现实和增强现实成像以及可视化***,并且更具体地,涉及动态融合多种模式的用户输入以促进与三维(3D)环境中的虚拟对象的交互。
背景技术
现代计算和显示技术已经促进了用于所谓的“虚拟现实”、“增强现实”或“混合现实”体验的***的开发,其中,以它们似乎是真实的或可能被感知为真实的方式向用户呈现数字再现的图像或其一部分。虚拟现实或“VR”场景通常涉及数字或虚拟图像信息的呈现,而对其它实际真实世界的视觉输入不透明;增强现实或“AR”场景通常涉及数字或虚拟图像信息的呈现,以作为对用户周围的实际世界的可视化的增强;混合现实或“MR”与融合真实世界和虚拟世界以产生其中物理和虚拟对象共存并实时交互的新环境有关。事实证明,人类的视觉感知***非常复杂,并且要产生促进虚拟图像元素以及其它虚拟或真实世界图像元素的舒适、自然感觉、丰富的呈现的VR、AR或MR技术是具有挑战性的。在此公开的***和方法解决了与VR、AR和MR技术有关的各种挑战。
发明内容
在此所述的可穿戴***和方法的示例可以使用多个输入(例如,来自用户输入设备的手势、头部姿势、眼睛注视、语音或环境因素(例如,位置))来确定应被执行的命令或在三维(3D)环境中应***作或选择的对象。多个输入也可以由可穿戴设备使用,以允许用户与物理对象、虚拟对象、文本、图形、图标、用户界面等进行交互。
例如,可穿戴显示设备可以被配置为动态地解析多个传感器输入以执行任务或瞄准对象。可穿戴设备可以动态使用多个输入的组合,诸如头部姿势、眼睛注视、手、手臂或身体姿势、语音命令、用户输入设备、环境因素(例如,用户的位置或用户周围的对象),以确定用户旨在选择用户环境中的哪个对象或可穿戴设备可以执行的动作。可穿戴设备可以动态选择一组传感器输入,该组传感器输入共同指示用户选择目标对象的意图(提供用户选择目标对象的意图的独立或补充指示的输入可以称为会聚(convergent)或会聚输入)。可穿戴设备可以组合或融合来自该组的输入(例如,以增强如在此所述的用户交互的质量)。如果稍后来自该组的传感器输入示出来自目标对象的发散(divergence),则可穿戴设备可以停止使用(或减少赋予的相对权重)发散的传感器输入。
动态地使用会聚的传感器输入而忽略(或减小赋予的相对权重)发散的传感器输入的过程在此有时被称为跨模态输入融合(或简称为跨模态融合),并且可以提供优于仅接受来自多个传感器的输入的技术的实质性优势。跨模态输入融合可以在动态实时的基础上预期或甚至预测,许多可能的传感器输入中的哪些是传达用户意图瞄准或操作用户的3DAR/MR/VR环境中的真实或虚拟对象的适当模态输入。
本说明书中描述的主题的一种或多种实现方式的细节在附图和以下描述中阐述。根据说明书、附图和权利要求书,其它特征、方面和优点将变得显而易见。该发明内容或以下详细描述均不旨在限定或限制本发明主题的范围。
附图说明
图1描绘了具有某些虚拟现实对象以及被人观看的某些物理对象的混合现实场景的图示。
图2A和图2B示意性地示出可以被配置为使用在此所述的跨模态输入融合技术的可穿戴***的示例。
图3示意性地示出用于使用多个深度平面来模拟三维图像的方法的方面。
图4示意性地示出用于向用户输出图像信息的波导堆叠的示例。
图5示出可以由波导输出的示例出射光束。
图6是示出光学***的示意图,该光学***包括波导装置、用于将光光学耦合至波导装置或从波导装置光学耦合光的光学耦合器子***,以及用于生成多焦点体积显示、图像或光场的控制子***。
图7是可穿戴***的示例的框图。
图8是渲染与所识别的对象有关的虚拟内容的方法的示例的过程流程图。
图9是可穿戴***的另一示例的框图。
图10是用于确定用户对可穿戴***的输入的方法的示例的过程流程图。
图11是用于与虚拟用户界面进行交互的方法的示例的过程流程图。
图12A示意性地示出能视域(field of regard,FOR)、世界相机的视野(FOV)、用户的视野以及用户的注视场(field of fixation)的示例。
图12B示意性地示出用户视野中的虚拟对象和能视域中的虚拟对象的示例。
图13示出使用一种用户输入模式与虚拟对象进行交互的示例。
图14示出使用用户输入模式的组合来选择虚拟对象的示例。
图15示出使用直接用户输入的组合与虚拟对象进行交互的示例。
图16示出用于聚合输入模式的示例计算环境。
图17A示出使用格子树(lattice tree)分析来识别目标虚拟对象的示例。
图17B示出基于多模态输入来确定目标用户界面操作的示例。
图17C示出聚合与用于虚拟对象的输入模式相关联的置信度分数的示例。
图18A和图18B示出计算用户的FOV内的对象的置信度分数的示例。
图19A和图19B示出使用多模态输入与物理环境进行交互的示例。
图20示出基于多模态输入来自动调整虚拟对象的大小的示例。
图21示出基于对象的位置来识别目标虚拟对象的示例。
图22A和图22B示出基于直接和间接输入的组合与用户环境交互的另一示例。
图23示出使用多模态输入与虚拟对象进行交互的示例过程。
图24示出设置与用户交互相关联的直接输入模式的示例。
图25示出具有多模态输入的用户体验的示例。
图26示出具有各种加书签(bookmarked)的应用的示例用户界面。
图27示出当发出搜索命令时的示例用户界面。
图28A至28F示出基于语音和注视输入的组合来编写和编辑文本的示例用户体验。
图29示出基于来自用户输入设备和注视的输入来选择单词的示例。
图30示出基于语音和注视输入的组合来选择单词进行编辑的示例。
图31示出基于注视和手势输入的组合来选择单词进行编辑的示例。
图32示出基于眼睛注视和语音输入的组合来替换单词的示例。
图33示出基于语音和注视输入的组合来改变单词的示例。
图34示出使用虚拟键盘编辑所选单词的示例。
图35示出显示应用于所选单词的可能动作的示例用户界面。
图36示出使用多模态输入与短语进行交互的示例。
图37A和图37B示出使用多模态输入与文本交互的附加示例。
图38是使用多种模式的用户输入与文本交互的示例方法的过程流程图。
图39A示出通过控制器按钮所接收的用户输入的示例。
图39B示出通过控制器触摸板所接收的用户输入的示例。
图39C示出通过控制器或头戴式设备(HMD)的物理运动所接收的用户输入的示例。
图39D示出用户输入如何可以具有不同持续时间的示例。
图40A示出通过控制器按钮所接收的用户输入的附加示例。
图40B示出通过控制器触摸板所接收的用户输入的附加示例。
图41A示出通过各种模式的用户输入所接收的用于空间操纵虚拟环境或虚拟对象的用户输入的示例。
图41B示出通过各种模式的用户输入所接收的用于与平面对象进行交互的用户输入的示例。
图41C示出通过各种模式用户输入所接收的用于与可穿戴***交互的用户输入的示例。
图42A、图42B和图42C示出以精细手指手势和手部运动形式的用户输入的示例。
图43A示出可穿戴***的用户的感知领域的示例,包括视觉感知领域和听觉感知领域。
图43B示出具有多个深度平面的可穿戴***的显示渲染平面的示例。
图44A、图44B和图44C示出不同的交互区域的示例,由此可穿戴***可以取决于用户与哪个交互区域进行交互来不同地接收和响应用户输入。
图45示出单模态用户交互的示例。
图46A、图46B、图46C、图46D和图46E示出多模态用户交互的示例。
图47A、图47B和图47C示出交叉模态用户交互的示例。
图48A、图48B和图49示出跨模态用户交互的示例。
图50是检测模态聚散的方法的示例的过程流程图。
图51示出在单模态、双模态和三模态交互中的用户选择的示例。
图52示出基于多种模式的用户输入的会聚来解释用户输入的示例。
图53示出不同的用户输入如何可以跨不同的交互区域会聚的示例。
图54、图55和图56示出***如何至少部分地基于不同输入的排名(rank)来在多个可能的输入会聚解释中选择的示例。
图57A和图57B是融合多种模式的用户输入以促进用户与可穿戴***的交互的可穿戴***的示例的框图。
图58A是在禁用动态跨模态输入融合的情况下用于用户交互的各种输入对的聚散距离和聚散区域的曲线图。
图58B是在启用动态跨模态输入融合的情况下用于用户交互的各种输入对的聚散距离和聚散区域的曲线图。
图59A和图59B示出在注视和停留事件期间用户交互和反馈的示例。
图60A和图60B示出了可穿戴***的示例,该可穿戴***包括至少一个神经肌肉传感器,诸如例如肌电图(EMG)传感器,并且可以被配置为使用在此所述的跨模态输入融合技术的实施例。
贯穿整个附图,参考标记可以被重新使用以指示参考元件之间的对应关系。提供附图是为了说明在此描述的示例实施例,并不旨在限制本公开的范围。
具体实施方式
概述
现代计算***可以拥有各种用户交互。可穿戴设备可以呈现交互式VR/AR/MR环境,该环境可以包括可由用户通过各种输入与之交互的数据元素。现代计算***通常被设计为基于单个直接输入生成给定的输出。例如,键盘将中继从用户的手指触摸接收到的文本输入。语音识别应用可以基于用户的语音作为直接输入来创建可执行数据字符串。计算机鼠标可以响应于用户的直接操纵(例如,用户的手部动作或手势)引导光标。用户可以与***交互的各种方式在此有时被称为用户输入模式。例如,经由鼠标或键盘的用户输入是基于手势的交互模式(因为手的手指按压键盘上的键或手移动了鼠标)。
然而,在数据丰富和动态交互环境(例如,AR/VR/MR环境)中,诸如键盘、用户输入设备、手势等的传统输入技术可能需要高度的特异性来完成所需的任务。否则,在没有精确输入的情况下,计算***可能遭受高错误率,并且可能导致执行不正确的计算机操作。例如,当用户旨在使用触摸板在3D空间中移动对象时,如果用户未指定目的地或使用触摸板指定对象,则计算***可能无法正确解释移动命令。作为另一示例,使用虚拟键盘(例如,采用用户输入设备或通过手势操纵)作为唯一的输入模式来输入文本字符串可能很慢并且在物理上令人疲劳,因为需要长时间的精细运动控制才能在渲染虚拟键盘的空中或的物理表面(例如,书桌)上键入所描述的键。
为了降低输入命令中所需的特异性程度并减少与不精确命令相关联的错误率,在此所述的可穿戴***可被编程为动态地应用多个输入来识别要选择或作用的对象,执行与对象相关联的交互事件,诸如例如用于选择、移动、重调大小、或瞄准虚拟对象的任务。交互事件可以包括使与虚拟对象相关联的应用(有时称为应用(app))执行(例如,如果目标对象是媒体文件,则交互事件可以包括使媒体播放器播放媒体文件(例如歌曲或视频))。选择目标虚拟对象可以包括执行与目标虚拟对象相关联的应用。如下所述,可穿戴设备可以动态地选择两种或更多种类型的输入(或来自多个输入通道或传感器的输入)中的哪一种来生成用于执行任务的命令或识别要在其上执行命令的目标对象。
随着用户与3D环境进行交互,在任何时间点使用的特定传感器输入可以动态改变。当设备确定输入模式正在提供附加信息以帮助瞄准虚拟对象时,可以动态添加(或如在此进一步所述“融合”)输入模式,并且如果该输入模式不再提供相关信息,则可以动态移除该输入模式。例如,可穿戴设备可以确定用户的头部姿势和眼睛注视对准目标对象。设备可以使用这两种输入模式来辅助选择目标对象。如果设备确定用户也将图腾指向目标对象,则设备可以将图腾输入动态添加到头部姿势和眼睛注视输入,这可以进一步确定用户旨在选择目标对象。可以说,图腾输入已经与头部姿势输入和眼睛注视输入“会聚”。继续该示例,如果用户将目光从目标对象移开,使得用户的眼睛注视不再对准目标对象,则该设备可以在继续使用图腾输入和头部姿势输入时停止使用眼睛注视输入。在该情况下,可以说眼睛注视输入从图腾输入和头部姿势输入“发散”。
可穿戴设备可以动态确定在多个输入模式之间发生的发散和会聚事件,并且可以从这些多个输入模式中动态选择与用户与3D环境的交互相关的输入模式的子集。例如,***可以使用已会聚的输入模式,并且可以忽略已发散的输入模式。可以响应于输入会聚而动态融合或滤波的输入模式的数量不限于该示例中描述的三种模式(图腾、头部姿势、眼睛注视),并且可以在1、2、3、4、5、6或更多传感器输入之间动态切换(因为不同的输入模式会聚或发散)。
可穿戴设备可以通过以下方式使用会聚输入:接受用于分析的输入,通过增加可用的或分配给会聚输入(例如,输入传感器组件)的计算资源,通过选择特定滤波器以应用于一个或多个会聚输入,通过采取其它适当的动作,和/或通过这些动作的任何组合。可穿戴设备可以不使用,停止使用或减轻赋予发散或正在发散的传感器输入的权重。
例如,当输入的输入矢量之间的方差小于阈值时,可以说输入模式会聚。一旦***识别出输入被会聚,***就可以滤波会聚的输入并将它们融合在一起以创建新的条件输入,然后该条件输入可以用来做有用的工作,并可用于以(比可以通过分别使用输入来完成)更大的置信度和准确性执行任务。在各种实施例中,***可以响应于输入的相对会聚而应用动态滤波(例如,将输入动态地融合在一起)。***可以连续评估输入是否会聚。在一些实施例中,***可以相对于输入会聚的强度(例如,两个或更多个输入的输入矢量如何紧密地匹配)来缩放输入融合的强度(例如,***如何强烈地将输入融合在一起)。
动态地使用会聚的传感器输入而忽略(或减小发散的传感器输入所赋予的相对权重)发散的传感器输入的过程在此有时被称为跨模态输入融合(或简称为跨模态融合),并且可以提供胜于仅接受来自多个传感器的输入的技术的实质性优势。跨模态输入融合可以在动态实时的基础上预期或甚至预测,许多可能的传感器输入中的哪些是传达用户在用户的3D AR/MR/VR环境中以真实或虚拟对象为目标或对其进行操作的意图的适当模态输入。
如在此将进一步解释的,输入模式可以包括但不限于手或手指手势、手臂手势、身体姿势、头部姿势、眼睛注视、身体姿势、语音命令、环境输入(例如,用户的位置或用户环境中的对象的位置)、来自另一用户的共享姿势等。用于检测这些输入模式的传感器可以包括,例如,面向外相机(例如,检测手部或身体姿势)、面向内相机(例如,用于检测眼睛注视)、惯性测量单元(IMU,例如,加速度计、重力仪、磁力计)、电磁跟踪传感器***、全球定位***(GPS)传感器、雷达或激光雷达传感器等(例如,参见参考图2A和图2B的传感器示例的描述)。
作为另一示例,当用户说“将那个移动到那里”时,可穿戴***可以使用头部姿势、眼睛注视、手势以及其它环境因素(例如,用户的位置或用户周围的对象的位置)的组合,结合语音命令来确定应移动哪个对象(例如,哪个对象是“那个”)和响应于对这些多个输入的适当动态选择来打算到达哪个目的地(例如“那里”)。
如在此将进一步描述的,用于跨模态输入的技术不仅是多个用户输入模式的聚合。相反,采用此类跨模态技术的可穿戴***可以有利地支持在可穿戴***中提供的3D(与传统的2D交互相比)中增加的深度维度。增加的维度不仅允许附加类型的用户交互(例如,在笛卡尔坐标系中沿着附加轴的旋转或移动),而且还要求高度精确度的用户输入以提供正确的结果。
然而,由于用户对运动控制的限制,用于与虚拟对象进行交互的用户输入并不总是准确的。尽管传统的输入技术可以校准和调节2D空间中用户的运动控制的不准确度,但是由于增加的维度,此类不准确度在3D空间中被放大。然而,传统的输入方法(诸如键盘输入)不适用于调节3D空间中的此类不准确度。由跨模态输入技术提供的一个益处(除其它益处外)是使输入方法适应在3D空间中与对象的流畅且更准确的交互。
因此,跨模态输入技术的实施例可以动态地监控哪些输入模式已经会聚并且使用该组会聚的输入模式来更准确地确定或预测用户旨在与该目标交互。跨模态输入技术的实施例可以动态地监控哪些输入模式已经发散(例如,指示输入模式不再与潜在目标相关),并停止使用这些发散的输入模式(或者与会聚输入模式相比,减少了赋予给发散输入模式的权重)。已会聚的一组传感器输入模式通常是暂时的且不断变化的。例如,当用户在图腾上提供用户输入或使用语音命令时,随着用户移动他或她的手、身体、头部或眼睛,不同的传感器输入模式动态地会聚和发散。因此,跨模态输入技术的潜在优势在于,在任何特定时间或针对3D环境中的任何特定目标对象仅使用正确的一组传感器输入模式。在一些实施例中,***可以基于生理上下文向给定输入分配(比正常分配的)更大的权重。作为示例,***可以确定用户正在尝试抓握和移动虚拟对象。作为响应,***可以将较大的权重分配给手势输入,而将较小的权重分配给其它输入,诸如眼睛注视输入。该***还可以以适当的方式对输入加权中的任何移位进行计时。作为示例,当手势在虚拟对象上会聚时,***可以将权重移位到手势输入。
另外,有利地,在一些实施例中,在此描述的技术可以减少硬件要求和可穿戴***的成本。例如,可穿戴设备可以结合语音命令或头部姿势使用低分辨率的眼睛跟踪相机来执行任务(例如,通过确定这些输入模式中的一些或全部已经会聚在目标对象上),而不是自行利用高分辨率的眼睛跟踪相机(其可能昂贵且使用复杂)来确定任务。在该示例中,使用用户的语音命令可以补偿执行眼睛跟踪时的较低分辨率。相应地,多个用户输入模式的跨模态组合(允许动态选择要使用的多个用户输入模式中的哪一个用户输入模式)与使用单个输入模式相比,可以提供与AR/VR/MR设备更低的成本、更简单、更稳健的用户交互。下面参考图13-59B进一步描述与用于与真实或虚拟对象交互的跨模态传感器融合技术有关的技术的附加益处和示例。
与简单地聚合多个传感器输入相比,针对功能性,诸如例如瞄准小对象,瞄准包含许多对象的视野中的对象,瞄准移动对象,管理近场、中场和远场瞄准方法之间的过渡,操纵虚拟对象等,跨模态融合技术可以提供实质性优势。在一些实现方式中,跨模态融合技术被称为提供TAMDI交互模型,用于:瞄准(例如,指定朝向对象的光标矢量),激活(例如,在3D环境中选择特定对象或区域或体积),操纵(例如,直接移动或改变选择),停用(例如,取消选择)和集成(integration)(例如,如有必要,将先前的选择放回环境中)。
可穿戴***的3D显示示例
可穿戴***(在此也称为增强现实(AR)***)可以被配置为向用户呈现2D或3D虚拟图像。图像可以是静止图像、视频的帧或视频,上述项的组合等。可穿戴***可以包括可穿戴设备,该可穿戴设备可以在环境中单独或组合呈现VR、AR或MR内容,以进行用户交互。可穿戴设备可以是头戴式设备(HMD),其可以包括头戴式显示器。在一些情况下,可穿戴设备可互换地称为AR设备(ARD)。
图1描绘了具有某些虚拟现实对象以及人观看的某些物理对象的混合现实场景的图示。在图1中,描绘了MR场景100,其中MR技术的用户看到了真实世界的公园状设置110,其以人、树、背景中的建筑物以及混凝土平台120为特征。除了这些项目之外,MR技术的用户还可以感知到他“看到”了站在真实世界平台120上的机器人雕像130,以及似乎是大黄蜂的化身的飞行着的卡通般头像角色140,尽管这些元素不存在于真实世界中。
为了使3D显示器产生真实的深度感,且更具体地,产生表面深度的模拟感,可能希望显示器视野中的每个点都生成与其虚拟深度相对应的调节响应(accommodativeresponse)。如果对显示点的调节响应不符合该点的虚拟深度(如由会聚和立体视的双目深度提示确定),则人眼可能会遇到调节冲突,从而导致成像不稳定,有害的眼睛疲劳,头痛,以及在缺乏调节信息的情况下,几乎完全没有表面深度。
VR、AR和MR体验可以通过具有显示器的显示***来提供,在该显示器中,与多个渲染平面相对应的图像被提供给观看者。渲染平面可以对应于一个深度平面或多个深度平面。对于每个渲染平面,图像可能不同(例如,提供稍有不同的场景或对象的呈现),并且可能被观看者的眼睛分别聚焦,从而基于使位于不同渲染平面上的场景的不同图像特征聚焦所需的眼睛调节,或基于观察到不同渲染平面上的不同图像特征脱焦,为用户提供深度提示。如在此其它地方所讨论的,此类深度提示提供了可靠的深度感知。
图2A示出可穿戴***200的示例。可穿戴***200包括显示器220以及支持显示器220的功能的各种机械和电子模块和***。显示器220可以耦合至框架230,该框架230可以由用户、佩戴者或观看者210佩戴。显示器220可以定位于用户210的眼睛前面。显示器220可以向用户呈现AR/VR/MR内容。显示器220可以包括戴在用户的头上的头戴式显示器(HMD)。在一些实施例中,扬声器240耦合至框架230并且与用户的耳道相邻定位(在一些实施例中,未示出的另一个扬声器与用户的另一耳道相邻定位,以提供立体声/可成形的声音控制)。显示器220可以包括音频传感器232(例如,麦克风),用于检测来自要在其上执行语音识别的环境的音频流。
可穿戴***200可以包括面向外成像***464(图4中所示),该面向外成像***464观察用户周围环境中的世界。可穿戴***200还可以包括可以跟踪用户的眼睛运动的面向内成像***462(图4中所示)。面向内成像***可以跟踪一只眼睛的运动或两只眼睛的运动。面向内成像***462可以附接至框架230,并且可以与处理模块260或270电通信,该处理模块260或270可以处理由面向内成像***获取的图像信息以确定例如用户210的眼睛的瞳孔直径或取向、眼睛运动或眼睛姿势。
作为示例,可穿戴***200可使用面向外成像***464或面向内成像***462来获取用户的姿势(例如,手势)的图像。图像可以是静止图像、视频的帧,或视频,上述项的组合等。可穿戴***200可以包括其它传感器,诸如肌电图(EMG)传感器,其感测指示肌肉群的动作的信号(例如,参见参考图60A和图60B的描述)。
显示器220可以诸如通过有线引线或无线连接可操作地耦合250到本地数据处理模块260,该本地数据处理模块260可以以各种配置安装,诸如固定地附接至框架230,固定地附接至由用户佩戴的头盔或帽子,嵌入耳机中或以其它方式可拆卸地附接至用户210(例如,以背包式配置、皮带耦合式配置)。
本地处理和数据模块260可以包括硬件处理器以及数字存储器,诸如非易失性存储器(例如,闪存),二者都可以用于辅助数据的处理、缓存和存储。数据可以包括如下数据:a)从环境传感器(其可以例如可操作地耦合至框架230或以其它方式附接至用户210)、音频传感器232(例如麦克风)捕获的数据;或b)使用远程处理模块270或远程数据存储库280获取或处理的数据,可能在此类处理或取得之后传递给显示器220。本地处理和数据模块260可以通过通信链路262或264(诸如经由有线或无线通信链路)可操作地耦合至远程处理模块270或远程数据存储库280,使得这些远程模块可用作本地处理和数据模块260的资源。此外,远程处理模块280和远程数据存储库280可以可操作地彼此耦合。
在一些实施例中,远程处理模块270可以包括被配置为分析和处理数据和/或图像信息的一个或多个处理器。在一些实施例中,远程数据存储库280可以包括数字数据存储设施,其可以通过互联网或“云”资源配置中的其它网络配置来使用。在一些实施例中,所有数据被存储并且所有计算在本地处理和数据模块中执行,从而允许来自远程模块的完全自主的使用。
除了或替代在图2A或图2B中描述(如下所述)的组件,可穿戴***200可以包括环境传感器以检测用户周围的对象、刺激、人、动物、位置或世界的其它方面。环境传感器可以包括图像捕获设备(例如,相机、面向内成像***、面向外成像***等)、麦克风、惯性测量单元(IMU)(例如,加速度计、陀螺仪、磁力计(罗盘))、全球定位***(GPS)单元、无线电设备、高度计、气压计、化学传感器、湿度传感器、温度传感器、外部麦克风、光传感器(例如光度计)、计时设备(例如时钟或日历)或任何组合,或其子组合。在某些实施例中,IMU可以是9轴IMU,其可以包括三轴陀螺仪、三轴加速度计和三轴磁力计。
环境传感器还可包括各种生理传感器。这些传感器可以测量或估计用户的生理参数,诸如心率、呼吸频率、皮肤电反应、血压、脑电图状态等。环境传感器可以进一步包括发射设备,该发射设备被配置为接收诸如激光、可见光、不可见波长的光或声音(例如,可听声音、超声或其它频率)的信号。在一些实施例中,一个或多个环境传感器(例如,相机或光传感器)可以被配置为测量环境的周围环境光(例如,亮度)(例如,以捕获环境的照明条件)。物理接触传感器(诸如应变仪、路缘触感器等)也可以被包括为环境传感器。
图2B示出可穿戴***200的另一示例,其包括许多传感器的示例。来自这些传感器中任何一个传感器的输入都可以被***用于在此所述的跨模态传感器融合技术中。示出了头戴式可穿戴组件200可操作地耦合(68)至本地处理和数据模块(70),诸如腰带包,这里使用物理多芯引线,其还将控制和快速释放模块(86)特征化为将腰带包连接至头戴式显示器。头戴式可穿戴组件200在图2B中以及在下面也用附图标记58参考。本地处理和数据模块(70)在这里通过诸如低功率蓝牙的无线连接可操作地耦合(100)至手持组件(606);手持组件(606)也可以诸如通过无线连接(诸如低功率蓝牙)直接可操作地耦合(94)至头戴式可穿戴组件(58)。通常,在传递IMU数据以协调各个组件的姿势检测的情况下,期望高频连接,诸如在数百个或数千个周期/秒或更高的范围内;每秒数十个周期可能足以用于电磁定位感测,诸如通过传感器(604)和发射机(602)配对。还示出了全局坐标系(10),其代表用户周围的真实世界中的固定对象,诸如墙壁(8)。
云资源(46)还可以分别可操作地耦合(42、40、88、90)至本地处理和数据模块(70),头戴式可穿戴组件(58),可能耦合至墙壁(8)或相对于全局坐标系(10)固定的其它项目的资源。耦合至墙壁(8)或相对于全局坐标系(10)具有已知位置和/或取向的资源可以包括无线收发机(114)、电磁发射机(602)和/或接收机(604)、被配置为发射或反射给定类型的辐射的信标或反射器(112)(诸如红外LED信标)、蜂窝网络收发机(110)、RADAR发射机或检测器(108)、LIDAR发射机或检测器(106)、GPS收发机(118)、具有已知可检测图案的海报或标记物(122)以及相机(124)。
***200可以包括深度相机或深度传感器(154),其可以例如是立体三角测量样式的深度传感器(诸如无源立体深度传感器、纹理投影立体深度传感器或结构化光立体深度传感器)或时间或飞行样式的深度传感器(诸如LIDAR深度传感器或调制发射深度传感器)。***200可以包括面向前方的“世界”相机(124,其可以是灰度相机,例如具有能够720p范围分辨率的传感器)以及相对高分辨率的“图片相机”(156,其可以是全彩色相机,例如具有能够2百万像素或更高分辨率的传感器)。
头戴式可穿戴组件(58)除了照明发射机(130)以外,还具有类似的组件,该照明发射机(130)被配置为辅助相机(124)检测器,诸如用于红外相机(124)的红外发射机(130);头戴式可穿戴组件(58)上还具有一个或多个应变仪(116),该应变仪可以固定地耦合至头戴式可穿戴组件(58)的框架或机械平台,并被配置为确定此类平台在在诸如电磁接收机传感器(604)或显示元件(220)的组件之间的偏转,其中了解平台是否发生弯曲(诸如在平台的变薄部分处,诸如图2B中所示的眼镜状平台的鼻子上方的部分)可能是有价值的。
头戴式可穿戴组件(58)还具有处理器(128)和一个或多个IMU(102)。组件中的每个组件优选地可操作地耦合至处理器(128)。示出了具有相似组件的手持组件(606)以及本地处理和数据模块(70)。如图2B中所示,在具有许多感测和连接机制的情况下,可以利用此类***来提供非常高水平的连接、***组件集成和位置/取向跟踪。例如,通过此类配置,各种主要移动组件(58、70、606)可以使用WiFi、GPS或蜂窝信号三角测量在相对于全局坐标系的位置方面进行定位;信标、电磁跟踪、RADAR和LIDAR***可以提供更进一步的位置和/或取向信息和反馈。标记物和相机也可用于提供有关相对和绝对位置和取向的进一步信息。例如,各种相机组件(124)(诸如示出为与头戴式可穿戴组件(58)耦合的那些相机组件)可用于捕获可在同时定位和映射协议(或“SLAM”)中使用的数据,以确定组件(58)的位置以及如何相对于其它组件取向。
参考图2A和图2B的描述描述了可与可穿戴***200一起使用的传感器和输入模式的类型的说明性和非限制性列表。然而,并非在每个实施例中都需要使用所有这些传感器或输入模式。此外,也可以使用附加或替代的传感器。用于可穿戴***200的特定实施例的传感器和输入模式的选择可以基于诸如成本、重量、尺寸、复杂性等因素。可以设想传感器和输入模式的许多排列和组合。包括传感器(诸如参考图2A和图2B描述的传感器)的可穿戴***有利地可以利用在此描述的跨模态输入融合技术来动态地选择这些传感器输入的子集,以辅助用户选择、瞄准或与真实或虚拟对象交互。传感器输入的子集(通常小于所有可能的传感器输入的集合)可以包括已会聚到目标对象上的传感器输入,并可以排除(或减少依赖)从子集发散或尚未会聚到目标对象上的传感器输入。
人的视觉***是复杂的,并且提供对深度的真实感是具有挑战性的。不受理论的限制,据信,由于聚散和调节的组合,对象的观看者可以将对象感知为三维的。两只眼睛相对于彼此的聚散运动(例如,瞳孔朝向或远离彼此的转动运动以会聚眼睛的视线以注视在对象上)与眼睛晶状体的聚焦(或“调节”)密切相关。在正常情况下,改变眼睛晶状体的焦点或调节眼睛,以将焦点从一个对象改变为另一距离的另一对象,在一种称为“调节-聚散反射”的关系下,将自动在相同距离上使聚散发生匹配变化。同样,在正常情况下,聚散的变化将触发调节的匹配变化。在调节和聚散之间提供更好匹配的显示***可以形成更逼真的和更舒适的三维图像模拟。
图3示出了使用多个渲染平面来模拟三维图像的方法的方面。参考图3,在z轴上距眼睛302和眼睛304的不同距离处的对象由眼睛302和眼睛304调节,以使得这些对象在焦点中。眼睛302和眼睛304采取特定的调节状态,以使沿着z轴的不同距离处的对象进入焦点。因此,可以说特定的调节状态与渲染平面306中的特定一个渲染平面相关联,该特定渲染平面具有相关联的焦距,以使得当眼睛处于特定渲染平面的调节状态时,该渲染平面中的对象或对象的部分被聚焦。在一些实施例中,可以通过为眼睛302和304中的每一只眼睛提供图像的不同呈现,并且还通过提供与渲染平面中每一个渲染平面对应的图像的不同呈现,来模拟三维图像。尽管为了清楚说明而被示出为分离的,但应理解的是,例如随着沿z轴的距离增加,眼睛302和眼睛304的视野可能重叠。另外,虽然为了便于说明而被示出为平坦的,但应理解的是,渲染平面的轮廓在物理空间中可以是弯曲的,使得渲染平面中的所有特征在特定的调节状态下与眼睛对焦。不受理论的限制,据信人类眼睛通常可以解释有限数量的渲染平面以提供深度感知。因此,通过向眼睛提供与这些有限数量的渲染平面中的每一个渲染平面对应的图像的不同呈现,可以实现所感知的深度的高度可信的模拟。
波导堆叠组件
图4示出了用于将图像信息输出给用户的波导堆叠的示例。可穿戴***400包括波导堆叠或堆叠波导组件480,其可用于使用多个波导432b、434b、436b、438b、4400b向眼睛/大脑提供三维感知。在一些实施例中,可穿戴***400可以对应于图2A或图2B的可穿戴***200,图4更详细地示意性地示出了该可穿戴***200的一些部分。例如,在一些实施例中,波导组件480可以被集成到图2和图2B的显示器220中。
继续参考图4,波导组件480可以还包括位于波导之间的多个特征458、456、454、452。在一些实施例中,特征458、456、454、452可以是透镜。在其它实施例中,特征458、456、454、452可以不是透镜。相反,它们可以简单地是间隔物(例如,包层和/或用于形成气隙的结构)。
波导432b、434b、436b、438b、440b或多个透镜458、456、454、452可以被配置为以各种级别的波前曲率或光线发散度向眼睛发送图像信息。每个波导级别可以与特定渲染平面相关联,并且可以被配置为输出对应于该渲染平面的图像信息。图像注入装置420、422、424、426、428可用于将图像信息注入到波导440b、438b、436b、434b、432b中,每个波导可以被配置为分配入射光穿过每个相应的波导以便朝着眼睛410输出。光从图像注入装置420、422、424、426、428的输出表面射出,并且被注入到波导440b、438b、436b、434b、432b的相应输入边缘。在一些实施例中,可以将单个光束(例如,准直光束)注入到每个波导中,以输出克隆的准直光束的整个场,这些克隆的准直光束以对应于与特定波导相关联的渲染平面的特定角度(和发散量)朝向眼睛410定向。
在一些实施例中,图像注入装置420、422、424、426、428是分立的显示器,每个显示器产生用于分别注入到相应波导440b、438b、436b、434b、432b中的图像信息。在一些其它实施例中,图像注入装置420、422、424、426、428是单个多路复用显示器的输出端,其可以例如经由一个或多个光导管(例如光纤电缆)将图像信息管道传输到图像注入装置420、422、424、426、428中的每一者。
控制器460控制堆叠波导组件480和图像注入装置420、422、424、426、428的操作。控制器460包括编程(例如,非暂时性计算机可读介质中的指令),该编程调节到波导440b、438b、436b、434b、432b的图像信息的定时和提供。在一些实施例中,控制器460可以是单个整体设备,或者是通过有线或无线通信信道连接的分布式***。在一些实施例中,控制器460可以是处理模块260或270(如图2A、2B所示)的部分。
波导440b、438b、436b、434b、432b可以被配置为通过全内反射(TIR)在每一个相应的波导内传播光。波导440b、438b、436b、434b、432b可以各自是平面的或具有其它形状(例如,弯曲),具有顶部和底部主表面以及在这些顶部和底部主表面之间延伸的边缘。在所示的配置中,波导440b、438b、436b、434b、432b可以各自包括光提取光学元件440a、438a、436a、434a、432a,这些光提取光学元件被配置为通过将每一个相应波导内传播的光重定向而将光提取到波导外,以向眼睛410输出图像信息。提取的光也可以被称为耦出光,并且光提取光学元件也可以被称为耦出光学元件。提取的光束在波导中传播的光照射光重定向元件的位置处被波导输出。光提取光学元件(440a、438a、436a、434a、432a)可以例如是反射或衍射光学特征。虽然为了便于描述和清晰绘图起见而将其图示设置在波导440b、438b、436b、434b、432b的底部主表面处,但是在一些实施例中,光提取光学元件440a、438a、436a、434a、432a可以设置在顶部或底部主表面处,或可以直接设置在波导440b、438b、436b、434b、432b的体积中。在一些实施例中,光提取光学元件440a、438a、436a、434a、432a可以形成在被附接到透明基板的材料层中以形成波导440b、438b、436b、434b、432b。在一些其它实施例中,波导440b、438b、436b、434b、432b可以是单片材料,并且光提取光学元件440a、438a、436a、434a、432a可以形成在那片材料的表面上或那片材料的内部中。
继续参考图4,如本文所讨论的,每一个波导440b、438b、436b、434b、432b被配置为输出光以形成与特定渲染平面对应的图像。例如,最接近眼睛的波导432b可以被配置为将如注入到这种波导432b中的准直光传送到眼睛410。准直光可以代表光学无限远焦平面。下一上行波导434b可以被配置为将传输通过第一透镜452(例如,负透镜)的准直光在其可以到达眼睛410之前发出。第一透镜452可以被配置为产生轻微凸面的波前曲率,使得眼睛/大脑将来自该下一上行波导434b的光解释为来自第一焦平面,该第一焦平面从光学无限远处向内更靠近眼睛410。类似地,第三上行波导436b将输出光在到达眼睛410之前传输通过第一透镜452和第二透镜454。第一透镜452和第二透镜454的组合光焦度(optical power)可被配置为产生波前曲率的另一增量,以使得眼睛/大脑将来自第三波导436b的光解释为来自第二焦平面,该第二焦平面从光学无穷远比来自所述下一上行波导434b的光更向内靠近人。
其它波导层(例如,波导438b、440b)和透镜(例如,透镜456、458)被类似地配置,其中堆叠中的最高波导440b通过它与眼睛之间的全部透镜发送其输出,用于代表最靠近人的焦平面的总(aggregate)焦度。当在堆叠波导组件480的另一侧上观看/解释来自世界470的光时,为了补偿透镜458、456、454、452的堆叠,补偿透镜层430可以被设置在堆叠的顶部处以补偿下面的透镜堆叠458、456、454、452的总焦度。这种配置提供了与可用波导/透镜配对一样多的感知焦平面。波导的光提取光学元件和透镜的聚焦方面可以是静态的(例如,不是动态的或电激活的)。在一些替代实施例中,两者之一或者两者都可以使用电激活特征而为动态的。
继续参考图4,光提取光学元件440a、438a、436a、434a、432a可以被配置为将光重定向出它们各自的波导并且针对与波导相关联的特定渲染平面以适当的发散量或准直度输出该光。结果,具有不同相关联渲染平面的波导可具有不同的光提取光学元件配置,其取决于相关联的渲染平面而输出具有不同发散量的光。在一些实施例中,如本文所讨论的,光提取光学元件440a、438a、436a、434a、432a可以是体积或表面特征,其可以被配置为以特定角度输出光。例如,光提取光学元件440a、438a、436a、434a、432a可以是体积全息图、表面全息图和/或衍射光栅。在2015年6月25日公开的美国专利公开No.2015/0178939中描述了诸如衍射光栅的光提取光学元件,其通过引用全部并入本文中。
在一些实施例中,光提取光学元件440a、438a、436a、434a、432a是形成衍射图案的衍射特征或“衍射光学元件”(本文中也称为“DOE”)。优选地,DOE具有相对较低的衍射效率,以使得仅光束的一部分通过DOE的每一个交点偏转向眼睛410,而其余部分经由全内反射继续移动通过波导。携带图像信息的光因此可被分成多个相关的出射光束,这些出射光束在多个位置处离开波导,并且该结果对于在波导内反弹的该特定准直光束是朝向眼睛304的相当均匀图案的出射发射。
在一些实施例中,一个或多个DOE可以在它们活跃地衍射的“开”状态和它们不显著衍射的“关”状态之间可切换。例如,可切换的DOE可以包括聚合物分散液晶层,其中微滴在基体介质中包含衍射图案,并且微滴的折射率可以被切换为基本上匹配基体材料的折射率(在这种情况下,图案不明显地衍射入射光),或者微滴可以被切换为与基体介质的折射率不匹配的折射率(在这种情况下,该图案活跃地衍射入射光)。
在一些实施例中,渲染平面的数量和分布或景深可以基于观看者的眼睛的瞳孔大小或取向而动态地改变。景深可以与观看者的瞳孔大小成反比地改变。因此,随着观看者眼睛的瞳孔大小减小时,景深增加,使得由于一个平面的位置超出了眼睛的焦点深度而不可辨别的该平面可能变得可辨别,并且随着瞳孔大小的减小表现为更聚焦,而且与景深的增加相称。同样地,用于向观看者呈现不同图像的间隔开的渲染平面的数量可以随着瞳孔大小的减小而减小。例如,观看者在不将眼睛的调节从一个渲染平面调整到另一个渲染平面的情况下,可能不能以一个瞳孔大小清楚地感知第一渲染平面和第二渲染平面两者的细节。然而,这两个渲染平面可以在不改变调节的情况下,对于处于另一瞳孔大小的用户同时充分地聚焦。
在一些实施例中,显示***可以基于瞳孔大小或取向的确定,或在接收到指示特定瞳孔大小或取向的电信号时,改变接收图像信息的波导的数量。例如,如果用户的眼睛不能区分与两个波导相关联的两个深度平面,则控制器460可以被配置或编程为停止向这些波导中的一个提供图像信息。有利地,这可以减轻***的处理负担,从而增加***的响应性。在其中用于一波导的DOE可在接通和关断状态之间切换的实施例中,当波导确实接收图像信息时,DOE可以被切换到关断状态。
在一些实施例中,可能期望使出射光束满足直径小于观看者眼睛直径的条件。然而,考虑到观看者的瞳孔大小的可变性,满足这种条件可能是具有挑战性的。在一些实施例中,通过响应于观看者的瞳孔大小的确定而改变出射光束的大小,该条件在宽范围的瞳孔大小上满足。例如,随着瞳孔大小减小,出射光束的大小也可以减小。在一些实施例中,可以使用可变光圈来改变出射光束大小。
可穿戴***400可包括面向外的成像***464(例如,数字相机),其对世界470的一部分进行成像。世界470的该部分可被称为世界相机的视野(FOV),并且成像***464有时被称为FOV相机。可供观看者观看或成像的整个区域可被称为能视域(FOR)。因为穿戴者可以移动其身体、头部或眼睛以感知空间中的基本上任何方向,FOR可以包括围绕可穿戴***400的立体角的4π球面度。在其它情况下,穿戴者的运动可能更受限制,相应地,穿戴者的FOR可以对着更小的立体角。从面向外的成像***464获得的图像可用于跟踪用户做出的手势(例如手或手指的姿势),检测用户前方的世界470中的对象等等。
可穿戴***400还可以包括面向内的成像***462(例如,数码相机),其观察用户的运动,诸如眼睛运动和面部运动。面向内的成像***462可以用于捕获眼睛410的图像以确定眼睛304的瞳孔的大小和/或取向。面向内的成像***462可以用于获得图像,用于确定用户正在观看的方向(例如,眼睛姿势)或用于用户的生物测定识别(例如,经由虹膜识别)。在一些实施例中,可以为每只眼睛利用至少一个相机,以独立地分别确定每只眼睛的瞳孔大小或眼睛姿势,由此允许向每只眼睛呈现图像信息以动态地适合该眼睛。在一些其它实施例中,仅单个眼睛410的瞳孔直径或取向(例如,每对眼睛仅使用单个相机)被确定并假定对于用户的双眼是相似的。可以分析由面向内的成像***462获得的图像以确定用户的眼睛姿势或情绪,其可由可穿戴***400使用来决定应该向用户呈现哪些音频或视觉内容。可穿戴***400还可以使用诸如IMU、加速度计、陀螺仪等的传感器来确定头部姿势(例如,头部位置或头部取向)。
可穿戴***400可以包括用户输入设备466,通过该用户输入设备466用户可以向控制器460输入命令以与可穿戴***400交互。例如,用户输入设备466可以包括触控板、触摸屏、操纵杆、多自由度(DOF)控制器、电容感测设备、游戏控制器、键盘、鼠标、方向垫(D-pad)、魔杖、触觉设备、图腾(例如,用作虚拟用户输入设备)等等。多DOF控制器可以感测控制器的部分或全部可能的平移(例如,左/右、前/后、或上/下)或旋转(例如,偏航、俯仰或翻滚)方面的用户输入。支持平移运动的多DOF控制器可以被称为3DOF,而支持平移和旋转的多DOF控制器可以被称为6DOF。在一些情况下,用户可以使用手指(例如,拇指)在触敏输入设备上按压或轻扫以向可穿戴***400提供输入(例如,以将用户输入提供给由可穿戴***400提供的用户界面)。用户输入设备466可以在使用可穿戴***400期间由用户的手保持。用户输入设备466可以与可穿戴***400进行有线或无线通信。
图5示出了由波导输出的出射光束的示例。示出了一个波导,但是应该理解的是,波导组件480中的其它波导可以类似地起作用,其中波导组件480包括多个波导。光520在波导432b的输入边缘432c处被注入到波导432b中,并且通过TIR在波导432b内传播。在光520照射在DOE 432a上的点处,一部分光作为出射光束510离开波导。出射光束510被示出为基本上平行,但是取决于与波导432b相关联的渲染平面,该出射光束510也可以以一定角度(例如,形成发散的出射光束)被重定向以传播到眼睛410。应该理解的是,基本上平行的出射光束可以指示具有光提取光学元件的波导,其中光提取光学元件将光耦出以形成看起来被设置在距眼睛410较大距离(例如,光学无穷远)处的渲染平面上的图像。其它波导或者其它光提取光学元件组可以输出更加发散的出射光束图案,这将需要眼睛410调节到更近距离以将其聚焦在视网膜上并且将被大脑解释为来自比光学无穷远更靠近眼睛410的距离的光。
图6是示出了包括波导装置、将光光学耦合到波导装置或从波导装置光学耦合光的光耦合器子***、以及控制子***的光学***的示意图,该光学***用于生成多焦点立体显示、图像或光场。该光学***可以包括波导装置、将光光学耦合到波导装置或从波导装置光学耦合光的光耦合器子***,以及控制子***。该光学***可以用于生成多焦点立体、图像或光场。该光学***可以包括一个或多个主平面波导632a(在图6中仅示出一个)以及与至少一些主波导632a中的每一个主波导相关联的一个或多个DOE 632b。平面波导632b可以类似于参考图4讨论的波导432b、434b、436b、438b、440b。该光学***可以使用分布波导装置以沿着第一轴(图6的视图中的垂直轴或Y轴)中继光,并且沿着第一轴(例如,Y轴)扩展光的有效出射光瞳。分布波导装置可以例如包括分布平面波导622b和与分布平面波导622b相关联的至少一个DOE 622a(由双点划线示出)。分布平面波导622b在至少一些方面可以与主平面波导632b相似或相同,但具有与其不同的取向。类似地,至少一个DOE 622a在至少一些方面可以与DOE 632a相似或相同。例如,分布平面波导622b或DOE 622a可以分别由与主平面波导632b或DOE 632a相同的材料构成。图6中所示的光学显示***600的实施例可以被集成到图2A或图2B中所示的可穿戴显示***200中。
中继的和出射光瞳扩展的光可从分布波导装置被光学耦合到一个或多个主平面波导632b中。主平面波导632b可以沿着优选地与第一轴正交的第二轴(例如,图6的视图中的水平轴或X轴)中继光。值得注意的是,第二轴可以是与第一轴非正交的轴。主平面波导632b沿着该第二轴(例如,X轴)扩展光的有效出射光瞳。例如,分布平面波导622b可以沿着垂直轴或Y轴中继和扩展光,并且将该光传递到可以沿着水平轴或X轴中继和扩展光的主平面波导632b。
该光学***可以包括一个或多个彩色光源(例如,红色、绿色和蓝色激光)610,这些彩色光源可以被光学耦合到单模光纤640的近端中。可以穿过压电材料的中空管642来通过或接收光纤640的远端。远端作为非固定柔性悬臂644从管642突出。压电管642可以与四个象限电极(未示出)相关联。例如,电极可以被镀在管642的外侧、外表面或外周或外径上。芯电极(未示出)也可以位于管642的芯、中心、内周或内径中。
例如经由导线660电耦接的驱动电子器件650驱动相对的电极对以独立地在两个轴上弯曲压电管642。光纤644的突出远端顶端具有机械共振模式。共振的频率可以取决于光纤644的直径、长度和材料特性。通过在光纤悬臂644的第一机械共振模式附近振动压电管642,可以使得光纤悬臂644振动,并且可以扫过大的偏转。
通过激发两个轴上的共振,光纤悬臂644的顶端在遍及二维(2-D)扫描的区域中双轴扫描。通过与光纤悬臂644的扫描同步地调制一个或多个光源610的强度,从光纤悬臂644出射的光可以形成图像。美国专利公开No.2014/0003762中提供了这样的设置的描述,其通过引用全部并入本文中。
光学耦合器子***的部件可以准直从扫描光纤悬臂644出射的光。准直光可以被镜面648反射到包含至少一个衍射光学元件(DOE)622a的窄分布平面波导622b中。准直光可以通过TIR沿分布平面波导622b垂直地(相对于图6的视图)传播,并且在这样做时与DOE622a反复相交。DOE 622a优选具有低衍射效率。这可导致一部分(例如,10%)光在与DOE622a的每个交点处被衍射朝向较大的主平面波导632b的边缘,并且一部分光通过TIR在其原始轨迹上继续沿分布平面波导622b的长度向下。
在与DOE 622a的每个交点处,附加光可以被衍射向主波导632b的入口。通过将入射光分成多个耦出组,光的出射光瞳可以在分布平面波导622b中被DOE 4垂直地扩展。从分布平面波导622b耦出的该垂直扩展的光可以进入主平面波导632b的边缘。
进入主波导632b的光可以经由TIR沿着主波导632b水平(相对于图6的视图)传播。由于光通过TIR沿着主波导632b的长度的至少一部分水平传播,因此光在多个点处与DOE632a相交。DOE 632a可以有利地被设计或构造成具有相位轮廓,该相位轮廓是线性衍射图案和径向对称衍射图案的总和,以产生光的偏转和聚焦。DOE 632a可以有利地具有低衍射效率(例如,10%),使得DOE 632a的每个交点只有一部分光束的光朝着视图的眼睛偏转,而其余的光经由TIR通过波导632b继续传播。
在传播光和DOE 632a之间的每个交点处,一部分光朝着主波导632b的相邻面衍射,从而允许光脱离TIR,并且从主波导632b的面出射。在一些实施例中,DOE 632a的径向对称衍射图案另外向衍射光赋予聚焦水平,既对单独的光束的光波前(例如,赋予曲率)进行整形,也以与设计的聚焦水平相匹配的角度使光束转向。
因此,这些不同的路径可以通过多个DOE 632a以不同的角度、聚焦水平和/或在出射光瞳处产生不同的填充图案来使光耦合出主平面波导632b。出射光瞳处的不同填充图案可以有利地被用于创建具有多个深度平面的光场显示。波导组件中的每一层或堆叠中的一组层(例如3层)可被用于产生相应的颜色(例如,红色、蓝色、绿色)。因此,例如,可以采用第一组的三个相邻层在第一焦深处分别产生红光、蓝光和绿光。可以采用第二组的三个相邻层在第二焦深处分别产生红光、蓝光和绿光。可以采用多个组来产生具有各种焦深的全3D或4D彩色图像光场。
可穿戴***的其它部件
在许多实施方式中,可穿戴***可以包括其它部件,作为上述可穿戴***的部件的补充或替代。可穿戴***例如可以包括一个或多个触觉设备或部件。触觉设备或部件可以用于向用户提供触觉。例如,触觉设备或部件可以在触摸虚拟内容(例如,虚拟对象、虚拟工具、其它虚拟构造)时提供压力或纹理的触觉。触觉可以复制虚拟对象表示的物理对象的感觉,或者可以复制虚拟内容表示的想象的对象或角色(例如,龙)的感觉。在一些实施方式中,触觉设备或部件可由用户穿戴(例如,用户可穿戴的手套)。在一些实施方式中,触觉设备或部件可以由用户保持。
可穿戴***例如可以包括可由用户操纵的一个或多个物理对象以允许输入或与可穿戴***进行交互。这些物理对象在本文中可以被称为图腾。一些图腾可采取无生命对象的形式,诸如例如金属或塑料块、墙壁、桌子的表面。在某些实施方式中,图腾可能实际上不具有任何物理输入结构(例如,键、触发器、操纵杆、轨迹球、摇杆开关)。相反,图腾可以简单地提供物理表面,并且可穿戴***可以呈现用户界面,以便对于用户而言看起来在图腾的一个或多个表面上。例如,可穿戴***可以使计算机键盘和触控板的图像看起来驻留在图腾的一个或多个表面上。例如,可穿戴***可以使虚拟计算机键盘和虚拟触控板看起来在作为图腾的铝的薄矩形板的表面上。矩形板本身没有任何物理键或触控板或传感器。然而,可穿戴***可以检测用户操纵或交互或触摸该矩形板作为经由虚拟键盘或虚拟触控板进行的选择或输入。用户输入设备466(在图4中示出)可以是图腾的实施例,其可以包括触控板、触摸板、触发器、操纵杆、轨迹球、摇杆或虚拟开关、鼠标、键盘、多自由度控制器或另一物理输入设备。用户可以单独或与姿势结合使用图腾,以与可穿戴***或其它用户进行交互。
在美国专利公开No.2015/0016777中描述了可用于本公开的可穿戴设备、HMD和显示***的触觉设备和图腾的示例,其全部内容通过引用并入本文中。
可穿戴***、环境和接口的示例
可穿戴***可以采用各种与地图绘制相关的技术,以便在所呈现的光场中实现高景深。在绘制出虚拟世界时,了解真实世界中的所有特征和点以准确描绘与真实世界相关的虚拟对象是有利的。为此,可以通过包括传达关于真实世界的各种点和特征的信息的新图片,将从可穿戴***的用户捕获的FOV图像添加到世界模型。例如,可穿戴***可以收集一组地图点(诸如2D点或3D点)并找到新的地图点(map point)以呈现的世界模型的更精确版本。可以将第一用户的世界模型(例如,通过诸如云网络的网络)传达给第二用户,使得第二用户可以体验围绕第一用户的世界。
图7是MR环境700的示例的框图。MR环境700可以被配置为接收来自一个或多个用户可穿戴***(例如,可穿戴***200或显示***220)或固定房间***(例如,室内相机等)的输入(例如,来自用户的可穿戴***的视觉输入702、诸如房间相机的固定输入704、来自各种传感器的传感器输入706、来自用户输入设备466的用户输入、手势、图腾、眼睛跟踪等)。可穿戴***可以使用各种传感器(例如,加速度计、陀螺仪、温度传感器、移动传感器、深度传感器、GPS传感器、面向内的成像***、面向外的成像***等)来确定用户环境的位置和各种其它属性。该信息可以进一步补充有来自房间中的固定相机的信息,该相机可以从不同的视点提供图像或各种线索。由相机(诸如房间相机和/或面向外的成像***的相机)获取的图像数据可以被缩减为映射点组。
一个或多个对象识别器708可以爬过(crawl through)接收到的数据(例如,点的集合)并且借助于地图数据库710来识别或映射点、标记图像,将语义信息附加到对象。地图数据库710可以包括随时间推移收集的各个点及其相应的对象。各种设备和地图数据库可以通过网络(例如LAN、WAN等)相互连接以访问云。
基于该信息和地图数据库中的点集合,对象识别器708a至708n可以识别环境中的对象。例如,对象识别器可以识别面部、人、窗户、墙壁、用户输入设备、电视、用户环境中的其它对象等。一个或多个对象识别器可以专用于具有特定特性的对象。例如,对象识别器708a可用于识别面部,而另一对象识别器可用于识别图腾,而另一个对象识别器可用于识别手、手指、手臂或身体姿势。
可以使用各种计算机视觉技术来执行对象识别。例如,可穿戴***可以分析由面向外的成像***464(如图4所示)获取的图像以执行场景重建、事件检测、视频跟踪、对象识别、对象姿势估计、学***差(bundle adjustment)、自适应阈值分割(和其它阈值分割技术)、迭代最近点(ICP)、半全局匹配(SGM)、半全局块匹配(SGBM)、特征点直方图、各种机器学习算法(例如,支持向量机、k最近邻算法、朴素贝叶斯、神经网络(包括卷积或深度神经网络)或其它有监督/无监督模型等)等等。
附加地或替代地,对象识别可以通过各种机器学习算法来执行。一旦经过训练,机器学习算法就可以由HMD存储。机器学习算法的一些示例可以包括有监督或无监督机器学习算法,包括回归算法(例如,普通最小二乘回归)、基于实例的算法(例如,学习向量量化)、决策树算法(例如,分类和回归树)、贝叶斯算法(例如,朴素贝叶斯)、聚类算法(例如,k均值聚类)、关联规则学习算法(例如,先验算法)、人工神经网络算法(例如,感知机)、深度学习算法(例如,深度玻尔茨曼机或深度神经网络)、降维算法(例如例如,主成分分析)、集合算法(例如,堆栈泛化)和/或其它机器学习算法。在一些实施例中,可以针对各个数据集定制各个模型。例如,可穿戴设备可以生成或存储基础模型。基础模型可以用作生成特定于数据类型(例如,远端临场会话中的特定用户)、数据集(例如,在远端临场会话中从用户处获得的附加图像集)、条件情况或其它变化的附加模型的起点。在一些实施例中,可穿戴HMD可以被配置为利用多种技术来生成用于分析聚合数据的模型。其它技术可包括使用预定义的阈值或数据值。
基于该信息和地图数据库中的点的集合,对象识别器708a至708n可以识别对象并用语义信息补充对象以赋予对象生命。例如,如果对象识别器将一组点识别为门,则***可以附加一些语义信息(例如,该门具有铰链并且具有围绕铰链的90度移动)。如果对象识别器将一组点识别为镜子,则***可以附加这样的语义信息:该镜子具有可以反射房间中对象的图像的反射表面。随着时间的推移,地图数据库随着***(其可以驻留在本地或可以通过无线网络访问)累积来自世界的更多数据而增长。一旦识别出对象,就可以将该信息发送到一个或多个可穿戴***。例如,MR环境700可以包括关于在加利福尼亚发生的场景的信息。环境700可以被发送给纽约的一个或多个用户。基于从FOV相机和其它输入接收的数据,对象识别器和其它软件组件可以映射从各种图像收集的点、识别对象等,使得该场景可以准确地“传递”给可能在世界的不同部分的第二用户。环境700也可以使用拓扑图来实现本地化目的。
图8是呈现与所识别的对象相关的虚拟内容的方法800的示例的过程流程图。方法800描述了如何将虚拟场景呈现给可穿戴***的用户。用户可能在地理上远离该场景。例如,用户可能在纽约,但可能想要观看当前正在加利福尼亚发生的场景,或者可能想要与居住在加利福尼亚的朋友散步。
在框810处,可穿戴***可以从用户和其他用户接收关于用户的环境的输入。这可以通过各种输入设备和在地图数据库中已有的知识来实现。在框810处,用户的FOV相机、传感器、GPS、眼睛跟踪等向***传送信息。在框820处,***可以基于该信息确定稀疏点。稀疏点可用于确定姿势数据(例如,头部姿势、眼睛姿势、身体姿势或手部手势),这些数据可用于显示和理解用户周围环境中各种对象的取向和位置。在框830处,对象识别器708a-708n可以爬过这些收集的点并使用地图数据库识别一个或多个对象。然后可以在框840处将该信息传送给用户的个人可穿戴***,并且可以在框850处相应地向用户显示所期望的虚拟场景。例如,可以相对于在纽约的用户的各种对象和其它环境以适当的取向、位置等显示所期望的虚拟场景(例如,位于CA的用户)。
图9是可穿戴***的另一示例的框图。在该示例中,可穿戴***900包括地图,该地图可以包括世界的地图数据。该地图可以部分地驻留在可穿戴***本地,可以部分地驻留在可通过有线或无线网络(例如,在云***中)访问的网络存储位置。姿势处理910(例如,头部或眼睛姿势)可以在可穿戴计算架构(例如,处理模块260或控制器460)上被执行,并利用来自地图的数据而确定可穿戴计算硬件或用户的位置和取向。可以根据当用户正在体验***并在世界中操作时即时收集的数据来计算姿势数据。该数据可以包括图像、来自传感器(例如惯性测量单元,其通常包括加速度计和陀螺仪部件)的数据和与真实或虚拟环境中的对象相关的表面信息。
稀疏点表示可以是同时定位与地图构建(SLAM或V-SLAM,是指其中输入只是图像/视觉的配置)过程的输出。该***可以被配置为不仅找出各种部件在该世界中的位置,而且还找出该世界是由什么构成的。姿势可以是实现许多目标的构建块,包括填充地图和使用来自地图的数据。
在一个实施例中,稀疏点位置本身可能不完全足够,并且可能需要进一步的信息来产生多焦点AR、VR或MR体验。可以使用通常参考深度地图信息的密集表示来至少部分地填充该间隙。这样的信息可以根据被称为立体(Stereo)的处理940来计算,其中使用诸如三角测量或飞行时间感测的技术来确定深度信息。图像信息和有源(active)模式(诸如使用有源(active)投影仪创建的红外模式)可以用作立体处理940的输入。可以将大量深度地图信息融合在一起,并且可以用表面表示来概括其中的一些。例如,数学上可定义的表面是诸如游戏引擎之类的其它处理设备的有效(例如,相对于大点云)且可消化的输入。因此,立体处理(例如,深度地图)940的输出可以在融合处理930中组合。姿势也可以是向该融合处理930的输入,并且融合930的输出变为填充(populate)地图处理920的输入。子表面可以彼此连接(例如在地形图中)以形成更大的表面,并且地图变成点和表面的大混合体。
为了解决混合现实处理960中的各个方面,可以使用各种输入。例如,在图9所示的实施例中,可以输入游戏参数以确定***的用户正在玩打怪兽游戏,其中一个或多个怪兽位于各个位置,怪兽在各种条件下死亡或逃跑(例如如果用户射杀怪兽),墙壁或其它对象位于各个位置等等。世界地图可以包括有关这些对象在哪些位置彼此相关的信息,作为混合现实的另一有价值的输入。相对于世界的姿势也成为一种输入,并且几乎对任何交互***起着关键作用。
来自用户的控制或输入是可穿戴***900的另一输入。如本文所述,用户输入可包括视觉输入、手势、图腾、音频输入、感官输入等。为了四处移动或玩游戏,例如,用户可能需要指示可穿戴***900关于他或她想要做什么。除了在空间中移动自己之外,存在可以利用的多种形式的用户控制。在一个实施例中,图腾(例如,用户输入设备)或诸如玩具枪之类的对象可由用户握持并由***跟踪。该***优选地被配置为知道用户正在握住商品并且理解用户与商品进行何种交互(例如,如果图腾或对象是枪,则***可以被配置为了解位置和取向,以及用户是否正在点击触发器或其它可能配备有传感器的感测按钮或元件,例如IMU,其可以有助于确定正在发生的事情,即使这样的活动不在任何相机的视野内)。
手势跟踪或识别也可以提供输入信息。可穿戴***900可以被配置为跟踪和解释按钮按压的手势,用于向左或向右打手势、停止、抓取、保持等。例如,在一种配置中,用户可能想要在非游戏环境中翻阅电子邮件或日历,或与其他人或玩家“击拳”。可穿戴***900可以被配置为利用最小量的手势,该手势可以是动态的,也可以不是动态的。例如,手势可以是简单的静态手势,如张开手表示停止,拇指向上表示好(ok),拇指向下表示不好;或者左右或上下翻转手来做出方向命令。
眼睛跟踪是另一种输入(例如,跟踪用户正在看哪里以控制显示技术来在特定深度或范围进行呈现)。在一个实施例中,可以使用三角测量来确定眼睛的聚散度,然后使用为该特定人物开发的聚散度/调节模型,可以确定调节。
语音识别是另一输入,其可以单独使用或与其它输入(例如,图腾跟踪、眼睛跟踪、手势跟踪等)组合使用。***900可以包括从环境中接收音频流的音频传感器232(例如,麦克风)。接收到的音频流可以被处理(例如,通过处理模块260、270或中央服务器1650)以识别用户的语音(从其它语音或背景音频中),以从音频流中提取命令、主题(subject)、参数等。例如,***900可以从音频流中识别出已说出短语“将那个移动到那儿”,识别出该短语是由***900的穿戴者(而不是用户环境中的另一人)说出的,并且从该短语中提取到存在可执行命令(“移动(move)”)和要被移到一位置(“那儿”)的对象(“那个”)。要被该命令执行操作的对象可以被称为命令的主题,并且提供其它信息作为命令的参数。在该示例中,要将对象移到的位置是该“移动”命令的参数。参数例如可以包括位置、时间、要与之交互的其它对象(例如,“将那个移动到红色椅子旁边(move that next to the red chair)”或“把魔术棒给Linda(give the magic wand to Linda)”)、命令如何被执行(例如,“使用楼上的扬声器播放我的音乐(play my music using the upstairs speakers)”)等等。
作为另一示例,***900可以使用语音识别技术来处理音频流以输入文本字符串或修改文本内容。***900可以结合确定谁在说话的说话者识别技术以及确定正在说什么的语音识别技术。语音识别技术可以单独地或组合地包括隐马尔可夫模型、高斯混合模型、模式匹配算法、神经网络、矩阵表示、矢量量化、说话者日记化(speaker diarisation)、决策树以及动态时间规整(DTW)技术。语音识别技术还可以包括反说话者技术,例如同类群组模型(cohort model)和世界模型。频谱特征可用于表示说话者特征。
关于相机***,图9所示的示例性可穿戴***900可包括三对相机:相对宽的FOV或被动SLAM相机对,其布置在用户面部的侧面,不同的相机对定位在用户前面以处理立体成像处理940且还捕获手势和在用户面部前面的图腾/对象跟踪。用于立体处理940的FOV相机和所述相机对可以是面向外的成像***464(在图4中示出)的一部分。可穿戴***900可以包括眼睛跟踪相机(其可以是图4中所示的面向内的成像***462的一部分),眼睛跟踪相机朝向用户的眼睛取向,以便对眼睛向量和其它信息进行三角测量。可穿戴***900可以还包括一个或多个纹理化光投影仪(例如红外(IR)投影仪)以将纹理注入到场景中。
图10是用于确定可穿戴***的用户输入的方法1000的示例的过程流程图。在该示例中,用户可以与图腾交互。用户可能有多个图腾。例如,用户可能已经指定了一个图腾用于社交媒体应用,另一图腾用于玩游戏,等等。在框1010处,可穿戴***可以检测图腾的移动。图腾的移动可以通过面向外的***识别,或者可以通过传感器(例如,触觉手套、图像传感器、手部跟踪设备、眼睛跟踪相机、头部姿势传感器等)来检测。
在框1020处,至少部分地基于检测到的手势、眼睛姿势、头部姿势或通过图腾的输入,可穿戴***检测图腾(或用户的眼睛或头部或手势)相对于参考系(reference frame)的位置、取向和/或移动。参考系可以是一组地图点,可穿戴***基于该组地图点将图腾(或用户)的移动转换为动作或命令。在框1030处,映射(map)用户与图腾的交互。在框1040处,基于相对于参考系1020的用户交互的映射,***确定用户输入。
例如,用户可以前后移动图腾或物理对象以表示翻动虚拟页面并移动到下一页或者从一个用户界面(UI)显示屏移动到另一UI屏。作为另一示例,用户可移动他们的头部或眼睛以观看用户的FOR中的不同真实或虚拟对象。如果用户注视特定真实或虚拟对象的时间长于阈值时间,则可以选择该真实或虚拟对象作为用户输入。在一些实施方式中,可以跟踪用户眼睛的聚散度,并且可以使用调节/聚散度模型来确定用户眼睛的调节状态,其提供关于用户正在聚焦于的渲染平面的信息。在一些实施方式中,可穿戴***可以使用锥体投射技术来确定哪些真实或虚拟对象沿着用户的头部姿势或眼睛姿势的方向。通常描述的锥体投射技术可以在用户观看的方向上投射不可见锥体,并且识别与该锥体相交的任何对象。锥体投射可以涉及将具有基本上很小的横向宽度的细铅笔光线或具有大横向宽度(例如,锥体或平截头体)的光线从(可穿戴***的)AR显示器投射到物理或虚拟对象。具有单个光线的锥体投射也可以被称为光线投射。锥体投射技术的详细示例在2017年3月29日提交的名称为“Interactions with 3D Virtual Objects Using Poses and Multiple-DOFControllers(使用姿势和多DOF控制器与3D虚拟对象交互)”的美国申请No.15/473,444中进行了描述,其全部内容通过引用并入本文中。
用户界面可由本文所述的显示***(例如图2A或图2B中的显示器220)投射。它还可以使用各种其它技术显示,例如一个或多个投影仪。投影仪可以将图像投射到诸如画布或地球仪之类的物理对象上。可以使用***外部的或作为***一部分的一个或多个相机(例如,使用面向内的成像***462或面向外的成像***464)来跟踪与用户界面的交互。
图11是用于与虚拟用户界面交互的方法1100的示例的过程流程图。方法1100可以由本文描述的可穿戴***执行。
在框1110处,可穿戴***可识别特定UI。UI的类型可以由用户预先确定。可穿戴***可以基于用户输入(例如,姿势、视觉数据、音频数据、传感数据、直接命令等)识别需要填充特定UI。在框1120处,可穿戴***可以生成用于虚拟UI的数据。例如,可以生成与UI的界限(confine)、一般结构、形状等相关联的数据。另外,可穿戴***可以确定用户的物理位置的地图坐标,使得可穿戴***可以显示与用户的物理位置有关的UI。例如,如果UI以身体为中心,则可穿戴***可以确定用户的身***置(physical stance)的坐标、头部姿势或眼睛姿势,使得可以在用户周围显示环形UI,或者可以在墙壁上或在用户前面显示平面UI。如果UI以手为中心,则可以确定用户的手的地图坐标。这些地图点可以借助通过FOV相机接收的数据、传感输入或任何其它类型的收集数据取得。
在框1130处,可穿戴***可以从云向显示器发送数据,或者数据可以从本地数据库发送到显示部件。在框1140处,基于发送的数据向用户显示UI。例如,光场显示器可以将虚拟UI投射到用户的一只或两只眼睛中。在框1150处,一旦创建了虚拟UI,可穿戴***只需等待来自用户的命令以生成在虚拟UI上的更多虚拟内容。例如,UI可以是围绕用户身体的身体中心环。然后,可穿戴***可以等待命令(姿势、头部或眼睛动作、来自用户输入设备的输入等),并且如果它被识别(框1160),可以向用户显示与该命令相关联的虚拟内容(框1170)。作为示例,可穿戴***可以在混合多个流轨道之前等待用户的手势。
可穿戴***、UI和用户体验(UX)的其它示例在美国专利公开No.2015/0016777中描述,其全部内容通过引用并入本文中。
能视域(FOR)和视野(FOV)中的示例对象
图12A示意性地示出了能视域(FOR)1200、世界相机的视野(FOV)1270、用户的视野1250以及用户的注视视野1290的示例。如参考图4所示,FOR 1200包括用户周围的环境的一部分,环境的该部分能够被用户经由可穿戴***感知到。FOR可以包括可穿戴***周围的4π弧度的立体角,这是因为穿戴者可以移动他的身体、头部或眼睛以感知空间中的基本上任何方向。在其它情况下,穿戴者的移动可能会更受限制,因此穿戴者的FOR可能对着较小的立体角。
世界相机的视野1270可以包括当前由面向外的成像***464观察到的用户的FOR的一部分。参考图4,世界相机的视野1270可以包括由可穿戴***400在给定时间观察到的世界470。世界相机的FOV 1270的大小可以取决于面向外的成像***464的光学特性。例如,面向外的成像***464可以包括广角相机,该广角相机可以对用户周围的190度空间进行成像。在某些实施方式中,世界相机的FOV 1270可以大于或等于用户眼睛的自然FOV。
用户的FOV 1250可以包括用户在给定时间感知的FOR 1200的一部分。FOV可以取决于可穿戴设备的显示器的尺寸或光学特性。例如,AR/MR显示器可以包括在用户浏览显示器的特定部分时提供AR/MR功能的光学器件。FOV 1250可以对应于当用户浏览AR/MR显示器(例如,堆叠波导组件480(图4)或平面波导600(图6))时,可由用户感知的立体角。在某些实施例中,用户的FOV 1250可以小于用户眼睛的自然FOV。
可穿戴***还可以确定用户的注视视野1290。注视视野1290可以包括用户的眼睛可以注视的FOV 1250的一部分(例如,在该部分处保持视觉注视)。注视视野1290可以对应于光落在其上的眼睛的中央凹区域。注视视野1290可以小于用户的FOV 1250,例如,注视视野可以在若干度到大约5度之间。因此,用户可以感知到不在注视视野1290中,但是在用户的***视野中的FOV 1250中的一些虚拟对象。
图12B示意性地示出了用户视野(FOV)中的虚拟对象和能视域(FOR)中的虚拟对象的示例。在图12B中,FOR 1200可以包含能够由用户经由可穿戴***感知的一组对象(例如,1210、1220、1230、1242和1244)。用户的FOR 1200内的对象可以是虚拟和/或物理对象。例如,用户的FOR 1200可以包括诸如椅子、沙发、墙壁等的物理对象。虚拟对象可以包括操作***对象,例如用于已删除文件的回收站、用于输入命令的终端、用于访问文件或目录的文件管理器、图标、菜单、用于音频或视频流的应用程序、来自操作***的通知、文本、文本编辑应用、消息应用等等。虚拟对象还可以包括应用程序中的对象,例如化身、游戏中的虚拟对象、图形或图像等。一些虚拟对象可以既是操作***对象,也是应用程序中的对象。在一些实施例中,可穿戴***可以将虚拟元素添加到现有物理对象。例如,可穿戴***可以添加与房间中的电视相关联的虚拟菜单,其中虚拟菜单可以向用户提供选项以使用可穿戴***打开或改变电视频道。
虚拟对象可以是三维(3D)、二维(2D)或一维(1D)对象。例如,虚拟对象可以是3D咖啡杯(其可以表示物理咖啡机的虚拟控件)。虚拟对象还可以是时钟的2D图形表示(向用户显示当前时间)。在一些实施方式中,一个或多个虚拟对象可以显示在另一虚拟对象内(或与另一虚拟对象相关联)。虚拟咖啡杯可以显示在用户界面平面的内部,尽管虚拟咖啡杯在该2D平面虚拟空间内看起来是3D的。
用户的FOR中的对象可以是参考图9所描述的世界地图的一部分。与对象相关联的数据(例如,位置、语义信息、特性等)可以被存储在各种数据结构中,例如数组、列表、树、散列、图形等。每个存储对象的索引在适当的时候例如可以通过对象的位置来确定。例如,数据结构可以通过诸如对象距基准位置的距离(例如,距离基准位置的左侧或右侧多远,距离基准位置的顶部或底部多远,或距基准位置的深度多远)的单个坐标来索引对象。可以基于用户的位置(例如,用户头部的位置)确定基准位置。基准位置也可以基于用户环境中虚拟或物理对象(例如,目标对象)的位置来确定。因此,可以在2D用户界面中表示用户环境中的3D空间,在该2D用户界面中,根据对象与基准位置的距离来布置虚拟对象。
在图12B中,FOV 1250由虚线1252示意性地示出。可穿戴***的用户可以感知FOV1250中的多个对象,例如对象1242、对象1244和对象1230的一部分。当用户的姿势改变时(例如,头部姿势或眼睛姿势),FOV1250将相应地改变,并且FOV 1250内的对象也可能改变。例如,在图12B中,地图1210最初在用户的FOV之外。如果用户朝着地图1210看去,则地图1210可以移入用户的FOV 1250中,并且(例如)对象1230可以移到用户的FOV 1250之外。
可穿戴***可以保持跟踪FOR 1200中的对象以及FOV 1250中的对象。例如,本地处理和数据模块260可以与远程处理模块270和远程数据存储库280进行通信,以检索用户的FOR中的虚拟对象。本地处理和数据模块260可以将虚拟对象存储在例如缓冲器或临时存储器中。本地处理和数据模块260可以使用本文所述的技术来确定用户的FOV,并且渲染在用户的FOV中的虚拟对象的子集。当用户的姿势改变时,本地处理和数据模块260可以更新用户的FOV,并相应地渲染与用户的当前FOV相对应的另一组虚拟对象。
各种用户输入模式的概述
可穿戴***可以被编程为接受用于执行操作的各种输入模式。例如,可穿戴***可以接受以下类型的输入模式中的两种或更多种:语音命令、头部姿势、身体姿势(其可以通过例如腰带包中的IMU或HMD外部的传感器进行测量)、眼睛注视(在此也被称为眼睛姿势)、手势(或身体的其它部位做出的姿势)、来自用户输入设备(例如,图腾)、环境传感器等的信号。计算设备通常被设计为基于来自用户的单个输入产生给定输出。例如,用户可以通过敲击键盘来输入文本消息,或者使用鼠标来引导虚拟对象的运动,这些是手势输入模式的示例。作为另一示例,计算设备可以从用户的语音接收音频数据流,并使用语音识别技术将音频数据转换为可执行命令。
在某些情况下,用户输入模式可以非排他地分类为直接用户输入或间接用户输入。直接用户输入可以是由用户直接提供的用户交互,例如,经由用户身体的自愿运动(例如,转动头部或眼睛,盯着对象或位置,说出短语,移动手指或手)。作为直接用户输入的示例,用户可以使用诸如头部姿势、眼睛姿势(也被称为眼睛注视)、手势或另一身体姿势之类的姿势与虚拟对象交互。例如,用户可以(用头部和/或眼睛)看着虚拟对象。用户直接输入的另一示例是用户的语音。例如,用户可以说“启动浏览器(launch a browser)”以使HMD打开浏览器应用。作为直接用户输入的又一示例,用户例如可以通过触摸手势(例如,触摸图腾的触敏部分)或身体运动(例如,旋转充当多自由度控制器的图腾)来致动用户输入设备。
作为直接用户输入的补充或替代,用户还可以基于间接用户输入与虚拟对象进行交互。可以根据各种情境因素(例如,用户或虚拟对象的地理位置、用户的环境等)来确定间接用户输入。例如,用户的地理位置可以是在用户的办公室中(而不是在用户的家中),并且不同的任务(例如,与工作有关的任务)可以基于地理位置(例如,从GPS传感器导出)执行。
情境因素还可以包括虚拟对象的可见性(affordance)。虚拟对象的可见性可以包括虚拟对象与对象的环境之间的关系,此关系为与该对象相关联的动作或使用提供了机会。可以基于例如对象的功能、取向、类型、位置、形状和/或大小来确定上述可见性。上述可见性也可以基于虚拟对象所在的环境。作为示例,水平桌子的可见性是可以将对象放置在该桌子上,而垂直墙壁的可见性是可以将对象悬挂在该墙壁上或投影到该墙壁上。例如,可以说“将那个放置在那儿(place that there)”,然后放置一虚拟办公室日历,以使其看起来在用户办公室的用户书桌上是水平的。
单一的直接用户输入模式可能会产生各种限制,其中可用的用户界面操作的数量或类型可能会由于用户输入的类型而受到限制。例如,用户可能无法用头部姿势放大或缩小,这是因为头部姿势可能无法提供精确的用户交互。作为另一示例,用户可能需要在触摸板上来回移动拇指(或将拇指移动较大距离),以便将虚拟对象从地板移到墙壁,这样长时间操作可能导致用户疲劳。
然而,某些直接输入模式对于用户而言可能更加方便和直观。例如,用户可以对可穿戴***说话以发出语音命令,而无需使用基于手势的键盘输入来键入句子。作为另一示例,用户可以使用手势来指向目标虚拟对象,而不是移动光标来识别目标虚拟对象。其它直接输入模式可以提高用户交互的准确性,尽管它们可能不那么方便或直观。例如,用户可以将光标移到虚拟对象以指示该虚拟对象是目标对象。然而,如上所述,如果用户想要使用直接用户输入(例如,头部姿势或作为用户动作的直接结果的其它输入)来选择相同的虚拟对象,则用户可能需要控制头部的精确运动,这会导致肌肉疲劳。3D环境(例如,VR/AR/MR环境)可能会给用户交互带来更多挑战,这是因为还需要针对深度(与平面表面相反)指定用户输入。与2D环境相比,该额外的深度维度会产生更多出错的机会。例如,在2D环境中,用户输入可以相对于坐标系中的水平轴和垂直轴进行平移,而用户输入可能需要相对于3D环境中的3个轴(水平、垂直和深度)进行平移。因此,用户输入的不精确执行可能导致3个轴(而不是2D环境中的2个轴)出错。
为了利用直接用户输入的现有优点,同时提高与3D空间中的对象进行交互的准确性并减少用户疲劳,可以使用多个直接输入模式来执行用户界面操作。多模态输入可以进一步改善现有的计算设备(特别是可穿戴设备),以与诸如AR、VR或MR环境之类的数据丰富和动态环境中的虚拟对象进行交互。
在多模态用户输入技术中,可以使用直接输入中的一种或多种来识别用户将与之交互的目标虚拟对象(也被称为主题),并确定将在目标虚拟对象上执行的用户界面操作。例如,用户界面操作可以包括命令操作,例如选择、移动、缩放、暂停、播放以及命令操作的参数(例如,如何执行该操作,将在何处或何时发生操作,目标对象将与哪个对象进行交互等)。作为识别目标虚拟对象并确定要对目标虚拟对象执行的交互的示例,用户可以看着虚拟便签(头部或眼睛姿势输入模式)、指向桌子(手势输入模式),然后说“将那个移动到那儿”(语音输入模式)。可穿戴***可以识别短语“将那个移动到那儿”中的目标虚拟对象是虚拟便签(“那个”),并可以确定用户界面操作涉及将虚拟便签移动(可执行命令)到桌子(“那儿”)。在该示例中,命令操作可以是“移动”虚拟对象,而命令操作的参数可以包括目的地对象,该目的地对象是用户正指向的桌子。有利地,在某些实施例中,可穿戴***可以通过基于多个直接用户输入模式(例如,上面示例中的三种模式,头部/眼睛的姿势、手势和语音)执行用户界面操作来提高用户界面操作的整体准确性或增加用户交互的便利性。例如,用户不用说“将最左边的浏览器向右移动2.5英尺(move the leftmost browser 2.5 feetto the right)”,而可以在使用指示对象是最左边的浏览器的头部姿势或手势的同时说“将那个移动到那儿”(无需在语音输入中指出被移动的对象),并使用头部或手部移动来指示移动距离。
使用各种输入模式在虚拟环境中交互的示例
图13示出了使用一种用户输入模式与虚拟对象进行交互的示例。在图13中,用户1310穿戴HMD并且与三个场景1300a、1300b和1300c中的虚拟内容交互。用户的头部位置(和相应的眼睛注视方向)由几何锥1312a表示。在该示例中,用户可以经由HMD的显示器220感知虚拟内容。在与HMD交互时,用户可以通过用户输入设备466输入文本消息。在场景1300a中,用户的头部处于其自然休息位置1312a,用户的手也处于其自然休息位置1316a。然而,尽管用户可能更舒适地在用户输入设备466上键入文本,但是用户无法看到用户输入设备466上的界面以确保正确键入字符。
为了查看在用户输入设备上输入的文本,用户可以将手向上移到位置1316b,如场景1300b所示。因此,当头部处于其自然休息位置1312a时,手将处于用户头部的FOV中。然而,位置1316b不是手的自然休息位置,因此可能导致用户疲劳。或者,如场景1300c所示,用户可以将她的头部移到位置1312c以便将手保持在自然休息位置1316a。然而,由于头部的非自然位置,用户颈部周围的肌肉可能会变得疲劳,并且用户的FOV指向地面或地板,而不是指向外部世界(如果用户在拥挤的区域中行走,这样可能不安全)。在场景1300b或场景1300c中,当用户使用单个输入模式执行用户界面操作时,要牺牲用户的自然人体工程学以满足所需的用户界面操作。
本文所述的可穿戴***可以至少部分地减轻场景1300b和1300c中所描绘的人体工程学限制。例如,虚拟界面可以被投影在场景1300a中的用户的视野内。虚拟界面可以允许用户从自然位置观察键入的输入。
可穿戴***还可以在不受设备约束的情况下显示和支持与虚拟内容的交互。例如,可穿戴***可以向用户呈现多种类型的虚拟内容,并且用户可以使用触摸板与一种类型的内容进行交互,同时使用键盘与另一类型的内容进行交互。有利地,在一些实施例中,可穿戴***可以通过计算置信度得分(较高的置信度得分表示该***已识别出正确的目标虚拟对象的较高置信度(或可能性))来确定哪个虚拟内容是目标虚拟对象(用户打算对其执行操作的对象)。有关识别目标虚拟对象的详细示例参考图15至18B进行描述。
图14示出了使用用户输入模式的组合来选择虚拟对象的示例。在场景1400a中,可穿戴***可以向用户1410呈现由正方形1422、圆形1424和三角形1426表示的多个虚拟对象。
如场景1400b所示,用户1410可以使用头部姿势与虚拟对象进行交互。这是头部姿势输入模式的示例。头部姿势输入模式可能涉及用于将虚拟对象作为目标或选择虚拟对象的锥体投射。例如,可穿戴***可以将锥体1430从用户的头部朝向虚拟对象投射。可穿戴***可以检测虚拟对象中的一个或多个是否落在锥体的体积之内,以识别用户打算选择哪个对象。在该示例中,锥体1430与圆形1424和三角形1426相交。因此,可穿戴***可以确定用户打算选择圆形1424或三角形1426。然而,因为锥体1430与圆形1424和三角形1426二者都相交,所以可穿戴***可能无法仅基于头部姿势输入确定目标虚拟对象是圆形1424还是三角形1426。
在场景1400c中,用户1410可以通过手动取向诸如图腾之类的用户输入设备466(例如,手持式远程控制设备)来与虚拟对象进行交互。这是手势输入模式的示例。在该场景中,可穿戴***可以确定圆形1424或正方形1422是预期目标,因为这两个对象在用户输入设备466指向的方向上。在该示例中,可穿戴***可以通过检测用户输入设备466的位置或取向(例如,经由用户输入设备466中的IMU),或者通过执行源自用户输入设备466的锥体投射来确定用户输入设备466的方向。由于圆形1424和正方形1422都是目标虚拟对象的候选者,因此可穿戴***无法仅基于手势输入模式确定其中哪一个是用户实际上想要选择的对象。
在场景1400d中,可穿戴***可以使用多模态用户输入来确定目标虚拟对象。例如,可穿戴***可以使用从锥体投射(头部姿势输入模式)获得的结果和从用户输入设备的取向(手势输入模式)获得的结果来识别目标虚拟对象。在该示例中,圆形1424是在来自锥体投射的结果和从用户输入设备获得的结果两者中识别出的候选者。因此,可穿戴***可以使用这两种输入模式以高置信度确定目标虚拟对象是圆形1424。如场景1400d中进一步所示,用户可以发出语音命令1442(示例为“移动那个(Move that)”,这是第三输入模式(即,语音)的示例)以与目标虚拟对象进行交互。可穿戴***可以将单词“那个”与目标虚拟对象进行关联,将单词“移动”与要执行的命令相关联,并且可以相应地移动圆形1424。然而,单独使用语音命令1442(没有来自用户输入设备466或锥体投射143的指示)可能会引起可穿戴***的混乱,因为可穿戴***可能不知道哪个对象与单词“那个”相关联。
有利地,在一些实施例中,通过接受多种输入模式以识别虚拟对象并与虚拟对象进行交互,可以减少每种输入模式所需的精度量。例如,锥体投射可能无法在远处的渲染平面上精确定位对象,因为锥体直径会随着锥体远离用户而增大。作为其它示例,用户可能需要将输入设备保持在特定取向以指向目标对象,并以特定的短语或速度说话以确保正确的语音输入。然而,通过组合语音输入和锥体投射的结果(来自使用输入设备的头部姿势或手势),可穿戴***仍可在不需要输入(例如,锥体投射或语音输入)精确的情况下识别目标虚拟对象。例如,即使锥体投射选择了多个对象(例如,如参考场景1400b、1400c所描述的),语音输入也可以帮助缩小选择范围(例如,增加选择的置信度得分)。例如,锥体投射可以捕获3个对象,其中第一对象在用户的右边,第二对象在用户的左边,第三对象在用户FOV的中心。用户可以通过说“选择最右边的对象(select the rightmost object)”来缩小选择范围。作为另一示例,用户的FOV中可能有两个形状相同的对象。为了使用户选择正确的对象,用户可能需要通过语音命令对对象进行更多描述。例如,用户可能需要说“选择红色的正方形对象(select the square object that is red)”,而非说“选择正方形对象(selectthe square object)”。然而,当使用锥体投射时,语音命令不必这样精确。例如,用户可以看着其中一个正方形对象并说“选择正方形对象(select the square object)”甚至“选择该对象(select the object)”。可穿戴***可以自动选择与用户的眼睛注视方向一致的正方形对象,而不会选择不在用户的眼睛注视方向上的正方形对象。
在一些实施例中,***可以具有用于输入模式组合的偏好的层次结构。例如,用户倾向于在他或她的头部所指的方向上注视;因此,眼睛注视和头部姿势可能会提供彼此相似的信息。头部姿势和眼睛注视的组合可能不是优选的,这是因为与单独使用眼睛注视或单独使用头部姿势相比,该组合不会提供太多额外的信息。因此,***可以使用模式输入偏好的层次结构来选择提供对比鲜明的信息而非一般重复性信息的模式输入。在一些实施例中,层次结构使用头部姿势和语音作为主要的模式输入,然后是眼睛注视和手势。
因此,如本文进一步所述,基于多模态输入,***可以针对用户环境中的各个对象来计算每个这样的对象是目标对象的置信度得分。***可以选择环境中具有最高置信度得分的特定对象作为目标对象。
图15示出了使用直接用户输入的组合与虚拟对象进行交互的示例。如图15所示,用户1510穿戴被配置为显示虚拟内容的HMD 1502。HMD 1502可以是本文所述的可穿戴***200的一部分,并且可以包括腰带穿戴式电源和处理包1503。HMD 1502可以被配置为接受来自图腾1516的用户输入。HMD 1502的用户1510可以具有第一FOV 1514。用户可以在第一FOV1514中观察虚拟对象1512。
用户1510可以基于直接输入的组合与虚拟对象1512进行交互。例如,用户1510可以通过基于用户的头部或眼睛姿势的锥体投射技术,或者通过图腾1516,通过语音命令,或者通过这些(或其它)输入模式的组合(例如,如参考图14所述)来选择虚拟对象1512。
用户1510可以改变其头部姿势以移动所选择的虚拟对象1512。例如,用户可以向左旋转其头部以使FOV从第一FOV 1514更新为第二FOV 1524(如从场景1500a到场景1500b所示)。可以将用户的头部的移动与其它直接输入进行结合,以使虚拟对象从第一FOV 1514移到第二FOV 1524。例如,头部姿势的变化可以与其它输入聚合,其它输入例如为语音命令(“移动那个,到那儿(move that,to there)”)、来自图腾1516的引导,或眼睛注视方向(例如,由图4所示的面向内的成像***462所记录的)。在该示例中,HMD 1502可以将更新的FOV1524用作虚拟对象1512应当被移到的大致区域。HMD 1502可以基于用户的注视方向进一步确定虚拟对象1512移动的目的地。作为另一示例,HMD可以捕获语音命令“将那个移动到那儿”。HMD可以将虚拟对象1512识别为用户将与之进行交互的对象(因为用户先前选择了该虚拟对象1512)。HMD可以通过检测用户头部姿势的变化来进一步确定用户打算将对象从FOV 1514移到FOV 1524。在该示例中,虚拟对象1512最初可以位于用户的第一FOV 1514的中心部分。基于语音命令和用户的头部姿势,HMD可以将虚拟对象移到用户的第二FOV 1524的中心。
通过多模态用户输入来识别目标虚拟对象或用户界面操作的示例
如参考图14所述,在某些情况下,可穿戴***可能无法(以足够的置信度)识别用户打算使用单一输入模式与之交互的目标虚拟对象。此外,即使使用多种用户输入模式,一种用户输入模式可以指示一个虚拟对象,而另一用户输入模式可以指示不同的虚拟对象。
为了解决模糊性(ambiguity)并提供支持多模态用户输入的改进的可穿戴***,可穿戴***可以聚合用户输入模式并计算置信度得分以识别期望的虚拟对象或用户界面操作。如上所述,较高的置信度得分表示***已识别出期望的目标对象的较高概率或可能性。
图16示出了用于聚合输入模式的示例计算环境。示例环境1600包括例如与应用A1672、应用B 1674和应用C 1676相关联的三个虚拟对象。如参考图2A、图2B和图9所示,可穿戴***可以包括各种传感器,并且可以从这些传感器接收各种用户输入,并且可以分析用户输入以与混合现实960进行交互,例如,使用本文所述的跨模态输入融合技术。在示例环境1600中,中央运行时服务器1650可以聚合直接输入1610和间接用户输入1630以产生针对应用的多模态交互。直接输入1610的示例可以包括手势1612、头部姿势1614、语音输入1618、图腾1622、眼睛注视方向(例如,眼睛注视跟踪1624)、其它类型的直接输入1626等。间接输入1630的示例可以包括环境信息(例如,环境跟踪1632)和地理位置1634。中央运行时服务器1650可以包括远程处理模块270。在某些实施方式中,本地处理和数据模块260(或处理器128)可以执行中央运行时服务器1650的一个或多个功能。本地处理和数据模块260还可以与远程处理模块270通信以聚合输入模式。
可穿戴***可以使用面向外的成像***464来跟踪手势1612。可穿戴***可以使用图9中描述的各种技术来跟踪手势。例如,面向外的成像***464可以获取用户的手的图像,并将图像映射到相应的手势。面向外的成像***464可以使用FOV相机或深度相机(被配置用于深度检测)来对用户的手势进行成像。中央运行时服务器1650可以使用对象识别器708来识别用户的头部姿势。手势1612也可以由用户输入设备466跟踪。例如,用户输入设备466可以包括触敏表面,该触敏表面可以跟踪用户的手部移动,例如轻扫手势或轻击手势。
HMD可以使用IMU识别头部姿势1614。头部1410可以具有多个自由度,包括三种类型的旋转(例如,偏航、俯仰和翻滚)和三种类型的平移(例如,纵荡、横荡和垂荡)。IMU例如可以被配置为测量头部的3-DOF运动或6-DOF运动。从IMU获得的测量结果可以被传送到中央运行时服务器1650以进行处理(例如,以识别头部姿势)。
可穿戴***可以使用面向内的成像***462来执行眼睛注视跟踪1624。例如,面向内的成像***462可以包括被配置为获取用户的眼睛区域的图像的眼睛相机。中央运行时服务器1650可以分析图像(例如,经由对象识别器708),以推断用户的注视方向或跟踪用户的眼睛运动。
可穿戴***还可以接收来自图腾1622的输入。如本文所述,图腾1622可以是用户输入设备466的实施例。附加地或替代地,可穿戴***可以接收来自用户的语音输入1618。来自图腾1622的输入和语音输入1618可被传送到中央运行时服务器1650。中央运行时服务器1650可实时或近实时地使用自然语言处理来解析用户的音频数据(例如,来自麦克风232的音频数据)。中央运行时服务器1650可以通过应用各种语音识别算法,例如,隐马尔可夫模型、基于动态时间规整(DTW)的语音识别、神经网络、深度学习算法(例如,深度前馈和递归神经网络)、端到端自动语音识别、机器学习算法(参考图7和9进行描述)、语义分析、其它使用声学建模或语言建模的算法等,来识别语音的内容。中央运行时服务器1650还可以应用能够识别说话者身份(例如,说话者是可穿戴设备的用户还是用户的背景中的人)的语音识别算法。
当用户与HMD交互时,中央运行时服务器1650还可以接收间接输入。HMD可以包括参考图2A和图2B描述的各种环境传感器。通过使用由环境传感器获取的数据(单独地使用或与直接输入1610的相关数据结合使用),中央运行时服务器1650可以重建或更新用户的环境(例如,地图920)。例如,中央运行时服务器1650可以基于用户的环境确定用户的环境光条件。该环境光条件可用于确定用户可以与哪个虚拟对象进行交互。例如,当用户处于明亮的环境中时,中央运行时服务器1650可以将目标虚拟对象识别为支持手势1612作为输入模式的虚拟对象,这是因为相机可以观察到用户的手势1612。然而,如果环境黑暗,则中央运行时服务器1650可以确定虚拟对象可以是支持语音输入1618而不是手势1612的对象。
中央运行时服务器1650可以执行环境跟踪1632并且聚合直接输入模式以产生用于多个应用的多模态交互。作为示例,当用户从安静的环境进入嘈杂的环境时,中央运行时服务器1650可以禁用语音输入1618。参考图24进一步描述关于基于环境选择输入模式的其它示例。
中央运行时服务器1650还可以基于用户的地理位置信息识别目标虚拟对象。地理位置信息1634也可以从环境传感器(例如,GPS传感器)获取。中央运行时服务器1650可以识别用于***交互的虚拟对象,其中虚拟对象与用户之间的距离在阈值距离内。有利地,在一些实施例中,锥体投射中的锥体可以具有可由***调节的长度(例如,基于环境中对象的数量或密度)。通过选择在用户的一定半径内的对象,可以显著减少可能是目标对象的潜在对象的数量。参考图21描述使用间接输入作为输入模式的其它示例。
确定目标对象的示例
中央运行时服务器1650可以使用多种技术来确定目标对象。图17A示出了使用格子树分析来识别目标对象的示例。中央运行时服务器1650可以从输入源导出给定值,并产生用户可能与之交互的候选虚拟对象的可能值的格子。在一些实施例中,该值可以是置信度得分。置信度得分可以包括排名(ranking)、评级(rating)、赋值(valuation)、定量或定性值(例如,1到10范围内的数值、百分比或百分位数、或定性值“A”、“B”、“C”等)等等。每个候选对象可与一置信度得分相关联,并且在某些情况下,***选择具有最高置信度得分(例如,高于其它对象的置信度得分或高于阈值得分)的候选对象作为目标对象。在其它情况下,***将置信度得分低于阈值置信度得分的对象从目标对象的考虑中排除,这可以提高计算效率。
在本文的许多示例中,提及目标虚拟对象的选择或从一组虚拟对象的选择。这旨在说明示例实施方式,但不旨在是限制性的。所描述的技术可以应用于用户环境中的虚拟对象或物理对象。例如,语音命令“将那个移动到那儿”可以指将虚拟对象(例如,虚拟日历)移动到物理对象(例如,用户桌子的水平表面)上。或者,语音命令“将那个移动到那儿”可以指将虚拟对象(例如,虚拟文字处理应用)移动到另一虚拟对象内的另一位置(例如,用户虚拟桌面中的另一位置)。
命令的情境还可提供关于***是否应尝试识别虚拟对象和/或物理对象的信息。例如,在命令“将那个移动到那儿”中,***可以识别出“那个”是虚拟对象,这是因为AR/VR/MR***无法移动实际的物理对象。因此,***可以消除物理对象作为“那个”的候选者。如以上示例中所述,目标位置“那儿”可能是虚拟对象(例如,用户的虚拟桌面)或物理对象(例如,用户的桌子)。
另外,***可以向用户环境中的对象分配置信度得分,用户环境可以是FOR、FOV或注视视野(例如,参见图12A),具体取决于在那个时间点处***的情境和目标。例如,用户可能希望将虚拟日历移到用户桌子上的某个位置,这两个对象都在用户的FOV中。***可能分析用户FOV内的对象,而不是用户FOR中的所有对象,这是因为这种情况的情境表明,移动虚拟日历的命令是指移到用户FOV中的目标目的地,这可以提高处理速度或效率。在另一情况下,用户可能正在查看虚拟电影应用中的电影选择的菜单,并且可能盯着一小部分电影。***可以仅针对用户的注视视野中的电影选择(例如基于用户的眼睛注视),而不是针对完整的FOV(或FOR)(并且例如提供置信度得分),这样做也可提高处理效率或速度。
参考图17A中所示的示例,用户可以使用两种输入模式(头部姿势1614和眼睛注视1624)与虚拟环境进行交互。基于头部姿势1614,中央运行时服务器1650可以识别与应用A1672和应用B 1674相关联的两个候选虚拟对象。中央运行时服务器1650可以在应用A 1672和应用B 1674之间均匀地分配100%的置信度得分。因此,可以分别向应用A 1672和应用B1674分配50%的置信度得分。中央运行时服务器1650还可以基于眼睛注视方向1624识别两个候选虚拟对象(应用A 1672和应用C 1676)。中央运行时服务器1650还可以在应用A 1672和应用C 1676之间划分100%的置信度。
中央运行时服务器1650可以执行格子压缩(lattice compression)逻辑功能1712以减少或消除多种输入模式当中不常见的异常置信度值或者降到特定阈值以下的那些置信度值,以确定用户想要与之交互的最可能的应用。例如,在图17A中,中央运行时服务器1650可以消除应用B 1674和应用C 1676,因为头部姿势1614和眼睛注视1624分析二者都没有识别出这两个虚拟对象。作为另一示例,中央运行时服务器1650可以聚合分配给每个应用的值。中央运行时服务器1650可以将阈值置信度值设置为等于或大于80%。在该示例中,应用A 1672的总值为100%(50%+50%);应用B 1674的总值为50%;并且应用C 1676的值为50%。因为应用B和C各自的置信度值均低于阈值置信度值,所以中央运行时服务器1650可以被编程为不选择应用B和C,而是选择应用A 1672,因为应用A的总置信度值(100%)大于阈值置信度值。
尽管图17A中的示例在候选虚拟对象之间均分了与输入设备相关联的值(例如,置信度得分),但是在某些实施例中,值分布在候选虚拟对象之间可能不相等。例如,如果头部姿势1614的值为10,则应用A 1672可以接收值7,而应用B 1674可以接收值3(因为头部姿势指向A 1672更多)。作为另一示例,如果头部姿势1614具有定性等级“A”,则可以将应用A1672指定为等级“A”,而应用B 1674和应用C 1676不从头部姿势1614进行任何接收。
可穿戴***(例如,中央运行时服务器1650)可以将焦点指示器(focusindicator)分配给目标虚拟对象,使得用户可以更容易地感知目标虚拟对象。焦点指示器可以是视觉焦点指示器。例如,焦点指示器可以包括光晕(基本上围绕或靠近对象)、颜色、感知的大小或深度变化(例如,使目标对象在被选择时看起来更近和/或更大)或引起用户注意的其它视觉效果。焦点指示器还可以包括听觉或触觉效果,例如振动、铃声、嘟嘟声等。焦点指示器可以通过向用户确认(经由焦点指示器)***已经正确地确定了与命令相关联的对象(例如,正确地确定了“将那个移动到那儿”命令中的“那个”和“那儿”)来为用户提供有关***“正在做正确的事情”的有用反馈。例如,可以向所识别的目标虚拟对象分配第一焦点指示器,并且可以向目的地位置(例如,命令中的“那儿”)分配第二焦点指示器。在某些情况下,如果***错误地确定了目标对象,则用户例如可以通过盯着(注视)正确的对象并提供语音命令(例如“不,这个不是那个(no,this not that)”)来推翻***的确定。
识别目标用户界面操作的示例
作为识别目标虚拟对象的补充或替代,中央运行时服务器1650还可以基于所接收的多个输入确定目标用户界面操作。图17B示出了基于多模态输入确定目标用户界面操作的示例。如图所示,中央运行时服务器1650可以接收采取头部姿势1614和手势1612的形式的多个输入。中央运行时服务器1650可以向用户显示与例如应用A 1672和应用B 1674相关联的多个虚拟对象。然而,单独使用头部姿势输入模式可能不足以确定所需的用户界面动作,因为有这样的50%的置信度:头部姿势应用于与应用A 1672相关联的用户界面操作(显示为修改选项1772),并且还有这样的50%的置信度:头部姿势应用于与应用B 1674相关联的另一用户界面操作(显示为修改选项1774)。
在各种实施例中,可以将特定应用或某种类型的用户界面操作编程为对特定的输入模式更具响应性。例如,可以将应用B 1674的HTML标签或JavaScript编程设置为比应用A1672的HTML标签或JavaScript编程对手势输入更具响应性。例如,应用A 1672对头部姿势1672比对手势1612更具响应性,而“选择(select)”操作对手势1612(例如,轻击手势)比对头部姿势1614更具响应性,这是因为在一些情况下,与使用头部姿势相比,用户更大可能使用手势来选择对象。
参考图17B,手势1612可以对应用B 1674中的特定类型的用户界面操作更具响应性。如图所示,手势1612可以具有与应用B的用户界面操作相关联的更高置信度,而手势1612可能不适用应用A 1672中的界面操作。因此,如果目标虚拟对象是应用A 1672,则从头部姿势1614接收的输入可以是目标用户界面操作。然而,如果目标虚拟对象是应用B 1674,则从手势1612接收的输入(单独地或与基于头部姿势1614的输入结合)可以是目标用户界面操作。
作为另一示例,由于当用户与应用B交互时,手势1612的置信度水平高于头部姿势1614的置信度水平,因此手势1612可以成为应用B 1674的主要输入模式,而头部姿势1614可以是次要输入模式。因此,与头部姿势1614相比,从手势1612接收的输入可以与更高的权重相关联。例如,如果头部姿势指示与应用B 1674相关联的虚拟对象应该保持静止,而手势1612指示虚拟对象应该向左移动,则中央运行时服务器1650可以使虚拟对象向左移动。在某些实施方式中,可穿戴***可以允许用户使用主要输入模式与虚拟对象进行交互,并且如果主要输入模式不足以确定用户的动作,则可以考虑次要输入模式。例如,用户可以主要通过手势1612与应用B 1674进行交互。然而,当HMD无法确定目标用户界面操作时(例如,由于应用B 1674中可能存在多个候选虚拟对象,或者手势1612不清楚),HMD可以使用头部姿势作为输入来确定目标虚拟对象或要对应用B 1674执行的目标用户界面操作。
与每种输入模式相关联的得分可以被合计以确定期望的用户界面操作。图17C示出了合计与虚拟对象的输入模式相关联的置信度得分的示例。如该示例中所示,头部姿势输入1614针对应用A产生的置信度得分(80%置信度)高于针对应用B产生的置信度得分(30%置信度),而手势输入1612针对应用B产生的置信度得分(60%置信度)高于针对应用A产生的置信度得分(30%置信度)。中央运行时服务器1650可以基于从每种用户输入模式中导出的置信度得分合计每个对象的置信度得分。例如,中央运行时服务器1650可以针对应用A 1672产生110的总得分,并且针对应用B 1674产生90的总得分。该总得分可以是加权的或未加权的平均值或其它数学组合。因为应用A 1672的总得分高于应用B 1674,所以中央运行时服务器1650可以选择应用A作为要与之交互的应用。附加地或替代地,由于应用A1672的总得分较高,因此,中央运行时服务器1650可以确定头部姿势1614和手势1612旨在对应用A 1672执行用户界面操作,即使应用B比应用A对手势1612更具响应性。
在该示例中,中央运行时服务器1650对通过增加给定对象的各种输入的置信度得分而出现的置信度得分进行总计。在各种其它实施例中,中央运行时服务器1650可以使用除简单加法之外的技术来总计置信度得分。例如,输入模式或得分可以与权重相关联。因此,置信度得分的总计将考虑分配给输入模式或得分的权重。权重可以是用户可调整的,以允许用户选择性地调整与HMD的多模态交互的“响应性”。权重也可以是情境相关的。例如,在公共场所中使用的权重可以相比于手势而加重头部或眼睛姿势,从而避免在操作HMD时让用户频繁地做手势而可能带来的社交尴尬。作为另一示例,在地铁、飞机或火车上,由于用户可能不希望在这种环境中大声对着他或她的HMD讲话,因此语音命令被赋予的权重可能小于头部或眼睛姿势。环境传感器(例如,GPS)可以辅助确定用户操作HMD的适当情境。
尽管参考两个对象示出了图17A至17C中的示例,但是当存在更多或更少的对象时,也可以应用本文所述的技术。另外,参考这些附图描述的技术可以应用于可穿戴***的应用或与一个或多个应用相关联的虚拟对象。此外,本文所述的技术还可以应用于除了头部姿势、眼睛注视或手势之外的直接或间接输入模式。例如,也可以使用语音命令。另外,尽管全文使用中央运行时服务器1650作为示例来描述各种输入模式的处理,但是HMD的本地处理和数据模块260也可以作为对中央运行时服务器1650的补充或替代来执行部分或全部操作。
计算置信度得分的示例技术
可穿戴***可以使用各种技术中的一种或组合来计算对象的置信度得分。图18A和18B示出了计算用户的FOV内的对象的置信度得分的示例。例如,可以在锥体投射期间基于用户的头部姿势或眼睛注视来计算用户的FOV。图18A和18B中的置信度得分可以基于单个输入模式(例如,用户的头部姿势)。可以计算出多个置信度得分(针对各种多模态输入中的部分或全部),然后将这些得分进行合计以基于多模态用户输入来确定用户界面操作或目标虚拟对象。
图18A示出了基于落在用户的FOV 1810内的虚拟对象的一部分计算虚拟对象的置信度得分的示例。在图18A中,用户的FOV具有两个虚拟对象(由圆形1802和三角形1804表示)的一部分。可穿戴***可以基于落在FOV 1810内的对象的投影区域的比例,向圆形和三角形分配置信度得分。如图所示,圆形1802的近一半落在FOV 1810内,因此,可穿戴***可向圆形配1802分配50%的置信度得分。作为另一示例,三角形的约75%位于FOV 1810内。因此,可穿戴***可向三角形1804分配75%的置信度得分。
可穿戴***可以对FOV和FOR中的内容使用回归分析(regression analysis)来计算FOV内的虚拟对象的比例。如参考图12B所描述的,尽管可穿戴***保持跟踪FOR中的对象,但是可穿戴***也可以将FOV中的对象(或对象的部分)传送到渲染投影仪(例如,显示器220)以在FOV内显示。可穿戴***可以确定哪些部分被提供用于渲染投影仪,并且可以分析被传送到渲染投影仪的部分相对于全部虚拟对象的比例,从而确定FOV内的虚拟对象的百分比。
作为基于落在FOV内的比例区域(proportional area)计算置信度得分的补充或替代,可穿戴***还可以分析FOV中的对象附近的空间以确定对象的置信度得分。图18B示出了基于FOV 1820中虚拟对象的周围空间的均匀性而计算置信度得分的示例。FOV 1820包括两个虚拟对象,如由三角形1814和圆1812示出的。每个虚拟对象周围的空间可以由向量表示。例如,虚拟对象1812周围的空间可以由向量1822a、1822b、1822c和1822d表示,而虚拟对象1814周围的空间可以由向量1824a、1824b、1824c和1824d表示。向量可以源自虚拟对象(或虚拟对象的边界)并在FOV 1820的边缘处结束。***可以分析从对象到FOV的边缘的向量的长度的分布以确定哪个对象更靠近FOV的中心。例如,处于圆形FOV的正中心的对象将具有相对均匀的向量长度分布,而非常靠近边缘的对象将具有不均匀的向量长度分布(因为某些指向附近边缘的向量较短,而指向最远边缘的向量较长)。如图18B所示,从虚拟三角形1814到视野1820的边缘的向量长度的分布比从圆形1812到视野1820的边缘的向量长度的分布变化得更大,这表示虚拟圆形1812比虚拟三角形1814更靠近FOV 1820的中心。向量长度分布的可变性可以由长度的标准偏差或方差(或其它统计量度)表示。可穿戴***可以相应地将更高的置信度得分分配给虚拟圆形1812(与虚拟三角形1814相比)。
除了参考图18A和18B描述的技术之外,可穿戴***可以基于用户交互的历史分析而向虚拟对象分配置信度得分。作为示例,可穿戴***可以将较高的置信度得分分配给经常与用户交互的虚拟对象。作为另一示例,一个用户可能倾向于使用语音命令来移动虚拟对象(例如,“将那个移动到那儿”),而另一用户可能更喜欢使用手势(例如,通过伸手并“抓取”虚拟对象并将其移到另一位置)。***可以根据历史分析确定此类用户倾向。作为又一示例,输入模式可能经常与特定用户界面操作或特定虚拟对象相关联,因此,可穿戴***可以增加分配给特定用户界面操作或特定虚拟对象的置信度得分,即使可能存在基于相同输入的替代用户界面操作或虚拟对象。
在给定图18A或18B所示的视野1810或1820的情况下,第二输入模式可以便于选择适当的虚拟对象或虚拟对象中的适当用户界面操作。例如,用户可以说“放大三角形(enlarge the triangle)”以增加视野1810内的三角形的尺寸。作为另一示例,在图18A中,用户可以发出语音命令,例如“使那个成为两倍大(make that twice as big)”。由于基于头部姿势,虚拟对象1804具有较高置信度得分,因此可穿戴***可以确定语音命令的主题(例如,目标对象)是虚拟对象1804。有利地,在一些实施例中,这减少了产生期望结果所需的交互的特异性。例如,用户不必说“使三角形成为两倍大(make the triangle twice asbig)”即可使可穿戴***实现相同的交互。
图18A和18B中的三角形和圆形仅用于说明目的。本文所述的各种技术也可以应用于支持更复杂的用户交互的虚拟内容。
物理环境中的多模态交互示例
作为与虚拟对象的交互的补充或替代,可穿戴***还可以在真实世界环境内提供广泛的交互。图19A和19B示出了使用多模态输入与物理环境进行交互的示例。在图19A中,示出了三种输入模式:手势1960、头部姿势1920以及来自用户输入设备1940的输入。可以使用姿势传感器来确定头部姿势1920。姿势传感器可以是IMU、陀螺仪、磁力计、加速度计或图2A和图2B描述的其它类型的传感器。可以使用面向外的成像***464来测量手势1960,同时用户输入设备1940可以是图4所示的用户输入设备466的实施例。
在一些实施例中,可穿戴***还可以测量用户的眼睛注视。眼睛注视可包括从用户的每只眼睛延伸到两只眼睛的视线会聚的位置的向量。该向量可用于确定用户正在看的方向,并且可用于选择或标识会聚点处的或沿着向量的虚拟内容。可以通过诸如闪烁(glint)检测、虹膜或瞳孔形状映射、红外光照或双目眼成像的眼睛跟踪技术来确定这种眼睛注视,其中交点的回归源自于各自的瞳孔取向。然后可以将眼睛注视或头部姿势视为用于虚拟对象选择的锥体投射或光线投射的源点。
如本文所述,在用户的环境中移动所选虚拟内容的交互事件(例如,“将那个放在那儿(put that there)”)可能需要确定命令操作(例如“放(put)”)、主题(例如,“那个(that)”,其可以根据上述多模态选择技术确定),以及参数(例如,“那儿(there)”)。可以使用输入模式的组合来确定命令操作(或简称为命令)和主题(也被称为目标对象或目标虚拟对象)。例如,移动主题1912的命令可以单独地或组合地基于头部姿势1920的改变(例如,头部转动或点头)或手势1960(例如,轻扫手势)。作为另一示例,可以基于头部姿势和眼睛注视的组合来确定主题1912。因此,基于多模态用户输入的命令有时也可以被称为多模态输入命令。
还可以使用单个输入或多模态输入来确定参数。参数可以与用户的物理环境中的对象(例如,桌子或墙壁)或用户的虚拟环境中的对象(例如,电影应用、游戏中的化身或虚拟建筑物)相关联。在一些实施例中,识别真实世界参数可以允许更快和更准确地做出内容放置响应。例如,特定的虚拟对象(或虚拟对象的一部分)可以是具有水平取向的基本平面的(例如,虚拟对象的法线垂直于房间的地板)。当用户发起移动虚拟对象的交互时,可穿戴***可以识别具有相似取向的真实世界表面(例如,桌面),并将虚拟对象移到该真实世界表面。在某些实施例中,这种移动可以是自动的。例如,用户可能想要将虚拟书从其所在的地板上的位置移动。房间中唯一可用的水平表面可能是用户的书桌。因此,可穿戴***可以响应于“移动那个”的语音命令而自动将虚拟书移到书桌的表面,无需用户输入额外的命令或参数,这是因为书桌的表面是用户希望将书移到的最可能的位置。作为另一示例,可穿戴***可以针对给定内容识别合适大小的真实世界表面,从而可以为用户提供更好的参数匹配。例如,如果用户正在观看具有给定显示尺寸的虚拟视频屏幕,并希望通过简单的语音命令将其移到特定表面,则***可以确定哪些真实世界表面提供了必要的表面区域以最好地支持虚拟视频的显示尺寸。
可穿戴***可以使用参考识别目标虚拟对象描述的技术来识别目标参数(例如,目标表面)。例如,可穿戴***可以基于间接用户输入或直接用户输入来计算与多个目标参数相关联的置信度得分。作为示例,可穿戴***可以基于直接输入(例如,用户的头部姿势)和间接输入(例如,墙壁的特征(如竖直表面))计算与墙壁相关联的置信度得分。
识别真实世界参数的示例技术
可穿戴***可以使用各种技术来确定多模态输入命令的参数(诸如目标位置)。例如,可穿戴***可以使用各种深度感测技术,诸如将SLAM协议应用于环境深度信息(例如,参考图9所述),或者构造或访问环境的网格模型。在一些实施例中,深度感测确定3D空间中的已知点之间的距离(例如,HMD上的传感器之间的距离)和真实世界中对象表面上的关注点(“POI”)(例如,用于定位虚拟内容的墙壁)。该深度信息可以存储在世界地图920中。可以基于POI的集合来确定用于交互的参数。
可穿戴***可以将这些深度感测技术应用于从深度传感器获得的数据,以确定物理环境的边界。深度传感器可以是面向外的成像***464的一部分。在一些实施例中,深度传感器被耦接到IMU。从深度传感器获取的数据可用于确定多个POI相对于彼此的取向。例如,可穿戴***可以计算POI的截断的带符号距离函数(“TSDF”)。TSDF可以包括每个POI的数值。当某点处于特定平面的给定公差内时,该数值可以为零;当某点在第一方向上与特定平面间隔开(例如,在上方或在外部)时,该数值可以为正的;当某点在第二(例如,相反的)方向上与特定平面间隔开(例如,在下方或内部)时,该数值可以为负的。所计算的TSDF可用于定义沿着由IMU确定的取向的砖块或盒子的3D体积格,这些砖块或盒子在该特定平面之中、上方和下方对齐,以构造或表示特定表面。
可以消除在给定平面公差之外(例如,TSDF的绝对值大于公差)的POI,仅留下在给定公差内的多个彼此相邻的POI,以在真实世界环境中创建表面的虚拟表示。例如,真实世界环境可以包括会议桌。会议桌顶部上可能有各种其它对象(例如,电话、膝上型计算机、咖啡杯等)。对于会议桌的表面,可穿戴***可以保持与会议桌相关联的POI,并去除其它对象的POI。因此,平面地图(描绘会议桌的表面)可以仅用属于会议桌的点来表示会议桌。该地图可以省略与会议桌顶部上的对象相关联的点。在某些实施例中,保留在平面地图中的POI的集合可以被称为环境的“可使用表面”,因为平面地图的这些区域表示可以放置虚拟对象的空间。例如,当用户想要将虚拟屏幕移到桌子上时,可穿戴***可以识别用户环境中的合适表面(例如,桌面、墙壁等),同时消除不适合放置屏幕的对象(例如,咖啡杯或铅笔或壁画)或表面(例如,书架表面)。在该示例中,所识别的合适表面可以是环境的可使用表面。
返回参考图19A所示的示例,环境1900可以包括物理墙壁1950。HMD或用户输入设备1940可以容纳深度传感器***(例如,飞行时间传感器或垂直腔表面发射激光器(VCSEL))和姿势传感器(例如,IMU)。深度传感器***获得的数据可用于识别用户环境中的各种POI。可穿戴***可以将基本上平面的POI组合在一起以形成边界多边形1910。边界多边形1910可以是可使用表面的示例实施例。
在一些实施例中,面向外的成像***464可以识别用户手势1960,用户手势1960可以包括指向真实世界环境1900内的区域的手指。面向外的成像***464可以通过确定朝向边界多边形1910的手指指向的稀疏点向量构造来识别预测量的边界多边形1910。
如图19A所示,边界多边形1910内部可以有虚拟视频屏幕1930。用户可以使用多模态输入与在虚拟视频屏幕1930内部的虚拟对象1912进行交互。图19B示出了使用多模态输入与真实世界环境内的虚拟对象1912的交互。图19B中的环境包括竖直表面1915(其可以是墙壁的一部分)和桌面上的表面1917。在第一状态1970a中,虚拟内容1926最初显示在墙壁表面1915上的边界多边形1972a内。用户可以例如通过锥体投射或多模态输入(包括手势1960、头部姿势1920、眼睛注视或来自用户输入设备1940的输入中的两者或更多者)来选择虚拟对象1926。
用户可以使用另一输入作为多模态输入的一部分来选择作为目的地的表面1917。例如,用户可以结合使用头部姿势和手势来指示表面1917是目的地。可穿戴***可以通过将看上去位于同一平面上的POI进行组合来识别表面1917(和多边形1972b)。可穿戴***还可以使用其它表面识别技术来识别表面1917。
用户还可以使用多模态输入将虚拟内容1126平移到表面1917上的边界多边形1972b,如第二状态1970b所示。例如,用户可以通过头部姿势的变化和用户输入设备1940的移动的组合来移动虚拟内容1926。
作为另一示例,用户可以经由可穿戴***的麦克风232说“将那个移动到那儿”,该可穿戴***可以接收音频流并从中解析该命令(如本文所述)。用户可以将此语音命令与头部姿势、眼睛注视、手势或图腾的启动相结合。由于虚拟对象1926是最高置信度对象(例如,请参见场景1970a中的虚线,其指示用户的手指1960、HMD 1920和图腾1940朝着对象1926取向),因此可穿戴***可以将虚拟对象1926检测为该命令的主题。可穿戴***还可以将命令操作识别为“移动”,并将该命令的参数确定为“那儿”。可穿戴***可以基于语音以外的输入模式(例如,眼睛注视、头部姿势、手势、图腾)进一步确定“那儿”是指边界多边形1972b。
交互事件中的命令可以涉及多个参数的调整和计算。例如,参数可以包括虚拟对象的目的地、放置、取向、外观(例如,大小或形状)或动画。可穿戴***也可以自动计算参数,即使直接输入在更改参数中不是显式的。作为示例,可穿戴***在虚拟对象1926从竖直表面1915移到水平表面1917时可以自动改变虚拟对象1926的取向。在第一状态1970a中,虚拟内容1926在表面1915上是基本竖直取向的。当在第二状态1970b中虚拟内容1926被移到表面1917时,虚拟内容1926的取向可以保持一致(例如,保持竖直取向),如虚拟对象1924所示。可穿戴***还可以自动调整虚拟内容1926的取向以与表面1917的取向对齐,使得虚拟内容1926看起来在水平位置,如虚拟对象1922所示。在该示例中,可以基于作为间接输入的环境跟踪1632自动调整取向。当可穿戴***确定该对象是目标目的地对象时,可穿戴***可以自动考虑对象(例如,表面1917)的特征。可穿戴***可以基于目标目的地对象的特征调整虚拟对象的参数。在该示例中,可穿戴***基于表面1917的取向自动旋转虚拟对象1926的取向。
自动放置或移动虚拟对象的其它示例在2017年8月9日提交的名称为“AUTOMATICPLACEMENT OF A VIRTUAL OBJECT IN A THREE-DIMENSIONAL SPACE(在三维空间中自动放置虚拟对象)”的美国申请No.15/673,135中进行了描述,其公开为美国专利公开号2018\0045963,该申请的全部内容通过引用并入本文中。
在某些实施方式中,输入可以显式地修改多个参数。除了将表面1917识别为目的地之外,语音命令“将那个平放在那儿(place that there flat)”还可以改变虚拟对象1926的取向。在该示例中,单词“平(flat)”和单词“那儿(there)”都可以是参数值,其中“那儿”使可穿戴***更新目标虚拟对象的位置,而单词“平”与目的地位置处的目标虚拟对象的取向相关联。为了执行参数“平”,可穿戴***可以匹配虚拟对象1926的取向,从而与表面1917的取向匹配。
作为选择和移动虚拟对象的补充或替代,多模态输入可以以其它方式与虚拟内容进行交互。图20示出了基于多模态输入自动调整虚拟对象的大小的示例。在图20中,用户1510可以穿戴HMD 1502并且可以使用手势和语音命令2024与虚拟对象进行交互。图20示出了四个场景2000a、2000b、2000c和2000d。每个场景都包括显示屏幕和虚拟对象(由笑脸示出)。
在场景2000a中,显示屏幕具有尺寸2010,虚拟对象具有尺寸2030。用户可以将手势从手势2020更改为手势2022,以指示用户想要调整虚拟对象或显示屏幕的尺寸。用户可以使用语音输入2024来指示是虚拟对象还是显示屏幕为操纵的主题。
作为示例,用户可能想要同时放大显示屏幕和虚拟对象。因此,用户可以将输入手势2022用作放大命令。放大程度的参数可以由伸出的手指范围来表示。同时,用户可以使用语音输入2024来指示交互的主题。如场景2000b所示,用户可以说“全部(all)”以产生放大的显示器2012和放大的虚拟对象2032。作为另一示例,在场景2000c中,用户可以说“内容(content)”以产生放大的虚拟对象2034,而显示屏幕的尺寸与场景2000a中的相同。作为又一示例,在场景2000d中,用户可以说“显示器(display)”以产生放大的显示屏幕2016,而虚拟对象的尺寸保持与场景2000a中的相同。
作为输入模式的间接输入的示例
如本文所述,可穿戴***可以被编程为允许用户与作为多模态输入的一部分的直接用户输入和间接用户输入进行交互。直接用户输入可以包括头部姿势、眼睛注视、语音输入、手势、来自用户输入设备的输入或直接来自用户的其它输入。间接输入可以包括各种环境因素,例如用户的位置、用户的特征/偏好、对象的特征、用户环境的特征等。
如参考图2A和图2B所述,可穿戴***可以包括位置传感器,例如GPS或雷达或激光雷达。可穿戴***可以根据对象与用户的接近程度来确定用户交互的主题。图21示出了基于对象的位置来识别目标虚拟对象的示例。图21示意性地示出了用户的FOR的鸟瞰图2100。FOR可以包括多个虚拟对象2110a至2110q。用户可以穿戴包括位置传感器的HMD。可穿戴***可以基于对象与用户的接近程度确定候选目标对象。例如,可穿戴***可以选择距离用户阈值半径(例如1m、2m、3m、5m、10m或更大)内的虚拟对象作为候选目标虚拟对象。在图21中,虚拟对象(例如,虚拟对象2110o、2110p、2110q)落在距离用户位置2120阈值半径(以虚线圆2122例示)之内。因此,可穿戴***可以将虚拟对象2110o至2110q设置为候选目标虚拟对象。可穿戴***可以基于其它输入(例如,用户的头部姿势)进一步细化选择。阈值半径可以取决于情境因素,例如用户的位置。例如,用户在他或她的办公室中时的阈值半径可以短于用户在外面的公园中时的阈值半径。可以从距离用户阈值半径内的区域2122的一部分中选择候选对象。例如,仅在圆2122之内且在用户的FOV中(例如,通常在用户前面)的那些对象可以是候选者,而在圆2122之内但在用户的FOV之外(例如,在用户后面)的对象不能是候选者。作为另一示例,多个虚拟对象可以沿着共同的视线。例如,锥体投射可以选择多个虚拟对象。可穿戴***可以将用户的位置用作另一输入,以确定目标虚拟对象或用于用户交互的参数。例如,锥体投射可以选择与不同深度平面相对应的对象,但是可穿戴***可以被配置为将目标虚拟对象识别为用户手部触及范围内的对象。
类似于直接输入,间接输入也可以被分配可用于计算虚拟对象的置信度得分的值。例如,当多个对象或参数在共同的选择置信度内时,间接输入可以被进一步用作置信度因素。参考图21,圆2122内的虚拟对象可以比圆2122和圆2124之间中的虚拟对象具有更高的置信度得分,这是因为更靠近用户位置2120的对象更可能是用户有兴趣与之交互的对象。
在图21所示的示例中,为了方便起见,示出了虚线圆2122、2124,其表示具有相应半径的球在图21所示的平面上的投影。这只是为了说明而非限制;在其它实施方式中,可以选择其它形状的区域(例如,多面体)。
图22A和22B示出了基于直接和间接输入的组合与用户环境进行交互的另一示例。这两个图示出了世界相机的FOV 1270(其可以大于用户的FOV 1250)中的两个虚拟对象:虚拟对象A 2212和虚拟对象B 2214。虚拟对象A 2212也在用户的FOV 1250内。例如,虚拟对象A 2212可以是用户当前正在查看的虚拟文档,而虚拟对象B 2214可以是墙上的虚拟便签。然而,当用户与虚拟对象A 2212进行交互时,用户可能需要查看虚拟对象B 2214以从虚拟对象B 2214获得附加信息。因此,用户可以向右转动头部(以改变FOV 1250)以查看虚拟对象B 2214。有利地,在某些实施例中,可穿戴***可以检测用户注视方向(朝向虚拟对象B2214的方向)的变化,而不是转动头部。因此,可穿戴***可以自动将虚拟对象B 2214移动在用户的FOV内,无需用户更改其头部姿势。虚拟对象B可以覆盖虚拟对象A(或被包括在对象A内),或者对象B可以被放置在用户FOV 1250内,但是与对象A至少部分地间隔开(从而对象A也至少部分地对用户可见)。
作为另一示例,虚拟对象B 2214可以在另一用户界面屏幕上。用户可能想要在具有虚拟对象A 2212的用户界面屏幕和具有虚拟对象B 2214的用户界面屏幕之间切换。可穿戴***可以在不改变用户的FOV 1250的情况下进行切换。当检测到眼睛注视变化或用户输入设备的致动时,可穿戴***可以自动地将具有虚拟对象A 2212的用户界面屏幕移到用户的FOV 1250之外,同时将具有虚拟对象B 2214的用户界面屏幕移到用户的FOV 1250之内。作为另一示例,可穿戴***可以自动地将具有虚拟对象B 2214的用户界面屏幕覆盖在具有虚拟对象A 2212的用户界面屏幕之上。一旦用户提供了有关他已经完成了虚拟用户界面屏幕的指示,可穿戴***便可自动地将虚拟用户界面屏幕移到FOV 1250之外。
有利地,在一些实施例中,可穿戴***可以基于多模态输入将虚拟对象B 2214识别为要被移动到FOV内的目标虚拟对象。例如,可穿戴***可以基于用户的眼睛注视和虚拟对象的位置做出该确定。可穿戴***可以将目标虚拟对象设置为在用户注视方向上并且是距离用户最近的对象。
使用多模态用户输入与虚拟对象进行交互的示例过程
图23示出了使用多模态输入与虚拟对象进行交互的示例过程。过程2300可以由本文所述的可穿戴***执行。例如,过程2300可以由本地处理和数据模块260、远程处理模块270和中央运行时服务器1650单独或组合地执行。
在框2310处,可穿戴***可以可选地检测启动条件(initiation condition)。启动可以是用户启动的输入,其可以提供有关用户打算向可穿戴***发出命令的指示。启动条件可以由可穿戴***预定义。启动条件可以是单个输入或组合输入。例如,启动条件可以是语音输入,例如通过说出短语“嘿,奇跃(Hey,Magic Leap)”。启动条件也可以基于手势。例如,当在世界相机的FOV(或用户的FOV)内检测到用户的手时,可穿戴***可以检测到启动条件的存在。作为另一示例,启动条件可以是特定的手部动作,例如打响指。当用户启动用户输入设备时,也可以检测到启动条件。例如,用户可以点击用户输入设备上的按钮,指示该用户将发出命令。在某些实施方式中,启动条件可以基于多模态输入。例如,可穿戴***可能需要语音命令和手势二者来检测启动条件的存在。
框2310是可选的。在一些实施例中,可穿戴***可以在不检测启动条件的情况下接收并开始解析多模态输入。例如,当用户正在观看视频时,可穿戴***可以获取用户的多模态输入以调整音量、快进、快退、跳至下一集等,而无需用户首先提供启动条件。有利地,在一些实施例中,在用户可以使用多模态输入与视频屏幕交互之前,用户可以不需要唤醒视频屏幕(例如,以便视频屏幕可以呈现时间调节或音量调节工具)。
在框2320处,可穿戴***可以接收用于用户交互的多模态输入。多模态输入可以是直接或间接输入。示例输入模式可以包括语音、头部姿势、眼睛注视、手势(在用户输入设备上或在空中)、用户输入设备(例如,图腾)上的输入、用户环境,或3D环境中对象(物理或虚拟对象)的特征。
在框2330处,可穿戴***可以解析多模态输入以识别用户交互的主题、命令和参数。例如,可穿戴***可以将置信度得分分配给候选目标虚拟对象、目标命令和目标参数,并基于最高置信度得分选择主题、命令和参数。在一些实施例中,一个输入模式可以是主要输入模式,而另一输入模式可以是次要输入模式。来自次要输入模式的输入可以补充来自主要输入模式的输入以确定目标主题、命令或参数。例如,可穿戴***可以将头部姿势设置为主要输入模式,将语音命令设置为次要输入模式。可穿戴***可以首先尽可能多地解释来自主要输入模式的输入,然后解释来自次要输入模式的附加输入。如果附加输入被解释为暗示与主要输入的输入不同的交互,则可穿戴***可以自动向用户提供消歧提示。消歧提示可以请求用户从以下项中选择期望的任务:主要输入的解释,或者基于次要输入的解释的替代选项。尽管参考主要输入模式和次要输入模式描述了该示例,但是在各种情况下,可能存在多于两个的输入模式。相同的技术还可以应用于第三输入模式、第四输入模式等。
在框2340处,可穿戴***可以基于主题、命令和参数执行用户交互。例如,多模态输入可以包括眼睛注视和语音命令“将那个放在那儿”。可穿戴***可以确定交互的主题是用户当前正在与之交互的对象,命令是“放”,并且参数是用户的注视视野的中心(基于用户的眼睛注视方向确定)。因此,用户可以将当前正在与之交互的虚拟对象移到用户的注视视野的中心。
设置与用户交互相关联的直接输入模式的示例
在某些情况下,例如当用户使用姿势、手势或语音与可穿戴***进行交互时,存在用户附近的其他人可能会通过使用这些直接输入发出命令来“劫持”用户交互的风险。例如,在公园中,用户A可能站在用户B的附近。用户A可以使用语音命令与HMD进行交互。用户B可以通过说“拍照”来劫持用户A的体验。即使用户A从未打算拍照,由用户B发出的该语音命令也会导致用户A的HMD拍照。作为另一示例,用户B可能在用户A的HMD的世界相机的FOV内做手势。例如,在用户A正在玩视频游戏时,此手势可能导致用户A的HMD转到主页。
在一些实施方式中,可以分析输入以确定该输入是否源自用户。例如,***可以应用说话者识别技术来确定命令“拍照”是由用户A还是劫持者B说出的。***可以应用计算机视觉技术来确定手势是由用户A的手还是由劫持者B的手做出的。
另外地或替代地,为了防止安全漏洞和用户与可穿戴***的交互中断,可穿戴***可以基于间接输入自动设置可用的直接输入模式,或者在发出命令之前要求多种直接输入模式。图24示出了设置与用户交互相关联的直接输入模式的示例。图24中示出了三种直接输入:语音2412、头部姿势2414和手势2416。如下面进一步描述的,滑动条2422、2424和2426表示在确定命令时每个输入的加权量。如果滑块全程向右,则输入被赋予整权重(例如,100%),如果滑块全程向左,则输入被赋予零权重(例如,0%),并且如果滑块位于这些极限设置之间,则输入被赋予部分权重(例如,20%或80%或其它一些中间值,诸如0到1之间的值)。在该示例中,可穿戴***可以被设置为在执行命令之前要求语音命令2422和手势2426二者(而不使用头部姿势2414)。因此,如果语音命令2442和手势2426指示不同的用户交互(或虚拟对象),则可穿戴***可能不执行命令。通过要求两种类型的输入,可穿戴***可以降低其他人劫持用户交互的可能性。
作为另一示例,可以禁用一种或多种输入模式。例如,当用户与文档处理应用交互时,可以禁用头部姿势2414作为输入模式,如图24所示,其中头部姿势滑块2424被设置为0。
每种输入可以与认证级别相关联。在图24中,语音2412与认证级别2422相关联;头部姿势2414与认证级别2424相关联;并且手势2416与认证级别2426相关联。认证级别可用于确定待执行的命令是否需要输入,或者是否禁用输入,或者是否赋予输入部分权重(介于完全启用或完全禁用之间)。如图24所示,语音2412和手势2416的认证级别被设置为全程向右(与最大认证级别相关联),这表明需要这两种输入才能发出命令。作为另一示例,头部姿势的认证级别被设置为全程向左(与最小认证级别相关联)。这表明发出命令不需要头部姿势2414,即使仍然可以使用头部姿势2414来确定目标虚拟对象或目标用户界面操作。在一些情况下,通过将认证级别设置为最小,可穿戴***可以禁用头部姿势2414作为输入模式。
在某些实施方式中,认证级别也可用于计算与虚拟对象相关联的置信度级别。例如,可穿戴***可以将较高值分配给具有较高认证级别的输入模式,而将较低值分配给具有较低认证级别的输入模式。因此,当合计来自多个输入模式的置信度得分以计算虚拟对象的总置信度得分时,具有较高认证级别的输入模式在总置信度得分中的权重大于具有较低认证级别的输入模式的权重。
认证级别可以由用户(通过输入或经由设置面板)设置,或者可以由可穿戴***自动设置(例如,基于间接输入)。当用户在公共场所时,可穿戴***可能需要更多的输入模式,而当用户在私人场所时,可能需要更少的输入模式。例如,当用户在地铁上时,可穿戴***可能既需要语音2412也需要手势2416。然而,当用户在家时,可穿戴***可能仅需要语音2412来发出命令。作为另一示例,当用户在公园中时,可穿戴***可以禁用语音命令,从而为用户的交互提供隐私。但是,当用户在家时,语音命令仍然可用。
尽管参考设置直接输入模式描述了这些示例,但是类似的技术也可以应用于设置作为多模态输入的一部分的间接输入模式。例如,当用户正在使用公共交通工具(例如,公共汽车)时,可穿戴***可以被配置为禁用地理位置作为输入模式,因为可穿戴***可能无法准确地知道用户具体坐在或站在公共交通工具上的什么位置。
用户体验的其它示例
除了本文所述的示例之外,本节还描述了利用多模态输入的其它用户体验。作为第一示例,多模态输入可以包括语音输入。例如,用户可以说出语音命令,例如“嘿,奇跃,呼叫她(Hey Magic Leap,call her)”,该命令由HMD上的音频传感器232接收并由HMD***解析。在该命令中,用户可以通过说出“嘿,奇跃”来启动任务(或提供启动条件)。“呼叫(call)”可以是预编程的单词,因此可穿戴***知道它应该进行电话呼叫(而不是发起视频呼叫)。在某些实施方式中,这些预编程的单词也可以称为“热词”或“载体短语”,***将其识别为指示用户想要采取特定动作(例如,“呼叫”),并且可以警告***接受进一步的输入以完成所期望的动作(例如,在单词“呼叫”之后标识人(“她”)或电话号码)。可穿戴***可以使用附加输入来识别“她”是谁。例如,可穿戴***可以使用眼睛跟踪来查看用户正在查看虚拟联系人列表或用户电话上的哪个联系人。可穿戴***还可以使用头部姿势或眼睛跟踪来确定用户是否直接注视着用户想要呼叫的人。在某些实施例中,可穿戴***可以利用人脸识别技术(例如,使用对象识别器708)来确定用户正在查看的人的身份。
作为第二示例,用户可以具有直接放置在墙壁上的虚拟浏览器(例如,可穿戴***的显示器220可以投射虚拟浏览器,就好像其覆盖在墙壁上一样)。用户可以伸出他或她的手,并在浏览器中的链接上提供轻击手势。由于浏览器看起来位于墙壁上,因此用户可以轻击墙壁或在空间中轻击,使得用户手指的投影看起来轻击墙壁以提供指示。可穿戴***可以使用多模态输入来识别用户打算点击的链接。例如,可穿戴***可以使用手势检测(例如,经由由面向外的成像***464获取的数据)、基于头部姿势的锥体投射和眼睛注视。在该示例中,手势检测的准确性可能小于100%。可穿戴***可以利用从头部姿势和眼睛注视获取的数据来改善手势检测,从而提高手势跟踪的准确性。例如,可穿戴***可基于由面向内的成像***462获取的数据来识别眼睛最有可能聚焦的半径。在某些实施例中,可穿戴***可基于眼睛注视识别用户的注视视野。可穿戴***还可以使用诸如环境特征(例如,墙壁的位置、浏览器或网页的特征等)之类的间接输入来改善手势跟踪。在该示例中,墙壁可以由平面网格表示(其可以预先存储在环境的地图920中),可穿戴***可以根据平面网格来确定用户的手的位置,从而确定用户瞄准和选择的链接。有利地,在各种实施例中,与单一输入模式相比,通过组合多种输入模式,可以降低用于用户交互的一种输入模式所需的准确度。例如,FOV相机不需要具有非常高的分辨率来进行手势识别,因为可穿戴***可以利用头部姿势或眼睛注视对手势进行补充以确定预期的用户交互。
尽管以上示例中的多模态输入包括音频输入,但是音频输入对于上述多模态输入交互不是必需的。例如,用户可以使用2D触摸轻扫手势(例如,在图腾上)以将浏览器窗口从一堵墙移到另一堵墙。浏览器最初可位于左侧墙壁上。用户可以通过启动图腾来选择浏览器。然后,用户可以看着右墙壁,并在图腾的触摸板上做出向右轻扫的手势。在触摸板上轻扫是松散且不准确的,因为2D轻扫本身无法轻易/很好地转换为3D运动。然而,可穿戴***可以检测墙壁(例如,基于由面向外的成像***获取的环境数据),并且检测用户专门观看的墙壁上的点(例如,基于眼睛注视)。通过这三种输入(触摸轻扫、注视,环境特征),可穿戴***就可以以高置信度完美地将浏览器置于用户希望浏览器窗口安放的位置。
作为多模态输入的头部姿势的其它示例
在各种实施例中,多模态输入可以支持无图腾的体验(或不经常使用图腾的体验)。例如,多模态输入可以包括可用于共享或搜索虚拟对象的头部姿势和语音控制的组合。多模态输入还可以使用头部姿势和手势的组合来导航各种用户界面平面和用户界面平面内的虚拟对象。头部姿势、语音和手势的组合可用于移动对象,进行社交网络活动(例如,发起和进行远程呈现会话、共享帖子),浏览网页上的信息或***体播放器。
图25示出了多模态输入的用户体验的示例。在示例场景2500a中,用户2510可以用头部姿势来将应用2512和2514瞄准并选择应用2512和2514。可穿戴***可以显示焦点指示器2524a,焦点指示器2524a指示用户当前正利用头部姿势与虚拟对象进行交互。一旦用户选择了应用2514,可穿戴***便可显示用于应用2514的焦点指示器2524a(例如,图25所示的目标图形、应用2514周围的光晕、或使虚拟对象2514看起来更靠近用户)。可穿戴***还可以将焦点指示器的外观从焦点指示器2524a更改为焦点指示器2524b(例如,场景2500b中所示的箭头图形),其指示用户输入设备466进行的交互在用户选择虚拟对象2514之后也变为可用的。语音和手势交互扩展了头部姿势加手势的该交互模式。例如,当用户发出语音命令时,利用头部姿势被瞄准的应用可响应于语音命令或被语音命令操纵。通过例如头部姿势、手势和语音识别的组合与虚拟对象进行交互的其它示例在2016年10月18日提交的名称为“SELECTING VIRTUAL OBJECTS IN A THREE-DIMENSIONAL SPACE(在三维空间中选择虚拟对象)”、被公开为美国专利公开No.2017/0109936的美国申请No.15/296,869中进行了描述,其全部公开内容通过引用并入本文中。
头部姿势可以与语音控制、手势识别和环境信息(例如,网格信息)结合以提供免提(hands-free)浏览。例如,如果用户正使用头部姿势来瞄准浏览器,将由浏览器处理“搜索Fort Lauderdale(Search for Fort Lauderdale)”的语音命令。如果用户未将特定浏览器瞄准,则可穿戴***也可以在不仔细查看(go through)浏览器的情况下处理该语音命令。作为另一示例,当用户说“与Karen共享这个(Share this with Karen)”时,可穿戴***将对用户瞄准(例如,使用头部姿势、眼睛注视或手势)的应用执行共享动作。作为另一示例,语音控制可以执行浏览器窗口功能,例如“去往书签(Go to Bookmarks)”,而手势可用于执行网页的基本导航,例如点击和滚动。
也可以在不需要用户输入设备的情况下使用多模态输入启动和移动虚拟对象。可穿戴***可以使用诸如手势、语音和注视之类的多模态输入来将内容自然地放置在用户和环境附近。例如,当用户与HMD交互时,用户可以使用语音打开未启动的应用。用户可以通过说“嘿,奇跃,启动浏览器(Hey Magic Leap,launch the Browser)”来发出语音命令。在该命令中,启动条件包括启用短语“嘿,奇跃”的存在。该命令可以被解释为包括“启动”或“打开”(它们可以是可互换的命令)。该命令的主题是应用名称,例如“浏览器”。然而,该命令不需要参数。在某些实施例中,可穿戴***可以自动应用默认参数,例如将浏览器放置在用户的环境(或用户的FOV)中。
多模态输入还可用于执行基本的浏览器控制,例如,打开书签,打开新标签,导航到历史记录等。免提或全手动情况下引用网络内容的能力可以使用户获得更多信息并提高工作效率。例如,用户Ada是一名放射科医生,在她办公室里看片。Ada可以通过语音和手势浏览网页,以在看片时调出参考材料,从而减少了她在屏幕上前后移动鼠标以在片子和参考资料之间切换的需求。作为另一示例,用户Chris正在通过虚拟浏览器窗口烹饪新食谱。虚拟浏览器窗口可以放在他的橱柜上。Chris可以在开始切碎食物时使用语音命令调出加书签的食谱。
图26示出了具有各种加书签的应用的示例用户界面。用户可以通过说出应用的名字而在用户界面2600上选择应用。例如,用户可以说“open food(打开美食)”以启动food(美食)应用。作为另一示例,用户可以说“open this(打开这个)”。可穿戴***可以确定用户的注视方向,并在用户界面2600上识别与用户的注视方向相交的应用。可穿戴***可以相应地打开所识别的应用。
用户还可以使用语音来发出搜索命令。搜索命令可以由用户当前瞄准的应用执行。如果对象当前不支持搜索命令,则可穿戴***可在可穿戴***的数据存储内执行搜索,或者通过默认应用(例如,通过浏览器)搜索信息。图27示出了发出搜索命令时的示例用户界面2700。该用户界面2700示出了电子邮件应用和媒体观看应用。可穿戴***可以(基于用户的头部姿势)确定用户当前正在与电子邮件应用进行交互。因此,可穿戴***可以自动将用户的语音命令转换为电子邮件应用中的搜索命令。
也可使用多模态输入实现媒体控制。例如,可穿戴***可以使用语音和手势控制来发出命令,例如播放、暂停、静音、快进和快退,以控制应用(例如屏幕)中的媒体播放器。用户可以将语音和手势控制与媒体应用一起使用,并将图腾搁置在一边。
多模态输入可以进一步在社交网络情境中使用。例如,用户可以在没有用户输入设备的情况下开始对话并分享经验(例如,虚拟图像、文档等)。作为另一示例,用户可以参加远程出席会话并设置私人情境,以使用户可以舒适地使用语音导航用户界面。
相应地,在各种实施方式中,***可以利用多模态输入,例如:头部姿势加语音(例如,用于信息共享和一般应用搜索)、头部姿势加手势(例如,用于应用中的导航),或头部姿势加语音加手势(例如,用于“将那个放在那儿”功能、媒体播放器控制、社交互动或浏览器应用)。
作为多模态输入的一部分的手势控制的其它示例
手势交互可以有两种非限制性和非排他性的类别:事件手势和动态手部跟踪。事件手势可以是在用户与HMD进行交互时对事件进行响应,例如,棒球比赛中捕手向投手做出的投掷标志或浏览器窗口中的竖大拇指标志,从而使可穿戴***打开共享对话。可穿戴***可以遵循用户执行的一个或多个手势模式并相应地对事件做出响应。动态手部跟踪可以涉及以低延迟跟踪用户的手。例如,用户可以在用户的FOV上移动一只手,而虚拟角色可以跟随用户手指的移动。
手势跟踪的质量可取决于用户交互的类型。质量可能涉及多个因素,例如稳健性、响应性和人体工程学。在一些实施例中,事件手势具有几近完美的稳健性。在社交体验、前沿(bleeding-edge)交互和第三方应用中,最低可接受手势性能的阈值可能会低一些,因为这些体验的美感可以容忍错误、干扰、低延迟等,但是手势识别仍然可以在这些体验中表现出色,以保持响应能力。
为了增加可穿戴***响应用户手势的可能性,该***可以减少或最小化手势检测的延迟(对于事件手势和动态手部跟踪二者)。例如,可穿戴***可以通过检测用户的手何时在深度传感器的视野内,自动将深度传感器切换到适当的手势模式,然后向用户提供有关他或她何时执行手势的反馈,来减少或最小化延迟。
如本文所述,手势可以与其它输入模式结合使用以启动、选择和移动应用。手势也可用于与应用内的虚拟对象进行交互,例如通过在空中或在表面(例如,在桌子或墙壁上)轻击、滚动来实现。
在某些实施例中,可穿戴***可以实现支持手势交互的社交网络工具。用户可以执行语义事件手势来丰富交流。例如,用户可以在FOV相机前挥手,因此挥手动画被发送给用户正在与其聊天的人。可穿戴***还可以为用户手部的虚拟化提供动态手部跟踪。例如,用户可以在他或她的FOV前面举起他或她的手,并获得有关正在跟踪他或她的手以制作他或她的化身的手部动画的视觉反馈。
手势也可用作多模态输入的一部分以实现媒体播放器控制。例如,用户可以使用手势来播放或暂停视频流。用户可以远离播放视频的设备(例如,电视机)执行手势操纵。在检测到用户的手势后,可穿戴***可以基于用户的手势远程控制设备。用户还可以查看媒体面板,并且可穿戴***可以结合使用用户的注视方向和用户的手势来更新媒体面板的参数。例如,捏取(ok)手势可以暗示“播放(play)”命令,拳头手势可以暗示“暂停(pause)”命令。用户还可以通过在FOV相机前面挥舞一只手臂来关闭菜单。手势2080的示例在图20中示出。
与虚拟对象进行交互的其它示例
如本文所述,可穿戴***可以支持与用户环境中的对象(物理或虚拟对象)的各种多模态交互。例如,可穿戴***可以支持用于与找到的对象进行交互的直接输入,诸如瞄准、选择、控制(例如,移动或特性)找到的对象。与找到的对象的交互还可以包括与找到的对象几何形状的交互或与找到的对象连接的表面的交互。
还支持用于与平面表面的交互的直接输入,例如瞄准和选择墙壁或桌面。用户还可以启动各种用户界面事件,例如,触摸事件、轻击事件、轻扫事件或滚动事件。用户可以使用直接交互(例如,面板滚动、轻扫和选择面板内的元素(例如,虚拟对象或诸如按钮之类的用户界面元素)来操纵2D用户界面元素(例如,面板)。用户还可以使用一种或多种直接输入来移动面板或调整面板的大小。
直接输入可以进一步用于操纵处于不同深度处的对象。可穿戴***可以设置各种阈值距离(距离用户的阈值距离)来确定虚拟对象的区域。参考图21,虚线圆2122内的对象可被视为近场中的对象,虚线圆2124内(但在虚线圆2122之外)的对象可被视为中场中的对象,虚线圆2124之外的对象可被视为远场中的对象。近场和远场之间的阈值距离可以是例如1m、2m、3m、4m、5m或更大,并且可以取决于环境(例如,在室外公园中比在室内办公室隔间更大)。
可穿戴***可以支持近场中的虚拟对象的各种2D或3D操纵。示例性2D操纵可以包括移动或调整大小。示例性3D操纵可以包括例如通过捏取、拖动、移动或旋转虚拟对象而将虚拟对象放置在3D空间中。可穿戴***还可以支持与中场中的虚拟对象的交互,例如在用户环境中平移和重新定位对象,执行对象的径向运动或将对象移到近场或远场中。
可穿戴***还可以支持连续的指尖交互。例如,可穿戴***可以允许用户的手指像吸引子一样指向,或精确定位对象并对该对象执行推动交互。可穿戴***可以进一步支持快速姿势交互,例如,手表面交互或手轮廓交互。
社交网络和共享的情景中语音命令的其它示例
可穿戴***可以支持将语音命令作为社交网络(或消息传递)应用的输入。例如,可穿戴***可以支持用于与联系人共享信息或与联系人通话的语音命令。
作为开始与联系人通话的示例,用户可以使用语音命令,例如“嘿,奇跃,呼叫Karen(Hey Magic Leap,call Karen)”。在该命令中,“嘿,奇跃(Hey Magic Leap)”是调用短语,命令是“呼叫(call)”,命令的参数是联系人的姓名。可穿戴***可以自动使用信使(messenger)应用(作为主题)发起呼叫。命令“呼叫”可以与任务相关联,例如,“开始与......通话(start a call with)”,“开始与.....聊天(start a chat with)”等。
如果用户说“开始呼叫(Start a call)”,然后说出姓名,则可穿戴***可以尝试识别该姓名。如果可穿戴***无法识别该姓名,则可穿戴***可以向用户传达消息,以供用户确认该姓名或联系人信息。如果可穿戴***识别出该姓名,则可穿戴***可以呈现对话框提示,使得用户可以确认/拒绝(或取消)呼叫,或提供替代联系人。
用户还可以使用好友列表开始与若干个联系人的通话。例如,用户可以说“嘿,奇跃,与Karen、Cole和Kojo开始群聊(Hey Magic Leap,start a group chat with Karen,Cole,and Kojo)”。该群聊命令可以从短语“开始群聊(start a group chat)”中提取,或者可以从用户提供的好友列表中提取。当用户正在通话时,该用户可以将另一用户添加到会话中。例如,用户可以说“嘿,奇跃,邀请Karen(Hey Magic Leap,invite Karen)”,其中短语“邀请(invite)”可以与邀请命令相关联。
可穿戴***可以使用语音命令与联系人共享虚拟对象。例如,用户可以说“嘿,奇跃,与Karen共享屏幕(Hey Magic Leap,share Screens with Karen)”或“嘿,奇跃,与David和Tony共享那个(Hey Magic Leap,share that with David and Tony)”。在这些示例中,单词“共享(share)”是共享命令。单词“屏幕(screens)”或“那个(that)”可以指可穿戴***可以基于多模态输入确定的主题。诸如“Karen”、“David和Tony”之类的姓名是该命令的参数。在一些实施例中,当由用户提供的语音命令包括带有应用引用(applicationreference)和联系人的单词“共享”时,可穿戴***可以提供确认对话框,以要求用户确认用户是想要共享应用本身还是经由引用的应用共享主题。当用户发出包括单词“共享”、应用引用和联系人的语音命令时,可穿戴***可以判定该应用名称是否被可穿戴***识别,或者该应用是否存在于用户的***上。如果***无法识别该名称或该应用不存在于用户***中,则可穿戴***可以向用户提供消息。该消息可以建议用户再次尝试语音命令。
如果用户在语音命令中提供了指示性或回指性引用(例如“这个”或“那个”),则可穿戴***可以使用多模态输入(例如,用户的头部姿势)来确定用户是否正在与可以被共享的对象交互。如果对象不能被共享,则可穿戴***可以向用户提示错误消息,或者移到第二输入模式(例如,手势),以确定应该共享的对象。
可穿戴***还可以确定是否能够识别与之共享对象的联系人(例如,作为用户的联系人列表的一部分)。如果可穿戴***识别出该联系人的姓名,则可穿戴***可以提供确认对话框,以确认用户希望继续共享。如果用户确认,则可以共享该虚拟对象。在一些实施例中,可穿戴***可以共享与应用相关联的多个虚拟对象。例如,可穿戴***可以响应于用户的语音命令,共享整个相册或共享最近查看的相片。如果用户拒绝共享,则取消共享命令。如果用户指示联系人错误,则可穿戴***可以提示用户再次说出联系人姓名,或从可用联系人列表中选择联系人。
在某些实施方式中,如果用户说“共享”并说出应用参考但未指定联系人,则可穿戴***可能与用户环境中有权访问用户文件的人员在本地共享应用。可穿戴***还可以使用本文所述的输入模式中的一种或多种来回复以及要求用户输入姓名。与社交网络示例类似,用户可以发出语音命令以与一个联系人或一组联系人共享虚拟对象。
经由语音进行通话的挑战是语音用户界面错误地识别或未能识别联系人姓名。对于较不常用的或非英语的姓名(例如lsi、Ileana等),这尤其成问题。例如,当用户说出的语音命令包含联系人姓名(例如“与lly共享屏幕(Share Screens with lly)”)时,可穿戴***可能无法识别姓名“lly”或其发音。可穿戴***可以使用诸如“谁?(Who?)”之类的提示来打开联系人对话。用户可以使用语音再次尝试以指定“Ily”,使用语音或用户输入设备拼出姓名“I-L-Y”,或使用用户输入设备从可用姓名面板中快速选择姓名。姓名“Ily”可能是在用户的联系人中具有一个条目的Ileana的昵称。一旦用户指示***“Ily”是昵称时,***可以被配置为通过自动将该昵称(或与该昵称相关联的发音或音频模式)与朋友的姓名相关联来“记住”该昵称。
使用语音命令选择和移动虚拟对象的其它示例
用户可以使用多模态输入(例如,眼睛注视、手势和语音的组合)自然而迅速地管理虚拟对象在用户环境中的放置。例如,名为Lindsay的用户坐在桌子旁,准备好做一些工作。她打开她的膝上型计算机,然后在她的计算机上启动了桌面监控器应用。当计算机加载时,她将手伸到膝上型计算机屏幕上方,并且说:“嘿,奇跃,将监控器放在这儿(Hey MagicLeap,put Monitors here.)”。响应于该语音命令,可穿戴***可以自动启动监控器屏幕,并将其放置在膝上型计算机上方。然而,当Lindsay在看着房间另一侧的墙壁的同时说“将屏幕器放在那儿(Put screens there)”时,可穿戴***可以自动将屏幕放到她对面的墙壁上。Lindsay还可以在看着她的书桌时说“将神翠鸟放在这儿(Put halcyon here)”。神翠鸟最初是在厨房的桌子上的,但是响应于该语音命令,可穿戴***可以自动将其移到她的桌面上。在工作时,她可以使用图腾与这些对象交互,并根据自己的喜好调整它们的比例。
用户可以在用户环境中的任一点处使用语音来打开未启动的应用。例如,用户可以说“嘿,奇跃,启动浏览器(Hey Magic Leap,launch the Browser)”。在该命令中,“嘿,奇跃(Hey Magic Leap)”是调用词,单词“启动(launch)”是启动命令,而单词“浏览器(Browser)”是主题的应用。“启动”命令可以与单词“启动”、“打开(open)”、“播放(play)”相关联。例如,当用户说“打开浏览器(open the browser)”时,可穿戴***仍然可以识别该启动命令。在某些实施例中,应用可以是沉浸式应用,其可以向用户提供3D虚拟环境,就像用户是3D虚拟环境的一部分一样。因此,当启动沉浸式应用时,可以将用户定位为好像他在3D虚拟环境中一样。在某些实施方式中,沉浸式应用还包括商店应用。当启动商店应用时,可穿戴***可以为用户提供3D购物体验,从而使用户可以感觉到好像他在真实商店中购物一样。与沉浸式应用形成对照,应用可以是景观应用(landscape application)。当启动景观应用时,可以将其放置在通过启动器中的图腾启动时其将被放置的位置。因此,用户可以与景观应用进行交互,但是用户可能不觉得自己是景观应用的一部分。
用户还可以使用语音命令在用户FOV中的指定位置启动虚拟应用,或者用户可以将已经放置的虚拟应用(例如,景观应用)移到用户FOV中的特定位置。例如,用户可以说“嘿,奇跃,将浏览器放在这儿(Hey Magic Leap,Put the browser here)”、“嘿,奇跃,将浏览器放在那儿(Hey Magic Leap,Put the browser there)”、“嘿,奇跃,将这个放在这儿(Hey Magic Leap,Put this here)”或“嘿,奇跃,将那个放在那儿(Hey Magic Leap,Putthat there)”。这些语音命令包括调用词、“放(put)”命令、应用名称(其是主题)和位置提示(其是参数)。可以基于音频数据(例如,基于用户说出的应用名称)引用主题。当用户改为说出单词“这个”或“那个”时,也可以基于头部姿势或眼睛注视识别主题。为了便于这种语音交互,可穿戴***可以做出例如两个推断:(1)要启动哪个应用;(2)将应用放置在哪里。
可穿戴***可以使用“放”命令和应用名称来推断要启动哪个应用。例如,如果用户说出可穿戴***无法识别的应用名称,则可穿戴***可能会提供错误消息。如果用户说出可穿戴***识别出的应用名称,则可穿戴***可以确定该应用是否已被放置在用户环境中。如果该应用已经被显示在用户环境中(例如,在用户FOV中),则可穿戴***可以确定用户环境中有多少个应用实例(instance)(例如,打开了多少个浏览器窗口)。如果只有一个目标应用实例,则可穿戴***可以将该应用移到用户指定的位置。如果环境中存在所说出的应用的多于一个实例,则可穿戴***可以将该应用的所有实例移到指定位置,或者将最近使用的实例移到指定位置。如果该虚拟应用尚未被放置在用户的环境中,则***可以确定该应用是景观应用、沉浸式应用还是商店应用(用户可在其中下载或购买其它应用)。如果该应用是景观应用,则可穿戴***可以在指定位置处启动该虚拟应用。如果该应用是沉浸式应用,则可穿戴***可以将该应用的快捷方式放在指定位置,因为沉浸式应用不支持在用户FOV中的指定位置处启动的功能。如果该应用是商店应用,则***可以将迷你商店放置在指定位置,因为商店应用需要使用户完全地3D浸入虚拟世界中,因此不支持在用户环境中的特定位置启动。迷你商店可以包括商店中虚拟对象的简短摘要或图标。
可穿戴***可以使用各种输入来确定将应用放置在哪里。可穿戴***可以解析用户命令中的语法(例如,“这儿”或“那儿”),确定用户环境中的虚拟对象与基于头部姿势的光线投射(或锥体投射)的相交,确定用户的手部位置,确定平面表面网格或环境平面网格(例如,与墙壁或桌子相关联的网格)等。作为示例,如果用户说“这儿”,则可穿戴***可以确定用户的手势,例如用户FOV中是否存在平坦张开的手。可穿戴***可以将对象放置在用户平坦张开的手的位置处以及用户的手触及范围附近的渲染平面处。如果FOV中没有平坦张开的手,则可穿戴***可以确定头部姿势(例如,基于头部姿势的锥体投射的方向)是否与用户手臂触及范围内的表面平面(surface-planar)网格相交。如果存在表面平面网格,则可穿戴***可以将虚拟对象放置在头部姿势方向与位于用户手臂触及范围内的渲染平面处的表面平面网格的相交处。用户可以将对象平放在该表面上。如果没有表面平面网格,则可穿戴***可以将虚拟对象放置在渲染平面处,该渲染平面具有在手臂触及范围内与最佳阅读距离之间某处的距离。如果用户说“那儿”,则可穿戴***可以执行与用户说“这儿”时类似的操作,不同之处在于,如果在用户手臂触及范围内没有表面平面网格,则可穿戴***可以将虚拟对象放置在中场内的渲染平面处。
一旦用户说“将应用放在……(Put the Application....)”,可穿戴***便可立即向用户提供预测性反馈,以显示在用户说“这儿”或“那儿”时基于可用输入将虚拟对象放置在哪里。该反馈可以采用焦点指示器的形式。例如,反馈可包括一个说出“这儿”的小浮动文本气泡,该气泡位于用户手臂触及范围内的渲染平面处的与用户头部姿势方向相交的手、网格或平面表面处。如果用户的命令为“这儿”,则该平面表面可位于近场中,而如果用户的命令为“那儿”,则该平面表面可位于中场或远场中。该反馈可以像阴影或视觉对象的轮廓一样可视化。
用户还可以取消交互。在各种情况下,可以以两种方式取消交互:(1)命令未能在n秒超时前完成,或者(2)输入取消命令,例如说“不(no)”,“不必在意(never mind)”,或“取消(cancel)”。
使用用户输入组合与文本进行交互的示例
混合现实环境中使用传统交互方式的自由形式文本输入,特别是长字符串序列的输入是有问题的。例如,尤其是在缺少输入或接口设备(例如,键盘、手持式控制器(例如,图腾)或鼠标)的“免提”环境中,完全依赖于自动语音识别(ASR)的***很难使用文本编辑(例如,用于纠正语音识别技术本身特有的ASR错误,如用户语音的错误转录)。作为另一示例,“免提”环境中的虚拟键盘可能需要精细的用户控制,并且在被用作主要的用户输入形式时可能会导致疲劳。
本文所述的可穿戴***200可以被编程为允许用户使用多模态输入自然而迅速地与虚拟文本进行交互,所述多模态输入例如为以下项中的两种或更多种的组合:语音、眼睛注视、手势、头部姿势、图腾输入等。本文使用的短语“文本”可以包括字母、字符、单词、短语、句子、段落或其它类型的自由形式文本。文本还可以包括图形或动画,例如绘文字、表意文字、表情符号、笑脸、标志等。与虚拟文本的交互可以单独地或组合地包括编写、选择(例如,选择部分或全部文本)或编辑文本(例如,更改、复制、剪切、粘贴、删除、清除、撤消、重做、***、替换等)。与单一输入***相比,本文所述的***通过利用用户输入的组合,在速度和便利性方面提供了显著的改善。
本文所述的多模态文本交互技术可以应用于任何听写场景或应用(例如,其中***只是转录用户语音而不应用任何语义评价,即使该转录是确实依赖于语义评价的另一任务的一部分)。一些示例应用可以包括消息传递应用,文字处理应用、游戏应用、***配置应用等。用例的示例可以包括用户编写要发送给可能在也可能不在用户的联系人列表中的联系人的文本消息;用户写信、文章或其它文本内容;用户在社交媒体平台上发布和分享内容;以及用户使用可穿戴***200完成或以其它方式填写表格。
利用用户输入组合的***不必是可穿戴***。如果需要,这样的***可以是任何合适的计算***,例如桌面计算机、膝上型计算机、平板计算机、智能电话或具有多个用户输入通道(例如,键盘、轨迹板、麦克风、眼睛或注视跟踪***、手势识别***等)的另一计算设备。
使用多模态用户输入编写文本的示例
图28A至图28F示出了基于诸如语音命令或眼睛注视之类的输入的组合编写和编辑文本的示例用户体验。如本文所述,可穿戴***可以基于由图4所示的面向内的成像***462获取的图像来确定用户的注视方向。面向内的成像***462可以确定用户的一个或两个瞳孔的取向,并且可以外推用户的一只或两只眼睛的视线。通过确定用户的两只眼睛的视线,可穿戴***200可以确定用户正在看的空间中的三维位置。
可穿戴***还可以基于从图2A所示的音频传感器232(例如,麦克风)获取的数据确定语音命令。***可以具有将语音输入2800转换为文本的自动语音识别(ASR)引擎。语音识别引擎可以在将语音输入2800转换为文本时使用自然语言理解,其中包括从较长的话语中分离和提取消息文本。
如图28A所示,音频传感器232可以接收用户说出的短语2800。如图28所例示的,短语2800可以包括:命令,例如“Send a message to John Smith saying that(给JohnSmith发送消息,说)”;以及命令的参数,例如编写和发送消息;以及消息的目标接收者JohnSmith。短语2800还可以包括要编写的消息的内容。在该示例中,消息的内容可以包括“I’mflying in from Boston and will be there around seven o’clock;Period;Let’smeet at the corner near the office(我将从波士顿起飞,将在大约七点钟到那里;句号;我们在办公室附近的拐角处会面吧)”。这样的内容可以通过使用ASR引擎(该引擎可以实现自然语言理解,从而从用户的话语中分离和提取消息内容和标点符号(例如“Period(句号)”))解析音频数据来获得。在一些示例中,可以处理标点符号以在转录的字符串的上下文内呈现(例如,“两点钟(two o’clock)”可被呈现为“2:00”,或者“问号(questionmark)”可被呈现为“?”)。可穿戴***还可以标记化(tokenize)文本字符串(例如,通过隔离文本字符串中的离散单词),并在混合现实环境中显示结果(例如,通过显示离散单词)。
然而,在某些情况下,自动语音识别可能容易出错。如图28B所示,由于各种原因,使用ASR引擎的***可能会产生与用户的语音输入不完全匹配的结果,这些原因包括不良或奇特的发音、环境噪声、同音异义词和其它类似发音的词、犹豫或不流利,以及不在ASR的词典中的词汇(例如,外来短语、技术术语、行话、俚语等)。在图28B的示例中,***正确地解释了短语2800的命令方面,并且生成了具有头2802和正文(body)2804的消息。然而,在消息的正文2804中,***错误地将“corner(拐角)”的用户表达解释为“quarter(四分之一)”(这两个词的发音有些相似)。在完全依赖于语音输入的***中,用户很难用预期的单词(或短语)快速替换错误识别的单词(或短语)。然而,本文所述的可穿戴***200可以有利地允许用户快速纠正错误,如图28C至28F所示。
可穿戴***中的ASR引擎可以产生与用户的话语相关联的文本结果(其中包括至少一个单词),并且还可以产生与文本结果中的每个单词(或短语)相关联的ASR得分。高ASR得分可以表示ASR引擎正确地将用户的话语转录为文本的置信度高或可能性高,而低ASR得分可以表示ASR引擎正确地将用户的话语转录为文本的置信度低或可能性低。在一些实施例中,***可以以强调的方式(例如,通过突出显示的背景、斜体或粗体,不同颜色的字体等)显示具有低ASR得分(例如,低于ASR阈值的ASR得分)的单词,这可以使得用户更容易识别或选择错误识别的单词。单词的低ASR得分可以表示用户有更大可能性选择该单词进行编辑或替换,因为ASR引擎极有可能错误地识别该单词。
如图28C和28D所示,可穿戴***可以使用户能够使用眼睛跟踪***(例如,图4的面向内的成像***462)来选择错误识别的单词(或短语)。在该示例中,所选单词可以是上面结合较早的附图描述的目标虚拟对象的示例。
可穿戴***200可以基于面向内的成像***462确定注视方向,并且可以在注视方向上投射锥体2806或射线。可穿戴***可以选择一个或多个与用户的注视方向相交的单词。在某些实施方式中,可以在用户的注视在错误单词上停留至少阈值时间时选择该单词。如上所述,错误的单词可以至少部分地通过与低ASR得分相关联来确定。阈值时间可以是足以指示用户想要选择特定单词的任何时间量,但是不会长得不必要地延迟选择。阈值时间还可用于确定指示用户想要选择特定虚拟单词的置信度得分。例如,可穿戴***可以基于用户在一方向/对象上盯着的时间计算置信度得分,其中置信度得分可以随着注视特定方向/对象的持续时间的增加而增大。还可以基于本文所述的多模态输入来计算置信度得分。例如,可穿戴***可以以较高置信度得分(高于单独根据眼睛注视导出的置信度得分)确定用户的手势和眼睛注视二者是否均指示一单词应该被选择。
作为另一示例,可穿戴***可以部分地基于ASR得分而计算置信度得分,如本文中更详细地讨论的,ASR得分可以指示ASR引擎转换特定单词的相对置信度。例如,低ASR引擎得分可以表示ASR引擎对正确地转录语音单词的置信度较低。因此,用户更大可能选择该单词进行编辑或替换。如果用户的注视停留在具有低ASR得分的单词上的时间超过阈值时间,则***可以分配较高置信度得分以反映用户至少基于两个原因选择该单词:第一,眼睛注视该单词的长度;第二,该单词很可能被ASR引擎错误转录,这两点都倾向于表明用户将想要编辑或替换该单词。
如果置信度得分超过阈值标准,则可以选择单词。作为示例,阈值时间可以是半秒、一秒、一秒半、两秒、两秒半、一秒至两秒、一秒至三秒等。因此,仅通过盯着错误的单词“quarter”看足够长的时间,用户便可以轻松、快速地选择出该错误的单词。可以基于眼睛注视(或手势)时间与高于ASR阈值的ASR得分的组合选择单词,这两个标准都提供了有关用户将要选择该特定单词的指示。
作为示例,如果ASR引擎的结果包括具有高ASR得分的第一单词(例如,ASR引擎相对确信地正确识别的单词)和具有低ASR得分的第二单词(例如,ASR引擎相对确信地不正确识别的单词),并且这两个单词由可穿戴***彼此相邻地显示,则可穿戴***可以假设包含第一和第二单词的用户注视输入实际上是用户基于其相对低的ASR得分选择第二单词的尝试,因为与正确识别的第一单词相比,用户更可能想要编辑错误识别的第二单词。以此方式,由ASR引擎产生的低ASR得分的单词(这些单词更可能是不准确的并且需要编辑)对于用户而言显著更容易选择以进行编辑,从而便于用户的编辑。
尽管该示例描述了使用眼睛注视选择错误识别的单词,但也可以使用另一多模态输入来选择单词。例如,锥体投射可以识别多个单词,例如“around(大约)”、“7:00”、“the”和“quarter”,因为它们也与虚拟锥体2806的一部分相交。如将参考图29至31进一步描述的,可穿戴***可以将用户注视输入与另一输入(例如,手势、语音命令或来自用户输入设备466的输入)进行组合以选择单词“quarter”作为进一步编辑的单词。
在选择单词2808之后,***可以启用对所选单词的编辑。可穿戴***可以允许用户使用多种技术来编辑单词,例如,更改、剪切、复制、粘贴、删除、清除、撤消、重做、***、替换等。如图28D所示,可穿戴***可以允许用户将单词2808更改为另一单词。可穿戴***可以支持用于编辑单词2808的多种用户输入,例如通过麦克风接收另外的语音输入以替换或删除所选单词,显示虚拟键盘以使用户能够键入替换单词,或者经由用户输入设备接收用户输入等等。在某些实施方式中,输入可以与特定类型的文本编辑相关联。例如,挥舞手势可以与删除所选文本相关联,而手指指向文本中某个位置的手势可以使可穿戴***在该位置处***附加文本。可穿戴***还可以支持用于编辑单词的用户输入组合。如将参考图32至35进一步描述的,***可以支持将眼睛注视与另一输入模式进行组合来编辑单词。
在图28D和28E的示例中,***可以在选择单词2808后自动向用户呈现建议的替代词阵列,例如替代词2810a和2810b。建议的替代词可以由***中的ASR引擎或其它语言处理引擎生成,并且可以基于原始语音输入(其在一些实施例中也被称为语音输入)、自然语言理解、上下文、从用户行为中学习,或其它合适的来源。在至少一些实施例中,建议的替代词可以是由ASR引擎生成的替代假设,可以是由预测文本引擎(该引擎可以尝试使用相邻单词的上下文和用户的历史文本样式“填空”)生成的假设,可以是原始转换的同音异义词,可以使用同义词库生成,或者可以使用其它合适的技术生成。在所示的示例中,“quarter”的建议替代词包括“corner”和“courter(法院)”,这些替代词由语言引擎提供,作为发音类似于“quarter”的单词。
图28E示出了***可以如何使用户能够通过眼睛注视选择期望的替代词,例如“corner”。可穿戴***可以使用与参考图28C描述的技术类似的技术选择替代词。例如,该***可以使用面向内的成像***462来跟踪用户的眼睛,以确定用户的注视2812已持续至少阈值时间集中在特定替代词(诸如替代词2810A或“corner”)。在确定用户的注视2812持续阈值时间集中在替代词上之后,***可以通过用选定的替代词2814替换初始选定的单词来修改文本(消息),如图28F所示。在某些实施方式中,在可穿戴***使用锥体投射来选择单词的情况下,可穿戴***可以基于文本的密度动态地调整锥体大小。例如,可穿戴***可以呈现具有较大孔径的锥体(从而在远离用户的地方具有更大的表面积),以选择用于编辑的替代词,如图28E所示,这是因为可用选项很少。但是可穿戴***可以呈现具有较小孔径的锥体以选择图28C中的单词2808,因为单词2808被其它单词包围,并且较小的锥体可以降低意外选择另一单词的错误率。
在整个操作过程中,可穿戴***可以向用户提供反馈(例如,视觉、听觉、触觉反馈等)。例如,可穿戴***可以呈现焦点指示器,以便于用户识别目标虚拟对象。例如,如图28E所示,可穿戴***可以在单词“quarter”周围提供对比鲜明的背景2830,以表明单词“quarter”被选定并且用户当前正在编辑单词“quarter”。作为另一示例,如图28F所示,可穿戴***可以更改单词“corner”2814的字体(例如,更改为粗体)以表明可穿戴***已确认用该替代词“corner”替换单词“quarter”。在其它实施方式中,焦点指示器可以包括十字准线、围绕所选文本的圆形或椭圆形,或其它图形技术,以突出显示或强调所选文本。
使用多模态用户输入选择单词的示例
可穿戴***可以被配置为支持和利用多种用户输入模式来选择单词。图29至31示出了基于眼睛注视和另一输入模式的组合选择单词的示例。但是在其它示例中,也可以结合使用眼睛注视以外的输入和另一输入模式来实现与文本的交互。
图29示出了基于来自用户输入设备的输入和注视来选择单词的示例。如图29所示,***可以将用户的注视2900(其可以基于来自面向内的成像***462的数据而被确定)与经由用户输入设备466接收的用户输入组合在一起。在该示例中,可穿戴***可以基于用户的注视方向执行锥体投射。可穿戴***可以基于来自用户输入设备的输入而确认选择单词“quarter”。例如,可穿戴***可以识别出单词“quarter”是最接近用户注视方向的单词,并且可穿戴***可以基于用户对用户输入设备466的致动而确认选择单词“quarter”。作为另一示例,锥体投射可以捕获多个单词,例如“around”、“7:00”、“the”和“quarter”。用户可以经由用户输入设备466从多个单词中选择单词以进一步编辑。通过独立于用户注视而接收输入,***可以不需要等待很长时间,就可以确信地将特定单词识别为用户想要编辑的单词。在以此方式选择要编辑的单词之后,***可以呈现替代词(如结合图28E所讨论的)或以其它方式允许用户编辑所选单词。将用户的注视与经由图腾接收的用户输入进行组合的相同过程可以应用于选择期望的替换词(例如,在替代词当中选择单词“corner”以替换单词“quarter”)。一些实施方式可以利用置信度得分来确定用户正在选择哪个文本。置信度得分可以聚合多个输入模式以更好地确定所选文本。例如,置信度得分可以基于用户注视文本的时间,用户在注视文本时是否启动用户输入设备466,用户是否指向所选文本等等。如果置信度得分超过阈值,则可穿戴***可以以增加的置信度确定***已正确选择了用户想要的文本。例如,为了仅通过眼睛注视来选择文本,***可以被配置为在注视时间超过1.5秒时选择文本。然而,如果用户仅注视文本0.5秒,但同时启动了用户输入设备,则***可以更快、更确信地确定所选文本,从而可以改善用户体验。
图30示出了基于语音和注视输入的组合选择要编辑的单词的示例。可穿戴***可以基于用户的注视确定目标虚拟对象。如图30所示,***可以确定用户的注视3000指向特定单词(在此情况下为“quarter”)。可穿戴***还可以基于用户的语音命令确定要对目标虚拟对象执行的操作。例如,可穿戴***可以经由音频传感器232接收用户的语音输入3010,可以将语音输入3010识别为命令,并且可以将两个用户输入组合成命令,以将命令操作(“edit(编辑)”)应用于目标虚拟对象(例如,用户的注视集中于的单词(“quarter”))。如前所述,***可以在用户选择要编辑的单词之后呈现替代词。将用户的注视与语音输入进行组合的相同过程可以应用于在多个替代词当中选择期望的替代词来替换单词“quarter”。如本文所述,诸如“edit”之类的术语表示上下文特定的唤醒词,其用于针对一种或多种不同的用户输入模式中的每一者调用与编辑相关联的受约束的***命令库。也就是说,这样的术语在作为语音输入被***接收时,可以使***根据有限的标准集来评估随后接收到的用户输入,从而以提高的准确性识别由用户提供的与编辑有关的命令。例如,在语音输入的上下文中,***可以查阅有限的命令特定术语词汇,以对随后接收到的语音输入执行语音识别。在另一示例中,在注视或手势输入的情境中,***可以查阅有限的命令特定模板图像库,以对随后接收到的注视或手势输入执行图像识别。诸如“edit”之类的术语有时被称为“热词”或“载体短语”,并且***可以包括多个预编程的(以及可选地,用户可设置的)热词,例如(在编辑上下文中):编辑、剪切、复制、粘贴、粗体、斜体、删除、移动等。
图31示出了基于注视和手势输入的组合选择要编辑的单词的示例。如图31的示例所示,***可以使用眼睛注视输入3100与手势输入3110的组合来选择要编辑的单词。具体地,***可以确定眼睛注视输入3100(例如,基于由面向内的成像***462获取的数据),并且可以识别手势输入3110(例如,基于由面向外的成像***464获取的图像)。诸如识别器708之类的对象识别器可用于检测用户身体的一部分(例如,用户的手),并做出与识别要编辑的单词相关联的手势。
可以单独地使用手势,或结合眼睛注视使用手势,以选择单词。例如,尽管锥体投射可以捕获多个单词,但是可穿戴***仍可以将单词“quarter”识别为目标虚拟对象,这是因为它是从锥体投射和用户的手势二者中识别出来的(例如,除了手势外还基于眼睛注视锥体投射的置信度得分超过置信度阈值,从而指示用户选择了单词“quarter”)。作为另一示例,尽管锥体投射可以捕获多个单词,但是可穿戴***仍可以将单词“quarter”识别为目标虚拟对象,这是因为它是从锥体投射中识别出来的,并且还是位于锥体投射内(或附近)的来自ASR引擎的具有最低ASR得分的单词。在某些实施方式中,手势可以与命令操作相关联,因为手势与诸如“edit”之类的命令或本文所述的其它热词相关联。作为示例,***可以识别用户何时指向他们注视的同一单词,并将这些用户输入解释为请求编辑同一单词。如果需要,***还可以在确定用户要编辑特定单词的同时利用附加用户输入,诸如用于“edit”的语音命令。
使用多模态用户输入编辑单词的示例
一旦用户选择了要编辑的单词,***便可利用任何所需的用户输入模式来编辑所选单词。可穿戴***可以通过显示可能的替代词列表并接收用户注视输入2812以选择替换原始词的替代词,来允许用户更改或替换所选单词(请参见图28E所示的示例)。图32至34图示了编辑所选单词的另外的示例,其中可以使用多模态输入来编辑所选单词。
图32示出了基于眼睛注视和语音输入的组合替换单词的示例。在图32中,***(通过音频传感器232或其它合适的传感器)接收来自用户的语音输入3210。语音输入3210可以包含期望的替换词(其可以是或可以不是来自建议替代词3200的列表的替换词)。在接收到语音输入3210后,可穿戴***可以解析输入(例如,剥离出诸如“change this to…(将这个更改为……)”之类的载体短语)以识别由用户说出的单词,并将所选单词“quarter”替换为由用户说出的单词“corner”。尽管在该示例中,替换词是单词,但是在某些实施方式中,可穿戴***可以被配置为用短语或句子或某一其它元素(例如,绘文字)替换单词“quarter”。在眼睛注视锥体投射中包含多个单词的示例中,可穿戴***可以自动选择眼睛注视锥体内最接近替换词的单词(例如,“quarter”比“the”或“7:00”更接近“corner”)。
图33示出了基于语音和注视输入的组合更改单词的示例。在该示例中,可穿戴***可以接收语音输入3310并确定用户的注视方向3300。如图33所示,语音输入3310包括短语“change it to‘corner’(将它更改为‘拐角’)”。可穿戴***可以解析语音输入3310,并确定语音输入3310包括命令操作“change(更改)”(它是载体短语的示例)、主题“it(它)”和命令的参数(例如,结果单词“corner”)。该语音输入3310可以与眼睛注视3300组合以确定操作的主题。如参考图28A和28B所示,可穿戴***可以将单词“quarter”识别为操作的主题。因此,可穿戴***可以将主题(“quarter”)更改为结果单词“corner”。
图34示出了使用虚拟键盘3410编辑所选单词3400的示例。虚拟键盘3410可以由用户注视输入、手势输入、从用户输入设备接收的输入等控制。例如,用户可以通过在虚拟键盘3410(该虚拟键盘通过可穿戴***200的显示器显示给用户)上方移动眼睛注视方向3420来键出替换词。用户可以通过在相应键上将其注视暂停阈值时间段来键入替换词中的每个字母,或者可穿戴***可以将特定键上的用户注视方向3420的变化识别为用户想要选择该键的指示(从而不需要用户在键出单词时在每个单独键上保持稳定的聚焦)。如参考图28D所描述的,在某些实施方式中,可穿戴***可以基于键的尺寸来改变锥体的尺寸。例如,在每个键的尺寸相对较小的虚拟键盘3410中,可穿戴***可以减小锥体的尺寸,以允许用户更准确地识别出替换词中的字母(使得锥体投射不会意外捕获大量可能的键)。如果尺寸相对较大,则可穿戴***可以相应地增加键的尺寸,从而使用户不必精确地定位注视方向(这可以减少疲劳)。
在某些实施方式中,在单词被选择之后,作为显示用于替换所选单词的建议替代词列表的补充或替代,可穿戴***可以呈现一组可能的动作。用户210可以使用本文所述的技术来选择动作并编辑所选单词。图35示出了显示应用于所选单词的可能动作的示例用户界面。在图35中,在选择要编辑的单词3500之后,可穿戴***可以呈现用于编辑的选项的列表3510,其中包括(在该示例中)用于执行以下动作的选项:(1)更改单词(使用本文所述的用于编辑的任何技术),(2)剪切单词并可选地将其存储在剪贴板中,或者复制单词并将其存储在剪贴板中,或者(3)从剪贴板粘贴在单词或短语中。可呈现的附加或替代选项包括删除选择选项、撤销选项、重做选项、全选选项、***此处选项和替换选项。可以使用本文所述的注视输入、图腾输入、手势输入等来选择各种选项。
使用多模态用户输入与短语进行交互的示例
尽管前面的示例已经描述了使用多模态输入来选择和编辑单词,但这仅是为了说明,并且相同或相似的处理和输入通常可以用于选择和编辑短语或句子或段落(包括多个单词或字符)。
图36(i)至36(iii)示出了使用多模态输入与短语进行交互的示例。在图36(i)中,可穿戴***可以确定用户的注视3600方向,并基于用户的注视方向执行锥体投射。在图36(ii)中,***可以识别出用户210的注视3600集中在第一单词3610(例如,“I'm(我)”)上。***可以使用本文讨论的任何技术来对第一单词3610进行这样的确定,其中包括但不限于识别出用户的注视3600在特定单词上的停留(例如,逗留)持续阈值时间段,识别出在用户提供语音、手势或图腾输入等的同时用户的注视3600位于特定单词上。可穿戴***还可以在所选单词“I'm”3610上显示焦点指示器(例如,所示的对比鲜明的背景)来指示已经根据眼睛注视锥体投射确定该单词。用户可以在注视第一单词3610的同时启动图腾3620(其是用户输入设备466的示例)。该启动可以指示用户打算选择以第一单词3610开头的短语或句子。
在图36(iii)中,在用户输入设备466被启动之后,用户可以看最后一个预期单词(例如,单词“there(那儿)”)以指示用户期望选择从单词“I'm”开始并以单词“there”结束的短语。可穿戴***还可以检测到用户已停止启动图腾3620(例如,释放用户先前按下的按钮),并可以相应地选择短语“I’m flying in from Boston and will be there(我将从波士顿起飞,将到那里)”的整个范围3630。***可以使用焦点指示器来显示所选短语(例如,通过将对比鲜明的背景扩展到短语中的所有单词)。
***可以使用各种技术确定用户期望选择短语而不是另一单词进行编辑。作为示例,当用户在选择第一单词之后不久选择第二单词时,***可以确定用户希望选择短语而不是撤销他们对第一单词的选择。作为另一示例,当用户选择在第一单词之后出现的第二单词并且用户尚未编辑第一所选单词时,***可以确定用户想要选择短语。作为又一示例,用户可以在集中在第一单词3610上时按下图腾3620上的按钮,然后保持住该按钮,直到他们的注视落在最后一个单词上为止。当***识别出在注视3610集中在第一单词上的同时按钮被按下,但仅在用户的注视3610移至第二单词后才被释放时,***可以将多模态用户输入识别为选择了短语。然后,***可以识别短语中的所有单词,其中包括第一单词、最后一个单词以及介于两者之间的所有单词,并且允许整体编辑该短语。***可以使用焦点指示器来突出显示所选短语(例如,突出显示,强调的文本(例如,粗体、斜体或不同颜色)等),从而使其从未选择的文本中凸显出来。然后,***可以显示用于编辑所选短语的上下文相关选项,例如选项3510、虚拟键盘(如键盘3410)、替代短语等。***可以接收另外的用户输入,例如语音输入、图腾输入、手势输入等,以确定如何编辑所选短语3630。
虽然图36示出了用户选择位于短语的开始处的第一单词3610,但是***还可以允许用户从第一单词3610向后选择。换句话说,用户可以通过选择单词的最后一个单词(例如,“there”),然后选择所需短语的第一单词(例如,“I'm”),来选择短语。
图37A至37B示出了使用多模态输入与文本进行交互的另一示例。在图37A中,用户210说出句子(“I want to sleep(我想睡觉)”)。可穿戴***可以捕获用户的话语作为语音输入3700。对于该语音输入,可穿戴***可以针对每个单词显示来自自动语音识别(ASR)引擎的一级结果和二级结果,如图37B所示。每个单词的一级结果可以表示ASR引擎针对用户在语音输入3700中说出的单词的最佳猜测(例如,具有最高ASR得分的单词,用于指示用户实际说出什么单词),而二级结果可以表示发音类似的替代词或具有比ASR引擎的最佳猜测低的ASR得分的单词。在该图37B中,一级结果被显示为序列3752。在一些实施例中,可穿戴***可以呈现替代结果或假设作为替代短语和/或整个句子,而不是替代词。作为示例,可穿戴***可以提供一级结果“four score and seven years ago(八十七年前)”以及二级结果“force caring seven years to go(强迫照料还有七年)”,其中一级结果和二级结果中的离散词之间没有一一对应关系。在这样的实施例中,可穿戴***可以支持来自用户的输入(采取本文所述的任何方式),从而选择替代或次要短语和/或句子。
如图37B所示,来自用户语音输入3700的每个单词可以被显示为一级结果和二级结果的集合3710、3720、3730、3740。这种类型的排列可以使用户快速调换出不正确的一级结果,并纠正由ASR引擎引入的任何错误。可以用焦点指示器来强调一级结果3752(例如,在图37B的示例中,每个单词为由边界框包围的粗体文本)以将它们与二级结果区分开。
如果主要单词不是用户想要的,则用户210可以停留在二级结果上,例如次要单词、短语或句子等。作为示例,ASR引擎在集合3740中的一级结果是“slip(滑动)”,而正确的转录实际上是第一二级结果“sleep(睡觉)”。为了纠正此错误,用户可以将注视集中在正确的二级结果“sleep”上,并且***可以识别出用户的注视持续阈值时间段逗留在二级结果上。***可以将用户注视输入转换为请求,以将一级结果“slip”替换为选定的二级结果“sleep”。可以与选择所需的二级结果一起接收另外的用户输入,例如用户语音输入(例如,用户可以在看着所需的二级结果的同时要求***“edit”、“use this(使用这个)”或“replace(替换)”。
一旦用户完成了短语“I want to sleep”的编辑或确认转录正确,便可使用本文所述的任何用户输入模式将该短语添加到文本正文中。例如,用户可以说出诸如“finish(完成)”之类的热词,以使编辑后的短语被添加回文本正文中。
使用用户输入的组合与文本进行交互的示例过程
图38是使用多种用户输入模式与文本进行交互的示例方法3800的过程流程图。过程3800可以由本文所述的可穿戴***200执行。
在框3810处,可穿戴***可以接收来自用户的语音输入。语音输入可以包括包含一个或多个单词的用户语音。在一个示例中,用户可以口述消息,并且可穿戴***可以接收该口述消息。这可以通过任何合适的输入设备(例如,音频传感器232)来实现。
在框3820处,可穿戴***可以将语音输入转换为文本。可穿戴***可以利用自动语音识别(ASR)引擎将用户的语音输入转换为文本(例如,文字转录),并且可以进一步利用自然语言处理技术将此类文本转换为语义表示,该语义表示指示意图和概念。可以针对自由形式的文本输入优化ASR引擎。
在框3830处,可穿戴***可以将文本标记化(tokenize)为离散的可操作元素,例如单词、短语或句子。可穿戴***还可以使用诸如显示器220之类的显示***向用户显示文本。在一些实施例中,可穿戴***在标记化***期间不需要理解文本的含义。在其它实施例中,可穿戴***配备有理解文本含义的能力(例如,一个或多个自然语言处理模型或其它概率统计模型),或者仅配备有在以下(i)与(ii)之间区分的能力:(i)表示用户编写的消息或其一部分的单词、短语和句子,以及(ii)不表示用户编写的消息或其一部分,而是对应于可穿戴***要执行的命令的单词、短语和句子。例如,可穿戴***可能需要知道文本的含义以识别用户说出的命令操作或命令的参数。这样的文本的示例可以包括情境特定的唤醒词,其用于针对一种或多种不同的用户输入模式中的每一者调用与编辑相关联的一个或多个受约束的***命令库,在本文中也被称为热词。
用户可以使用多模态用户输入来与可操作元素中的一个或多个进行交互。在框3840处,可穿戴***可以响应于第一指示而选择一个或多个元素。如本文所述,第一指示可以是一种用户输入或用户输入的组合。可穿戴***可以接收来自选择文本串的一个或多个元素进行编辑的用户的输入。用户可以选择单个单词或多个单词(例如,短语或句子)。可穿戴***可以接收选择要编辑的元素的任何期望形式的用户输入,其中包括但不限于语音输入、注视输入(例如,经由面向内的成像***462)、手势输入(例如,由面向外的成像***464捕获的)、图腾输入(例如,经由用户输入设备466的启动)或其任何组合。作为示例,可穿戴***可以接收持续阈值时间段停留在特定单词上的用户注视形式的用户输入,或者可以在经由麦克风或图腾获取的用户输入指示选择要编辑的特定单词的同时,接收特定单词上的用户注视。
在框3850处,可穿戴***可以响应于第二指示而编辑所选元素。可以经由参考上面的附图描述的单个输入模式或输入模式的组合来接收第二指示,这些输入模式包括但不限于用户注视输入、语音输入、手势输入和图腾输入。可穿戴***可以接收指示应该如何编辑所选元素的用户输入。可穿戴***可以根据在框3850中接收到的用户输入来编辑所选元素。例如,可穿戴***可以基于语音输入替换所选元素。可穿戴***还可以呈现建议的替代元素列表,并基于用户的眼睛注视在所选替代元素中进行选择。可穿戴***还可经由用户与虚拟键盘的交互或经由用户输入设备466(例如,物理键盘或手持设备)来接收输入。
在框3860处,可穿戴***可以显示编辑所选元素的结果。在某些实施方式中,可穿戴***可以在被编辑的元素上提供焦点指示器。
如箭头3870所示,如果用户提供额外的用户输入来编辑文本的另外的元素,则可穿戴***可以重复框3840、3850和3860。
与用于可穿戴***的多模态任务执行和文本编辑有关的附加细节在如美国专利公开号2018/0307303公开的于2018年4月17日提交的题为“用于可穿戴***的多模态任务执行和文本编辑(MULTIMODAL TASK EXECUTION AND TEXT EDITING FOR A WEARABLESYSTEM)”的美国专利申请号15/955,204中提供,其全部内容通过引用合并于此。
跨模态输入融合技术的示例
如上所述,提供动态选择适当输入模式的跨模态输入融合技术可以有利地允许用户更加准确和自信地瞄准真实或虚拟对象,并且可以提供更鲁棒的用户友好的AR/MR/VR体验。
可穿戴***可有利地支持多种模式用户输入的机会融合,以促进用户在三维(3D)环境中的交互。该***可以检测用户何时经由两个或更多个相应的输入模式提供可以会聚在一起的两个或更多个输入。作为示例,用户可能正在用他们的手指指向虚拟对象,同时还将他们的眼睛注视向虚拟对象。可穿戴***可以检测眼睛注视和手指手势输入的该会聚,并应用眼睛注视和手指手势输入的机会融合,并且从而以更高的准确性和/或速度确定用户正在指向的虚拟对象。因此,该***允许用户通过减少主要输入瞄准方法的不确定性来选择较小的元素(或更快速移动的元素)。该***还可用于加速和简化元素的选择。该***可以允许用户提高瞄准移动元素的成功。该***可用于加速显示元素的丰富渲染。该***可用于优先和加速本地(和云)处理对象点云数据、密集网格划分和平面采集,以提高所发现的实体和表面以及所抓握的关注对象的压痕保真度。在此所述的跨模态技术的实施例允许***从用户的视角建立变化程度的跨模态焦点,同时仍保留头部、眼睛和手的微小运动,从而显著增强了***对用户意图的理解。
如在此将进一步描述的,可以通过对一些或所有可用输入矢量的相对会聚的分析来执行对跨模态状态的识别。例如,这可以通过检查成对的瞄准矢量(例如,从用户的眼睛到目标对象的矢量和从被用户握持的图腾指向目标对象的矢量)之间的角距离来实现。然后,可以检查每对输入的相对方差。如果距离或方差低于阈值,则可以将双模态状态(例如,双模态输入会聚)与一对输入相关联。如果三元组的输入具有角距离或方差低于阈值的瞄准矢量,则三模态状态可以与三元组的输入相关联。四个或更多个输入的会聚也是可能的。在头部姿势瞄准矢量(头部注视)、眼睛发散瞄准矢量(眼睛注视)、和跟踪的控制器或跟踪的手(手形指针)瞄准矢量的三元组被识别的示例中,该三元组可称为跨模态三角形。三角形边的相对大小、该三角形的面积、或其关联的方差可呈现***可以用来预测瞄准和激活意图的特征特点。例如,如果跨模态三角形的面积小于阈值面积,则三模态状态可以与三元组的输入相关联。在此和附录A中提供了聚散计算的示例。作为预测瞄准的示例,***可以识别出用户的眼睛和头部输入倾向于在用户的手输入会聚之前会聚。例如,当试图抓住对象时,眼睛和头部的运动可以快速地执行,并且可以在手的运动输入会聚之前的短时间(例如,约200ms)内会聚到对象上。该***可以检测到头部-眼睛会聚,并预测手的运动输入将在此后不久会聚。
瞄准矢量对(双模态)、三元组(三模态)或四重奏(四模态)或更多输入(例如5、6、7或更多)的会聚可用于进一步限定跨模态协调的子类型。在至少一些实施例中,基于***的详细的跨模态状态来识别所需的融合方法。所需的融合方法还可以至少部分地由以下来确定:跨模态类型(例如,哪些输入被会聚)、运动类型(例如,会聚的输入如何移动)、以及交互场类型(例如,在哪个交互场(诸如结合图44A、图44B和图44C描述的中场区域、任务空间和工作空间交互区域)中,输入被聚焦)。在至少一些实施例中,所选融合方法可以确定哪些可用输入模式(和相关联的输入矢量)被选择性地会聚。运动类型和场类型可以确定所选融合方法的设置,诸如一个或多个融合输入的相对加权或滤波。
参考图39A-60B(以及下文和附录A)进一步描述了与用于与虚拟对象进行交互的跨模态输入以及多种模式的用户输入的机会融合有关的技术的附加益处和示例。
某些跨模态术语的解释
下面提供用于跨模态输入融合技术的某些术语的解释。这些解释旨在说明而非限制跨模态术语的范围。鉴于说明书、权利要求书和附图中阐述的全部描述,应从本领域普通技术人员的角度来理解跨模态术语。
术语IP区域可以包括与交互点(IP)相关联的体积。例如,捏合IP区域可以包括通过食指尖和拇指尖的姿态分离而产生的体积(例如,球形)。术语意图区域(ROI)可以包括由与针对预期目标对象的一组瞄准矢量相关联的重叠不确定性区域(例如,体积)构成的体积。ROI可以表示可能在其中找到预期目标对象的体积。
术语模态输入可以指来自可穿戴***的任何传感器的输入。例如,常见的模态输入包括来自六个自由度(6DOF)传感器(例如,用于头部姿势或图腾位置或取向)、眼睛跟踪相机、麦克风(例如,用于语音命令)、面向外相机(用于手势或身体姿势等)的输入。模态输入可以指同时使用多个动态耦合的模态输入。
术语聚散(vergence)可以包括与多种模式的用户输入相关联的多个输入矢量在共同交互点上的会聚(converge)(例如,当眼睛注视和手势二者都指向相同的空间位置时)。术语注视可以包括聚散点或单个输入矢量的点的局部减慢和暂停。术语停留可以包括在时间上至少延长给定持续时间的注视。术语弹道追踪可以包括聚散点朝向目标或其它对象的弹道(例如,抛射体(projectile)状)运动。术语平滑追踪可以包括聚散点朝向目标或其它对象的平滑(例如,低加速度或低加速度变化率)运动。
术语传感器会聚可以包括传感器数据的会聚(例如,来自陀螺仪的数据与来自形成惯性测量单元(IMU)的加速度计的数据的会聚,来自IMU与相机的数据的会聚,用于SLAM处理的多个相机的会聚等)。术语特征会聚可以包括输入的空间会聚(例如,来自多个模式的输入的输入矢量的会聚)以及输入的时间会聚(例如,多个模式的输入的并行或顺序定时)。
术语双模态会聚可以包括两个输入模式的会聚(例如,当输入矢量会聚在共同交互点上时,两个输入模式的会聚)。术语三模态和四模态会聚可以分别包括三个和四个输入模式的会聚。术语跨模态会聚可以包括多个输入的暂态会聚(例如,检测多种模式的用户输入的暂时会聚以及这些用户输入的对应集合(intergration)或融合以改进总体输入体验)。
术语发散可以指与至少一种其它输入模式先前会聚(并且因此融合)并且不再与该其它输入模式会聚的至少一种输入模式(例如,三模态发散可以指随着初始会聚的第三输入矢量从会聚的第一和第二输入矢量发散,从三模态会聚状态到双模态会聚状态的过渡)。
术语头部-手部-聚散可以包括头部和手部光线投射矢量的会聚或头部姿势和手部交互点的会聚。术语头部-眼睛-聚散可以包括头部姿势和眼睛注视矢量的会聚。术语头部-眼睛-手部-聚散可以包括头部姿势、眼睛注视和手部方向输入矢量的会聚。
术语被动跨模态意图可以包括预先瞄准、瞄准、头部-眼睛注视和停留。术语主动跨模态意图可以包括头部-眼睛-手部停留交互或头部-眼睛-手部操纵交互。术语跨模态三角形可以包括通过三个模态输入矢量的会聚而创建的区域(并且可以指三模态会聚输入的不确定性区域)。该区域也可以被称为聚散区域或模态聚散区域。术语跨模态四边形可以包括通过四个模态输入矢量的会聚而创建的区域。
用户输入的示例
图39A和图39B示出通过控制器按钮或用户输入设备上的输入区域接收的用户输入的示例。特别地,图39A和图39B示出了控制器3900,该控制器3900可以是在此公开的可穿戴***的一部分,并且可以包括主(home)按钮3902、触发器3904、保险杠(bumper)3906和触摸板3908。分别参考图4和图15描述的用户输入设备466或图腾1516在可穿戴***200的各种实施例中可以用作控制器3900。
可以通过控制器3900接收的***输入包括但不限于按压和释放主按钮3902;一半和完全(和其它部分的)按压触发器3904;释放触发器3904;按压和释放保险杠3906;触摸,触摸时移动,释放触摸,增加或减小触摸上的压力,触摸特定部分(诸如触摸板3908的边缘),或在触摸板3908上做出手势(例如,通过用拇指绘制形状)。
图39C示出通过控制器或头戴式设备(HMD)的物理运动所接收的用户输入的示例。如图39C中所示,控制器3900和头戴式显示器3910(HMD)的物理运动可以形成到***中的用户输入。HMD 3910可包括图2A中所示的头戴式组件220、230或图2B中所示的头戴式可穿戴组件58。在一些实施例中,控制器3900通过识别控制器3900在任何方向上的旋转来提供三个自由度(3DOF)输入。在其它实施例中,控制器3900还通过识别控制器在任何方向上的平移来提供六个自由度(6DOF)输入。在其它实施例中,控制器3900可以提供小于6DOF或小于3DOF的输入。类似地,头戴式显示器3910可以识别并接收3DOF、6DOF、小于6DOF、或小于3DOF的输入。
图39D示出用户输入如何可以具有不同持续时间的示例。如图39D中所示,某些用户输入可以具有短持续时间(例如,小于几分之一秒的持续时间,诸如0.25秒),或者可以具有长持续时间(例如,大于几分之一秒的持续时间,诸如超过0.25秒)。在至少一些实施例中,输入的持续时间本身可以被***识别并用作输入。短持续时间输入和长持续时间输入可以由可穿戴***200区别处理。例如,短持续时间输入可以表示选择对象,而长持续时间输入可以表示激活对象(例如,导致执行与对象相关联的应用(app))。
图40A、图40B、图41A、图41B和图41C示出可以被***接收和识别的用户输入的各种示例。用户输入可以通过一种或多种模式的用户输入(如图所示,单独地或组合地)被接收。用户输入可以包括通过控制器按钮(诸如主按钮3902、触发器3904、保险杠3906和触摸板3908)的输入;控制器3900或HMD 3910的物理运动;眼睛注视方向;头部姿势方向;手势;语音输入;等等。
如图40A中所示,主按钮3902的短按压和释放可以指示主轻击动作,而主按钮3902的长按压可以指示主按压和保持动作。类似地,触发器3904或保险杠3906的短按压和释放可分别指示触发器轻击动作或保险杠轻击动作;而触发器3904或保险杠3906的长按压可分别指示触发器的按压和保持动作或保险杠的按压和保持动作。
如图40B中所示,在触摸板上移动的触摸板3908的触摸可以指示触摸拖拉动作。触摸板3908(其中触摸不会实质上移动)的短触摸和释放可指示轻击动作。如果用超过一些阈值水平的力(其可以是预定阈值、动态确定的阈值、学***的力触摸触摸板3908可以指示力按压动作,而采用此类力进行的长触摸可以指示力按压和保持输入。触摸板3908的边缘附近的触摸可以指示边缘按压动作。在一些实施例中,边缘按压动作还可包括大于阈值压力水平的边缘触摸。图40B还示出了在触摸板3908上弧形移动的触摸可以指示触摸圆动作。
图41A的示例示出与触摸板3908的交互(例如,通过将拇指在触摸板上移动)或控制器3900的物理运动(6DOF)可用于旋转虚拟对象(例如,通过在触摸板上做出圆形手势),在z方向上朝向或远离用户移动虚拟对象(例如,通过在触摸板上在例如y方向上做出手势),以及扩大或缩小虚拟对象的大小(例如,通过在触摸板上在不同方向(例如x方向)上做出手势)。
图41A还示出输入的组合可以表示动作。特别地,图41示出与保险杠3906的交互以及用户转动和倾斜他们的头部(例如,调节他们的头部姿势)可以指示操纵开始和/或操纵结束动作。作为示例,用户可以通过双击或按压并保持保险杠3906来提供指示以开始对对象的操纵,然后可以通过提供附加输入来移动对象,并且然后可以通过双击或释放保险杠3906来提供指示以结束对象的操纵。在至少一些实施例中,用户可以以控制器3900的物理运动(6或3DOF)形式或通过调节其头部姿势(例如,倾斜和/或旋转其头部)提供附加输入以移动对象。
图41B示出用户交互的附加示例。在至少一些实施例中,图41B的交互涉及二维(2D)内容。在其它实施例中,图41B的交互可以用于三维内容。如图41B中所示,头部姿势(其可以指向2D内容)与触摸板3908上移动的触摸组合可以指示设定选择动作或滚动动作。头部姿势与在触摸板3908的边缘上的力的按压组合可以指示滚动动作。头部姿势与触摸板3908上的轻击和短击组合,或者与触摸板3908上的按压的短击组合,可以指示主动动作。用力按压并保持在触摸板3908上的有力按压与头部姿势(其可以是特定的头部姿势)组合可以指示上下文菜单动作。
如图41C中所示,可穿戴设备可以使用指示用户的头部指向虚拟应用的头部姿势和主轻击动作来打开与应用相关联的菜单,或者使用头部姿势和主按压和保持动作来打开启动器应用(例如,允许执行多个应用的应用)。在一些实施例中,可穿戴设备可以使用主轻击动作(例如,主按钮3902的单次或两次轻击)来打开与预瞄准的应用相关联的启动器应用。
图42A、图42B和图42C示出以精细手指手势和手部运动形式的用户输入的示例。图42A、图42B和图42C中所示的用户输入在此有时可以称为微手势,并且可以采取精细手指运动的形式,诸如将拇指和食指捏在一起,用单个手指指向,用闭合或张开的手抓住,用拇指指向,用拇指轻击等。作为一个示例,可以使用相机***由可穿戴***检测微手势。特别地,可以使用一个或多个相机(其可以包括立体配置的一对相机)检测微手势,该一个或多个相机可以是面向外成像***464的一部分(图4中所示)。对象识别器708可以分析来自面外向成像***464的图像,以识别图42A-42C中所示的示例微手势。在一些实现方式中,当***确定用户已经聚焦在目标对象上足够长的注视或停留时间时(例如,多个输入模式的会聚被认为是鲁棒的),微手势由***激活。
感知场、显示渲染平面和交互区域的示例
图43A示出可穿戴***的视觉感知场和听觉感知场。如图43A中所示,用户在其视场中可以具有主要视野(FOV)和***FOV。类似地,用户可以在听觉感知场中具有至少向前、向后和***方向的方向上进行感测。
图43B示出具有多个深度平面的可穿戴***的显示渲染平面。在图43B的示例中,可穿戴***具有至少两个渲染平面,一个渲染平面在约1.0米的深度处显示虚拟内容,而另一个渲染平面在约3.0米的深度处显示虚拟内容。可穿戴***可以在具有最接近显示深度的深度平面上以给定的虚拟深度显示虚拟内容。图43B还示出针对该示例可穿戴***的50度视野。另外,图43B示出约0.3米处的近裁剪平面和约4.0米处的远裁剪平面。比近裁剪平面更近的虚拟内容可以被裁剪(例如,不显示),或者可以远离用户移位(例如,至少移位到近裁剪平面的距离)。类似地,离用户比远裁剪平面更远的虚拟内容可以被裁剪或可以朝向用户移位(例如,至少移位到远裁剪平面的距离)。
图44A、图44B和图44C示出用户周围的不同交互区域的示例,包括中场区域、扩展工作空间、工作空间、任务空间、操纵空间、检查空间和头部空间。这些交互区域表示用户可以在其中与真实和虚拟对象进行交互的空间区域,并且交互的类型在不同区域中可以不同,并且用于跨模态融合的适当一组传感器在不同区域可以不同。例如,工作空间可以包括用户前面、用户视野(FOV)内以及用户触及范围内(例如,向外到约0.7m)的区域。任务空间可以是工作空间内的体积,并且通常可以对应于用户可以舒适地用他们的手来操纵对象的体积(例如,从约0.2m到0.65m)。任务空间可包括例如从水平以下约20度到水平以下约45度的通常向下的角度(从前向水平矢量测量)。检查空间可以是任务空间内的体积,并且通常可以对应于用户在靠近(例如,从约0.2m到0.3m)检查对象时可以握住对象的体积。检查空间、任务空间和工作空间中的输入类型通常可以包括头部姿势、眼睛注视、手势(例如,图42A-42C中所示的微手势)。在距用户较大的距离处,扩展的工作空间可扩展到约1m的距离,工作空间通常可以是用户FOV内用户前方的体积,而中场区域可能会球形扩展到(距用户的头部)约4米的距离。头部空间可对应于用户头部所占据的体积(例如,向外到图43B中所示的近裁剪平面)以及在此公开的可穿戴***的任何头戴式组件所占据的体积。
近场区域包括靠近用户的区域,并且距用户从约0.7m延伸至约1.2m。中场区域延伸超出近场并向外至约4m。远场区域延伸超出中场区域,并且可以包括向外到由可穿戴***提供的最大渲染平面或最大深度平面的距离的距离(其可以高达10m或30m或甚至无限远)。在一些实现方式中,中场区域的范围可以从约1.2m至约2.5m,并且可以表示用户可以在其中“倾斜”并抓住真实或虚拟对象或与之交互的空间区域。在一些此类实现方式中,远场区域延伸超过约2.5m。
图44A-44C中所示的示例交互区域是说明性的而不是限制性的。用户交互区域可以与所示区域不同地布置,并且可以具有不同的大小、形状等。
输入集成度
如以下将进一步描述的,跨模态输入融合技术的发展表示从静态定义的输入***通过基于输入反馈***的动态耦合到采用多个动态反馈和前馈***操作的输入耦合(例如,动态预期或预测要使用的输入传感器)的增加的输入集成。例如,单模态技术可以利用具有专用控制(例如,触摸手势)的单个传感器,并且多模态技术可以利用同时并行操作的多个独立传感器(例如,头部注视和输入设备上的按钮选择)。交叉(cross)模态技术可以利用静态融合(例如,永久交叉耦合)的多个传感器。在诸如此类的技术中,可穿戴***通常接受所有传感器输入并确定用户的可能意图(例如,选择特定对象)。
相比之下,跨模态输入融合技术提供传感器输入的动态耦合,例如,识别在空间上(例如,在目标对象周围的空间区域中会聚)或在时间上(例如,持续了注视或停留时间)会聚的传感器输入。
在一些实现方式中,在用户与3D环境进行交互的相对较小部分的时间发生了跨模态耦合的传感器输入。例如,在一些此类实现方式中,仅在约2%的时间发生跨模态耦合输入。然而,在识别出合适的一组会聚传感器的时间期间,跨模态输入融合技术可以显著提高目标对象选择和交互的准确性。
单模态用户交互
图45示出单模态用户交互的示例。在单模态用户交互中,经由单个模式的用户输入接收用户输入。在图45的示例中,触摸输入被登记为触摸手势,并且在解释用户输入时没有使用其它模式的输入。如果需要,则触摸输入可以包括单个模式的用户输入随时间推移的变化(例如,移动的触摸,然后是轻击)。
多模态用户交互
图46A、图46B、图46C、图46D和图46E示出多模态用户交互的示例。在多模态用户交互中,将接收独立模式的用户输入,并一起利用它们来改进用户体验。然而,在多模态交互中,通常不会发生不同传感器模态的动态融合。在类似于图46A和图46B的附图中,在左侧(例如,用户可以提供触摸输入或移动他或她的头部、眼睛或手)上示出用户动作和对应的输入控制(例如,触摸手势、头部注视(也称为头部姿势)、眼睛注视和手势)。
如在图46A和图46B的示例中所示,用户可以使用他们的头部注视来瞄准虚拟对象,并且然后使用控制器按钮来选择虚拟对象。因此,用户通过两种模式(头部注视和按钮)提供输入,并且***利用这两种模式来确定用户希望选择用户的头部指向的虚拟对象。
另外,在多模态用户交互中组合的用户输入的模式可以在某种程度上互换。作为示例,用户可以使用他们的眼睛注视而不是他们的头部姿势来瞄准虚拟对象。作为另一示例,用户可以使用眨眼、手势或其它输入而不是控制器按钮来选择虚拟目标。
图46C示出在例如可与图44B的工作空间和中场对应的近场和中场交互区域中的多模态用户交互的示例。如图46C中所示,用户4610可以使用与图腾4602的位置直接相关联的图腾碰撞机(collider)、图腾触摸板光标(例如,通过操纵触摸板以在虚拟对象4600上移动鼠标箭头),或通过在虚拟对象4600上或附近做出特定手势4604,瞄准近场区域中的虚拟对象4600。类似地,用户4610可以使用头部姿势、眼睛注视姿势、具有3或6DOF输入的控制器4602,或使用手或手臂手势4604瞄准中场区域中的虚拟对象4612。在图46C的示例中,由于存在可供用户向***提供相同输入的多个单模态选项的事实,所以交互是多模态的。
虽然图46C示出了与瞄准相关联的多模态用户交互的示例,但是图46D示出了与瞄准和选择(在近场和中场交互区域中)相关联的多模态用户交互的示例。如图46D中所示,用户4610可以使用各种技术瞄准在图46C中选择的虚拟对象4600和4612,该技术包括但不限于在图腾上按压保险杠或触发器(在此也称为控制器),在图腾上按压或轻击触摸板,执行微手势(诸如手指捏合或轻击),或徘徊(例如,停留)用于瞄准对象的输入(例如,将其头部姿势、眼睛姿势、图腾投影或手势保持聚焦在虚拟对象4600或4612上长于一些阈值量)。在图46D的示例中,由于用户正在使用多种模式的输入(其中以停留形式的时间本身可以是输入的模式)的事实,交互是多模态的。
如图46E中所示,用户可以使用不同于用于瞄准的输入模式来选择瞄准的虚拟对象,诸如对象4600和4612。如图46E的各种示例中所示,用户可以使用各种技术来选择瞄准的虚拟对象,该技术包括但不限于按压触发器或保险杠或在图腾触摸板上轻击(例如,在使用头部姿势、眼睛姿势或图腾进行瞄准时),以及进行手势或微手势(诸如捏合轻击,轻击手势或指向手势)(例如,在使用手瞄准手势时)。在图46E的示例中,由于用户正在使用多种模式的输入的事实,因此交互是多模态的。
交叉模态用户交互
图47A、图47B和图47C示出交叉模态用户交互的示例。在交叉模态用户交互中,第一模式的用户输入被第二模式的用户输入修改。在瞄准的示例中,主要模式的用户输入可以用于瞄准所需的虚拟对象,并且辅助(secondary)模式的用户输入可以用于调节主要模式的用户输入。这可以称为相对光标(cursor)模式。作为相对光标模式的示例,用户可以使用第一模式的用户输入(诸如眼睛注视)来提供对光标的主要控制,并且可以使用第二模式的用户输入(诸如在控制器上的输入)来调节光标的位置。这可以为用户提供对光标的更精确的控制。
如图47C中所示,可以接收大致瞄准的虚拟对象4700的头部光线投射(例如,头部姿势)。然后,可以接收来自图腾的输入,该输入将增量赋予头部光线投射,以便精细调整虚拟对象4700的瞄准。一旦用户满意,用户就可以提供触摸轻击以选择瞄准的虚拟对象4700。图47C还示出了使用主要模式的用户输入和辅助模式的用户输入的不同组合以及选择输入的不同示例的相似过程的各种示例。
跨模态用户交互
图48A、图48B和图49示出跨模态用户交互的各种示例。在跨模态用户交互中,可以将两种或更多种模式的用户输入动态地耦合在一起。作为示例,可穿戴***可以动态地检测两个(或更多个)不同模式的用户输入何时会聚,并且然后可以组合在那些模式中接收的输入以实现比任何其它单个输入都无法提供的更好的结果。
如在图48A的示例中所示,随着输入会聚在一起并分开,用户的手势输入、头部姿势输入和眼睛注视输入可以动态地集成和分开。
在时间4800处,用户正在提供手势输入以瞄准特定的虚拟对象。作为示例,用户可能正指向虚拟对象。
在时间4802处,用户已经将他们的眼睛聚焦在相同的虚拟对象上(随着用户采用其一只或多只手进行瞄准),并且还转动头部来指向相同的虚拟对象。因此,所有三种模式的输入(手势、眼睛姿势、和头部姿势)已在共同虚拟对象上会聚在一起。可穿戴***可以检测该会聚(例如,三模态会聚),并且使得用户输入滤波,以减少与用户输入相关联的任何不确定性(例如,增加***正确识别用户旨在选择的虚拟对象的概率)。该***可以选择性地利用用户输入的不同滤波器和/或模式来处理会聚的输入(例如,基于诸如哪些输入已经会聚以及输入如何强烈地会聚的因素)。作为示例,***可以覆盖或以其它方式组合针对会聚输入中每一个会聚输入的不确定性区域,并且从而确定小于各个不确定性的新不确定性区域。在至少一些实施例中,可穿戴***可以集成会聚输入,其中不同权重被赋予不同用户输入。作为示例,在该短暂时间段内,眼睛注视输入可能比头部或手部姿势输入更准确地指示目标的当前位置,并因此赋予更多的权重。特别地,即使在使用具有相对较低分辨率的相机和采样率的眼睛跟踪***时,用户的眼睛也倾向于引导其它输入,并且因此倾向于对目标位置的微小变化更快地做出响应。这样,当适当地调节(例如,以适当的加权方式与其它输入滤波并融合)时,眼睛注视输入可以提供更准确的输入矢量。
在时间4804处,用户已经将其眼睛注视远离虚拟对象转移,而他们的头部姿势和手势仍然聚焦或指向虚拟对象。换句话说,用户的眼睛注视已经发散,并且不再与用户的头部姿势和手势输入会聚。可穿戴***可以检测到该发散事件并相应地调节其对不同用户输入的滤波。作为示例,可穿戴***可以继续组合用户的头部姿势和手势输入(例如,以双模态会聚),以识别用户希望选择哪个虚拟对象,同时为此目的而忽略了眼睛注视输入。
在时间4806处,用户已经将他们的眼睛注视返回到虚拟对象,使得用户的眼睛注视和手势会聚在虚拟对象上。可穿戴***可以检测到该双模态会聚,并以加权方式组合或融合两个输入。
如在图48B的示例中所示,对象的跨模态选择或瞄准可以包括动态交叉耦合的输入,并且可以用于诸如近场(有时称为任务空间)和中场区域的各种交互区域中的静态对象和弹道对象(例如,运动对象)。图48B示出用户可以使用跨模态输入来瞄准静态或移动对象。作为示例,用户可以通过将他们的头部和眼睛的注视转向对象(并且可能在对象上徘徊此类输入和/或采用此类输入来跟踪对象)来瞄准对象。用户还可以提供选择对象的附加输入,诸如控制器或手势(例如,与头部和/或眼睛注视会聚以形成三模态输入)。
如在图49的示例中所示,***可以动态地交叉耦合输入在一起。在时间4900处,***可以将眼睛注视输入与头部姿势输入融合在一起,从而允许用户观看以选择对象(同时使用他们的头部姿势来提高他们的眼睛注视输入的准确性)。在时间4910处,***可以将头部姿势、眼睛姿势和手势输入融合在一起,从而允许用户观看并指向以选择对象(同时使用头部和眼睛注视姿势输入来提高手势输入的准确性)。
跨模态交互的示例过程
图50是使用多种模式的用户输入来与可穿戴***交互的示例方法5000的过程流程图。过程5000可以由在此所述的可穿戴***200执行。
在框5002处,可穿戴***可以接收用户输入并且对模态交互进行分类并且确定不同模式的用户输入的任何会聚的发生。可穿戴***可以将模态交互分类为双模态或三模态(例如,使两个或三个不同的用户输入模式会聚在一起)或四模态(例如,四个输入模式)或更高数量的输入模式。框5002可以涉及各个阶段的模态交互的检测和分类,诸如联合或双模态或三模态“结合(bond)”的初始形成(例如,在输入矢量或不同用户输入模式之间的不同落到一些给定阈值以下的情况),双模态或三模态“结合”的固定或稳定(例如,输入矢量之间的不同稳定在阈值以下)和发散(例如,输入矢量之间的不同增加超出阈值)。在一些情况下,两个输入模式可能在执行动作之前或在另一个输入模式与它们会聚之前稳定。例如,在执行手抓握动作之前或在手输入与头部和眼睛输入会聚之前,头部和眼睛输入可以会聚并稳定短时间(例如,约200ms)。
框5002还可以涉及对模态交互的运动类型和交互区域进行分类。特别地,框5002可以涉及确定会聚的用户输入是否处于弹道追踪中(例如,具有可变速度或可变加速度),处于平滑追踪中(例如,具有较低加速度的更恒定的速度),处于注视中(例如,具有随时间推移相对较低的速度和加速度)、或处于停留(例如,已经处于注视超过给定时间量)。另外,框5002可以涉及确定会聚的输入是在近场区域(例如,任务场区域)、中场区域还是远场区域内。***可以取决于运动类型和交互区域来不同地处理跨模态输入。
在框5004处,可穿戴***可以将滤波应用于跨模态输入。框5004可涉及基于输入之间的聚散有多强,哪些输入会聚在一起,输入会聚在哪个区域等来应用不同强度的滤波。作为示例,当眼睛姿势输入和手势输入会聚且处于中场或远场区域时,可能需要比此类输入处于近场区域时应用更强的滤波(由于这些输入的不确定性通常会随着与用户的距离增加而增加)。在至少一些实施例中,框5004中的滤波可以涉及输入的调节,并且可以包括或可以不包括去除输入的部分。作为示例,***可以通过对主要输入姿势进行噪声滤波来滤波跨模态输入,以增加瞄准准确性。此类滤波可以包括低通滤波器,诸如一个欧式(Euro)滤波器,其滤除高频分量(并且其可以包括自适应截止频率)。尽管即使在没有融合的情况下,此类滤波也可以提高瞄准准确性,但将此类滤波永久性地保留(与会聚输入时动态地相反)却可能导致引入明显的(和不希望的)时延。通过仅在输入会聚时(其可能表示操作时间的一小部分)才选择性应用噪声滤波,***可以保留应用低通滤波器的准确性益处,同时避免绝大多数明显的时延。在各种实现方式中,可以(单独或组合地)使用其它滤波器,包括例如卡尔曼滤波器、有限冲激响应(FIR)滤波器、无限冲激响应(IIR)滤波器、移动平均值、单指数或双指数等。滤波器的另一示例是动态递归低通滤波器,其中低通滤波器具有动态可调节截止频率,使得在低速度的输入矢量时,截止频率较小,以减少抖动(同时允许较小程度的延迟或时延),并且在高速度的输入矢量时,与抖动相比,截止频率更大,以减少延迟。
在框5006,可穿戴***可以集成任何会聚的用户输入。在组合用户输入时,可穿戴***可以在用户输入之间进行(线性、球形或其它方式)内插(interpolate)以创建组合或融合输入。在一些实施例中,可穿戴***可以执行(线性、二次、指数或其它方式)缓动以避免抖动输入。特别地,可穿戴***可以平滑组合输入中的突然变化。作为示例,在两个输入之间的差变得小于针对会聚的阈值的时刻,可穿戴***的活动(active)输入可以从活动输入之一跳到新的融合输入。为了避免抖动,可穿戴***可以以阻尼方式将活动输入(以及任何对应的光标或反馈机制)从原始活动输入移动到新的融合输入(例如,以有限的加速度远离原始活动输入行进,然后以有限的减速度行进到新的融合输入)。框5006中的动作可以是动态的,因为方法5000可以连续或重复地检查会聚或发散的输入并集成会聚的输入。例如,该方法可以动态地集成已经会聚的输入,并动态地去除已经发散的输入。
在框5008处,可穿戴***可以可选地向用户提供用户输入已被融合并且跨模态交互现在可用的反馈。作为示例,可穿戴***可以以文本、视觉标记(诸如点、线、环、弧、三角形(例如,用于三模态会聚)、正方形(例如,用于四模态会聚)和网格)的形式提供此类反馈。
单模态、双模态和三模态交互中的用户选择过程的示例
图51示出在单模态、双模态和三模态交互中的用户选择的示例。
在单模态交互5100中,用户经由第一模式的用户输入提供用户输入以跟踪或选择给定对象。交互5100中的用户输入的模式可以是任何合适的模式,诸如头部姿势、眼睛姿势、手势、控制器或图腾输入等。交互5100中的用户输入通常是来自识别特定区域或体积以供选择的用户的输入。如图51中所示,在交互5100中可能存在与用户输入相关联的不确定性。特别地,由于诸如眼睛跟踪***、头部姿势跟踪***、手势跟踪***等的输入设备的限制,用户输入通常具有至少一些不确定性量。在至少一些实施例中,该不确定性可以随时间推移减小(例如,随着***随时间推移对否则为恒定的用户输入进行平均(e.g.,as thesystem averages an otherwise constant user input over time))。该效果由圆在图51中示出,其表示给定用户输入的不确定性并且随时间推移而缩小(例如,比较时间5102处的相对较大的不确定性与时间5104处的相对较小的不确定性)。
在双模态交互5110中,用户经由两种不同模式的用户输入来提供用户输入,以跟踪或选择给定的对象。交互5110中的用户输入的模式可以是任何合适的模式的组合,诸如头部-眼睛、手部-眼睛、头部-手部等。如图51中所示,***可以使用重叠的不确定性来减少***对用户交互的不确定性。作为示例,***可以识别位于双模态交互5110中第一模式的用户输入的不确定性区域和第二模式的用户输入的不确定性区域二者内的区域5112。如图51中所示,与融合双模态输入相关联的重叠误差区域5112基本上小于与构成模态输入中任何一个相关联的误差区域。另外,随着基础模态输入中每一个基础模态输入的不确定性减小(例如,双模态不确定性5112通常可以从初始时间5102减小到稍后时间5104),重叠误差区域5112也可以随时间推移缩小。
在三模态交互5120中,用户经由三种不同模式的用户输入来提供用户输入,以跟踪或选择给定的对象。交互5110中的用户输入的模式可以是任何合适的模式的组合,诸如头部-眼睛-手部、头部-眼睛-图腾等。如结合双模态交互5110所讨论的,***可以使用三种不同模式的重叠不确定性来减少***对用户交互的总体不确定性。作为示例,***可以识别位于第一、第二和第三模式的用户输入的不确定性区域内的区域5122。总体不确定性区域5122有时可以被称为跨模态三角形(用于三模态交互)和跨模态四边形(用于四模态交互)和跨模态多边形(用于更多数量的输入交互)。如图51中所示,随着基础模态输入中每个基础模态输入的不确定性减小(例如,三模态不确定性5122通常可以从初始时间5102减小到稍后时间5104),总体不确定性区域5122也可以随时间推移而缩小。图51还以交互5121示出了圆形而不是三角形形式的总体不确定性区域5123。由多种会聚模式的用户输入形成的不确定性区域的确切形状可取决于基础用户输入的不确定性区域的形状。
在至少一些实施例中,跨模态三角形、跨模态四边形和/或更高水平的跨模态形状的“腿”的长度可以与与相应的腿相关联的每对输入姿势矢量的会聚程度成比例。“腿”的长度也可以指示任务的类型和/或各个用户的特征(例如,不同的用户可倾向于以不同且可识别的方式进行交互,这可能反映在“腿”的长度中)。在各种实施例中,可将跨模态形状的“腿”或边的长度用于分类涉及哪种类型的用户交互。例如,三角形或四边形的面积(取决于输入姿势的数量)与跨模态会聚直接成比例,并且可以应用于宽泛范围的场景。在使用中,两个不同的三角形可具有相同的面积,但具有不同的边长。在该情况下,边的长度可以用于对输入会聚的子类型进行分类,并且该面积可以是意图强度以及面积的方差的代理。
基于用户输入的会聚来解释用户输入的示例
在至少一些实施例中,在此公开的***可以基于用户输入的会聚来解释用户输入。在图52的示例中,用户正在提供各种用户输入以选择对象5200。用户已将其头部转向对象5200,从而提供了头部姿势输入5202;用户正看着对象5200,从而提供了眼睛注视输入5204;以及用户正在用其手臂打手势。
通常,***可能难以解释用户的手臂手势,因为它可能具有几种不同的含义。也许用户正在指向对象5200,使得从用户的手腕到他们的手掌(或指尖)的光线投射表示预期输入。可替代地,也许用户正在用其手指形成“O”并移动其手,使得“O”在其视线的线内围绕对象,使得从用户头部到手指的光线投射表示预期输入。在另一替代方案中,也许用户将水软管指向汽车,并旨在从他们的肩膀到其指尖进行光线投射以表示预期输入。在缺少附加信息的情况下,***可能难以确定哪个是预期输入。
利用本***,***可以确定哪些潜在输入(例如,手臂或手势输入的潜在解释之一)与另一模式的输入(例如,头部或眼睛注视姿势输入)会聚。***然后可以假定导致模态会聚的潜在解释是预期输入。在图52的示例中,手掌-指尖输入5206(例如,手腕-手掌、关节-指尖等)与头部和眼睛注视输入会聚,而头部-手掌(例如,头部-指尖)输入5208和肩膀-手掌(例如,肩膀-指尖)输入5210与其它输入发散。因此,***可以确定手掌-指尖输入5206最有可能是预期输入,并且然后可以使用手掌-指尖输入5206来识别用于选择的对象5200(例如,通过使用输入5206及其不确定性特征来减少对象5200的三模态选择的总体不确定性特征)。因此,***可以至少部分地基于哪些可能的解释导致模态会聚来解释手臂手势。
图53、图54、图55和图56示出如何基于用户输入的会聚来解释用户输入的附加示例。
图53示出头部姿势(H)、眼睛注视姿势(E)和手掌指尖输入(Ha,对于手)的三模态会聚如何在近场区域5300(其可以是图44A、图44B和图44C中所示类型的任务空间或检查空间)、中场区域5302(其可以对应于距图44A、图44B和图44C中所示用户约1米至4米之间的中场区域),以及远场区域5304(其可对应于图44A、图44B和图44C的中场区域以外的区域)中发生。如在图53的示例中所示,H、H和Ha输入可以在点5301、5303、5305和5307处会聚在一起。在与会聚点5301相关联的示例中,Ha输入可以涉及指尖位置,而在与会聚点5303、5305和5307相关联的示例中,Ha输入可涉及手掌到指尖的光线投射。
在至少一些实施例中,具有跨模态融合能力的***可以对不同的输入放置不同的权重(例如,重要性值)。通常,当输入具有诸如较低的误差、增加的功能(诸如提供深度信息)、较高的频率等的因素时,这些输入可以是占优势的(例如,被分配更多的权重)。图54、图55和图56示出具有跨模态融合能力的***如何在解释用户输入时利用不同权重的输入。作为示例并且在至少一些实施例中,眼睛注视(E)输入可以相对于头部姿势(H)输入和手势(Ha)占优势,因为眼睛注视输入包括深度(例如,距用户的距离)的指示,而头部姿势输入不包括深度的指示,并且因为眼睛注视(E)有时更能指示用户输入手势(Ha)。
如在图54的示例中所示,注视(E)输入可以确定具有跨模态融合能力的***如何解释各种其它输入。在图54的示例中,注视(E)输入和头部姿势(H)输入似乎在点5400、5402和5404(其分别可以在近场、中场和远场区域中)会聚。然而,头部姿势(H)输入也似乎与手势(Ha)输入在点5401、5403和5405处会聚(其可能基本上相距很远,以至于不在图54的页面上),该点5401、5403和5405超出了E和H输入的会聚点。在此所述的***可以决定忽略在点5401、5403和5405处的明显(apparent)会聚,而是利用在点5400、5402和5404处的明显会聚。该***可以基于相对较高权重的眼睛注视(E)输入来这样做。
换句话说,图54示出诸如头部姿势(H)的输入如何具有多种解释(例如,一种与眼睛注视(E)融合而另一种与手势(Ha)融合)以及***如何选择导致具有较高权重输入的会聚的解释。因此,图54示出当会聚与另一更占优势的输入(诸如眼睛注视(E)输入)不一致时,***如何可忽略明显输入会聚。
图55示出类似于图54的示例,例外之处在于,眼睛注视(E)输入与手势(Ha)输入在点5500、5502和5504处会聚。此外,头部姿势(H)输入明显与Ha输入在点5501、5503和5505处会聚。正如图54,***可以在图55的示例中决定偏好涉及更占优势的眼睛注视(E)输入的明显会聚。
在图56的示例中,眼睛注视(E)输入与手势(Ha)输入和头部姿势(H)输入都发散。这样,***可以决定将手势(Ha)输入和头部姿势(H)输入(例如,到点5600、5602、5604和5606的输入)的明显会聚用作预期的跨模态输入。该***可以滤除到点5601、5603、5605和5607的眼睛注视(E)输入,或者可以将眼睛注视(E)输入用于其它用途。
具有跨模态融合能力的可穿戴***的示例图
图57A是融合了多种模式的用户输入以促进用户交互的可穿戴***200(例如,具有跨模态能力的可穿戴***)的示例处理架构的框***图。该处理架构可以由图2A中所示的本地处理和数据模块260或图2B中所示的处理器128来实现。如图57A中所示,处理架构可以包括一个或多个交互框,诸如实现在此所述类型的跨模态融合技术的框5706和5708。框5706例如接收诸如头部姿势、眼睛注视方向和手势输入的输入,并且可以将跨模态融合技术(诸如当检测到输入会聚时滤波和组合输入)应用于那些输入。类似地,框5708接收诸如控制器输入、语音输入、头部姿势输入、眼睛输入和手势输入的输入,并且可以将跨模态融合技术应用于这些(以及任何其它可用的)用户输入。集成的和滤波的用户输入可以如图57A中的箭头所示传递给各种软件应用并由其使用。
图57B是具有跨模态输入能力的可穿戴***200的处理架构的另一示例的***框图。图57B示出处理架构如何可以包括作为软件开发工具包(SDK)的一部分的跨模态交互工具包5752,从而允许软件开发者选择性地实现***的一些或全部可用的跨模态输入能力。
对于会聚和发散的用户交互的聚散距离和区域的示例曲线图
图58A和图58B是用于用户与可穿戴***交互的观察到的各种输入对的聚散距离和聚散区域的曲线图,其中用户被要求使用他们的头部、眼睛和控制器来跟踪静态对象。在图58A的示例中,动态跨模态输入融合被禁用,而在图58B的示例中,动态跨模态输入融合被启用。在图58A的示例中,在时间5810在第一位置处并且然后在时间5820在第二位置处向用户呈现静态对象。在图58B的示例中,在时间5830在第一位置处并且然后在时间5840在第二位置处向用户呈现静态对象。
图58A和图58B示出头部-眼睛聚散距离5800、头部-控制器聚散距离5802和控制器-眼睛聚散距离5804随时间推移的变化。头部-眼睛聚散距离5800是头部姿势输入矢量和眼睛注视输入矢量之间的距离。类似地,头部-控制器聚散距离5802是头部姿势输入矢量与控制器输入矢量之间的距离。另外,控制器-眼睛聚散距离5804是控制器输入矢量与眼睛注视输入矢量之间的距离。图58A和图58B还绘出了聚散区域5806,其可以指示与用户输入相关联的不确定性(例如,***具有与跟踪对象的用户输入有关的不确定性)区域。
如图58B中(特别是当与图58A进行对比时)所示,头部姿势和眼睛注视输入矢量的跨模态滤波显著地减小了聚散区域5806和头部-眼睛聚散距离5800。特别地,并且在初始尖峰之后,随着用户在时间5830和5840将其输入移位到新呈现的对象,通过动态跨模态滤波可显著减小头部-眼睛聚散距离5800。在图58B的示例中,动态跨模态滤波可以包括识别头部姿势和眼睛注视输入已经会聚,并且然后将输入集成在一起,并且应用滤波以实现比任何一个输入独自实现的结果更准确的结果。
该***可以使用类似于图58A和图58B中的曲线图的信息,以确定用户的认知负荷(例如,在用户的工作记忆中使用的精力)。例如,曲线图5800-5804的上升速率或这些曲线的峰之间的时间差表示可以应用于任务的用户的心理处理能力。例如,如果认知负荷较低,则用户可以将更多的工作记忆用于任务,并且上升时间可能更陡峭,并且峰的时间间隔更近,因为用户具有足够的认知负荷来完成任务(例如,瞄准移动对象)。如果认知负荷很高,则用户具有较少的工作记忆来应用到任务,并且上升时间可能不太陡峭,并且峰间隔的时间更长,因为用户需要更长的时间才能完成任务。请注意,眼睛输入的上升时间(到达峰值)倾向于比头部输入的上升时间快,并且二者都倾向于比手部输入的上升时间快(例如,在图58A、58B中可以看到头部-控制器曲线图5802相对于头部-眼睛曲线图5800具有较小的陡峭上升和延迟的峰值)。
停留和反馈的示例
图59A和图59B示出在注视和停留事件期间用户交互和反馈的示例。特别地,图59A和图59B示出用户如何通过将他们的眼睛注视输入移位到对象5910上,注视在对象5910上并且将其眼睛注视停留(例如,徘徊)在对象5910上达阈值时间段来提供输入。曲线图5900和5901示出用户的眼睛注视输入随时间推移变化的速率(例如,速度)。
在时间5902,用户完成将他们的眼睛注视移位到对象5910上。如果需要,***可以向用户提供反馈。反馈可以采取指示器5911的形式,并且可以指示对象5910是至少临时选择的。
在用户的注视停留在对象5910上达初始阈值时段(由时间5904表示)之后,***可以向用户提供反馈5912。在一些情况下,眼睛在对象上的停留时间5904为约500ms。反馈5912可以是进度条、进度弧或其它此类机制的形式,以大致示出已经完成了多少百分比的停留时间以成功地提供停留用户输入。作为一个示例,反馈5914可以采取连续或逐渐更新的注视弧的形式。在至少一些实施例中,随着用户的视线注视增量上更长的时间(例如,如曲线图5900中的竖直虚线所示),注视弧5914可能会逐步接近完成。
在用户的注视停留在对象5910上达阈值时段(由时间5906表示)之后,***可以向用户提供反馈5914。反馈5914可以是任何所需的形式,诸如完成的进度条、完成的进度弧、对象的突出显示等。在图59B的所示示例中,反馈5914是完成的正方形围绕对象5910的形式。
尽管这是基于眼睛注视的示例,但是该概念可单独或与其它输入组合地应用于其它传感器输入模态,例如头部姿势、手部输入等。例如,眼睛注视或头部姿势朝向对象的停留时间5904、5906可以为约500ms,但是如果眼睛注视和头部姿势输入二者会聚在对象上,则由于这两种输入模式的会聚,给定瞄准上的更大确定性,对于***的停留时间可能减少至300ms,以确定用户已选择对象。
用于跨模态输入融合技术的个性化示例
可穿戴***可以监控用户与3D环境的交互以及传感器在使用期间如何趋于会聚或发散。该***可以应用机器学习技术来学习用户的行为模式和会聚/发散趋势。例如,用户可能具有不稳定的手(例如,由于遗传效应、年老或疾病),并且因此,由于用户的手在图腾使用期间倾向于晃动,因此与手输入相关联的抖动可能更多。***可以学习该行为并调节阈值(例如,增加方差阈值以确定手部输入与其它输入的融合),或应用适当的滤波以补偿用户的手部抖动(例如,通过调节低通滤波器中的截止频率)。对于双手更稳定的用户,阈值或滤波器可以由***不同地设定,因为该用户的手部传感器输入将显示较少的抖动。继续该示例,***可以通过学习特定于该用户的传感器会聚(或发散)的序列和时序来了解特定用户如何拾起或抓住对象(参见例如图58B中的头部-眼睛-控制器聚散的时间序列)。
因此,***可以通过自适应地集成针对该特定用户的适当的一组会聚输入来为任何特定用户提供改进的或最大的用户体验。通过允许***自定义阈值和滤波器以更容易地识别输入会聚(或发散),此类个性化对于较差协调性、疾病、年老等的用户可能是有益的。
跨模态输入技术可以允许可穿戴***更有效地操作。可穿戴***可以包括多个传感器(参见例如参考图16描述的传感器),包括面向内和面向外的相机、深度相机、IMU、麦克风、用户输入设备(例如,图腾)、电磁跟踪传感器、超声波、雷达或激光传感器、肌电图(EMG)传感器等。***可能具有跟踪每个传感器输入的处理线程。传感器处理线程可以以较低的速率更新,直到识别出会聚事件为止,并且然后可以增加传感器更新速率(至少对于会聚输入),这通过仅对会聚传感器输入具有较高的更新速率来提高效率。如上所述,***可以基于其它传感器会聚的时间历史来学习用户行为并预测哪些传感器输入可以会聚。例如,到目标对象上的头部和眼睛输入的会聚可指示用户正试图抓住目标对象或与目标对象进行交互,并且***可以相应地预测此后不久手部输入将会聚(例如几百毫秒或高至大约一秒钟的时间或时间上更晚)。在手部传感器输入实际会聚之前,***可以基于该预测来增加手部传感器线程更新速率。此类预测能力可以在响应可穿戴***时向用户提供为零或几乎没有感知的时延,因为会聚的(或即将会聚)传感器具有增加的更新速率,从而减少了***的时延或延迟。
作为另一示例,***可以基于传感器输入的会聚(或不会聚)来发起(或唤醒)某些处理例程。例如,在用户环境中现实地渲染虚拟钻石可能需要应用处理器密集型的次表面散射(或次表面光传输)技术来传达虚拟钻石的闪耀。每当用户瞥一眼虚拟钻石或在虚拟钻石附近时,执行此类计算密集型任务可能效率低下。因此,通过检测空间会聚(例如,用户的头部、眼睛和手部的输入)或时间会聚(例如,眼睛注视在钻石上比停留时间更长),仅当会聚指示用户正在与虚拟钻石交互时(例如,通过长时间看着它,伸出手来抓住它等),***才可以执行计算密集的次表面渲染技术。这可导致提高效率,因为这些处理例程仅在必要时执行。尽管针对次表面散射或光传输技术进行了描述,但是可以另外或可替代地应用其它计算密集的增强技术,诸如例如反射图、表面闪光效果、次表面散射、气态透镜和折射、粒子计数、高级高动态范围(HDR)渲染或照明方法等。
作为另一个示例,用户的头部可能正在转向一个对象。***可以预测在将来的特定时间用户的头部将指向该对象,并且***可以开始渲染(或准备渲染)虚拟对象,使得当用户的头部在将来的时间到达对象时,***将能够以很少或没有感知的时延来渲染虚拟对象。
用户历史、行为、个性化等可以例如在本地或远程(例如在云中)存储为世界地图或模型920的构成。***可以以一组默认跨模态参数开始,随着***学习并适应用户行为,该组默认跨模态参数逐步改进。例如,世界地图或模型920可以包括用于用户的具有关于阈值、方差、滤波器等的信息的跨模态交互简档,该信息特定于该用户与真实或虚拟世界交互的方式。跨模态输入融合是以用户为中心的,其中针对该特定用户融合的合适的一组传感器输入集成在一起以提供改进的瞄准、跟踪和交互。
具有肌电图(EMG)传感器的示例可穿戴***
在一些实施例中,可以通过诸如在图60A和图60B中所描绘的附加传感器(其提供位置反馈或附加传感器输入)来实现精细的运动(motor)控制。例如,如在此描述的肌电图(EMG)传感器***可以提供控制器或姿势数据,该控制器或姿势数据可以用作跨模态输入***中的附加或替代输入,并且可以促进精确选择和用户输入。如在此描述的其它输入模式一样,当输入会聚时,可以将通过EMG***接收的输入与其它输入模式进行机会融合,从而提高EMG输入和任何其它融合输入的速度或准确性。因此,EMG传感器输入可以与在此描述的任何跨模态、多模态或交叉模态技术一起使用。EMG传感器是如在此所使用的广义术语,并且可以包括被配置为检测神经肌肉活动或神经肌肉信号(例如,脊神经运动神经元的神经激活,以支配肌肉、肌肉激活或肌肉收缩)的任何类型的传感器。EMG传感器可以包括肌收缩的机械效应图(mechanomyography)(MMG)传感器、声肌图(sonomyography)(SMG)传感器等。EMG传感器可以包括被配置为测量表面或体内电位的电极、被配置为测量皮肤表面振动的振动传感器、被配置为测量由肌肉活动引起的声学(例如超声)信号的声学传感器等。
参考图60A和图60B,示出了附加实施例,其中当用户正在操作可穿戴计算***时,肌电图或EMG技术可用于辅助确定用户身体的一个或多个部分的位置,诸如用户的一个或多个手指或拇指的位置,和/或用户的一只或多只手的位置。在图60A中描绘了可穿戴计算***的示例,其包括头戴式模块58、手持式控制器模块606、以及腰带包或底座模块70(在此例如至少结合图2B进一步描述的模块),其中的每个都可以诸如经由有线或无线连接配置(诸如IEEE 802-11连接配置、蓝牙无线配置等)彼此可操作地耦合6028、6032、6034、6036、6038、6042,并耦合至其它连接的资源(46,诸如例如云资源,其也可以称为用于存储和/或处理的计算资源)。
EMG技术可用于各种传感器配置中,诸如例如体内置留电极或表面电极,以监控肌肉或肌肉群的激活。随着现代制造和连接性的进步,EMG电极可用于形成相对于先前用途而言非传统的***或***的各方面。再次参考图60A,可以利用袖套或其它耦合平台(6026)将一个或多个EMG电极耦合至身体的一部分上,诸如手(6000)的前臂近端。EMG电极可以可操作地耦合(6020、6022、6024;诸如经由直接导线或无线连接)至本地控制器模块(6018),本地控制器模块(6018)可以配置为具有板上电源(诸如经由电池)、控制器或处理器、以及各种放大器,以辅助降低在观察由相关联EMG电极生成的信息的信噪比(在所示实施例中,示出了非置留EMG表面电极的三个阵列6012、6014和6016;然而这只是为了说明而不是限制)。与EMG有关的信号可以通过本地控制器模块(6018)利用有线或无线连接(6044、6040、6030、6046)配置(诸如IEEE 802-11连接配置、蓝牙无线配置等)传递到可操作耦合***的其它模块(70、606、58、46),或者如果这样连接,则可以直接从电极(6012、6014、6016)本身传递。
再次参考图60A,可以将EMG电极相对于用户的解剖结构放置,使得可以利用它们跟踪已知在相关关节中产生各种运动的各种肌肉的激活,诸如通过跟踪穿过腕部的腕管的肌肉,穿过腕部的腕管的肌肉用于移动手的各个关节,以产生例如诸如手势的手部动作。在各种配置中,EMG电极可以放置在用户的解剖结构上或解剖结构中,诸如例如放置在手指、手臂、腿、脚、脖子或头部、躯干等上。可以将多个EMG电极放置在用户的解剖结构上或解剖结构中,以便检测来自多个肌肉或肌肉群的肌肉信号。图60A和图60B中所示的配置旨在说明而不是限制。
在一个实施例中,在所有示出的模块彼此可操作地耦合的情况下,例如可以驻留在腰带包或底座模块70中或在云46上的中央处理器可以用于协调和完善手部6000的手势的跟踪,该手势可以通过头戴式模块58的相机元件(诸如例如,图2B的头戴式可穿戴设备58的世界相机124)可见。在某些实施例中,手势还可以通过手持控制器模块70的特征来跟踪,该手持控制器模块70的特征在于某些相机元件(诸如图2B的手持组件606的世界相机124),取决于各种相机元件的位置/取向以及用户的相关手6000的位置/取向,该某些相机元件可以能够捕获关于手6000的位置的各个方面的信息。换句话说,在一个实施例中,预测手部运动的EMG数据可以单独地或与关于手的观察的基于相机的数据一起使用,以帮助完善***对手在空间中相对于各种其它模块位置的预测,以及手的各个部分在做什么。
例如,可以利用一个或多个相机视图来提供用户正在用他或她的拇指和食指做出美国非语言“OK”标志的预测(图42C中示出“OK”标志的示例)。可以观察到与穿过用户的腕管的各种肌肉相关联的EMG数据,以进一步理解,实际上,用户的拇指和食指似乎以与做出美国非语言“OK”标志通常相关的方式弯曲,并且因此,该***能够提供有关用户正在做什么的更准确的预测。可以将“OK”的该感知反馈到***中,以提供来自用户的指示,即在软件内接受了任何下一步、对话框等,当用户佩戴各种可穿戴计算模块70、606、58、6010(可穿戴EMG模块)时,可以由用户操作该软件。在一种变型中,例如,在给定的操作接合点,相关联软件可以向用户呈现对话框,要求用户选择“OK”或“拒绝”;例如,用户可以通过头戴式模块58以增强现实或虚拟现实可视化模式来观察该对话框。在该说明性示例中,如上所述,为了选择软件中的“OK”按钮,用户可以用手来产生“OK”标志。这三个阵列可用于辅助共模误差抑制,以完善EMG模块的输出,和/或可用于观察不同的肌肉或其部分,从而辅助观察可能与例如用户手部运动相关的用户皮肤下方发生的事情。
尽管在手势(并且特别是“OK”标志)的上下文中描述了前述示例,但这仅是示例性的,而不是对EMG传感器***的限制。如上所述,可以将EMG电极放置在用户的解剖结构上或解剖结构中,以测量来自其它肌肉群的信号,以便确定用户正在做出任何形式的手势(例如,非语言标志)。已经参考图20的手势2080或参考42A-42C描述的手势描述了手势(或非语言标志)的示例。因此,EMG***可以通过手指、手臂、脚、腿、躯干(例如,扭曲或弯曲)、颈部或头部等来测量手势、非语言标志、位置或运动。
出于说明性目的,参考图60B,描绘了与图60A相似的实施例,但是没有互连的手持模块606,因为对于某些***配置或功能范例可能不需要或不期望此类手持模块。
跨模态输入融合技术的附加示例
本节提供关于跨模态输入融合的各种实现方式的示例的附加细节。跨模态输入融合可以使用自我中心运动动力学提供多模态输入的机会特征融合,以提高交互逼真度。这些示例实现方式旨在是说明性的而不是限制性的。这些技术可以由本申请中其它地方描述的可穿戴显示***执行(例如,参见图2A和图2B描述的可穿戴***200)。任何特定的可穿戴***都可以实现这些功能和技术中的一个、一些或全部,或者可以实现附加不同的功能和技术。
以下提供了针对在此所述的跨模态融合技术的一些术语的解释。这些解释仅是示例性的,而不是限制性的:
元素:离散的交互式显示项目。
主要瞄准矢量:用于转向(steer)空间瞄准方法的占优势输入姿势矢量(例如,光线投射、视锥投射(conecast)、球投射(ballcast)、与碰撞机关联的命中测试或法线)。
输入姿势矢量:从标准***模态输入获得的姿势。这可以是头部注视姿势、眼睛注视姿势、控制器姿势或手部姿势。它也可以来自交叉模态静态混合输入,该输入创建静态融合的姿势矢量,诸如控制器和触摸板或眼睛注视和触摸板得出的姿势。
交互场:这可以基于用户的有效触及范围并且受到来自感测场、显示场和音频场的重叠限制约束。
意图区域(ROI):这可以是由与瞄准矢量对或三元组的集合相关联的重叠的不确定性区域(体积)构成的体积。
跨模态状态的识别:跨模态状态的识别可以通过分析所有定义的和可用的输入瞄准矢量的相对会聚来执行。这可以通过首先检查成对的瞄准矢量之间的角距离来实现。然后检查每对的相对方差。如果距离和方差低于限定的阈值,则可以将双模态状态与一对相关联。如果三元组瞄准矢量具有低于限定的阈值的一组角距离和方差,则可以建立相关联区域。在头部姿势瞄准矢量(头部注视)、眼睛聚散瞄准矢量(眼睛注视)和跟踪控制器或跟踪手部(手部指针)瞄准矢量的情况下,创建匹配这些要求的三元组被称为跨模态三角形。三角形边的相对大小、该三角形的面积及其相关联的方差呈现可用于预测瞄准和激活意图的特征特点。瞄准矢量对(双模态)或三元组(三模态)(或大量传感器输入,例如4、5、6、7或更多)的组运动可用于进一步定义跨模态协调的确切子类型。
融合方法的选择和配置:可以基于输入***的详细跨模态状态确定适当的融合方法。这可以通过跨模态类型、运动类型和交互场类型来定义。定义的融合类型确定应选择性地融合列出的输入模式(和相关联的输入矢量)中的哪一个。运动类型和场类型确定融合方法设定。
在此描述的技术可以通过减少主要输入瞄准方法的不确定性来允许用户选择较小的元素。在此描述的技术还可以用于加速和简化元素的选择。在此描述的技术可以允许用户提高瞄准运动元素的成功率。在此描述的技术可以用于加速显示元素的丰富渲染。在此描述的技术可用于优先和加速本地(和云)处理对象点云数据、密集网格划分和平面采集,以提高发现的实体和表面以及所抓握的关注对象的压痕保真度。
在此所述的技术允许例如可穿戴***200从用户的视角建立变化程度的跨模态焦点,同时仍保留头部、眼睛和手的微小运动,从而显著增强了***对用户意图的理解。
下面描述了跨模态输入融合技术可以解决的一些功能的示例。该功能包括但不限于:瞄准较小元素;快速瞄准静态紧密接近元素;瞄准动态移动元素;管理近场和中场瞄准方法之间的过渡;管理相对瞄准方法之间的过渡;管理元素的激活;管理元素的操纵;管理宏观(macro)和微观(micro)操纵方法之间的过渡;管理元素的失活恢复(reintegration);管理主动(active)物理建模元素;管理显示元素的主动渲染;管理密集点云的主动采集;管理密集网格的主动采集;管理平面表面的主动采集;管理动态发现的实体的主动采集;以及管理抓握发现的实体的主动建模。
(1)瞄准较小元素:该技术可以提供瞄准较小元素(离散的交互式显示项目)。远距离瞄准较小项目可能固有地困难。随着目标项目所呈现的大小减小到准确性限制内,可靠地与投射(project)瞄准机构相交可能变得越来越困难。机会融合多模态输入可以通过减少主要瞄准矢量的不确定性来提高有效准确性。可穿戴***200的实施例可以执行以下动作的任何组合:识别当前跨模态状态;识别通过跨模态聚散和注视定义的ROI;识别对应的交互场(近/中/远);针对(静态/伪静态/动态)主要瞄准矢量选择正确的输入融合方法和设定;将定义的条件应用于主要瞄准矢量;以增加的置信度将稳定的姿势矢量传送到应用;减少瞄准矢量配准误差、抖动和漂移;并启用自信地瞄准近或远的较小元素(与模态瞄准方法相比)。
(2)快速瞄准静态紧密接近的元素:该技术可以提供可靠地瞄准紧密接近的静态元素。由于间隔距离可能低于主要输入矢量的准确性,因此紧密接近的对象可能会固有地难以解析和可靠地瞄准。使用条件(condition)输入姿势矢量瞄准静态的紧密接近的目标,通过可感知的时延的有限变化提供了准确性上的改进。可穿戴***200的实施例可以执行以下动作的任何组合:识别当前跨模态状态;识别由跨模态聚散和注视(fixation)所定义的ROI;识别对应的交互场(近/中/远);针对(伪静态)主要瞄准矢量选择正确的输入融合方法;将定义的条件应用于主要瞄准矢量;以增加的置信度向应用呈现稳定的姿势矢量;以及减少注视和停留的时间。
(3)瞄准动态移动元素:该技术可以提供可靠地瞄准移动元素。这包括相对于显示或相对于世界的平移、旋转或缩放。当处于动态环境中时,移动对象可以本来就难以追踪。当采用由世界范围内分布的动态3D内容以及头部和眼睛驱动的显示方法所提供的增加数量的自由度呈现时,此类瞄准可能更具挑战性。可穿戴***200的实施例可以执行以下动作的任何组合:识别由跨模态聚散和注视定义的ROI;识别对应的交互场(近/中/远);针对(动态)主要瞄准矢量选择正确的输入融合方法;以增加的置信度向应用传送稳定的姿势矢量;减少瞄准矢量配准误差、抖动和漂移;以及启用自信地瞄准近或远的较小元素,其以非线性速率以更快速度移动(与模态瞄准方法相比)。
(4)管理近场和中场瞄准方法之间的过渡:该技术提供了近场瞄准机理和中场-远场瞄准方法之间的编组(marshaling)处理。对于直接和间接瞄准方法存在多种方法。典型的直接方法发生在近场,并且间接方法瞄准中场和远场中的内容。了解意图区域(ROI)是在近场还是中场,允许在方法组之间进行选择,这也为识别场过渡事件和处理交互机制中的关联过渡提供了机会和方法,从而减少了在应用层中显式管理模式改变的需要。可穿戴***200的实施例可以针对主动的跨模态意图执行以下动作的任何组合:识别由跨模态聚散和注视所定义的ROI;识别对应的交互场(近/中/远);针对(动态)主要瞄准矢量选择正确的输入融合方法;以及以增加的置信度向应用呈现稳定的姿势矢量。
(5)管理相对瞄准方法之间的过渡:该技术可以提供在交互场内可靠地选择最优或最可能的交互机制。可穿戴***200的实施例可以针对主动的跨模态意图执行以下动作的任何组合:识别当前跨模态状态;识别由跨模态聚散和注视定义的ROI;识别对应的交互场(近/中/远);针对主要输入矢量选择最合适的瞄准矢量的起点和终点;以及管理瞄准矢量之间的任何过渡(在相同模式中或在模式之间)。可能会在瞄准反馈之间强制执行预瞄准“冷却”时段,以便减少由于瞄准矢量在视野(FOV)中的变化而引起的任何迷失方向。
(6)管理元素的激活:可穿戴***200的实施例可以针对主动跨模态意图执行以下动作的任何组合:识别当前的跨模态状态;识别由跨模态聚散和注视定义的ROI;识别对应的交互场(近/中/远);以增加的置信度向应用呈现稳定的姿势矢量;以及启用自信地激活近或远的较小元素,其以非线性速率以更快的速度移动(与模态瞄准方法相比)。
(7)管理元素的操纵:可穿戴***200的实施例可以执行以下动作的任何组合:识别当前跨模态状态;识别由跨模态聚散和注视定义的ROI;识别对应的交互场(近/中/远);以增加的置信度向应用呈现稳定的姿势矢量;启用自信地转向和操纵近或远的较小元素,其以非线性速率以更快的速度移动(与模态瞄准方法相比);启用自信的微转向和操纵元素;以及启用自信的微转向动作。
(8)管理过渡宏观和微观操纵方法:可穿戴***200的实施例可以针对主动跨模态意图执行以下动作的任何组合:识别由跨模态聚散和注视定义的ROI;识别对应的交互场(近/中/远);识别相关的模态宏观交互机理,检查是否启用了增强;激活相关的微交互管理方法;识别是否发生跨模态发散;以及通过降低跨模态置信度来为***准备禁用操作微手势。
例如:手势捏合。可以通过微捏合操纵(诸如拇指_食指_关节_轻击或食指_拇指_滑动动作)积极地进行增强,但是只有在稳健的跟踪区域、速度和置信度以及稳健的用户注视度量中,才可以启用这些方法(例如,注视或停留时间超过了例如几百到几千毫秒的用户注视阈值时间)。跨模态注视用作有条件地激活微手势分析的更稳健的方法。
(9)管理元素的禁用和集成:可穿戴***200的实施例可以针对主动跨模态意图执行以下动作的任何组合:识别当前跨模态状态;识别由跨模态聚散和注视定义的ROI;识别对应的交互场(近/中/远);以增加的置信度向应用呈现稳定的姿势矢量;以及启用自信的微运动,该微运动可导致更稳健的模态输入状态变化。
例如:对于从捏合_触摸到捏合_悬停到捏合_结束过渡的更大置信度导致更可预测的虚拟对象释放和分离行为。
例如:当部分地被遮挡时,手部轨迹和姿势过渡的更大置信度可以导致更好的禁用识别并且呈现出更可靠的结束状态特性。这可以导致更可靠的分离行为、更稳定的投掷机理和更现实的物理行为。
(10)管理元素的物理建模:可穿戴***200的实施例可以针对主动跨模态意图执行以下动作的任何组合:识别当前跨模态状态;识别由跨模态聚散和注视定义的ROI;识别对应的交互场(近/中/远);以增加的置信度向应用呈现稳定的姿势矢量;启用由ROI中的标准(例如,模拟)物理交互产生的局部条件的自信的自定义处理,这可导致物理引擎中更稳健的状态变化;以及启用高级(advanced)(例如,模拟)物理行为(诸如超局部软体模拟、非弹性碰撞或液体模拟)的有效的管理和上下文驱动的优化。
例如:所投掷或放置的对象的更大置信度的所得行为呈现出更可预测的且有意的物理行为。
(11)管理显示元素的有源渲染:可穿戴***200的实施例可以针对被动跨模态意图执行以下动作的任何组合:识别跨模态注视点,基于跨模态注视时间和预测停留时间定义扩展的意图区域;识别意图区域是否与渲染元素和增强选项相交;识别与ROI、注视时间和预测停留时间兼容的可用增强;激活最优渲染增强选项(其可能需要第二和第三渲染通道),诸如可以在预测停留时间期间激活的细节级别(LOD)方法;以及检测跨模态发散并管理渲染优先级。激活此类LOD方法可以例如包括提高虚拟内容或要显示或以其他方式呈现给用户的其它图形的分辨率或质量。类似地,在一些实现方式中,激活此类LOD方法可以包括提高输出给用户的音频的质量。
例如:详细的反射图、表面闪光效果、次表面散射、气体透镜和折射、粒子计数、高级高动态范围(HDR)渲染或照明方法等。这些提议的机理可能不同于由眼睛聚散位置驱动的典型凹式渲染技术,并倾向于使用第一阶/第一通道渲染方法来管理多边形计数、像素密度,并且通常必须在不同的时间尺度上工作以便保持不被察觉。使用跨模态注视和停留允许包含较高时延的渲染选项,由于计算限制,该渲染选项通常在移动平台上不予尝试。
(12)管理密集点云的主动采集:可穿戴***200的实施例可以针对被动跨模态意图执行以下动作的任何组合:识别由跨模态聚散和注视定义的ROI;识别对应的交互场(近/中/远);加速处理关注的点云;以及通过准备直接观察和交互来提高对象交互的保真度。
例如,发现的实体的对象绑定密集点云,以在发现的实体的表面(动态对象纹理)上进行丰富的元素交互。
(13)管理密集网格的主动采集:可穿戴***200的实施例可以针对被动跨模态意图执行以下动作的任何组合:识别由跨模态聚散和注视定义的ROI;识别对应的交互场(近/中/远);加速处理关注的密集网格;以及通过准备直接观察和交互来提高对象交互的保真度。
例如:凹式网格划分以改进近场或非平面表面触摸交互中对象的密集网格遮挡。
(14)管理平面表面的主动采集:可穿戴***200的实施例可以针对被动跨模态意图执行以下动作的任何组合:识别由跨模态聚散和注视定义的ROI;识别对应的交互场(近/中/远);加速处理关注的快速平面;以及通过准备直接观察和交互来提高表面交互的保真度。
例如:改进表面触摸交互并主动减少表面触摸跟踪中的错误。
(15)管理动态发现的实体的主动采集:可穿戴***200的实施例可以针对主动跨模态意图执行以下动作的任何组合:识别由跨模态聚散、注视和平滑追踪定义的ROI;识别对应的交互场(近/中/远);加速处理所发现的关注实体;以及通过准备动态运动或交互来提高所发现的实体交互的保真度。
例如:预先为***准备与发现的实体的交互可以减少动态发现实体跟踪的明显时延。
(16)管理对动态发现的实体的主动抓握:可穿戴***200的实施例可以针对主动跨模态意图执行以下动作的任何组合:识别由跨模态聚散、注视和平滑追踪定义的ROI;识别对应的交互场(近/中/远);加速处理所发现的关注实体;启用所发现的关注实体的本地处理;以及通过准备基于手部抓握的动态交互来提高所发现的实体交互的保真度。
例如:预先为***准备与被抓握的对象进行手部跟踪的交互可以减少抓握的对象跟踪的明显时延,或者改进实时对象分割方法并改进抓握对象时的手势估计。经常抓握的对象可以在云中产生更好的分割模型,该模型可用于针对抓握的手部跟踪的个性化用户特定优化。
前述功能可以通过跨模态输入融合技术的各种实现方式来提供,而不是限制性的。可穿戴***(例如,诸如可穿戴***200)可以执行这些技术中的一种、一些或全部的实施例,或者可以执行附加或不同的跨模态输入融合技术。许多变化和组合是可能的。
示例软件代码
附录A包括C#编程语言中的代码示例,其可用于执行在此所述的跨模态输入融合技术的示例实现方式。在各种实现方式中,附录A中的程序可以由本地处理和数据模块260、远程处理模块270、中央运行时服务器1650、处理器128或与可穿戴***200相关联的其它处理器执行。附录A旨在说明跨模态输入融合技术的各种特征的示例实现方式,而无意于限制该技术的范围。附录A在此全文引入作为参考,以构成本说明书的一部分。
跨模态输入融合技术的示例神经生理学方法
在无意于受到任何特定的神经生理学模型或感觉运动范例的束缚或限制的情况下,跨模态输入融合***和方法的某些实施例可以将此类模型或范式的教导应用于或利用于例如传感器会聚或发散、跨模态输入融合技术、传感器输入滤波、跨模态状态的识别或表征、使用跨模态融合输入执行的操作等。
例如,神经生理学领域中的许多领先理论认为,人类运动行为的运动学和动力学特性过于庞大和复杂,以至于不能由单个内部模型或计算方案合理地控制。取而代之,已经假定人脑采用了模块化的计算架构。在描述该人体感觉运动范例或其方面时可能有用的理论架构示例可包括多对正反模型)(Multiple Paired Forward-Inverse Models)(“MPFIM”)、混合专家架构、对于控制的模块化选择和识别(“MOSAIC”)模型等。在一些实现方式中,在此描述的***和技术中的一个或多个***和技术的某些方面可以在功能上相似于或类似于此类理论架构的方面。
在此类架构内,可以基于上下文来执行多个不同的“模块”(也称为“协同作用”或“协调结构”)之间的切换。每个模块可以在物理上对应于神经生理学机制,但是可以在逻辑上表示可以使用微分方程来描述并且被配置为执行特定运动或感觉运动控制策略的复杂动力学***。
在一些示例中,每个模块可以包含正向模型和反向(inverse)模型。例如,可以将此类反向模型视为专门针对特定的行为上下文,而可以将对应的正向模型视为确定当前上下文中此类反向模型的“职责”。在操作中,反向模型可以接收指示目标感官状态的参考输入,并且继而计算并向***中的“设备(plant)”或运动单元(例如,一个或多个肌肉)提供运动命令(例如,一个或多个肌肉激活信号)。然后,设备可以执行运动命令,从而有效地产生新的感觉状态。反向模型还可将运动命令的参考(efference)副本提供给正向模型,该正向模型可继而计算预测的感觉状态。可以相对于预测的感觉状态评估新的感觉状态以生成误差信号,该误差信号可以由反向模型用作反馈以校正当前运动或以其它方式改进***性能。实际上,在正向模型和反向模型之间形成的反馈回路在模块的输入和模块的输出之间产生不可避免的相互影响。
在一些实施例中,在此描述的一种或多种跨模态输入融合***和技术可以寻求检测其中一个或多个模块被激活、停用或其组合的切换事件的发生。为此,在此所述的一个或多个***可以监控模块输出(例如,***的电子感测组件可以跟踪的肌肉、关节或其它解剖特征的运动和位置),用于反馈稳定过程的迹象,该迹象在激活给定模块(例如,凭借其相应的阶跃响应)之后立即或相对不久发生,或者其它操作分叉点的迹象。此类反馈稳定过程可以在至少一对到模块的输入或来自模块的输出之间产生随机会聚。也就是说,随着模块在激活时最初使自身稳定,到模块的输入或来自模块的输出可能彼此之间越来越有影响力。例如,由***监控的给定模块输出对之间的统计方差、协方差或相关性的变化可以指示会聚事件(例如,模块激活、模块控制贡献的增加等)、发散事件(例如,模块停用、模块控制贡献的降低等)。
其它注意事项
尽管在此已经在AR/MR/VR***的上下文中描述了跨模态输入融合的某些示例,但这仅是示例性的,而非限制性的。在此描述的跨模态输入融合技术的实施例可以应用于例如机器人技术、无人机、用户引导的感知、人类-机器交互、人类-计算机交互、大脑-计算机接口、用户体验设计等。例如,机器人***或无人机可以具有多个输入模式,并且跨模态技术可以用于动态地确定多个输入中的哪些已经会聚并且利用如上所述的会聚输入模式。
本文描述和/或附图中描绘的过程、方法和算法中的每一个可以体现在由一个或多个物理计算***、硬件计算机处理器、应用专用电路和/或被配置为执行特定和特殊的计算机指令的电子硬件所执行的代码模块中并且完全或部分地由该代码模块自动化。例如,计算***可以包括用特定计算机指令编程的通用计算机(例如,服务器)或专用计算机、专用电路等等。代码模块可以被编译并链接到可执行程序中,安装在动态链接库中,或者可以用解释的编程语言编写。在一些实施方式中,特定操作和方法可以由专用于给定功能的电路来执行。
此外,本公开的功能的某些实施方式在数学上、计算上或技术上是足够复杂的,使得应用专用硬件或一个或多个物理计算设备(利用适当的专用可执行指令)对于执行功能可能是必需的,例如由于所涉及的计算的数量或复杂性或为了基本上实时提供结果。例如,视频可以包括许多帧,每帧具有数百万个像素,并且具体地编程的计算机硬件对于处理视频数据是必需的以在商业上合理的时间量内提供期望的图像处理任务或应用。此外,跨模态技术可以利用对传感器输入的动态监控来检测会聚和发散事件,并且可以利用基于复杂硬件处理器或固件的解决方案以便实时执行。
代码模块或任何类型的数据可以存储在任何类型的非暂时性计算机可读介质上,诸如物理计算机存储器,包括硬盘驱动器、固态存储器、随机存取存储器(RAM)、只读存储器(ROM)、光盘、易失性或非易失性存储器、其组合和/或类似物。方法和模块(或数据)也可以在各种计算机可读传输介质上作为生成的数据信号(例如,作为载波或其他模拟或数字传播信号的一部分)传输,所述传输介质包括基于无线的和有线/基于线缆的介质,并且可以采取多种形式(例如,作为单个或多路复用模拟信号的一部分,或者作为多个离散数字分组或帧)。所公开的方法或方法步骤的结果可以持久地或以其他方式存储在任何类型的非暂时性有形计算机存储器中,或者可以经由计算机可读传输介质来通信。
在此描述的和/或在附图中描绘的流程图中的任何过程、框、状态、步骤或功能应当被理解为潜在地表示代码模块、代码段或代码部分,代码包括一个或多个可执行指令以实现特定功能(例如,逻辑或算术)或方法中的步骤。各种方法、框、状态、步骤或功能可以与本文提供的说明性示例相组合,重新排列,添加,删除,修改或以其他方式改变。在一些实施例中,附加的或不同的计算***或代码模块可以执行本文描述的功能中的一些或全部。本文描述的方法和过程也不限于任何特定的序列,并且与其相关的块、步骤或状态可以以适当的其他序列来执行,例如串行、并行或以某种其他方式。可以向所公开的示例性实施例添加任务或事件或者从中移除任务或事件。此外,本文描述的实现中的各种***组件的分离是出于说明的目的,并且不应该被理解为在所有实施方式中都需要这种分离。应该理解,所描述的程序组件、方法和***通常可以一起集成在单个计算机产品中或者封装到多个计算机产品中。许多实施方式变化是可能的。
过程、方法和***可以在网络(或分布式)计算环境中实施。网络环境包括企业范围的计算机网络、内联网、局域网(LAN)、广域网(WAN)、个人区域网络(PAN)、云计算网络、众包计算网络、因特网和万维网。网络可以是有线或无线网络或任何其他类型的通信网络。
本公开的***和方法各自具有若干创新性方面,其中没有单独一个对于本文公开的期望属性完全负责或需要。上述各种特征和过程可以彼此独立地使用,或者可以以各种方式组合。所有可能的组合和子组合均旨在落入本公开的范围内。对于本公开中所描述的实施方式的各种修改对于本领域技术人员来说可能是显而易见的,并且在不脱离本公开的精神或范围的情况下,可将本文中定义的一般原理应用于其他实施方式。因此,权利要求不旨在限于本文所示的实施方式,而是应被赋予与本公开一致的最宽范围、本文公开的原理和新颖特征。
在本说明书中在分开的实施方式的情境中描述的某些特征也可以在单个实施方式中组合实施。相反,在单个实施方式的情境中描述的各种特征也可以分开或者以任何合适的子组合在多个实施方式中实施。此外,尽管上文可以将特征描述为以某些组合起作用并且甚至最初如此要求,但是来自所要求保护的组合的一个或多个特征可以在一些情况下从组合中删除,并且所要求保护的组合可以针对子组合或变体的子组合。没有单个特征或特征组对于每个实施例是必要或是必不可少的。
除非另有明确说明,否则本文中使用的条件语言,诸如“能够”、“可能”“应该”、“可以”、“例如”等等,或者在情境中以其他方式理解的,为一般地意在表达某些实施例包括,而其他实施例不包括某些特征、元件和/或步骤。因此,这样的条件语言通常不旨在暗示特征、元素和/或步骤以任何方式对于一个或多个实施例是必需的,或者一个或多个实施例必然包括用于在有或者没有作者输入或提示的情况下决定是否这些特征、元件和/或步骤包括在任何特定实施例中或将在任何特定实施例中执行。术语“包括”、“包含”、“具有”等是同义词,并且以开放式的方式包含性地使用,并且不排除附加的元件、特征、动作、操作等等。此外,术语“或”以其包含性含义(而不是其专有含义)使用,因此当用于例如连接元素列表时,术语“或”表示一个、一些或全部列表中的元素。另外,除非另有说明,否则本申请和所附权利要求中使用的冠词“一”、“一个”和“所述”应被解释为表示“一个或多个”或“至少一个”。
如本文所使用的,提及项目列表中的“至少一个”的短语是指这些项目的任何组合,包括单个成员。举例来说,“A、B或C中的至少一个”旨在覆盖:A、B、C、A和B、A和C、B和C以及A、B和C。连接语言例如短语“X、Y和Z中的至少一个”,除非另有特别说明,否则在通常用于表达项目,术语等可以是X、Y或Z中的至少一个。因此,这样的连接语言通常并不意味着某些实施方案需要X中的至少一个,Y中的至少一个和Z中的至少一个存在。
如在此所使用的术语“阈值”是指任何可能类型的阈值。作为示例,术语“阈值”包括预定义阈值、动态确定的阈值、动态调节的阈值、以及学习的阈值(例如,通过用户交互学习的阈值、基于用户偏好的阈值、基于用户能力的阈值等)。基于用户能力的阈值可以基于单个用户的能力来上调或下调。作为示例,基于用户能力的触摸板力阈值可以针对弱于正常手指强度的用户进行下调(可以从用户先前的交互中得知或通过用户偏好来得知)。
类似地,尽管可以在特定顺序中在附图中描绘操作,但应认识到,这些操作不需要以所示出的特定顺序或按顺序执行,或者所有所示操作都要执行,以实现理想的结果。此外,附图可以以流程图的形式示意性地描绘一个或多个示例过程。然而,未示出的其他操作可以并入示意性说明的示例性方法和过程中。例如,可以在任何所示操作之前、之后、同时或之间执行一个或多个附加操作。另外,在其他实施中,操作可以重新安排或重新排序。在某些情况下,多任务和并行处理可能是有利的。此外,上述实施方式中的各种***组件的分离不应该被理解为在所有实施方式中都需要这种分离,并且应该理解,所描述的程序组件和***通常可以一起集成在单个软件产品中或者封装到多个软件产品。另外,其他实施方式在以下权利要求的范围内。在一些情况下,权利要求中列举的动作可以以不同的顺序执行并且仍然实现期望的结果。
示例
在此描述了动态融合多种模式的用户输入以促进与三维(3D)环境中的虚拟对象进行交互的***的各种示例,诸如以下列举的示例:
示例1:一种***,该***包括:可穿戴***的第一传感器,其被配置为在第一输入模式中获取第一用户输入数据;可穿戴***的第二传感器,其被配置为在第二输入模式中获取第二用户输入数据,第二输入模式不同于第一输入模式;可穿戴***的第三传感器,其被配置为在第三输入模式中获取第三用户输入数据,第三输入模式不同于第一输入模式和第二输入模式;以及硬件处理器,其与第一、第二和第三传感器通信,该硬件处理器被编程为:接收包括第一输入模式中的第一用户输入数据、第二输入模式中的第二用户输入数据、以及第三输入模式中的第三用户输入数据的多个输入;基于第一用户输入数据,识别第一交互矢量;基于第二用户输入数据,识别第二交互矢量;基于第三用户输入数据,识别第三交互矢量;确定第一交互矢量、第二交互矢量和第三交互矢量中的至少两个交互矢量之间的聚散;至少部分地基于聚散,从可穿戴***周围的三维(3D)区域中的一组候选对象中识别目标虚拟对象;基于第一用户输入数据、第二用户输入数据、第三用户输入数据以及聚散中的至少一个来确定在目标虚拟对象上的用户界面操作;以及生成跨模态输入命令,该跨模态输入命令使得用户界面操作被执行在目标虚拟对象上。
示例2:根据示例1所述的***,其中,第一传感器包括头部姿势传感器,第二传感器包括眼睛注视传感器,以及第三传感器包括手势传感器。
示例3:根据示例1或2所述的***,其中,聚散在第一交互矢量、第二交互矢量和第三交互矢量的全部三个之中。
示例4:根据示例1-3中任一项所述的***,其中,硬件处理器被编程为确定第一交互矢量、第二交互矢量或第三交互矢量中的至少一个交互矢量从聚散的发散。
示例5:根据示例1-4中任一项所述的***,其中,为了确定第一交互矢量、第二交互矢量和第三交互矢量中的至少两个交互矢量之间的聚散,硬件处理器被编程为确定包括用户输入数据的已聚散(verge)的数据集,用户输入数据与所确定的已聚散的传感器相关联。
示例6:根据示例1-5中任一项所述的***,其中,第三传感器包括对手部动作敏感的肌电图(EMG)传感器。
示例7:根据示例1-5中任一项所述的***,其中,第三传感器包括对穿过用户的腕管的肌肉敏感的肌电图(EMG)传感器。
示例8:一种方法,包括:在可穿戴***的硬件处理器的控制下:访问来自大于三个的多个具有不同模态的传感器的传感器数据;识别大于三个的多个具有不同模态的传感器中的第一传感器和第二传感器的会聚事件;以及利用来自第一传感器的第一传感器数据和来自第二传感器的第二传感器数据来瞄准可穿戴***周围的三维3D环境中的对象。
示例9:根据示例8所述的方法,还包括:识别与第一传感器和第二传感器融合的第三传感器的第二会聚事件,该第三传感器来自大于三个的多个具有不同模态的传感器,以及其中利用来自第一传感器的第一传感器数据和来自第二传感器的第二传感器数据以瞄准可穿戴***周围的三维(3D)环境中的对象还包括:利用来自第三传感器的第三传感器数据。
示例10:根据示例8或9中任一项所述的方法,还包括:识别发散事件,其中,第一传感器与第二传感器发散,或者第三传感器与第一传感器或第二传感器发散。
示例11:根据示例10所述的方法,其中,所述利用不包括利用来自发散的传感器的数据。
示例12:根据示例10所述的方法,其中,所述利用包括对来自发散传感器的数据的加权小于对来自会聚传感器的数据的加权。
示例13:根据示例10-12中任一项所述的方法,其中,大于三个的多个具有不同模态的传感器包括:头部姿势传感器、眼睛注视传感器、手势传感器和触摸传感器。
示例14:根据示例8-13中任一项所述的方法,其中,第一传感器包括对手部动作敏感的肌电图(EMG)传感器。
示例15:根据示例8-13中任一项所述的方法,其中,第一传感器包括对手部动作敏感的肌电图(EMG)传感器,其中,第二传感器包括基于相机的手势传感器,以及其中,识别第一传感器和第二传感器的会聚事件包括:采用EMG传感器确定用户的肌肉以与非语言标志一致的方式弯曲;以及采用基于相机的手势传感器确定用户的手部的至少一部分以与非语言标志一致的方式定位。
示例16:一种方法,包括:在可穿戴***的硬件处理器的控制下:访问来自具有不同模态的至少第一和第二传感器的传感器数据,其中,第一传感器提供具有多个潜在解释的传感器数据;识别来自第二传感器的传感器数据与来自第一传感器的传感器数据的潜在解释中的给定的潜在解释的会聚;以及基于潜在解释中的给定的潜在解释,生成可穿戴***的输入命令。
示例17:根据示例16所述的方法,其中,生成输入命令包括:基于潜在解释中的给定的潜在解释生成输入命令,同时丢弃其余的潜在解释。
示例18:根据示例16或17中任一项所述的方法,其中,第一传感器包括跟踪用户的手部运动的手势传感器。
示例19:根据示例16-18中任一项所述的方法,其中,第一传感器包括跟踪用户手臂运动的手势传感器。
示例20:根据示例16-19中任一项所述的方法,其中,来自第一传感器的传感器数据的潜在解释包括:从用户的手腕到用户的指尖的第一光线投射或视锥投射,并且包括:从用户的头部到用户的指尖的第二光线投射或视锥投射。
示例21:根据示例16-20中任一项所述的方法,其中,第二传感器包括眼睛跟踪传感器,以及其中,识别会聚包括:确定用户的注视与第一光线投射或视锥投射大约指向空间中的共同点。
示例22:一种方法,包括:在可穿戴***的硬件处理器的控制下:访问来自具有不同模态的多个传感器的传感器数据;识别来自多个传感器中的第一和第二传感器的传感器数据的会聚事件;以及在会聚事件期间,选择性地将滤波器应用于来自第一传感器的传感器数据。
示例23:根据示例22所述的方法,其中,在会聚事件期间将滤波器选择性地应用于来自第一传感器的传感器数据包括:检测来自第一传感器和第二传感器的传感器数据的初始会聚,以及基于检测到的初始会聚,将滤波器应用于来自第一传感器的传感器数据。
示例24:根据示例22或23中任一项所述的方法,其中,在会聚事件期间将滤波器选择性地应用于来自第一传感器的传感器数据包括:检测来自第一传感器和第二传感器的传感器数据的会聚,基于检测到的会聚,将滤波器应用于来自第一传感器的传感器数据,检测第一传感器的传感器数据与第二传感器的传感器数据的发散,并基于检测到的发散,禁止将滤波器应用于来自第一传感器的传感器数据。
示例25:根据示例22-24中任一项所述的方法,其中,滤波器包括具有自适应截止频率的低通滤波器。
示例26:一种可穿戴***,其包括被编程为执行示例8-25中任一项所述的方法的硬件处理器。
示例27:根据示例26所述的可穿戴***,其包括具有不同模态的至少第一传感器和第二传感器。
示例28:一种可穿戴***,包括:头部姿势传感器,其被配置为确定可穿戴***的用户的头部姿势;眼睛注视传感器,其被配置为确定可穿戴***的用户的眼睛注视方向;手势传感器,其被配置为确定可穿戴***的用户的手势;硬件处理器,其与头部姿势传感器、眼睛注视传感器和手势传感器通信,该硬件处理器被编程为:确定相对于对象用户的眼睛注视方向与头部姿势之间的第一聚散;至少部分地基于来自头部姿势传感器和眼睛注视传感器的输入,执行与对象相关联的第一交互命令;确定相对于对象用户的手势与眼睛注视方向和头部姿势的第二聚散;以及至少部分地基于来自手势、头部姿势传感器和眼睛注视传感器的输入,执行与对象相关联的第二交互命令。
示例29:根据示例28所述的可穿戴***,其中,头部姿势传感器包括惯性测量单元(IMU),眼睛注视传感器包括眼睛跟踪相机,并且手势传感器包括面向外相机。
示例30:根据示例28或29中任一项所述的可穿戴***,其中,为了确定第一聚散,硬件处理器被编程为确定眼睛注视方向和与头部姿势相关联的头部姿势方向之间的角度小于第一阈值。
示例31:根据示例28-30中任一项所述的可穿戴***,其中,为了确定第二聚散,硬件处理器被编程为确定与手势、眼睛注视方向和头部姿势相关联的跨模态三角形小于第二阈值。
示例32:根据示例28-31中任一项所述的可穿戴***,其中,第一交互命令包括瞄准对象。
示例33:根据示例28-32中任一项所述的可穿戴***,其中,第二交互命令包括选择对象。
示例34:根据示例28-33中任一项所述的可穿戴***,其中,硬件处理器还被编程为确定手势、眼睛注视方向或头部姿势中的至少一个与对象的发散。
示例35:根据示例28-34中任一项所述的可穿戴***,其中,第一交互命令包括应用第一滤波器,或者第二交互命令包括应用第二滤波器。
示例36:根据示例35所述的可穿戴***,其中,第一滤波器不同于第二滤波器。
示例37:根据示例35或36中任一项所述的可穿戴***,其中,第一滤波器或第二滤波器包括具有自适应截止频率的低通滤波器。
示例38:根据示例37所述的可穿戴***,其中,低通滤波器包括一欧式滤波器。
示例39:根据示例28-38中任一项所述的可穿戴***,其中,为了确定第一聚散,硬件处理器被编程为确定眼睛注视方向和头部姿势朝向对象的停留时间超过第一停留时间阈值。
示例40:根据示例28-39中任一项所述的可穿戴***,其中,为了确定第二聚散,硬件处理器被编程为确定相对于对象眼睛注视方向、头部姿势和手势的停留时间超过第二停留时间阈值。
示例41:根据示例28-40中任一项所述的可穿戴***,其中,第一交互命令或第二交互命令包括提供与对象相关联的稳定瞄准矢量。
示例42:根据示例41所述的可穿戴***,其中,硬件处理器向应用提供稳定瞄准矢量。
示例43:根据示例28-42中任一项所述的可穿戴***,其中,姿势传感器包括手持式用户输入设备。
示例44:根据示例43所述的可穿戴***,其中,硬件处理器被编程为确定来自用户输入设备的输入与眼睛注视方向、头部姿势或手势中的至少一个之间的第三聚散。
示例45:根据示例28-44中任一项所述的可穿戴***,还包括语音传感器,以及其中,硬件处理器被编程为确定来自语音传感器的输入与眼睛注视方向、头部姿势或手势中的至少一个之间的第四聚散。
示例46:一种方法,包括:在可穿戴***的硬件处理器的控制下:识别当前跨模态状态,该当前跨模态状态包括与对象相关联的跨模态聚散;识别与跨模态聚散相关联的意图区域(ROI);至少部分地基于ROI识别对应的交互场;至少部分地基于跨模态状态选择输入融合方法;选择用于主要瞄准矢量的设定(setting);将调节(condition)应用于主要瞄准矢量以提供稳定的姿势矢量;以及将稳定的姿势矢量传达给应用。
示例47:根据示例46所述的方法,其中,对应的交互场包括以下项中的一项或多项:近场、中场或远场。
示例48:根据示例46或47中任一项所述的方法,其中,应用调节包括:减少主要瞄准矢量的配准误差、抖动或漂移。
示例49:根据示例46-48中任一项所述的方法,还包括瞄准对象。
示例50:根据示例46-49中任一项所述的方法,其中,识别当前跨模态状态包括确定注视或停留。
示例51:根据示例50所述的方法,还包括:确定注视或停留是否超过用户聚焦(focus)阈值,以及响应于确定注视或停留超过用户聚焦阈值,激活微手势操纵。
示例52:根据示例46-51中任一项所述的方法,其中,识别对应的交互场包括识别场过渡事件,场过渡事件包括第一交互场和第二交互场之间的过渡。
示例53:根据示例46-52中任一项所述的方法,其中,识别当前跨模态状态包括分析多个输入瞄准矢量之间的会聚。
示例54:根据示例53所述的方法,其中,分析会聚包括确定多个输入瞄准矢量对之间的角距离。
示例55:根据示例54所述的方法,还包括确定多个输入瞄准矢量的每对之间的相对方差(variance)。
示例56:根据示例55所述的方法,还包括:确定一对输入瞄准矢量的角距离在第一阈值以下,并且该对输入瞄准矢量的相对方差在第二阈值以下,并且响应于该确定,将当前跨模态状态识别为与该对输入瞄准矢量相关联的双模态状态。
示例57:根据示例53-56中任一项所述的方法,其中分析会聚包括:确定三元组的输入瞄准矢量与具有面积和三个边的跨模态三角形相联系。
示例58:根据示例57所述的方法,包括:确定:跨模态三角形的面积低于第三阈值,该面积的方差低于第四阈值或该跨模态三角形的边长的方差低于第五阈值,并且响应于该确定,将当前跨模态状态识别为与三元组的输入瞄准矢量相关联的三模态状态。
示例59:根据示例46-58中任一项所述的方法,其中,当前跨模态状态包括双模态状态、三模态状态或四模态状态。
示例60:一种方法,包括:在可穿戴***的硬件处理器的控制下:识别跨模态注视点;基于在跨模态注视点附近的跨模态注视时间或预测停留时间定义扩展的关注区域(ROI);确定ROI与渲染元素相交;确定与ROI、跨模态注视时间或预测停留时间兼容的渲染增强;以及激活渲染增强。
示例61:根据示例60所述的方法,其中,渲染增强包括以下一项或多项:反射图、表面闪光效果、次表面散射、气态透镜或折射、粒子计数、或高级高动态范围(HDR)渲染或照明方法。
示例62:根据示例60或61中任一项所述的方法,其中,仅在预测停留时间或跨模态注视时间期间激活渲染增强。
示例63:根据示例60-62中任一项所述的方法,还包括:检测先前会聚的输入模态的发散,以及停用渲染增强。
示例64:一种可穿戴***,其包括被编程为执行示例46-63中任一项所述的方法的硬件处理器。
示例65:根据示例64所述的可穿戴***,其包括具有不同模态的至少第一传感器和第二传感器。
示例66:根据示例65所述的可穿戴***,其中,具有不同模态的至少第一传感器和第二传感器包括:头部姿势传感器、眼睛注视传感器、手势传感器、语音传感器、或手持式用户输入设备。
示例67:一种方法,包括:在可穿戴***的硬件处理器的控制下:接收来自具有不同模态的多个传感器的传感器数据;确定来自具有不同模态的多个传感器中的特定子集的数据指示用户正在从多个预定的运动和感觉运动控制策略中发起特定运动或感觉运动控制策略的执行;从与多个预定运动和感觉运动控制策略中的不同的预定运动和感觉运动控制策略各自对应的多个不同传感器数据处理方案中选择与特定运动或感觉运动控制策略对应的特定传感器数据处理方案;以及根据特定传感器数据处理方案,处理从具有不同模态的多个传感器中的特定子集所接收的数据。
示例68:根据示例67所述的方法,其中,确定来自具有不同模态的多个传感器中的特定子集的数据指示用户正在从多个预定运动和感觉运动控制策略中启动特定运动或感觉运动控制策略的执行包括:确定来自具有不同模态的多个传感器中的特定子集的数据是随机会聚的。
示例69:根据示例67-68中任一项所述的方法,还包括:在根据特定传感器数据处理方案处理从具有不同模态的多个传感器中的特定子集所接收的数据时:确定来自具有不同模态的多个传感器中的特定子集的数据指示用户正在结束特定运动或感觉运动控制策略的执行;响应于确定来自具有不同模态的多个传感器中的特定子集的数据指示用户正在结束特定运动或感觉运动控制策略的执行:根据特定传感器数据处理方案,避免处理从具有不同模态的多个传感器的特定子集所接收的数据。
示例70:根据示例69所述的方法,其中,确定来自具有不同模态的多个传感器的特定子集的数据指示用户正在结束特定运动或感觉运动控制策略的执行包括:确定来自具有不同模态的多个传感器中的特定子集的数据是随机发散的。
示例71:根据示例67-70中任一项所述的方法,其中,根据特定传感器数据处理方案来处理从具有不同模态的多个传感器中的特定子集所接收的数据包括:以特定方式对来自具有不同模态的多个传感器中的特定子集中的一个或多个的数据进行滤波。
示例72:根据示例67-71中任一项所述的方法,其中,根据特定传感器数据处理方案来处理从具有不同模态的多个传感器中的特定子集所接收的数据包括:以特定方式融合来自具有不同模态的多个传感器中的特定子集的数据。
示例73:根据示例67-72所述的方法,其中,确定来自具有不同模态的多个传感器中的特定子集的数据指示用户正在从多个预定的运动和感觉运动控制策略中启动特定运动或感觉运动控制策略的执行包括:确定描述来自具有不同模态的多个传感器中的特定子集的数据之间的一种或多种关系的一个或多个统计参数满足一个或多个阈值。
示例74:根据示例73所述的方法,其中,一个或多个统计参数包括方差、协方差或相关性中的一个或多个。
示例75:一种方法,包括:在可穿戴***的硬件处理器的控制下:接收来自具有不同模态的多个传感器的传感器数据;确定来自具有不同模态的多个传感器中的特定子集的数据以特定方式随机变化;响应于确定来自具有不同模态的多个传感器中的特定子集的数据以特定方式随机变化,在以下之间切换:根据第一传感器数据处理方案,处理从具有不同模态的多个传感器中的特定子集所接收的数据;以及根据与第一传感器数据处理方案不同的第二传感器数据处理方案,处理从具有不同模态的多个传感器中的特定子集所接收的数据。
示例76:根据示例75所述的方法,其中,确定来自具有不同模态的多个传感器中的特定子集的数据以特定方式随机改变包括:确定来自具有不同模态的多个传感器中的特定子集的数据随机会聚。
示例77:根据示例76或77中任一项所述的方法,其中,确定来自具有不同模态的多个传感器中的特定子集的数据以特定方式随机改变包括:确定来自具有不同模态的多个传感器的特定子集的数据随机发散。
示例78:一种可穿戴***,其包括被编程为执行示例67-77中任一项所述的方法的硬件处理器。
以上示例中的任何示例可以与本申请中描述的任何其它示例或任何其它特征组合。示例无意排除在此所述的附加元素。预期具有或不具有在此描述的附加特征的示例的所有可能的组合和子组合,并且将其视为本公开的一部分。
附录A
版权声明
该专利文件的公开内容的一部分包含受版权保护的材料。版权所有者不反对任何人以专利和商标局专利文件或记录中的形式复制专利文件或专利公开的内容,但保留其它所有版权。
以下计算机代码和描述旨在说明跨模态输入融合技术的各种实施例,但无意限制跨模态输入融合技术的范围。在各种实现方式中,该计算机代码可以由本地处理和数据模块260、远程处理模块270、中央运行时服务器1650、或与可穿戴***200相关联的其它处理器执行。
C#脚本
在此公开的脚本说明了如何从使用2D上下文融合计算中得出上下文,并且然后用于限定主要瞄准矢量(手部)的动态滤波。可以使用线性和球形插值方法来斜升对主要瞄准矢量姿势的滤波。
计算列表:
头部-手部中点当前位置
手部-眼睛中点当前位置
头部-眼睛中点当前位置
头部-手部中点当前距离
手部-眼睛中点当前距离
头部-眼睛中点当前距离
头部-眼睛-手部三角形当前中心位置
头部-眼睛-手部三角形当前区域
/*用于方差计算*/
头部(H)交互点(注视)平均位置:滚动窗口10帧。
眼睛(E)交互点(聚散)平均位置:滚动窗口10帧。
手部(Ha)交互点(食指尖)平均位置:滚动窗口10帧。
头部-手部中点平均位置:滚动窗口10帧。
手部-眼睛中点平均位置:滚动窗口10帧。
头部-眼睛中点平均位置:滚动窗口10帧。
头部-眼睛-手部中心点平均位置:滚动窗口10帧。
头部-眼睛-手部平均三角形区域:滚动窗口10帧。
头部交互点(注视)位置方差:滚动窗口10帧。
眼睛交互点(聚散)位置方差:滚动窗口10帧。
手部交互点(食指尖)位置方差:滚动窗口10帧。
头部-手部中点位置方差:滚动窗口10帧。
手部-眼睛中点位置方差:滚动窗口10帧。
头部-眼睛中点位置方差:滚动窗口10帧。
头部-眼睛-手部中心点位置方差:滚动窗口10帧。
头部-眼睛-手部三角形区域方差:滚动窗口10帧。
头部交互点(注视)当前速度(xy切向分量)
眼睛交互点(聚散)当前速度(xy切向分量)
手部交互点(食指尖)当前速度(xy切向分量)
头部-手部中点当前速度(xy切向分量)
手部-眼睛中点当前速度(xy切向分量)
头部-眼睛中点当前速度(xy切向分量)
头部-眼睛-手部中心点当前速度(xy切向分量)
头部交互点(注视)平均速度:滚动窗口20帧(xy切向分量)
眼睛交互点(聚散)平均速度:滚动窗口20帧(xy切向分量)
手部交互点(食指尖)平均速度:滚动窗口20帧(xy切向分量)
头部-手部中点平均速度:滚动窗口10帧(xy切向分量)
手部-眼睛中点平均速度:滚动窗口10帧(xy切向分量)
头部-眼睛中点平均速度:滚动窗口10帧(xy切向分量)
头部-眼睛-手部中心点平均速度:滚动窗口10帧(xy切向分量)
头部交互点(注视)平均加速度:滚动窗口20帧(xy切向分量)
眼睛交互点(聚散)平均加速度:滚动窗口20帧(xy切向分量)
手部交互点(食指尖)平均加速度:滚动窗口20帧(xy切向分量)
头部交互点(注视)当前加速度(xy切向分量)
眼睛交互点(聚散)当前加速度(xy切向分量)
手部交互点(食指尖)当前加速度(xy切向分量)
头部-手部中点当前加速度(xy切向分量)
手部-眼睛中点当前加速度(xy切向分量)
头部-眼睛中点当前加速度(xy切向分量)
头部-眼睛-手部中心点当前加速度(xy切向分量)
头部-眼睛-手部平均三角形中心当前加速度(xy切向分量)
动态滤波首次开启伪代码:
Figure BDA0002878653650001481
Figure BDA0002878653650001491
Figure BDA0002878653650001501
Figure BDA0002878653650001511
Figure BDA0002878653650001521
Figure BDA0002878653650001531
在一些示例中,当融合条件破坏时,欧式滤波器可能会迅速缓出(ease out),并且在一些情况下可能会突然断开。在其它实现方式中,随着滤波的交互点(在该情况下,手部输入瞄准矢量)从三模态融合退化为双模态融合,一个滤波器已缓出,而另一个滤波器正在缓入。在该方面,多个滤波器将同时运行,以便创建平滑过渡的位置函数,并避免主要瞄准矢量(管理的光标)的速度和加速度出现阶跃函数(或不连续性)。
多模态停留首次开启伪代码:
Figure BDA0002878653650001532
Figure BDA0002878653650001541
Figure BDA0002878653650001551
Figure BDA0002878653650001561

Claims (26)

1.一种可穿戴***,包括:
头部姿势传感器,其被配置为确定所述可穿戴***的用户的头部姿势;
眼睛注视传感器,其被配置为确定所述可穿戴***的所述用户的眼睛注视方向;
手势传感器,其被配置为确定所述可穿戴***的所述用户的手势;
硬件处理器,其与所述头部姿势传感器、所述眼睛注视传感器和所述手势传感器通信,所述硬件处理器被编程为:
确定相对于对象所述用户的所述眼睛注视方向与所述头部姿势之间的第一聚散;
至少部分地基于来自所述头部姿势传感器和所述眼睛注视传感器的输入,执行与所述对象相关联的第一交互命令;
确定相对于所述对象所述用户的所述手势与所述眼睛注视方向和所述头部姿势的第二聚散;以及
至少部分地基于来自所述手势、所述头部姿势传感器和所述眼睛注视传感器的输入,执行与所述对象相关联的第二交互命令。
2.根据权利要求1所述的可穿戴***,其中,所述头部姿势传感器包括惯性测量单元IMU,所述眼睛注视传感器包括眼睛跟踪相机,以及所述手势传感器包括面向外相机。
3.根据权利要求1所述的可穿戴***,其中,为了确定所述第一聚散,所述硬件处理器被编程为:确定所述眼睛注视方向和与所述头部姿势相关联的头部姿势方向之间的角度小于第一阈值。
4.根据权利要求1所述的可穿戴***,其中,为了确定所述第二聚散,所述硬件处理器被编程为:确定与所述手势、所述眼睛注视方向和所述头部姿势相关联的跨模态三角形小于第二阈值。
5.根据权利要求1所述的可穿戴***,其中,所述第一交互命令包括瞄准所述对象。
6.根据权利要求1所述的可穿戴***,其中,所述第二交互命令包括选择所述对象。
7.根据权利要求1所述的可穿戴***,其中,所述硬件处理器还被编程为:确定所述手势、所述眼睛注视方向、或所述头部姿势中的至少一个与所述对象的发散。
8.根据权利要求1所述的可穿戴***,其中,所述第一交互命令包括应用第一滤波器,或者所述第二交互命令包括应用第二滤波器。
9.根据权利要求8所述的可穿戴***,其中,所述第一滤波器不同于所述第二滤波器。
10.根据权利要求8所述的可穿戴***,其中,所述第一滤波器或所述第二滤波器包括具有自适应截止频率的低通滤波器。
11.根据权利要求10所述的可穿戴***,其中,所述低通滤波器包括一欧式滤波器。
12.根据权利要求1所述的可穿戴***,其中,为了确定所述第一聚散,所述硬件处理器被编程为:确定所述眼睛注视方向和所述头部姿势朝向所述对象的停留时间超过第一停留时间阈值。
13.根据权利要求1所述的可穿戴***,其中,为了确定所述第二聚散,所述硬件处理器被编程为:确定所述眼睛注视方向、所述头部姿势和所述手势相对于所述对象的停留时间超过第二停留时间阈值。
14.根据权利要求1所述的可穿戴***,其中,所述第一交互命令或所述第二交互命令包括提供与所述对象相关联的稳定瞄准矢量。
15.根据权利要求14所述的可穿戴***,其中,所述硬件处理器向应用提供所述稳定瞄准矢量。
16.根据权利要求1所述的可穿戴***,其中,所述手势传感器包括手持式用户输入设备。
17.根据权利要求16所述的可穿戴***,其中,所述硬件处理器被编程为:确定来自所述用户输入设备的输入与所述眼睛注视方向、所述头部姿势、或所述手势中的至少一个之间的第三聚散。
18.根据权利要求1所述的可穿戴***,还包括语音传感器,以及其中,所述硬件处理器被编程为:确定来自所述语音传感器的输入与所述眼睛注视方向、所述头部姿势、或所述手势中的至少一个之间的第四聚散。
19.一种***,包括:
可穿戴***的第一传感器,其被配置为在第一输入模式中获取第一用户输入数据;
所述可穿戴***的第二传感器,其被配置为在第二输入模式中获取第二用户输入数据,所述第二输入模式不同于所述第一输入模式;
所述可穿戴***的第三传感器,其被配置为在第三输入模式中获取第三用户输入数据,所述第三输入模式不同于所述第一输入模式和所述第二输入模式;以及
硬件处理器,其与所述第一传感器、所述第二传感器和所述第三传感器通信,所述硬件处理器被编程为:
接收包括所述第一输入模式中的所述第一用户输入数据、所述第二输入模式中的所述第二用户输入数据和所述第三输入模式中的所述第三用户输入数据的多个输入;
基于所述第一用户输入数据,识别第一交互矢量;
基于所述第二用户输入数据,识别第二交互矢量;
基于所述第三用户输入数据,识别第三交互矢量;
确定所述第一交互矢量、所述第二交互矢量、和所述第三交互矢量中的至少两个交互矢量之间的聚散;
至少部分地基于所述聚散,从所述可穿戴***周围的三维3D区域中的一组候选对象中识别目标虚拟对象;
基于所述第一用户输入数据、所述第二用户输入数据、所述第三用户输入数据、以及所述聚散中的至少一个,确定在所述目标虚拟对象上的用户界面操作;以及
生成跨模态输入命令,所述跨模态输入命令使得所述用户界面操作在所述目标虚拟对象上被执行。
20.一种方法,包括:
在可穿戴***的硬件处理器的控制下:
访问来自大于三个的多个具有不同模态的传感器的传感器数据;
识别所述大于三个的多个具有不同模态的传感器中的第一传感器和第二传感器的会聚事件;以及
利用来自所述第一传感器的第一传感器数据和来自所述第二传感器的第二传感器数据来瞄准所述可穿戴***周围的三维3D环境中的对象。
21.一种方法,包括:
在可穿戴***的硬件处理器的控制下:
访问来自具有不同模态的至少第一传感器和第二传感器的传感器数据,其中,所述第一传感器提供具有多个潜在解释的传感器数据;
识别来自所述第二传感器的传感器数据与来自所述第一传感器的所述传感器数据的所述潜在解释中的给定潜在解释的会聚;以及
基于所述潜在解释中的给定潜在解释,生成所述可穿戴***的输入命令。
22.一种方法,包括:
在可穿戴***的硬件处理器的控制下:
访问来自具有不同模态的多个传感器的传感器数据;
识别来自所述多个传感器中的第一传感器和第二传感器的传感器数据的会聚事件;以及
在所述会聚事件期间,选择性地将滤波器应用于来自所述第一传感器的所述传感器数据。
23.一种方法,包括:
在可穿戴***的硬件处理器的控制下:
识别当前跨模态状态,所述当前跨模态状态包括与对象相关联的跨模态聚散;
识别与所述跨模态聚散相关联的意图区域ROI;
至少部分地基于所述ROI,识别对应的交互场;
至少部分地基于所述跨模态状态,选择输入融合方法;
选择用于主要瞄准矢量的设定;
将调节应用于所述主要瞄准矢量以提供稳定的姿势矢量;以及
将所述稳定的姿势矢量传达给应用。
24.一种方法,包括:
在可穿戴***的硬件处理器的控制下:
识别跨模态注视点;
基于在所述跨模态注视点附近的跨模态注视时间或预测停留时间,定义扩展的关注区域ROI;
确定所述ROI与渲染元素相交;
确定与所述ROI、所述跨模态注视时间、或所述预测停留时间兼容的渲染增强;以及
激活所述渲染增强。
25.一种方法,包括:
在可穿戴***的硬件处理器的控制下:
接收来自具有不同模态的多个传感器的传感器数据;
确定来自所述具有不同模态的多个传感器中的特定子集的数据指示用户正在从多个预定的运动和感觉运动控制策略中发起特定的运动或感觉运动控制策略的执行;
从与所述多个预定的运动和感觉运动控制策略中的不同运动和感觉运动控制策略各自对应的多个不同的传感器数据处理方案中选择与所述特定的运动或感觉运动控制策略对应的特定的传感器数据处理方案;以及
根据所述特定的传感器数据处理方案处理从具有不同模态的所述多个传感器中的所述特定子集所接收的数据。
26.一种方法,包括:
在可穿戴***的硬件处理器的控制下:
接收来自具有不同模态的多个传感器的传感器数据;
确定来自所述具有不同模态的多个传感器中的特定子集的数据在以特定方式随机地变化;
响应于确定来自所述具有不同模态的多个传感器中的所述特定子集的数据在以所述特定方式随机地变化,在以下之间切换:
根据第一传感器数据处理方案,处理从所述具有不同模态的多个传感器中的所述特定子集所接收的数据;以及
根据与所述第一传感器数据处理方案不同的第二传感器数据处理方案,处理从所述具有不同模态的多个传感器中的所述特定子集所接收的数据。
CN201980044870.XA 2018-05-22 2019-05-21 用于可穿戴***的跨模态输入融合 Pending CN112424727A (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201862675164P 2018-05-22 2018-05-22
US62/675,164 2018-05-22
US201862692519P 2018-06-29 2018-06-29
US62/692,519 2018-06-29
PCT/US2019/033378 WO2019226691A1 (en) 2018-05-22 2019-05-21 Transmodal input fusion for a wearable system

Publications (1)

Publication Number Publication Date
CN112424727A true CN112424727A (zh) 2021-02-26

Family

ID=68614766

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980044870.XA Pending CN112424727A (zh) 2018-05-22 2019-05-21 用于可穿戴***的跨模态输入融合

Country Status (5)

Country Link
US (2) US10861242B2 (zh)
EP (1) EP3797345A4 (zh)
JP (2) JP7341166B2 (zh)
CN (1) CN112424727A (zh)
WO (1) WO2019226691A1 (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114373064A (zh) * 2021-12-14 2022-04-19 聚好看科技股份有限公司 一种vrar内容编辑方法、装置、设备及介质
CN114461063A (zh) * 2022-01-18 2022-05-10 深圳时空科技集团有限公司 一种基于车载屏幕的人机交互方法
CN115237255A (zh) * 2022-07-29 2022-10-25 天津大学 一种基于眼动和语音的自然图像共指目标定位***及方法
CN115951787A (zh) * 2023-03-15 2023-04-11 北京亮亮视野科技有限公司 近眼显示设备的交互方法、存储介质及近眼显示设备
TWI822496B (zh) * 2022-02-18 2023-11-11 宏達國際電子股份有限公司 用於判定物件 的物理特性的方法、主機及電腦可讀儲存媒體
CN117348737A (zh) * 2023-12-06 2024-01-05 之江实验室 一种基于多通道交互的数据处理***及方法
CN117406867A (zh) * 2023-12-15 2024-01-16 小芒电子商务有限责任公司 一种基于网页的增强现实交互方法及装置
WO2024036982A1 (zh) * 2022-08-19 2024-02-22 南京邮电大学 基于多模态融合的三维建模***及建模方法

Families Citing this family (176)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8977255B2 (en) 2007-04-03 2015-03-10 Apple Inc. Method and system for operating a multi-function portable electronic device using voice-activation
KR20230137475A (ko) 2013-02-07 2023-10-04 애플 인크. 디지털 어시스턴트를 위한 음성 트리거
US11921471B2 (en) 2013-08-16 2024-03-05 Meta Platforms Technologies, Llc Systems, articles, and methods for wearable devices having secondary power sources in links of a band for providing secondary power in addition to a primary power source
US20150124566A1 (en) 2013-10-04 2015-05-07 Thalmic Labs Inc. Systems, articles and methods for wearable electronic devices employing contact sensors
US10042422B2 (en) 2013-11-12 2018-08-07 Thalmic Labs Inc. Systems, articles, and methods for capacitive electromyography sensors
WO2015081113A1 (en) 2013-11-27 2015-06-04 Cezar Morun Systems, articles, and methods for electromyography sensors
US9766702B2 (en) 2014-06-19 2017-09-19 Apple Inc. User detection by a computing device
US9338493B2 (en) 2014-06-30 2016-05-10 Apple Inc. Intelligent automated assistant for TV user interactions
US10768704B2 (en) 2015-03-17 2020-09-08 Whirlwind VR, Inc. System and method for modulating a peripheral device based on an unscripted feed using computer vision
US10460227B2 (en) 2015-05-15 2019-10-29 Apple Inc. Virtual assistant in a communication session
US10747498B2 (en) 2015-09-08 2020-08-18 Apple Inc. Zero latency digital assistant
JP6684559B2 (ja) * 2015-09-16 2020-04-22 株式会社バンダイナムコエンターテインメント プログラムおよび画像生成装置
US11106273B2 (en) 2015-10-30 2021-08-31 Ostendo Technologies, Inc. System and methods for on-body gestural interfaces and projection displays
US10691473B2 (en) 2015-11-06 2020-06-23 Apple Inc. Intelligent automated assistant in a messaging environment
US10591988B2 (en) * 2016-06-28 2020-03-17 Hiscene Information Technology Co., Ltd Method for displaying user interface of head-mounted display device
EP3487395A4 (en) 2016-07-25 2020-03-04 CTRL-Labs Corporation METHODS AND APPARATUS FOR PREDICTING MUSCULOSKELETAL POSITION INFORMATION USING PORTABLE SELF-CONTAINED SENSORS
US11216069B2 (en) 2018-05-08 2022-01-04 Facebook Technologies, Llc Systems and methods for improved speech recognition using neuromuscular information
WO2018022657A1 (en) 2016-07-25 2018-02-01 Ctrl-Labs Corporation System and method for measuring the movements of articulated rigid bodies
US10409371B2 (en) 2016-07-25 2019-09-10 Ctrl-Labs Corporation Methods and apparatus for inferring user intent based on neuromuscular signals
JP6440910B2 (ja) * 2016-07-29 2018-12-19 三菱電機株式会社 表示装置、表示制御装置および表示制御方法
US11099716B2 (en) 2016-12-23 2021-08-24 Realwear, Inc. Context based content navigation for wearable display
US10620910B2 (en) 2016-12-23 2020-04-14 Realwear, Inc. Hands-free navigation of touch-based operating systems
US11507216B2 (en) * 2016-12-23 2022-11-22 Realwear, Inc. Customizing user interfaces of binary applications
DK201770427A1 (en) 2017-05-12 2018-12-20 Apple Inc. LOW-LATENCY INTELLIGENT AUTOMATED ASSISTANT
DK179496B1 (en) 2017-05-12 2019-01-15 Apple Inc. USER-SPECIFIC Acoustic Models
US10303715B2 (en) 2017-05-16 2019-05-28 Apple Inc. Intelligent automated assistant for media exploration
WO2019077897A1 (ja) * 2017-10-17 2019-04-25 ソニー株式会社 情報処理装置、情報処理方法、およびプログラム
CN112040858B (zh) 2017-10-19 2024-06-07 元平台技术有限公司 用于识别与神经肌肉源信号相关的生物结构的***和方法
CN107977586B (zh) * 2017-12-22 2021-04-13 联想(北京)有限公司 显示内容处理方法、第一电子设备以及第二电子设备
US11493993B2 (en) 2019-09-04 2022-11-08 Meta Platforms Technologies, Llc Systems, methods, and interfaces for performing inputs based on neuromuscular control
US11961494B1 (en) 2019-03-29 2024-04-16 Meta Platforms Technologies, Llc Electromagnetic interference reduction in extended reality environments
US11150730B1 (en) 2019-04-30 2021-10-19 Facebook Technologies, Llc Devices, systems, and methods for controlling computing devices via neuromuscular signals of users
US11907423B2 (en) * 2019-11-25 2024-02-20 Meta Platforms Technologies, Llc Systems and methods for contextualized interactions with an environment
US11481030B2 (en) 2019-03-29 2022-10-25 Meta Platforms Technologies, Llc Methods and apparatus for gesture detection and classification
US11567573B2 (en) 2018-09-20 2023-01-31 Meta Platforms Technologies, Llc Neuromuscular text entry, writing and drawing in augmented reality systems
US10937414B2 (en) 2018-05-08 2021-03-02 Facebook Technologies, Llc Systems and methods for text input using neuromuscular information
WO2019147956A1 (en) 2018-01-25 2019-08-01 Ctrl-Labs Corporation Visualization of reconstructed handstate information
US10928918B2 (en) 2018-05-07 2021-02-23 Apple Inc. Raise to speak
US10592001B2 (en) 2018-05-08 2020-03-17 Facebook Technologies, Llc Systems and methods for improved speech recognition using neuromuscular information
US10861242B2 (en) 2018-05-22 2020-12-08 Magic Leap, Inc. Transmodal input fusion for a wearable system
CN112261907A (zh) 2018-05-29 2021-01-22 脸谱科技有限责任公司 表面肌电信号测量中降噪的屏蔽技术及相关***和方法
WO2019241701A1 (en) 2018-06-14 2019-12-19 Ctrl-Labs Corporation User identification and authentication with neuromuscular signatures
US10976999B1 (en) 2018-06-15 2021-04-13 Chosen Realities, LLC Mixed reality sensor suite and interface for physical region enhancement
US11169601B2 (en) * 2018-07-12 2021-11-09 Toyota Research Institute, Inc. Methods and systems for determining teleoperating user intent via eye tracking
US11045137B2 (en) 2018-07-19 2021-06-29 Facebook Technologies, Llc Methods and apparatus for improved signal robustness for a wearable neuromuscular recording device
EP3836836B1 (en) 2018-08-13 2024-03-20 Meta Platforms Technologies, LLC Real-time spike detection and identification
WO2020047429A1 (en) 2018-08-31 2020-03-05 Ctrl-Labs Corporation Camera-guided interpretation of neuromuscular signals
JP2020047062A (ja) * 2018-09-20 2020-03-26 Dynabook株式会社 電子機器および制御方法
EP3857342A4 (en) * 2018-09-26 2021-12-01 Facebook Technologies, LLC. NEUROMUSCULAR CONTROL OF PHYSICAL OBJECTS IN AN ENVIRONMENT
US11462215B2 (en) 2018-09-28 2022-10-04 Apple Inc. Multi-modal inputs for voice commands
CN112822992A (zh) 2018-10-05 2021-05-18 脸谱科技有限责任公司 在增强现实环境中使用神经肌肉信号来提供与物理对象的增强交互
USD916723S1 (en) * 2018-10-05 2021-04-20 Google Llc Display screen with animated graphical user interface
US11351671B2 (en) * 2018-10-29 2022-06-07 Toyota Research Institute, Inc. Intent based control of a robotic device
CN113423341A (zh) 2018-11-27 2021-09-21 脸谱科技有限责任公司 用于可穿戴电极传感器***的自动校准的方法和装置
US11442549B1 (en) * 2019-02-07 2022-09-13 Apple Inc. Placement of 3D effects based on 2D paintings
US11059582B2 (en) 2019-02-11 2021-07-13 Cnh Industrial Canada, Ltd. Systems for acquiring field condition data
US11001380B2 (en) * 2019-02-11 2021-05-11 Cnh Industrial Canada, Ltd. Methods for acquiring field condition data
US20200387220A1 (en) * 2019-02-18 2020-12-10 Tobii Ab Combined gaze-based and scanning-based control of an apparatus
US11507019B2 (en) * 2019-02-23 2022-11-22 Microsoft Technology Licensing, Llc Displaying holograms via hand location
US10905383B2 (en) 2019-02-28 2021-02-02 Facebook Technologies, Llc Methods and apparatus for unsupervised one-shot machine learning for classification of human gestures and estimation of applied forces
CA3131915A1 (en) * 2019-03-01 2020-09-10 Scorched Ice Inc. Systems and methods for recreating or augmenting real-time events using sensor-based virtual reality, augmented reality, or extended reality
CN111752425B (zh) * 2019-03-27 2022-02-15 北京外号信息技术有限公司 用于选择在设备的显示媒介上的交互对象的方法
CN110347305A (zh) * 2019-05-30 2019-10-18 华为技术有限公司 一种vr多屏显示方法及电子设备
US11227599B2 (en) 2019-06-01 2022-01-18 Apple Inc. Methods and user interfaces for voice-based control of electronic devices
US10825163B1 (en) * 2019-06-13 2020-11-03 Viavi Solutions Inc. Automatically executing a test to inspect an end face of an optical fiber when an image is in focus
JP2021005157A (ja) * 2019-06-25 2021-01-14 株式会社ソニー・インタラクティブエンタテインメント 画像処理装置および画像処理方法
JP7392105B2 (ja) * 2019-07-28 2023-12-05 グーグル エルエルシー 没入型ビデオコンテンツをフォービエイテッドメッシュを用いてレンダリングするための方法、システム、および媒体
KR102570009B1 (ko) * 2019-07-31 2023-08-23 삼성전자주식회사 Ar 객체 생성 방법 및 전자 장치
US11042259B2 (en) * 2019-08-18 2021-06-22 International Business Machines Corporation Visual hierarchy design governed user interface modification via augmented reality
US10943388B1 (en) * 2019-09-06 2021-03-09 Zspace, Inc. Intelligent stylus beam and assisted probabilistic input to element mapping in 2D and 3D graphical user interfaces
US11275443B1 (en) * 2019-09-23 2022-03-15 Facebook Technologies, Llc Variable-resistance actuator
CN110908504B (zh) * 2019-10-10 2021-03-23 浙江大学 一种增强现实博物馆协作交互方法与***
US11054923B2 (en) * 2019-10-11 2021-07-06 Finch Technologies Ltd. Automatic switching between different modes of tracking user motions to control computer applications
US11315326B2 (en) * 2019-10-15 2022-04-26 At&T Intellectual Property I, L.P. Extended reality anchor caching based on viewport prediction
US11289086B2 (en) * 2019-11-01 2022-03-29 Microsoft Technology Licensing, Llc Selective response rendering for virtual assistants
US20210157394A1 (en) 2019-11-24 2021-05-27 XRSpace CO., LTD. Motion tracking system and method
CN112904997B (zh) * 2019-12-04 2023-05-26 Oppo广东移动通信有限公司 设备控制方法及相关产品
US11308698B2 (en) * 2019-12-05 2022-04-19 Facebook Technologies, Llc. Using deep learning to determine gaze
CN111103976B (zh) * 2019-12-05 2023-05-02 深圳职业技术学院 手势识别方法、装置及电子设备
US11175730B2 (en) * 2019-12-06 2021-11-16 Facebook Technologies, Llc Posture-based virtual space configurations
US11816757B1 (en) * 2019-12-11 2023-11-14 Meta Platforms Technologies, Llc Device-side capture of data representative of an artificial reality environment
CN113124852B (zh) * 2019-12-31 2023-07-25 北京凌宇智控科技有限公司 一种多传感器融合定位***及定位方法
US11687778B2 (en) 2020-01-06 2023-06-27 The Research Foundation For The State University Of New York Fakecatcher: detection of synthetic portrait videos using biological signals
CN115443445A (zh) 2020-02-26 2022-12-06 奇跃公司 用于可穿戴***的手部手势输入
US11455078B1 (en) 2020-03-31 2022-09-27 Snap Inc. Spatial navigation and creation interface
US20210373649A1 (en) * 2020-04-01 2021-12-02 Rajesh Dayal Moorjani Attaching Extended Reality (XR) Content To Physical Points Of Interest
WO2022170223A1 (en) * 2021-02-08 2022-08-11 Multinarity Ltd User interactions in extended reality
US11481965B2 (en) * 2020-04-10 2022-10-25 Samsung Electronics Co., Ltd. Electronic device for communicating in augmented reality and method thereof
US11061543B1 (en) 2020-05-11 2021-07-13 Apple Inc. Providing relevant data items based on context
US20210365104A1 (en) * 2020-05-22 2021-11-25 XRSpace CO., LTD. Virtual object operating method and virtual object operating system
US11257280B1 (en) 2020-05-28 2022-02-22 Facebook Technologies, Llc Element-based switching of ray casting rules
US11436804B2 (en) * 2020-06-10 2022-09-06 Arm Limited Augmented reality system
DE112021003415T5 (de) 2020-06-26 2023-07-27 Apple Inc. Vorrichtungen, verfahren und grafische benutzerschnittstellen für inhaltsanwendungen
US11995774B2 (en) * 2020-06-29 2024-05-28 Snap Inc. Augmented reality experiences using speech and text captions
US11256336B2 (en) 2020-06-29 2022-02-22 Facebook Technologies, Llc Integration of artificial reality interaction modes
US11582409B2 (en) * 2020-06-29 2023-02-14 Snap Inc. Visual-inertial tracking using rolling shutter cameras
US11490204B2 (en) 2020-07-20 2022-11-01 Apple Inc. Multi-device audio adjustment coordination
US11438683B2 (en) 2020-07-21 2022-09-06 Apple Inc. User identification using headphones
US11320896B2 (en) * 2020-08-03 2022-05-03 Facebook Technologies, Llc. Systems and methods for object tracking using fused data
US11249314B1 (en) * 2020-08-04 2022-02-15 Htc Corporation Method for switching input devices, head-mounted display and computer readable storage medium
EP3958095A1 (en) * 2020-08-21 2022-02-23 Deutsche Telekom AG A mobile computer-tethered virtual reality/augmented reality system using the mobile computer as a man machine interface
US11694413B2 (en) * 2020-08-25 2023-07-04 Spatial Systems Inc. Image editing and sharing in an augmented reality system
US11178376B1 (en) 2020-09-04 2021-11-16 Facebook Technologies, Llc Metering for display modes in artificial reality
US11228750B1 (en) 2020-09-08 2022-01-18 Rovi Guides, Inc. Systems and methods for generating virtual reality scenes
CN116438507A (zh) * 2020-09-11 2023-07-14 苹果公司 显示可选择选项的方法
WO2022066472A1 (en) 2020-09-23 2022-03-31 Sterling Labs Llc Targeted drop of a computer-generated object
WO2022066395A1 (en) * 2020-09-23 2022-03-31 Sterling Labs Llc Arranging virtual objects
CN116490250A (zh) * 2020-09-25 2023-07-25 苹果公司 环境的非对称呈现
JP2023543799A (ja) * 2020-09-25 2023-10-18 アップル インコーポレイテッド ユーザインタフェースをナビゲートする方法
US10989783B1 (en) * 2020-10-26 2021-04-27 Listen Technologies Corporation False positive immunity in beacon systems, and related systems, methods, and devices
US11775148B2 (en) * 2020-11-06 2023-10-03 Motional Ad Llc Augmented reality enabled autonomous vehicle command center
US11587055B1 (en) * 2020-12-02 2023-02-21 Wells Fargo Bank, N.A. Systems and methods for generating a user expression map configured to enable contactless human to device interactions
US11803831B1 (en) * 2020-12-02 2023-10-31 Wells Fargo Bank, N.A. Systems and methods for utilizing a user expression map configured to enable contactless human to device interactions
US11416079B2 (en) * 2020-12-03 2022-08-16 Motorola Mobility Llc Snap motion gesture detection and response
EP4016252A1 (en) * 2020-12-17 2022-06-22 XRSpace CO., LTD. System and method related to motion tracking
EP4016253A1 (en) * 2020-12-17 2022-06-22 XRSpace CO., LTD. System and method related to data fusing
WO2022159214A2 (en) * 2020-12-17 2022-07-28 Trustees Of Tufts College Fusion-based sensing intelligence and reporting
CN112631424A (zh) * 2020-12-18 2021-04-09 上海影创信息科技有限公司 手势优先级控制方法和***及其vr眼镜
US11797162B2 (en) 2020-12-22 2023-10-24 Snap Inc. 3D painting on an eyewear device
US11782577B2 (en) 2020-12-22 2023-10-10 Snap Inc. Media content player on an eyewear device
CN116685940A (zh) * 2020-12-22 2023-09-01 苹果公司 用于启动和替换应用程序的***和方法
US11687165B2 (en) 2020-12-30 2023-06-27 Meta Platforms Technologies, Llc Stabilizing gestures in artificial reality environments
US12008152B1 (en) * 2020-12-31 2024-06-11 Snap Inc. Distance determination for mixed reality interaction
WO2022159803A1 (en) 2021-01-22 2022-07-28 Dtis, Llc Visual data management system and method
KR20230144042A (ko) 2021-02-08 2023-10-13 사이트풀 컴퓨터스 리미티드 생산성을 위한 확장 현실
JP2024509722A (ja) 2021-02-08 2024-03-05 サイトフル コンピューターズ リミテッド エクステンデッドリアリティにおけるユーザ相互作用
US11294475B1 (en) 2021-02-08 2022-04-05 Facebook Technologies, Llc Artificial reality multi-modal input switching model
JP2024507749A (ja) 2021-02-08 2024-02-21 サイトフル コンピューターズ リミテッド エクステンデッドリアリティにおけるコンテンツ共有
CN117043709A (zh) * 2021-02-08 2023-11-10 视域电脑有限公司 用于生产力的扩展现实
US20220253146A1 (en) * 2021-02-09 2022-08-11 Finch Technologies Ltd. Combine Inputs from Different Devices to Control a Computing Device
US11995230B2 (en) 2021-02-11 2024-05-28 Apple Inc. Methods for presenting and sharing content in an environment
WO2022204657A1 (en) * 2021-03-22 2022-09-29 Apple Inc. Methods for manipulating objects in an environment
CN117178245A (zh) * 2021-04-01 2023-12-05 苹果公司 凝视和头部姿态交互
US11868531B1 (en) 2021-04-08 2024-01-09 Meta Platforms Technologies, Llc Wearable device providing for thumb-to-finger-based input gestures detected based on neuromuscular signals, and systems and methods of use thereof
CN113181619A (zh) * 2021-04-09 2021-07-30 青岛小鸟看看科技有限公司 一种运动训练方法、装置和***
EP4280599A4 (en) * 2021-04-09 2024-07-17 Samsung Electronics Co Ltd PORTABLE ELECTRONIC DEVICE WITH MULTIPLE CAMERAS
CN113205074B (zh) * 2021-05-29 2022-04-26 浙江大学 一种融合肌电和微惯性测量单元多模态信号的手势识别方法
KR20240025593A (ko) * 2021-07-05 2024-02-27 애플 인크. 객체에 대한 동작 양식을 동적으로 선택하기 위한 방법 및 디바이스
WO2023009580A2 (en) 2021-07-28 2023-02-02 Multinarity Ltd Using an extended reality appliance for productivity
US20230041814A1 (en) * 2021-08-06 2023-02-09 Lenovo (Singapore) Pte. Ltd. System and method for demonstrating objects at remote locations
CN113419636B (zh) * 2021-08-23 2021-11-30 北京航空航天大学 虚拟维修中手势识别方法及工具自动匹配方法
WO2023026700A1 (ja) * 2021-08-26 2023-03-02 株式会社Nttドコモ 表示制御装置
CN113822174B (zh) * 2021-09-02 2022-12-16 合肥的卢深视科技有限公司 视线估计的方法、电子设备及存储介质
CN115809672A (zh) * 2021-09-14 2023-03-17 北京小米移动软件有限公司 翻译方法、装置、ar眼镜、存储介质及计算机程序产品
EP4402559A1 (en) * 2021-09-15 2024-07-24 Neural Lab, Inc. Touchless image-based input interface
US20230081605A1 (en) * 2021-09-16 2023-03-16 Apple Inc. Digital assistant for moving and copying graphical elements
CN113918015B (zh) * 2021-10-08 2024-04-19 三星电子(中国)研发中心 一种增强现实的交互方法和装置
US11992756B2 (en) * 2021-10-26 2024-05-28 Sony Interactive Entertainment LLC Personalized VR controls and communications
CN113743544A (zh) * 2021-11-05 2021-12-03 中科智为科技(天津)有限公司 一种跨模态神经网络构建方法、行人检索方法及***
AU2022382110A1 (en) * 2021-11-08 2024-05-23 Tobii Dynavox Ab Methods of input and interaction with an augmentative and alternative communications (aac) device
WO2023091525A1 (en) * 2021-11-19 2023-05-25 Apple Inc. Intention-based user interface control for electronic devices
US20230162531A1 (en) * 2021-11-22 2023-05-25 Microsoft Technology Licensing, Llc Interpretation of resonant sensor data using machine learning
US20230168736A1 (en) * 2021-11-29 2023-06-01 Sony Interactive Entertainment LLC Input prediction for pre-loading of rendering data
US20230176658A1 (en) * 2021-12-02 2023-06-08 SoftEye, Inc. Systems, apparatus, and methods for gesture-based augmented reality, extended reality
US11989343B2 (en) * 2022-01-05 2024-05-21 Nokia Technologies Oy Pose validity for XR based services
WO2023141535A1 (en) * 2022-01-19 2023-07-27 Apple Inc. Methods for displaying and repositioning objects in an environment
US20230334795A1 (en) 2022-01-25 2023-10-19 Multinarity Ltd Dual mode presentation of user interface elements
US11948263B1 (en) 2023-03-14 2024-04-02 Sightful Computers Ltd Recording the complete physical and extended reality environments of a user
EP4220356A1 (en) * 2022-01-27 2023-08-02 Volkswagen Ag Vehicle, apparatus, method and computer program for obtaining user input information
TW202336689A (zh) * 2022-03-11 2023-09-16 緯創資通股份有限公司 虛擬視窗配置裝置、虛擬視窗配置方法及虛擬視窗配置系統
WO2023192047A1 (en) * 2022-03-29 2023-10-05 Apple Inc. Energy efficient context relevant processing for content
US11620000B1 (en) * 2022-03-31 2023-04-04 Microsoft Technology Licensing, Llc Controlled invocation of a precision input mode
WO2023196671A1 (en) * 2022-04-08 2023-10-12 Meta Platforms Technologies, Llc Techniques for neuromuscular-signal-based detection of in-air hand gestures for text production and modification, and systems, wearable devices, and methods for using these techniques
US20230324986A1 (en) * 2022-04-08 2023-10-12 Meta Platforms Technologies, Llc Artificial Reality Input Using Multiple Modalities
US20230377223A1 (en) * 2022-05-18 2023-11-23 Snap Inc. Hand-tracked text selection and modification
FR3136081A1 (fr) * 2022-05-31 2023-12-01 Orange Lecteur augmenté et procédé de lecture augmentée de textes
US20230396752A1 (en) * 2022-06-03 2023-12-07 Apple Inc. Electronic Device that Displays Virtual Objects
DE102022118795A1 (de) 2022-07-27 2024-02-01 Bayerische Motoren Werke Aktiengesellschaft Verfahren zur Erkennung der Blickrichtung eines Benutzers einer Datenbrille zur Ausführung in einem Fahrzeug
WO2024059319A1 (en) * 2022-09-16 2024-03-21 Apple Inc. Gesture recognition with hand-object interaction
US20240231580A9 (en) * 2022-10-25 2024-07-11 Robert Bosch Gmbh System and method for multi modal input and editing on a human machine interface
US12026366B2 (en) 2022-10-25 2024-07-02 Robert Bosch Gmbh System and method for coarse and fine selection keyboard user interfaces
CN116225209A (zh) * 2022-11-03 2023-06-06 溥畅(杭州)智能科技有限公司 一种基于眼动追踪的人机交互方法及***
US20240163123A1 (en) * 2022-11-14 2024-05-16 Zoom Video Communications, Inc. Sign language control for a virtual meeting
GB2624916A (en) * 2022-11-30 2024-06-05 Sony Interactive Entertainment Inc Dynamic user input system and method
US11983329B1 (en) 2022-12-05 2024-05-14 Meta Platforms, Inc. Detecting head gestures using inertial measurement unit signals
CN116975318B (zh) * 2023-08-03 2024-01-23 四川大学 一种基于互关联挖掘的半配对图文检索方法

Family Cites Families (67)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6222525B1 (en) 1992-03-05 2001-04-24 Brad A. Armstrong Image controllers with sheet connected sensors
US5670988A (en) 1995-09-05 1997-09-23 Interlink Electronics, Inc. Trigger operated electronic device
IL127314A0 (en) * 1998-11-27 1999-09-22 Algotec Systems Ltd A method for forming a perspective rendering from a voxel space
US8696113B2 (en) 2005-10-07 2014-04-15 Percept Technologies Inc. Enhanced optical and perceptual digital eyewear
US20070081123A1 (en) 2005-10-07 2007-04-12 Lewis Scott W Digital eyewear
US11428937B2 (en) 2005-10-07 2022-08-30 Percept Technologies Enhanced optical and perceptual digital eyewear
US7889244B2 (en) * 2005-12-27 2011-02-15 Panasonic Corporation Image processing apparatus
US9600767B1 (en) * 2006-10-06 2017-03-21 Hrl Laboratories, Llc System, method, and computer program product for generating a single software code based on a description of a distributed architecture
JP2009258884A (ja) 2008-04-15 2009-11-05 Toyota Central R&D Labs Inc ユーザインタフェイス
US9104312B2 (en) 2010-03-12 2015-08-11 Nuance Communications, Inc. Multimodal text input system, such as for use with touch screens on mobile phones
US9292973B2 (en) 2010-11-08 2016-03-22 Microsoft Technology Licensing, Llc Automatic variable virtual focus for augmented reality displays
US9304319B2 (en) 2010-11-18 2016-04-05 Microsoft Technology Licensing, Llc Automatic focus improvement for augmented reality displays
US10156722B2 (en) 2010-12-24 2018-12-18 Magic Leap, Inc. Methods and systems for displaying stereoscopy with a freeform optical system with addressable focus for virtual and augmented reality
US9348143B2 (en) 2010-12-24 2016-05-24 Magic Leap, Inc. Ergonomic head mounted display device and optical system
US9785242B2 (en) 2011-03-12 2017-10-10 Uday Parshionikar Multipurpose controllers and methods
CN103493106B (zh) 2011-03-29 2017-11-07 高通股份有限公司 使用骨骼跟踪来选择性地将手遮蔽在物理表面上的虚拟投影之上的方法和装置
EP3462286A1 (en) 2011-05-06 2019-04-03 Magic Leap, Inc. Massive simultaneous remote digital presence world
EP2760363A4 (en) 2011-09-29 2015-06-24 Magic Leap Inc TACTILE GLOVE FOR HUMAN COMPUTER INTERACTION
US20130104085A1 (en) 2011-10-21 2013-04-25 Digital Artforms, Inc. Systems and methods for human-computer interaction using a two handed interface
US9215293B2 (en) 2011-10-28 2015-12-15 Magic Leap, Inc. System and method for augmented and virtual reality
US9851563B2 (en) 2012-04-05 2017-12-26 Magic Leap, Inc. Wide-field of view (FOV) imaging devices with active foveation capability
CN107817556B (zh) 2012-06-11 2020-01-31 奇跃公司 使用波导反射器阵列投射器的多深度平面三维显示器
US9671566B2 (en) 2012-06-11 2017-06-06 Magic Leap, Inc. Planar waveguide apparatus with diffraction element(s) and system employing same
EP2895910A4 (en) 2012-09-11 2016-04-20 Magic Leap Inc ERGONOMIC HEAD-MOUNTED DISPLAY DEVICE AND OPTICAL SYSTEM
US9589280B2 (en) * 2013-07-17 2017-03-07 PlaceIQ, Inc. Matching anonymized user identifiers across differently anonymized data sets
CN105122105B (zh) 2013-01-15 2018-06-15 奇跃公司 超高分辨率扫描光纤显示器
WO2014164901A1 (en) 2013-03-11 2014-10-09 Magic Leap, Inc. System and method for augmented and virtual reality
CN108628446B (zh) 2013-03-15 2021-10-26 奇跃公司 显示***和方法
US10262462B2 (en) 2014-04-18 2019-04-16 Magic Leap, Inc. Systems and methods for augmented and virtual reality
US9874749B2 (en) 2013-11-27 2018-01-23 Magic Leap, Inc. Virtual and augmented reality systems and methods
EP2843507A1 (en) 2013-08-26 2015-03-04 Thomson Licensing Display method through a head mounted device
JP6316559B2 (ja) * 2013-09-11 2018-04-25 クラリオン株式会社 情報処理装置、ジェスチャー検出方法、およびジェスチャー検出プログラム
WO2015057994A1 (en) 2013-10-16 2015-04-23 Kaji Masamune Virtual or augmented reality headsets having adjustable interpupillary distance
US9857591B2 (en) 2014-05-30 2018-01-02 Magic Leap, Inc. Methods and system for creating focal planes in virtual and augmented reality
NZ755272A (en) 2013-11-27 2020-05-29 Magic Leap Inc Virtual and augmented reality systems and methods
US9442631B1 (en) 2014-01-27 2016-09-13 Google Inc. Methods and systems for hands-free browsing in a wearable computing device
NZ722903A (en) 2014-01-31 2020-05-29 Magic Leap Inc Multi-focal display system and method
JP6509883B2 (ja) 2014-01-31 2019-05-08 マジック リープ, インコーポレイテッドMagic Leap,Inc. 多焦点表示システムおよび方法
US10203762B2 (en) 2014-03-11 2019-02-12 Magic Leap, Inc. Methods and systems for creating virtual and augmented reality
EP3140779A4 (en) 2014-05-09 2017-11-29 Google LLC Systems and methods for using eye signals with secure mobile communications
NZ727350A (en) 2014-05-30 2020-08-28 Magic Leap Inc Methods and systems for generating virtual content display with a virtual or augmented reality apparatus
WO2016021034A1 (ja) * 2014-08-07 2016-02-11 株式会社Fove 3次元上の注視点の位置特定アルゴリズム
KR102310994B1 (ko) 2014-11-25 2021-10-08 삼성전자주식회사 3차원 상호작용 컴퓨팅 장치 및 방법
EP3289430B1 (en) * 2015-04-27 2019-10-23 Snap-Aid Patents Ltd. Estimating and using relative head pose and camera field-of-view
US10761599B2 (en) * 2015-08-04 2020-09-01 Artilux, Inc. Eye gesture tracking
US10101803B2 (en) 2015-08-26 2018-10-16 Google Llc Dynamic switching and merging of head, gesture and touch input in virtual reality
EP4254145A3 (en) 2015-09-16 2023-11-01 Magic Leap, Inc. Head pose mixing of audio files
WO2017070121A1 (en) 2015-10-20 2017-04-27 Magic Leap, Inc. Selecting virtual objects in a three-dimensional space
JP6798106B2 (ja) * 2015-12-28 2020-12-09 ソニー株式会社 情報処理装置、情報処理方法、およびプログラム
US10607081B2 (en) 2016-01-06 2020-03-31 Orcam Technologies Ltd. Collaboration facilitator for wearable devices
JP2017129898A (ja) 2016-01-18 2017-07-27 ソニー株式会社 情報処理装置、情報処理方法、およびプログラム
US10373381B2 (en) 2016-03-30 2019-08-06 Microsoft Technology Licensing, Llc Virtual object manipulation within physical environment
IL289973B2 (en) 2016-03-31 2023-11-01 Magic Leap Inc Interactions with 3D virtual objects using pose controllers and multiple degrees of freedom
WO2018022657A1 (en) 2016-07-25 2018-02-01 Ctrl-Labs Corporation System and method for measuring the movements of articulated rigid bodies
WO2018022658A1 (en) 2016-07-25 2018-02-01 Ctrl-Labs Corporation Adaptive system for deriving control signals from measurements of neuromuscular activity
EP3487395A4 (en) 2016-07-25 2020-03-04 CTRL-Labs Corporation METHODS AND APPARATUS FOR PREDICTING MUSCULOSKELETAL POSITION INFORMATION USING PORTABLE SELF-CONTAINED SENSORS
US10409371B2 (en) 2016-07-25 2019-09-10 Ctrl-Labs Corporation Methods and apparatus for inferring user intent based on neuromuscular signals
EP4235366A3 (en) 2016-07-25 2023-11-01 Magic Leap, Inc. Light field processor system and method
US10345925B2 (en) 2016-08-03 2019-07-09 Google Llc Methods and systems for determining positional data for three-dimensional interactions inside virtual reality environments
IL303843B2 (en) 2016-08-11 2024-06-01 Magic Leap Inc Automatic positioning of a virtual object in three-dimensional space
US20180052512A1 (en) * 2016-08-16 2018-02-22 Thomas J. Overly Behavioral rehearsal system and supporting software
US20180082482A1 (en) * 2016-09-22 2018-03-22 Apple Inc. Display system having world and user sensors
US10489651B2 (en) * 2017-04-14 2019-11-26 Microsoft Technology Licensing, Llc Identifying a position of a marker in an environment
EP3612878B1 (en) 2017-04-19 2023-06-28 Magic Leap, Inc. Multimodal task execution and text editing for a wearable system
CN112040858B (zh) 2017-10-19 2024-06-07 元平台技术有限公司 用于识别与神经肌肉源信号相关的生物结构的***和方法
US10706300B2 (en) * 2018-01-23 2020-07-07 Toyota Research Institute, Inc. Vehicle systems and methods for determining a target based on a virtual eye position and a pointing direction
US10861242B2 (en) 2018-05-22 2020-12-08 Magic Leap, Inc. Transmodal input fusion for a wearable system

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114373064A (zh) * 2021-12-14 2022-04-19 聚好看科技股份有限公司 一种vrar内容编辑方法、装置、设备及介质
CN114461063A (zh) * 2022-01-18 2022-05-10 深圳时空科技集团有限公司 一种基于车载屏幕的人机交互方法
TWI822496B (zh) * 2022-02-18 2023-11-11 宏達國際電子股份有限公司 用於判定物件 的物理特性的方法、主機及電腦可讀儲存媒體
CN115237255A (zh) * 2022-07-29 2022-10-25 天津大学 一种基于眼动和语音的自然图像共指目标定位***及方法
CN115237255B (zh) * 2022-07-29 2023-10-31 天津大学 一种基于眼动和语音的自然图像共指目标定位***及方法
WO2024036982A1 (zh) * 2022-08-19 2024-02-22 南京邮电大学 基于多模态融合的三维建模***及建模方法
CN115951787A (zh) * 2023-03-15 2023-04-11 北京亮亮视野科技有限公司 近眼显示设备的交互方法、存储介质及近眼显示设备
CN115951787B (zh) * 2023-03-15 2023-07-25 北京亮亮视野科技有限公司 近眼显示设备的交互方法、存储介质及近眼显示设备
CN117348737A (zh) * 2023-12-06 2024-01-05 之江实验室 一种基于多通道交互的数据处理***及方法
CN117406867A (zh) * 2023-12-15 2024-01-16 小芒电子商务有限责任公司 一种基于网页的增强现实交互方法及装置
CN117406867B (zh) * 2023-12-15 2024-02-09 小芒电子商务有限责任公司 一种基于网页的增强现实交互方法及装置

Also Published As

Publication number Publication date
JP2021524629A (ja) 2021-09-13
US20210056764A1 (en) 2021-02-25
US10861242B2 (en) 2020-12-08
JP7504180B2 (ja) 2024-06-21
JP2023001328A (ja) 2023-01-04
JP7341166B2 (ja) 2023-09-08
US20190362557A1 (en) 2019-11-28
EP3797345A4 (en) 2022-03-09
EP3797345A1 (en) 2021-03-31
US11983823B2 (en) 2024-05-14
WO2019226691A1 (en) 2019-11-28

Similar Documents

Publication Publication Date Title
JP7504180B2 (ja) ウェアラブルシステムのためのトランスモード入力融合
CN110785688B (zh) 可穿戴***的多模式任务执行和文本编辑
US11340694B2 (en) Visual aura around field of view
US12020381B2 (en) Object interactivity in virtual space
US20240257480A1 (en) Transmodal input fusion for a wearable system

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