用于注视跟踪模型的注视检测偏移的制作方法

文档序号:11450747阅读:231来源:国知局
用于注视跟踪模型的注视检测偏移的制造方法与工艺

背景

注视跟踪可在许多应用中找到用途,包括但不限于:人机交互、视觉注意力分析、以及用于残疾人士的辅助技术。例如,人的注视方向可被跟踪以确定该人的注视与计算系统的图形用户界面相交的位置。所确定的位置随后可被用作用于与该图形用户界面交互的输入信号。

概述

本文公开了涉及注视跟踪的示例。一个示例提供了一种计算设备,该计算设备包括含有图像传感器的眼睛跟踪系统、逻辑设备、以及包括指令的存储设备,所述指令能够被所述逻辑设备执行以通过经由所述眼睛跟踪系统获得该眼睛的图像并从该眼睛的图像确定该眼睛的晶状体的中心的所确定的位置来跟踪眼睛注视方向。所述指令进一步能够被执行以通过向所述眼睛的晶状体的中心的所确定的位置应用预定的亚像素偏移来调整所述眼睛的晶状体的中心的所确定的位置,从晶状体中心的经调整的位置来确定注视方向,以及基于该注视方向在该计算设备上执行动作。

提供本概述以便以简化的形式介绍以下在详细描述中进一步描述的一些概念。本概述并不旨在标识所要求保护主题的关键特征或必要特征,也不旨在用于限制所要求保护主题的范围。此外,所要求保护的主题不限于解决在本公开的任一部分中所提及的任何或所有缺点的实现。

附图简述

图1示出示例注视跟踪系统。

图2示出示例注视跟踪过程流水线的示意表示。

图3示出示例注视模型的几何表示。

图4示出了用可见光相机和用红外相机获得的眼睛的示例图像。

图5a-c示出了面部地标检测和头部姿态估计的示例输出。

图6示出了表示虹膜检测过程期间的各步骤处的示例数据集的图像。

图7示出了瞳孔中心的2d到3d几何形状的示例映射。

图8示出了图像传感器上的所确定的眼睛晶状体中心的示例映射的示意图。

图9示出了不向所确定的眼睛晶状体中心应用亚像素调整所可能带来的差错的示例的示意图。

图10示出了向所确定的眼睛晶状体中心应用亚像素偏移(sub-pixeloffset)的示例方法。

图11示出了用于确定用于眼睛晶状体中心的亚像素偏移的示例方法。

图12示出了示例计算系统的框图。

详细描述

注视跟踪系统可利用图像传感器来获得人的眼睛的图像数据。例如,一些注视跟踪系统可利用人的眼睛的红外图像来定位对来自闪光光源(例如“朝该人的眼睛定向的红外光源”)的光(“闪光”)的角膜反射以确定人的注视方向。其它方法可使用可见或红外相机而无需这种闪光光源,如下面更详细地描述的。

使用图像数据来跟踪注视可允许以在图像传感器像素的维度量级上的准确度来定位眼睛结构。然而,由于眼睛结构的所确定的位置和眼睛结构的实际位置之间的亚像素差异,定位眼睛结构的像素级准确度仍旧可能导致注视跟踪中的潜在差错。从而,公开了涉及在注视跟踪期间使用被应用于所确定的眼睛结构位置的亚像素偏移以及还涉及对这种亚像素偏移的确定的示例。

在更详细地描述亚像素偏移之前,描述一种示例注视跟踪方法。然而,要理解,如本文公开的亚像素偏移可与任何适当的基于图像的注视跟踪方法一起使用。图1示出了一种注视跟踪系统100,其包括被用于获得观看计算设备108的显示器106的人104的图像的图像传感器102。该人的眼睛的图像可被用来确定注视方向,其可被用来确定人104的注视与显示器106相交的位置110。随后位置110可以被用作与显示在显示器106上的图形用户界面交互的位置信号。尽管是在较大格式显示器(例如,监视器或电视机)的上下文中描绘的,然而要理解,所公开的示例可与任何适当的计算设备一起使用,包括但不限于移动设备、可穿戴设备等。而且,要理解,图像传感器102可表示任何适当类型的图像传感器和/或图像传感器组合。例如,图像传感器102可表示可见光图像传感器、红外图像传感器、深度图像传感器、和/或这些传感器中的两种或更多种,无论是包围在共用外壳中还是在单独外壳中。这种图像传感器可被并入执行注视跟踪的计算设备,或可与该计算设备物理分开。

