基于自适应单应性映射的眼睛凝视跟踪的制作方法

文档序号:11890277阅读:273来源:国知局
基于自适应单应性映射的眼睛凝视跟踪的制作方法与工艺

随着包括移动设备、手持设备和有关技术、比如显示器的计算机已经演变,人类输入机制已经类似地发展。比如基于话音辨识、头部和骨骼跟踪以及手势检测的自然用户接口正在变得更加普遍,从而补充或者在一些情况下取代键盘、指示设备(鼠标或者触笔)和/或识别的符号/笔迹输入。眼睛凝视检测(眼睛跟踪)是另一种自然用户接口技术。

眼睛跟踪技术的一种类型被称为基于交比(CR)的眼睛跟踪。这一技术利用平面投射的不变性以实现使用在未校准的设立中的单个相机对对象的远程凝视估计。一般而言,朝着用户投射红外线光,使得从用户的眼睛的角膜闪烁(反光)由相机感测到,并被处理以跟踪凝视。



技术实现要素:

提供这一发明内容以简化的形式介绍以下在具体实施方式中进一步描述的概念的选集。这一发明内容未旨在于标识要求保护的主题内容的关键特征或者实质特征,它也未旨在于以将限制要求保护的主题内容的范围的任何方式来使用。

作为简化假设的结果,已知的基于CR的眼睛凝视跟踪器的性能随着对象从初始(固定)校准定位移开而显著地下降。同时,实施如下系统不切实际,在该系统中,对象需要在现实使用中出现的许多可能x、y和z头部定位中的每个头部定位中校准眼睛跟踪。因此,希望有一种用于基于CR和其他眼睛凝视跟踪器的改进技术。

简言之,这里描述的主题内容的各种方面涉及用于实现凝视检测的自适应单应性映射。在一个或多个方面中,至少四个光源生成从对象的眼睛的角膜反射作为反光,并且相机被配置为捕获包含反光的当前图像。经由变量——包括代表相对于校准定位的头部位置和/或凝视方向的变量——学习的自适应单应性映射模型被配置为匹配与反光对应的特征数据、与瞳孔有关的数据和/或凝视数据以输出代表的凝视信息。

一个或多个方面涉及使用自适应单应性映射模型用于凝视检测,其中训练自适应单应性映射模型以补偿相对于校准定位的随空间变化的凝视误差和依赖于头部姿势的误差。在图像中捕获和从图像处理当前反光数据和与瞳孔有关的数据作为向自适应单应性映射模型提供的特征。基于与当前凝视信息对应的特征从自适应单应性映射模型接收数据。

一个或多个方面涉及捕获包括对象的眼睛的图像,反光数据和与瞳孔有关的数据是作为特征从该图像提取的,以及使用特征作为向自适应单应性映射模型的输入以确定凝视方向。可以通过使用与在不同头部定位的预测的偏差校正值对应的至少一些仿真的数据来学习自适应单应性映射模型。可以通过获得包括与相对头部定位对应的运动矢量的第一预测器变量以及获得与凝视方向对应的第二预测器变量来学习自适应单应性映射模型。学习可以包括基于与多个头部定位和凝视方向对应的数据最小化目标函数。一般而言,自适应单应性映射模型使用缩放和平移用于预测以及单应性用于校正。

其他优点将从在结合附图阅读时的以下具体描述中变得清楚。

附图说明

在附图中通过举例说明而不是限制本发明,在附图中,相似附图标记指示相似要素,并且在附图中:

图1是图示根据一个或多个示例实施方式的示例部件的框图,这些部件包括可以在眼睛凝视检测中使用的经学习的自适应单应性映射模型。

图2是根据一个或多个示例实施方式的如何捕获反光用于在凝视检测中使用以用作向用于凝视检测的经学习的自适应单应性映射模型的特征的表示。

图3是根据一个或多个示例实施方式的如何使用反光和与瞳孔有关的数据(例如瞳孔中心)以从经学习的自适应单应性映射模型获得凝视信息的表示。

图4是根据一个或多个示例实施方式的如何可以使用基于交比的变换以训练自适应单应性映射模型的表示。

图5是根据一个或多个示例实施方式的在各种头部定位训练自适应单应性映射模型的表示。

图6A和图6B以及图7A和图7B是根据一个或多个示例实施方式的仿真的训练数据如何可以基于由于头部移动所致的平滑缩放和平移变化的示例表示。

图8是图示根据一个或多个示例实施方式的可以采取的用意从经学习的自适应单应性映射模型获得凝视信息的示例步骤的流程图。

图9是以这里描述的各种实施例的一个或多个方面可以被实施到其中的移动和/或手持计算和/或通信设备的形式表示示例非限制计算系统或者操作环境的框图。

具体实施方式

