用于眼睛跟踪系统的改进校准的制作方法

文档序号:11634976阅读:288来源:国知局
用于眼睛跟踪系统的改进校准的制造方法与工艺

本公开涉及眼睛跟踪系统,并且更具体地,涉及用于眼睛跟踪系统的改进校准。



背景技术:

跟踪用户注视的系统(即,眼睛跟踪系统)正变得日益普及。跟踪用户眼睛的移动和注视点的能力允许更精细的用户接口可能性。然而,归因于从一个人到另一个人的眼球状结构的生理差异,这些眼睛跟踪系统通常需要针对每一个用户被校准。校准过程典型地通过以下来执行:向用户呈现一组点(一次一个),请求用户将他们的注视固定在该已知点处同时估计视觉注视点。这个过程是繁琐的,要求用户协作且通常是非鲁棒的。另外,这个过程要求活跃的显示元件(例如,能够由跟踪校准系统控制)以及相对大的视野,这在某些平台(包括,例如某些可佩戴设备和汽车环境)中可能是不存在的。

附图说明

要求保护的主题的实施例的特征和益处随着下面具体实施方式的进行并且在参照附图时将变得清楚,其中相似的标号描绘相似的部分,并且其中:

图1图示了符合本公开的示例实施例的顶级系统图。

图2图示了符合本公开的示例实施例的关于眼睛的横截面视图的校准角度。

图3图示了符合本公开的示例实施例的对象跟踪。

图4图示了符合本公开的一个示例实施例的框图。

图5图示了符合本公开的一个示例实施例的操作流程图。

图6图示了符合本公开的另一示例实施例的平台的系统图。

尽管下面的具体实施方式将参考说明实施例而进行,但是许多可替代方案、修改及其变型对本领域技术人员来说将是清楚的。

具体实施方式

通常,本公开提供用于眼睛跟踪系统的改进校准的系统、设备、方法和计算机可读介质。面向场景(或世界)摄像机可被配置以提供涵盖周围环境视场的视频流,该周围环境对于该系统的用户是可见的。这个视频流可包括有机会移动穿过该场景且被用户的眼睛反射性地跟随的对象。移动的对象可被检测和分析以确定它们的在校准过程中使用的适合性,且以估计它们的视轴或视线。眼睛跟踪摄像机也可被配置为提供图像用于跟踪用户眼睛运动且将其与对象的运动进行相关,例如,所述对象的运动如从面向场景摄像机视频数据所确定的。当发现相关性(例如,超出统计显著阈值的相关性)时,可计算与在对象上的眼睛注视相关联的光轴或瞳孔轴的估计。视轴估计和光轴估计之间的差异可被用作眼睛跟踪系统的校准基础,如将在下面更详细描述的。

图1图示了符合本公开的一个示例实施例的顶级系统图100。面向场景摄像机104可配置为提供视觉数据,例如涵盖周围环境的视场的视频流,该周围环境对于该系统的用户是可见的。眼睛跟踪摄像机106也可配置为提供视觉数据,例如用于跟踪眼睛的运动的用户眼睛108的图像且特别是眼睛的光轴,如将在下面解释的。来自面向场景摄像机104和眼睛跟踪摄像机106的数据可被提供至眼睛跟踪校准系统102,眼睛跟踪校准系统102可被配置为生成校准参数且将这些参数提供至眼睛跟踪系统110。然后眼睛跟踪系统110可以在基于校准参数校正或调整的情况下,基于由眼睛跟踪摄像机106提供的后续数据来跟踪用户眼睛的运动或注视点。

图2图示了符合本公开的示例实施例的关于眼睛的横截面视图200的校准角度。眼睛108包括晶状体214,该晶状体将例如在凝视点206处的对象的图像聚焦在眼睛背部处的一个受体上。凹204是视觉受体的最大密度的区域,并因此能够感知高分辨率的图像。视轴(或视线)212可在该凹和凝视点之间绘出且表示用户沿着其注视的实际路径。相反,光轴(或瞳孔轴)208可绘出为通过瞳孔的中心且正交于晶状体214的表面。光轴208表现为指示用户正沿着其注视的路径,但是实际上从真正的视轴212偏离角度kappa(k)210。