图2示出可与注视跟踪系统100一起使用的注视跟踪流水线200的示意表示。注视跟踪流水线200利用采用面部模型的注视模型202和经由用户校准204被适配到个体用户的解剖特征的视觉轴偏移。用户校准204可被执行,例如以确定生物测定参数,诸如表示光轴和视觉轴之间的经校准的偏移的α眼睛和β眼睛,以及还有表示眼睛转动中心和面部锚点之间的经校准的偏移向量的注视模型202进一步将头部姿态206和根据虹膜(或瞳孔)跟踪208确定的虹膜(或瞳孔)位置用作为输入。头部姿态206可包括诸如头部转动矩阵r和面部锚点的信息,而虹膜位置可作为虹膜中心被确定。如下所述,这些输入可从图像数据(诸如捕捉用户的面部的二维可见或红外图像数据)确定。使用这些输入,注视模型202可被用来确定眼睛注视方向210。

图2示出可与注视跟踪系统100一起使用的注视跟踪流水线200的示意表示。注视跟踪流水线200利用采用面部模型的注视模型202和经由用户校准204被适配到个体用户的解剖特征的视觉轴偏移。用户校准204可被执行,例如以确定生物测定参数,诸如表示光轴和视觉轴之间的经校准的偏移的α眼睛和β眼睛,以及还有表示眼睛转动中心和面部锚点之间的经校准的偏移向量的注视模型202进一步将头部姿态206和根据虹膜(或瞳孔)跟踪208确定的虹膜(或瞳孔)位置用作为输入。头部姿态206可包括诸如头部转动矩阵r和面部锚点的信息,而虹膜位置可作为虹膜中心被确定。如下所述,这些输入可从图像数据(诸如捕捉用户的面部的二维可见或红外图像数据)确定。使用这些输入,注视模型202可被用来确定眼睛注视方向210。

图3示出可与图2的注视跟踪流水线一起使用以确定注视方向的示例注视模型300的几何表示。眼睛的简化表示被示出为眼球球体302。图像传感器304被配置成捕捉注视显示界面的屏幕306的眼睛的图像数据。在图3中,瞳孔中心p位于眼球球体302上,且眼球中心e表示眼球球体302的中心。光轴t可由穿过眼球中心e和瞳孔中心p的直线定义。对应于注视方向的视觉轴v可与t在水平方向上相差偏移角度α眼睛和/或在垂直方向上相差偏移角度β眼睛。视觉轴和光轴之间的偏移可能是由于人眼的中央凹不在眼睛的光轴上居中而导致的。

对于每个人,在头部坐标系的中心在h时,若干生物测定参数可能是初始未知的,包括眼球中心e、眼睛半径r、α眼睛和β眼睛。这些参数可经由校准推断,如同上面提到的。在校准后,注视方向可使用这些参数来估计。例如,在时间t的眼球中心et可被从头部坐标转换到3d世界坐标如下:

et=ht+rhte,

其中ht和rht分别表示时间t的头部中心和头部转动矩阵。如下面进一步描述的,被用来确定ht和rht的3d头部姿态可从2d可见光谱图像估计。光轴方向tt可被表示为从et到pt的归一化向量,其中pt表示时间t的瞳孔中心。一旦光轴方向tt被确定,视觉轴方向vt(即注视方向)可通过将光轴t水平转动α眼睛度并垂直转动β眼睛度来找到。视觉轴方向vt可被计算如下:

其中

要注意,头部转动可在应用光轴和视觉轴之间的转动偏移之前被移除。

任何适当类型的图像数据可被用来确定如本文所述的注视确定的生物测定参数。例如,在一些示例中,二维(2d)可见彩色或灰度图像数据可被用于检测虹膜,因为虹膜的边界可在可见光图像中显示强的特征轮廓。图4示出其中虹膜可见的示例可见光彩色rgb(红/绿/蓝)图像400。在其它示例中,2d红外图像可被用来检测瞳孔。图4还示出了红外图像402,其中瞳孔而不是虹膜清晰可见。从而,要理解,尽管本文的示例是关于使用可见光图像的虹膜跟踪来描述的,然而瞳孔跟踪也可在一些实现中作为附加或替换而实现。在任何情况下,虹膜或瞳孔的所确定的轮廓可被用来确定眼睛的晶状体的中心的位置。

