CN112400148A - 使用离轴相机执行眼睛跟踪的方法和系统 - Google Patents

使用离轴相机执行眼睛跟踪的方法和系统 Download PDF

Info

Publication number
CN112400148A
CN112400148A CN201980041066.6A CN201980041066A CN112400148A CN 112400148 A CN112400148 A CN 112400148A CN 201980041066 A CN201980041066 A CN 201980041066A CN 112400148 A CN112400148 A CN 112400148A
Authority
CN
China
Prior art keywords
data
training
eye
neural network
pupil
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
CN201980041066.6A
Other languages
English (en)
Inventor
V·巴德里娜拉亚楠
Z·吴
S·拉金德兰
A·拉比诺维奇
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 CN112400148A publication Critical patent/CN112400148A/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
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2413Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/0304Detection arrangements using opto-electronic means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection
    • G06T7/0012Biomedical image inspection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/18Eye characteristics, e.g. of the iris
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/18Eye characteristics, e.g. of the iris
    • G06V40/19Sensors therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Human Computer Interaction (AREA)
  • Data Mining & Analysis (AREA)
  • Medical Informatics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Molecular Biology (AREA)
  • Databases & Information Systems (AREA)
  • Biophysics (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Biomedical Technology (AREA)
  • Ophthalmology & Optometry (AREA)
  • Radiology & Medical Imaging (AREA)
  • Quality & Reliability (AREA)
  • Nuclear Medicine, Radiotherapy & Molecular Imaging (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)
  • Eye Examination Apparatus (AREA)

Abstract

提供了使用被训练过的神经网络估计眼睛的凝视矢量的系统和方法。可以从相机接收眼睛的输入图像。可以向神经网络提供输入图像。可以使用神经网络生成网络输出数据。网络输出数据可以包括二维(2D)瞳孔数据、眼睛分割数据和/或角膜中心数据。可以基于网络输出数据来计算凝视矢量。先前可以通过以下方式训练神经网络:向神经网络提供训练输入图像、生成训练网络输出数据、接收真实(GT)数据、基于训练网络输出数据与GT数据之间的差来计算误差数据、以及基于误差数据来修改神经网络。

Description

使用离轴相机执行眼睛跟踪的方法和系统
相关申请的交叉引用
本申请要求2018年6月22日提交的名称为“METHOD AND SYSTEM FOR PERFORMINGEYE TRACKING USING AN OFF-AXIS CAMERA(使用离轴相机执行眼睛跟踪的方法和系统)”的美国临时专利申请No.62/688,983的优先权的权益,在此通过引用整体并入其内容。
背景技术
现代计算和显示技术促进了用于所谓的“虚拟现实”或“增强现实”体验的系统的发展,其中数字再现的图像或其部分以其看起来是真实的或者可被感知为真实的方式呈现给用户。虚拟现实(或者“VR”)场景通常涉及数字或虚拟图像信息的呈现,而对于其它实际的真实世界的视觉输入不透明;增强现实(或者“AR”)场景通常涉及数字或虚拟图像信息的呈现作为对用户周围的实际世界的可视化的增强。
尽管在这些显示技术上取得了进步,但是在本领域中需要与增强现实系统,特别是显示系统,有关的改进的方法、系统和装置。
发明内容
本公开总体上涉及用于眼睛跟踪的系统和方法。更具体地,本公开的实施例提供了用于在头戴式虚拟现实(VR)、混合现实(MR)和/或增强现实(AR)装置中执行用于凝视估计的眼睛跟踪的系统和方法。本发明的实施例使能使用能量和带宽有效的内容渲染来以对用户的需求有效且不干扰用户的方式驱动多焦显示器。尽管参考AR装置描述了本发明,但是本公开适用于计算机视觉和图像显示系统中的各种应用。
在本发明的一个方面,提供了一种使用神经网络估计凝视矢量的方法。该方法可以包括从相机接收眼睛的输入图像。该方法还可以包括向神经网络提供眼睛的输入图像。该方法可以进一步包括使用神经网络生成网络输出数据。该方法可以进一步包括:基于网络输出数据,计算与眼睛对应的凝视矢量。在一些实施例中,网络输出数据包括二维(2D)瞳孔数据、眼睛分割数据和角膜中心数据中的一个或多个。在一些实施例中,2D瞳孔数据包括2D瞳孔中心。在一些实施例中,眼睛分割数据包括将眼睛分割成多个区域的分割,该多个区域包括背景区域、巩膜区域、瞳孔区域和虹膜区域中的一个或多个。在一些实施例中,角膜中心数据包括2D或3D角膜中心。
在一些实施例中,该方法进一步包括基于2D瞳孔数据和眼睛分割数据,计算三维(3D)瞳孔中心。在一些实施例中,该方法进一步包括基于3D瞳孔中心和角膜中心数据,计算与眼睛相关联的光轴。在一些实施例中,该方法进一步包括基于光轴和与用户对应的校准角,计算与眼睛相关联的凝视矢量。在一些实施例中,神经网络先前被通过以下方式训练:针对多个训练输入图像中的每个训练输入图像,向神经网络提供训练输入图像,使用神经网络生成训练网络输出数据,接收真实(ground-truth)(GT)数据,基于训练网络输出数据与GT数据之间的差来计算误差数据,以及基于误差数据修改神经网络。
在一些实施例中,训练网络输出数据包括训练眼睛分割数据、训练闪光检测数据和训练角膜中心数据中的一个或多个。在一些实施例中,GT数据包括2D瞳孔中心GT数据、眼睛分割GT数据和闪光检测GT数据中的一个或多个。在一些实施例中,眼睛分割GT数据包括将眼睛分割为多个训练区域的手动创建的分割,该多个训练区域包括训练背景区域、训练巩膜区域、训练瞳孔区域和训练虹膜区域中的一个或多个。在一些实施例中,闪光检测GT数据包括手动创建的闪光位置的标识。
在一些实施例中,误差数据包括训练2D瞳孔中心数据与2D瞳孔中心GT数据之间的差、训练眼睛分割数据与眼睛分割GT数据之间的差、训练闪光检测数据与闪光检测GT数据之间的差、以及基于训练角膜中心数据和一个或多个几何约束的误差。在一些实施例中,该方法进一步包括基于发射器位置数据、相机固有参数、闪光检测数据和角膜中心数据中的一个或多个来计算一个或多个几何约束。在一些实施例中,发射器位置数据包括多个发射器位置。在一些实施例中,通过相机捕获多个训练输入图像。
在本发明的另一方面,提供了一种光学装置,例如AR装置。该光学装置可以包括相机、指向用户的眼睛(当佩戴该装置时)的多个红外(IR)发光二极管(LED)、以及处理器,该处理器被通信地耦接到相机并被配置为执行包括以下的操作:从相机接收眼睛的输入图像、向神经网络提供眼睛的输入图像、使用神经网络生成网络输出数据、以及基于网络输出数据计算与眼睛对应的凝视矢量。处理器可以进一步被配置为执行参考以上方法描述的任何操作。
与常规技术相比,通过本公开获得了许多益处。第一,使用被训练过的网络的估计与经典的眼睛跟踪管线(pipeline)一起很好地工作。已经证明,可以将使用被训练过的网络的估计插入到几何眼睛跟踪系统中,以提高其总体稳健性和准确性。第二,本文所述的多阶段眼睛跟踪模型的结果可以驱动AR/VR/MR中的其他重要应用。例如,角膜预测可用于中央凹渲染(foveated rendering),而眼睛分割对于在基于化身的社交套件应用中渲染眼睛是有用的。第三,尽管收集针对大量对象主体的连续凝视目标GT数据可能既不准确又困难,但是通过将中间预测(瞳孔和角膜估计)的训练从最终3D凝视矢量估计管线分离,可以显著简化这里的数据收集。第四,虽然难以解释端到端深度网络中的误差,但是使用被训练过的网络在每个阶段进行的中间估计都有助于解释。本公开的其他益处对于本领域技术人员将是显而易见的。
附图说明
通过参考以下附图可以实现对各种实施例的性质和优点的进一步理解。在附图中,相似的部件或特征可以具有相同的附图标记。此外,可以通过在参考标签之后加上在相似组件之间进行区分的破折号和第二标签来区分相同类型的各种组件。如果在说明书中仅使用第一参考标签,则该描述适用于与第二参考标签无关的具有相同的第一参考标签的任何相似组件。
图1示出了根据本文描述的实施例的通过可穿戴AR装置观看的增强现实(AR)场景。
图2示出了根据本发明的AR装置的各种特征。
图3示出了人眼的标准双球体模型。
图4示出了根据本发明的AR装置的示意图。
图5示出了网络的配置的示意图。
图6示出了网络的各种输入和输出的示意图。
图7示出了在训练模式下操作的AR装置的示意图。
图8示出了在运行时模式下操作的AR装置的示意图。
图9示出了网络的一种可能的结构。
图10示出了产生眨眼预测的递归神经网络(RNN)。
图11示出了使用网络估计凝视矢量的方法。
图12示出了训练用于估计凝视矢量的网络的方法。
图13示出了根据本文描述的实施例的简化的计算机系统。
具体实施方式
用于凝视估计的眼睛跟踪是当前和未来几代头戴式虚拟和混合现实装置的重要组件。它使能使用能量和带宽有效的内容渲染,来驱动多焦显示器以获得更真的现实内容渲染,并成为理解用户需求的有效且不干扰的方式。估计准确的凝视的过程涉及基于外观的计算(分割、例如瞳孔中心的关键点检测、闪光),随后是基于模型/几何的计算(例如,在三个维度上估计角膜、瞳孔中心和凝视矢量)。当前的眼睛跟踪仪使用经典的计算机视觉技术(无需学习)来估计瞳孔边界/中心,然后基于这些估计来计算凝视。使用本文所述的被训练过的网络的估计比经典技术显著更准确。根据本发明,训练单个深层网络以共同估计与眼睛有关的多个量和针对离轴眼睛图像的凝视估计。
图1示出了根据本文描述的实施例的通过可穿戴AR装置观看到的增强现实(AR)场景。描绘了AR场景100,其中AR技术的用户看到以人、树木、背景中的建筑物和混凝土平台120为特征的真实世界公园状设置106。除了这些项目之外,AR技术的用户同样感知到他“看到”站在真实世界平台120上的机器人雕像110,以及飞过的卡通式化身角色102,该化身角色看起来是大黄蜂的化身,即使这些元素(角色102和雕像110)在真实世界中不存在。由于人类的视觉感知和神经系统是极其复杂的,产生有助于连同其他虚拟或真实世界的图像元素一起的虚拟图像元素的舒适、自然、丰富呈现的虚拟现实(VR)或AR技术是具有挑战性的。
图2示出了根据本发明的AR装置200的各种特征。在一些实施例中,AR装置200可以包括投射器214,该投射器214被配置为将光投射到目镜202上以使得虚拟图像222被用户与世界物体230一起感知。AR装置200还可以包括离轴相机240和一个或更多的发射器262,该一个或更多的发射器262被安装到AR装置200并且指向用户的眼睛。发射器262可包括红外(IR)发光二极管(LED),其发射对用户的眼睛不可见但可由离轴相机240检测到的光。在一些实施例中,发射器262可包括LED,该LED发射对用户的眼睛不可见的光以使得离轴相机240不需要具有检测IR光谱中的光的能力。这样,离轴相机240可以是具有或不具有IR检测能力的相机。
在AR装置200的操作期间,离轴相机240可以检测导致估计与用户的眼睛对应的凝视矢量238的信息(例如,捕获图像)。可以针对每个图像帧计算凝视矢量238,并且在各种实施例中,凝视矢量238可以表示为二维(2D)或三维(3D)值。例如,如图2所示,凝视矢量238可以使用球面坐标系由极角θ和方位角
Figure BDA0002843757700000051
来表示。替代地或附加地,凝视矢量238可以使用3D笛卡尔坐标系由X、Y和Z值表示。凝视矢量238可以在交点239处与目镜202相交,该交点239可以基于用户的眼睛的位置、目镜202的位置和凝视矢量238被计算出。在一些情况下,投射器214可以调整虚拟图像222,以有利于视场的其他区域来提高在交点239周围的图像亮度和/或清晰度。
图3示出了人眼的标准双球体模型300。根据模型300,眼球球体302可以完全或部分地包围内部角膜球体304。角膜中心306可以是角膜球体304的几何中心。瞳孔中心308可以对应于眼睛的瞳孔开口或瞳孔中心,并且可以被角膜球体304包围。眼睛的光轴310可以是通过连接角膜中心306和瞳孔中心308而形成的矢量。凝视矢量238(可替代地被称为视轴)可以通过连接角膜中心306和位于眼睛后部的中央凹312来形成。由于中央凹312通常是未知的并且难以估计,因此可以使用光轴310和用户特定的校准角κ来计算凝视矢量238。校准角κ可以是一维(1D)、2D或3D值,并且可以在当用户第一次操作AR装置200时在校准阶段期间针对特定用户而校准。一旦为特定用户计算出校准角κ,就假定它是固定的。因此,使用角膜中心306和瞳孔中心308估计光轴310是凝视跟踪潜在的关键问题。
图4示出了根据本发明的AR装置200的示意图。AR装置200可以包括左目镜202A、右目镜202B、直接附接在左目镜202A上或附近的左面向前世界相机206A、直接附接在右目镜202B上或附近的右面向前世界相机206B、左面向侧世界相机206C、右面向侧世界相机206D和处理模块250。发射器262可以被安装在目镜202中的一个或两个上,并且在一些实施例中可以被分成直接安装在左目镜202A上或其附近的左发射器262A和直接安装在右目镜202B上或附近的右发射器262B(例如,被安装到AR装置200的框架)。在一些情况下,AR装置200可以包括单个或多个离轴相机260,诸如中心定位的离轴相机260,或者如图4所示,直接安装在左目镜202A上或附近的左离轴相机260A和直接安装在右目镜202B上或附近的右离轴相机260A。
AR装置200的一些或所有组件可以被头戴,使得投射图像可以被用户观看到。在一个特定的实现方式中,图4中所示的AR装置200的全部组件都被安装到用户可穿戴的单个装置(例如,单个头戴耳机)上。在另一实现方式中,处理模块250通过有线或无线连接与AR装置200的其它组件物理上分离并且被通信耦接到AR装置200的其它组件。例如,处理模块250可以以各种配置安装,诸如固定地附接到框架、固定地附接到用户佩戴的头盔或帽子、嵌入耳机中或以其它方式可移除地附接到用户(例如,以背包式配置、以皮带耦接式配置等)。
处理模块250可以包括处理器252以及数字存储器,诸如非易失性存储器(例如,闪存),两者均可以用于辅助数据的处理、缓存和存储。数据可以包括从传感器(例如,其可以被可操作地耦接到AR装置200)捕获的数据,该传感器诸如图像捕获装置(例如,相机206和离轴相机260)、麦克风、惯性测量单元、加速度计、指南针、GPS单元、无线电装置和/或陀螺仪。例如,处理模块250可以从相机206接收图像220,或者更具体地,从左面向前世界相机206A接收左前方图像220A,从右面向前世界相机206B接收右前方图像220B,从左面向侧世界相机206C接收左侧图像220C,以及从右面向侧世界相机206D接收右侧图像220D。在一些实施例中,图像220(或者从离轴相机260接收到的那些)可以包括单个图像、一对图像、包括图像流的视频、包括成对图像流的视频等。图像220(或者从离轴相机260接收到的那些)可以在AR装置200通电时被周期性地生成并发送到处理模块250,或者可以响应于由处理模块250发送给一个或多个相机的指令而生成。
目镜202A和202B可以包括被配置为分别引导来自投射器214A和214B的光的透明或半透明的波导。具体地,处理模块250可以使左投射器214A将左投射图像222A输出到左目镜202A上,并且可以使右投射器214B将右投射图像222B输出到右目镜202B上。在一些实施例中,目镜202中的每一个目镜可以包括与不同颜色和/或不同深度平面对应的多个波导。
相机206A和206B可以被定位成捕获分别与用户的左眼和右眼的视场基本上重叠的图像。因此,相机206A和206B的放置可以在用户的眼睛附近,但不能如此近以至于遮挡用户的视场。可替代地或另外地,相机206A和206B可以被定位成分别与投射图像222A和222B的耦入位置对准。相机206C和206D可以被定位成例如在用户的外围视觉中或在用户的外围视觉之外将图像捕获到用户的侧面。使用相机206C和206D捕获的图像220C和220D不一定需要与使用相机206A和206B捕获的图像220A和220B重叠。相机260A和260B可以被定位成分别捕获用户的左眼和右眼的图像。由相机260捕获的图像可以显示用户的眼睛的全部或其一部分。
在AR装置200的操作期间,处理模块250可以使用神经网络256来估计凝视矢量238。神经网络256可以是人工神经网络、卷积神经网络或可以通过处理示例来逐步“学习”的任何类型的计算系统。例如,可以通过处理代表真实(GT)数据的手动准备的训练数据来训练神经网络256。在处理了每条训练数据之后,神经网络256能够生成更接近于GT数据的输出。在一些实施例中,神经网络256包括能够将信号从一者传输到另一者的连接节点的集合。神经网络256的训练和使用在下面进一步描述。
图5示出了神经网络256的配置的示意图。可以提供由离轴相机260捕获的输入图像I(x,y,c)作为对神经网络256的输入。输入图像I(x,y,c)可以具有H×W×C的尺寸,其中H是垂直方向上的像素数量,W是水平方向上的像素数量,C是图像的通道数量(例如,等于RGB图像的3和灰度图像的1)。神经网络256可以处理输入图像I(x,y,c),并且可以基于输入图像I(x,y,c)生成网络输出数据264。当AR装置200在运行时模式下操作时,网络输出数据264可以与校准角κ结合使用以计算凝视矢量238。在一些实施例中,后处理框266可以执行一个或多个操作以计算凝视矢量238。在其他实施例中,或在相同的实施例中,可以将校准角κ与输入图像I(x,y,c)一起作为输入提供给神经网络256,并且凝视矢量238可以直接被包括在网络输出数据264中或可以基于网络输出数据264而被计算出。
当AR装置200在训练模式下操作时,可以将网络输出数据264与GT数据268进行比较。可以基于该比较来计算误差数据270,并且该误差数据270可以表示网络输出数据264与GT数据268之间的差,以使得在一些实施例中,误差数据270的大小可以跟网络输出数据264与GT数据268之间的差成比例。可以基于误差数据270来修改神经网络256(例如,使用修改器272)。在一些实施例中,对神经网络256的修改的大小可以与误差数据270的大小成比例,以使得网络输出数据264与GT数据268之间的较大差可以对应于对神经网络256的较大修改。
图6示出了神经网络256的各种输入和输出的示意图。网络输出数据264可以包括图6所示的一种或多种类型的数据。基于AR装置是在训练模式下还是在运行模式下操作,在后续处理中可能不会利用一种或多种类型的数据。可替代地,基于AR装置200是在训练模式还是在运行时模式下操作,一种或多种类型的数据可以不由神经网络256生成以节省处理能力。
在一些实施例中,网络输出数据264可以包括2D瞳孔中心数据274。在一些实施例中,2D瞳孔中心数据274可以包括被表示为2D值的2D瞳孔中心。例如,2D瞳孔中心可以包括与所计算的瞳孔中心(例如,瞳孔中心308)的位置对应的在输入图像I(x,y,c)的帧内的X和Y值。替代地或附加地,2D瞳孔中心数据274可以包括具有HxW的维度的矩阵,其包括0或1的二进制值(值1对应于所计算的瞳孔中心的位置)。
在一些实施例中,网络输出数据264可以包括眼睛分割数据276。眼睛分割数据276可以包括将眼睛分割成多个区域的分割。在一个特定的实现中,区域可以包括背景区域、巩膜区域、瞳孔区域和虹膜区域。在另一特定实现中,区域可以包括瞳孔区域和非瞳孔区域。在另一特定实现中,区域可以包括瞳孔区域、眼睛区域(包括眼睛的一部分而不是瞳孔区域的一部分)和背景区域。在一些实施例中,眼睛分割数据276可以包括具有HxW的维度的矩阵,其包括一组有限的值,诸如0、1、2和3(分别对应于例如,背景区域、巩膜区域、瞳孔区域、以及虹膜区域)。在一些实施例中,眼睛分割数据276包括将输入图像I(x,y,c)的每个像素分配给包括背景、巩膜、瞳孔和虹膜的一组类别,在一些实施例中,这可以通过以下方式获得:提取(解码器)神经网络256的最后一层,并使用反卷积将其上采样到与输入图像I(x,y,c)相同的分辨率,其进而被馈送到跨各个特征通道的softmax交叉熵损失,其中每个特征通道表示像素属于某个类别的概率。
在一些实施例中,网络输出数据264可以包括闪光检测数据278。在一些实施例中,闪光检测数据278包括一个或多个被表示为2D或3D值的闪光位置。例如,如果仅检测到单个闪光位置,则闪光检测数据278可以包括单个2D值,或者如果检测到四个闪光位置,则闪光检测数据278可以包括四个2D值。在一些实施例中,闪光检测数据278可以包括与所计算出的被检测到的闪光的位置对应的在输入图像I(x,y,c)的帧内的X和Y值。替代地或附加地,闪光检测数据278可以包括具有HxW的维度的矩阵,其包括0或1的二进制值(值1对应于检测到的闪光的位置)。
在一些实施例中,网络输出数据264可以包括角膜中心数据280。在一些实施例中,角膜中心数据280可以包括被表示为2D值的2D角膜中心或被表示为3D值的3D角膜中心。例如,2D角膜中心可包括与所计算出的角膜中心(例如,角膜中心306)的位置对应的在输入图像I(x,y,c)的帧内的X和Y值。替代地或附加地,角膜中心数据280可以包括具有HxW的维度的矩阵,其包括0或1的二进制值(值1对应于所计算出的角膜中心的位置)。
在一些实施例中,网络输出数据264可包括闪光和瞳孔指示符282。在一些实施例中,闪光和瞳孔指示符282包括0或1的二进制值(值1对应于成功检测到闪光或瞳孔中心,值0对应于不成功的检测)。在替代实施例中,值1可以对应于闪光或瞳孔中心的遮挡。在一个特定实现中,闪光和瞳孔指示符282可以包括五个二进制值,前四个二进制值对应于四个闪光,而最后一个二进制值对应于瞳孔中心。在一些实施例中,可以基于2D瞳孔中心数据274和闪光检测数据278来交替地生成闪光和瞳孔指示符282。在一些实施例中,可以通过以下方式来获得闪光和瞳孔指示符282:采用编码器的最后一层(在相同的框中所有特征是共享的)、重塑形状并添加两个完全连接的层以产生5x2概率,以作为是否缺少四个闪光和一个瞳孔中心中的一些的二进制分类。
图7和图8分别示出了在训练模式和运行模式下操作的AR装置200的示意图。当AR装置200在训练模式下操作时,网络输出数据264包括眼睛分割数据276、闪光检测数据278和角膜中心数据280。用于生成这些网络输出的特定输入图像I(x,y,c)可以也由一个或多个个体手动检查,该一个或多个个体可以在通过神经网络256生成网络输出数据264之前、之后或同时来准备GT数据268。例如,个体可以检查在诸如个人计算机或智能手机等电子装置上的输入图像I(x,y,c)的显示版本。电子装置上的程序或应用可以向个体询问与输入图像I(x,y,c)有关的一组问题,并且个体可以使用输入装置(例如鼠标、键盘、触摸屏等)来输入他或她的回复。
在观察和检查输入图像I(x,y,c)的同时,个体可以通过使用输入装置识别瞳孔的轮廓来准备2D瞳孔中心GT数据283。这可以包括个体将椭圆形边界放置在瞳孔上方,并基于所放置的椭圆形边界自动地计算出瞳孔中心。可以准备2D瞳孔中心GT数据283,以使其具有与2D瞳孔中心数据274相同的格式和尺寸(例如,X和Y值)。另外,在观察和检查输入图像I(x,y,c)的同时,个体可以通过决定应该将图像的第一区域指定为背景区域、将第二区域指定为巩膜区域、将第三区域指定为瞳孔区域、以及将第四区域指定为虹膜区域来准备眼睛分割GT数据284。可以准备眼睛分割GT数据284,以使其具有与眼睛分割数据276相同的格式和尺寸(例如,具有HxW的维度的矩阵,其包括一组有限的值,例如与不同的区域对应的0、1、2和3)。
另外,在观察和检查输入图像I(x,y,c)的同时,个体可以通过确定输入图像I(x,y,c)中存在多少个闪光位置以及每一者的位置来准备闪光检测GT数据286。可以准备闪光检测GT数据286,以使其具有与闪光检测数据278相同的格式和尺寸(例如,一组2D值),或者如果检测到一定数量的闪光位置(例如,四个),则闪光检测GT数据286可以包括那个数量的2D值。在一些实施例中,闪光检测GT数据286可以包括与所计算出的被检测到的闪光的位置对应的在输入图像I(x,y,c)的帧内的X和Y值。替代地或附加地,闪光检测GT数据286可以包括具有HxW的维度的矩阵,其包括0或1的二进制值(值1对应于检测到的闪光的位置)。
在一个特定实现中,可以通过使一个个体或一组个体面对在两个不同深度处(在例如3米处的近深度和在例如6米处的更远的平面)的点的3x3网格,来获得GT数据268。在给定的提示下,要求个体将他们的凝视聚焦在这些18个3D点中的一个上,这允许针对每个帧收集视线矢量238的GT数据268(以便稍后确定总体准确性)。可以分析(使用个体佩戴的AR装置的相机)捕获到的个体眼睛的图像,以允许GT数据268包括眼睛分割和闪光位置信息。由于在30或60Hz记录处的针对每一帧的注释分割、闪光和的瞳孔中心的收益递减,因此可以为每一个个体统一地采样一些数量(例如,200个)的左眼或右眼图像帧,以手动地注释分割、闪光的存在或不存在、闪光2D和瞳孔2D位置。在一个特定的实验运行中,在数据集中使用了87,000个带注释的图像来训练和验证神经网络256的性能。
在一些实施例中,误差数据270可以包括基于2D瞳孔中心数据274与2D瞳孔中心GT数据之间的差而计算出的第一误差数据270A、基于眼睛分割数据276与眼睛分割GT数据284之间的差而计算出的第二误差数据270B、基于闪光检测数据278与闪光检测GT数据286之间的差而计算出的第三误差数据270C、以及由几何约束引擎288生成的第四误差数据270C。几何约束引擎288的输入包括角膜中心数据280、闪光检测数据278、发射器位置数据290、以及相机固有参数291中的一个或多个。发射器位置数据290可以包括发射器262的固定位置和/或发射器262的发射方向。可以在制造AR装置200时和/或在校准阶段期间确定发射器位置数据290。相机固有参数291可以包括离轴相机260的光学中心和/或焦距以及其他可能性。可以在制造离轴相机260时和/或在校准阶段期间确定相机固有参数291。
几何约束引擎288可以执行各种操作以评价不同的生成数据(闪光检测数据278和角膜中心数据280)与校准数据(发射器位置数据290)之间的一致性,以及几何约束引擎288的输出、第四误差数据270D可以与可能性或一致性参数反向相关。在一些情况下,使用闪光检测数据278和发射器位置数据290来重建角膜球体304,并且将第四误差数据270D设置为重建的球体的中心与角膜中心之间的计算距离,如角膜中心数据280所指示的。
在一些实施例中,通过在不同的训练迭代期间仅使用神经网络256的某些输出而顺序地训练来改善神经网络256的训练。在第一训练步骤中,仅眼睛分割数据276用于训练神经网络256。这可以通过仅使用第二误差数据270B来修改神经网络256而实现。一旦针对眼睛分割对神经网络256进行了充分的训练(即,足够准确),就可以通过附加地使用闪光检测数据278而执行第二训练步骤来训练神经网络256。这可以通过仅使用第二误差数据270B和第三误差数据270C来修改神经网络256而实现。一旦针对眼睛分割和闪光检测对神经网络256进行了充分的训练,就可以通过附加地使用角膜中心数据280而执行第三训练步骤来训练神经网络256。这可以通过使用所有误差数据270修改神经网络256来实现。在一些情况下,可以在不同的训练步骤期间使用相同的训练图像和GT数据。在一些实施例中,AR装置200保持在训练模式下,直到满足准确性阈值或满足最大迭代阈值(即,所使用的训练图像的数量满足最大迭代阈值)。
当AR装置200在运行模式下操作时,网络输出数据264包括2D瞳孔中心数据274、眼睛分割数据276和角膜中心数据280。这些输出可以与校准角κ结合使用以使用后处理框266来计算凝视矢量238。在一些实施例中,后处理框266可以被分成第一后处理框266A、第二后处理框266B和第三后处理框266C。第一后处理框266A接收2D瞳孔中心数据274和眼睛分割数据276作为输入并计算3D瞳孔中心292。第二后处理框266B接收3D瞳孔中心292和角膜中心数据280作为输入并计算光轴310。第三后处理框266C接收光轴310和校准角κ作为输入并计算凝视矢量238。
图9示出了包括多个层级257的神经网络256的一种可能的结构。每个层级257可以表示对输入图像I(x,y,c)执行的一个或多个操作。在一些实施例中,神经网络256可以由特征编码基础网络和五个任务分支构成。如图所示,神经网络256的一些输出可以在较早的阶段获得,并且比神经网络256的其他输出执行更少的操作。例如,闪光和瞳孔指示符282以及角膜中心数据280可以通过比其他输出更少的计算而获得,并且眼睛分割数据276通过比其他输出更多的计算而获得。因此,首先使用眼睛分割数据276训练神经网络256的优点在于,可以精细地调谐仅用于计算眼睛分割数据276的一些层级,而不受来自其他输出的反馈的影响。
图10示出了递归神经网络(RNN)1000,其从神经网络256获取特征并产生眨眼预测。更具体地,RNN 1000从神经网络256获取几个连续帧(神经网络256可以为每个帧产生特征)的特征(例如,输出),并基于特征的运动和流动预测在接下来的1、2和/或3帧是否会发生眨眼(概率)。在一些实施例中,RNN 1000仅从由神经网络256输出的连续帧中获取特征,而不是从输入图像I(x,y,c)本身获取。RNN 1000的优点是可以预测时间序列或数据序列(运动、跟踪等)。与卷积神经网络(CNN)不同,RNN 1000可能具有带有输出的内部存储器状态,该输出会反馈到自身以形成一个循环以便处理序列输入数据。以此方式,RNN 1000“记住”序列中发生的事件的历史,因此可以更好地预测下一个结果。在所示的特定实现中,Xt-1、Xt和Xt+1对应于来自神经网络256的连续帧的特征,而Ot-1、Ot和Ot+1是在下一帧中是否将存在眨眼事件的概率。由于RNN 1000利用由神经网络256产生的高层级特征,因此可以将其视为可以被包括在内以提高AR装置200的性能的附加后处理步骤。
图11示出了使用神经网络估计凝视矢量的方法1100。方法1100的步骤不需要以所示顺序执行,并且在方法1100的执行期间可以省略方法1100的一个或多个步骤。在一些实施例中,方法1100的一个或多个步骤可以由处理模块250或AR装置200的一些其他组件执行。
在步骤1102处,接收用户的眼睛的输入图像(例如,输入图像I(x,y,c))。在一些实施例中,从相机(例如,离轴相机260)接收输入图像。相机可以被安装到光学装置和/或可以是光学装置的组件。在一些实施例中,方法1100包括使用相机捕获用户的眼睛的输入图像的步骤。在一些实施例中,方法1100包括将来自相机的输入图像发送到处理模块(例如,处理模块250)的步骤。
在步骤1104处,向神经网络(例如,神经网络256)提供眼睛的输入图像。在一些实施例中,向实现神经网络的处理器提供输入图像。该处理器可以是具有如下架构的专用处理器(例如,神经网络处理器):允许由神经网络(例如,卷积、矩阵乘法)共同执行的某些操作比使用通用处理器更快地执行。例如,专用处理器可以包括具有多个处理元件的脉动(systolic)阵列,以用于对输入图像的不同像素同时或同步地执行各种算术运算。
在步骤1106处,使用神经网络生成网络输出数据(例如,网络输出数据264)。网络输出数据可以包括与神经网络的整体输出以及神经网络的中间层的输出对应的数据。例如,网络输出数据可以包括从神经网络的整体输出导出的某些数据(例如,眼睛分割数据276)和从神经网络的中间层的输出导出的某些数据(例如,闪光和瞳孔指示符282以及角膜中心数据280)。附加地或替代地,网络输出数据可包括从神经网络的不同中间层以及不涉及神经网络的整体输出的处理的一个或多个附加层的输出得出的某些数据(例如,闪光检测数据278和2D瞳孔中心数据274)。
在步骤1108处,基于网络输出数据来计算3D瞳孔中心(例如,3D瞳孔中心292)。在一些实施例中,基于2D瞳孔数据和眼睛分割数据来计算3D瞳孔中心。
在步骤1110处,基于网络输出数据来计算与用户的眼睛相关联的光轴(例如,光轴310)。在一些实施例中,基于3D瞳孔中心和网络输出数据的某些数据(例如,角膜中心数据280)来计算光轴。
在步骤1112处,基于网络输出数据来计算与眼睛对应的凝视矢量(例如,凝视矢量238)。在一些实施例中,仅使用网络输出数据的某些分量(例如,2D瞳孔中心数据274、眼睛分割数据276和角膜中心数据280)来计算凝视矢量,而网络输出数据的其他分量(例如,闪光检测数据278)未在该计算中使用。在一些实施例中,计算凝视矢量可以包括一个或多个后处理步骤。例如,可以首先基于网络输出数据的一个或多个分量(例如,2D瞳孔中心数据274和眼睛分割数据276)来计算3D瞳孔中心(例如,3D瞳孔中心292)。其次,可以基于3D瞳孔中心和网络输出数据的附加分量(例如,角膜中心数据280)来计算光轴(例如,光轴310)。接下来,可以基于光轴和与用户对应的校准角来计算凝视矢量。
图12示出了训练神经网络的方法1200。方法1200的步骤不必以所示顺序执行,并且在方法1200的执行期间可以省略方法1200的一个或多个步骤。在一些实施例中,方法1200的一个或多个步骤可以由处理模块250或AR装置200的一些其他组件执行。
在步骤1202处,接收多个训练输入图像(例如,输入图像I(x,y,c))。可以从相机(例如,离轴相机260)接收多个训练输入图像,或者可以出于训练的目的人工地生成或取回多个训练输入图像。多个训练图像中的每一个训练图像可以是眼睛的图像。步骤1202可以类似于步骤1102。
可以针对多个训练输入图像中的每个训练输入图像执行步骤1204至1212。在步骤1204处,向神经网络(例如,神经网络256)提供训练输入图像。步骤1204可以类似于步骤1104。
在步骤1206处,使用神经网络生成训练网络输出数据(例如,网络输出数据264)。步骤1206可以类似于步骤1106。
在步骤1208处,从用户输入装置取回GT数据(例如,GT数据268)。GT数据可以包括与训练网络输出数据的一个或多个分量对应的一个或多个分量(例如,2D瞳孔中心GT数据283、眼睛分割GT数据284、闪光检测GT数据286)。
在步骤1210处,基于训练网络输出数据与GT数据之间的差来计算误差数据(例如,误差数据270)。误差数据可以包括与GT数据和/或训练网络输出数据的一个或多个分量对应的一个或多个分量(例如,第一误差数据270A、第二误差数据270B、第三误差数据270C、第四误差数据270D)。
在步骤1212处,基于误差数据来修改神经网络。在一些实施例中,对神经网络的修改的大小与误差数据的大小成比例,以使得训练网络输出数据与GT数据之间的较大差可以对应于对神经网络的较大修改。在一些实施例中,可以使用反向传播算法来训练神经网络,该反向传播算法计算针对神经网络的权重的一个或多个权重更新。
图13示出根据本文描述的实施例的简化的计算机系统1300。如图13中所示的计算机系统1300可以结合到诸如本文所述的AR装置200的装置中。图13提供了可以执行由各种实施例提供的方法的一些或全部步骤的计算机系统1300的一个实施例的示意图。应该注意,图13仅旨在提供各种组件的一般性图示,可以适当地利用其中的任何或全部。因此,图13广泛地示出可以如何以相对分离或相对更集成的方式来实现各个系统元件。
示出了计算机系统1300,其包括可以经由总线1305电耦接或者可以适当地以其它方式通信的硬件元件。硬件元件可以包括一个或多个处理器1310,包括但不限于一个或多个通用处理器和/或一个或多个专用处理器,诸如数字信号处理芯片、图形加速处理器等;一个或多个输入装置1315,其可以包括但不限于鼠标、键盘、相机等;以及一个或多个输出装置1320,其可以包括但不限于显示装置、打印机等。
计算机系统1300可以进一步包括一个或多个非暂态存储装置1325和/或与之通信,该非暂态存储装置1325可以包括但不限于本地和/或网络可访问的存储装置,和/或可以包括但不限于磁盘驱动器、驱动器阵列、光存储装置、固态存储装置(诸如随机存取存储器(“RAM”)和/或只读存储器(“ROM”),它们可以是可编程的、可更新的等)。此类存储装置可以被配置为实现任何适当的数据存储,包括但不限于各种文件系统、数据库结构等。
计算机系统1300还可能包括通信子系统1330,该通信子系统1330可以包括但不限于调制解调器、网卡(无线或有线)、红外通信装置、无线通信装置和/或诸如蓝牙TM装置、802.11装置、WiFi装置、WiMax装置、蜂窝通信设施等的芯片组,等等。通信子系统1330可以包括一个或多个输入和/或输出通信接口,以允许与诸如以下描述的网络的网络交换数据:该网络以列举一个示例、其它计算机系统、电视和/或本文描述的任何其它装置。取决于所需的功能性和/或其它实施方式,便携式电子装置或类似装置可以经由通信子系统1330来传送图像和/或其它信息。在其它实施例中,便携式电子装置(例如,第一电子装置)可以被并入计算机系统1300中,例如作为输入装置1315的电子装置。在一些实施例中,如上所述,计算机系统1300将进一步包括工作存储器1335,该工作存储器1335可以包括RAM或ROM装置。
计算机系统1300还可包括被示为当前位于工作存储器1335内的软件元件,包括操作系统1340、装置驱动器、可执行库和/或其它代码,诸如一个或多个应用1345,如本文所述,该应用1345可以包括由各种实施例提供的计算机程序,和/或可以被设计为实现由其它实施例提供的方法和/或配置系统。仅作为示例,关于上述方法所描述的一个或多个过程可以被实现为可由计算机和/或计算机内的处理器执行的代码和/或指令,因此,一方面,根据所描述的方法,此类代码和/或指令可以用于配置和/或适配通用计算机或其它装置以执行一个或多个操作。
这些指令和/或代码的集合可以存储在非暂态计算机可读存储介质上,诸如上述存储装置1325。在一些情况下,该存储介质可能被并入诸如计算机系统1300的计算机系统内。在其它实施例中,该存储介质可能与计算机系统(例如诸如光盘的可移动介质)分离,和/或设置在安装包中,使得存储介质可用于对通用计算机及其上存储的指令/代码进行编程、配置和/或适配。这些指令可能采取可以由计算机系统1300执行的可执行代码的形式,和/或可能采取源代码和/或可安装代码的形式,该源代码和/或可安装代码例如使用各种通常可用的编译器、安装程序、压缩/解压缩实用程序等在计算机系统1300上编译和/或安装时然后采用可执行代码的形式。
对于本领域技术人员而言显而易见的是,可以根据特定要求进行实质性的变化。例如,也可能使用定制的硬件,和/或可能在硬件、包括便携式软件(诸如小应用程序等)的软件或二者中实现特定的元件。此外,可以采用到诸如网络输入/输出装置的其它计算装置的连接。
如上所述,一方面,一些实施例可以采用诸如计算机系统1300的计算机系统来执行根据本技术的各种实施例的方法。根据一组实施例,此类方法的一些或全部过程由计算机系统1300响应于处理器1310执行一个或多个指令的一个或多个序列来执行,该一个或多个指令可能被并入操作系统1340和/或工作存储器1335中包含的其它代码,诸如应用程序1345。此类指令可以从另一计算机可读介质(诸如一个或多个存储装置1325)读入工作存储器1335。以示例的方式,包含在工作存储器1335中的指令序列的执行可能使处理器1310执行在此描述的方法的一个或多个过程。另外地或可替代地,在此描述的方法的部分可以通过专用硬件来执行。
如在此所使用,术语“机器可读介质”和“计算机可读介质”是指参与提供使机器以特定方式操作的数据的任何介质。在使用计算机系统1300实现的实施例中,各种计算机可读介质可能涉及向处理器1310提供指令/代码以供执行和/或可用于存储和/或承载此类指令/代码。在许多实施方式中,计算机可读介质是物理和/或有形存储介质。此类介质可以采取非易失性介质或易失性介质的形式。非易失性介质包括例如光盘和/或磁盘,诸如存储装置1325。易失性介质包括但不限于动态存储器,诸如工作存储器1335。
物理和/或有形计算机可读介质的常见形式包括,例如,软盘、柔性盘、硬盘、磁带或任何其它磁性介质、CD-ROM、任何其它光学介质、打孔卡、纸带、带孔图案的任何其它物理介质、RAM、PROM、EPROM、FLASH-EPROM、任何其它存储芯片或盒式磁带或计算机可以从中读取指令和/或代码的任何其它介质。
各种形式的计算机可读介质可涉及将一个或多个指令的一个或多个序列承载给处理器1310以供执行。仅作为示例,指令可以最初承载在远程计算机的磁盘和/或光盘上。远程计算机可能将指令加载到其动态存储器中,并通过传输介质将指令作为信号发送,以由计算机系统1300接收和/或执行。
通信子系统1330和/或其组件通常将接收信号,并且然后总线1305可能将信号和/或信号所承载的数据、指令等承载到工作存储器1335,处理器1310从该工作存储器1335中取得并执行指令。由工作存储器1335接收的指令可以可选地在由处理器1310执行之前或之后被存储在非暂态存储装置1325上。
上面讨论的方法、系统和装置是示例。各种配置可以适当地省略、替代或添加各种过程或组件。例如,在替代配置中,可以以与所描述的顺序不同的顺序执行该方法,和/或可以添加、省略和/或组合各个阶段。此外,关于某些配置描述的特征可以在各种其它配置中组合。可以以类似方式组合配置的不同方面和元素。此外,技术在发展,并且因此,许多元素是示例,并不限制本公开或权利要求的范围。
在说明书中给出了具体细节以提供对包括实施方式的示例性配置的透彻理解。然而,可以在没有这些具体细节的情况下实践配置。例如,已经示出了公知的电路、过程、算法、结构和技术,而没有不必要的细节,以便避免使配置模糊。该描述仅提供示例配置,并不限制权利要求的范围、适用性或配置。相反,配置的先前描述将为本领域技术人员提供用于实现所描述的技术的使能描述。在不脱离本公开的精神或范围的情况下,可以对元素的功能和布置进行各种改变。
此外,可以将配置描述为过程,该过程被描述为示意性流程图或框图。尽管每个操作都可以将操作描述为顺序过程,但是许多操作可以并行或同时执行。另外,可以重新排列操作的顺序。过程可具有图中未包括的附加步骤。此外,方法的示例可以通过硬件、软件、固件、中间件、微代码、硬件描述语言或其任意组合来实现。当以软件、固件、中间件或微代码实现时,用于执行必要任务的程序代码或代码段可以存储在诸如存储介质的非暂态计算机可读介质中。处理器可以执行所描述的任务。
已经描述了几种示例配置,在不脱离本公开的精神的情况下,可以使用各种修改、替代构造和等同形式。例如,以上元素可以是较大系统的组件,其中其它规则可以优先于或以其它方式修改技术的应用。同样,在考虑以上元素之前、之中或之后可以采取许多步骤。因此,以上描述不限制权利要求的范围。
如在此和所附权利要求书中所使用的,单数形式“一”、“一个”和“该”包括复数引用,除非上下文另外明确指出。因此,例如,对“用户”的引用包括多个此类用户,而对“处理器”的引用包括对一个或多个处理器及其本领域技术人员已知的等同形式的引用,等等。
此外,当在本说明书和所附权利要求书中使用时,词语“包括了”、“包括”、“包含了”、“包含”、“已包括”和“正包括”旨在指定所陈述的特征、整数、组件或步骤的存在,但它们并不排除一个或多个其它特征、整数、组件、步骤、动作或组的存在或添加。
还应理解,在此所述的示例和实施例仅用于说明目的,并且根据其各种修改或改变将被本领域技术人员建议,并且将被包括在本申请的精神和范围以及所附权利要求的范围之内。

Claims (20)

1.一种为光学装置的用户估计凝视矢量的方法,所述方法包括:
从被安装到所述光学装置的相机接收所述用户的眼睛的输入图像;
将所述用户的所述眼睛的所述输入图像提供给神经网络,所述神经网络先前已被使用多个训练输入图像进行训练;
使用所述神经网络生成网络输出数据;以及
基于所述网络输出数据,计算与所述用户的所述眼睛对应的所述凝视矢量。
2.根据权利要求1所述的方法,其中,所述网络输出数据包括以下中的一个或多个:
二维(2D)瞳孔数据;
眼睛分割数据;或者
角膜中心数据。
3.根据权利要求2所述的方法,其中,所述2D瞳孔数据包括2D瞳孔中心。
4.根据权利要求2所述的方法,其中,所述眼睛分割数据包括将所述用户的所述眼睛分割成多个区域的分割,所述多个区域包括背景区域、巩膜区域、瞳孔区域、或虹膜区域中的一个或多个。
5.根据权利要求2所述的方法,其中,所述角膜中心数据包括2D或3D角膜中心。
6.根据权利要求2所述的方法,进一步包括:
基于所述2D瞳孔数据和所述眼睛分割数据,计算三维(3D)瞳孔中心。
7.根据权利要求6所述的方法,进一步包括:
基于所述3D瞳孔中心和所述角膜中心数据,计算与所述用户的所述眼睛相关联的光轴。
8.根据权利要求7所述的方法,进一步包括:
基于所述光轴和与用户对应的校准角,计算与所述用户的所述眼睛相关联的凝视矢量。
9.根据权利要求1所述的方法,其中,所述神经网络先前被通过以下方式进行训练:
针对所述多个训练输入图像中的每个训练输入图像:
向所述神经网络提供所述训练输入图像;
使用所述神经网络生成训练网络输出数据;
接收真实GT数据;
基于所述训练网络输出数据与所述GT数据之间的差来计算误差数据;以及
基于所述误差数据修改所述神经网络。
10.根据权利要求9所述的方法,其中,所述训练网络输出数据包括以下中的一个或多个:
训练2D瞳孔中心数据;
训练眼睛分割数据;
训练闪光检测数据;或者
训练角膜中心数据。
11.根据权利要求10所述的方法,其中,所述GT数据包括以下中的一个或多个:
2D瞳孔中心GT数据;
眼睛分割GT数据;或者
闪光检测GT数据。
12.根据权利要求11所述的方法,其中,所述眼睛分割GT数据包括将所述用户的所述眼睛分割成多个训练区域的手动创建的分割,所述多个训练区域包括训练背景区域、训练巩膜区域、训练瞳孔区域、以及训练虹膜区域中的一个或多个。
13.根据权利要求11所述的方法,其中,所述闪光检测GT数据包括手动创建的闪光位置的标识。
14.根据权利要求11所述的方法,其中,所述误差数据包括以下中的一个或多个:
所述训练2D瞳孔中心数据与所述2D瞳孔中心GT数据之间的差;
所述训练眼睛分割数据与所述眼睛分割GT数据之间的差;
所述训练闪光检测数据与所述闪光检测GT数据之间的差;或者
基于所述训练角膜中心数据和一个或多个几何约束的误差。
15.一种光学装置,包括:
相机;以及
处理器,其被通信地耦接到所述相机并被配置为执行以下的操作,包括:
从所述相机接收用户的眼睛的输入图像;
向神经网络提供所述用户的所述眼睛的所述输入图像,所述神经网络先前已被使用多个训练输入图像进行训练;
使用所述神经网络生成网络输出数据;以及
基于所述网络输出数据,计算与所述用户的所述眼睛对应的凝视矢量。
16.根据权利要求15所述的光学装置,进一步包括:
多个红外(IR)发光二极管(LED)。
17.根据权利要求15所述的光学装置,其中,所述网络输出数据包括以下中的一个或多个:
二维(2D)瞳孔数据;
眼睛分割数据;或者
角膜中心数据。
18.根据权利要求17所述的光学装置,其中,所述2D瞳孔数据包括2D瞳孔中心。
19.根据权利要求17所述的光学装置,其中,所述眼睛分割数据包括将所述用户的所述眼睛分割成多个区域的分割,所述多个区域包括背景区域、巩膜区域、瞳孔区域或虹膜区域中的一个或多个。
20.根据权利要求15所述的光学装置,其中,所述神经网络先前被通过以下方式进行训练:
针对多个训练输入图像中的每个训练输入图像:
向所述神经网络提供所述训练输入图像;
使用所述神经网络生成训练网络输出数据;
接收真实GT数据;
基于所述训练网络输出数据与所述GT数据之间的差计算误差数据;以及
基于所述误差数据修改所述神经网络。
CN201980041066.6A 2018-06-22 2019-06-24 使用离轴相机执行眼睛跟踪的方法和系统 Pending CN112400148A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201862688983P 2018-06-22 2018-06-22
US62/688,983 2018-06-22
PCT/US2019/038693 WO2019246613A1 (en) 2018-06-22 2019-06-24 Method and system for performing eye tracking using an off-axis camera

Publications (1)

Publication Number Publication Date
CN112400148A true CN112400148A (zh) 2021-02-23

Family

ID=68984025

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980041066.6A Pending CN112400148A (zh) 2018-06-22 2019-06-24 使用离轴相机执行眼睛跟踪的方法和系统

Country Status (5)

Country Link
US (1) US11775058B2 (zh)
EP (1) EP3811182A4 (zh)
JP (1) JP2021527888A (zh)
CN (1) CN112400148A (zh)
WO (1) WO2019246613A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11775058B2 (en) 2018-06-22 2023-10-03 Magic Leap, Inc. Method and system for performing eye tracking using an off-axis camera

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111428634B (zh) * 2020-03-23 2023-06-27 中国人民解放军海军特色医学中心 一种采用六点法分块模糊加权的人眼视线追踪定位方法
CN112006649A (zh) * 2020-08-25 2020-12-01 张寅升 一种基于神经网络和自适应形态学约束的黄斑检测方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017211891A (ja) * 2016-05-27 2017-11-30 ソニー株式会社 情報処理装置、情報処理方法および記録媒体
WO2018000020A1 (en) * 2016-06-29 2018-01-04 Seeing Machines Limited Systems and methods for performing eye gaze tracking
US20180053056A1 (en) * 2016-08-22 2018-02-22 Magic Leap, Inc. Augmented reality display device with deep learning sensors

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8896725B2 (en) 2007-06-21 2014-11-25 Fotonation Limited Image capture device with contemporaneous reference image capture mechanism
US8878749B1 (en) * 2012-01-06 2014-11-04 Google Inc. Systems and methods for position estimation
US9874749B2 (en) * 2013-11-27 2018-01-23 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
US20170119298A1 (en) * 2014-09-02 2017-05-04 Hong Kong Baptist University Method and Apparatus for Eye Gaze Tracking and Detection of Fatigue
JP2016106668A (ja) * 2014-12-02 2016-06-20 ソニー株式会社 情報処理装置、情報処理方法、およびプログラム
US9864430B2 (en) * 2015-01-09 2018-01-09 Microsoft Technology Licensing, Llc Gaze tracking via eye gaze model
RU2016138608A (ru) 2016-09-29 2018-03-30 Мэджик Лип, Инк. Нейронная сеть для сегментации изображения глаза и оценки качества изображения
US11132543B2 (en) * 2016-12-28 2021-09-28 Nvidia Corporation Unconstrained appearance-based gaze estimation
US10650552B2 (en) 2016-12-29 2020-05-12 Magic Leap, Inc. Systems and methods for augmented reality
US10521661B2 (en) * 2017-09-01 2019-12-31 Magic Leap, Inc. Detailed eye shape model for robust biometric applications
WO2019157257A1 (en) 2018-02-08 2019-08-15 Cognizant Technology Solutions U.S. Corporation System and method for pseudo-task augmentation in deep multitask learning
US11556741B2 (en) * 2018-02-09 2023-01-17 Pupil Labs Gmbh Devices, systems and methods for predicting gaze-related parameters using a neural network
WO2019161503A1 (en) * 2018-02-22 2019-08-29 Innodem Neurosciences Eye tracking method and system
US10948985B2 (en) * 2018-03-27 2021-03-16 Nvidia Corporation Retina space display stabilization and a foveated display for augmented reality
US10558895B2 (en) * 2018-03-30 2020-02-11 Tobii Ab Deep learning for three dimensional (3D) gaze prediction
EP3811182A4 (en) 2018-06-22 2021-07-28 Magic Leap, Inc. METHOD AND SYSTEM FOR PERFORMING EYE TRACKING USING AN OFF-AXIAL CAMERA

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017211891A (ja) * 2016-05-27 2017-11-30 ソニー株式会社 情報処理装置、情報処理方法および記録媒体
WO2018000020A1 (en) * 2016-06-29 2018-01-04 Seeing Machines Limited Systems and methods for performing eye gaze tracking
US20180053056A1 (en) * 2016-08-22 2018-02-22 Magic Leap, Inc. Augmented reality display device with deep learning sensors

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
ELIAS DANIEL GUESTRIN 等: "General Theory of Remote Gaze Estimation Using the Pupil Center and Corneal Reflections", IEEE TRANSACTIONS ON BIOMEDICAL ENGINEERING, vol. 53, no. 6, 30 June 2006 (2006-06-30), pages 1124 - 1133 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11775058B2 (en) 2018-06-22 2023-10-03 Magic Leap, Inc. Method and system for performing eye tracking using an off-axis camera

Also Published As

Publication number Publication date
US20210182554A1 (en) 2021-06-17
EP3811182A1 (en) 2021-04-28
US11775058B2 (en) 2023-10-03
EP3811182A4 (en) 2021-07-28
JP2021527888A (ja) 2021-10-14
WO2019246613A1 (en) 2019-12-26

Similar Documents

Publication Publication Date Title
US10674142B2 (en) Optimized object scanning using sensor fusion
US10970425B2 (en) Object detection and tracking
US10818199B2 (en) System including a non-transitory computer readable program storage unit encoded with instructions that, when executed by a computer, perform a method for three-dimensional augmented reality guidance for use of medical equipment
US11442539B2 (en) Event camera-based gaze tracking using neural networks
US11686941B2 (en) Methods and apparatuses for corner detection using neural network and corner detector
US11775058B2 (en) Method and system for performing eye tracking using an off-axis camera
CN112040834A (zh) 眼球跟踪方法及系统
US20210233288A1 (en) Augmented reality map curation
WO2020068459A1 (en) Sensor fusion eye tracking
US11726320B2 (en) Information processing apparatus, information processing method, and program
US11803231B2 (en) Expression prediction using image-based movement metric
JP2024074862A (ja) 軸外カメラを使用して眼追跡を実施するための方法およびシステム
US20220244781A1 (en) Eye tracking and gaze estimation using off-axis camera
US20240121377A1 (en) Multi-user gaze-tracking for personalized rendering from a 3d display
EP4089628A1 (en) Sight line estimation device, sight line estimation method, model generation device, and model generation method
US20230233072A1 (en) System and method for the diagnosis and treatment of amblyopia using a 3d display
D'Angelo et al. Towards a Low-Cost Augmented Reality Head-Mounted Display with Real-Time Eye Center Location Capability
WO2023244267A1 (en) Systems and methods for human gait analysis, real-time feedback and rehabilitation using an extended-reality device
TW202043848A (zh) 混合實境中偵測真實世界光源的方法、混合實境系統及記錄媒體
JP2019079299A (ja) 情報処理装置、情報処理方法、およびプログラム

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