眼睛跟踪设备通常依靠眼睛108的视觉检查以估计光轴208。可通过测量瞳孔(在晶状体214的中心)正面向的方向来估计光轴208。换句话说,光轴在瞳孔的中心正交于晶状体214的表面。然而kappa角度210因人而异,且必须通过对每个用户的校准过程来估计,这是因为需要计算视轴。kappa角度210可表达为两个相对正交分量phi(φ)和theta(θ)的合成,这两个分量可以分别对应于垂直维度和水平维度上的偏离。

除了kappa角度210之外,两个其他的解剖学参数可被用于眼睛跟踪校准:角膜曲率半径(r)以及瞳孔平面与角膜曲率中心之间的距离(d)。

图3图示了符合本公开示例实施例的对象跟踪300。人类眼睛通常以三种主要模式的其中一种进行操作:(1)凝视——其中眼睛维持对单个位置的视觉注视;(2)扫视——眼睛或头部的快速移动,其通常发生在两个凝视之间;以及(3)平滑追踪——其中眼睛紧紧跟随移动的对象。图2图示了沿路径移动的对象(汽车)在多个位置和对应时间点:t1、t2……tn302、304、306处的平滑追踪。人类视觉系统本能地或反射性地跟随移动的对象。

在某些实施例中,针对不同地移动的对象搜索由面向场景摄像机提供的视野,并且眼睛的相关联平滑追踪运动由眼睛跟踪摄像机捕获。当在足够置信度的情况下发现对象运动和平滑追踪运动之间的匹配时,匹配数据可被寄存或存储在系统数据库中。然后如下面所描述的,基于该数据来计算校准参数。

图4图示了符合本公开的示例实施例的框图400。眼睛跟踪校准系统被示出包括注视估计模块404、场景分析模块406、对象轨迹匹配模块408和校准模块410。

注视估计模块404可以被配置为接收来自眼睛跟踪摄像机106的图像,并基于那些图像估计用户眼睛108在一段时间内在多个点处的注视角度。注视角度对应于光轴208,并且可使用在眼睛跟踪领域中已知的任何合适的技术来估计。每一个注视角度点可与时间标记相关联。

场景分析模块406可被配置为分析从面向场景摄像机接收的视频流,以检测移动的对象并估计那些对象在一段时间内在多个点处的角度位置。每一个对象点可与时间标记相关联。对象检测和识别可使用下面方法中的一个或多个来执行:模板匹配、光流跟踪、背景分割、尺度不变特征变换(sift)匹配、粒子滤波和/或正-负跟踪。

对象运动检测器可被配置为根据下面的准则中的一个或多个来拒绝不适于眼睛跟踪校准的对象:

(a)对象视觉尺寸——大对象可能增加关于用户注视点的不确定性。

(b)对象视觉速度-平滑跟踪速度通常限于约每秒30度的最大值。

(c)对象运动——可能难以从凝视和扫视区分出相对小的对象运动。

(d)对象自遮挡——遮挡自己(例如,沿它们自己的轴旋转)的对象可能创建与该对象主体的总体运动不一致的注视模式。

(e)对象反差——具有相对低反差的对象可能增加关于用户注视点的不确定性。

(f)对象区别性——当许多对象以相似模式移动时,运动可能增加关于用户的注视正在跟踪哪一个对象的不确定性。

另外,在某些实施例中,惯性传感器可被采用来测量在世界坐标中面向场景摄像机的运动。可以拒绝利用摄像机确定为在移动(即在真实世界中没有移动)的对象。