继续图3,图像传感器304可包括任何适当类型和数量的图像传感器,诸如彩色(例如rgb)相机、深度相机、和/或红外相机。然而,在利用超过一种类型的图像传感器的情况下,一个图像传感器可具有与另一图像传感器的坐标系不同的坐标系。而且,显示界面屏幕306可具有与任何图像传感器的坐标系均不同的又一坐标系。如此,系统校准步骤可将每一图像传感器和屏幕的坐标系转换为单一的、一致的坐标系。例如,在利用rgb相机和深度相机两者的注视跟踪系统中,深度相机坐标系和屏幕坐标系两者可均被校准到rgb相机坐标系。在一些示例中,屏幕校准可通过利用辅助相机和在屏幕前方的校准图案来执行,以使得辅助相机捕捉校准图案和屏幕两者,而rgb相机也捕捉校准图案。在其它示例中,任何其它适当系统校准过程可被使用以匹配不同的坐标系。

尽管眼睛的虹膜和/或瞳孔可在图像数据中被检测,且从而被用来确定虹膜和/或瞳孔中心p,然而眼球中心e或即眼睛转动中心可能不在图像中直接可见。相应地,眼睛转动中心可通过确定该人的头部姿态来估计。眼睛转动中心可被表示为其中是眼睛转动中心的位置,是面部锚点的位置,r是头部转动矩阵,而是眼睛转动中心和头部的前向姿态中的面部锚点之间的偏移向量。面部锚点可包括面部地标点(例如眼睛内眼角),可包括多个不同面部地标点的平均值,和/或可包括面部网格顶点的形心。这种面部地标点位于人的面部表面上并可从2drgb和/或红外图像估计(例如使用面部对准方法)。任何适当面部对准方法可被使用,包括但不限于显式形状回归和局部二元特征回归。面部对准的结果可提供2drgb和/或红外图像上的面部地标点的2d坐标,其可被进一步转换为3d坐标(如果深度图像数据也可用的话)。要理解,当深度图像数据不可用时,3d坐标可仍旧从2d图像数据估计,如本文别处所处。而且,头部转动矩阵r和面部锚点的位置可通过使用任何适当的头部姿态确定方法来确定,包括但不限于:克罗内克分析和基于主动外观模型(aam)的高清晰度面部跟踪方法。是因人而异的并且可针对每个不同人校准。

在一个非限制性示例中,在深度图像数据可用的情况下,rgb图像上的面部地标可使用监督下降方法(sdm)来跟踪。图5a示出了被用来跟踪面部地标的sdm的示例输出。基于面部地标的2d坐标,相应的3d坐标可从深度数据估计。为了跟踪头部姿态,因人而异的3d面部模型可针对每个人校准。在校准期间,该人可被指示保持对红外深度相机的前向姿态达指定时间量,例如1秒。在该人保持前向姿态时,红外深度相机可捕捉图像数据并收集例如10个49个不同面部地标的集合,并对这些数据集合求平均以确定参考3d面部模型xref(参考).xref例如可被定义为大小为3xn的矩阵,其中n是地标的数量且矩阵中的每一列表示一个面部地标的3d位置。在一示例实验中,为了帮助增加头部姿态对面部表情改变的稳健性,面部上的13个刚性点被用作面部地标,如图5b中所示。图5c示出基于人的实验校准数据集合构建的示例3d面部模型。

人的头部姿态可相对于参考模型xref被测量。帧t的3d头部姿态(头部转动矩阵rht,平移向量tt)可按任何适当方式获得。作为一个示例,帧t的3d头部姿态可通过最小化以下方程来获得:

其中表示克罗内克积而11xn是大小为n的1的行向量。以上公式也被称为正交克罗内克问题,其可通过使用奇异值分解找到将rht映射到xref的最近正交矩阵来求解。然而,最小平方拟合可能对于离群值敏感。由于传感器噪声,红外深度图像数据偶尔可产生零深度值。从而,局部邻居搜索可针对任何丢失的深度值执行。然而,从邻居的深度值推导丢失点的深度值可能导致从真实深度值的偏离。如此,具有距平均值超过两个标准差的拟合差错的点可被移除,且可对使用剩余点使用克罗内克方程来重复进一步的最小化步骤。

要注意,尽管深度成像可在所公开的注视跟踪方法中使用,然而各方法也可在没有深度数据的情况下执行。例如,头部姿态也可从经校准的2d图像数据和因人而异的面部模型来估计,以使得2drgb或红外图像上的2d面部地标点可被用来估计相应的3d位置。作为非限制性示例,3d位置可使用来自具有迭代的正投影和缩放(posit)的姿态来迭代地估计。在定位2d图像数据上的面部地标之后,posit可被用来针对每个帧来估计该人的头部姿态,例如通过迭代地最小化已知3d模型的预测的投影和跟踪的2d地标之间的差错。