这里描述的技术的各种方面主要地涉及用于在校准定位以更高准确性和在头部移动之下以更高鲁棒性实现凝视预测的自适应单应性映射。这利用在统一框架中同时地补偿随空间变化的凝视误差和依赖于头部姿势的误差的基于经学习的技术来实现。在一个或多个方面中,可以使用仿真的数据来离线训练自适应单应性映射模型从而节省数据收集的大量时间和工作;换言之,无需要求对象在许多各种可能头部定位执行校准。例如用于x、y的缩放项和平移项在实践中平滑地改变,因此仿真的数据可以包括关于偏差校正单应性在新头部定位如何改变的预测以用作真实数据(的至少部分)。

如将理解的那样,自适应单应性映射基于预测器变量,这些变量捕获相对于校准定位的头部移动和在屏幕上的凝视的定位。可以通过在各种头部定位的系列独立于对象的校准、包括使用在定位的仿真/仿真的数据来收集用于训练自适应单应性映射的真实数据(ground truth data)。

在在线操作期间,使用训练的模型以自适应地校正从随空间变化的凝视误差和依赖于头部姿势的误差引起的偏差。在实践中,这一实时操作比其他已知的眼睛凝视技术更准确和对头部移动更具鲁棒性。

为此,基于经学习的自适应方式通过使用反光变换来同时地补偿随空间变化的误差和从头部移动引起的误差、例如通过考虑在反光图案之间的几何变换来补偿在反光之间的距离变化和/或反光图案的大小变化。所得模型不仅补偿对象的深度变化而且补偿与屏幕平面平行的移动。注意尽管可以通过对仿真的数据训练的学习过程获得自适应功能,然而关于系统设立的任何先验知识(如果可用)可以容易地被包含到系统中。

应当理解这里的示例中的任何示例为非限制性的。例如尽管举例说明四个光源和一个相机,但是可以用任何数目的方式对任何数目的相机和光源(提供适当反光图案)进行定位。另外,用来检测眼睛凝视的算法等仅为示例,并且这里描述的技术独立于而不限于任何具体示例而且还能够随着开发新算法而加以适配。这样,本发明不限于这里描述的任何具体实施例、方面、概念、结构、功能或者示例。实际上,这里描述的实施例、方面、概念、结构、功能或者示例中的任何实施例、方面、概念、结构、功能或者示例为非限制性的,并且可以用一般地在眼睛凝视检测中提供益处和优点的各种方式使用本发明。

图1是图示可以用来执行眼睛凝视检测的示例部件的一般框图。在图1中,示出计算设备102和显示器104。显示器104可以是耦合到计算设备的外部显示器或者包含到计算机设备、例如它的壳中的显示器。

如图1中所示,示出多个IR光源106(1)-106(m)以及一个或多个IR光敏相机108(1)-108(n)。注意对于基于交比的眼睛凝视检测,单个相机通常足够,然而如果存在则可以用某种方式(例如平均)处理和组合来自多个相机的图像以比如减少噪声的影响。

光源可以是个别光源、比如激光发光二极管(LED)和/或如下LED等,这些LED等透过衍射/反射光的光学元件投射、由此提供多个光源。注意IR光敏相机中的任何或者所有IR光敏相机可以与可见光相机组合。还注意一个(或多个)相机可以附着到设备、例如嵌于边缘中(例如由圆圈X代表的图2的相机208)或者物理地耦合到设备或者可以在设备外部(例如图4的相机408)或者二者的组合。

如在基于交比的眼睛跟踪中理解的那样,需要至少四个光源以提供反光以计算单应性,并且布置这些光源使得有在它们中的任一个与其他光源之间的至少三个方向不同,例如如图2中的光源222-225的矩形图案是典型布置。然而,包括更多光源的其他布置是可行的并且例如可以提供益处、比如在未检测到其他反光之一时提供至少四个反光。

控制器110可以用来控制IR光源106(1)-106(m)和/或IR光敏相机108(1)-108(n)的操作,但是在一个或多个实施方式中,光源和相机可以“常开”,其中无需除了假设有开/关能力的功率源之外的“控制器”。注意使用IR光是因为它不可为人类所注意,然而在某些情形中可能希望使用可见光、比如对象的眼睛的佩戴物阻止正在使用的特定可见光波长的接触透镜。因此,如这里所用,“光源”不限于IR波长。