对象轨迹匹配模块408可被配置为将对象运动数据与注视数据进行匹配。对象运动点在用户眼睛的坐标系中被转换为光线。这可基于以下假设:对象和面向场景摄像机之间的距离与摄像机和眼睛之间的距离相比相对大,在可佩戴设备中,摄像机和眼睛之间的距离可能只有几厘米。可替代地,在某些实施例中,深度或距离感测设备可被采用来估计对象和面向场景摄像机之间的距离。例如,立体摄像机可用于这个目的。

在这一点上,该对象轨迹匹配模块408具有对象坐标[θi,φi,ti]obj和眼睛注视坐标[θj+θ0,φj+φ0,tj+t0]εye,其中θ0和φ0是校准角度(kappa)且t0表示两个摄像机之间的时钟采样时间差。可执行重采样以将对象坐标和眼睛注视坐标带入共同的时间坐标系ti且消除t0偏离项。然后可以在所匹配的对象坐标和眼睛注视坐标之间计算距离测量结果,其最小化校准角度θ0和φ0:

在某些实施例中,该距离测量结果可以是欧几米德范数,即换句话说,对象角位置和注视方向之间的距离之和最小化受制于校准角度θ0,φ0而最小化。通常,这是2自由度(θ0,φ0)的非线性最小化问题。该最小化可以由一般的数值优化技术执行,比如例如,牛顿-高斯算法或列文伯格-马夸尔特(levenberg-marquardt)算法。

在某些实施例中,附加的校准参数可被估计以包括角膜曲率半径(r)以及瞳孔平面与角膜曲率中心之间的距离(d)。在这些实施例中,距离测量结果最小化计算包括r和d如下:

其中注视角度和校准参数r、d之间的函数关系可通过已知的方法从眼睛跟踪设备的几何结构导出。数值优化可经受对每一个参数的预定义的约束。例如,参数可被限制在正常解剖学值的范围之内。

如果测得的距离超过阈值,则所匹配的数据可被拒绝。否则,所匹配的数据可被传递到校准模块410。阈值可由统计模块计算,该统计模块计及与对象跟踪和注视跟踪相关联的噪音以使匹配能满足预定义的统计显著性等级。将意识到的是,本公开的实施例依靠可以发生或可以不发生的自发对象跟踪,不像假定用户正在观看通常为静止点的已知对象的其他注视校准系统。因此,接受/拒绝准则对于确定用户是否实际在注视对象是有用的,该对象通过场景分析模块406来检测。

校准模块410可被配置为针对检测到且被接受的一个或多个移动的对象收集如同模块408提供的所匹配的对象运动数据和注视数据。可以预期对多个移动的对象的检测和匹配改进在此描述的校准过程。

校准模块410可配置为分析对象的运动的总空间覆盖且判断该覆盖是否足以达到可接受的校准质量。在某些实施例中,判断标准可以基于达到或超出预定义的阈值的注视点极限。例如,

θmin<-30°,θmax>+30°,φmin<-20°,φmax>+20°

然后对象运动数据和注视数据的集合可在全部接受的对象上被优化,使得对象运动数据和注视数据之间的距离测量结果将受制于校准角度θ0和φ0而最小化:

以生成作为结果的校准参数。相似地,在附加校准参数r、d要被估计的实施例中,该数值优化可被表达为:

图5图示了符合本公开的一个示例实施例的操作500的流程图。这些操作提供一种眼睛跟踪系统的改进校准的方法。在操作510处,从面向场景摄像机接收视频流。在操作520处,分析视频流以检测移动的对象,并估计移动的对象在一段时间内的角位置。在操作530处,从眼睛跟踪摄像机接收图像并基于这些图像在一段时间内估计用户眼睛的注视角度。在操作540处,针对每一个移动的对象,在对象角位置和注视角度之间计算第一距离测量结果。在操作550处,基于第一距离测量结果与距离测量结果阈值的比较,做出接受或拒绝每一个移动的对象在校准中使用的判断。在操作560处,基于第二距离测量结果的最小化来估计眼睛跟踪校准角度。在接受的移动的对象的角位置和注视角度之间计算第二距离测量结果。