如同上面提及的,如所公开的注视跟踪方法可准许使用可见光(例如,环境内的环境光)执行注视跟踪来定位用户的虹膜,因为虹膜的边界在2drgb图像中被清楚地定义。同样,瞳孔的边界可经由红外数据来定位。为了以此方式执行注视跟踪,虹膜(或瞳孔)的边界可被表示为拟合到该边界的椭圆。这可允许虹膜中心(或瞳孔中心)被从该椭圆确定,且晶状体中心被基于虹膜中心(或瞳孔中心)推断。

任何适当椭圆拟合方法可被使用,包括但不限于星爆(starburst),一种集成基于特征和基于模型的方案的混合眼睛跟踪算法。星爆迭代地定位椭圆边缘点并执行快速径向对称检测,这类似于霍夫变换。基于机器学习的方法也可被用来通过提取图像特征并用人工标记的基础事实训练分类器来检测虹膜中心(或瞳孔中心)。

图6示出了使用星爆椭圆拟合方法的虹膜检测过程中的各点处的示例数据步骤。首先,600示出了使用面部特征检测从更大的图像切除的眼睛图像。直方图均衡随后可被应用以增加眼睛图像的对比度。在602示出了二元图像,其可通过用眼睛图像中的平均像素值来阈值化每个像素来创建。可执行已连接分量分析以填充孔洞,诸如在高斯模糊之后在虹膜区域中的由镜面反射所导致的那些孔洞。在一个非限制性示例中,三十条射线被从种子点发射,该种子点终结于定义眼睛区域的多边形的边界。射线的方向可均匀分布于-45°到45°和135°到225°之间。这种范围可以是可接受的,以计入虹膜的一些部分可能被眼睑遮挡的可能性。沿每条射线产生最大梯度值的点被认为是虹膜边界的候选点。具有低于预定义阈值的梯度值的候选点可被移除,而剩余的点可被用来拟合椭圆。而且,距平均值具有大于2个标准差的拟合残余值的候选点可被认为是离群值,且从而可被移除。椭圆随后可在剩余候选点上重新拟合。虹膜中心(并且从而晶状体的中心)随后可被估计为经拟合的椭圆的中心。要理解,上述椭圆拟合方法是出于示例目的描述的,且可使用任何其它适当的椭圆拟合方法。

图7解说了瞳孔中心的2d和3d几何形状的示例映射。给定椭圆拟合图像中具有2d坐标[u,v]的瞳孔中心,3d世界中的瞳孔中心p的3d位置可被确定。3d瞳孔中心p是眼球球体700和线之间的相交点,其中相机中心o在原点处。与瞳孔中心的2d坐标相对应的3d坐标可被表示为u=[u-u0,v-v0,f],其中[u0,v0]是来自相机固有参数的图像中心,而f是以像素为单位的相机焦距。

如上所述,一些生物测定参数,包括视觉轴和光轴之间的水平角度α眼睛和垂直角度β眼睛,以及偏移向量可以是因人而异的并且从而初始未知。因此,这些量可针对每个不同的人校准。校准过程也可被配置成确定眼球中心和眼球半径。

虹膜或瞳孔边界的测量的准确度,并且因此所确定的晶状体中心的准确度,可受到图像传感器的分辨率的约束。当被映射到现实世界环境(例如映射到注视方向与显示器的相交点)时,亚像素差错可能潜在地导致确定注视目标时的不准确,并且因此带来用户界面交互中的差错。

图8示意性地示出了图像传感器800的像素的示意图。如图所示,晶状体中心的测量可求助于像素p1的位置。然而,晶状体中心的实际位置可位于像素p1周围的亚像素区域802内。图9解说了延伸穿过所确定的晶状体中心的示例视线v1和相应的实际视线v2之间的差异,且示出了基于此差异的差错的用户界面交互的可能性。

从而,为了帮助减少基于注视的交互的差错率,例如如从训练数据确定的亚像素偏移可被应用于晶状体中心估计。图10示出了解说用于基于被应用到眼睛的晶状体的中心的所确定的位置的亚像素偏移来确定注视方向的示例方法1000的流程图。方法1000可由图1的计算设备108的注视跟踪模块执行,或经由任何其它适当的计算设备执行。在1002,方法1000包括从图像传感器获得眼睛的图像,以及在1004,基于该图像确定眼睛的晶状体的中心的所确定的位置。例如,该方法可包括确定虹膜的中心的位置(例如基于由rgb相机捕捉的图像),如在1006所指示的,和/或瞳孔的中心的位置(例如基于红外相机捕捉的图像),如在1008所指示的。在一些示例中,瞳孔或虹膜的中心可通过将椭圆拟合到瞳孔或虹膜的如从图像数据确定的外边界并随后确定椭圆的中心来确定。要理解,用于确定晶状体的中心的任何其它适当方法可被使用。