一般而言,一个或多个相机108(1)-108(n)捕获向图像处理部件112馈送的图像,该图像处理部件112包括眼睛凝视检测器114耦合到或者包含有头部定位凝视偏差控制器116;如这里描述的那样,偏差校正器包括训练的自适应单应性映射部件。图像处理部件112提供眼睛凝视检测输出118、比如代表用户当前在正在处理的给定的帧等中凝视何处的凝视坐标。这样的输出118可以被缓存比如用于与其他输入(例如鼠标点击或者手势)使用可以由操作系统消耗(以例如移动光标)、可以由应用使用(以例如醒目显示菜单项)等。一般而言,当前凝视信息可以用来采取与改变用户接口的状态有关的动作。每个凝视检测可以有可能与其他(例如手势)检测、比如眨眼模式组合用于其他状态改变以例如将显示器从待机或者关闭状态接通成活跃状态(或者相反)。

关于眼睛凝视检测器114,可以运用任何现有或者待开发的技术(比如交比技术)以将感测到的反光、瞳孔数据和任何其他捕获的特征转换成眼睛凝视信息输出118。可以组合(例如平均)一种或者多种技术的判决以做出最终输出。如这里描述的那样,头部定位凝视偏差校正器116向眼睛凝视检测算法114提供比其他偏差校正技术更准确和更具鲁棒性的偏差校正。

一般而言,远程凝视跟踪系统使用红外线光源来操作以生成作为对象的眼睛图像的部分而捕获的角膜反射、称为反光。处理捕获的图像以提取对照明和视点不变的信息特征、比如瞳孔中心、角膜反射(例如指示眼球的定位)和/或异组织边缘轮廓。

注意在图2中,输出从IR光源225反射的反光的概念为在用户正在注视屏幕上的当前凝视位置226之时由相机208捕获。如可以容易地认识的那样,同时相似地捕获从其他光源222-224的反光(但是在图2中示出向眼睛/向相机反射的仅一个这样的箭头集合)。

如理解的那样,对象228的头部位置和凝视位置226影响捕获的反光g1-g4的定位和大小。该信息与其他信息、比如瞳孔中心up一起对应于从向经学习的头部定位凝视偏差校正器116馈送的图像302提取的特征数据304。从此获得并且向程序312提供凝视信息310、比如屏幕坐标。

如这里描述的那样,用于凝视估计偏差校正的基于单应性的方法可以在一些境况中增加凝视估计的准确性和/或鲁棒性。用于偏差校正的基于单应性的方法可以实施偏差校正单应性变换。可以通过在校准训练阶段期间用基本交比方法从预测的凝视点到屏幕上的真实目标的求解点集配准问题来计算偏差校正单应性变换。

一般而言,基于单应性的方法一般地在校准定位作用良好,因为它们有效地对光轴和视轴偏移进行建模,如在图4中大体地表示的那样。然而,由于从对瞳孔中心和由反光形成的平面的平坦假设而来的模型误差,随空间变化的误差出现。为了准确预测,偏差校正单应性映射需要依赖于对象的凝视方向。

基于单应性的方法的性能在对象从校准定位移开时显著地下降,因为最优偏差校正单应性是头部定位的函数。这里描述的一个或多个方面涉及自适应单应性映射,该自适应单应性映射涉及“预测”偏差校正单应性如何在新头部定位改变,从而凝视跟踪器的性能将如同在该新头部定位校准它一样。描述一种用于基于在当前头部定位和校准定位之间的相对改变以及当前凝视方向预测在校准定位计算的偏差校正单应性的变化的方案。

关于有基于单应性的偏差校正的单应性映射交比,如在图4中大体地所示,令Li为位于四个屏幕拐角的点光源(1≤i≤4),Gi为对应的角膜反射,并且gi为Gi的图像。P是3D的瞳孔中心,并且p为它在图像中的投射。虽然在屏幕拐角示出四个点光源,但是可以如适当的那样使用许多不同结构、数目、放置的多个光源,并且这里出于示例目的而示出四个拐角光源。交比方法假设该组(Li,Gi,gi)中的每个共面、分别表示为平面∏L,∏G,∏g。可以通过单应性描述在平面ΠL,ΠG,Πg之间的变换。在瞳孔中心P落在ПG中的假设之下,注意点预测由下式给定:

PoRCR=HGL(HgG(p))=HCR(p) (1)

其中HgG将平面Пg映射到平面∏G,HGL将平面ΠG映射到平面∏L,并且HCR是HGL和HgG的组合变换。然而,由于这些简化假设在实践中无效,所以大的凝视估计偏差被观察到。

基于单应性的技术应用另一种单应性变换以校正这一凝视估计偏差。在一种技术中,首先用偏差校正单应性将图像中的反光映射到归一化的空间上(例如单一方形ΠN),该偏差校正单应性用来将归一化的空间中的估计的凝视点映射到屏幕空间∏L中的预计的凝视点。通过基于单应性的预测的注意点预测由下式给定:

<mrow> <msub> <mi>PoR</mi> <mrow> <mi>H</mi> <mi>O</mi> <mi>M</mi> </mrow> </msub> <mo>=</mo> <msub> <mi>H</mi> <mrow> <mi>N</mi> <mi>L</mi> </mrow> </msub> <mrow> <mo>(</mo> <msubsup> <mi>H</mi> <mrow> <mi>C</mi> <mi>R</mi> </mrow> <mi>N</mi> </msubsup> <mo>(</mo> <mi>p</mi> <mo>)</mo> <mo>)</mo> </mrow> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>2</mn> <mo>)</mo> </mrow> </mrow>

其中将图像空间映射到归一化的空间,并且HNL将归一化的空间映射到屏幕空间。令v为用于屏幕上的目标定位的索引,V为目标索引的激活,并且tv为屏幕空间中的目标定位,依赖于对象的校准的目标是发现最小化再投射误差的最优偏差校正单应性

<mrow> <msubsup> <mi>H</mi> <mrow> <mi>N</mi> <mi>L</mi> </mrow> <mo>*</mo> </msubsup> <mo>=</mo> <munder> <mi>argmin</mi> <msub> <mi>H</mi> <mrow> <mi>N</mi> <mi>L</mi> </mrow> </msub> </munder> <munder> <mi>&Sigma;</mi> <mrow> <mi>v</mi> <mo>&Element;</mo> <mi>&nu;</mi> </mrow> </munder> <mo>|</mo> <mo>|</mo> <msub> <mi>t</mi> <mi>v</mi> </msub> <mo>-</mo> <msub> <mi>H</mi> <mrow> <mi>N</mi> <mi>L</mi> </mrow> </msub> <mrow> <mo>(</mo> <msubsup> <mi>H</mi> <mrow> <mi>C</mi> <mi>R</mi> </mrow> <mi>N</mi> </msubsup> <mo>(</mo> <msub> <mi>p</mi> <mi>v</mi> </msub> <mo>)</mo> <mo>)</mo> </mrow> <mo>|</mo> <msubsup> <mo>|</mo> <mn>2</mn> <mn>2</mn> </msubsup> <mo>,</mo> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>3</mn> <mo>)</mo> </mrow> </mrow>

其中pυ是在凝视目标v时图像中的2D瞳孔中心定位。

这里描述使用另一单应性映射HA对偏差校正单应性HNL的变化进行建模的自适应单应性映射。通过自适应单应性的注意点由下式给定:

PoRAH=HNL(HA(HCR(p))) (4)

注意在等式(4)中,偏差校正单应性HNL在校准时通过与等式(3)中的相同最小化过程来计算并且对于相同对象保持不变。对照而言,自适应单应性映射HA需要对相对于校准定位的当前头部定位以及凝视方向自适应地变化。在一个或多个方面中,这里描述自适应单应性为回归问题。也就是说,在给定描述相对头部定位和凝视方向的预测器变量时,系统想要预测HA中的值。

可以使用不同类型的预测器变量、包括而不限于移动(对应于头部定位)和凝视方向、x=[xm,xg]T。首先,使用在校准定位存储的反光的四边形与当前反光的四边形之间的几何变换来捕获相对于校准定位的头部移动。在实践中,仿射或者相似性变换可以用来对相对移动进行编码。例如,在对象在校准之后朝着屏幕移动时,变换的缩放项将大于一。单应性变换是以上一般地关于偏差校正而一般地描述的另一适当技术。

通过矢量化运动参数来获得第一类预测器变量xm。在使用仿射变换时有用于xm的六维矢量或者在使用相似性变换时有用于xm的四维矢量。另外,为了对用于随空间变化的映射的凝视方向进行编码,使用与瞳孔有关的数据作为特征之一、例如在归一化的空间xg=HGR(p-p0)中的瞳孔中心定位,其中p0是在屏幕的中心凝视时的瞳孔中心定位。

有了这些预测器变量,可以将自适应单应性建模为二阶多项式回归(即二次回归):

HA,x=f(x,β) (5)

在二次回归中,自适应单应性的值随着预测器变量而为线性,这些预测器变量包含常数项、线性项、二次项以及交互项。

可以通过在校准定位和当前定位使用反光四边形的相对大小自适应地缩放平移校正矢量来实现对于深度变化的误差补偿。在一个或多个实施方式中,这里描述的技术考虑比用于预测的缩放更丰富的变换集合并且使用单应性映射(而不是仅平移)用于校正。最优偏差校正单应性的值依赖于头部移动。

注意取代在每个可能头部定位具有对象校准凝视,在一个或多个实施方式中,可以通过首先通过仿真数据学习自适应、然后使用用于学习适应的该仿真的训练数据预测当前平移矢量来实现误差补偿。使用这一方法可以节省显著对象校准时间和工作以及提高计算速度。此外,使用仿真允许使用比仅用于预测的平移更复杂的模型。