图6图示了符合本公开的一个示例实施例的系统图600。系统600可以是移动平台610或计算设备,比如例如智能电话、智能平板计算机、个人数字助理(pda)、移动互联网设备(mid)、双用型平板计算机、笔记本计算机或者膝上型计算机,或者任何其他合适的设备。然而,将意识到的是,在此描述的系统的实施例不限于移动平台,且在某些实施例中,系统600可以是工作站或台式计算机。设备通常可经由显示器元件660(比如例如触摸屏、液晶显示器(lcd)或者任何其他合适的显示器类型)来向用户呈现各种接口。

系统600示出为包括任何数量的处理器620和存储器630。在某些实施例中,处理器620可实现为任何数量的处理器核心。处理器(或处理器核心)可以是任何类型的处理器,比如例如,微处理器、嵌入式处理器、数字信号处理器(dsp)、图形处理器(gpu)、网络处理器、现场可编程门阵列或配置为执行代码的其他设备。处理器可以是多线程核心,因为它们每一个核心可包括不止一个硬件线程上下文(或“逻辑处理器”)。存储器630可耦合至处理器。存储器630可以是本领域技术人员所已知的或以其他方式对于本领域技术人员可用的任何各种各样的存储器(包括存储层级中的各层和/或高速缓冲存储器)。将意识到的是,处理器和存储器可被配置为存储、托管和/或执行一个或多个用户应用或其他软件模块。这些应用可包括但不限于:例如,任何类型的计算、通信、数据管理、数据存储和/或用户接口任务。在某些实施例中,这些应用可采用移动平台610中的任何其他组件或与移动平台610中的任何其他组件交互。

系统600还示出为包括网络接口模块640,其可包括无线通信能力,比如例如蜂窝通信、无线保真(wifi)、和/或近场通信(nfc)。无线通信可符合或以其他方式兼容任何现有的或有待开发的通信标准,这些通信标准包括过去的、当前的和将来的wi-fi和移动电话通信标准的版本。

系统600还示出为包括存储系统650,例如硬盘驱动(hdd)或固态驱动(ssd)。

系统600还示出为包括输入/输出(i/o)系统或控制器650,其可以被配置为使能或者管理处理器620和系统600中的其他元件或在系统600之外的其他元件(未示出)之间的数据通信。

系统600进一步示出为包括眼睛跟踪系统110、眼睛跟踪校准系统102、面向场景摄像机104和眼睛跟踪摄像机106,如前面描述的,它们被配置为提供具有改进的眼睛跟踪校准的眼睛跟踪能力。

将意识到的是,在某些实施例中,系统600中的各种组件可组合在片上系统(soc)架构中。在某些实施例中,这些组件可以是硬件组件、固件组件、软件组件或者硬件、固件或软件的任何合适的组合。

在此描述的方法的实施例可以在一种系统中实现,该系统包括其上个体地或组合地存储有指令的一个或多个存储介质,当所述指令由一个或多个处理器执行时执行该方法。在此,处理器可包括,例如系统cpu(如,核心处理器)和/或可编程电路。因此,意图的是,根据在此描述的方法的操作可跨多个物理设备(比如例如在若干不同物理位置处的处理结构)分布。而且,意图的是可以个体地或以子组合的方式执行方法操作,如本领域技术人员将理解的。因此,并不是每一个流程图中所有操作都需要被执行,且本公开明确意图这样的操作的所有子组合都能实现,如本领域普通技术人员将理解的。

存储介质可包括任何类型的有形介质,例如任何类型的盘,包括:软盘、光学盘、致密盘只读存储器(cd-rom)、可重写致密盘(cd-rw)、数字通用盘(dvd)和磁光盘;半导体器件,比如只读存储器(rom)、随机存取存储器(ram)(比如动态和静态ram)、可擦除可编程只读存储器(eprom)、电可擦除可编程只读存储器(eeprom)、闪速存储器、磁卡或光学卡或者适于存储电子指令的任何类型的介质。