在1010,方法1000包括通过应用预定的亚像素偏移在亚像素级别上调整晶状体的中心的所确定的位置以产生经调整的晶状体中心位置。方法1000进一步包括:在1012,基于经调整的晶状体中心位置确定注视方向。可使用任何适当方法来从所确定的晶状体中心位置确定注视方向,包括但不限于上面描述的利用个性化面部模型的那些方法。方法1000进一步包括,在1014,基于注视方向在计算设备上执行动作。作为一个非限制性示例,所确定的注视方向可被映射到显示器上的位置(例如,表示注视方向的向量和显示器在物理空间中的相交点),且所确定的位置可被用作位置信号来与显示器上显示的图形用户界面交互。在这样的示例中,可执行与该位置信号的位置处的用户界面元素对应的动作。在其它示例中,所确定的位置信号可被存储以便跟踪注视随时间的移动,例如以检测基于注视的姿势,且该动作可对应于这种姿势。要理解,响应于确定注视方向,可执行任何适当动作。

在一些实现中,预定亚像素偏移可基于用户反馈随时间改变。这在1016处被解说,其中接收指示所确定的注视方向和预期交互位置之间的差错的反馈。这种反馈可采取任何适当形式。例如,反馈可基于用户输入,如在1018处指示的。作为更具体的示例,用户可通过执行撤销动作、表达困惑、快速连续执行命令的多次重复、和/或提供指示注视检测中的差错的其它输入来指示差错。其它反馈可以是基于计算机的。例如,计算机可确定注视方向在靠近(但不直接位于)潜在预期注视目标(诸如附近的用户界面元素)处与所显示的图形用户界面相交。基于这种反馈,方法100可包括调整亚像素偏移。例如,可按照用于减少所确定的注视位置和明显预期注视目标之间的差错的方式来调整亚像素偏移。

可按任何适当方式确定要在注视跟踪期间应用的亚像素偏移。例如,亚像素偏移可利用用相关数据(例如,瞳孔/晶状体/虹膜中心位置)人工标记的图像数据训练集合通过机器学习来确定。然而,亚像素级别上对图像的标记可能极为困难、耗时且昂贵。如此,图11示出了解说不利用经标记的数据来训练亚像素偏移确定的模型的方法的示例的流程图。方法1100可由任何适当计算设备执行。在1102,方法1100包括获得眼睛图像帧和基础事实对的训练集合。此数据可按任何适当方式收集。作为一个示例,可利用一训练过程,在该训练过程中,一系列训练目标被显示在显示设备上的各个位置处,并且在用户注视着注视目标时用户的眼睛的一系列相关联的图像被捕捉。以此方式,目标的位置可被用作基础事实位置数据,该数据可与经由注视确定模型(诸如上面描述的模型)确定的注视位置比较。

方法1100进一步包括:在1104,从图像数据确定眼睛的晶状体的中心的所确定的位置。晶状体中心可按任何适当方式确定。例如,晶状体中心可通过确定眼睛的虹膜或瞳孔的边界并随后从所确定的边界定位中心来确定。在确定晶状体的中心的位置之后,方法1100包括通过应用亚像素偏移在亚像素级别上调整眼睛的晶状体的中心的位置。所应用的亚像素偏移可以基于用于注视跟踪的可经机器训练的模型,其中该模型可包括可在优化过程期间调整的加权因子集合。在下面更详细地描述用于确定该模型的亚像素偏移的一个这种方法。

继续图11,方法1100包括基于图像数据和从该模型确定的亚像素偏移确定注视方向,如在1108处所指示的。在确定注视方向之后,所确定的注视方向中的差错可基于针对该对的基础事实位置来确定,如在1110处所指示的。当基础事实位置指示注视方向的预期目标时,差错可被确定为预期目标(例如基础事实位置)和估计目标(例如,显示器上的注视方向和显示器相交的位置)之间的差别。在一些示例中,此差错可被归一化以便在从基于图像传感器位置的注视方向转换为基于显示设备上的位置的注视目标时计入该差别。

继续图11,如果不是训练集合中的每个对均已被分析(例如,在1112处为“否”),则方法1100继续至1114来移动至下一图像帧/基础事实数据对,且针对该对重复步骤1104-1110。以此方式,该方法可使用模型针对训练数据的每个对迭代地评估注视方向中的差错。一旦每个对均已被评估(例如,在1112处为“是”),则该方法继续至1116以对训练集合中的所有对的所计算的差错求和。在1116处计算的和可被存储在表中和/或以其它方式与被用于确定眼睛的晶状体的中心的位置和亚像素偏移的模型相关联。