图5总结一个实施方式的总过程。在训练期间,用于头部定位H0到Hn和凝视定位的各种变换(例如仿射变换A)中的每个是已知的并且可以被表示为X={(A1,g1),(A2,g2),...,(An,gn)}。图5中示出为H0到Hn的对应头部定位在训练期间是已知的,从而可以学习Y,注意真实训练数据可以至少部分是仿真数据。

因此,如以上描述的那样,训练操作获得用来学习回归函数:f:X->Y(二阶多项式)的数据。基于训练的数据的这些经学习的头部定位和/或回归函数可以用任何适当方式来存储并且可由图1的凝视跟踪系统访问、比如存储在本地存储装置和/或云存储装置中。

在当前用户使用——可以在应用、在线环境内、在计算设备的基本操作系统内等——期间,经由图像捕获来获得与捕获的反光定位对应的当前反光集合的仿射配准A。一旦这与凝视方向g一起获得,使用回归:y=f(x)而x=(A,g)提供偏差校正单应性:H=H0y

关于学习单应性适应,令u为三维中的头部定位并且U为采样的头部定位的集合。定义适当目标函数为:

其中HA,x=f(x,β)(等式(5))是用于自适应单应性的二次回归模型。学习自适应单应性的目的是通过在仿真的对象位于采样的头部定位时对在预测的凝视定位与屏幕上的真实定位之间的平方误差求和来发现最小化重新投射误差的系数矩阵。

为了最小化在等式(6)中定义的目标函数,可以使用两步方式。首先,可以通过最小化代数误差来估计预测函数。在每个头部定位u,通过在定位u执行依赖于对象的校准来计算最优偏差校正单应性理想地上至缩放因子,该过程因此可以最小化在预测HA,x=f(xu,v,β)与偏差校正单应性的差值(而最后要素被归一化成1)之间的代数误差,其中是在默认校准定位算的偏差校正单应性。因此可以用公式表示代数误差最小化为:

<mrow> <msup> <mi>&beta;</mi> <mi>a</mi> </msup> <mo>=</mo> <munder> <mrow> <mi>arg</mi> <mi>min</mi> </mrow> <mi>&beta;</mi> </munder> <msub> <mi>&Sigma;</mi> <mrow> <mi>u</mi> <mo>&Element;</mo> <mi>u</mi> </mrow> </msub> <msub> <mi>&Sigma;</mi> <mrow> <mi>v</mi> <mo>&Element;</mo> <mi>v</mi> </mrow> </msub> <mo>|</mo> <mo>|</mo> <msup> <mrow> <mo>(</mo> <msubsup> <mi>H</mi> <mrow> <mi>N</mi> <mi>L</mi> </mrow> <mo>*</mo> </msubsup> <mo>)</mo> </mrow> <mrow> <mo>-</mo> <mn>1</mn> </mrow> </msup> <mrow> <mo>(</mo> <msubsup> <mi>H</mi> <mrow> <mi>N</mi> <mi>L</mi> </mrow> <mi>u</mi> </msubsup> <mo>)</mo> </mrow> <mo>-</mo> <mi>f</mi> <mrow> <mo>(</mo> <msub> <mi>x</mi> <mrow> <mi>u</mi> <mo>,</mo> <mi>v</mi> </mrow> </msub> <mo>,</mo> <mi>&beta;</mi> <mo>)</mo> </mrow> <mo>|</mo> <msubsup> <mo>|</mo> <mn>2</mn> <mn>2</mn> </msubsup> <mo>,</mo> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>7</mn> <mo>)</mo> </mrow> </mrow>

其中βa是在最小化代数误差之后的估计的系数矩阵。

第二,为了最小化等式(6)中的重新投射误差,该过程可以从使用βa的初始求解开始并且使用Levenberg-Marquardt算法来执行非线性最小平方优化。

转向校准过程的一个示例实施方式,使用训练对象的交互,每个训练对象被要求凝视在屏幕上均匀地分布的规则n×n,n∈{2,3,4,5}网格图案。在一个训练场景中,使用屏幕上的均匀地分布的5×5网格。为了收集训练数据,定义屏幕平面为x-y平面而从屏幕的深度为现实坐标系中的z轴。可以使用范围从-200mm到200mm居中于定位[0,0,600]mm的5×5×5网格对在屏幕前面的典型工作空间进行采样。在每个头部定位u,例如使用屏幕上的n×n(例如5×5)校准图案来执行等式(3)中的依赖于对象的校准。为了考虑有不同眼睛参数的对象,使用高斯分布对某个数目(例如五十个)的虚拟对象随机地进行采样,这些高斯分布有典型眼睛参数的期望和该参数的值的百分之十的标准偏差。例如角膜半径的典型大小是7.8mm。该过程然后使用有期望7.8和标准偏差0.78的高斯分布来抽取随机样本。