如在此的任何实施例中所使用的,“电路”可以例如单个地或以任何组合地包括硬连线电路、可编程电路、状态机电路,和/或存储由可编程电路执行的指令的固件。app可以体现为代码或指令,所述代码或指令可以在诸如主机处理器或其他可编程电路的可编程电路上执行。如在此的任何实施例中所使用的,模块可体现为电路。电路可体现为集成电路,比如集成电路芯片。

因此,本公开提供了用于眼睛跟踪系统的改进校准的系统、设备、方法和计算机可读介质。接下来的示例涉及进一步的实施例。

根据示例1,提供了一种眼睛跟踪校准系统。该系统可包括场景分析模块,其被配置为从面向场景摄像机接收视频流,并分析视频流以检测移动的对象和估计移动的对象在一段时间内的角位置。本示例的系统也可以包括注视估计模块,其被配置为从眼睛跟踪摄像机接收图像,并基于图像来估计用户眼睛在该段时间内的注视角度。本示例的系统可进一步包括对象轨迹匹配模块,其被配置为针对每一个移动的对象,计算对象角位置和注视角度之间的第一距离测量结果,且基于第一距离测量结果与距离测量结果阈值的比较,进一步判断对于该每一个移动的对象在校准中使用的接受。本示例的系统可进一步包括校准模块,其被配置为基于第二距离测量结果的最小化来估计眼睛跟踪校准角度,在接受的移动的对象的角位置和注视角度之间计算第二距离测量结果。

示例2可包括示例1的主题,且场景分析模块进一步被配置为基于模板匹配、光流跟踪、背景分割、尺度不变特征变换(sift)匹配、粒子滤波和/或正-负跟踪,来检测移动的对象。

示例3可包括示例1和示例2中任一项的主题,且场景分析模块进一步被配置为基于移动的对象的视觉尺寸超出尺寸阈值而拒绝移动的对象。

示例4可包括示例1-3中任一项的主题,且场景分析模块进一步被配置为基于移动的对象的视觉速度超出速度阈值而拒绝移动的对象。

示例5可包括示例1-4中任一项的主题,且场景分析模块进一步被配置为基于与移动的对象相关联的注视角度的极限未能超出运动阈值的范围的确定,而拒绝移动的对象。

示例6可包括示例1-5中任一项的主题,进一步包括惯性传感器,其被配置为跟踪面向场景摄像机的运动,使得场景分析模块可进一步基于对象的运动与面向场景摄像机的运动的相关性,而拒绝移动的对象。

示例7可包括示例1-6中任一项的主题,且最小化基于牛顿-高斯算法或列文伯格-马夸尔特算法。

示例8可包括示例1-7中任一项的主题,进一步包括深度测量设备,其被配置为估计移动的对象和面向场景摄像机之间的距离,所述距离用于移动的对象的位置从世界坐标系到眼睛坐标系的转换。

示例9可包括示例1-8中任一项的主题,且对象轨迹匹配模块进一步被配置为将所估计的对象角位置和所估计的注视角度重采样至共同的时间坐标系。

根据示例10,提供了一种用于眼睛跟踪校准的方法。该方法可包括从面向场景摄像机接收视频流;分析视频流以检测移动的对象,并估计移动的对象在一段时间内的角位置;从眼睛跟踪摄像机接收图像,并基于图像来估计用户眼睛在该段时间内的注视角度;针对每一个移动的对象,计算对象角位置和注视角度之间的第一距离测量结果;基于第一距离测量结果与距离测量结果阈值的比较,判断对于该每一个移动的对象在校准中使用的接受;以及基于第二距离测量结果的最小化来估计眼睛跟踪校准角度,在接受的移动的对象的角位置和注视角度之间计算第二距离测量结果。

示例11可包括示例10中的主题,且进一步包括基于模板匹配、光流跟踪、背景分割、尺度不变特征变换(sift)匹配、粒子滤波和/或正-负跟踪,来检测移动的对象。

示例12可包括示例10和示例11中任一项的主题,且进一步包括基于移动的对象的视觉尺寸超出尺寸阈值而拒绝移动的对象。

