偏振的视线跟踪的制作方法
【专利摘要】本文公开了涉及确定凝视位置的实施例。在一个实施例中,一种方法包括:沿着去往佩戴着眼镜的用户的眼睛的外向光路径来照射光。在检测到眼镜时,以在随机偏振阶段和单偏振阶段之间切换的偏振模式,对该光进行动态地偏振,其中随机偏振阶段包括沿着外向光路径的第一偏振和沿着反射光路径与第一偏振正交的第二偏振。单偏振阶段具有单偏振。在随机偏振阶段期间,将从眼镜反射的眩光过滤掉,并捕捉瞳孔图像。在单偏振阶段期间,捕捉闪烁图像。基于瞳孔特性和闪烁特性,反复地检测凝视位置。
【专利说明】
偏振的视线跟踪
【背景技术】
[0001]眼睛或视线跟踪系统可以用于确定人的目光的方向和/或位置。在一些例子中,光源可以照亮用户的眼睛或两只眼睛,相应的照相机可以捕捉眼睛的图像。这些图像可以包括来自眼睛角膜的反射或者“闪烁(glint)”。可以利用所捕捉图像中的瞳孔和闪烁的位置,来确定周围环境中的用户目光的方向和/或位置。
[0002]但是,在用户佩戴着眼镜的情形下,来自光源的光可能从眼镜的镜片造成镜面反射。这种镜面反射可能造成眩光(glare),其可能遮蔽角膜反射闪烁和瞳孔和/或角膜缘的图像。这种眩光可能使视线跟踪系统准确地确定瞳孔和/或闪烁的位置的能力下降。因此,估计的人的目光的方向和/或位置的准确性可能会受影响。
【发明内容】
[0003]本文公开了涉及确定用户的眼睛的凝视位置的系统和方法的各个实施例。例如,一个公开的实施例提供了一种用于确定用户的眼睛的凝视位置的方法,其中,沿着从光源到佩戴着眼镜的用户的眼睛的外向(outbound)光路径来照射光。该方法包括:使用图像捕捉设备捕捉的图像,检测用户佩戴着眼镜。
[0004]在检测到用户佩戴着眼镜时,以按照至少60Hz的速率在随机偏振阶段和单偏振阶段之间反复切换的偏振模式,对光进行动态地偏振,其中,该随机偏振阶段包括沿着位于光源和用户的眼镜之间的外向光路径的光的第一偏振,以及沿着位于眼镜和图像捕捉设备之间的反射光路径与第一偏振正交的第二偏振。单偏振阶段具有沿着外向光路径和反射光路径中的一个或多个的单偏振。
[0005]在随机偏振阶段期间,将从眼镜反射的眩光(glare)过滤掉,否则该眩光将遮蔽眼睛的瞳孔。在随机偏振阶段期间,当眩光被过滤掉时,按照30Hz或者更高的速率来捕捉瞳孔图像。在单偏振阶段期间,按照30Hz或者更高的速率来捕捉闪烁(glint)图像。基于在瞳孔图像中识别的瞳孔特性,以及在与瞳孔图像的时间相近时捕捉的闪烁图像中识别的闪烁特性,按照至少30Hz的速率来反复地检测凝视位置。
[0006]提供该概括部分以便以简化形式来选择介绍在下面的【具体实施方式】中进一步描述的概念。该概括部分并不是旨在标识本发明的关键特征或者本质特征,也不是旨在用于限制本发明的保护范围。此外,本发明并不限于解决本公开的任何部分中所陈述的任何或者所有缺点。
【附图说明】
[0007]图1是根据本公开的实施例,用于确定用户的眼睛的凝视位置的视线跟踪系统的示意性视图。
[0008]图2是根据本公开的实施例,一个房间的示意性透视图,该房间包括佩戴着眼镜的两个用户、包括视线跟踪系统的壁挂式显示器和包括视线跟踪系统的平板计算机。
[0009]图3是根据本公开的实施例的视线跟踪系统的示意性视图。
[0010]图4是根据本公开的另一个实施例的视线跟踪系统的示意性视图。
[0011 ]图5是根据本公开的另一个实施例的视线跟踪系统的示意性视图。
[0012]图6是根据本公开的另一个实施例的视线跟踪系统的示意性视图。
[0013]图7A和图7B是根据本公开的实施例,用于确定用户的凝视位置的方法的流程图。
[0014]图8是计算设备的一个实施例的简化示意性视图。
【具体实施方式】
[0015]图1示出了用于确定用户14的眼睛的一个或多个凝视位置的视线跟踪系统10的一个实施例的示意性视图。视线跟踪系统10包括视线跟踪模块16和动态偏振模块20,它们可以存储在计算设备22的大容量存储设备18中。视线跟踪模块16和动态偏振模块20可以装载到存储器26中,并由计算设备22的处理器30执行以实现下面进一步详细描述的方法和过程中的一个或多个。
[0016]视线跟踪系统10包括一个或多个光源28(例如,LED光源)。在一些例子中,光源28可以包括发出红外光(例如,红外LED)的红外线光源。在其它例子中,光源28可以包括发出可见光的可见光源(例如,用于照相机闪光灯目的的可见LED或者膝上型计算机上的键盘照明)。在一些例子中,光源28可以包括计算设备(例如,移动电话)上的显示器。
[0017]如下面所进一步详细描述的,光源28可以沿着去往用户的眼睛的外向光路径来照射光。一个或多个偏振滤波器32被配置为对光源28发出的光进行动态地偏振。此外,视线跟踪系统10还包括一个或多个图像捕捉设备34,这些图像捕捉设备34被配置为捕捉从用户的眼镜和眼睛反射和散射的光的图像。
[0018]在一些例子中,可以将计算设备22、光源28、偏振滤波器32和图像捕捉设备34集成到一个共同的外壳(enclosure)中,以形成单一设备。这些设备可以包括但不限于:台式计算机、PC、手持智能手机、电子阅读器、膝上型计算机、笔记本和平板计算机、显示器、交互式电视、机顶盒、游戏控制台等等。举例而言并参见图2,佩戴着眼镜206的平板电脑用户202可以使用包括视线跟踪系统1的平板电脑210。平板电脑210可以包括LED光源214,伴有偏振滤波器和视线检测照相机218。
[0019]在其它例子中,光源28、偏振滤波器32和图像捕捉设备34中的一个或多个可以与计算设备22物理地分离,并通信地耦合到计算设备22。举一个例子,光源28、偏振滤波器32和图像捕捉设备34可以位于安装在与壁挂式显示器226相邻的输入设备222中,可以经由有线或者无线连接,利用显示器或者单独的部件(例如,游戏控制台)来通信地耦合到计算设备22。佩戴着眼镜238的游戏用户234可以经由计算设备22上的输入设备222和视线跟踪模块16,利用他的眼睛与显示器226所显示的内容进行交互。应当理解的是,也可以使用多种其它类型和配置的具有各种形状因子的视线跟踪系统10(无论其与计算设备22相分离,还是与计算设备22集成在一起),并落入本公开的保护范围之内。
[0020]计算设备22可以采用台式计算设备、移动计算设备(比如,智能手机、膝上型计算机、笔记本或者平板计算机)、网络计算机、家庭娱乐计算机、交互式电视、游戏系统或者其它适当类型的计算设备的形式。下面参照图8来更详细地描述关于计算设备22的部件和计算方面的另外细节。
[0021]再次参见图1,如上所述,在一些例子中,视线跟踪系统10可以包括或者通信耦合到显示设备38。在一个例子中,显示设备38可以包括经由有线或者无线连接来操作性连接到计算设备22的单独显示器(例如,独立的监视器)。显示器38可以包括用于向用户呈现一个或多个视觉元素的显示系统40。
[0022]视线跟踪模块16可以被配置为以任何适当的方式来确定用户的一只或两只眼睛的视线方向。例如,视线跟踪模块16可以使用瞳孔和角膜反射的图像(其生成图像捕捉设备34所捕捉的角膜闪烁(glint)),来确定瞳孔的中心和这些闪烁的位置。可以使用这些闪烁和瞳孔中心之间的矢量来确定眼睛的凝视位置。
[0023]举一个例子,可以使用亮瞳(brightpupil)技术,其中在该技术中,来自光源28的照射光与眼睛的光路径同轴,其造成从视网膜反射出光。在其它例子中,可以使用暗瞳(dark pupil)技术,其中在该技术中,照射光偏离所述光路径。为了说明本公开起见,提供使用暗瞳技术的视线跟踪系统10的例子。
[0024]如根据图像捕捉设备34采集的图像数据所确定的角膜闪烁和瞳孔的图像,可以用于确定每一只眼睛的光轴。利用该信息,视线跟踪模块16确定用户正在注视的方向和/或用户正在注视的是什么物理对象或者视觉对象。此外,视线跟踪模块16还可以确定用户正在注视物理或视觉对象上的什么点。随后,可以将该视线跟踪数据提供给计算设备22,一个或多个应用或者其它程序可以根据需要来使用该视线跟踪数据。
[0025]现在还参见图3-6,现在提供视线跟踪系统10的示例性实施例的描述。在图3所示出的一个例子中,视线跟踪系统10包括:第一红外线光源302,其沿着第一外向光路径306来照射红外光;第二红外线光源310,其沿着第二外向光路径314来照射红外光。应当理解的是,第一外向光路径306从第一光源302延伸到眼睛322,第二外向光路径314从第二光源310延伸到眼睛。应当理解的是,红外线光源仅仅只是作为例子提供,任何其它适当的光源也可以使用,并落入本公开的保护范围之内。此外,还参见图1,如下面所更详细描述的,在检测到用户佩戴着眼镜时,可以以在随机偏振阶段48和单偏振阶段52之间反复地切换的偏振模式44,使用外向(outbound)偏振滤波器318和内向(inbound)偏振滤波器340,对从第一光源302和第二光源310发出的红外光进行动态地偏振。
[0026]如图3中所示,用户14的眼睛322透过该用户所佩戴的眼镜328的镜片326进行凝视。图像捕捉设备332被配置为捕捉从眼睛322和眼镜328的镜片326反射和散射的、第一光源302和第二光源310所发出的光的图像。如上所述,来自光源302和/或310的光可以从镜片326进行反射,从而在图像捕捉设备332所捕捉的图像中造成眩光。有利的是,动态偏振模块20被配置为将这些眩光充分地(substantial Iy)过滤掉,否则这些眩光可能遮蔽眼睛322的瞳孔336。
[0027]具体而言并举一个例子,动态偏振模块20被配置为:利用按照至少60Hz的速率在随机偏振阶段48和单偏振阶段52之间反复地切换的偏振模式44,经由外向偏振滤波器318和内向偏振滤波器340,对从第一光源302和第二光源310发出的红外光进行动态地偏振。随机偏振阶段48包括红外光的第一偏振506,其由外向偏振滤波器318来提供,沿着位于第一光源302和用户的眼镜328之间的第一外向光路径305。此外,随机偏振阶段48还包括与第一偏振56正交的第二偏振60,其由内向偏振滤波器340来提供,沿着位于眼镜328和图像捕捉设备332之间的反射光路径344。在该例子中,单偏振阶段52具有由内向偏振滤波器340所提供的沿着反射光路径344的单偏振70。应当理解的是,反射光路径344从眼睛322延伸到图像捕捉设备332。
[0028]如图3中所不,来自第二外向光路径314的未偏振光的第一部分350从镜片326反射出,沿着反射光路径344穿过外向偏振滤波器340去往图像捕捉设备332。来自第二外向光路径314的未偏振光的第二部分354穿过镜片326,并且是从眼睛322的角膜反射出的,其产生角膜闪烁,角膜闪烁沿着反射光路径344穿过内向偏振滤波器340去往图像捕捉设备332。在单偏振阶段52期间,光的第一部分350和第二部分354可以被用来捕捉闪烁图像64。
[0029]外向偏振滤波器318和内向偏振滤波器340可以包括线性、圆形或者任何其它适当类型的偏振滤波器。如图3中所示,第一外向光路径306包括穿过水平偏振滤波器318的光。来自第一外向光路径306的水平偏振的光的第一部分360从镜片326反射出,沿着反射光路径344,穿过垂直偏振内向偏振滤波器340,去往图像捕捉设备332。光的第一部分360包括从镜片326的表面反射的眩光。由于光的第一部分360是被反射的,因此其维持水平偏振(水平偏振与内向偏振滤波器340的垂直偏振相正交)。因此,在光的第一部分360的眩光到达图像捕捉设备332之前,内向偏振滤波器340对来自光的第一部分360的眩光进行充分的衰减和消除。应当理解的是,外向偏振滤波器318和内向偏振滤波器340的方向可以具有彼此之间正交的任何适当方向。
[0030]来自第一外向光路径306的光的第二部分364穿过镜片326,并从眼睛322的角膜反射出,产生水平偏振的角膜闪烁。此第二部分364中的该水平偏振的角膜闪烁沿着反射光路径344行进,穿过垂直偏振的内向偏振滤波器340,到达图像捕捉设备332。由于光的第二部分364是被反射的,因此也维持其水平偏振。因此,在来自光的第二部分364的水平偏振的角膜闪烁到达图像捕捉设备332之前,垂直偏振的内向偏振滤波器340对其进行了充分的衰减和消除。
[0031]此外,光的第二部分364也被瞳孔336散射,产生照亮瞳孔和角膜缘(Iimbus)特征的未偏振的漫射光。来自瞳孔336的这种未偏振的漫射光也沿着光路径344行进,穿过内向偏振滤波器340到达图像捕捉设备332。有利的是,通过如上所述对来自第一外向光路径306的光的第一部分360和第二部分364的眩光和闪烁进行衰减(如上所述),在随机偏振阶段48期间,可以使用第二部分364中的未偏振的漫射光来捕捉没有被这些眩光和/或闪烁所遮蔽的瞳孔图像68。
[0032]如上所述,动态偏振模块20被配置为以按照至少60Hz的速率在随机偏振阶段48和单偏振阶段52之间反复切换的偏振模式44,对红外光进行动态地偏振。在一些例子中,在单偏振阶段52期间,可以按照30Hz或者更高的速率来捕捉闪烁图像64。在随机偏振阶段48期间,当眩光被过滤掉时,还可以按照30Hz或者更高的速率来捕捉瞳孔图像68。有利的是,使用这些闪烁图像64和瞳孔图像68,可以基于在瞳孔图像中识别的瞳孔特性72,以及在与瞳孔图像的时间相近时捕捉的闪烁图像中识别的闪烁特性76,按照至少30Hz的速率来反复地检测眼睛322的凝视位置。例如,当按照30Hz的速率来捕捉瞳孔图像68和闪烁图像64时,在相邻的捕捉的瞳孔图像和闪烁图像之间的时间间隔可以是0.020秒、0.015秒、0.010秒或者任何其它适当的时间间隔。
[0033]这些瞳孔特性72可以包括但不限于瞳孔的中心。这些闪烁特性76可以包括但不限于:这些闪烁相对于瞳孔中心的位置。如上所述,可以使用任何适当的视线跟踪技术来确定这些凝视位置。
[0034]在一些例子中(例如,可以从用户接收更频繁的眼球运动的特定应用或者程序),可以使用更快速的捕捉速率和更频繁的凝视位置检测。例如,动态偏振模块可以被配置为按照在60Hz和120Hz之间的速率,在随机偏振阶段48和单偏振阶段52之间反复地切换。在这样的例子中,可以按照在30Hz和60Hz之间的速率,来捕捉瞳孔图像68和闪烁图像64。
[0035]举一个例子,在随机偏振阶段48和单偏振阶段52之间切换的速率,可以是捕捉瞳孔图像68的速率的两倍以及是捕捉闪烁图像64的速率的两倍。例如,动态偏振模块可以被配置为按照120Hz的速率,在随机偏振阶段48和单偏振阶段52之间反复地切换,并且可以按照60Hz的速率,来捕捉瞳孔图像68和闪烁图像64。
[0036]在一些例子中,动态偏振模块20可以被配置为检测用户是否佩戴着眼镜。例如,动态偏振模块20可以通过确定一个或多个眩光位于用户的眼睛附近,识别来自眼镜的眩光。
[0037]此外,动态偏振模块20还可以将这些眩光区分于角膜闪烁。与角膜闪烁相比,从眼镜的镜片反射的眩光通常在尺寸上更大。此外,眩光还可以具有独特的,不规则的形状。另一方面,角膜闪烁通常比眩光更小,其通常包括多个辐射臂(radiating arm),并且可以是直径近似为瞳孔的直径两倍的圆形。在一些例子中,动态偏振模块可以使用这样的区别信息来识别来自眼镜的一个或多个眩光。
[0038]在一些例子中,动态偏振模块20可以检测到用户没有佩戴着眼镜。在该情形下,不存在来自眼镜的眩光。因此,在检测到用户没有佩戴着眼镜时,动态偏振模块20可以被配置为避免以偏振模式44对红外光进行动态地偏振。有利的是,这可以例如通过照亮未偏振的第二光源310,而不照亮偏振的第一光源302,来执行视线跟踪,从而使视线跟踪系统10减少功耗。在一个例子中,使用来自第二光源310的光,可以按照30Hz的速率,在单偏振阶段52期间捕捉瞳孔图像68和闪烁图像64,还可以按照30Hz的速率来检测凝视位置。
[0039]现参见图4,在另一个例子中,可以向第二光源310增加另外的外向偏振滤波器370,其中滤波器370具有与内向偏振滤波器340相同的方向。使用这种配置,对沿着第一外向光路径306和第二外向光路径314 二者行进的光进行偏振。有利的是,外向偏振滤波器318和另外的外向偏振滤波器370可以被配置为使沿着第一外向光路径306和第二外向光路径314行进的光具有相近的亮度。用此方式,在图像捕捉设备332处捕捉的闪烁图像64和瞳孔图像68可以具有相近的亮度和信噪比,这可增强凝视位置确定的准确性。
[0040]现参见图5,在另一个例子中,视线跟踪系统10可以包括单一红外线光源502和可切换偏振滤波器506,其中可切换偏振滤波器506可以在第一偏振和与第一偏振正交的第二偏振之间进行交替。在图5的例子中,可切换偏振滤波器506可以在垂直和水平方向之间交替。因此,从单一光源502发出的红外光可以以如上所述的偏振模式44进行动态地偏振,并被图像捕捉设备332所捕捉。随后,可以捕捉如上所述的闪烁图像64和瞳孔图像68,并用于如上所述地确定凝视位置。
[0041]现参见图6,在另一个例子中,视线跟踪系统10可以包括单一红外线光源602和单一外向偏振滤波器606,其中外向偏振滤波器606以第一方向对从光源发出的光进行偏振。在该例子中,来自第一外向光路径654的偏振光的第一部分650从镜片326反射出,沿着反射光路径644,穿过第一内向偏振滤波器660,去往第一图像捕捉设备610。如图6中所示,第一内向偏振滤波器660具有与外向偏振滤波器606相同的水平方向。
[0042]类似地,来自第一外向光路径654的偏振光的第二部分656穿过镜片326,并从眼睛322的角膜反射出,其产生沿着反射光路径644穿过第一内向偏振滤波器660去往第一图像捕捉设备610的角膜闪烁。如上面所解释的,在单偏振阶段52期间,光的第一部分650和第二部分656可以被用来利用第一图像捕捉设备610捕捉闪烁图像64。
[0043]如图6中所示,第二外向光路径670包括已经穿过外向偏振滤波器606的光。来自第二外向光路径670的偏振光的第一部分674从镜片326反射出,沿着反射光路径644,穿过第二内向偏振滤波器676,去往第二图像捕捉设备680。第二内向偏振滤波器676具有与外向偏振滤波器606正交的垂直方向。因此,在来自光的第一部分674的眩光到达第二图像捕捉设备680之前,第二内向偏振滤波器676对来自光的第一部分674的眩光充分地衰减和消除。
[0044]来自第二外向光路径670的光的第二部分684穿过镜片326,并从眼睛322的角膜反射出,产生水平偏振的角膜闪烁。第二部分684中的这些偏振的闪烁沿着反射光路径644行进,穿过垂直偏振的第二内向偏振滤波器676,到达第二图像捕捉设备680。因此,在来自光的此第二部分684的水平偏振的角膜闪烁到达第二图像捕捉设备680之前,第二内向偏振滤波器676对其进行了充分的衰减和消除。如上面所解释的,在随机偏振阶段48期间,光的第一部分674和第二部分684可以用于利用第二图像捕捉设备680捕捉瞳孔图像68。
[0045]图7A和图7B根据本公开的实施例,示出了用于导航视觉元素的层次结构的流程图。参照上面所描述并在图1-6中示出的视线跟踪系统10的软件和硬件组件,来提供下面的对方法700的描述。应当理解的是,还可以使用其它适当的硬件和软件组件,在其它背景下执行方法700。
[0046]参见图7A,在702处,方法700可以包括:沿着从光源到佩戴着眼镜的用户的眼睛的外向光路径来照射光。在706处,方法700包括:使用图像捕捉设备捕捉的图像,检测用户佩戴着眼镜。在710处,方法700可以包括:在检测到用户佩戴着眼镜时,以按照至少60Hz的速率在随机偏振阶段和单偏振阶段之间反复切换的偏振模式,对该光进行动态地偏振。随机偏振阶段包括沿着位于光源和用户的眼镜之间的外向光路径的光的第一偏振,以及沿着位于眼镜和图像捕捉设备之间的反射光路径的与第一偏振正交的第二偏振。单偏振阶段具有沿着外向光路径和反射光路径中的一个或多个的单偏振。
[0047]在714处,方法700可以包括:通过按照120Hz的速率在随机偏振阶段和单偏振阶段之间反复地切换,以偏振模式对光进行动态偏振。在718处,方法700可以包括:通过将可切换偏振滤波器在第一偏振和与第一偏振正交的第二偏振之间交替,对光进行动态地偏振。在722处,方法700可以包括:在随机偏振阶段期间,将从眼镜反射的眩光过滤掉,否则该眩光将遮蔽眼睛的瞳孔。
[0048]在726处,方法700可以包括:在随机偏振阶段期间,当眩光被过滤掉时,按照30Hz或者更高的速率来捕捉瞳孔图像。在730处,方法700可以包括:在单偏振阶段期间,按照30Hz或者更高的速率来捕捉闪烁图像。在734处,方法700可以包括:基于在瞳孔图像中识别的瞳孔特性,以及在与瞳孔图像的时间相近时捕捉的闪烁图像中识别的闪烁特性,按照至少30Hz的速率来反复地检测凝视位置。
[0049]现参见图7B,在738处,方法700可以包括:通过确定眩光中的一个或多个在所捕捉的图像中位于用户的眼睛附近,来检测用户佩戴着眼镜。在742处,方法700可以包括:按照60Hz的速率来捕捉瞳孔图像和闪烁图像,按照60Hz的速率来反复地检测凝视位置。在746处,方法700可以包括:检测用户没有佩戴着眼镜。在750处,方法700可以包括:在检测到用户没有佩戴着眼镜时,避免以所述偏振模式,对光进行动态地偏振。
[0050]在754处,方法700可以包括:按照30Hz或者更高的速率,在单偏振阶段期间,捕捉瞳孔图像和闪烁图像。在758处,方法700可以包括:单偏振阶段的单偏振包括:在外向光路径上应用第二偏振。在762处,当光源是第一光源时,方法700可以包括:第二光源向佩戴着眼镜的用户的眼睛发出未偏振的光,其中该未偏振的光用于捕捉闪烁图像。在766处,其中,图像捕捉设备是捕捉瞳孔图像的第一图像捕捉设备,方法700可以包括使用捕捉闪烁图像的第二图像捕捉设备。
[0051]应当理解的是,通过示例的方式来提供方法700,其并不旨在是限制性的。因此,应当理解的是,与图7A和图7B中所示出的相比,方法700可以包括另外的和/或替代的步骤。此夕卜,还应当理解,可以以任何适当的顺序来执行方法700。另外,还应当理解,可以从方法700中省略一个或多个步骤,而不脱离本公开的保护范围。
[0052]图8示意性地示出了可以执行上面所描述的方法和处理中的一个或多个的计算系统800的非限制性实施例。计算设备22可以采用计算系统800的形式,或者包括计算系统800的一个或多个方面。以简化的形式来示出计算系统800。应当理解的是,在不脱离本公开的保护范围的基础上,可以使用几乎任何计算机架构。在不同的实施例中,计算系统800可以采用大型计算机、服务器计算机、台式计算机、膝上型计算机、平板计算机、家庭娱乐计算机、网络计算设备、移动计算设备、移动通信设备、游戏设备等等的形式。
[0053]如图8中所不,计算系统800包括逻辑子系统804、存储设备子系统808和传感器子系统812。计算系统800可以可选地包括显示子系统816、通信子系统820、输入子系统822和/或图8中没有示出的其它子系统和部件。此外,计算系统800还可以包括计算机可读介质,其中该计算机可读介质包括计算机可读存储介质和计算机可读通信介质。此外,计算系统800还可以可选地包括其它用户输入设备,比如键盘、鼠标、游戏控制器和/或触摸屏。此外,在一些实施例中,本文所描述的方法和处理可以实现成计算机应用、计算机服务、计算机AP1、计算机库、和/或包括一个或多个计算机的计算系统中的其它计算机程序产品。
[0054]逻辑子系统804可以包括配置为执行一个或多个指令的一个或多个物理设备。例如,逻辑子系统804可以被配置为执行一个或多个指令,其中这些指令是一个或多个应用、服务、程序、例行程序、库、对象、组件、数据结构或者其它逻辑构成的一部分。可以实现这些指令以执行一个任务、实现一种数据类型、转换一个或多个设备的状态或者达到期望的结果O
[0055]逻辑子系统804可以包括配置为执行软件指令的一个或多个处理器。另外地或替代地,该逻辑子系统可以包括配置为执行硬件或者固件指令的一个或多个硬件或固件逻辑机器。该逻辑子系统的处理器可以是单核或者多核,在其上执行的程序可以被配置为进行并行处理或者分布式处理。该逻辑子系统可以可选地包括分布到两个或更多设备之上的个体组件,这些设备位于远程的位置和/或被配置为进行协调地处理。该逻辑子系统的一个或多个方面可以进行虚拟化,并由利用云计算配置进行配置的远程可访问网络化计算设备进行执行。
[0056]存储设备子系统808可以包括一个或多个物理的持久性设备,其配置为保持可由逻辑子系统804执行的数据和/或指令,以实现本文所描述的方法和处理。当实现这些方法和处理时,可以转换存储设备子系统808的状态(例如,转换为保持不同的数据)。
[0057]存储设备子系统808可以包括可移动介质和/或内置(built-1n)设备。存储设备子系统808可以包括光存储器设备(例如,⑶、DVD、HD-DVD、蓝光光碟等等)、半导体存储器设备(例如,RAM、EPROM、EEPROM等等)和/或磁存储器设备(例如,硬盘驱动器、软盘驱动器、磁带驱动器、MRAM等等)等等。存储设备子系统808可以包括具有下面特性中的一个或多个的设备:易失性、非易失性、动态、静态、读/写、只读、随机存取、顺序存取、位置可寻址、文件可寻址和内容可寻址。
[0058]在一些实施例中,可以至少部分地将逻辑子系统804和存储设备子系统808的方面集成到一个或多个共同设备中,其中通过这些共同设备,可以实现本文所描述的功能。例如,这些硬件逻辑组件可以包括现场可编程门阵列(FPGA)、特定于程序和应用的集成电路(PASIC/ASIC)、特定于程序和应用的标准产品(PSSP/ASSP)、片上系统(SOC)系统和复杂可编程逻辑器件(CPLD)。
[0059]此外,图8还示出了具有可移动计算机可读存储介质824的形式的存储设备子系统808的方面,可移动计算机可读存储介质824可以用于存储可执行以实现本文所描述的方法和处理的数据和/或指令。可移动计算机可读存储介质824可以采用CD、DVD、HD-DVD、蓝光光碟、EEPROM和/或软盘等等的形式。
[0060]应当理解的是,存储设备子系统808包括一个或多个物理的持久性设备。相比而言,在一些实施例中,可以通过物理设备不能持有至少一段有限时间的纯粹信号(例如,电磁信号、光信号等等),利用临时方式来传播本文所描述的指令的方面。此外,与本公开有关的数据和/或其它形式的信息可以经由计算机可读通信介质,通过纯粹信号的方式进行传播。
[0061]传感器子系统812可以包括配置为对如上所述的不同物理现象(例如,可见光、红外光、声音、加速度、方位、位置等等)进行感测的一个或多个传感器。例如,传感器子系统812可以被配置为向逻辑子系统804提供传感器数据。该数据可以包括图像信息、周围光照信息、深度信息、音频信息、位置信息、运动信息、用户位置信息和/或可以用于执行上面所描述的方法和处理的任何其它适当传感器数据。
[0062]当包括显示子系统816时,显示子系统816可以用于呈现存储设备子系统808所持有的数据的视觉表示。随着上面所描述的方法和处理改变存储设备子系统808所持有的数据,并因此转换存储设备子系统的状态,显示子系统816的状态可以同样地被转换为视觉地表示底层数据的改变。显示子系统816可以包括使用几乎任何类型的技术的一个或多个显示设备。可以将这些显示设备与逻辑子系统804和/或存储设备子系统808组合在共享的外壳(enclosure)中,或者这些显示设备可以是外围显示设备。
[0063]当包括通信子系统820时,通信子系统820可以被配置为将计算系统800与一个或多个网络和/或一个或多个其它计算设备进行通信耦合。通信子系统820可以包括与一种或多种不同的通信协议相兼容的有线和/或无线通信设备。举一些非限制性例子,通信子系统820可以被配置为经由无线电话网络、无线局域网、有线局域网、无线广域网、有线广域网等等进行通信。在一些实施例中,该通信子系统可以允许计算系统800经由诸如互联网之类的网络,向其它设备发送消息和/或从其它设备接收消息。
[0064]当包括输入子系统822时,输入子系统822可以包括一个或多个传感器或者用户输入设备(比如,游戏控制器、手势输入检测设备、语音识别器、惯性测量单元、键盘、鼠标或者触摸屏),或者与一个或多个传感器或用户输入设备进行交互。在一些实施例中,输入子系统822可以包括选定的自然用户输入(NUI)部件,或者与选定的NUI部件进行交互。这些部件可以是集成的或者外围的,输入动作的换能和/或处理可以是板上或者板外处理的。示例性NUI部件可以包括:用于语音和/或声音识别的麦克风;用于机器视觉和/或手势识别的红夕卜、彩色、立体视觉和/或深度照相机;用于运动检测和/或意图识别的头部跟踪器、眼球跟踪器、加速计和/或陀螺仪;以及用于评估大脑活动的电磁感应部件。
[0065]术语“模块”可以用于描述视线跟踪系统10的一个方面,其中该视线跟踪系统10被实现为执行一个或多个特定功能。在一些情况下,可以经由逻辑子系统804执行存储设备子系统808所持有的指令来实例化该模块。应当理解的是,可以通过相同的应用、服务、代码块、对象、库、例行程序、AP1、函数等等来实例化不同的模块。同样,可以通过不同的应用、月艮务、代码块、对象、库、例行程序、AP1、函数等等来实例化相同的模块。术语“模块”意味着涵盖个体的或者群组的可执行文件、数据文件、库、驱动程序、脚本、数据库记录等等。
[0066]应当理解的是,本文所描述的配置和/或方法在本质上只是示例性的,由于众多的变型是可能的,因此这些特定的实施例或者例子不应被认为具有限制性含义。本文所描述的特定例程或者方法可以表示任意数量的处理策略中的一种或多种。因此,所示出的各种动作可以按照所示出的顺序、其它顺序、并行地执行,或者在一些情况下进行省略。同样,上面所描述的处理的顺序也可以进行改变。
[0067]本公开的主题包括本文所公开的各种处理、系统和配置、以及其它特征、功能、动作和/或属性的所有新颖性和非显而易见组合与子组合,以及其任意和全部等同物。
【主权项】
1.一种用于确定用户的眼睛的凝视位置的方法,所述方法包括: 沿着从光源到佩戴着眼镜的所述用户的所述眼睛的外向光路径来照射光; 使用由图像捕捉设备捕捉的图像,检测所述用户佩戴着眼镜; 在检测到所述用户佩戴着眼镜时,以按照至少60Hz的速率在随机偏振阶段和单偏振阶段之间反复切换的偏振模式,对所述光进行动态地偏振,其中,所述随机偏振阶段包括沿着位于所述光源和所述用户的所述眼镜之间的所述外向光路径的所述光的第一偏振,以及沿着位于所述眼镜和所述图像捕捉设备之间的反射光路径与所述第一偏振正交的第二偏振,所述单偏振阶段具有沿着所述外向光路径和所述反射光路径中的一个或多个的单偏振;在所述随机偏振阶段期间,将从所述眼镜反射的眩光过滤掉,否则所述眩光将遮蔽所述眼睛的瞳孔; 在所述随机偏振阶段期间,当所述眩光被过滤掉时,按照30Hz或者更高的速率来捕捉瞳孔图像; 在所述单偏振阶段期间,按照30Hz或者更高的速率来捕捉闪烁图像;以及基于在所述瞳孔图像中识别的瞳孔特性,以及在与所述瞳孔图像的时间相近时捕捉的所述闪烁图像中识别的闪烁特性,按照至少30Hz的速率来反复地检测所述凝视位置。2.根据权利要求1所述的方法,其中,检测所述用户佩戴着眼镜还包括:确定所述眩光中的一个或多个在所捕捉的图像中位于所述用户的所述眼睛附近。3.根据权利要求1所述的方法,其中,以偏振模式对所述光进行动态地偏振还包括:按照120Hz的速率,在所述随机偏振阶段和所述单偏振阶段之间反复地切换。4.根据权利要求1所述的方法,其中,按照60Hz的速率来捕捉所述瞳孔图像和所述闪烁图像,按照60Hz的速率来反复地检测所述凝视位置。5.根据权利要求1所述的方法,还包括: 检测所述用户没有佩戴着眼镜; 在检测到所述用户没有佩戴着眼镜时,避免以在所述随机偏振阶段和所述单偏振阶段之间反复地切换的所述偏振模式对所述光进行动态地偏振;以及 按照30Hz或者更高的速率,在所述单偏振阶段期间,捕捉所述瞳孔图像和所述闪烁图像。6.—种用于确定用户的眼睛的凝视位置的视线跟踪系统,所述视线跟踪系统包括: 光源,用于沿着去往佩戴着眼镜的所述用户的所述眼睛的外向光路径来照射光; 偏振滤波器,其被配置为对所述光进行动态地偏振; 图像捕捉设备,其被配置为捕捉从所述用户的所述眼睛和所述眼镜反射和散射的所述光的图像; 计算设备,操作性连接到至少所述光源和所述图像捕捉设备; 由所述计算设备的处理器执行的动态偏振模块,所述动态偏振模块配置为: 使用由所述图像捕捉设备捕捉的图像,检测所述用户佩戴着眼镜; 在检测到所述用户佩戴着眼镜时,以按照至少60Hz的速率在随机偏振阶段和单偏振阶段之间反复切换的偏振模式,对所述光进行动态地偏振,其中,所述随机偏振阶段包括沿着位于所述光源和所述用户的所述眼镜之间的所述外向光路径的所述光的第一偏振,以及沿着位于所述眼镜和所述图像捕捉设备之间的反射光路径与所述第一偏振正交的第二偏振,并且所述单偏振阶段具有沿着所述外向光路径和所述反射光路径中的一个或多个的单偏振; 在所述随机偏振阶段期间,将从所述眼镜反射的眩光过滤掉,否则所述眩光将遮蔽所述眼睛的瞳孔; 在所述随机偏振阶段期间,当所述眩光被过滤掉时,按照30Hz或者更高的速率,使用所述图像捕捉设备来捕捉瞳孔图像;并且 在所述单偏振阶段期间,按照30Hz或者更高的速率,使用所述图像捕捉设备来捕捉闪烁图像;以及 视线跟踪模块,其配置为基于在所述瞳孔图像中识别的瞳孔特性,以及在与所述瞳孔图像的时间相近时捕捉的所述闪烁图像中识别的闪烁特性,按照至少30Hz的速率来反复地检测所述凝视位置。7.根据权利要求6所述的视线跟踪系统,其中,所述单偏振阶段的所述单偏振包括:在所述外向光路径上应用所述第二偏振。8.根据权利要求6所述的视线跟踪系统,其中,所述动态偏振模块还被配置为:通过将可切换偏振滤波器在所述第一偏振和与所述第一偏振正交的所述第二偏振之间交替,对所述光进行动态地偏振。9.根据权利要求6所述的视线跟踪系统,其中,所述光源是第一光源,所述单偏振阶段具有沿着所述反射光路径的所述单偏振,所述视线跟踪系统还包括第二光源,所述第二光源向佩戴着眼镜的所述用户的所述眼睛发出未偏振的光,其中所述未偏振的光用于捕捉所述闪烁图像。10.根据权利要求6所述的视线跟踪系统,其中,所述图像捕捉设备是捕捉所述瞳孔图像的第一图像捕捉设备,所述动态偏振模块还配置为使用第二图像捕捉设备来捕捉所述闪烁图像。
【文档编号】G06K9/00GK106062776SQ201580010906
【公开日】2016年10月26日
【申请日】2015年2月23日
【发明人】V·图克拉尔, S·辛哈, V·普拉迪普, T·A·拉奇, N·S·克亚姆, D·尼斯特
【申请人】微软技术许可有限责任公司