例如从典型眼睛参数(角膜半径Rc=7.8mm、从角膜中心到瞳孔中心的距离K=4.2mm、水平和竖直角度偏差是5度和1.5度)开始,该过程用原值的[-30,30]%变化每个眼睛参数的值。

取代对象的实际数据或者除了对象的实际数据之外,还可以使用仿真的数据。例如图6A和图6B示出用于在x、y上的缩放的在沿着深度轴的不同都不定位计算的最优偏差校正单应性的值的绘图。图7A和图7B示出用于在x、y上平移的相似绘图。注意每个单应性的最后要素被归一化成一。可见,绘图是平滑的。因此,可以预测最优值作为用于真实情形的仿真的数据。

注意使用仿真的数据而不是实际校准数据用于对象不限于交比技术。其他眼睛凝视方向解决方案、比如基于模型的方法(这些方法通过使3D射线与2D屏幕平面相交来估计3D凝视矢量和计算2D兴趣点)也可以使用仿真用于校准。

图8是示出在实际使用经学习的自适应单应性模型时的示例步骤的广义化的流程图。步骤802捕获图像,该图像被处理(步骤804)成反光数据和与瞳孔有关的数据用于用作特征(步骤808)。训练的模型使用特征数据以确定用来计算校正的凝视信息——例如对象的眼睛正在对屏幕凝视处的坐标(或者一般网格标识符)——的头部定位校正数据,该头部定位校正数据可以被输出到缓冲器等用于由凝视跟踪系统的操作环境、比如应用、在线环境、操作系统等消耗。可以在包括用于自然用户接口交互、用于用户兴趣解释的注意力确定等的许多不同场景中使用凝视信息结果。步骤810对于另一帧重复该过程;帧率或者某个平滑操作可以用来防止太多到处跳跃。响应于凝视坐标改变,凝视跟踪系统可以根据用户的凝视的改变来触发凝视跟踪系统的另一动作或者响应、例如触发或者停止或者发起不同自然用户接口交互、指示用于用户兴趣解释的不同注意力确定等。

自适应单应性、比如在以上描述的方法中描述的自适应单应性提供超出已知的基于单应性的方法的准确性,因为除了校正从头部移动的偏差之外,自适应单应性也考虑通过在归一化的空间xg中的瞳孔定位而预测的随空间变化的凝视误差。

以上技术可以与其他眼睛凝视跟踪技术组合。例如这里描述的技术可以在系统中与比如在同日提交、标题为“EYE GAZE TRACKING USING BINOCULAR FIXATION CONSTRAINTS”、代理号为340834.01的共同未决美国专利申请中描述的基于两只眼睛的另一技术组合。

可见,提供一种包括至少四个光源和一个相机的系统,其中光源被配置为生成从对象的眼睛的角膜反射作为反光,并且相机被配置为捕获包含反光的当前图像。经由变量、包括代表相对于校准定位的头部定位和/或凝视方向的变量、经学习的自适应单应性映射被配置为匹配与反光对应的特征数据、与瞳孔有关的数据和/或凝视数据以输出指示对象的眼睛是否当前正在凝视的凝视信息。

在一个或多个方面中,代表相对于校准定位的头部定位和凝视定位的变量可以至少部分基于仿真的数据。仿真的数据可以用来代表用于通过校准来训练自适应单应性映射以获得在各种头部定位的预测器变量的真实数据。真实数据将自适应单应性建模为多项式回归。

在一个或多个方面中,表示相对于校准定位的头部定位的变量对应于通过仿射变换、相似性变换或者单应性变换来编码的在各种头部定位之中的相对头部移动。

一个或多个方面涉及用于凝视检测的自适应单应性映射模型,其中训练自适应单应性映射模型以补偿相对于校准定位的随空间变化的凝视误差和依赖于头部姿势的误差。在图像中捕获并且从图像处理当前反光数据和与瞳孔有关的数据作为向自适应单应性映射模型提供的特征。基于与当前凝视信息对应的特征从自适应单应性映射模型接收数据。

一个或多个方面涉及学习自适应单应性映射模型、包括使用定位数据和与瞳孔有关的数据的多个集合作为用于将自适应单应性建模为二次回归的预测器变量。使用定位数据和瞳孔定位数据的多个集合可以包括例如通过预测在不同头部定位缩放和/或平移的偏差校正值来使用至少一些仿真的数据。

一个或多个方面涉及捕获包括对象的眼睛的图像,反光数据和与瞳孔有关的数据是作为特征从该图像提取的,以及使用特征作为向自适应单应性映射模型的输入以确定凝视方向。可以通过使用与在不同头部定位的预测的偏差校正值对应的至少一些仿真的数据来学习自适应单应性映射模型。可以通过获得包括与相对头部定位对应的运动矢量的第一预测器变量以及获得与凝视方向对应的第二预测器变量来学习自适应单应性映射模型。学习可以包括基于与多个头部定位和凝视方向对应的数据最小化目标函数。一般而言,自适应单应性映射模型使用缩放和平移用于预测以及单应性用于校正。