示例13可包括示例10-12中任一项的主题,且进一步包括基于移动的对象的视觉速度超出速度阈值而拒绝移动的对象。

示例14可包括示例10-13中任一项的主题,且进一步包括基于与移动的对象相关联的注视角度的极限未能超出运动阈值的范围的确定,而拒绝移动的对象。

示例15可包括示例10-14中任一项的主题,且进一步包括跟踪面向场景摄像机的运动,并且基于对象的运动与面向场景摄像机的运动的相关性,而拒绝移动的对象。

示例16可包括示例10-15中任一项的主题,且最小化基于牛顿-高斯算法或列文伯格-马夸尔特算法。

示例17可包括示例10-16中任一项的主题,且进一步包括估计移动的对象和面向场景摄像机之间的距离,所述距离用于移动的对象的位置从世界坐标系到眼睛坐标系的转换。

示例18可包括示例10-17中任一项的主题,且进一步包括将所估计的对象角位置和所估计的注视角度重采样至共同的时间坐标系。

根据示例19,提供了至少一个其上存储有指令的计算机可读存储介质,所述指令当由处理器执行时,导致施行根据示例10-18中任一项的方法的操作。

根据示例20,提供了一种用于眼睛跟踪校准的系统。该系统可包括:用于从面向场景摄像机接收视频流的构件;用于分析视频流以检测移动的对象,并估计移动的对象在一段时间内的角位置的构件;用于从眼睛跟踪摄像机接收图像,并基于图像来估计用户眼睛在该段时间内的注视角度的构件;用于针对每一个移动的对象,计算对象角位置和注视角度之间的第一距离测量结果的构件;用于基于第一距离测量结果与距离测量结果阈值的比较,判断对于该每一个移动的对象在校准中使用的接受的构件;以及用于基于第二距离测量结果的最小化来估计眼睛跟踪校准角度的构件,在接受的移动的对象的角位置和注视角度之间计算第二距离测量结果。

示例21可包括示例20中的主题,且进一步包括用于基于模板匹配、光流跟踪、背景分割、尺度不变特征变换(sift)匹配、粒子滤波和/或正-负跟踪,来检测移动的对象的构件。

示例22可包括示例20和示例21中任一项的主题,且进一步包括用于基于移动的对象的视觉尺寸超出尺寸阈值而拒绝移动的对象的构件。

示例23可包括示例20-22中任一项的主题,且进一步包括用于基于移动的对象的视觉速度超出速度阈值而拒绝移动的对象的构件。

示例24可包括示例20-23中任一项的主题,且进一步包括用于基于与移动的对象相关联的注视角度的极限未能超出运动阈值的范围的确定,而拒绝移动的对象的构件。

示例25可包括示例20-24中任一项的主题,且进一步包括用于跟踪面向场景摄像机的运动,并且基于对象的运动与面向场景摄像机的运动的相关性,而拒绝移动的对象的构件。

示例26可包括示例20-25中任一项的主题,且最小化基于牛顿-高斯算法或列文伯格-马夸尔特算法。

示例27可包括示例20-26中任一项的主题,且进一步包括用于估计移动的对象和面向场景摄像机之间的距离的构件,所述距离用于移动的对象的位置从世界坐标系到眼睛坐标系的转换。

示例28可包括示例20-27中任一项的主题,且进一步包括用于将所估计的对象角位置和所估计的注视角度重采样至共同的时间坐标系的构件。

在此已经采用的术语和表达被用作描述性术语而非限制性术语,并且在此类术语和表达的使用中没有排除所示出和描述的特征(或其部分)的任何等同物的意图,并且应认识到,在权利要求范围内的各种修改是可能的。相应地,权利要求意图覆盖所有此类等同物。在此已经描述了各种特征、方面和实施例。如本领域技术人员将理解的,这些特征、方面和实施例易于彼此组合以及进行变型和修改。因此,应当认为本公开涵盖了此类组合、变型和修改。

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