CN114127610A - 用于估计眼睛姿势的系统和技术 - Google Patents

用于估计眼睛姿势的系统和技术 Download PDF

Info

Publication number
CN114127610A
CN114127610A CN202080052077.7A CN202080052077A CN114127610A CN 114127610 A CN114127610 A CN 114127610A CN 202080052077 A CN202080052077 A CN 202080052077A CN 114127610 A CN114127610 A CN 114127610A
Authority
CN
China
Prior art keywords
user
eye
image
hot spot
locations
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
CN202080052077.7A
Other languages
English (en)
Inventor
D·法默
D·科恩
B·V·斯图尔特
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 CN114127610A publication Critical patent/CN114127610A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/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/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
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/77Determining position or orientation of objects or cameras using statistical methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10141Special mode during image acquisition
    • G06T2207/10152Varying illumination
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30004Biomedical image processing
    • G06T2207/30041Eye; Retina; Ophthalmic
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30196Human being; Person
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30196Human being; Person
    • G06T2207/30201Face

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Probability & Statistics with Applications (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • User Interface Of Digital Computer (AREA)
  • Eye Examination Apparatus (AREA)
  • Image Analysis (AREA)

Abstract

眼睛跟踪系统可以包括眼睛跟踪相机,该眼睛跟踪相机被配置为以不同的曝光时间或不同的帧速率获取眼睛的图像。例如,以较长曝光时间拍摄的眼睛的较长曝光图像可以显示虹膜或瞳孔特征,而较短曝光亮斑图像可以显示从角膜反射的亮斑的峰值。为了实现准确的注视预测,可以以较高的帧速率(比较长曝光图像高的帧速率)拍摄较短曝光亮斑图像。可以分析较短曝光亮斑图像以提供达到子像素精度的亮斑位置。可以针对瞳孔中心和旋转中心分析较长曝光图像。眼睛跟踪系统可以预测未来注视方向,该注视方向可用于可穿戴显示系统的注视点渲染。在一些实例中,眼睛跟踪系统可以估计部分或全部被遮挡的亮斑的位置。

Description

用于估计眼睛姿势的系统和技术
相关申请的交叉引用
本申请主张2019年5月20日提交的题为“用于估计眼睛姿势的系统和技术(SYSTEMS AND TECHNIQUES FOR ESTIMATING EYE POSE)”的美国专利申请No.62/850,539的优先权,该申请的全部内容在此通过引用并入。
本申请还通过引用合并以下每个专利申请和公开的全部内容:2016年5月19日提交的美国专利申请No.15/159,491,2016年11月24日作为美国专利申请公开No.2016/0344957公布;2017年9月27日提交的美国专利申请No.15/717,747,2018年4月5日作为美国专利申请公开No.2018/0096503公布;2017年11月3日提交的美国专利申请No.15/803,351,2018年5月10日作为美国专利申请公开No.2018/0131853公布;2017年12月13日提交的美国专利申请No.15/841,043,2018年6月28日作为美国专利申请公开No.2018/0183986公布;2018年3月19日提交的美国专利申请No.15/925,577,2018年9月27日作为美国专利申请公开No.2018/0278843公布;2018年4月19日提交的美国临时专利申请No.62/660,180;2018年12月13日提交的美国专利申请No.16/219,829,2019年6月13日作为美国专利公开No.2019/0181171公布;2018年12月13日提交的美国专利申请No.16/219,847,2019年6月13日作为美国专利申请公开No.2019/0181169公布;2019年1月17日提交的美国专利申请No.16/250,931,2019年8月8日作为美国专利申请公开No.2019/0243448公布;2019年1月17日提交的美国专利申请No.16/251,017,2019年7月18日作为美国专利申请公开No.2019/0222830公布;2019年1月25日提交的美国临时专利申请No.62/797,072;以及2020年1月23日提交的美国专利申请No.16/751,076。
技术领域
本公开涉及显示系统、虚拟现实和增强现实成像及可视化系统,更具体地说,涉及用于在这些系统中跟踪用户的眼睛的技术。
背景技术
现代计算和显示技术促进了用于所谓“虚拟现实”、“增强现实”或“混合现实”体验的系统的开发,其中数字再现的图像或其一部分以看起来真实或可以被感知为真实的方式呈现给用户。虚拟现实或“VR”场景通常涉及呈现数字或虚拟图像信息,而对其他实际的真实世界视觉输入不透明;增强现实或“AR”场景通常涉及呈现数字或虚拟图像信息作为对用户周围真实世界的可视化的增强;混合现实或“MR”涉及合并真实和虚拟世界以产生新的环境,其中物理对象和虚拟对象共存并且实时交互。事实证明,人类视觉感知系统极为复杂,产生促进在其他虚拟和真实世界影像元素当中舒适、自然、丰富地呈现虚拟图像元素的VR、AR或MR技术具有挑战性。本文公开的系统和方法解决了与VR、AR和MR技术相关的各种挑战。
发明内容
眼睛跟踪系统可以包括眼睛跟踪相机,该眼睛跟踪相机被配置为以不同的曝光时间或不同的帧速率获取眼睛的图像。例如,以较长曝光时间拍摄的眼睛图像可以显示虹膜或瞳孔特征,而以较短曝光时间拍摄的眼睛图像(有时称为亮斑图像)可以显示从角膜反射的亮斑峰值。较短曝光亮斑图像可以以比较长曝光图像更高的帧速率(HFR)拍摄以提供准确的注视预测。可以分析较短曝光亮斑图像以提供达到子像素精度的亮斑位置。可以针对瞳孔中心或旋转中心分析较长曝光图像。眼睛跟踪系统可以预测未来注视方向,该未来注视方向可用于可穿戴显示系统(例如AR、VR或MR可穿戴显示系统)的注视点渲染。
在各种实施例中,较长曝光图像的曝光时间可以在从200μs至1200μs的范围内,例如大约700μs。较长曝光图像可以以每秒10帧(fps)至60fps(例如30fps)、30fps至60fps或某个其他范围内的帧速率拍摄。较短曝光亮斑图像的曝光时间可以在从5μs至100μs的范围内,例如小于约40μs。较长曝光图像的曝光时间相对于亮斑图像的曝光时间的比率可以在从5至50、10至20的范围内或一些其他范围内。在各种实施例中,亮斑图像可以以从50fps至1000fps(例如,120fps)、200fps至400fps的范围内或一些其他范围的帧速率来拍摄。亮斑图像的帧速率相对于较长曝光图像的帧速率的比率可以在1至100、1至50、2至20、3至10或一些其他比率的范围内。
在一些实施例中,较短曝光图像由第一处理器(其可以设置在可穿戴显示系统的头戴式部件中或可穿戴显示系统的头戴式部件上)进行分析,并且较长曝光图像由第二处理器(其可以设置在诸如腰包之类的可穿戴显示系统的非头戴式部件中或可穿戴显示系统的非头戴式部件上)进行分析。在一些实施例中,第一处理器包括缓冲器,其中较短曝光图像的一部分被临时存储在该缓冲器中以确定一个或多个亮斑位置。
本说明书中描述的主题的一个或多个实施方式的细节在附图和以下描述中阐述。其他特征、方面和优点将根据描述、附图和权利要求而变得明显。本发明内容和以下详细描述均不旨在定义或限制本发明主题的范围。
附图说明
图1示出了人观看的具有某些虚拟现实对象和某些物理对象的混合现实场景的图示。
图2示意性地示出了可穿戴系统的示例。
图3示意性地示出了可穿戴系统的示例部件。
图4示意性地示出了用于向用户输出图像信息的可穿戴设备的波导堆叠的示例。
图5示意性地示出了眼睛的示例。
图5A示意性地示出了用于确定眼睛的眼睛姿势的示例坐标系。
图6是包括眼睛跟踪系统的可穿戴系统的示例的示意图,该眼睛跟踪系统可以实现本文描述的多重曝光时间眼睛跟踪技术的实施例。
图7是包括眼睛跟踪系统的可穿戴系统的示例的框图,该眼睛跟踪系统可以实现本文描述的多重曝光时间眼睛跟踪技术的实施例。
图8A是示出眼睛的角膜球、光轴和注视的眼睛横截面的示意图。光源照射眼睛,并且来自角膜的光源反射(亮斑)可以由用于眼睛跟踪的相机进行成像。
图8B是示出四个亮斑的示例的眼睛照片。
图9A、图9B和图9C示意性地示出了在眼睛的光轴或注视的测量中可能发生的误差类型的示例。
图10A示出了亮斑和使用较长曝光图像确定亮斑位置的示例。
图10B示出了较长曝光图像和较短曝光亮斑图像中的亮斑的示例。与通过较长曝光图像相比,通过亮斑图像可以更准确地确定亮斑位置。
图11示出了眼睛跟踪系统的组合操作模式的示例,在眼睛跟踪系统中,较长曝光图像以第一帧速率拍摄,并且较短曝光亮斑图像以第二帧速率拍摄,在一些实施例中,第二帧速率高于第一帧速率。
图12示意性地示出了如何使用可以以高帧速率捕获的短曝光亮斑图像在眼睛运动时提供稳健的亮斑检测和跟踪的示例。
图13A是示出眼睛角膜球的眼睛横截面的示意图。光源照射眼睛,光源从自角膜的反射(亮斑)可以由用于眼睛跟踪的相机进行成像。来自两个光源的反射产生的亮斑可用于准确模拟角膜建模中心。来自另一光源的反射产生的亮斑来自角膜的非球形部分,在模拟角膜中心时它的应用可能会导致误差。
图13B是示出存在眼睛部分遮挡的亮斑的示例的图像。
图14A和图14B是笛卡尔(x,y)坐标系中亮斑移动相对瞳孔移动的示例的图,其中,x轴是水平轴,y轴是垂直轴。
图15示意性地示出了注视点渲染的示例。
图16示意性地示出了渲染管线的示例时序图,其利用长短曝光成像的实施例来进行眼睛跟踪。
图17是用于注视点渲染的示例注视预测系统的框图,其利用长短成像的实施例来进行眼睛跟踪和未来注视方向的预测。
图18A、图18B、图18C和图18D示出了使用图17所示的注视预测系统的实施例来预测未来注视的实验结果。
图19是示出用于眼睛跟踪的示例方法的流程图。
图20是示出用于亮斑估计的示例方法的流程图。
在整个附图中,可以重复使用参考标号来指示所引用元件之间的对应关系。除非另有说明,否则附图是示意性的并且不一定按比例绘制。提供附图是为了说明本文描述的示例实施例,并且不旨在限制本公开的范围。
具体实施方式
概述
诸如AR、MR或VR显示系统之类的可穿戴显示系统可以跟踪用户眼睛,以便朝着用户正在看的地方投射虚拟内容。眼睛跟踪系统可以包括面向内部的眼睛跟踪相机和光源(例如,红外发光二极管),这些光源提供从用户角膜的反射(称为亮斑)。处理器可以分析由眼睛跟踪相机拍摄的用户眼睛图像,以获取亮斑和其他眼睛特征(例如,瞳孔或虹膜)的位置,并根据亮斑和眼睛特征,确定眼睛注视。
足以不仅显示亮斑而且显示眼睛特征的眼睛图像可以用相对长的曝光时间(例如,几百到一千微秒)拍摄。然而,在这种长时间曝光的图像中亮斑可能会饱和,这可使得准确识别亮斑中心的位置变得具有挑战性。例如,亮斑位置的不确定性可能是10至20个像素,这会在注视方向上引入大约20至50弧分的对应误差。
因此,本文描述的眼睛跟踪系统的各种实施例以不同的曝光时间或以不同的帧速率来获取眼睛的图像。例如,以较长曝光时间拍摄的眼睛的较长曝光图像可以显示虹膜或瞳孔特征,而较短曝光图像可以显示从角膜反射的亮斑峰值。在本文中,较短曝光图像有时被称为亮斑图像,因为它们可用于识别图像中亮斑的坐标位置。在一些实施方式中,较短曝光亮斑图像可以以高帧速率(HFR)拍摄以用于准确地预测注视(例如,帧速率高于用于较长曝光图像的帧速率)。可以分析较短曝光亮斑图像以提供达到子像素精度的亮斑位置,从而准确预测注视方向(例如,在几弧分内或更精确地)。可以针对瞳孔中心或旋转中心分析较长曝光图像。
在一些实施方式中,亮斑图像的至少一部分被临时存储在缓冲器中并且该亮斑图像的该部分被分析以识别可能位于该部分中的一个或多个亮斑的位置。例如,该部分可以包括亮斑图像的相对少量的像素、行或列。在一些情况下,该部分可以包括亮斑图像的n×m部分,其中,n和m是可能在大约从1至20的范围内的整数。在识别一个或多个亮斑的位置之后,可以清除缓冲器。然后可以将亮斑图像的附加部分存储在缓冲器中以供分析,直到整个亮斑图像被处理或所有亮斑(通常为四个)已被识别为止。亮斑位置(例如,笛卡尔坐标)可用于眼睛跟踪过程中的后续动作,并且在亮斑位置已被存储或传送到合适的处理器之后,可从存储器(缓冲存储器或其他易失性或非易失性存储)中删除亮斑图像。这种缓冲可以有利地允许快速处理亮斑图像以识别亮斑位置或减少眼睛跟踪过程的存储需求,因为亮斑图像可以在使用之后被删除。
因此,在某些实施例中,较短曝光图像不与较长曝光图像组合以获取用于眼睛跟踪的高动态范围(HDR)图像。相反,在一些这样的实施例中,较短曝光图像和较长曝光图像被分开处理并且用于确定不同的信息。例如,较短曝光图像可用于识别亮斑位置(例如,亮斑中心的坐标)或眼睛注视方向。在确定亮斑位置之后,可以从存储器(例如,缓冲器)中删除较短曝光图像。较长曝光图像可用于确定瞳孔中心或旋转中心,为生物特征识别安全应用提取虹膜特征,确定眼睑形状或眼睑对虹膜或瞳孔的遮挡,测量瞳孔大小,确定渲染相机参数等。在一些实施方式中,不同的处理器执行较短和较长曝光图像的处理。例如,头戴式显示器中的处理器可以处理较短曝光图像,而非头戴式单元(例如,束带包)中的处理器可以处理较长曝光图像。
因此,本文描述的多重曝光时间技术的各种实施例可以获取由较短和较长曝光图像两者共同提供的HDR亮度的益处,而无需组合、合成、合并或以其他方式处理这种短曝光和长曝光图像(例如,作为HDR图像)。因此,多重曝光眼睛跟踪系统的各种实施例不使用这种短曝光和长曝光图像来生成或以其他方式获取HDR图像。
在各种实施例中,较长曝光图像的曝光时间可以在从200μs至1200μs的范围内,例如大约700μs。可以以每秒10帧(fps)至60fps(例如,30fps)、30fps至60fps或某个其他范围内的帧速率,拍摄较长曝光图像。亮斑图像的曝光时间可以在从5μs至100μs的范围内,例如小于大约40μs。较长曝光图像的曝光时间相对于较短曝光亮斑图像的曝光时间的比率可以在从5至50、10至20或某个其他范围内。在各种实施例中,可以以从50fps至1000fps(例如,120fps)、200fps至400fps的范围内或一些其他范围内的帧速率拍摄亮斑图像。亮斑图像的帧速率相对于较长曝光图像的帧速率的比率可以在从1至100、1至50、2至20、3至10或一些其他比率的范围内。
一些可穿戴系统可以利用注视点渲染技术,在注视点渲染技术中虚拟内容可以主要在用户注视的方向上被渲染。眼睛跟踪系统的实施例可以准确地估计未来注视方向(例如,在未来大约50ms内),渲染系统可以使用该未来注视方向为未来的渲染准备虚拟内容,并且可以有利地缩短渲染延迟并改善用户体验。
可穿戴系统的3D显示示例
可穿戴系统(在此也称为增强现实(AR)系统)可被配置为向用户呈现2D或3D虚拟图像。图像可以是静止图像、视频帧或视频的组合等。可穿戴系统的至少一部分可以在可单独或组合呈现VR、AR或MR环境以用于用户交互的可穿戴设备上实现。可穿戴设备可以互换地用作AR设备(ARD)。此外,出于本公开的目的,术语“AR”与术语“MR”可互换使用。
图1示出了具有人观看的某些虚拟现实对象和某些物理对象的混合现实场景的图示。在图1中,示出了MR场景100,其中,MR技术的用户看到以人、树木、背景中的建筑物和混凝土平台120为特征的真实世界公园状设施110。除了这些项目之外,MR技术的用户MR技术还感知到他“看到”了站在真实世界平台120上的机器人雕像130,以及飞舞的似乎是大黄蜂拟人化的卡通状化身角色140,即使这些元素没有存在于真实世界中。
为了使3D显示器产生真实的深度感,更具体地说,产生表面深度的模拟感知,可能需要显示视场中的每个点生成与其虚拟深度相对应的调节响应。如会聚和立体视觉的双目深度线索确定的,如果对显示点的调节响应与该点的虚拟深度不对应,则人眼可能会遭遇调节冲突,导致成像不稳定、有害的眼睛疲劳、头痛,并且在缺乏调节信息的情况下,几乎完全缺乏表面深度。
VR、AR和MR体验由具有在其中向观看者提供与多个深度平面相对应的图像的显示的显示系统提供。每个深度平面的图像可能是不同的(例如,提供稍微不同的场景或对象的呈现),并且可以由观看者的眼睛单独聚焦,从而有助于基于使位于不同深度平面的场景的不同图像特征聚焦所需的眼睛调节,或者基于观察到位于不同深度平面的不同图像特征失焦来为用户提供深度线索。如本文其他地方所讨论的,此类深度线索提供对可信的深度感知。
图2示出了可被配置为提供AR/VR/MR场景的可穿戴系统200的示例。可穿戴系统200也可以被称为AR系统200。可穿戴系统200包括显示器220,以及支持显示器220功能的各种机械和电子模块和系统。显示器220可以被耦合到可由用户、穿戴者或观看者210穿戴的框架230。显示器220可以位于用户210的眼前。显示器220可以向用户呈现AR/VR/MR内容。显示器220可以包括穿戴在用户头上的头戴式显示器(HMD)。
在一些实施例中,扬声器240被耦合到框架230并被邻近用户耳道附近定位(在一些实施例中,未示出的另一扬声器被邻近用户的另一耳道定位以提供立体声/可塑形的声音控制)。显示器220可以包括音频传感器(例如,麦克风)232,用于检测来自环境的音频流并捕获环境声音。在一些实施例中,设置一个或多个其他音频传感器(未示出)以提供立体声接收。立体声接收可用于确定声源的位置。可穿戴系统200可以对音频流执行声音或语音识别。
可穿戴系统200可以包括面向外部的成像系统464(图4所示),其观察用户周围环境中的世界。可穿戴系统200还可以包括可以跟踪用户的眼睛运动的面向内部的成像系统462(如图4所示)。面向内部的成像系统可以跟踪一只眼睛的运动或两只眼睛的运动。面向内的成像系统462可以被附接到框架230并且可以与处理模块260或270电通信,处理模块260或270可以处理由面向内部的成像系统获取的图像信息以确定例如用户210的瞳孔直径或眼睛取向、眼睛运动或眼睛姿势。面向内部的成像系统462可以包括一个或多个相机。例如,可以使用至少一个相机来对每只眼睛进行成像。由相机获取的图像可用于分别确定每只眼睛的瞳孔大小或眼睛姿势,从而允许向每只眼睛呈现的图像信息针对该眼睛被动态定制。
举例来说,可穿戴系统200可以使用面向外部的成像系统464或面向内部的成像系统462来获取用户姿势的图像。图像可以是静止图像、视频帧或视频。
显示器220可以诸如通过有线引线或无线连接操作地耦合250到本地数据处理模块260,本地数据处理模块260可以以各种配置被安装,诸如被固定地附接到框架230,被固定地附接到用户穿戴的头盔或帽子,被嵌入耳机中,或以其他方式被可移除地附接到用户210(例如,采取背包式配置,采取腰带耦合式配置)。
本地处理和数据模块260可以包括硬件处理器以及数字存储器,例如非易失性存储器(例如,闪存),这两者都可被用于辅助处理、缓存和存储数据。数据可以包括a)从传感器(例如,其可被可操作地耦合到框架230或以其他方式附接到用户210)捕获的数据,这些传感器诸如包括图像捕获设备(例如,面向内部的成像系统或面向外部的成像系统中的相机)、音频传感器(例如,麦克风)、惯性测量单元(IMU)、加速度计、罗盘、全球定位系统(GPS)单元、无线电设备或陀螺仪;或b)使用远程处理模块270或远程数据存储库280获取或处理的数据,这些数据可能在被执行完上述处理或检索之后传送到显示器220。本地处理和数据模块260可通过通信链路262或264,诸如经由有线或无线通信链路,被可操作地耦合到远程处理模块270或远程数据存储库280,以使得这些远程模块可作为资源用于本地处理和数据模块260。此外,远程处理模块280和远程数据存储库280可被可操作地彼此耦合。
在一些实施例中,远程处理模块270可以包括一个或多个被配置为分析和处理数据或图像信息的处理器。在一些实施例中,远程数据存储库280可以包括数字数据存储设施,该数字数据存储设施可通过因特网或“云”资源配置中的其他网络配置获得。在一些实施例中,在本地处理和数据模块中存储所有数据并且执行所有计算,从而允许从远程模块的完全自主地使用。
可穿戴系统的示例部件
图3示意性地示出了可穿戴系统的示例部件。图3示出了可以包括显示器220和框架230的可穿戴系统200。放大图202示意性地示出了可穿戴系统200的各种部件。在某些实施方式中,图3所示的一个或多个部件可以是显示器220的一部分。单独或组合的各种部件可以收集与可穿戴系统200的用户或用户环境相关联的各种数据(例如,音频或视觉数据)。应当理解,取决于使用可穿戴系统的应用,其他实施例可以具有更多的或更少的部件。尽管如此,图3提供了可通过可穿戴系统收集、分析和存储的各种部件和数据类型中的一些的基本概念。
图3示出了可以包括显示器220的示例可穿戴系统200。显示器220可以包括可被安装到用户头部或外壳或框架230的显示透镜226,其对应于框架230。显示透镜226可以包括由外壳230定位在用户眼睛302、304前面的一个或多个透明反射镜,并且可被配置为将投射光338反射到眼睛302、304中并促进光束成形,同时还允许透射来自本地环境的至少一些光。投射光束338的波前可以被弯曲或聚焦以与投射光的期望焦距一致。如图所示,两个宽视场机器视觉相机316(也被称为世界相机)可以被耦合到外壳230以对用户周围的环境进行成像。这些相机316可以是双捕获可见光/不可见(例如,红外)光相机。相机316可以是图4所示的面向外部的成像系统464的一部分。由世界相机316获取的图像可由姿势处理器336处理。例如,姿势处理器336可以实现一个或多个对象识别器708(例如,图7所示)以识别用户或用户环境中的另一人的姿势或识别用户环境中的物理对象。
继续参考图3,示出了成对的扫描激光成形波前(例如,针对深度)光投射器模块,这些模块具有被配置为将光338投射到眼睛302、304中的显示镜和光学器件。所示的视图还示出了与光源326(诸如,发光二极管“LED”)配对的两个微型红外相机324,这些红外相机被配置为能够跟踪用户的眼睛302、304以支持渲染和用户输入。光源326可以发射光谱的红外(IR)部分的光,因为眼睛302、304对IR光不敏感并且不会将光源感知为照射到用户的眼睛中,从而导致眼睛不舒服。相机324可以是图4所示的面向内部的成像系统462的一部分。可穿戴系统200还可以以传感器部件339为特征,其可以包括X、Y和Z轴加速度计功能以及磁罗盘和X、Y和Z轴陀螺仪功能,优选地以诸如200Hz的相对高的频率提供数据。传感器部件339可以是参考图2A描述的IMU的一部分。所示的系统200还可以包括头部姿势处理器336,诸如ASIC(专用集成电路)、FPGA(现场可编程门阵列)或ARM处理器(高级简化指令集机器),其可被配置为根据从捕获设备316输出的宽视场图像信息,计算实时或近实时的用户头部姿势。头部姿势处理器336可以是硬件处理器并且可以被实现为图2所示的本地处理和数据模块260的一部分。
可穿戴系统还可以包括一个或多个深度传感器234。深度传感器234可被配置为测量环境中的对象与可穿戴设备之间的距离。深度传感器234可以包括激光扫描仪(例如,激光雷达)、超声波深度传感器或深度感测相机。在相机316具有深度感测能力的某些实施方式中,相机316也可被视为深度传感器234。
还示出了处理器332,其被配置为执行数字或模拟处理以从来自传感器组件339的陀螺仪、罗盘或加速度计数据导出姿势。处理器332可以是图2所示的本地处理和数据模块260的一部分。图3所示的可穿戴系统200还可以包括诸如GPS 337(全球定位系统)之类的定位系统以辅助姿势和定位分析。此外,GPS还可以提供有关用户环境的基于远程(例如,基于云)的信息。该信息可用于识别用户环境中的对象或信息。
可穿戴系统可以组合由GPS 337和远程计算系统(诸如,远程处理模块270、另一用户的ARD等)获取的数据,该系统可以提供更多有关用户环境的信息。作为一个示例,可穿戴系统可以基于GPS数据确定用户位置,并对包括与用户位置相关联的虚拟对象的世界地图进行检索(例如,通过与远程处理模块270通信)。作为另一示例,可穿戴系统200可以使用世界相机316(其可以是图4所示的面向外部的成像系统464的一部分)来监视环境。基于由世界相机316获取的图像,可穿戴系统200可以检测环境中的对象。可穿戴系统还可以使用GPS337获取的数据来解释角色。
可穿戴系统200还可以包括渲染引擎334,其可被配置为提供用户本地的渲染信息以促进扫描仪的操作和成像到用户的眼睛中,用于用户对世界的观看。渲染引擎334可以由硬件处理器(例如,中央处理单元或图形处理单元)来实现。在一些实施例中,渲染引擎是本地处理和数据模块260的一部分。渲染引擎334可以包括参考图6和图7描述的光场渲染控制器618。渲染引擎334可以被通信地耦合(例如,经由有线或无线链路)到可穿戴系统200的其他部件。例如,渲染引擎334可经由通信链路274被耦合到眼睛相机324,并且经由通信链路272被耦合到投影子系统318(其可经由扫描激光布置以类似于视网膜扫描显示的方式将光投射到用户的眼睛302、304中)。渲染引擎334也可以分别经由链路276和294与诸如传感器姿势处理器332和图像姿势处理器336之类的其他处理单元通信。
相机324(例如,微型红外相机)可用于跟踪眼睛姿势以支持渲染和用户输入。一些示例眼睛姿势可以包括用户注视的地方或他或她聚焦的深度(这可以用眼睛聚散度来估计)。相机324和红外光源326可用于为本文所述的多重曝光时间眼睛跟踪技术提供数据。GPS337、陀螺仪、罗盘和加速度计339可用于提供粗略或快速姿势估计。相机316中的一个或多个可以获取图像和姿势,这些图像和姿势与来自相关联的云计算资源的数据相结合可用于对本地环境进行构图并与其他人共享用户视图。
图3所示的示例部件仅用于说明目的。为了便于说明和描述,多个传感器和其他功能模块一起显示。一些实施例可以仅包括这些传感器或模块中的一个或子集。此外,这些部件的位置不限于图3所示的位置。某些部件可能被安装在或容纳在其他部件中,例如,束带安装式部件、手持部件或头盔部件中。作为一个示例,图像姿势处理器336、传感器姿势处理器332和渲染引擎334可以被放置在束带包中并被配置为经由无线通信,诸如超宽带、Wi-Fi、蓝牙等或经由有线通信与可穿戴系统的其他部件进行通信。所示的外壳230优选地是可由用户头戴的以及可由用户穿戴的。然而,可穿戴系统200的一些部件可以被穿戴到用户身体的其他部分。例如,扬声器240可以插入用户的耳朵中以向用户提供声音。
有关光338投射到用户的眼睛302、304中,在一些实施例中,相机324可用于测量用户眼睛的中心在几何上接近的位置,该位置通常与眼睛的焦点位置或“焦点深度”一致。眼睛接近的所有点的三维表面可以被称为“同视点”。焦距可以呈现有限数量的深度,或者可以无限地变化。从聚散距离投射的光好像被聚焦到对象眼睛302、304,而聚散距离前面或后面的光是模糊的。本公开的可穿戴设备和其他显示系统的示例还在美国专利公开No.2016/0270656中进行了描述,该专利公开的全部内容在此通过引用并入。
人类视觉系统是复杂的并且提供对深度的逼真感知具有挑战性。由于聚散和调节的组合,对象的观看者可将对象感知为三维的。两只眼睛相对彼此的聚散运动(例如,瞳孔朝向或远离彼此的滚动运动以会聚眼睛的视线来注视在对象上)与眼睛晶状体的聚焦(或“调节”)密切相关。在正常情况下,根据被称为“调节-聚散反射”的关系,改变眼睛晶状体的焦点或调节眼睛以将焦点从一个对象改变到不同距离的另一对象会自动导致到同一距离的聚散匹配变化。同样,在正常情况下,聚散的变化将触发调节的匹配变化。在调节和聚散之间提供更好匹配的显示系统可以形成更逼真和舒适的三维影像模拟。
光束直径小于约0.7毫米的进一步空间相干光可以被人眼正确分辨,而不管眼睛聚焦在哪里。因此,为了产生适当焦深的错觉,可以用相机324跟踪眼睛聚散,并且可以利用渲染引擎334和投影子系统318来渲染处于聚焦状态的同视点之上或附近的所有对象,以及处于不同的失焦程度(例如,使用故意创建的模糊)的所有其他对象。优选地,系统220以每秒约60帧或更高的帧速率渲染给用户。如上所述,优选地,相机324可用于眼睛跟踪,并且软件可被配置为不仅拾取聚散几何形状而且拾取聚焦位置线索以用作用户输入。优选地,这样的显示系统配置有适合白天或夜间使用的亮度和对比度。
在一些实施例中,显示系统优选地具有小于约20毫秒的视觉对象对准、小于约0.1度的角对准和约1弧分的分辨率的延迟,不受理论的限制,这被视为大约是人眼的极限。显示系统220可以与定位系统集成,定位系统可以涉及GPS元件、光学跟踪、罗盘、加速度计或其他数据源,以辅助确定位置和姿势;定位信息可用于促进相关世界的用户视图的准确渲染(例如,此类信息会有助于眼镜了解它们相对于真实世界的位置)。
在一些实施例中,可穿戴系统200被配置为基于用户眼睛的调节,显示一个或多个虚拟图像。与强制用户聚焦图像被投影的位置的现有3D显示方法不同,在一些实施例中,可穿戴系统被配置为自动改变投影虚拟内容的焦点以允许更舒适地观看呈现给用户的一个或多个图像。例如,如果用户眼睛的当前焦点为1m,则可以将图像投影为与用户的焦点一致。如果用户将焦点位移至3m处,则将图像投影为与新焦点一致。因此,一些实施例的可穿戴系统200不是强迫用户到预定焦点,而是允许用户的眼睛以更自然的方式起作用。
这样的可穿戴系统200可以消除或减少眼睛疲劳、头痛和其他关于虚拟现实设备通常观察到的生理症状的发生率。为了实现这一点,可穿戴系统200的各种实施例被配置为通过一个或多个可变焦元件(VFE)以不同的焦距,投射虚拟图像。在一个或多个实施例中,可通过多平面聚焦系统实现3D感知,该系统在远离用户的固定焦平面上投射图像。其他实施例采用可变平面焦点,其中焦平面在z方向上来回移动以与用户当前的聚焦状态一致。
在多平面聚焦系统和可变平面聚焦系统两者中,可穿戴系统200可以采用眼睛跟踪来确定用户眼睛的聚散,确定用户的当前焦点,并在所确定的焦点处投射虚拟图像。在其他实施例中,可穿戴系统200包括光调制器,该光调制器通过光纤扫描仪或其他光生成源跨视网膜可变地投射采取光栅图案的变焦光束。因此,可穿戴系统200的显示器以不同焦距投射图像的能力不仅简化了调节,以便于用户观看3D对象,而且还可用于补偿用户视觉异常,如在美国专利公开No.2016/0270656中进一步所述,该专利公开的全部内容在此通过引用并入。在一些其他实施例中,空间光调制器可通过各种光学部件向用户投射图像。例如,如下文进一步描述的,空间光调制器可以将图像投影到一个或多个波导上,然后将图像传输给用户。
波导堆叠组件
图4示出了用于向用户输出图像信息的波导堆叠的示例。可穿戴系统400包括波导堆叠或堆叠波导组件480,其可用于使用多个波导432b、434b、436b、438b、440b向眼睛/大脑提供三维感知。在一些实施例中,可穿戴系统400可与图2的可穿戴系统200相对应,图4更详细地示意性地示出了可穿戴系统200的一些部分。例如,在一些实施例中,波导组件480可以被集成到图2的显示器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(图2所示)的一部分。
波导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使其输出光首先通过第一透镜452和第二透镜454两者才能到达眼睛410。第一透镜452和第二透镜454的组合光焦度可被配置为产生另一波前曲率增量,以使得眼睛/大脑将来自第三波导436b的光解释为来自第二焦平面,与来自下一上行波导434b的光相比,第二焦平面从光学无限远向内更接近人。
其他波导层(例如,波导436b、440b)和透镜(例如透镜456、458)被执行类似的配置,其中,堆叠中的最高波导440b针对代表最接近人的焦平面的聚合焦度,通过位于其和眼睛之间的所有透镜,发送其输出。为了在观察/解释来自堆叠波导组件480的另一侧的世界470的光时补偿透镜堆叠458、456、454、452,补偿透镜层430可以被设置在堆叠的顶部以补偿下面的透镜堆叠458、456、454、452的聚合光焦度(补偿透镜层430和堆叠的波导组件480作为整体可被配置为使得来自世界470的光以与其最初被堆叠的波导组件480接收时基本相同的发散(或准直)水平被传送到眼睛410)。这种配置提供了与可用波导/透镜配对一样多的感知的焦平面。波导的光提取光学元件和透镜的聚焦方面两者是静态的(例如,不是动态的或不具有电活性)。在一些备选实施例中,上述任一者或两者可以是动态的并且使用电活性特征。
继续参考图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具有相对低的衍射效率,因此,在眼睛410与DOE的每个交点处,光束中只有一部分光朝着眼睛410偏转开,而其余部分继续经由全内反射穿过波导。携带图像信息的光因此可以被分成多个相关的出射光束,这些出射光束在多个位置处离开波导,并且对于这种在波导内四处弹射的特定准直光束,产生朝着眼睛304的相当均匀的出射图案。
在一些实施例中,一个或多个DOE可以在其主动衍射的“开启”状态与其不显著衍射的“关闭”状态之间切换。例如,可切换DOE可以包括聚合物分散液晶层,其中微滴在主体介质中包含衍射图案,并且微滴的折射率可以切换为基本上匹配主体材料的折射率(在这种情况下图案不会明显地衍射入射光),或者可以将微滴切换到与主体介质的折射率不匹配的折射率(在这种情况下图案主动地衍射入射光)。
在一些实施例中,深度平面的数量和分布或景深可以基于观看者的眼睛的瞳孔大小或取向而动态地改变。景深可以相对于观看者的瞳孔大小成反向变化。结果,当观看者眼睛瞳孔大小减小时,景深增加,以使得一个因为其位置超出眼睛的焦深的平面而不可辨别的平面变得可辨别,并且随着瞳孔大小的缩减和景深的相应增加而看上去更聚焦。类似地,用于向观看者呈现不同图像的间隔开的深度平面的数量可随着瞳孔大小减小而减少。例如,观看者可能无法在不调节远离一个深度平面并接近另一深度平面的眼睛的适应的情况下以一个瞳孔大小清楚地感知第一深度平面和第二深度平面两者的细节。然而,这两个深度平面可以在不改变适应性的情况下以另一瞳孔大小同时针对用户充分地聚焦。
在一些实施例中,显示系统可以基于瞳孔大小或取向的确定或者基于接收指示特定瞳孔大小或取向的电信号而改变接收图像信息的波导的数量。例如,如果用户眼睛无法区分与两个波导相关联的两个深度平面,则控制器460(可以是本地处理和数据模块206的实施例)可以被配置或编程为停止向这些波导之一提供图像信息。有利地,这可以减轻系统的处理负担,从而增加系统的响应性。在波导的DOE可在开启和关闭状态之间切换的实施例中,在波导确实接收图像信息时,DOE可被切换到关闭状态。
在一些实施例中,可能需要使出射光束满足以下条件:即,其直径小于观看者的眼睛直径。然而,考虑到观看者瞳孔大小的可变性,满足这一条件可能具有挑战性。在一些实施例中,通过响应于确定观看者的瞳孔大小而改变出射光束的大小,在宽范围的瞳孔大小上满足该条件。例如,随着瞳孔大小减小时,出射光束的大小也可能减小。在一些实施例中,可以使用可变孔径来改变出射光束大小。
可穿戴系统400可以包括对世界470的一部分进行成像的面向外部的成像系统464(例如,数字相机)。世界470的这部分可称为世界相机的视场(FOV)并且成像系统464有时被称为FOV相机。世界相机的FOV可以与观看者210的FOV相同,也可以与之不同,观看者210的FOV包含观看者210在给定时刻感知的世界470的一部分。例如,在一些情况下,世界相机的FOV可以大于可穿戴系统400的观看者210的观看者210。可供观看者观看或成像的整个区域可被称为能视域(FOR)。FOR可以包括围绕可穿戴系统400的4π弧度的立体角,因为穿戴者可以移动其身体、头部或眼睛以基本感知空间中的任何方向。在其他上下文中,穿戴者的移动可能更受限,因此,穿戴者的FOR可能对着更小的立体角。从面向外部的成像系统454获取的图像可用于跟踪用户做出的手势(例如,手或手指的姿势),检测用户前面的世界470中的对象等。
可穿戴系统400可以包括诸如麦克风之类的音频传感器232以捕获背景声音。如上所述,在一些实施例中,可以放置一个或多个其他音频传感器以提供对于话音源位置的确定有用的立体声接收。音频传感器232可以包括定向麦克风,作为另一示例,定向麦克风也可以提供这些有关音频源的位置的有用方向信息。可穿戴系统400可以使用来自面向外部的成像系统464和音频传感器230的信息定位话音源,或者确定在特定时刻活跃的讲话者等。例如,可穿戴系统400可以单独使用语音识别,或与讲话者的反射图像(例如,如在镜子中看到的)组合地使用语音识别来确定讲话者的身份。作为另一示例,可穿戴系统400可以基于从定向麦克风获取的声音来确定讲话者在环境中的位置。可穿戴系统400可以通过话音识别算法解析来自讲话者位置的声音以确定话音内容,并使用语音识别技术来确定讲话者的身份(例如,姓名或其他人口统计信息)。
可穿戴系统400还可以包括面向内部的成像系统466(例如,包括数字相机),其观察用户的运动,诸如眼睛移动(例如,针对眼睛跟踪)和面部运动。面向内部的成像系统466可用于捕获眼睛410的图像以确定眼睛304的瞳孔的大小和/或取向。面向内部的成像系统466可用于获取用来确定用户的观看方向(例如,眼睛姿势)或用于用户的生物识别(例如,经由虹膜识别)的图像。面向内部的成像系统426可用于针对本文描述的多重眼睛跟踪技术提供输入图像和信息。在一些实施例中,可以针对每只眼睛使用至少一个相机,以便单独确定每只眼睛的瞳孔大小或眼睛姿势,从而允许动态地调整向每只眼睛呈现的图像信息以适应该眼睛。在一些其他实施例中,仅一只眼睛410的瞳孔直径或取向被确定(例如,针对每对眼睛仅使用单个相机),并假设对于用户的双眼而言是类似的。可以分析由面向内部的成像系统466获取的图像以确定用户的眼睛姿势或心情,可穿戴系统400可以使用这些用户的眼睛姿势或心情来决定应该将哪些音频或视觉内容呈现给用户。可穿戴系统400也可以使用诸如IMU、加速度计、陀螺仪等之类的传感器来确定头部姿势(例如,头部位置或头部取向)。面向内部的成像系统426可包括参考图3描述的相机324和光源326(例如,IR LED)。
可穿戴系统400可以包括用户输入设备466,用户可以通过该用户输入设备466向控制器460输入命令以便与可穿戴系统400进行交互。例如,用户输入设备466可以包括触控板、触摸屏、操纵杆、多自由度(DOF)控制器、电容感测设备、游戏控制器、键盘、鼠标、方向垫(D-pad)、手持操纵器、触觉设备、图腾(例如,用作虚拟用户输入设备)等。多DOF控制器可以感测控制器的部分或全部可能的平移(例如,左/右、前/后或上/下)或旋转(例如,偏航、俯仰或翻滚)方面的用户输入。支持平移运动的多DOF控制器可被称为3DOF,而支持平移和旋转的多DOF控制器可被称为6DOF。在一些情况下,用户可以使用手指(例如,拇指)在触敏输入设备上按压或轻扫以向可穿戴系统400提供输入(例如,以将用户输入提供给由可穿戴系统400提供的用户界面)。用户输入设备466可以在使用可穿戴系统400期间由用户握持。用户输入设备466可以与可穿戴系统400进行有线或无线通信。
眼睛图像的示例
图5示出了具有眼睑504、巩膜508(眼睛的“白色部分”)、虹膜512和瞳孔516的眼睛500的图像。曲线516a示出了瞳孔516和虹膜512之间的瞳孔边界,并且曲线512a示出了虹膜512和巩膜508之间的角膜缘边界。眼睑504包括上眼睑504a和下眼睑504b。所示的眼睛500处于自然静止姿势(例如,其中用户的脸部和注视均朝着用户正前方的远处对象)。眼睛500的自然静止姿势可以由自然静止方向520指示,该自然静止方向520是在处于自然静止姿势时与眼睛500的表面正交的方向(例如,在图5所示的眼睛500的平面正向外),在该示例中,位于瞳孔516的中心。
当眼睛500移动以朝着不同对象观看时,眼睛姿势将相对于自然静止方向520发生变化。当前眼睛姿势可以参考眼睛姿势方向524来确定,该眼睛姿势方向524是与眼睛的表面正交的方向(并且在瞳孔516内位于中心),但朝着眼睛当前看向的对象。参考图5A所示的示例坐标系,眼睛500的姿势可以被表示为指示眼睛的眼睛姿势方向524的方位角偏转和天顶偏转的两个角度参数,两个偏转均相对于眼睛的自然静止方向520。为了说明的目的,这些角度参数可以被表示为θ(方位角偏转,根据基准方位确定)和φ(天顶偏转,有时也被称为极角偏转)。在一些实施方式中,围绕眼睛姿势方向524的眼睛的角向滚动可以被包括在眼睛姿势的确定中,而且,角向滚动可以被包括在眼睛跟踪中。在其他实施方式中,可以使用用于确定眼睛姿势的其他技术,例如俯仰、偏航和可选的翻滚系统。因此,眼睛姿势可以被提供为2DOF或3DOF取向。
光源326可以照射眼睛500(例如,以IR),并且来自眼睛的光源的反射(通常从角膜反射)被称为亮斑。图5示意性地示出了存在四个亮斑550的示例。亮斑550的位置、数量、亮度等可以取决于光源326的位置和数量、眼睛的姿势等。如将在下文进一步描述的,眼睛跟踪相机324可以获取眼睛图像,并且处理器可以分析眼睛图像以确定亮斑的位置和运动来实现眼睛跟踪。在一些实施例中,可以使用具有不同曝光时间或不同帧速率的多个眼图像来提供高精度眼睛跟踪。
可以使用任何适当的过程从视频中获取眼睛图像,例如使用可以从一个或多个连续帧(或非连续帧)中提取图像的视频处理算法。可以使用图4的面向内部的成像系统426或图3的相机324和光源326来提供一只眼睛或两只眼睛的视频或一个或多个图像。可以使用多种眼睛跟踪技术,例如本文描述的用于准确的角膜亮斑检测的多重曝光时间技术,根据眼睛图像确定眼睛姿势。例如,可以通过考虑角膜对所提供的光源的透镜作用来确定眼睛姿势。在本文所述的眼睑形状估计技术中,可以使用任何合适的眼睛跟踪技术来确定眼睛姿势。
眼睛跟踪系统的示例
图6示出了包括眼睛跟踪系统601的可穿戴系统600的示意图。可穿戴系统600可以是参考图2至图4描述的可穿戴系统200和400的实施例。在至少一些实施例中,可穿戴系统600可以包括位于头戴式单元602中的部件和位于非头戴式单元604中的部件。非头戴式单元604例如可以是束带安装式部件、手持式部件、背包中的部件、远程部件等。将可穿戴系统600的一些部件集成到非头戴式单元604中有助于减小头戴式单元602的尺寸、重量、复杂性和成本。在一些实施方式中,被描述为由头戴式单元602和/或非头戴式单元604的一个或多个部件执行的部分或全部功能可以由包括在可穿戴系统600中其他位置的一个或多个部件的方式来提供。例如,下面与头戴式单元602的CPU 612相关地描述的部分或全部功能可以通过非头戴式单元604的CPU 616提供,反之亦然。在一些示例中,部分或全部这样的功能可以通过可穿戴系统600的外围设备来提供。此外,在一些实施方式中,部分或全部这样的功能可以通过一个或多个云计算设备或其他远程定位计算设备,以类似于上面参考图2描述的方式来提供。
如图6所示,可穿戴系统600可以包括眼睛跟踪系统601,该眼睛跟踪系统601包括捕获用户眼睛610的图像的相机324。如果需要,眼睛跟踪系统还可以包括光源326a和326b(诸如,发光二极管“LED”)。光源326a和326b可以生成亮斑(例如,在由相机324捕获的眼睛图像中出现的从用户眼睛的反射)。图5示出了亮斑550的示意性示例。光源326a和326b相对于相机324的位置可以是已知的,因此,由相机324捕获的图像内的亮斑位置可用于跟踪用户的眼睛(如将在下面更详细地描述的)。在至少一个实施例中,可以存在与用户眼睛610中的一只相关联的一个光源326和一个相机324。在另一实施例中,可以存在与用户眼睛610中的每一只相关联的一个光源326和一个相机324。在另外的实施例中,可以存在与用户的眼睛610中的一只或每一只相关联的一个或多个相机324以及一个或多个光源326。作为特定示例,可以存在与用户的眼睛610中的每一只相关联的两个光源326a和326b以及一个或多个相机324。作为另一示例,可以存在与用户的眼睛610中的每一只相关联的三个或更多个诸如光源326a和326b的光源以及一个或多个相机324。
眼睛跟踪模块614可以从一个或多个眼睛跟踪相机324接收图像,并且可以分析图像以提取各种信息片段。如本文所述,来自一个或多个眼睛跟踪相机的图像可以包括较短曝光(亮斑)图像和较长曝光图像。作为示例,眼睛跟踪模块614可以检测用户眼睛姿势、用户眼睛相对于眼睛跟踪相机324(以及相对于头戴式单元602)的三维位置、用户眼睛610中的一只或两只的聚焦方向、用户的聚散深度(例如,用户正聚焦的距用户的深度)、用户瞳孔的位置、用户角膜和角膜球的位置、用户眼睛中的每一只的旋转中心、或用户眼睛中的每一只的视角中心。如图6所示,眼睛跟踪模块614可以是使用头戴式单元602中的CPU 612实现的软件模块。
来自眼睛跟踪模块614的数据可以被提供给可穿戴系统中的其他部件。例如,可以将此类数据传输到非头戴式单元604中的部件,诸如CPU616,其包括用于光场渲染控制器618和配准观察器620的软件模块。
如本文进一步描述的,在多重曝光时间眼睛跟踪技术的一些实施方式中,可以以不同于图6(或图7)所示的方式执行功能,图6和图7旨在说明而非限制。例如,在一些实施方式中,较短曝光亮斑图像可由头戴式单元602中的CPU 612(其可以被设置在相机324中)处理,而较长曝光图像可由非头戴式单元604中(例如,在束带包中)的CPU 616(或GPU 621)处理。在一些这样的实施方式中,由眼睛跟踪模块614执行的一些眼睛跟踪功能可以由非头戴式单元604(例如,束带包)中的处理器(例如,CPU616或GPU 621)来执行。这可能是有利的,因为一些眼睛跟踪功能可能是CPU密集型的,并且在某些情况下,可以由被设置在非头戴式单元604中的更强大的处理器更有效或更快地执行。
渲染控制器618可以使用来自眼睛跟踪模块614的信息来调整由渲染引擎622(例如,可以是GPU 620中的软件模块并且可以向显示器220提供图像的渲染引擎)向用户显示的图像。作为示例,渲染控制器618可以基于用户的旋转中心或视角中心,调整显示给用户的图像。具体地,渲染控制器618可以使用有关用户的视角中心的信息来模拟渲染相机(例如,模拟从用户的视角收集图像),并且可以基于模拟的渲染相机,调整显示给用户的图像。在作为美国专利申请公开No.2017/0091996公开的,题为“METHODS AND SYSTEMS FORDETECTING AND COMBINING STRUCTURAL FEATURES IN 3D RECONSTRUCTION(用于在3D重建中检测和组合结构特征的方法和系统)”的美国专利申请No.15/274,823中提供对渲染过程中渲染相机的创建、调整和使用的更详细的讨论,该专利申请的全部内容在此明确地通过引用并入。
在一些示例中,系统600的一个或多个模块(或部件)(例如,光场渲染控制器618、渲染引擎620等)可以基于用户的头部和眼睛的位置和取向确定渲染相机在渲染空间内的位置和取向(例如,如分别基于头部姿势和眼睛跟踪数据确定的渲染相机在渲染空间内的位置和取向)。例如,系统600可以有效地将用户头部和眼睛的位置和取向映射到3D虚拟环境内的特定位置和角度位置,将渲染相机放置和定向在3D虚拟环境内的特定位置和角度位置,以及为用户渲染虚拟内容,就像由渲染相机捕获的一样。在作为美国专利申请公开No.2017/0109936公开的,题为“SELECTING VIRTUAL OBJECTS IN A THREE-DIMENSIONALSPACE(在三维空间中选择虚拟对象)”的美国专利申请No.15/296,869中提供对真实世界到虚拟世界映射过程的更详细的讨论,该专利申请的全部内容在此明确地通过引用并入。作为示例,渲染控制器618可以通过选择在任何给定时间用于显示图像的深度平面(或多个深度平面)来调整显示图像的深度。在一些实施方式中,可以通过调整一个或多个内在渲染相机参数来执行这种深度平面切换。
配准观察器620可以使用来自眼睛跟踪模块614的信息来识别头戴式单元602是否被正确地定位在用户的头部上。作为示例,眼睛跟踪模块614可以提供眼睛位置信息,诸如用户眼睛的旋转中心的位置,该信息指示用户眼睛相对于相机324和头戴式单元602的三维位置,并且眼睛跟踪模块614可以使用该位置信息来确定显示器220是否在用户的视场中被正确地对准,或者头戴式单元602(或头戴装置)是否已经滑落或以其他方式与用户的眼睛未对准。作为示例,配准观察器620能够确定头戴式单元602是否已经从用户的鼻梁滑下,从而将显示器220从用户的眼睛移开和取下(不希望出现这种情况);头戴式单元602是否沿着用户的鼻梁向上移动,从而向上移动头戴式单元602使其靠近眼睛;头戴式单元602是否相对于用户的鼻梁左右移动;头戴式单元602是否已被移到用户的鼻梁上方;或者头戴式单元602是否以这些或其他方式被从期望的位置或位置范围移开。通常,配准观察器620能够确定一般的头戴式单元602以及具体的显示器220是否被正确地定位在用户的眼前。换句话说,配准观察器620可以确定显示系统220中的左显示器是否与用户的左眼适当地对准,并且显示系统220中的右显示器是否与用户的右眼适当地对准。配准观察器620可以通过确定头戴式单元602是否被定位和定向在相对于用户眼睛的期望位置和/或取向范围内来确定头戴式单元602是否被适当地定位。配准观察器620可使用的示例配准观察和反馈技术在2017年9月27日提交的,作为美国专利申请公开No.2018/0096503公开的,题为“PERIOCULARTEST FOR MIXED REALITY CALIBRATION(混合现实校准的眼周测试)”的美国专利申请No.15/717,747和2019年1月17日提交的,作为美国专利申请公开No.2019/0222830公开的,题为“DISPLAY SYSTEMS AND METHODS FOR DETERMINING REGISTRATION BETWEEN ADISPLAY AND A USER'S EYES(用于确定显示和用户眼睛之间的配准的显示系统和方法)”的美国专利申请No.16/251,017中进行了描述,这两个专利申请的全部内容在此通过引用并入。
渲染控制器618可以从眼睛跟踪模块614接收眼睛跟踪信息并且可以向渲染引擎622提供输出,渲染引擎622可以生成待显示以供可穿戴系统600的用户观看的图像。例如,渲染控制器618可以接收聚散深度、左眼和右眼旋转中心(和/或视角中心)和其他眼睛数据,诸如眨眼数据、扫视数据等。聚散深度信息和其他眼睛数据,并且基于这样的数据可以使渲染引擎622以特定深度平面(例如,在特定调节或焦距处)向用户传送内容。如结合图4所讨论的,可穿戴系统可以包括由多个波导形成的多个离散深度平面,每个波导传送具有变化的波前曲率水平的图像信息。在一些实施例中,可穿戴系统可以包括一个或多个可变深度平面,诸如传递具有随时间变化的波前曲率水平的图像信息的光学元件。渲染引擎622可以部分地基于用户的聚散深度在选定深度(例如,使渲染引擎622引导显示器220切换深度平面)向用户传送内容。
渲染引擎622可以通过在用户的左眼和右眼的位置对相机进行模拟并基于模拟的相机的视角生成内容来生成内容。如上所述,渲染相机是模拟的相机,用于渲染可能来自虚拟世界中对象数据库的虚拟图像内容。对象可以具有相对于用户或穿戴者并且可能相对于用户或穿戴周围环境中的真实对象的位置和取向。渲染相机可以被包括在渲染引擎中以基于待呈现给眼睛的虚拟对象的数据库来渲染虚拟图像。虚拟图像可以被渲染为好像是从用户或穿戴者的角度拍摄的。例如,虚拟图像可以被渲染为好像由具有光圈、镜头和观察虚拟世界中的对象的检测器的相机(对应于“渲染相机”)捕获。虚拟图像是从这种具有“渲染相机”位置的相机的角度拍摄的。例如,虚拟图像可以被渲染为好像是从相对于用户或穿戴者眼睛具有特定位置的相机的视角捕获的,以便提供看起来来自用户或穿戴者的视角的图像。在一些实施方式中,图像被渲染为好像是从光圈处于相对于用户或穿戴者的眼睛的特定位置(例如,如本文或其他地方所讨论的视角中心或旋转中心)的相机的视角捕获的,
眼睛跟踪模块的示例
图7示出了示例眼睛跟踪模块614的框图。如图7所示,眼睛跟踪模块614可以包括各种不同的子模块,可以提供各种不同的输出,并且可以利用各种可用数据来跟踪用户的眼睛。作为示例,眼睛跟踪模块614可以利用包括以下项的可用数据:眼睛跟踪外在特征和内在特征,诸如眼睛跟踪相机324相对于光源326和头戴式单元602的几何布置;假设的眼睛尺寸704,诸如用户的角膜曲率中心和用户眼睛的平均旋转中心之间的约为4.7mm的典型距离,或用户的旋转中心和视角中心之间的典型距离;以及每用户校准数据706,诸如特定用户的瞳距。眼睛跟踪模块614可采用的外在特征、内在特征和其他信息的附加示例在2017年4月26日提交,作为美国专利公开No.2018/0018515公开的题为“IRIS BOUNDARYESTIMATION USING CORNEA CURVATURE(使用角膜曲率的虹膜边界估计)”的美国专利申请No.15/497,726中进行了描述,该专利申请的全部内容在此通过引用并入。可以实现为眼睛跟踪模块614或以其他方式由眼睛跟踪模块614使用的示例眼睛跟踪模块和技术在2019年1月17日提交,作为美国专利公开号2019/0243448公开的题为“EYE CENTER OF ROTATIONDETERMINATION,DEPTH PLANE SELECTION,AND RENDER CAMERA POSITIONING IN DISPLAYSYSTEMS(显示系统中的眼睛旋转中心确定、深度平面选择和渲染相机定位)”的美国专利申请No.16/250,931中进行了描述,该专利申请的全部内容在此通过引用并入。
图像预处理模块710可以从诸如眼睛相机324的眼睛相机接收图像,并且可以对接收到的图像执行一个或多个预处理(例如,调节)操作。作为示例,图像预处理模块710可以对图像应用高斯模糊,可以将图像下采样到较低分辨率,可以应用非锐化蒙版,可以应用边缘锐化算法,或者可以应用辅助后期检测、定位和标记来自眼睛相机324的图像中的亮斑、瞳孔或其他特征的其他适合的滤波器。图像预处理模块710可以应用低通滤波器或形态滤波器,诸如开放滤波器,这些滤波器可以去除诸如来自瞳孔边界516a(参见图5)的高频率噪声,从而去除可能妨碍瞳孔和亮斑确定的噪声。图像预处理模块710可以将预处理的图像输出到瞳孔识别模块712以及亮斑检测和标记模块714。
瞳孔识别模块712可以从图像预处理模块710接收预处理的图像,并且可以识别那些图像的包括用户瞳孔的区域。在一些实施例中,瞳孔识别模块712可以在来自相机324的眼睛跟踪图像中确定用户瞳孔的位置的坐标或其中心或质心的坐标。在至少一些实施例中,瞳孔识别模块712可以识别眼睛跟踪图像中的轮廓(例如,瞳孔虹膜边界的轮廓),识别轮廓矩(例如,质心),应用星爆瞳孔检测和/或Canny边缘检测算法,拒绝基于强度值离群值,识别子像素边界点,校正眼睛相机失真(例如,由眼睛相机324捕获的图像中的失真),应用随机抽样一致性(RANSAC)迭代算法以将椭圆拟合到眼睛跟踪图像中的边界,向图像应用跟踪滤波器,以及识别用户瞳孔质心的子像素图像坐标。瞳孔识别模块712可以向亮斑检测和标记模块714输出瞳孔识别数据,该瞳孔识别数据可以指示被识别为显示用户瞳孔的预处理图像模块712的区域。瞳孔识别模块712可以将每个眼睛跟踪图像中的用户瞳孔的2D坐标(例如,用户瞳孔质心的2D坐标)提供给亮斑检测模块714。在至少一些实施例中,瞳孔识别模块712还可以将同一类瞳孔识别数据提供给坐标系归一化模块718。
瞳孔识别模块712可以利用的瞳孔检测技术,该瞳孔检测技术在2017年2月23日公开的美国专利公开No.2017/0053165和2017年2月23日公开的美国专利公开No.2017/0053166中进行了描述,上述每个专利公开的全部内容在此通过引用并入。
亮斑检测和标记模块714可以从模块710接收预处理的图像,以及从模块712接收瞳孔识别数据。亮斑检测模块714可以使用该数据来检测和/或识别显示用户瞳孔的预处理图像区域内的亮斑(例如,从用户的眼睛反射出来的来自光源326的光)。作为示例,亮斑检测模块714可以搜索眼睛跟踪图像内的亮区,在本文中有时被称为“斑点”或局部强度最大值,其位于用户的瞳孔或虹膜附近。在至少一些实施例中,亮斑检测模块714可以重新缩放(例如,放大)瞳孔椭圆以包含附加的亮斑。亮斑检测模块714可以按大小或强度过滤亮斑。亮斑检测模块714还可以确定眼睛跟踪图像内每个亮斑的2D位置。在至少一些示例中,亮斑检测模块714可以确定亮斑相对于用户瞳孔的2D位置,其也可称为瞳孔亮斑矢量。亮斑检测和标记模块714可以标记亮斑,并将带有标记的亮斑的预处理图像输出到3D角膜中心估计模块716。亮斑检测和标记模块714还可以传递数据,诸如来自模块710的预处理图像和来自模块712的瞳孔识别数据。在一些实施方式中,亮斑检测和标记模块714可以确定哪个光源(例如,从包括红外光源326a和326b的系统的多个光源中确定)产生每个识别出的亮斑。在这些示例中,亮斑检测和标记模块714可以用识别关联光源的信息来标记亮斑,并将带有标记的亮斑的预处理图像输出到3D角膜中心估计模块716。
由诸如模块712和714之类的模块执行的瞳孔和亮斑检测可以使用任何合适的技术。作为示例,可以将边缘检测应用于眼睛图像以识别亮斑、瞳孔或虹膜。边缘检测可以通过各种边缘检测器、边缘检测算法或滤波器来应用。例如,可以将Canny边缘检测器应用于图像,以检测诸如图像线条中的边缘。边缘可以包括沿着线定位的对应于局部最大导数的点。例如,可以使用Canny边缘检测器来定位瞳孔边界516a或虹膜(边缘)边界(参见图5)。在确定了瞳孔或虹膜的位置的情况下,可以使用各种图像处理技术来检测瞳孔116的“姿势”。姿势也可以被称为注视、指向方向或眼睛的取向。例如,瞳孔可能正在向左观看对象,并且瞳孔的姿势可以被分类为向左姿势。可以使用其他方法来检测瞳孔或亮斑的位置。例如,可以使用Canny边缘检测器来定位眼睛图像中的同心环。作为另一示例,可以使用积分微分算子来查找虹膜的瞳孔或角膜缘边界。例如,可以使用Daugman积分微分算子、Hough变换或其他虹膜分割技术来返回估计瞳孔或虹膜边界的曲线。模块712、714可以应用本文所述的亮斑检测技术,该技术可以使用用不同曝光时间或不同帧速率捕获的多个眼睛图像。
3D角膜中心估计模块716可以从模块710、712、714接收包括检测到的亮斑数据和瞳孔(或虹膜)识别数据的预处理图像。3D角膜中心估计模块716可以使用这些数据来估计用户角膜的3D位置。在一些实施例中,3D角膜中心估计模块716可以估计眼睛的角膜曲率中心或用户的角膜球的3D位置,例如,假想球体的中心,该球体的表面部分与用户的角膜大致共同延伸。3D角膜中心估计模块716可以将指示角膜球和/或用户角膜的估计的3D坐标的数据提供给坐标系归一化模块718、光轴确定模块722和/或光场渲染控制器618。可以被本公开的可穿戴系统中的3D角膜中心估计模块716和其他模块利用的用于估计眼睛特征(诸如,角膜或角膜球)的位置的技术在2017年4月26日提交的,作为美国专利申请公开号2018/0018515公开的,美国专利申请No.15/497,726中进行了讨论,该专利申请的全部内容在此通过引用并入。
坐标系归一化模块718可以选择性地(如其虚线框所示)包括在眼睛跟踪模块614中。坐标系归一化模块718可以从3D角膜中心估计模块716接收指示用户角膜中心(和/或用户角膜球中心)的估计的3D坐标的数据,并且还可以从其他模块接收数据。坐标系归一化模块718可以归一化眼睛相机坐标系,这样有助于补偿可穿戴设备的滑脱(例如,头戴式部件从其在用户头部的正常静止位置处滑落,这可以由配准观察器620识别)。坐标系归一化模块718可以旋转坐标系以将坐标系的z轴(例如,聚散深度轴)与角膜中心(例如,如3D角膜中心估计模块716所示)对准,并且可以将相机中心(例如,坐标系的原点)远离角膜中心平移诸如30毫米的预定距离(例如,模块718可以放大或缩小眼睛跟踪图像,具体取决于确定眼睛相机324比预定距离更近还是更远)。通过该归一化过程,眼睛跟踪模块614能够相对独立于用户头部上的头戴装置定位变化,在眼睛跟踪数据中建立一致的取向和距离。坐标系归一化模块718可以向3D瞳孔中心定位器模块720提供角膜(和/或角膜球)中心的3D坐标、瞳孔识别数据和预处理的眼睛跟踪图像。
3D瞳孔中心定位器模块720可以接收在归一化或未归一化的坐标系中的数据,该数据包括用户的角膜(和/或角膜球)中心的3D坐标、瞳孔位置数据和预处理的眼睛跟踪图像。3D瞳孔中心定位器模块720可以分析此类数据以确定在归一化或未归一化的眼睛相机坐标系中的用户的瞳孔中心的3D坐标。3D瞳孔中心定位器模块720可以基于瞳孔质心的2D位置(如由模块712确定的);角膜中心的3D位置(如由模块716确定的);假设的眼睛尺寸704,诸如,典型用户角膜球的大小以及从角膜中心到瞳孔中心的典型距离;以及眼睛的光学特性,诸如,相对于空气折射率的角膜折射率或其任意组合,确定用户瞳孔在三维中的位置。可以被本公开的可穿戴系统中的3D瞳孔中心定位器模块720和其他模块利用的用于估计眼睛特征(诸如,瞳孔)的位置的技术在2017年4月26日提交的,作为美国专利申请公开No.2018/0018515公开的,美国专利申请No.15/497,726中进行了讨论,该专利申请的全部内容在此通过引用并入。
光轴确定模块722可以从模块716和720接收指示用户角膜中心和用户瞳孔中心的3D坐标的数据。基于此类数据,光轴确定模块722可以识别从角膜中心(例如,从角膜球中心)的位置到用户的瞳孔中心的矢量,该矢量可以限定用户眼睛的光轴。作为示例,光轴确定模块722可以将指定用户的光轴的输出提供给模块724、728、730和732。
旋转中心(CoR)估计模块724可以从模块722接收数据,其中包括用户眼睛的光轴的参数(例如,指示光轴在坐标系中的方向的数据,此方向与头戴式单元602具有已知的关系)。CoR估计模块724可以估计用户眼睛的旋转中心(例如,当用户的眼睛向左、向右、向上和/或向下旋转时用户的眼睛绕其旋转的点)。尽管眼睛可能无法围绕奇异点完美旋转,但假设奇异点就足够了。在至少一些实施例中,CoR估计模块724可以通过沿着光轴(由模块722识别)从瞳孔中心(由模块720识别)或角膜曲率中心(由模块716识别)向视网膜向移动特定距离来估计眼睛的旋转中心。该特定距离可以是假设的眼睛尺寸704。作为一个示例,角膜曲率中心和CoR之间的特定距离可以约为4.7mm。可以基于任何相关数据(包括用户的年龄、性别、视力处方、其他相关特征等),针对特定用户更改该距离。
在至少一些实施例中,CoR估计模块724可以细化其在一段时间内对用户的每只眼睛的旋转中心的估计。作为示例,随着时间的流逝,用户将最终旋转眼睛(看向其他地方更近、更远的对象或某个时候向左、向右、向上或向下看),导致其每只眼睛的光轴发生位移。CoR估计模块724然后可分析由模块722识别的两个(或更多个)光轴,并定位那些光轴的3D交点。CoR估计模块724然后可以确定旋转中心位于该3D交点。此类技术可以提供旋转中心的估计,其准确性随着时间的推移而提高。可以采用各种技术来增加CoR估计模块724以及所确定的左眼和右眼的CoR位置的准确性。作为示例,CoR估计模块724可以通过查找在一段时间内针对各种不同的眼睛姿势确定的光轴的平均交点来估计CoR。作为附加示例,模块724可以对一段时间内估计的CoR位置进行滤波或平均,可以计算一段时间内估计的CoR位置的移动平均值,和/或可以应用卡尔曼滤波器以及眼睛和眼睛跟踪系统的已知动力学来估计一段时间内的CoR位置。作为特定示例,模块724可以计算所确定的光轴交点和假设的CoR位置(诸如,距眼睛的角膜曲率中心4.7mm)的加权平均值,以使得所确定的CoR可以在一段时间内从假设的CoR位置(例如,眼睛的角膜曲率中心后面的4.7mm处)缓慢漂移到用户眼睛内的稍微不同的位置,因为获取了用户的眼睛跟踪数据,从而能够细化了每个用户的CoR位置。
瞳距(IPD)估计模块726可从CoR估计模块724接收指示用户的左眼和右眼的旋转中心的估计的3D位置的数据。IPD估计模块726然后可以通过测量用户的左眼和右眼的旋转中心之间的3D距离来估计用户的IPD。通常,当用户看向光学无限远时(例如,用户眼睛彼此的光轴基本彼此平行),用户的左眼的估计的CoR和用户的右眼的估计的CoR之间的距离可以大致等于用户的瞳孔中心之间的距离,这是瞳距(IPD)的典型定义。用户的IPD可由可穿戴系统中的各种部件和模块使用。例如,可以将用户的IPD提供给配准观察器620,并用于评估可穿戴设备与用户眼睛对准的程度(例如,左右显示透镜是否根据用户的IPD被正确地间隔开)。作为另一示例,可以将用户的IPD提供给聚散深度估计模块728,并用于确定用户的聚散深度。模块726可以采用各种技术,诸如结合CoR估计模块724所讨论的技术,以提高估计的IPD的准确性。作为示例,IPD估计模块724可以在一段时间内应用滤波、平均、包括假设的IPD距离的加权平均、卡尔曼滤波器等,作为以精确的方式估计用户的IPD的一部分。
在一些实施例中,IPD估计模块726可以从3D瞳孔中心定位器模块和/或3D角膜中心估计模块716接收数据,该数据指示用户瞳孔和/或角膜的估计的3D位置。IPD估计模块726然后可以通过参考瞳孔和角膜之间的距离来估计用户的IPD。通常,这些距离会随着用户转动眼睛并改变其聚散深度而在一段时间内变化。在一些情况下,IPD估计模块726可以寻找瞳孔和/或角膜之间的最大测量距离,这应该发生在用户观看近光学无限远时并且通常应该对应于用户的瞳孔间距。在其他情况下,IPD估计模块726可以将用户瞳孔(和/或角膜)之间的测量距离拟合到一个人的瞳孔间距如何作为其聚散深度的函数而变化的数学关系。在一些实施例中,使用这些或其他类似技术,IPD估计模块726能够估计用户的IPD,即使没有观察到用户正在观看光学无限远(例如,通过从其中用户接近于比光学无限远更近的距离的一个或多个观察中推断)。
聚散深度估计模块728可以从眼睛跟踪模块614中的各个模块和子模块接收数据(如结合图7所示)。具体地,聚散深度估计模块728可采用指示以下项的数据:瞳孔中心的估计的3D位置(例如,如由上述模块720提供的)、光轴的一个或多个确定的参数(例如,如由上述模块722提供的)、旋转中心的估计的3D位置(例如,如由上述模块724提供的)、估计的IPD(例如,旋转中心的估计的3D位置之间一个或多个的欧几里德距离)(例如,如由上述模块726提供的)和/或光轴和/或视轴的一个或多个确定的参数(例如,如由下面描述的模块722和/或模块730提供的)。聚散深度估计模块728可以检测或以其他方式获取用户的聚散深度度量,该度量可以是用户眼睛聚焦的相对于用户的距离。例如,当用户看向其前方三英尺处的对象时,用户左眼和右眼的聚散深度为三英尺;并且,当用户看向远处风景时(例如,用户眼睛的光轴基本彼此平行,以使得用户瞳孔中心之间的距离可以大致等于用户的左眼和右眼的旋转中心之间的距离),用户的左眼和右眼具有无限远的聚散深度。在一些实施方式中,聚散深度估计模块728可以利用指示用户瞳孔的估计的中心的数据(例如,如由模块720提供的)来确定估计的用户瞳孔中心之间的3D距离。聚散深度估计模块728可以通过将瞳孔中心之间的这类确定的3D距离与估计的IPD(例如,旋转中心的估计的3D位置之间的一个或多个欧几里得距离)(例如,如上述模块726指示的)进行比较来获取聚散深度的度量。除了瞳孔中心和估计的IPD之间的3D距离之外,聚散深度估计模块728还可以利用已知的、假设的、估计的和/或确定的几何形状来计算聚散深度。作为示例,模块728可以在三角计算中组合瞳孔中心之间的3D距离、估计的IPD和3D CoR位置,以估计(例如,确定)用户的聚散深度。实际上,根据估计的IPD,评估瞳孔中心之间的这种确定的3D距离可用于指示相对于光学无限远的用户当前聚散深度的度量。在一些示例中,聚散深度估计模块728可以简单地接收或访问指示估计的用户瞳孔中心之间的估计的3D距离的数据,以便获取这种聚散深度的度量。在一些实施例中,聚散深度估计模块728可以通过比较用户的左右光轴来估计聚散深度。具体地,聚散深度估计模块728可以通过定位其中用户的左右光轴相交(或者用户的左右光轴在例如水平平面的平面上的投影相交)相对于用户的距离来估计聚散深度。通过将零深度设定为其中用户的左右光轴被用户的IPD分开的深度,模块728可以在该计算中利用用户的IPD。在至少一些实施例中,聚散深度估计模块728可以通过将眼睛跟踪数据与已知或导出的空间关系一起进行三角测量来确定聚散深度。
在一些实施例中,聚散深度估计模块728可以基于用户的视轴(而非其光轴)的相交,估计用户的聚散深度,这样可以更精确地指示用户聚焦的距离。在至少一些实施例中,眼睛跟踪模块614可以包括光轴到视轴映射模块730。如结合图10更详细讨论的,用户的光轴和视轴通常不对准。视轴是人观看所沿着的轴,而光轴是由人的晶状体和瞳孔的中心限定的,并且可以穿过人的视网膜中心。特别是,用户的视轴通常由用户中央凹的位置限定,其可能偏离用户的视网膜中心,从而导致不同的光轴和视轴。在这些实施例中的至少一些实施例中,眼睛跟踪模块614可以包括光轴到视轴映射模块730。光轴到视轴映射模块730可以校正用户的光轴和视轴之间的差异,并向可穿戴系统中的其他部件(诸如,聚散深度估计模块728和光场渲染控制器618)提供有关用户视轴的信息。在一些示例中,模块730可以使用假设的眼睛尺寸704,其中包括光轴和视轴之间向内(偏向鼻子,朝着用户鼻子)大约5.2°的典型偏移。换句话说,模块730可以将用户的左光轴朝着鼻子向右(偏向鼻子)移位5.2°,并且将用户的右光轴朝着鼻子向左(偏向鼻子)移位5.2°,以便估计用户的左右光轴的方向。在其他示例中,模块730可以在将光轴(例如,如上述模块722指示的)映射到视轴时利用每用户校准数据706。作为附加示例,模块730可以使用户的光轴偏向鼻子移位4.0°至6.5°,4.5°至6.0°,5.0°至5.4°等,或者由这些值中的任一值形成的任何范围。在一些布置中,模块730可以至少部分地基于特定用户的特征(诸如,他们的年龄、性别、视力处方或其他相关特征)应用移位,和/或可以至少部分地基于特定用户的校准过程(例如,确定特定用户的光-视轴偏移)应用移位。在至少一些实施例中,模块730还可将左右光轴的原点移位以对应于用户的CoP(如由模块732确定的)而非用户的CoR。
当提供了可选的视角中心(CoP)估计模块732时,可以估计用户的左右视角中心(CoP)的位置。CoP可能是可穿戴系统的有用位置,并且在至少一些实施例中,CoP是瞳孔正前方的位置。在至少一些实施例中,CoP估计模块732可以基于用户的瞳孔中心的3D位置、用户的角膜曲率中心的3D位置或此类合适的数据或其任意组合,估计用户的左右视角中心的位置。作为示例,用户的CoP可以在角膜曲率中心之前约5.01mm处(例如,在朝着眼睛角膜以及沿着光轴的方向上距离角膜球中心5.01mm),并且可以沿着光轴或视轴在用户角膜外表面之后约2.97mm处。用户的视角中心可以在其瞳孔中心的正前方。例如,用户的CoP可以距用户的瞳孔小于约2.0mm,距用户的瞳孔小于约1.0mm,距用户的瞳孔小于约0.5mm,或者任何这些值之间的任何范围。作为另一示例,视角中心可以对应于眼睛的前房内的位置。作为其他示例,CoP可以在1.0mm至2.0mm之间,大约1.0mm,在0.25mm至1.0mm之间,在0.5mm至1.0mm之间,或者在0.25mm至0.5mm之间。
本文所述的视角中心(可能是渲染相机针孔的期望位置和用户眼睛中的解剖学位置)可以是用于减少和/或消除不希望的视差偏移的位置。具体地,用户眼睛的光学系统非常粗略地等同于由透镜前面的针孔形成的投射到屏幕上的理论系统,其中针孔、透镜和屏幕分别粗略地对应于用户的瞳孔/虹膜、晶状体和视网膜。此外,当与用户眼睛相距不同距离的两个点光源(或对象)严格围绕针孔开口旋转(例如,沿曲率半径旋转,该半径等于点光源各自相对于针孔开口的距离)时,希望具有很少的或者没有视差偏移。因此,似乎CoP应该位于眼睛瞳孔的中心(并且在某些实施例中可以使用这种CoP)。但是,人眼除了晶状体和瞳孔的针孔外,还包括角膜,该角膜赋予朝着视网膜传播的光以额外的光焦度。因此,在本段落中所述的理论系统中,针孔的等效解剖部分可以是位于用户眼睛角膜外表面和用户眼睛的瞳孔或虹膜中心之间的用户眼睛区域。例如,针孔的等效解剖部分可以对应于用户眼睛前房内的区域。由于本文讨论的各种原因,需要将CoP设定为用户眼睛前房内的这类位置。
如上所述,眼睛跟踪模块614可以将诸如左右眼旋转中心(CoR)的估计的3D位置、聚散深度、左右眼光轴、用户眼睛的3D位置、用户左右角膜曲率中心的3D位置、用户左右瞳孔中心的3D位置、用户左右视角中心的3D位置、用户的IPD等之类的数据提供给可穿戴系统中的其他部件,诸如光场渲染控制器618和配准观察器620。眼睛跟踪模块614还可以包括其他子模块,这些子模块检测并生成与用户眼睛的其他方面相关联的数据。作为示例,眼睛跟踪模块614可以包括在用户每次眨眼时提供标志或警报的眨眼检测模块;在用户的眼睛每次扫视(例如,将焦点快速移到另一点)时提供标志或其他警报的扫视检测模块。
利用眼睛跟踪系统定位亮斑的示例
图8A是眼睛的横截面的示意图,示出了眼睛的角膜820、虹膜822、晶状体824和瞳孔826。巩膜(眼白)围绕虹膜822。角膜可以具有近似球形的形状,由具有中心804的角膜球802示出。眼睛的光轴是穿过瞳孔中心806和角膜中心804的线(由实线830示出)。用户的注视方向(由虚线832示出;有时也被称为注视矢量)是用户的视轴并且通常与眼睛的光轴成小的偏移角。特定于每只特定眼睛的偏移可以通过根据眼睛图像的用户校准来确定。用户测量的偏移可以由可穿戴显示系统存储,并用于根据眼睛光轴的测量值,确定注视方向。
光源326a和326b(诸如,发光二极管LED)可以照射眼睛并生成由相机324a成像的亮斑(例如,从用户眼睛的镜面反射)。图5示出了亮斑550的示意图。光源326a和326b相对于相机324的位置是已知的,因此,由相机324捕获的图像内的亮斑位置可用于跟踪用户的眼睛以及对角膜球802进行建模并确定其中心804。图8B是眼睛的照片,示出了由四个光源(针对该示例照片)产生的四个亮斑550的示例。通常,光源326a、326b产生红外(IR)光,以使得用户无法看到会分散注意力的光源。
在一些眼睛跟踪系统中,眼睛的单个图像用于确定有关瞳孔的信息(例如,以确定其中心)和亮斑的信息(例如,亮斑在眼睛图像中的位置)。如将在下文进一步描述的,根据单一曝光的瞳孔信息和亮斑信息的测量可导致在确定眼睛光轴或注视中的误差,例如因为在还显示了用于提取瞳孔信息的足够细节的图像中,亮斑的图像饱和。
图9A至图9C示意性地示出了这些误差的示例。在图9A至图9C中,真实注视矢量被示为穿过瞳孔中心806和角膜球802的中心804的实线830,而从眼睛图像中提取的注视矢量示为虚线930。图9A示出了当仅瞳孔中心的测量位置中存在小误差900a时提取的注视矢量中的误差的示例。图9B示出了当仅角膜中心的测量位置中存在小误差900b时提取的注视矢量中的误差的示例。图9C示出了当瞳孔中心的测量位置中存在小误差900a和角膜中心的测量位置中存在小误差900b时提取的注视矢量中的误差的示例。在可穿戴系统200的一些实施例中,对于确定眼睛图像亮斑中的每个误差像素,注视确定的误差可以是大约20弧分,而对于本文所述的多重曝光时间眼睛跟踪技术的一些实施例,误差可以被减少到小于约每像素3弧分。
使用具有不同曝光时间的多个图像进行眼睛成像
图10A示出了当从单个长曝光眼睛图像1002a获取亮斑时亮斑位置的不确定性的示例。在该示例中,眼睛图像1002a的曝光时间约为700μs。图像1002a中的亮斑之一以放大图像1006a示出,并且等值线图1008a示出了亮斑的强度等值线。放大图像1006a显示亮斑饱和,并且亮斑强度的峰值被剪掉。图像1006a中强度的动态范围可以相对较高以捕获较低强度的瞳孔和虹膜特征以及较高强度的亮斑。亮斑覆盖图像1006a中的许多像素,这可能使得准确确定亮斑的中心具有挑战性,特别是当亮斑的峰值强度被剪掉时。亮斑1006a的半高全宽(FWHM)约为15个像素。对于可穿戴系统200的一些实施例,确定亮斑中心(或质心)时的每个误差像素对应于确定注视方向或眼睛光轴方向中的大约20弧分的误差。使用以不同曝光时间捕获的多个眼睛图像的眼睛成像的实施例有利地可以更准确地识别亮斑位置并且有利地可以将注视方向或光轴方向的误差减少到几弧分或更小。
图10B示出了当使用利用以不同曝光时间拍摄的多个图像的技术时亮斑位置的不确定性的示例。在该示例中,由眼睛跟踪相机捕获两个连续图像:第一较长曝光图像1002b和第二较短曝光图像1004。两个图像1002b、1004的总捕获时间约为1.5ms。应用于图像1002b和1004的第一和第二标号并不旨在指示拍摄图像时的的时间顺序,而只是一种指示两个图像中的每一者的方便方式。因此,第一图像1002b可以在第二图像1004之前、第二图像1004之后拍摄,或者两次曝光可以至少部分重叠。
较长曝光图像1002b可以具有与图10A所示的图像1002a类似的曝光时间,此曝光时间在该示例中约为700μs。第一较长曝光图像1002b可用于确定瞳孔(或虹膜)特征。例如,可以分析较长曝光图像1002b以确定瞳孔中心或旋转中心(CoR),提取用于生物特征识别安全应用的虹膜特征,确定眼睑形状或眼睑对虹膜或瞳孔的遮挡,测量瞳孔大小,确定渲染相机参数等。然而,如参考图10A所描述的,在这样的较长曝光图像中亮斑可能饱和,这可能导致亮斑位置的相对大的误差。
在一些实施方式中,可通过使用具有更好调制传递函数(MTF)(例如,更接近衍射极限MTF的MTF)的眼睛跟踪相机来增加较长曝光图像中的瞳孔对比度。例如,可以选择用于成像传感器的更好的MTF或用于相机成像透镜的更好的MTF来提高像素对比度。可以实现为具有此类MTF或以其他方式在本文所述的一个或多个眼睛跟踪系统中采用的眼睛跟踪相机的示例成像传感设备和技术在2018年12月13日提交的,作为美国专利申请公开No.2019/0181171公开的,题为“GLOBAL SHUTTER PIXEL CIRCUIT AND METHOD FOR COMPUTERVISION APPLICATIONS(计算机视觉应用的全局快门像素电路和方法)”的美国专利申请No.16/219,829以及2018年12月13日提交的,作为美国专利申请公开号2019/0181169公开的,题为“DIFFERENTIAL PIXEL CIRCUIT AND METHOD OF COMPUTER VISION APPLICATIONS(计算机视觉应用的微分像素电路和方法)”的美国专利申请No.16/219,847中进行了描述,这两个专利申请的全部内容在此通过引用并入。在各种实施例中,眼睛跟踪相机324可以产生5至6个像素、1至4个像素等的瞳孔对比度(例如,在瞳孔和虹膜之间的过渡处测量)。可以实现为眼睛跟踪相机324或在一些实施例中以其他方式在本文所述的一个或多个眼睛跟踪系统中采用的附加示例成像传感设备和技术在2016年5月19日提交的,作为美国专利申请公开号2016/0344957公开的,题为“SEMI-GLOBAL SHUTTER IMAGER(半全局快门成像器)”的美国专利申请No.15/159,491中进行描述了,该专利申请的全部内容在此通过引用并入。
第二较短曝光图像1004的曝光时间可以显著小于第一图像1002b的曝光时间,以降低亮斑550饱和的可能性(例如,剪掉图像中的亮斑峰值)。如上所述,第二较短曝光图像1004有时在此被称为亮斑图像,因为它可以用于准确地识别亮斑位置。在该示例中,第二图像1004的曝光时间小于40μs。请注意,虽然亮斑在第二图像1004中是可察觉的,但瞳孔(或虹膜)特征不易察觉,这就是为什么较长曝光的第一图像1002b可用于瞳孔中心提取或CoR确定。图像1006b是第二图像1004中亮斑之一的放大视图。图像1006b中亮斑的较小尺寸(与图像1006a中的尺寸相比)是显而易见的,这表明亮斑在图像1006b中不饱和。等值线图1008b示出了小得多的亮斑等值线图案(与等值线图1008a中所示的等值线相比)。在该示例中,可以将亮斑的中心位置确定为子像素精度,例如,约为像素的1/10(在该示例中仅对应于注视或光轴方向的约2弧分误差)。在一些实施方式中,像素的中心位置可以根据第二较短曝光图像1004非常准确地确定,例如通过将二维(2D)高斯(或其他钟形曲线)拟合到亮斑像素值。在一些实施例中,可以以类似于亮斑中心位置的容量来确定和依赖亮斑的质心位置。用于确定亮斑位置的亮斑图像的曝光时间可以选择为长度刚好足以对亮斑的峰值进行成像。
因此,眼睛成像技术可利用对较长曝光图像(其可用于提取瞳孔特性)和较短曝光亮斑图像(其可用于提取亮斑位置)的捕获。如上所述,较长图像和较短图像可以按任何顺序拍摄,或者曝光时间可以至少部分地重叠。第一图像的曝光时间可以在从200μs至1200μs的范围内,而第二图像的曝光时间可以在从5μs至100μs的范围内。第一图像的曝光时间相对于第二图像的曝光时间的比率可以在从5至50、10至20或一些其他范围内。参考图11对可以捕获较长和较短曝光图像的帧速率进行了描述。
根据第二较短曝光图像确定亮斑位置的潜在优势在于亮斑覆盖相对较少数量的像素(例如,将图像1006b与图像1006a进行比较)并且可以在计算上快速、高效地找到亮斑中心。例如,在一些实施例中,亮斑的搜索区域可以具有仅大约2至10个像素的直径。此外,由于亮斑覆盖较少数量的像素,因此可以仅分析或存储(例如,在缓冲器中)图像的相对较小部分,这可以提供显著的存储器节省。此外,亮斑图像的动态范围可能足够低,以至于背景、环境光源(例如,室内光、天空等)的图像由于曝光时间短而无法感知,这有利地意味着这种环境光源不会干扰或被误认为是亮斑。
此外,使用相对短的曝光时间还可用于减少进行扫视或以其他方式快速运动的眼睛的图像中的运动模糊的存在。示例眼睛跟踪和扫视检测系统与技术,以及与其关联的曝光时间切换和调整方案在2018年4月19日提交的题为“SYSTEMS AND METHODS FORADJUSTING OPERATIONAL PARAMETERS OF A HEAD-MOUNTED DISPLAY SYSTEM BASED ONUSER SACCADES(基于用户扫视调整头戴式显示系统操作参数的系统和方法)”的美国临时专利申请No.62/660,180以及2019年4月19日提交的,作为美国专利申请公开No.2019/0324276公开的题为“SYSTEMS AND METHODS FOR OPERATING A DISPLAY SYSTEM BASED ONUSER PERCEPTIBILITY(基于用户感知操作显示系统的系统和方法)”的美国专利申请No.16/389,529中进行了描述,中进行了描述,这两个专利申请的全部内容在此通过引用并入。在一些实施方式中,一个或多个这样的示例系统、技术和方案可以被实现为或以其他方式在本文所述的一个或多个系统和技术中利用(例如,通过眼睛跟踪模块614)。较短时间和较长时间曝光之间切换的更多细节在下文参考图11进行描述。
如上所述,在一些实施方式中,亮斑图像的至少一部分被临时存储在缓冲器中并且该亮斑图像的该部分被分析以识别可能位于该部分中的一个或多个亮斑的位置。例如,该部分可以包括亮斑图像的相对少量的像素、行或列。在一些情况下,该部分可以包括亮斑图像的n×m部分,其中n和m在大约从1至20的范围内。例如,亮斑图像的5×5部分可以被存储在缓冲器中。
在识别出一个或多个亮斑的位置之后,可以清除缓冲器。然后可以将亮斑图像的附加部分存储在缓冲器中以供分析,直到整个亮斑图像已被处理或所有亮斑(通常为四个)已被识别为止。在某些情况下,图像的多个亮斑同时在缓冲器中进行处理。在某些情况下,图像的大部分亮斑同时在缓冲器中进行处理。在某些情况下,图像的所有亮斑同时在缓冲器中进行处理。亮斑位置(例如,笛卡尔坐标)可用于眼睛跟踪过程中的后续动作,并且在亮斑位置已被存储或传送到合适的处理器之后,可从存储器(缓冲存储器或其他易失性或非易失性存储)中删除亮斑图像。这种缓冲可以有利地允许快速处理亮斑图像以识别亮斑位置或减少眼睛跟踪过程的存储需求,因为亮斑图像可以在使用之后被删除。
在一些实施方式中,较短曝光亮斑图像由可穿戴系统200、400或600中的硬件处理器处理。例如,亮斑图像可以由参考图6描述的头戴式单元602的CPU 612处理。CPU 612可以包括缓冲器615或与缓冲器615通信,缓冲器615可用于临时存储亮斑图像的至少一部分以供处理(例如,识别亮斑位置)。在一些实施方式中,CPU 612可以将所识别的亮斑的位置输出到分析较长曝光图像的另一处理器(例如,参考图6描述的CPU 616或GPU 620)。在一些实施方式中,该另一处理器可以远离头戴式显示单元。另一处理器例如可以在束带包中。因此,在一些实施方式中,诸如CPU 612之类的硬件处理器将所识别的亮斑的位置(例如,亮斑峰值的笛卡尔坐标)可能连同指示所识别的亮斑的强度(例如,亮斑的峰值强度)的数据一起输出到另一处理器(例如,参考图6描述的CPU 616或GPU 620)。在一些实施例中,CPU 612和缓冲器615在位于眼睛跟踪相机324中或与眼睛跟踪相机324相关联的硬件处理器中。这样的布置可以提供增加的效率,因为较短曝光亮斑图像可以由相机电路处理并且不需要与另一处理单元(位于头戴式单元602上或远离头戴式单元602)通信。相机324可以简单地将亮斑位置(例如,亮斑峰值的笛卡尔坐标)输出到另一处理单元(例如,分析较长曝光图像的硬件处理器,诸如CPU 612、616或GPU 620)。因此,在一些实施例中,位于相机324中或与相机324相关联的硬件处理器可以将所识别的亮斑的位置(例如,亮斑峰值的笛卡尔坐标)可能连同指示每个所识别的亮斑的强度(例如,亮斑的峰值强度)的数据一起输出到另一处理器(例如,参考图6描述的CPU 612、616或GPU 620)。在一些实施方式中,较短曝光亮斑图像由硬件处理器(例如,CPU 612)处理,并且该硬件处理器可以将所识别可能是亮斑图像的亮斑候选的位置(例如,亮斑峰值的笛卡尔坐标)可能连同指示所识别的亮斑候选的强度(例如,亮斑的峰值强度)的数据一起输出到另一处理器。该另一处理器可以将所识别的亮斑候选的子集识别为亮斑。该另一处理器还可以基于所识别的亮斑候选的子集(例如,被另一处理器视为亮斑的所识别的亮斑候选的子集)执行一个或多个操作(例如,一个或多个确定注视方向的操作)。因此,在一些实施方式中,较短曝光亮斑图像由硬件处理器(例如,CPU612、在相机324中或与相机324相关联的硬件处理器等)处理,并且该硬件处理器可以将所识别的亮斑候选的位置(例如,亮斑峰值的笛卡尔坐标)可能连同指示所识别的亮斑候选的强度(例如,亮斑峰值的强度)的数据一起输出到另一处理器(例如,参考图6描述的CPU 616或GPU 620),并且该另一处理器(例如,参考图6描述的CPU 616或GPU 620)可以基于所识别的亮斑候选的子集(例如,被另一处理器视为亮斑的所识别的亮斑候选的子集)执行一个或多个操作(例如,一个或多个确定注视方向的操作)。在一些实施方式中,处理较短曝光亮斑图像的硬件处理器可以进一步将指示不同的所识别的亮斑候选的强度(例如,亮斑峰值的强度)的数据输出到另一处理器(例如,参考图6描述的CPU 616或GPU 620)并且在一些示例中,该另一处理器可以基于所识别的亮斑候选的位置和所识别的亮斑候选的强度中的一者或两者,选择所识别的亮斑候选的子集并且可能进一步基于所识别的亮斑候选的选定子集执行一个或多个操作(例如,一个或多个确定注视方向的操作)。例如,在这些实施方式中的至少一些实施方式中,另一处理器(参考图6描述的CPU 616或GPU 620)可以至少部分地基于所识别的亮斑候选的选定子集和所述眼睛的瞳孔中心(例如,由另一处理器基于一个或多个较长曝光图像确定),确定眼睛的注视方向。在一些实施方式中,由另一处理器选择的所识别的亮斑候选的子集可以针对由系统采用的每个红外光源仅包括一个亮斑候选,而已识别和传送到另一处理器的亮斑候选的数量超过由系统的采用的红外光源的数量。其他配置和方法是可能的。
在各种实施方式中,较长曝光图像可由CPU 612处理或可传送到非头戴式单元604,例如由CPU 616或GPU 621处理。如所指出的,在一些实施方式中,CPU 616或GPU 621可以从被编程为分析由缓冲器615存储的亮斑图像另一处理器(例如,CPU 612)获取根据较短曝光图像识别的亮斑位置。
多重曝光时间眼睛成像的帧速率
如上所述,利用不同曝光时间捕获多个眼睛图像有利地可以提供亮斑中心的准确确定(例如,根据较短曝光图像)和瞳孔中心的准确确定(例如,根据较长曝光图像)。亮斑中心的位置可用于确定角膜的姿势。
当用户的眼睛移动时,亮斑将相应地移动。为了跟踪眼睛移动,可以进行多次短亮斑曝光来捕获亮斑的运动。因此,眼睛跟踪系统的实施例可以以相对高的帧速率(例如,与较长曝光图像的帧速率相比)捕获亮斑曝光,例如,以从大约每秒100帧(fps)至500fps的帧速率。因此,在各种实施例中,连续短亮斑曝光之间的时间间隔可以在从大约1至2ms直到大约5至10ms的范围内。
用于瞳孔中心确定的较长曝光图像可以以比用于亮斑图像的帧速率低的帧速率捕获。例如,在各种实施例中,用于较长曝光图像的帧速率可以在从大约10fps至60fps的范围内。这不是必需的,并且在一些实施例中,较短和较长曝光图像的帧速率相同。
图11示出了组合操作模式的示例,其中以50fps的帧速率(例如,连续图像之间间隔20ms)拍摄较长曝光图像,并且以200fps的帧速率(例如,连续亮斑图像之间间隔5ms)拍摄亮斑图像。组合操作模式可以由参考图6和图7描述的眼睛跟踪模块614来执行。图11中的水平轴是时间(以ms为单位)。图11的顶行示意性地示出了眼睛的照射(例如,由IR光源照射)和对应图像的捕获,例如由眼睛跟踪相机324捕获。亮斑图像1004被示为尖角三角形,而较长曝光图像1002被示为作为更宽的平顶梯形。在该示例中,亮斑图像在后续长时间曝光图像之前被捕获,尽管在其他实施方式中可以颠倒顺序。因为在该示例中,用于亮斑图像1004的帧速率高于用于较长曝光图像1002的帧速率(例如,在该示例中高出四倍)。图11示出了在拍摄下一较长曝光图像之前(例如,在捕获第一较长曝光图像之后20ms)捕获的四个亮斑图像(相隔约5ms)。
在其他实施方式中,亮斑图像帧速率或较长曝光图像帧速率可以不同于图11中所示的。例如,亮斑图像帧速率可以在从大约100fps至大约1000fps的范围内,并且较长曝光图像帧速率可以在从大约10fps至大约100fps的范围内。在各种实施例中,亮斑图像帧速率与较长曝光帧速率的比率可以在从大约1至20、4至10或一些其他范围内。
图11的中间行示意性地示出了亮斑和较长曝光图像数据的读出(读出发生在捕获图像之后),并且图11的底行示出了眼睛跟踪系统的操作模式(例如,使用亮斑图像的亮斑优先或使用较长曝光图像的瞳孔优先)。因此,在该示例中,每5ms根据短曝光亮斑图像确定亮斑位置,并且每20ms根据较长曝光图像确定瞳孔中心(或CoR)。较长曝光图像的曝光时间可以足够长并且具有足够的动态范围以捕获瞳孔和虹膜特征,同时足够短以使得眼睛在曝光期间没有明显移动(例如,以减少图像中模糊的可能性)。如上所述,在一些实施例中,较长曝光图像的曝光时间可以是大约700μs并且亮斑图像的曝光时间可以小于约40μs。
在一些实施例中,眼睛跟踪模块614例如可以在较短曝光时间和较长曝光时间之间动态地调整曝光时间。例如,显示系统可以基于所确定的信息类型,选择曝光时间(例如,从一系列曝光时间中选择)。作为示例,眼睛跟踪模块614可以确定扫视的发生。然而,在其他示例中,可穿戴显示系统200可以获取一个或多个图像以确定与用户的眼睛相关联的注视。例如,显示系统可以利用用户眼睛的几何形状来确定参考图8A描述的从用户的中央凹或眼睛光轴延伸的矢量。因此,显示系统可以选择较短曝光时间来减少运动模糊的存在。此外,显示系统可以基于用户眼睛的图像执行生物特征认证过程。例如,显示系统可以将用户的已知眼睛特征与图像中识别的眼睛特征进行比较。因此,显示系统可以类似地选择较短曝光时间来减少运动模糊的存在。
当动态地调整曝光时间时,眼睛跟踪模块614可以在以第一曝光时间(例如,长曝光)获取图像与以第二曝光时间(例如,短曝光)获取图像之间进行交替。例如,眼睛跟踪模块可以在第一曝光时间获取图像以确定用户是否在进行扫视,然后以第二曝光时间获取图像。此外,可穿戴显示系统200的特定操作条件可以告知是以第一曝光时间还是第二曝光时间获取图像。
在一些实施例中,眼睛跟踪模块614可以动态地调整一个或多个曝光时间。例如,眼睛跟踪模块可以增加或减少用于扫视检测或亮斑位置的曝光时间。在该示例中,眼睛跟踪模块可以确定与运动模糊相关联的度量太高或太低。也就是说,由于曝光时间的原因,这些措施可能无法准确检测或过度检测扫视。例如,眼睛跟踪模块可被配置为使用运动模糊检测和连续捕获的图像帧之间的比较两者来执行扫视检测。假设图像帧之间的比较提供了对扫视发生的更准确的确定,则通过比较多个图像提供的结果可以用作参考,并且可以调整运动模糊检测,直到在两种扫视检测方案的结果之间达成期望(例如,高)水平的一致性。如果图像帧比较指示正在执行扫视检测,则眼睛跟踪模块可被配置为增加曝光时间。相反,如果错误地检测到扫视,则可以减少曝光时间。
眼睛跟踪模块可以附加地或替代地动态调整用于确定瞳孔或虹膜特性(例如,瞳孔中心、CoR等)的较长曝光图像的曝光时间。例如,如果较长曝光图像的动态范围足够高以致虹膜细节饱和,则眼睛跟踪模块可减少曝光时间。
在一些实施例中,当执行生物特征认证过程时,或者在确定用户的注视时,眼睛跟踪模块也可以调整曝光时间。例如,显示系统可以动态地减少曝光时间以减少运动模糊,或者如果所获取的图像没有正确地曝光(例如,如果图像太暗),则眼睛跟踪模块可以增加曝光时间。
在一些实施例中,眼睛跟踪模块可以对从用户眼睛获取的每个图像使用相同的相机(例如,相机324)。即,眼睛跟踪模块可以利用指向用户的特定眼睛的相机。当用户执行扫视时,双眼可能以对应的方式移动(例如,以相似的速度和幅度)。因此,眼睛跟踪模块可以利用同一只眼睛的图像来可靠地确定是否正在执行扫视。可选地,眼睛跟踪模块可以利用指向用户每只眼睛的相机。在这样的实施例中,眼睛跟踪模块可选地使用相同的相机来获取同一眼睛的图像或者可以选择要使用的相机。例如,眼睛跟踪模块可以选择当前未被使用的相机。眼睛跟踪模块可以获取用户眼睛的图像,用于确定扫视的发生以外的目的。作为示例,眼睛跟踪模块可以执行注视检测(例如,眼睛跟踪模块可以确定用户注视的三维点)、未来注视方向的预测(例如,针对注视点渲染)、生物特征认证(例如,眼睛跟踪模块可以确定用户的眼睛是否与已知的眼睛匹配)等。在一些实施例中,当眼睛跟踪模块提出拍摄图像的命令时,其中一个相机可能正在使用中。因此,眼睛跟踪模块可以选择未使用的相机来获取用于扫视检测、注视方向确定、亮斑识别、生物特征认证等的图像。
可选地,眼睛跟踪模块可以同时触发两个相机来获取图像。例如,每个相机可以以相应的曝光时间获取图像。这样,眼睛跟踪模块可以获取第一只眼睛的第一图像以确定运动模糊、亮斑位置等的度量,同时获取第二只眼睛的第二图像以确定其他信息(例如,用于注视检测、瞳孔中心确定、认证等的信息)。可选地,可以利用两个图像来确定用户是否正在执行扫视。例如,眼睛跟踪模块可以确定第一图像中示出的特征(例如,用户的眼睛、亮斑等)与第二图像中示出的相同特征相比的变形。可选地,眼睛跟踪模块可以使每个相机在两个曝光值(例如,彼此异相)之间进行交替。例如,第一相机可以以第一曝光值(例如,较短曝光时间)获取图像,同时第二相机可以以第二曝光值(例如,较长曝光时间)获取图像。随后,第一相机可以以第二曝光值获取图像,第二相机可以以第一曝光值获取图像。
亮斑移动检测器
图12示意性地示出了如何使用以相对高的帧速率捕获的短曝光亮斑图像在眼睛移动时提供稳健的亮斑检测和跟踪的示例。在帧#1中,示出了四个示例亮斑。帧#2是在帧#1之后短时间内(例如,约5ms之后以200fps的帧速率)拍摄的亮斑图像,并说明了初始亮斑位置(标记为#1)如何移动到了标记为#2的位置。同样,帧#3是在帧#2之后短时间内(例如,约5ms之后以200fps的帧速率)拍摄的另一亮斑图像,并说明了初始亮斑位置如何继续移动到了标记为#3的位置。请注意,在帧#2中,仅标记为#2的位置处的亮斑会出现在图像中,标记为#1的位置处的亮斑是为了参考而示出的,对于帧#3也是如此。因此,图12示意性地示出了示例亮斑丛(constellation)或图案如何逐帧移动。
因为可以以相对高的帧速率捕获亮斑图像,所以较早帧处的亮斑位置的确定可以辅助确定后续帧中亮斑的预期位置,因为当以相对高的帧速率拍摄时,亮斑不会在帧之间有明显的移动(例如,请参见图12所示的亮斑移动)。这种亮斑成像使眼睛跟踪系统能够将逐帧搜索区域限制到前一亮斑位置周围的少量像素(例如,2至10个像素),这可以有利地提高处理速度和效率。例如,如上所述,仅亮斑图像的一部分(例如,5×5像素组)可以被存储在临时存储缓冲器615中以供由相关联的CPU 612处理。存在于图像部分中的亮斑可被快速有效地识别并被确定位置。亮斑位置可用于后续处理(例如,使用较长曝光图像)并从存储器中删除亮斑图像。
这种亮斑成像的另一优点可以是对每个亮斑的标记不太可能导致错误(例如,将左上手亮斑错误地标记为右上手亮斑或左下手亮斑),因为眼睛跟踪系统可以跟踪亮斑逐帧的微小移动。例如,图12所示的四个亮斑的“丛”在眼睛移动时可能倾向于以基本共同的速度从一帧移动到另一帧。共同的速度可以代表丛的平均速度或均速。因此,系统可以检查所有已识别的亮斑是否以大致相同的速度移动。如果“丛”中的一个(或多个)亮斑以明显不同的速度移动(例如,比共同速度大阈值量),则该亮斑可能已被错误识别,或者亮斑可能已从角膜的非球形部分反射。
因此,例如,如果所有四个亮斑表现出相当的位置变化,则可以推断能够以相对高的置信度依赖亮斑位置在帧之间的微小变化。因此,在一些实施方式中,眼睛跟踪模块614能够基于少至两个图像帧,以相对高的置信度检测扫视和微扫视运动。例如,在这些实施方式中,眼睛跟踪模块可被配置为确定亮斑位置从一帧到下一帧的全局变化是否超过阈值,并且响应于确定这样的全局变化确实超过阈值,确定用户的眼睛正在进行扫视(或微扫视)运动。这可以有利地用于执行深度平面切换,例如,如上面纳入的2018年4月19日提交的美国专利申请No.62/660,180以及美国专利申请公开No.2019/0324276中所述。
大体上类似于图8A的图13A示出了一个亮斑从角膜的非球形部分反射的情况。眼睛跟踪系统可以根据来自光源326a和326b的亮斑,确定角膜球1402的角膜建模中心。例如,来自光源326a、326b的反射可以被投射(显示为虚线1302)回到角膜建模中心804,在此位置,两条虚线1302在公共点相遇。然而,如果系统将来自光源326c的亮斑朝着中心投射,则虚线1304不会在角膜建模中心804处相遇。如果眼睛跟踪系统使用来自光源326c的亮斑来尝试找到角膜球802的中心804,则会在中心位置中引入误差(因为线1304不与中心804相遇)。因此,通过跟踪亮斑图像中的亮斑位置,系统可以识别亮斑可能从角膜的非球形区域反射的情况(例如,因为亮斑速度不同于丛的共同速度)并且从角膜球建模计算中去除亮斑(或减少分配给该亮斑的权重)。非球形角膜区域中亮斑的闪烁速度通常比球形区域的闪烁速度快得多,并且可以至少部分地使用这种速度增加来识别亮斑何时从非球形角膜区域产生。
当用户眨眼时,用户的眼睑可以至少部分地覆盖角膜的一部分,光源将从该部分反射。从该区域产生的亮斑可能具有较低的强度或具有基本上非球形的图像形状(这会在确定其位置时引入误差)。图13B是示出存在部分遮挡的亮斑550a的示例的图像。亮斑成像还可用于通过监测图像中亮斑的强度来识别亮斑何时变得至少部分被遮挡。在没有遮挡的情况下,每个亮斑在帧之间可以具有大致相同的强度,而如果存在至少部分遮挡,则亮斑的强度将迅速降低。因此,眼睛跟踪系统可以监测作为时间函数的亮斑强度(例如,从一帧到另一帧)以确定何时发生部分或全部遮挡,并从眼睛跟踪分析中去除该亮斑(或减少分配给该亮斑的权重)。此外,亮斑的丛可具有大致相似的强度,因此系统可以监测特定亮斑强度与丛的共同强度是否存在差异。响应于这样的确定,眼睛跟踪系统可以从眼睛跟踪分析中去除该亮斑(或减少分配给该亮斑的权重)。或者,如下面参考图20的进一步详细描述的,在一些实施方式中,眼睛跟踪系统可以估计部分或全部被遮挡的亮斑的位置。
参考图7描述的亮斑检测和标记模块714因此可以有利地包括亮斑移动检测器以监测亮斑成像中帧之间的亮斑速度或亮斑强度以提供对亮斑位置的更稳健的确定,这可以提供对角膜球的中心的更稳健的确定(例如,由图7的3D角膜中心估计模块716确定)。
亮斑移动与瞳孔移动的关系的示例
申请人已经确定在眼睛图像中的亮斑运动和瞳孔移动之间存在关系。图14A和图14B是笛卡尔(x,y)坐标系中亮斑移动与瞳孔移动的示例的图,其中,x轴是水平的,y轴是竖直的。图14A示出了亮斑x位置(以像素为单位)与瞳孔x位置(以像素为单位);图14B示出了亮斑y位置(以像素为单位)与瞳孔y位置(以像素为单位)。在这些示例中,跟踪了四个亮斑(A、B、C和D),并且在测量期间用户的头部没有相对于眼睛跟踪(ET)系统移动。从图14A和图14B可以看出,亮斑移动和瞳孔移动之间存在很强的线性关系。例如,亮斑移动的速度大约是瞳孔移动速度的二分之一。图14A和图14B中的线性关系和斜率的特定值源于用于测量的眼睛跟踪系统的几何形状,并且预计亮斑移动和瞳孔移动之间的类似关系将存在于其他眼睛跟踪系统中(并且可以通过分析眼睛跟踪图像来确定)。如上所述,在一些实施方式中,眼睛跟踪系统可以估计部分或完全遮挡的亮斑的位置。在下文参考图20进一步详细描述的这些实施方式中,眼睛跟踪系统可以利用这种亮斑与瞳孔的关系的概率统计模型,以便估计一个或多个部分或完全遮挡的亮斑的位置。
亮斑与瞳孔的关系连同由亮斑成像提供的亮斑确定的鲁棒性一起可用于提供稳健的瞳孔中心(或旋转中心CoR)的确定。此外,利用亮斑与瞳孔的关系来确定瞳孔位置可以有利地提供上文参考图7的一个或多个模块(诸如模块712或模块720)描述的瞳孔识别和位置确定技术的计算节省。例如,可以根据亮斑图像稳健地确定亮斑位置(例如,达到子像素精度)并且可以至少部分地基于亮斑与瞳孔的关系(参见例如图14A和图14B)预测瞳孔中心(或CoR)的位置的估计。在捕获亮斑图像的相对较短的时间内(例如,每2至10ms),瞳孔中心(或CoR)不会发生明显变化。可以跟踪亮斑位置并且在多个亮斑帧捕获(例如,1至10帧)期间对其进行平均。通过使用亮斑与瞳孔的关系,平均亮斑位置提供对瞳孔位置(或CoR)的估计。在一些实施例中,该估计然后可用于对较长曝光图像的分析以更准确和可靠地确定瞳孔中心(或CoR)。在其他实施例中,该估计单独地可用于通知系统瞳孔中心。因此,在这些实施例的至少一些实施例中,眼睛跟踪模块不需要依赖较长曝光图像来确定瞳孔中心(或CoR)。相反,在这样的实施例中,眼睛跟踪模块可以出于其他目的而依赖较长曝光图像,或者在一些示例中,可以完全放弃捕获这样的较长曝光图像。
注视点渲染的注视预测
如参考图6所描述的,渲染控制器618可以使用来自眼睛跟踪模块614的信息来调整由渲染引擎622(例如,渲染引擎可以是GPU 620中的软件模块并且可以向可穿戴系统200的显示器220提供图像)显示给用户的图像。作为示例,渲染控制器618可以基于用户的旋转中心或视角中心调整显示给用户的图像。
在一些系统中,显示器220中的像素在注视方向附近以比远离注视方向的显示器220的区域(在一些情况下可能根本不渲染)高的渲染分辨率或帧速率进行渲染。这有时被称为注视点渲染并且可以提供显著的计算性能增益,因为主要基本上可以仅渲染注视方向上的像素。注视点渲染提供了增加的渲染带宽并且减少的系统200的功耗。利用注视点渲染的可穿戴系统200的示例在题为“Depth Based Foveated Rendering for DisplaySystems(显示系统基于深度的注视点渲染)”的美国专利公开No.2018/0275410中进行了描述,该专利公开的全部内容在此通过引用并入。
图15示意性地示出了注视点渲染的示例。显示器(例如,显示器220)的视场(FoV)具有示为圆圈1502的注视方向(也被称为中央凹)的原始位置。箭头1504表示眼睛的快速扫视(例如,大约300弧分/秒)。虚线圆圈1506表示在快速扫视的情况下注视方向可能位于其中的不确定区域。区域1506中的显示器像素被渲染,而区域1506之外的显示器像素不被渲染(或以较低的帧速率或分辨率渲染)。区域1506的面积大约增加注视移动到新方向时和图像实际上由渲染管线渲染时之间的时间的平方(有时被称为动显时间标度(motion-to-photon scale))。在可穿戴系统200的各种实施例中,动显时间标度在从大约10ms至100ms的范围内。因此,眼睛跟踪系统能够预测未来注视方向(超出约为显示器的动显时间)可能是有利的,以便渲染管线可以在用户眼睛移到未来注视方向时开始生成用于显示的图像数据。这种用于注视点渲染的未来注视方向预测可以为用户提供多种好处,诸如增加显示器的表观响应性,减少图像生成时的延迟等。
图16示意性地示出了渲染管线的示例时序图1600,其利用多重曝光时间眼睛成像的实施例来进行眼睛跟踪。渲染管线最初空闲1602(等待下一次亮斑曝光),然后捕获亮斑曝光1604(曝光时间可能小于50μs)。亮斑图像由相机堆栈读出1606,并且可以通过仅读出亮斑图像的峰值来减少读出时间。在1608处,亮斑和亮斑位置被提取,并且在1610处,眼睛跟踪系统确定注视。在1612处,渲染器(例如,渲染控制器618和渲染引擎622)渲染图像以供显示。
图17是用于注视点渲染的示例注视预测系统1700的框图。系统1700例如可以被实现为参考图6和图7描述的系统600的一部分。系统1700具有两个管线:用于获取亮斑图像的图像管线和用于处理亮斑并预测未来注视方向到注视预测时间外的亮斑管线。如上所述,用于注视点渲染的注视预测时间可以与系统600的动显时间相当(例如,在各种实施方式中,从10ms至100ms)。对于一些渲染应用,注视预测时间在从大约20ms至50ms的范围内,例如大约25ms至30ms。图17所示的框是说明性的并且在其他实施例中,一个或多个框可以被组合、重组、省略,或者可以向系统1700添加附加框。
在框1702,系统1700接收亮斑图像。亮斑图像的示例是图10B所示的图像1004,其中亮斑的峰值被成像。在框1706,系统可以设置图像的阈值,例如将最低图像像素值的强度值设置为较低阈值(例如,零)。在框1710,抑制或去除亮斑图像中的非最大值,这可以辅助仅发现亮斑峰值。例如,系统1700可以跨图像的行(或列)进行扫描以发现最大值。继续框1710,可以处理接近的最大值以去除一组紧密间隔的最大值(例如,彼此在阈值像素距离(例如,2至20个像素)内的最大值)中的次要的最大值。例如,用户可佩戴隐形眼镜。光源326的反射可发生在隐形眼镜前方和角膜处,从而产生两个间隔很近的亮斑。框1710的非最大值抑制可以消除次要的最大值,从而仅保留主要的或第一镜面反射以供进一步处理。
亮斑管线从图像管线接收处理后的亮斑图像。亮斑跟踪和分类(例如,标记)可以在框1714处执行。如参考图12所述,可以从框1716接收有关先前识别的亮斑的信息(例如,位置、强度等),并且框1714可以使用该信息来识别可能发现每个亮斑的亮斑图像中的搜索区域(这样可减少搜索时间并提高处理效率)。来自框1716的前一亮斑信息还可用于识别亮斑是否已被至少部分地遮挡或者亮斑是否来自角膜的非球形部分。在框1714,可以从亮斑跟踪中去除这种亮斑。或者,如上文参考图13B和图14A至图14B所提到的,在一些实施方式中,眼睛跟踪系统可以估计部分或完全遮挡的亮斑的位置。下面参考图20提供附加细节。
在框1718,系统1700根据从框1714接收的亮斑信息计算当前注视(例如,眼睛光轴或注视矢量)。在框1720,将前一注视信息(例如,根据前一亮斑图像确定的信息)输入到框1722,在框1722处计算未来注视方向。例如,系统1700可以根据当前注视(框1718)和一个或多个前一注视(框1720)进行推断以预测未来注视时间(例如,未来10ms至100ms)的注视。可以将来自框1722的预测注视提供给渲染引擎以启用注视点渲染。
在一些实施例中,系统1700中的管线以亮斑成像高帧速率(例如,100fps至400fps)运行。
图18A至图18D示出了使用注视预测系统1700的实施例来预测未来注视的实验结果。在该示例实验中,亮斑图像帧速率是160fps。图18A示出了当用户眼睛在大约40弧分乘20弧分的视场上移动时四个亮斑中的每一者的亮斑路径。四个亮斑的路径用不同的填充点示出,这些亮斑的均值的路径用空心方块表示。图18B示出了注视预测(短实线)与亮斑均值(被视为该实验的标注数据)的路径(采用空心方块)的比较。未来预测时间为37.5ms,预测使用了来自过去高达18.75ms的亮斑。如从图18B中可以看出,许多预测(即使并非大多数)准确地跟踪了眼睛的平均路径。图18C是眼睛角速度(以每秒度数为单位)与帧的关系的图,其中速度直方图1820在该图的左侧。图18C示出了大部分眼睛移动以相对低的角速度(例如,低于约25度/秒)发生,伴随高达约200度/秒的持续但有些零星或随机的移动。图18D是接收器操作特性(ROC)图,其示出了预测百分比与预测和标注数据(GT)之间的误差的关系。不同的线用于从6.25ms至高达60ms的不同未来预测时间。线越接近垂直(向左),预测越准确。对于接近6.25ms(对于该实验而言,这是帧速率的倒数)的预测时间,误差非常小。误差随着预测时间变长而增加,但即使在50ms的预测时间内,超过90%的注视预测误差小于5个像素。
用于眼睛跟踪的示例方法
图19是示出用于眼睛跟踪的示例方法1900的流程图。方法1900可以由可穿戴显示系统200、400或600的实施例例如使用参考图6和图7描述的眼睛跟踪系统601来执行。在方法1900的各种实施例中,以下描述的框可以以任何合适的顺序或序列来执行,并且框可以被组合或重新排列,或者可以添加其他框。
在框1904,方法1900例如使用眼睛跟踪相机324捕获眼睛的较长曝光图像。较长曝光图像的曝光时间可以在从200μs至1200μs的范围内,例如大约700μs。较长曝光图像的曝光时间可以取决于眼睛跟踪相机324的特性并且在其他实施例中可以是不同的。较长曝光图像的曝光时间应具有足够的动态范围以捕获瞳孔或虹膜的特征。在各种实施例中,可以以从10fps至60fps的范围内的帧速率拍摄较长曝光图像。
在框1908,方法1900例如使用眼睛跟踪相机324来捕获眼睛的较短曝光(亮斑)图像。亮斑图像的曝光时间可以在从5μs至100μs的范围内,例如小于约40μs。较短曝光亮斑图像的曝光时间可以小于在框1904捕获的较长曝光图像的曝光时间。亮斑图像的曝光时间可以取决于眼睛跟踪相机324的特性并且可以在其他实施例中是不同的。亮斑图像的曝光时间应该足以使来自光源326的亮斑的峰值成像。曝光时间可以足以使亮斑不饱和并且具有几个(例如,1至5个)像素的宽度,以便能够实现亮斑中心的子像素定位。较长曝光图像的曝光时间相对于亮斑图像的曝光时间的比率可以在从5至50、10至20或其他范围内。在各种实施例中,可以以从100fps至1000fps的范围内的帧速率拍摄亮斑图像。亮斑图像的帧速率相对于较长曝光图像的帧速率的比率可以在从1至100、1至50、2至20、3至10或一些其他比率的范围内。
在框1912,方法1900(例如,使用CPU 612)可以根据在框1904处获取的较长曝光图像,确定瞳孔中心(或旋转中心CoR)。方法1900可以分析较长曝光图像以针对其他生物识别应用获取其他眼睛特征(例如,虹膜代码)。
在框1916,方法1900(例如,使用CPU 612)可以根据在框1908处获取的亮斑图像,确定亮斑位置。例如,方法1900可以将2D高斯拟合到亮斑图像以确定亮斑位置。其他功能可以在框1916执行。例如,如参考图17所述,方法1900可以设置亮斑图像的阈值,从亮斑图像中去除非最大值或接近的最大值等。方法1900可以跟踪亮斑的“丛”并使用该丛的平均速度来辅助识别估计的亮斑位置,亮斑是否从角膜的非球形区域反射,是否遭遇至少部分地遮挡等。在框1916,方法1900可以利用先前确定的亮斑位置(例如,在前一亮斑图像中)来辅助定位或标记当前亮斑图像中的亮斑。
在框1920,方法1900(例如,使用CPU 612)可以使用根据较长曝光图像和较短曝光亮斑图像确定的信息来确定当前注视。例如,从亮斑图像获取的亮斑位置和从较长曝光图像获取的瞳孔中心可用于确定注视方向。注视方向可以表示为两个角度,例如参考图5A描述的θ(方位角偏转,根据基准方位角确定)和φ(天顶偏转,有时也称为极角偏转)。
在框1924,方法1900(例如,使用CPU 612)可以根据当前注视和一个或多个先前注视,预测未来注视。如参考图15至图17所述,未来注视可以有利地用于注视点渲染。未来注视可以经由外推技术预测。框1924可以预测未来注视时间(例如,计算当前注视的时间之后的10ms至100ms)的未来注视。
在框1928,方法1900(例如,使用渲染控制器618或渲染引擎622)可以渲染虚拟内容以呈现给可穿戴显示系统的用户。如上所述,对于注视点渲染,用户未来注视方向的知识可用于在用户看向未来注视方向时更有效地开始准备用于渲染的虚拟内容,这可有利地减少延迟并提高渲染性能。
在一些实施例中,可穿戴显示系统不利用注视点渲染技术,并且方法1900不预测未来注视方向。在这样的实施例中,框1924是可选的。
如上文参考图13B、图14A至图14B、和图17所提到的,在一些情况下,一个或多个亮斑可能被用户的眼睑、睫毛等部分或完全遮挡。在一些实施方式中,眼睛跟踪系统可以估计部分或全部被遮挡的亮斑的位置。在下文参考图20进一步详细描述的这些实施方式中,眼睛跟踪系统可以利用亮斑与瞳孔的关系的概率统计模型来估计一个或多个部分或完全被遮挡的亮斑的位置。在一些示例中,这样的亮斑与瞳孔的关系可以与上文参考图14A至图14B描述的亮斑与瞳孔的关系中的一个或多个相类似。在一些示例中,眼睛跟踪系统可以响应于确定已检测到少于预定最小阈值数量的亮斑(例如,两个亮斑)而估计一个或多个部分或完全被遮挡的亮斑的位置。在一些实施方式中,眼睛跟踪系统可以将检测到的亮斑位置和/或确定的瞳孔位置应用于亮斑与瞳孔的关系的概率统计模型,以识别图像中预期显示亮斑的区域并估计图像中预期显示亮斑的位置。在一些示例中,眼睛跟踪系统可以同时使用检测到的亮斑位置和估计的亮斑位置来确定眼睛姿势和/或提供估计的亮斑位置以及检测到的亮斑位置以用于输出到一个或多个下游模块。
在一些实施方式中,可以针对每个用户生成和/或适配由眼睛跟踪系统用于亮斑位置估计的概率统计模型。即,在一些实施方式中,眼睛跟踪系统可以基于在一段时间内针对给定用户获得的眼睛跟踪数据(例如,确定的瞳孔位置和确定的亮斑位置),开发作为给定用户瞳孔位置的函数的亮斑位置的模型。如上文参考图14A至图14B所述,瞳孔与亮斑位置之间存在近似线性的关系。这样,眼睛跟踪系统可以通过对针对该用户获得的眼睛跟踪数据执行线性回归,来为给定用户开发这种亮斑与瞳孔的关系的概率统计模型。在一些实施方式中,眼睛跟踪系统可以随时间递归地更新线性拟合,例如在新的眼睛跟踪数据到达时使用最小二乘法。在一些示例中,眼睛跟踪系统可以采用一种或多种卡尔曼滤波技术来随时间更新模型。
图20是示出用于亮斑估计的示例方法2000的流程图。方法2000可以由可穿戴显示系统200、400、或600的实施例例如使用参考图6和图7描述的眼睛跟踪系统601来执行。在方法2000的各种实施例中,可以以任何合适的顺序或次序来执行下面描述的框,这些框可以被组合或重新排列,或者可以添加或去除其他框或执行上述任何操作的组合。
在一些实施方式中,方法2000可以由头戴式系统执行,该头戴式系统包括:一个或多个相机,其被配置为捕获用户眼睛的图像;多个光源(例如,红外光源),其被配置为照射用户眼睛,以使得在由一个或多个相机捕获的用户眼睛图像中产生亮斑;以及一个或多个处理器,其与一个或多个相机耦合。在至少一些这样的实施方式中,方法2000的一些或所有操作可以至少部分地由系统的一个或多个处理器执行。在一些示例中,多个光源可以包括三个或更多个光源。
在框2002,方法2000可以包括接收用户眼睛的图像。这例如可以与一个或多个处理器从一个或多个相机接收图像相对应。在框2004,方法2000可以包括在图像中检测一组一个或多个亮斑。例如,在框2004,可以采用此处描述的一种或多种亮斑检测技术来在图像中检测显示亮斑的位置。
在框2006处,方法2000可以包括确定所检测到的一组一个或多个亮斑是否包括少于最小数量的亮斑。例如,这可以包括确定所检测到的一组一个或多个亮斑是否包括少于两个亮斑。
响应于在框2006确定所检测到的一组一个或多个亮斑包括少于最小数量的亮斑,可以执行与框2008相关联的操作。例如,由于一个或多个亮斑被部分或全部遮挡,所检测的一组一个或多个亮斑可以包括少于最小数量的亮斑。在框2008,方法2000可以包括将所检测的一组一个或多个亮斑应用于模型,以估计图像中的一组一个或多个亮斑。例如,这样的模型可以与亮斑与瞳孔的关系的概率统计模型相对应。在一些实施方式中,可以针对每个用户生成和/或适配这样的模型。例如,所估计的一组一个或多个亮斑位置可以与图像中可以显示一个或多个亮斑的位置相对应,前提是这些亮斑未被部分或完全遮挡。
在框2010,方法2000可以包括基于所检测到的一组一个或多个亮斑和所估计的一组一个或多个亮斑,确定眼睛的姿势。在框2010之后,在框2012,方法2000可以包括至少部分地基于所检测到的一组一个或多个亮斑更新模型。例如,这可以包括随时间更新线性拟合,例如使用最小二乘法。
响应于在框2006确定所检测到的一组一个或多个亮斑至少包括最小数量的亮斑,可以执行与框2011相关联的操作。在框2011,方法2000可以包括基于所检测到的一组一个或多个亮斑,确定眼睛的姿势。在框2011之后,在框2012,方法2000可以包括至少部分地基于所检测到的一组一个或多个亮斑,更新模型。
在一些实施方式中,方法2000还可以包括识别在用户眼睛图像中的显示用户眼睛的瞳孔中心的位置。在这些实施方式中,在框2008,方法2000可以包括将所识别的的瞳孔中心的位置和所检测到的一组一个或多个亮斑应用于模型,以估计图像中一组一个或多个亮斑。
在框2012之后,在框2002,方法2000可以包括接收用户眼睛的另一图像。在框2004之后并且响应于在框2006确定所检测到的一组一个或多个亮斑包括少于最小数量的亮斑,可以执行与框2008相关联的操作。然而,在这个时刻,与框2008相关联的这些操作包括将所检测到的一组一个或多个亮斑应用于在框2012更新的模型,以估计图像中的一组一个或多个亮斑。方法2000中的这种递归展现了概率统计模型可能如何随时间针对给定用户更新。
另外,在至少一些这样的实施方式中,方法2000还可以包括将所识别的用户眼睛的瞳孔中心的位置应用于模型,以识别在用户眼睛图像中的预期分别显示多个亮斑的多个区域。在一些示例中,图像中的这类所识别区域可以与本文描述的“搜索”区或区域间中的一个或多个相类似。在这样的实施方式中,在框2004,方法2000可以包括分别检测多个所识别区域中的一个或多个中的一组一个或多个位置。
在一些这样的实施方式中,在框2008,方法2000可以包括(i)将所识别的用户眼睛的瞳孔中心的位置应用于概率统计模型,以识别用户眼睛图像中预期分别显示一个或多个亮斑的一个或多个区域,以及(ii)将所检测到的一组一个或多个亮斑位置应用于概率统计模型,以估计用户眼睛图像中分别显示一个或多个亮斑的一个或多个所识别区域中的一组一个或多个位置。
在一些这样的实施方式中,在框2012,方法2000可以包括基于所识别的用户眼睛瞳孔的中心的位置和所检测到的一组一个或多个亮斑位置,更新概率统计模型。
在一些示例中,在2010,方法2000可以包括至少部分地基于检测到的一组一个或多个亮斑位置和所估计的一组一个或多个亮斑位置,确定用户眼睛角膜的中心的位置、用户眼睛旋转的中心的位置、和/或用户眼睛的注视方向。因此,在各种示例中,在2010,方法2000可以包括至少部分地基于所检测到的一组一个或多个亮斑位置和所估计的一组一个或多个亮斑位置,确定与用户眼睛或与用户眼睛的视觉(例如,透视中心)相关联的一个或多个量。
示例
1.一种头戴式系统,包括:
一个或多个相机,其被配置为捕获用户的眼睛的图像;
多个光源,其被配置为照射所述用户的眼睛,以使得在由所述一个或多个相机捕获的所述用户的眼睛的图像中产生亮斑,其中,被包括在所述多个光源中的光源总数大于或等于特定值;以及
一个或多个处理器,其被可操作地耦合到所述一个或多个相机,所述一个或多个处理器被配置为:
从所述一个或多个相机接收所述用户的眼睛的图像;
在所述用户的眼睛的所述图像中检测分别显示一个或多个亮斑的一组一个或多个位置;
确定被包括在所检测到的一组一个或多个亮斑位置中的位置总数是否小于所述特定值;
响应于确定被包括在所检测到的一组一个或多个亮斑位置中的所述位置总数小于所述特定值:
将所检测到的一组一个或多个亮斑位置应用于概率统计模型,以估计在所述用户的眼睛的所述图像中的分别显示一个或多个亮斑的一组一个或多个位置,所估计的一组一个或多个亮斑位置不同于所检测到的一组一个或多个亮斑位置;以及
至少部分地基于所检测到的一组一个或多个亮斑位置和所估计的一组一个或多个亮斑位置,确定所述用户的眼睛的姿势。
2.根据权利要求1所述的系统,其中,所述一个或多个处理器还被配置为:
识别在所述用户的眼睛的所述图像中的显示所述用户的眼睛的瞳孔中心的位置;
其中,为了将所检测到的一组一个或多个亮斑位置应用于所述概率统计模型以估计在所述用户的眼睛的所述图像中的分别显示一个或多个亮斑的所述一组一个或多个位置,所述一个或多个处理器被配置为:
将所识别的所述用户的眼睛的所述瞳孔中心的位置和所检测到的一组一个或多个亮斑位置应用于所述概率统计模型,以估计在所述用户的眼睛的所述图像中的分别显示一个或多个亮斑的所述一组一个或多个位置。
3.根据权利要求2所述的系统,其中,所述一个或多个处理器还被配置为:
将所识别的所述用户的眼睛的所述瞳孔中心的位置应用于所述概率统计模型,以识别在所述用户的眼睛的所述图像中的预期分别显示多个亮斑的多个区域,其中,被包括在所述多个所识别区域中的区域总数大于或等于所述特定值;以及
其中,为了检测在所述用户的眼睛的所述图像中的分别显示一个或多个亮斑的所述一组一个或多个位置,所述一个或多个处理器被配置为:
分别检测在所述多个所识别区域中的一个或多个区域中的一组一个或多个位置。
4.根据权利要求2所述的系统,其中,为了将所识别的所述户的眼睛的所述瞳孔中心的位置和所检测到的一组一个或多个亮斑位置应用于所述概率统计模型以估计在所述用户的眼睛的所述图像中的分别显示一个或多个亮斑的所述一组一个或多个位置,所述一个或多个处理器被配置为:
将所识别的所述用户的眼睛的所述瞳孔中心的位置应用于所述概率统计模型,以识别在所述用户的眼睛的所述图像中的预期分别显示一个或多个亮斑的一个或多个区域;以及
将所检测到的一组一个或多个亮斑位置应用于所述概率统计模型,以估计在所述用户的眼睛的所述图像的所述一个或多个所识别区域中的分别显示一个或多个亮斑的一组一个或多个位置。
5.根据权利要求2所述的系统,其中,所述一个或多个处理器还被配置为:基于所识别的所述用户的眼睛的所述瞳孔中心的位置和所检测到的一组一个或多个亮斑位置,更新所述概率统计模型。
6.根据权利要求1所述的系统,其中,所述特定值对应于值2。
7.根据权利要求6所述的系统,其中,被包括在所述多个光源中的所述光源总数大于或等于值3。
8.根据权利要求1所述的系统,其中,所述多个光源包括多个红外光源。
9.根据权利要求1所述的系统,其中,为了至少部分地基于所检测到的一组一个或多个亮斑位置和所估计的一组一个或多个亮斑位置,确定所述用户的眼睛的姿势,所述一个或多个处理器配置为:
至少部分地基于所检测到的一组一个或多个亮斑位置和所估计的一组一个或多个亮斑位置,确定所述用户的眼睛的角膜中心的位置。
10.根据权利要求1所述的系统,其中,为了至少部分地基于所检测到的一组一个或多个亮斑位置和所估计的一组一个或多个亮斑位置,确定所述用户的眼睛的姿势,所述一个或多个处理器被配置为:
至少部分地基于所检测到的一组一个或多个亮斑位置和所估计的一组一个或多个亮斑位置,确定所述用户的眼睛的旋转中心的位置。
11.根据权利要求1所述的系统,其中,为了至少部分地基于所检测到的一组一个或多个亮斑位置和所估计的一组一个或多个亮斑位置,确定所述用户的眼睛的姿势,所述一个或多个处理器被配置为:
至少部分地基于所检测到的一组一个或多个亮斑位置和所估计的一组一个或多个亮斑位置,确定所述用的户眼睛的注视方向。
12.根据权利要求1所述的系统,其中,所述一个或多个处理器还被配置为:
响应于确定被包括在所检测到的一组一个或多个亮斑位置中的所述位置总数大于所述特定值:
至少部分地基于所检测到的一组一个或多个亮斑位置,确定所述用户的眼睛的姿势。
附加示例
示例1.一种头戴式系统,包括:
一个或多个相机,其被配置为捕获用户眼睛的图像;
一个或多个光源,其被配置为照射所述用户的眼睛,以使得在由所述一个或多个相机捕获的所述用户的眼睛的图像中产生多个亮斑;以及
一个或多个处理器,其被可操作地耦合到所述一个或多个相机,所述一个或多个处理器被配置为:
从所述一个或多个相机接收所述用户的眼睛的一个或多个图像;
检测一个或多个亮斑并确定与所述一个或多个检测到的亮斑相关联的相应位置;
确定被包括在一个或多个所检测到的亮斑中的亮斑总量是否小于预期的亮斑数量;
响应于确定一个或多个所检测到的亮斑中的所述亮斑总数小于所述预期的亮斑数量:
估计与所述一个或多个所检测到的亮斑不同的一个或多个相应亮斑的一个或多个位置,所估计的一个或多个亮斑位置不同于与所检测到的一个或多个亮斑相关联的所述位置;以及
至少部分地基于与所述一个或多个所检测到的亮斑相关联的所述位置和所估计的一个或多个亮斑位置,确定所述用户的眼睛的姿势。
示例2:根据示例1所述的系统,其中,所述一个或多个光源包括多个光源。
示例3.根据示例2所述的系统,其中,所述光源中的相应光源形成对应的亮斑。
示例4.根据示例1至3中任一项所述的系统,其中,所述一个或多个光源包括一个或多个红外光源。
示例5.根据上述示例中任一项所述的系统,其中,确定被包括在所述一个或多个所检测到的亮斑中的亮斑总数包括确定被包括在与所述一个或多个检测到的亮斑相关联的所述一个或多个确定的位置中的所述亮斑位置总数。
示例6.根据上述示例中任一项所述的系统,其中,估计与所述一个或多个检测到的亮斑不同的一个或多个相应亮斑的一个或多个位置包括将与所检测到的一个或多个亮斑相关联的所述相应位置应用于概率统计模型。
示例7.根据上述示例中任一项所述的系统,其中,所述一个或多个处理器还被配置为识别与所述用户的眼睛的瞳孔中心相关联的位置。
示例8.根据示例7所述的系统,其中,所述一个或多个处理器被配置为使用所识别的与所述用户的眼睛的所述瞳孔中心相关联的位置以及与所述一个或多个所检测到的亮斑相关联的相应亮斑位置以提供与所述一个或多个所检测到的亮斑不同的一个或多个相应亮斑的所述估计的一个或多个位置。
示例9.根据示例7或8所述的系统,其中,所述一个或多个处理器被配置为将所识别的与所述用户的眼睛的所述瞳孔中心相关联的位置以及与所述一个或多个所检测到的亮斑相关联的所述相应亮斑位置应用于概率统计模型,以提供与所述一个或多个所检测到的亮斑不同的一个或多个相应亮斑的所述估计的一个或多个位置。
示例10.根据上述示例中任一项所述的系统,其中,所述一个或多个处理器还被配置为在所述用户的眼睛的所述图像中识别预期显示多个相应亮斑的多个区域。
示例11.根据示例10所述的系统,其中,包括在所述多个所识别区域中的所述区域的总数大于或等于所述预期的亮斑数量。
示例12.根据示例10或11所述的系统,其中,为了确定与所述一个或多个所检测到的亮斑相关联的相应位置,所述一个或多个处理器被配置为在所述多个所识别区域中的一个或多个中确定一个或多个相应位置。
示例13.根据示例12所述的系统,其中,为了确定与所述一个或多个所检测到的亮斑相关联的相应位置,所述一个或多个处理器被配置为使用所识别的所述眼睛的所述瞳孔中心的位置。
示例14.根据示例12所述的系统,其中,为了确定与所述一个或多个所检测到的亮斑相关联的相应位置,所述一个或多个处理器被配置为将所识别的所述用户的眼睛的所述瞳孔中心的位置应用于概率统计模型。
示例15.根据示例7至9中任一项所述的系统,其中,使用所识别的所述用户的眼睛的所述瞳孔中心的位置以及与所述一个或多个所检测到的亮斑相关联的相应位置来估计与所述一个或多个所检测到的亮斑不同的一个或多个相应亮斑的所述一个或多个位置,所述一个或多个处理器被配置为使用所识别的所述瞳孔中心的位置来识别预期一个或多个相应亮斑的一个或多个区域,并估计所述一个或多个所识别区域中的与所述一个或多个所检测到的亮斑不同的一个或多个相应亮斑的所述一个或多个位置。
示例16.根据示例7至9和15中任一项所述的系统,其中,所识别的所述用户的眼睛的所述瞳孔中心的位置以及与所述一个或多个所检测到的亮斑相关联的所述相应位置被应用于所述概率统计模型,以估计与所述一个或多个所检测到的亮斑不同的一个或多个相应亮斑的所述一个或多个位置,所述一个或多个处理器被配置为将所识别的所述用户的眼睛的所述瞳孔中心的位置应用于所述概率统计模型,以识别预期一个或多个相应亮斑的一个或多个区域,以将与所述一个或多个所检测到的亮斑相关联的所述一个或多个相应位置应用于所述概率统计模型,以在所述一个或多个所识别的相应区域中估计一个或多个位置。
示例17.根据示例6、9、14、和16中任一项所述的系统,其中,所述一个或多个处理器还被配置为基于与所述一个或多个所检测到的亮斑相关联的所述相应位置,更新所述概率统计模型。
示例18.根据示例6、9、14、16、和17中任一项所述的系统,其中,所述一个或多个处理器还被配置为基于所识别的所述用户的眼睛的所述瞳孔中心的位置,更新所述概率统计模型。
示例19.根据上述示例中任一项所述的系统,其中,被包括在所述多个光源中的所述光源总数包括两个。
示例20.根据上述示例中任一项所述的系统,其中,被包括在所述多个光源中的所述光源总数大于或等于值3。
示例21.根据上述示例中任一项所述的系统,其中,所检测到的亮斑数量是两个。
示例22.根据上述示例中任一项所述的系统,其中,所述预期的亮斑数量大于或等于值3。
示例23.根据上述示例中任一项所述的系统,其中,为了至少部分地基于与所述一个或多个所检测到的亮斑相关联的所述相应位置和所估计的与所述一个或多个所检测到的亮斑不同的一个或多个相应亮斑的一个或多个位置,确定所述用户的眼睛的姿势,所述一个或多个处理器被配置为至少部分地基于与所述一个或多个所检测到的亮斑相关联的所述相应位置和所估计的一个或多个亮斑位置,确定所述用户的眼睛的角膜中心的位置。
示例24.根据上述示例中任一项所述的系统,其中,为了至少部分地基于与所述一个或多个所检测到的亮斑相关联的所述相应位置和所估计的与所述一个或多个所检测到的亮斑不同的一个或多个相应亮斑的一个或多个位置,确定所述用户的眼睛的姿势,所述一个或多个处理器被配置为至少部分地基于与所述一个或多个所检测到的亮斑相关联的所述相应位置和所估计的一个或多个亮斑位置,确定所述用户的眼睛的旋转中心的位置。
示例25.根据上述示例中任一项所述的系统,其中,为了至少部分地基于与所述一个或多个所检测到的亮斑相关联的所述相应位置和所估计的与所述一个或多个所检测到的亮斑不同的一个或多个相应亮斑的一个或多个位置,确定所述用户的眼睛的姿势,所述一个或多个处理器被配置为至少部分地基于与所述一个或多个所检测到的亮斑相关联的所述位置和所估计的一个或多个亮斑位置,确定所述用户的眼睛的注视方向。
示例26.根据上述示例中任一项所述的系统,其中,所述一个或多个处理器还被配置为响应于确定包括在与所述一个或多个所检测到的亮斑相关联的所确定的位置中的所述亮斑位置总数大于特定值,至少部分地基于与所述一个或多个所检测到的亮斑相关联的所确定位置,确定所述用户的眼睛的姿势。
示例27.根据上述示例中任一项所述的系统,其中,确定与所述一个或多个所检测到的亮斑相关联的相应位置包括在所述用户的眼睛的所述图像中确定显示一个或多个相应亮斑的一个或多个位置。
示例28.根据上述示例中任一项所述的系统,其中,估计一个或多个相应亮斑的一个或多个位置包括在所述用户眼睛的所述图像中估计显示一个或多个相应亮斑的位置。
示例29.根据上述示例中任一项所述的系统,其中,确定与所述一个或多个所检测到的亮斑相关联的相应位置包括在所述用户眼睛的所述图像中确定分别显示一个或多个亮斑的一组一个或多个位置。
示例30.根据上述示例中任一项所述的系统,其中,估计一个或多个相应亮斑的一个或多个位置包括在所述用户眼睛的所述图像中估计分别显示一个或多个亮斑的一组一个或多个位置。
示例31.根据上述示例中任一项所述的系统,其中,识别与所述用户的眼睛的瞳孔中心相关联的位置包括在所述用户眼睛的所述图像中识别显示所述用户的眼睛的瞳孔中心的位置。
示例32.根据上述示例中任一项所述的系统,其中,为了至少部分地基于与所述一个或多个所检测到的亮斑相关联的所述相应位置和所估计的与所述一个或多个检测到的亮斑不同的一个或多个相应亮斑的一个或多个位置,确定所述用户的眼睛的姿势,所述一个或多个处理器被配置为至少部分地基于与所述一个或多个所检测到的亮斑相关联的相应位置和所估计的一个或多个亮斑位置,确定所述用户的眼睛的透视中心的位置。
示例33.根据上述示例中任一项所述的系统,其中,与所述一个或多个所检测到的亮斑相关联的所述位置包括所述一个或多个所检测到的亮斑的位置。
示例34.根据上述示例中任一项所述的系统,其中,与所述一个或多个所检测到的亮斑相关联的所述位置包括在用户的眼睛的一个或多个图像中的所述一个或多个所检测到的亮斑的位置。
示例35.根据上述示例中任一项所述的系统,其中,所述头戴式系统包括头戴式显示器,其被配置为通过将光输出到所述头戴式显示器的穿戴者的眼睛来呈现虚拟内容。
示例36.根据上述示例中任一项所述的系统,其中,所述头戴式系统包括增强现实头戴式显示器。
示例37.根据上述示例中任一项所述的系统,其中,所述预期的亮斑数量对应于光源数量。
与美国专利申请No.16/751076相关的示例(代理人案卷:MLEAP.224A/ML-0592US)
示例1.一种可穿戴显示系统,包括:
头戴式显示器,其被配置为通过将光输出到所述头戴式显示器的穿戴者的眼睛来呈现虚拟内容;
光源,其被配置为将光朝向所述穿戴者的眼睛引导;
眼睛跟踪相机,其被配置为捕获:
以第一帧速率和第一曝光时间捕获的所述穿戴者的眼睛的第一图像;以及
以大于或等于所述第一帧速率的第二帧速率和比所述第一曝光时间短的第二曝光时间捕获所述穿戴者的眼睛的第二图像;以及
硬件处理器,其被通信耦合到所述头戴式显示器和所述眼睛跟踪相机,所述硬件处理器被编程为:
分析所述第一图像以确定所述眼睛的瞳孔中心;
分析所述第二图像以确定所述光源从所述眼睛的反射位置;
根据所述瞳孔中心和所述反射位置,确定所述眼睛的注视方向;
根据所述注视方向和先前注视方向数据,估计所述眼睛在未来注视时间的未来注视方向;以及
使所述头戴式显示器至少部分地基于所述未来注视方向,在所述未来注视时间呈现所述虚拟内容。
示例2.根据示例1所述的可穿戴显示系统,其中,所述光源包括红外光源。
示例3.根据示例1或示例2所述的可穿戴显示系统,其中,所述硬件处理器被编程为分析所述第一图像或所述第二图像以确定所述穿戴者的眼睛的旋转中心或透视中心。
示例4.根据示例1至3中任一项所述的可穿戴显示系统,其中,为了分析所述第二图像,所述硬件处理器被编程为:将阈值应用于所述第二图像,识别所述第二图像中的非最大值,或抑制或移除所述第二图像中的非最大值。
示例5.根据示例1至4中任一项所述的可穿戴显示系统,其中,为了分析所述第二图像,所述硬件处理器被编程为至少部分地基于所述光源在来自所述第二图像的先前图像中的所述反射位置,在所述光源在来自所述第二图像的当前图像中的所述反射的搜索区域。
示例6.根据示例1至5中任一项所述的可穿戴显示系统,其中,为了分析所述第二图像,所述硬件处理器被编程为:确定所述光源的多次反射的共同速度;以及
确定所述光源的所述反射的速度是否与所述共同速度相差一阈值量以上。
示例7.根据示例1至6中任一项所述的可穿戴显示系统,其中,为了分析所述第二图像,所述硬件处理器被编程为确定所述光源的所述反射是否来自所述眼睛的角膜的非球形部分。
示例8.根据示例1至7中任一项所述的可穿戴显示系统,其中,为了分析所述第二图像,所述硬件处理器被编程为识别所述光源的所述反射的至少部分遮挡的存在。
示例9.根据示例1至8中任一项所述的可穿戴显示系统,其中,所述硬件处理器被编程为至少部分地基于所述光源的所述反射位置和亮斑与瞳孔的关系,确定所述瞳孔中心的估计位置。
示例10.根据示例9所述的可穿戴显示系统,其中,所述亮斑与瞳孔的关系包括亮斑位置和瞳孔中心位置之间的线性关系。
示例11.根据示例1至10中任一项所述的可穿戴显示系统,其中,所述第一曝光时间在从200μs至1200μs的范围内。
示例12.根据示例1至11中任一项所述的可穿戴显示系统,其中,所述第一帧速率在从每秒10帧至每秒60帧的范围内。
示例13.根据示例1至12中任一项所述的可穿戴显示系统,其中,所述第二曝光时间在从5μs至100μs的范围内。
示例14.根据示例1至13中任一项所述的可穿戴显示系统,其中,所述第二帧速率在从每秒100帧至每秒1000帧的范围内。
示例15.根据示例1至14中任一项所述的可穿戴显示系统,其中,所述第一曝光时间与所述第二曝光时间的比率在从5至50的范围内。
示例16.根据示例1至15中任一项所述的可穿戴显示系统,其中,所述第二帧速率与所述第一帧速率的比率在从1至100的范围内。
示例17.根据示例1至16中任一项所述的可穿戴显示系统,其中,所述未来注视时间在从5ms至100ms的范围内。
示例18.根据示例1至17中任一项所述的可穿戴显示系统,其中,所述硬件处理器包括:
第一硬件处理器,其被设置在所述穿戴式显示系统的非头戴式部件上;以及
第二硬件处理器,其被设置在所述头戴式显示器中或在所述头戴式显示器上,
其中,所述第一硬件处理器用于分析所述第一图像,以及
其中,所述第二硬件处理器用于分析所述第二图像。
示例19.根据示例18所述的可穿戴显示系统,其中,所述第二硬件处理器包括或与存储器缓冲器相关联,所述存储器缓冲器被配置为存储所述第二图像中的每一个的至少一部分,并且其中,所述第二硬件处理器被编程为在确定所述光源从所述眼睛的所述反射位置之后去除所述第二图像中的每一个的所述至少一部分。
示例20.根据示例1至19中任一项所述的可穿戴显示系统,其中,所述硬件处理器被编程为不将所述第一图像与所述第二图像组合。
示例21.一种用于眼睛跟踪的方法,所述方法包括:
由眼睛跟踪相机以第一帧速率和第一曝光时间捕获眼睛的第一图像;
由眼睛跟踪相机以大于或等于所述第一帧速率的第二帧速率和比所述第一曝光时间短的第二曝光时间捕获所述眼睛的第二图像;
至少根据所述第一图像确定所述眼睛的瞳孔中心;
至少根据所述第二图像确定光源从所述眼睛的反射位置;以及
根据所述瞳孔中心和所述反射位置确定所述眼睛的注视方向。
示例22.根据示例21所述的方法,还包括至少部分地基于所述注视方向,使显示器渲染现虚拟内容。
示例23.根据示例21或示例22所述的方法,还包括至少部分地基于所述注视方向和先前注视方向数据,估计在未来注视时间的未来注视方向。
示例24.根据示例23所述的方法,还包括至少部分地基于所述未来注视方向,使显示器渲染虚拟内容。
示例25.根据示例21至24中任一项所述的方法,其中,所述第一曝光时间在从200μs至1200μs的范围内。
示例26.根据示例21至25中任一项所述的方法,其中,所述第一帧速率在从每秒10帧至每秒60帧的范围内。
示例27.根据示例21至26中任一项所述的方法,其中,所述第二曝光时间在从5μs至100μs的范围内。
示例28.根据示例21至27中任一项所述的方法,其中,所述第二帧速率在从每秒100帧至每秒1000帧的范围内。
示例29.根据示例21至28中任一项所述的方法,其中,所述第一曝光时间与所述第二曝光时间的比率在从5至50的范围内。
示例30.根据示例21至29中任一项所述的方法,其中,所述第二帧速率与所述第一帧速率的比率在从1至100的范围内。
示例31.一种可穿戴显示系统,包括:
头戴式显示器,其被配置为通过将光输出到所述头戴式显示器的穿戴者的眼睛来呈现虚拟内容;
光源,其被配置为将光朝向所述穿戴者的眼睛引导;
眼睛跟踪相机,其被配置为捕获所述穿戴者的眼睛的图像,所述眼睛跟踪相机被配置为交替地进行以下操作:
以第一曝光时间捕获第一图像;以及
以比所述第一曝光时间短的第二曝光时间捕获第二图像;以及
多个电子硬件部件,其中,多个电子硬件部件中的至少一个包括与所述头戴式显示器、所述眼睛跟踪相机、以及所述多个电子硬件部件中的至少一个其他电子硬件部件通信耦合的硬件处理器,其中所述硬件处理器被编程为:
接收由所述眼睛跟踪相机以所述第一曝光时间捕获的所述穿戴者的眼睛的每个第一图像并将其中继到所述至少一个其他电子硬件部件;
接收由所述眼睛跟踪相机以所述第二曝光时间捕获的所述穿戴者的眼睛的每个第二图像的像素并将其存储到缓冲器;
分析存储在所述缓冲器中的所述像素以在由所述眼睛跟踪相机以所述第二曝光时间捕获的所述穿戴者的眼睛的每个第二图像中识别出现所述光源反射的位置;以及
将指示所述位置的位置数据发送到所述至少一个其他电子硬件部件;
其中,所述至少一个其他电子硬件部件被配置为:
分析由所述眼睛跟踪相机以所述第一曝光时间捕获的所述穿戴者的眼睛的每个第一图像以识别所述眼睛的瞳孔中心的位置;以及
根据所述瞳孔中心的位置和从所述硬件处理器接收到的所述位置数据,确定所述穿戴者的眼睛的注视方向。
示例32.根据示例31所述的可穿戴显示系统,其中,所述第一曝光时间在从200μs至1200μs的范围内。
示例33.根据示例31或示例32所述的可穿戴显示系统,其中,所述第二曝光时间在从5μs至100μs的范围内。
示例34.根据示例31至33中任一项所述的可穿戴显示系统,其中,所述眼睛跟踪相机被配置为以在从每秒10帧至每秒60帧的范围内的第一帧速率捕获所述第一图像。
示例35.根据示例31至34中任一项所述的可穿戴显示系统,其中,所述眼睛跟踪相机被配置为以在从每秒100帧至每秒1000帧的范围内的第二帧速率捕获所述第二图像。
示例36.根据示例31至35中任一项所述的可穿戴显示系统,其中,所述第一曝光时间与所述第二曝光时间的比率在从5至50的范围内。
示例37.根据示例31至36中任一项所述的可穿戴显示系统,其中,所述至少一个其他电子硬件部件被设置在所述可穿戴显示系统的非头戴式部件中或在所述可穿戴显示系统的非头戴式部件上。
示例38.根据示例37所述的可穿戴显示系统,其中,所述非头戴式部件包括腰包。
示例39.根据示例31至38中任一项所述的可穿戴显示系统,其中,所述眼睛的每个第二图像的所述像素包括比每个第二图像的所有像素少的像素。
示例40.根据示例31至39中任一项所述的可穿戴显示系统,其中,所述像素包括n×m像素阵列,其中,n和m中的每一个是从1至20的范围内的整数。
示例41.根据示例31至40中任一项所述的可穿戴显示系统,其中,所述多个电子硬件部件还被配置为:
根据所述注视方向和先前注视方向数据,估计所述眼睛在未来注视时间的未来注视方向;以及
使所述头戴式显示器至少部分地基于所述未来注视方向,在所述未来注视时间呈现虚拟内容。
示例42.根据示例31至41中任一项所述的可穿戴显示系统,其中,所述硬件处理器被编程为:将阈值应用于存储在所述缓冲器中的所述像素,识别存储在所述缓冲器中的所述像素中的非最大值,或者抑制或移除存储在所述缓冲器中的所述像素中的非最大值。
示例43.根据示例31至42中任一项所述的可穿戴显示系统,其中,所述硬件处理器被编程为:
确定所述光源的所述反射的共同速度;以及
确定所述光源的反射速度是否与所述共同速度相差一阈值量以上。
示例44.根据示例31至43中任一项所述的可穿戴显示系统,其中,所述硬件处理器被编程为确定所述光源的所述反射位置是否来自所述眼睛的角膜的非球形部分。
示例45.根据示例31至44中任一项所述的可穿戴显示系统,其中,所述硬件处理器被编程为识别所述光源的所述反射的至少部分遮挡的存在。
示例46.根据示例31至45中任一项所述的可穿戴显示系统,其中,所述至少一个其他电子硬件部件被编程为至少部分地基于所述光源的所述反射的位置和亮斑与瞳孔的关系,识别所述瞳孔中心的位置。
其他考虑事项
在此描述和/或在附图中示出的处理、方法和算法中的每一者可以体现在由被配置为执行特定和特殊计算机指令的一个或多个物理计算系统、硬件计算机处理器、专用电路和/或电子硬件执行的代码模块中,并且由所述代码模块完全或部分地自动执行。例如,计算系统可以包括用特定计算机指令编程的通用计算机(例如,服务器)或专用计算机、专用电路等。代码模块可以被编译并链接到可执行程序中,被安装在动态链接库中,或者可以用解译的编程语言编写。在一些实施方式中,特定操作和方法可以由专用于给定功能的电路来执行。
此外,本公开的功能的某些实施方式在数学上、计算上或技术上足够复杂,因此必需专用硬件或一个或多个物理计算设备(利用适当的专用可执行指令)来执行功能,例如由所涉及的计算量或复杂性决定,或基本实时地提供结果。例如,动画或视频可以包括许多帧,每帧具有数百万个像素,并且需要专门编程的计算机硬件来处理视频数据以在商业上合理的时间内提供所需的图像处理任务或应用。此外,AR、MR、VR可穿戴设备的实时眼睛跟踪在计算上具有挑战性,并且多重曝光时间眼睛跟踪技术可能会利用高效的CPU、GPU、ASIC或FPGA。
代码模块或任何类型的数据可以存储在任何类型的非暂时性计算机可读介质上,诸如物理计算机存储装置,其中包括硬盘驱动器、固态存储器、随机存取存储器(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各自存在。
类似地,尽管操作在附图中示出为采取特定次序,但应认识到,这些操作不需要以所示的特定次序或按顺序次序执行,或者执行所有示出的操作以实现所需的结果。此外,附图可以以流程图的形式示意性地示出一个或多个示例处理。然而,其他未示出的操作可以被并入示意性说明的示例方法和处理中。例如,一个或多个附加操作可以在任何所示的操作之前、之后、之间执行,或者与其并行地执行。另外,在其他实施方式中,操作可以被重新排列或排序。在某些情况下,多任务和并行处理是有利的。此外,上述实施方式中的各种系统部件的分离不应该被理解为在所有实施方式中都需要这种分离,需要理解,所描述的程序部件和系统通常可以一起被集成在单个软件产品中或者被封装到多个软件产品中。另外,其他实施方式在以下权利要求的范围内。在一些情况下,权利要求中列出的动作可以以不同的次序执行并且仍能实现所需的结果。

Claims (12)

1.一种头戴式系统,包括:
一个或多个相机,其被配置为捕获用户的眼睛的图像;
多个光源,其被配置为照射所述用户的眼睛,以使得在由所述一个或多个相机捕获的所述用户的眼睛的图像中产生亮斑,其中,被包括在所述多个光源中的光源总数大于或等于特定值;以及
一个或多个处理器,其被可操作地耦合到所述一个或多个相机,所述一个或多个处理器被配置为:
从所述一个或多个相机接收所述用户的眼睛的图像;
在所述用户的眼睛的所述图像中检测分别显示一个或多个亮斑的一组一个或多个位置;
确定被包括在所检测到的一组一个或多个亮斑位置中的位置总数是否小于所述特定值;
响应于确定被包括在所检测到的一组一个或多个亮斑位置中的所述位置总数小于所述特定值:
将所检测到的一组一个或多个亮斑位置应用于概率统计模型,以估计在所述用户的眼睛的所述图像中的分别显示一个或多个亮斑的一组一个或多个位置,所估计的一组一个或多个亮斑位置不同于所检测到的一组一个或多个亮斑位置;以及
至少部分地基于所检测到的一组一个或多个亮斑位置和所估计的一组一个或多个亮斑位置,确定所述用户的眼睛的姿势。
2.根据权利要求1所述的系统,其中,所述一个或多个处理器还被配置为:
识别在所述用户的眼睛的所述图像中的显示所述用户的眼睛的瞳孔中心的位置;
其中,为了将所检测到的一组一个或多个亮斑位置应用于所述概率统计模型以估计在所述用户的眼睛的所述图像中的分别显示一个或多个亮斑的所述一组一个或多个位置,所述一个或多个处理器被配置为:
将所识别的所述用户的眼睛的所述瞳孔中心的位置和所检测到的一组一个或多个亮斑位置应用于所述概率统计模型,以估计在所述用户的眼睛的所述图像中的分别显示一个或多个亮斑的所述一组一个或多个位置。
3.根据权利要求2所述的系统,其中,所述一个或多个处理器还被配置为:
将所识别的所述用户的眼睛的所述瞳孔中心的位置应用于所述概率统计模型,以识别在所述用户的眼睛的所述图像中的预期分别显示多个亮斑的多个区域,其中,被包括在所述多个所识别区域中的区域总数大于或等于所述特定值;以及
其中,为了检测在所述用户的眼睛的所述图像中的分别显示一个或多个亮斑的所述一组一个或多个位置,所述一个或多个处理器被配置为:
分别检测在所述多个所识别区域中的一个或多个区域中的一组一个或多个位置。
4.根据权利要求2所述的系统,其中,为了将所识别的所述户的眼睛的所述瞳孔中心的位置和所检测到的一组一个或多个亮斑位置应用于所述概率统计模型以估计在所述用户的眼睛的所述图像中的分别显示一个或多个亮斑的所述一组一个或多个位置,所述一个或多个处理器被配置为:
将所识别的所述用户的眼睛的所述瞳孔中心的位置应用于所述概率统计模型,以识别在所述用户的眼睛的所述图像中的预期分别显示一个或多个亮斑的一个或多个区域;以及
将所检测到的一组一个或多个亮斑位置应用于所述概率统计模型,以估计在所述用户的眼睛的所述图像的所述一个或多个所识别区域中的分别显示一个或多个亮斑的一组一个或多个位置。
5.根据权利要求2所述的系统,其中,所述一个或多个处理器还被配置为:基于所识别的所述用户的眼睛的所述瞳孔中心的位置和所检测到的一组一个或多个亮斑位置,更新所述概率统计模型。
6.根据权利要求1所述的系统,其中,所述特定值对应于值2。
7.根据权利要求6所述的系统,其中,被包括在所述多个光源中的所述光源总数大于或等于值3。
8.根据权利要求1所述的系统,其中,所述多个光源包括多个红外光源。
9.根据权利要求1所述的系统,其中,为了至少部分地基于所检测到的一组一个或多个亮斑位置和所估计的一组一个或多个亮斑位置,确定所述用户的眼睛的姿势,所述一个或多个处理器配置为:
至少部分地基于所检测到的一组一个或多个亮斑位置和所估计的一组一个或多个亮斑位置,确定所述用户的眼睛的角膜中心的位置。
10.根据权利要求1所述的系统,其中,为了至少部分地基于所检测到的一组一个或多个亮斑位置和所估计的一组一个或多个亮斑位置,确定所述用户的眼睛的姿势,所述一个或多个处理器被配置为:
至少部分地基于所检测到的一组一个或多个亮斑位置和所估计的一组一个或多个亮斑位置,确定所述用户的眼睛的旋转中心的位置。
11.根据权利要求1所述的系统,其中,为了至少部分地基于所检测到的一组一个或多个亮斑位置和所估计的一组一个或多个亮斑位置,确定所述用户的眼睛的姿势,所述一个或多个处理器被配置为:
至少部分地基于所检测到的一组一个或多个亮斑位置和所估计的一组一个或多个亮斑位置,确定所述用的户眼睛的注视方向。
12.根据权利要求1所述的系统,其中,所述一个或多个处理器还被配置为:
响应于确定被包括在所检测到的一组一个或多个亮斑位置中的所述位置总数大于所述特定值:
至少部分地基于所检测到的一组一个或多个亮斑位置,确定所述用户的眼睛的姿势。
CN202080052077.7A 2019-05-20 2020-05-19 用于估计眼睛姿势的系统和技术 Pending CN114127610A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201962850539P 2019-05-20 2019-05-20
US62/850,539 2019-05-20
PCT/US2020/033620 WO2020236827A1 (en) 2019-05-20 2020-05-19 Systems and techniques for estimating eye pose

Publications (1)

Publication Number Publication Date
CN114127610A true CN114127610A (zh) 2022-03-01

Family

ID=73457064

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080052077.7A Pending CN114127610A (zh) 2019-05-20 2020-05-19 用于估计眼睛姿势的系统和技术

Country Status (5)

Country Link
US (3) US11315288B2 (zh)
EP (1) EP3973347A4 (zh)
JP (2) JP7423659B2 (zh)
CN (1) CN114127610A (zh)
WO (1) WO2020236827A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115171217A (zh) * 2022-07-27 2022-10-11 北京拙河科技有限公司 一种动态背景下的动作识别方法及系统

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11944481B1 (en) * 2018-02-23 2024-04-02 Robert Edwin Douglas Method and apparatus for predicting an image analysis tool based on user behavior
JP7423659B2 (ja) 2019-05-20 2024-01-29 マジック リープ, インコーポレイテッド 眼姿勢を推定するためのシステムおよび技法
US11315326B2 (en) * 2019-10-15 2022-04-26 At&T Intellectual Property I, L.P. Extended reality anchor caching based on viewport prediction
US11205069B1 (en) * 2020-02-20 2021-12-21 Facebook Technologies, Llc Hybrid cornea and pupil tracking
EP4162343A1 (en) * 2020-06-05 2023-04-12 Magic Leap, Inc. Enhanced eye tracking techniques based on neural network analysis of images
US20230333640A1 (en) * 2020-09-22 2023-10-19 Sterling Labs Llc Multiple gaze dependent illumination sources for retinal eye tracking
WO2022129591A1 (en) * 2020-12-17 2022-06-23 Delphinium Clinic Ltd. System for determining one or more characteristics of a user based on an image of their eye using an ar/vr headset
CN113177434A (zh) * 2021-03-30 2021-07-27 青岛小鸟看看科技有限公司 基于单眼球追踪的虚拟现实系统注视渲染方法、系统
GB2614326A (en) * 2021-12-31 2023-07-05 Sony Interactive Entertainment Europe Ltd Apparatus and method for virtual reality
WO2023187780A1 (en) * 2022-03-30 2023-10-05 Jerusalem College Of Technology Eye tracking device

Family Cites Families (51)

* 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
US20070081123A1 (en) 2005-10-07 2007-04-12 Lewis Scott W Digital eyewear
US8696113B2 (en) 2005-10-07 2014-04-15 Percept Technologies Inc. Enhanced optical and perceptual digital eyewear
US11428937B2 (en) 2005-10-07 2022-08-30 Percept Technologies Enhanced optical and perceptual digital eyewear
RU2016102317A (ru) 2010-05-29 2018-11-21 Вэньюй ЦЗЯН Системы, способы и аппарат для создания и использования очков с адаптивной линзой на основе определения расстояния наблюдения и отслеживания взгляда в условиях низкого энергопотребления
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
KR101890328B1 (ko) 2010-12-24 2018-08-21 매직 립, 인코포레이티드 인체공학적 머리 장착식 디스플레이 장치 및 광학 시스템
EP2705435B8 (en) 2011-05-06 2017-08-23 Magic Leap, Inc. Massive simultaneous remote digital presence world
US9213163B2 (en) * 2011-08-30 2015-12-15 Microsoft Technology Licensing, Llc Aligning inter-pupillary distance in a near-eye display system
US9354445B1 (en) * 2011-09-16 2016-05-31 Google Inc. Information processing on a head-mountable device
US10795448B2 (en) 2011-09-29 2020-10-06 Magic Leap, Inc. Tactile glove for human-computer interaction
AU2012348348B2 (en) 2011-10-28 2017-03-30 Magic Leap, Inc. System and method for augmented and virtual reality
KR102404537B1 (ko) 2012-04-05 2022-05-31 매직 립, 인코포레이티드 능동 포비에이션 능력을 갖는 와이드-fov(field of view) 이미지 디바이스들
US9671566B2 (en) 2012-06-11 2017-06-06 Magic Leap, Inc. Planar waveguide apparatus with diffraction element(s) and system employing same
US9740006B2 (en) 2012-09-11 2017-08-22 Magic Leap, Inc. Ergonomic head mounted display device and optical system
JP5732446B2 (ja) 2012-11-06 2015-06-10 株式会社ソニー・コンピュータエンタテインメント ヘッドマウントディスプレイ、および動き検出方法
CN103870796B (zh) 2012-12-13 2017-05-24 汉王科技股份有限公司 一种人眼视线估计的方法与装置
NZ712192A (en) 2013-03-15 2018-11-30 Magic Leap Inc Display system and method
US9874749B2 (en) 2013-11-27 2018-01-23 Magic Leap, Inc. Virtual and augmented reality systems and methods
AU2014337171B2 (en) 2013-10-16 2018-11-15 Magic Leap, Inc. Virtual or augmented reality headsets having adjustable interpupillary distance
NZ720610A (en) 2013-11-27 2020-04-24 Magic Leap Inc Virtual and augmented reality systems and methods
US9857591B2 (en) 2014-05-30 2018-01-02 Magic Leap, Inc. Methods and system for creating focal planes in virtual and augmented reality
US10203762B2 (en) 2014-03-11 2019-02-12 Magic Leap, Inc. Methods and systems for creating virtual and augmented reality
KR102173699B1 (ko) 2014-05-09 2020-11-03 아이플루언스, 인크. 안구 신호들의 인식 및 지속적인 생체 인증을 위한 시스템과 방법들
US10452137B2 (en) 2014-12-17 2019-10-22 Sony Corporation Information processing apparatus and information processing method
NZ773845A (en) 2015-03-16 2022-07-01 Magic Leap Inc Methods and systems for diagnosing and treating health ailments
JP7029961B2 (ja) 2015-05-19 2022-03-04 マジック リープ, インコーポレイテッド セミグローバルシャッタイメージャ
EP3337383A4 (en) 2015-08-21 2019-04-03 Magic Leap, Inc. EYE SHAPE ESTIMATION
KR102591552B1 (ko) 2015-08-21 2023-10-18 매직 립, 인코포레이티드 눈 포즈 측정을 사용한 눈꺼풀 형상 추정
CN108027984B (zh) 2015-09-25 2022-05-13 奇跃公司 用于在3d重建中检测和组合结构特征的方法和系统
CA3002369A1 (en) 2015-10-20 2017-04-27 Magic Leap, Inc. Selecting virtual objects in a three-dimensional space
JP2017211891A (ja) 2016-05-27 2017-11-30 ソニー株式会社 情報処理装置、情報処理方法および記録媒体
CN114495249A (zh) 2016-07-14 2022-05-13 奇跃公司 使用角膜曲率的虹膜边界估计
IL295059A (en) 2016-10-05 2022-09-01 Magic Leap Inc A blind eye test for mixed reality calibration
CA3041852C (en) 2016-11-10 2023-07-18 Magic Leap, Inc. Method and system for multiple f-number lens
CN116886835A (zh) 2016-12-23 2023-10-13 奇跃公司 用于确定内容捕获设备的设置的技术
CN110352033B (zh) * 2017-02-27 2023-04-28 托比股份公司 用眼睛追踪装置确定眼睛睁开度
CN113568508A (zh) 2017-03-21 2021-10-29 奇跃公司 虚拟、增强和混合现实系统的深度感测技术
US11644669B2 (en) 2017-03-22 2023-05-09 Magic Leap, Inc. Depth based foveated rendering for display systems
IL269432B2 (en) 2017-03-24 2023-10-01 Magic Leap Inc Safe accumulation and transfer of iris codes
US10489648B2 (en) 2017-08-04 2019-11-26 Facebook Technologies, Llc Eye tracking using time multiplexing
US11129530B2 (en) 2017-09-08 2021-09-28 Tobii Ab Eye tracking using eyeball center position
US9940518B1 (en) * 2017-09-11 2018-04-10 Tobii Ab Reliability of gaze tracking data for left and right eye
US10923515B2 (en) 2017-12-13 2021-02-16 Magic Leap, Inc. Global shutter pixel circuit and method for computer vision applications
JP7291708B2 (ja) 2018-01-17 2023-06-15 マジック リープ, インコーポレイテッド ディスプレイとユーザの眼との間の位置合わせを決定するためのディスプレイシステムおよび方法
EP4354207A2 (en) 2018-01-17 2024-04-17 Magic Leap, Inc. Eye center of rotation determination, depth plane selection, and render camera positioning in display systems
US11067805B2 (en) 2018-04-19 2021-07-20 Magic Leap, Inc. Systems and methods for operating a display system based on user perceptibility
US11334154B2 (en) 2019-01-25 2022-05-17 Magic Leap, Inc. Eye-tracking using images having different exposure times
JP7423659B2 (ja) 2019-05-20 2024-01-29 マジック リープ, インコーポレイテッド 眼姿勢を推定するためのシステムおよび技法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115171217A (zh) * 2022-07-27 2022-10-11 北京拙河科技有限公司 一种动态背景下的动作识别方法及系统
CN115171217B (zh) * 2022-07-27 2023-03-03 北京拙河科技有限公司 一种动态背景下的动作识别方法及系统

Also Published As

Publication number Publication date
US20230305627A1 (en) 2023-09-28
JP2022533205A (ja) 2022-07-21
JP2023181496A (ja) 2023-12-21
EP3973347A4 (en) 2023-05-31
US20220237823A1 (en) 2022-07-28
EP3973347A1 (en) 2022-03-30
US11315288B2 (en) 2022-04-26
US20200372678A1 (en) 2020-11-26
WO2020236827A1 (en) 2020-11-26
US11675432B2 (en) 2023-06-13
JP7423659B2 (ja) 2024-01-29

Similar Documents

Publication Publication Date Title
JP7431246B2 (ja) 異なる露光時間を有する画像を使用した眼追跡
JP7423659B2 (ja) 眼姿勢を推定するためのシステムおよび技法
EP3740847B1 (en) Display systems and methods for determining registration between a display and a user's eyes
US11880043B2 (en) Display systems and methods for determining registration between display and eyes of user
JP7443332B2 (ja) ユーザカテゴリ化による多深度平面ディスプレイシステムのための深度平面選択
US11868525B2 (en) Eye center of rotation determination with one or more eye tracking cameras
US11822718B2 (en) Display systems and methods for determining vertical alignment between left and right displays and a user's eyes
CN115053270A (zh) 用于基于用户身份来操作头戴式显示系统的系统和方法
CN116033864A (zh) 使用非球形角膜模型的眼睛跟踪
US11868527B2 (en) Eye tracking using alternate sampling

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