示例操作环境

图9图示这里描述的主题内容的方面可以被实施在其上的适当移动设备900的示例。移动设备900仅为设备的一个示例而未旨在于暗示关于这里描述的主题内容的方面的使用或者功能范围的任何限制。移动设备900不应被解释为具有与在示例移动设备900中举例说明的部件的任何一个部件或者组合有关的任何依赖或者要求。移动设备可以包括手持设备、比如智能电话、写字板、膝上型设备等。个人计算机可以备选地例如与装配到显示器的相机和光源使用。

可以在眼镜、护目镜或者帽子上佩戴示例移动设备900,或者其他可佩带设备、比如腕表型设备、包括外部计算机是所有适当环境。注意虽然在头部上佩戴眼镜和帽子,但是可以在相对于头部的不同定位中佩戴它们,因此头部定位偏差校正可以是适合的。

参照图9,用于实施这里描述的提内容的方面的示例设备包括移动设备900。在一些实施例中,移动设备900包括蜂窝电话、允许与其他人的语音通信的手持设备、某个其他语音通信设备等。在这些实施例中,移动设备900可以配有用于拍摄图片的相机,但是这在其他实施例中可以是不需要的。在其他实施例中,移动设备900可以包括个人数字助理(PDA)、手持游戏设备、笔记本计算机、打印机、电器、包括机顶盒、媒体中心或者其他电器、其他移动设备等。在更多其他实施例中,移动设备900可以包括一般地视为不可移动、比如个人计算机、服务器等的设备。

移动设备900的部件可以包括但不限于处理单元905、系统存储器910和将包括系统存储器910的各种系统部件耦合到处理单元905的总线915。总线915可以包括若干类型的总线结构中的任何类型的总线结构、包括存储器总线、存储器控制器、外围总线和使用多种总线架构中的任何总线架构的本地总线等。总线915允许在移动设备900的各种部件之间传输数据。

移动设备900可以包括多种计算机可读/机器可读介质。这样的介质可以是可以由移动设备900访问的任何可用介质并且包括易失性和非易失性介质以及可去除和不可去除介质。举例而言而非限制,计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括在用于存储信息、比如计算机可读指令、数据结构、程序模块或者其他数据的任何方法或者技术中实施的易失性和非易失性、可去除和不可去除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或者其他存储器技术、CD-ROM、数字万用盘(DVD)或者其他光盘存储装置、磁盒、磁带、磁盘存储装置或者其他磁存储设备或者可以用来存储希望的信息并且可以由移动设备900访问的任何其他介质。

通信介质通常地在调制的数据信号、比如载波或者其他传送机制中具体化计算机可读指令、数据结构、程序模块或者其他数据并且包括任何信息递送介质。术语“调制的数据信号”意味着如下信号,该信号让它的特性中的一个或多个特性以对信号中的信息进行编码这样的方式来设置或者改变。举例而言而非限制,通信介质包括有线介质、比如有线网络或者直接有线连接和无线介质、比如声学、RF、无线USB、红外线、Wi-Fi、WiMAX和其他无线介质。也应当在计算机可读介质的范围内包括以上各项中的任何项的组合。

系统存储器910包括形式为易失性和/或非易失性存储器的计算机存储介质并且可以包括只读存储器(ROM)和随机存取存储器(RAM)。在移动设备、比如蜂窝电话上,有时在ROM中包括操作系统代码920,但是在其他实施例中,这不是需要的。相似地,经常在RAM中放置应用程序925,但是同样在其他实施例中,可以在ROM中或者在其他计算机可读存储器中放置应用程序。堆930提供用于与操作系统920和应用程序925关联的状态的存储器。例如操作系统920和应用程序925可以在它们的操作期间在堆930中存储变量和数据结构。

移动设备900也可以包括其他可去除/不可去除、易失性/非易失性存储器。举例而言,图9图示闪存卡935、硬盘驱动936和记忆棒937。硬盘驱动936可以被小型化以例如在存储器槽中相配。移动设备900可以经由可去除存储器接口931与这些类型的非易失性可去除存储器对接或者可以经由通用串行总线(USB)、IEEE 9394、有线端口940中的一个或多个有线端口或者天线965连接。在这些实施例中,可去除存储器设备935-937可以经由通信模块932与移动设备对接。在一些实施例中,可以在单个移动设备上包括并非所有这些类型的存储器。在其他实施例中,可以在单个移动设备上包括这些和其他类型的可去除存储器中的一个或多个类型的存储器。