在完成对训练数据集合中的所有图像/基础事实对的评估之后,方法1100包括确定是否每个模型(例如,每个不同加权因子集合)均已被分析。如果确定附加加权因子集合尚待分析(例如,在1118处为“否”),则方法1100前进至1120来利用一不同加权因子集合,并且随后返回至1104来根据新加权因子评估训练数据的所有对。

一旦每个加权因子集合均已被分析,则方法1100包括前进至1122以选择所评估的模型中具有最低差错的模型,且该模型所产生的亚像素偏移可被用于确定注视方向。

上面关于图11描述的各求值可按任何适当方式执行。在一些示例中,求值可基于以下等式执行:

其中w选择是在1120选择的模型,w是在该等式的给定迭代中使用的模型,m是要测试的模型的数量,δr是亚像素偏移,xi是当前从图像(例如,针对训练对i的眼睛图像帧)提取的特征向量,yi是针对该训练对i的基础事实位置,g是表示注视方向确定的函数,而r是在应用偏移δr之前眼睛晶状体中心的估计像素位置。通过确定给定特定模型和图像信息下的最可能的亚像素偏移,该亚像素偏移可被用来使用该模型确定最可能的注视方向(例如,归一化到该显示器上的位置,如由yi所表示的)与针对一训练对的模型相关联的差错可被确定为显示器上的基础事实位置和所确定的注视方向与显示器相交的位置之间的差别。对于m个可能模型中的每个模型,所有差错的和被确定,且具有最小差错和的模型被选择为w选择。

如上所述地向眼睛的所确定的晶状体中心应用亚像素偏移可帮助减少利用注视跟踪的用户界面的差错率。而且,如本文所述,要被应用的亚像素偏移可在开发期间被确定而无需人工标记训练数据,且所确定的亚像素偏移可基于在最终使用期间接收到的反馈在每用户基础上被更新。这可允许初始确定的亚像素偏移被适配到个体用户。

在一些实施例中,本文中描述的方法和过程可以与一个或多个计算设备的计算系统绑定。具体而言,这样的方法和过程可被实现为计算机应用程序或服务、应用编程接口(api)、库和/或其他计算机程序产品。

图12示意性地示出了可执行上述方法和过程中的一个或多个的计算系统1200的非限制性实施例。以简化形式示出了计算系统1200。计算系统1200可采取以下形式:一个或多个个人计算机、服务器计算机、平板计算机、家庭娱乐计算机、网络计算设备、游戏设备、移动计算设备、移动通信设备(例如,智能电话)和/或其他计算设备。注视跟踪系统100是计算系统1200的非限制示例实现。

计算系统1200包括逻辑子系统1202和存储子系统1204。计算系统1200可任选地包括显示子系统1206、输入子系统1208、通信子系统1210和/或在图12中未示出的其他组件。

逻辑子系统1202包括被配置成执行指令的一个或多个物理设备。例如,逻辑机可被配置成执行作为以下各项的一部分的指令:一个或多个应用、服务、程序、例程、库、对象、组件、数据结构、或其他逻辑构造。这种指令可被实现以执行任务、实现数据类型、转换一个或多个组件的状态、实现技术效果、或以其他方式得到期望结果。

逻辑子系统1202可包括被配置成执行软件指令的一个或多个处理器。附加地或可替代地,逻辑子系统1202可以包括被配置为执行硬件或固件指令的一个或多个硬件或固件逻辑机器。逻辑子系统1202的处理器可以是单核的或多核的,并且其上执行的指令可以被配置用于串行、并行和/或分布式处理。逻辑机的各个组件可任选地分布在两个或更多单独设备上,这些设备可以位于远程和/或被配置成进行协同处理。逻辑子系统1202的各方面可以由云计算配置中配置的可远程访问的联网计算设备来虚拟化和执行。

存储子系统1204包括被配置成保持可由逻辑子系统1202执行的指令以实现本文描述的方法和过程的一个或多个物理设备。在实现此类方法和过程时,存储子系统1204的状态可以被变换—例如,以保持不同的数据。

存储子系统1204可以包括可移动和/或内置设备。存储子系统1204可以包括光学存储器(例如,cd、dvd、hd-dvd、蓝光碟等)、半导体存储器(例如,ram、eprom、eeprom等)和/或磁性存储器(例如,硬盘驱动器、软盘驱动器、磁带驱动器、mram等)、等等。存储子系统1204可包括易失性、非易失性、动态、静态、读/写、只读、随机存取、顺序存取、位置可寻址、文件可寻址和/或内容可寻址设备。