在一些实施例中,可以用更持久地附着到移动设备900这样的方式连接硬盘驱动936。例如硬盘驱动936可以连接到接口、比如并行高级技术附着(PATA)、串行高级技术附着(SATA)或者别的接口,该接口可以连接到总线915。在这样的实施例中,去除硬驱动可以涉及到去除移动设备900的盖并且去除连接硬驱动936的螺丝或者其他紧固器以支撑移动设备900内的结构。

以上讨论和在图9中图示的可去除存储器设备935-937及其关联计算机存储介质提供存储计算机可读指令、程序模块、数据结构和用于移动设备900的其他数据。例如一个或多个可去除存储器设备935-937可以存储由移动设备900拍摄的图像、语音记录、联系人信息、程序、用于程序的数据等。

用户可以通过输入设备、比如键盘941和麦克风942向移动设备900中录入命令和信息。在一些实施例中,显示器943可以是触敏屏幕并且可以允许用户在其上录入命令和信息。键盘941和显示器943可以通过耦合到总线915的用户输入接口950连接到处理单元905,但是也可以由其他接口和总线结构、比如通信模块932和有线端口940连接。运动检测952可以用来确定用设备900做出的手势。

如这里描绘的那样,可以捕获处理眼睛反光和其他与眼睛有关的数据用于输入。可以在软件中、在硬件逻辑中或者在软件和硬件逻辑的组合中执行处理。

用户可以例如经由向麦克风942中说话和经由在键盘941或者触敏显示器943上录入的文本消息与其他用户通信。音频单元955可以提供电信号以驱动扬声器944以及接收和数字化从麦克风942接收的音频信号。

移动设备900可以包括提供信号以驱动相机961的视频单元960。视频单元960也可以接收由相机961获得的图像并且向处理单元905和/或在移动设备900上包括的存储器提供这些图像。由相机961获得的图像可以包括视频、未形成视频的一个或多个图像或者其某个组合。

通信模块932可以向一个或多个天线965提供信号和从一个或多个天线965接收信号。天线965之一可以传输和接收用于蜂窝电话网络的消息。另一天线可以传输和接收消息。更多另一天线(或者共享的天线)可以经由无线以太网网络标准传输和接收网络消息。

进而另外,天线向GPS接口和机制972提供基于位置的信息、例如GPS信号。GPS机制972又使对应GPS数据(例如时间和坐标)可用于处理。

在一些实施例中,单个天线可以用来传输和/或接收用于多于一个类型的网络的消息。例如单个天线可以传输和接收语音和分组消息。

在联网的环境中操作时,移动设备900可以连接到一个或多个远程设备。远程设备可以包括个人计算机、服务器、路由器、网络PC、蜂窝电话、媒体回放设备、对等设备或者其他常见网络节点并且通常地包括以上相对于移动设备900描述的单元中的许多或者所有单元。

这里描述的主题内容的方面是与许多其他通用或者专用计算系统环境或者配置操作的。可以适合用于与这里描述的主题内容的方面使用的熟知计算系统、环境和/或配置的示例包括但不限于个人计算机、服务器计算机、手持或者细实线设备、多处理器系统、基于微控制器的系统、机顶盒、可编程消费者电子设备、网络PC、小型计算机、大型机计算机、包括以上系统或者设备中的任何系统或者设备的分布式计算环境等。

可以在计算机可执行指令、比如程序模块由移动设备执行的一般上下文中描述这里描述的主题内容的方面。一般而言,程序模块包括执行特定任务或者实施特定抽象数据类型的例程、程序、对象、部件、数据结构等。也可以在分布式计算环境中实现这里描述的主题内容的方面,其中任务由通过通信网络链接的远程处理设备执行。在分布式计算环境中,程序模块可以位于包括存储器存储设备的本地和远程计算机存储介质中。

另外,虽然这里可以使用术语服务器,但是将认识这一术语也可以涵盖客户端、在一个或多个计算机上分布的一个或多个过程的集合、一个或多个单独存储设备、一个或多个其他设备的集合、以上各项中的一项或者多项的组合等。

结论

尽管本发明易有各种修改和备选构造,但是在附图中示出并且以上已经具体描述其某些所示实施例。然而应当理解无意于使本发明限于公开的具体形式,但是恰好相反,本发明将覆盖落入本发明的精神实质和范围内的所有修改、备选构造和等效物。

除了这里描述的各种实施例之外,还将理解可以使用其他相似实施例或者可以对描述的实施例做出修改和添加用于执行对应实施例的相同或者等效功能而未脱离实施例。进而另外,多个处理芯片或多个设备可以分担对这里描述的一个或多个功能的执行,并且相似地,可以跨多个设备实现存储。因而,本发明将不限于任何单个实施例,但是实际上将在广度、精神实质和范围上根据所附权利要求来解释。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1