可以理解,存储子系统1204包括一个或多个物理设备。然而,本文描述的指令的各方面可另选地通过不由物理设备在有限时长内持有的通信介质(例如,电磁信号、光信号等)来传播。

逻辑子系统1202和存储子系统1204的各方面可以被一起集成到一个或多个硬件逻辑组件中。这些硬件逻辑组件可包括例如现场可编程门阵列(fpga)、程序和应用专用的集成电路(pasic/asic)、程序和应用专用的标准产品(pssp/assp)、片上系统(soc)以及复杂可编程逻辑器件(cpld)。

应当理解,如此处所使用的“服务”可以是跨越多个用户会话可执行的应用程序。服务可对一个或更多系统组件、程序、和/或其他服务可用。在某些实现中,服务可以在一个或多个服务器计算设备上运行。

显示子系统1206可用于呈现由存储子系统1204所保持的数据的可视表示。此视觉表示可采取图形用户界面(gui)的形式。由于本文所描述的方法和过程改变了由存储机保持的数据,并由此变换了存储机的状态,因此同样可以转变显示子系统1206的状态以视觉地表示底层数据的改变。显示子系统1206可包括使用实质上任何类型的技术的一个或多个显示设备。可将此类显示设备与逻辑子系统1202和/或存储子系统1204组合在共享封装中,或此类显示设备可以是外围显示设备。

输入子系统1208可包括诸如键盘、鼠标、触摸屏或游戏控制器等一个或多个用户输入设备或者与这些用户输入设备对接。在一些实施例中,输入子系统可以包括所选的自然用户输入(nui)部件或与其对接。这样的部件可以是集成式的或者是外设,并且输入动作的转换和/或处理可以在板上或板下处理。示例nui部件可包括用于语言和/或语音识别的话筒;用于机器视觉和/或姿势识别的红外、色彩、立体显示和/或深度相机;用于运动检测和/或意图识别的头部跟踪器、眼睛跟踪器、加速计和/或陀螺仪;以及用于评估脑部活动的电场感测部件。

当包括通信子系统1210时,通信子系统510可被配置成将计算系统1200与一个或多个其他计算设备通信地耦合。通信子系统1210可包括与一个或多个不同通信协议兼容的有线和/或无线通信设备。作为非限制性示例,通信子系统可被配置成用于经由无线电话网络或者有线或无线局域网或广域网来进行通信。在一些实施例中,通信子系统可允许计算系统1200经由诸如因特网这样的网络将消息发送至其他设备以及/或者从其他设备接收消息。

将会理解,本文描述的配置和/或方式本质是示例性的,这些具体实施例或本文示例不应被视为限制性的,因为许多变体是可能的。本文描述的具体例程或方法可以表示任何数量的处理策略中的一个或多个。如此,所示和/或所述的各种动作可以以所示和/或所述顺序、以其他顺序、并行地执行,或者被省略。同样,上述过程的次序可以改变。

本公开的主题包括本文公开的各种过程、系统和配置以及其他特征、功能、动作和/或性质的所有新颖和非显而易见的组合和子组合,以及其任何和所有等同物。

另一示例提供一种计算设备,所述计算设备包括含有图像传感器的眼睛跟踪系统,逻辑设备,以及包括指令的存储设备,所述指令能被所述逻辑设备执行以通过以下操作跟踪眼睛注视方向:经由所述眼睛跟踪系统获得所述眼睛的图像,从所述眼睛的所述图像获得所述眼睛的晶状体的中心的所确定的位置,所述位置是在像素级别上被确定的,通过向所述眼睛的所述晶状体的中心的所确定的位置应用预定的亚像素偏移来在亚像素级别上调整所述眼睛的所述晶状体的所述中心的所确定的位置以产生所述晶状体的所述中心的经调整的位置,根据所述晶状体的所述中心的经调整的位置来确定注视方向,以及基于所述注视方向在计算设备上执行动作。在这种示例中,所述图像传感器可附加或另选地包括可见光相机,并且所述指令可附加或另选地能被执行以通过确定所述眼睛的虹膜的边界以及基于所述虹膜的边界来确定所述虹膜的中心来确定所述晶状体的所述中心的所确定的位置。在这种示例中,所述指令可附加或另选地进一步能被执行以向所述虹膜的所确定的中心应用所述亚像素偏移。在这种示例中,所述图像传感器可附加或另选地包括红外相机,并且其中所述指令可附加或另选地能被执行以通过确定所述眼睛的瞳孔的边界以及基于所述瞳孔的边界来确定所述瞳孔的中心来确定所述眼睛的所述晶状体的所述中心的所确定的位置。在这种示例中,所述指令可附加或另选地进一步能被执行以向所述瞳孔的所确定的中心应用所述亚像素偏移。在这种示例中,所述指令可附加或另选地进一步能被执行以接收关于注视方向和用户界面上的预期交互位置之间的差错的反馈,以及基于所述反馈调整所述预定亚像素偏移。在这种示例中,所述反馈可附加或另选地包括指示不正确的注视确定的用户输入。以上描述的示例中的任何一个或全部可按任何合适的方式被组合在各实现中。

另一示例提供一种在计算设备上确定在计算机实现的注视跟踪中使用的亚像素偏移以减少使用所述注视跟踪的用户界面交互的差错率的方法,所述方法包括获得训练数据集合,所述训练数据集合包括多个眼睛图像帧和相应基础事实位置对,每个眼睛图像帧包括当注视目标被显示在显示器上所述相应基础事实位置处时捕捉人类眼睛的图像数据,通过以下操作对于每个对执行差错分析,确定在所述眼睛图像数据帧中捕捉的眼睛的晶状体的中心,经由包括一个或多个加权因子的集合的模型来确定要应用到所述晶状体的所确定的中心的亚像素偏移,向所述眼睛的所述晶状体的所确定的中心应用所述亚像素偏移以确定经调整的晶状体中心,使用所述经调整的晶状体中心确定注视方向,以及基于针对所述对的基础事实位置在应用所述亚像素偏移之后确定所述注视方向中的差错,调整所述一个或多个加权因子来产生经调整的模型,以及针对经调整的模型重复所述差错分析,确定产生所述注视方向中的最低的所确定的差错的所述一个或多个加权因子的所选集合,确定与所述一个或多个加权因子的所述所选集合相对应的所选亚像素偏移,以及提供所选亚像素偏移以在注视跟踪中使用。在这种示例中,所述模型可附加或另选地是第一模型且一个或多个加权因子的所述集合可附加或另选地是第一加权因子集合,所述方法可附加或另选地进一步包括对具有第二一个或多个加权因子集合的第二模型执行所述差错分析。在这种示例中,所述方法可附加或另选地进一步包括基于所述第一模型还是所述第二模型产生了所述注视方向中的更低的所确定的差错来确定所选亚像素偏移。在这种示例中,确定要应用的亚像素偏移可附加或另选地包括针对图像帧和相应基础事实对的所述对确定所述模型的最可能的亚像素偏移。在这种示例中,在应用所述亚像素偏移之后确定所述注视方向中的差错可附加或另选地包括确定针对所述对的所述注视方向和所述基础事实之间的差异。在这种示例中,确定所述亚像素偏移可附加或另选地包括执行所述模型和所述图像数据帧的点积。以上描述的示例中的任何一个或全部可按任何合适的方式被组合在各实现中。

另一示例提供一种在计算设备上确定注视方向的方法,所述方法包括经由所述眼睛跟踪系统获得所述眼睛的图像,从所述眼睛的所述图像确定所述眼睛的晶状体的中心的所确定的位置,所确定的位置是在像素级别上确定的,通过向所述眼睛的所述晶状体的中心的所确定的位置应用预定的亚像素偏移来在亚像素级别上调整所述眼睛的所述晶状体的所述中心的所确定的位置以产生所述晶状体的所述中心的经调整的位,根据所述晶状体的所述中心的经调整的位置来确定注视方向,以及基于所述注视方向执行动作。在这种示例中,确定所述晶状体的所述中心的所确定的位置可附加或另选地包括确定所述眼睛的虹膜的边界以及基于所述虹膜的所述边界确定所述虹膜的中心。在这种示例中,调整所述晶状体的所述中心的所确定的位置可附加或另选地包括向所述虹膜的所述中心应用所述预定亚像素偏移。在这种示例中,确定所述眼睛的所述晶状体的所述中心的所确定的位置可附加或另选地包括确定所述眼睛的瞳孔的边界以及基于所述瞳孔的所述边界确定所述瞳孔的中心。在这种示例中,调整所述晶状体的所述中心的所确定的位置可附加或另选地包括向所述瞳孔的所述中心应用所述预定亚像素偏移。在这种示例中,所述方法可附加或另选地进一步包括接收关于注视方向和用户界面上的预期交互位置之间的差错的反馈,以及基于所述反馈调整所述预定亚像素偏移。在这种示例中,所述反馈可附加或另选地包括指示不正确的注视确定的用户输入。以上描述的示例中的任何一个或全部可按任何合适的方式被组合在各实现中。

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