用于眼睛跟踪的方法和设备与流程

文档序号:12127638阅读:228来源:国知局
用于眼睛跟踪的方法和设备与流程

至少一个示例实施例涉及眼睛跟踪技术。



背景技术:

存在与使用双眼视差原理提供三维(3D)效果的裸眼3D显示器关联的用于跟踪用户的位置的技术。可基于用户的位置控制3D显示器。精确地跟踪用户的位置是在不劣化图像质量的情况下向裸眼3D显示器输出3D图像的一部分。



技术实现要素:

至少一些示例实施例涉及眼睛跟踪方法。

在至少一些示例实施例中,所述方法可包括:获取图像中与用户的脸部区域的至少一部分相应的特征点;基于特征点确定用户的第一眼睛的眼睛区域的内部区域;基于内部区域的至少一个像素的像素值确定用户的瞳孔区域;基于瞳孔区域的每个像素的位置值确定用户的眼睛位置。

确定内部区域的步骤包括:基于眼睛区域的像素的位置和眼睛区域的特征点的位置确定眼睛区域的内部区域,其中,内部眼睛区域在由特征点限定的边界内。

确定瞳孔区域的步骤可包括:基于内部区域的像素的第一亮度平均值和图像的眼睛中心特征点的邻近像素的第二亮度平均值确定瞳孔区域的像素,眼睛中心特征点是特征点中的与用户的第一眼睛的中心相应的特征点。

确定瞳孔区域的像素的步骤可包括:确定内部区域的选择的像素的亮度值是否小于第一阈值并小于第二阈值亮度平均值,第一阈值基于第一亮度值,第二阈值基于第二亮度平均值。

确定内部区域的步骤可包括:基于眼睛区域的选择的像素和特征点中的第一眼睛轮廓特征点计算第一向量;基于特征点中的第一眼睛轮廓特征点和第二眼睛轮廓特征点计算第二向量,第二眼睛轮廓特征点邻近第一眼睛轮廓 特征点,基于第一向量和第二向量确定选择的像素是否在内部区域中,第一眼睛轮廓特征点和第二眼睛轮廓特征点与眼睛区域的眼睛轮廓相应。

确定选择的像素是否在内部区域中的步骤可包括:当第一眼睛轮廓特征点和第二眼睛轮廓特征点中的每个眼睛轮廓特征点的向量计算结果由同一符号表示时,确定选择的像素在内部区域中。

所述方法还可包括:基于确定的用户的眼睛位置控制裸眼显示器。

至少其它示例实施例涉及眼睛跟踪设备。

在至少一些示例实施例中,所述眼睛跟踪设备可包括:存储器,被配置为存储计算机可读指令;处理器,被配置为执行所述计算机可读指令,以使处理器被配置为:获取图像中与用户的脸部区域的至少一部分相应的特征点;基于特征点确定用户的第一眼睛的眼睛区域的内部区域;基于内部区域的至少一个像素的像素值确定用户的瞳孔区域;基于瞳孔区域的每个像素的位置值确定用户的眼睛位置。

存储器,被配置为存储计算机可读指令;处理器,被配置为执行所述计算机可读指令,以使处理器被配置为:基于眼睛区域的特征点确定图像中用户的眼睛区域,基于眼睛区域的像素的位置和眼睛区域的特征点的位置确定眼睛区域的内部区域,基于内部区域的每个像素的像素值确定用户的瞳孔区域,基于瞳孔区域的每个像素的位置值确定用户的眼睛位置。

处理器可被配置为响应于基于特征点与图像的眼睛区域的像素之间的位置关系的向量计算结果,确定内部区域的像素。

处理器可被配置为基于内部区域的像素的亮度值、图像的内部眼睛区域的像素的第一亮度平均值和特征点中的眼睛中心特征点的邻近像素的第二亮度平均值确定瞳孔区域的像素,眼睛中心特征点与用户的眼睛的中心相应。

至少其它示例实施例涉及眼睛跟踪设备。

在至少一些示例实施例中,所述眼睛跟踪设备可包括:存储器,被配置为存储计算机可读指令;处理器,被配置为执行所述计算机可读指令,以使处理器被配置为:基于特征点确定图像中用户的眼睛区域;检测眼睛区域的垂直方向的边缘组分,并基于检测的边缘组分检测与瞳孔区域关联的椭圆组分;基于椭圆组分确定椭圆的中心作为用户的眼睛位置。

至少一个示例实施例公开一种眼睛跟踪方法。所述方法包括:基于眼睛区域的特征点确定图像中用户的第一眼睛的眼睛区域;基于眼睛区域的像素 的位置与眼睛区域的特征点的位置确定眼睛区域的内部区域,基于内部区域的每个像素的像素值确定用户的瞳孔区域,基于瞳孔区域的每个像素的位置值确定用户的眼睛位置。

示例实施例的另外的方面将在下面描述中部分进行阐述,部分从该描述将是清楚的,或者可以通过本公开的实践获知。

附图说明

从以下结合附图对示例实施例进行的描述,这些和/或其它方面将变得明显和更容易理解,其中:

图1示出根据至少一个示例实施例的眼睛跟踪设备的示例;

图2至图8示出根据至少一个示例实施例的眼睛跟踪设备跟踪图像中用户的眼睛位置的示例;

图9至图14示出根据至少一个示例实施例的眼睛跟踪设备跟踪图像中用户的眼睛位置的其它示例;

图15A至图15B示出根据至少一个示例实施例的显示装置的示例;

图16是示出根据至少一个示例实施例的眼睛跟踪方法的示例的流程图。

具体实施方式

以下,将参照附图详细描述一些示例实施例。关于附图中为元件分配的附图标记,应该注意的是:在任何可能的情况下,即使相同的元件在不同的附图中被示出,也将通过相同的附图标记来指示相同的元件。此外,在实施例的描述中,当认为公知的现有结构或功能的详细描述将模糊本公开的说明时,可省略公知的现有结构或功能的详细描述。

然而,应理解,不意在将本公开限制到所公开的具体示例实施例。相反地,示例实施例将涵盖落入示例实施例的范围内的所有修改、等同物和替代。贯穿附图的描述,相同的标号表示相同的元件。

此外,这里可使用诸如第一、第二、A、B、(a)、(b)等的术语来描述组件。这些术语中的每个术语不用于限定相应组件的本质、顺序或序列,而仅用于将相应组件与其它组件进行区分。应该注意,如果在说明书描述了一个组件“连接”、“结合”或“接合”至另一组件,则尽管第一组件可直接地连接、结合或接合至第二组件,但第三组件可“连接”、“结合”或“接合” 在第一组件和第二组件之间。

在此使用的术语仅为了描述具体示例实施例的目的,不意在限制。如在此使用的,除非上下文另外明确地指示,否则单数形式也意在包括复数形式。还将理解,当在此使用时,术语“包括”和/或“包含”指定存在所叙述的特征、整体、步骤、操作、元件和/或组件,但是不排除存在或添加一个或多个其它特征、整体、步骤、操作、元件、组件和/或它们的组。

还应注意,在一些选择性的实施例中,示出的功能/动作可不按附图中示出的顺序发生。例如,连续示出的两个图上可基本上同时执行或有时可以以相反的顺序执行,这取决于所包含的功能/动作。

示例实施例可被应用于在各种应用(例如,裸眼三维(3D)显示器、眼镜型可穿戴装置、虚拟现实(VR)、视频游戏、个人计算机(PC)、平板计算机、移动装置、智能家居设备和智能汽车)中跟踪用户的眼睛视点。例如,示例实施例可被应用于在裸眼3D显示器中通过跟踪用户的眼睛位置来基于用户的眼睛位置显示3D图像。

现在将参照附图更全面地描述各种示例实施例,在附图中示出一些示例实施例。在附图中,为了清楚起见,夸大层和区域的厚度。

图1示出根据至少一个示例实施例的眼睛跟踪设备的示例。

参照图1,眼睛跟踪设备100从拍摄了用户的眼睛区域的图像确定用户的眼睛位置。该图像可通过图像获取设备(未示出)(例如,相机)来获取,获取的图像可被发送到眼睛跟踪设备100。眼睛跟踪设备100可针对每个接收的图像帧确定用户的眼睛位置,并输出关于确定的眼睛位置的信息。输出的信息可被用于基于关于用户的眼睛位置的信息的各种应用。

眼睛跟踪设备100包括:特征点检测器110、眼睛区域确定器120、内部眼睛区域确定器130、瞳孔区域确定器140和眼睛位置确定器150。可由执行存储在存储器中的计算机可读指令的至少一个处理器或由现场可编程门阵列(FPGA)来执行特征点检测器110、眼睛区域确定器120、内部眼睛区域确定器130、瞳孔区域确定器140和眼睛位置确定器150的操作。

特征点检测器110从图像检测眼睛的特征点。特征点检测器110可检测图像中用户的脸部区域或者眼睛和鼻子区域,并在检测的脸部区域或者眼睛和鼻子区域中检测眼睛中心特征点和至少一个眼睛轮廓特征点。眼睛中心特征点指在眼睛区域的中心附近检测的特征点,眼睛轮廓特征点指在眼睛的轮 廓上检测的特征点。

特征点检测器110可提取图像的局部特征(例如,局部二值模式(LBP)、尺寸不变特征转换(SIFT)、方向梯度直方图(HOG)、修正统计变换(MCT)和伽柏系数(Gabor jet)),并通过将检测的特征点输入到预先训练的眼睛和鼻子区域识别器(未示出)来从图像检测眼睛和鼻子区域。在一个示例中,特征点检测器110可使用主动轮廓模型(ACM)、主动形状模型(ASM)、主动外观模型(AAM)或监督下降法(SDM)来在眼睛和鼻子区域中检测眼睛轮廓特征点,并确定检测的眼睛轮廓特征点之间的中心点作为眼睛中心特征点。

眼睛区域确定器120基于由特征点检测器110检测的特征点确定图像中用户的眼睛区域。眼睛区域确定器120可通过计算眼睛中心特征点与每个眼睛轮廓特征点之间的距离来确定眼睛中心特征点与眼睛轮廓特征点之间的距离中的最大距离,并基于眼睛中心特征点和最大距离确定眼睛区域。例如,眼睛区域确定器120可基于眼睛中心特征点确定位于最大距离内的区域作为眼睛区域,或基于眼睛中心特征点确定水平、垂直地位于最大距离内的区域作为眼睛区域。

内部眼睛区域确定器130确定眼睛区域中的内部眼睛区域。内部眼睛区域指与用户的真实眼睛相应的区域。内部眼睛区域确定器130可响应于基于眼睛轮廓特征点与眼睛区域的像素之间的位置关系的向量计算结果确定内部眼睛区域。例如,内部眼睛区域确定器130可基于眼睛区域的当前像素的位置和眼睛轮廓特征点的位置计算第一向量,基于眼睛轮廓特征点的位置和邻近眼睛轮廓特征点的位置计算第二向量。位于所述眼睛轮廓特征点的顺时针方向的另一眼睛轮廓特征点可被确定为邻近眼睛轮廓特征点。内部眼睛区域确定器130可基于第一向量和第二向量执行向量的外积计算。

内部眼睛区域确定器130还可针对其它眼睛轮廓特征点计算第一向量和第二向量并执行外积计算。当针对当前像素和每个眼睛轮廓特征点的外积计算结果由同一符号表示时,内部眼睛区域确定器130可确定当前像素包括在内部眼睛区域中。当外积计算结果由不同的符号表示时,内部眼睛区域确定器130可确定当前像素包括在外部眼睛区域中而非内部眼睛区域中。

瞳孔区域确定器140基于内部眼睛区域的像素的像素值确定瞳孔区域。瞳孔区域确定器140可基于内部眼睛区域的像素的第一亮度平均值和眼睛中 心特征点的邻近像素的第二亮度平均值来确定瞳孔区域的像素。例如,当内部眼睛区域的当前像素的亮度值小于基于第一亮度平均值的第一阈值和基于第二亮度平均值的第二阈值时,瞳孔区域确定器140确定当前像素包括在瞳孔区域中。在一个示例中,第一阈值可等于第一亮度平均值,第二阈值可具有大于或等于第二亮度平均值的值。

眼睛位置确定器150基于瞳孔区域的每个像素的位置值(例如,2D坐标)确定用户的眼睛位置。例如,眼睛位置确定器150确定瞳孔区域的像素的位置值的平均值作为用户的眼睛位置。

在另一示例中,特征点检测器110针对图像中的眼睛区域不完全检测特征点。以下,将描述当特征点检测器110从图像检测较少数量的眼睛轮廓特征点时,眼睛跟踪设备100从图像确定用户的眼睛位置的处理。

眼睛区域确定器120基于在图像中检测的眼睛轮廓特征点确定图像中用户的眼睛区域。例如,当检测到位于眼睛轮廓中的眼睛轮廓特征点时,眼睛区域确定器120可计算眼睛轮廓特征点之间的中心,并基于确定的中心计算眼睛轮廓特征点之间水平方向的距离。眼睛区域确定器120可通过将水平方向的距离与预定值和/或选择的值相乘来确定垂直方向的距离,并根据眼睛轮廓特征点之间的中心基于水平方向的距离和垂直方向的距离确定区域作为眼睛区域。瞳孔区域确定器140可检测确定的眼睛区域中垂直方向的边缘组分,并基于检测的边缘组分确定与瞳孔区域关联的椭圆组分。这里,椭圆组分的椭圆包括圆。眼睛位置确定器150可基于检测的椭圆组分估计与瞳孔区域重叠的虚拟椭圆,并确定椭圆的重心作为用户的眼睛位置。

眼睛位置确定器150可将基于上述处理确定的二维(2D)坐标值的眼睛位置信息转换为3D坐标值。例如,眼睛位置确定器150可基于关于两只眼睛之间的距离的距离信息和关于用户的脸部的方位信息将眼睛位置信息转换为3D坐标值。在此示例中,标准值(例如,65毫米(mm))可被用作关于两只眼睛之间的距离的距离信息。然而,关于两只眼睛之间的距离的距离信息不限于此。例如,眼睛位置确定器150可通过将在图像中检测的特征点与3D脸部模型进行匹配来产生个性化3D脸部模型,并基于关于个性化脸部模型的方位信息估计关于用户的脸部的方位信息。

以下,描述可基于上述处理准确地检测图像中用户的眼睛位置的眼睛跟踪设备100。眼睛跟踪设备100可通过跟踪每个图像帧的两个瞳孔区域的中 心来减小图像帧之间产生的眼睛位置的振动。

图2至图8示出根据至少一个示例实施例的眼睛跟踪设备跟踪图像中用户的眼睛位置的示例。

参照图2,眼睛跟踪设备可检测图像中被估计为位于眼睛中心的眼睛中心特征点210以及位于眼睛轮廓中的眼睛轮廓特征点222、224、226、228、230和232。眼睛跟踪设备可计算眼睛中心特征点210与眼睛轮廓特征点222、224、226、228、230和232中的每个眼睛轮廓特征点之间的距离,并基于每个计算的距离的值确定最大距离值dmax(例如,计算的距离中的最大距离)。

参照图3,眼睛跟踪设备可基于图2中确定的最大距离值dmax确定眼睛区域310。眼睛跟踪设备可基于眼睛中心特征点210确定水平、垂直位于最大距离值dmax内的区域。眼睛区域310可以是图4中所示的矩形形状,或者眼睛区域310可以是基于眼睛中心特征点210的半径与最大距离值dmax相应的圆形,然而,示例实施例的范围不限于此。

参照图4,眼睛跟踪设备可确定眼睛区域310中的内部眼睛区域。眼睛跟踪设备可基于眼睛区域310的像素410与眼睛轮廓特征点222、224、226、228、230和232之间的位置关系,确定像素410是否包括在内部眼睛区域中。眼睛跟踪设备可在基于眼睛轮廓特征点224和像素410的第一向量V1与基于眼睛轮廓特征点224和顺时针方向邻近眼睛轮廓特征点224的眼睛轮廓特征点226的第二向量V2之间执行外积计算。以同样的方式,眼睛跟踪设备可在基于眼睛轮廓特征点226和像素410的第一向量V3与基于眼睛轮廓特征点226和顺时针方向邻近眼睛轮廓特征点226的眼睛轮廓特征点228的第二向量V4之间执行外积计算。眼睛跟踪设备可基于相同的处理针对其它眼睛轮廓特征点222、228、230和232执行外积计算,并确定是否所有的外积计算结果由同一符号表示。在像素410的情况下,外积计算结果由同一符号表示,因此确定像素410包括在内部眼睛区域中。

如图5所示,当针对存在于眼睛区域310中但实际上位于外部眼睛区域中的像素510执行与图4的处理相同的处理时,像素510与眼睛轮廓特征点222、224、226、228、230和232中的每个眼睛轮廓特征点之间的外积计算结果不由同一符号表示。例如,当基于眼睛轮廓特征点228和像素510的第一向量V5与基于眼睛轮廓特征点228和顺时针方向邻近眼睛轮廓特征点228的眼睛轮廓特征点230的第二向量V6之间的外积计算结果由符号“+”表示 时,基于眼睛轮廓特征点230和像素510的第一向量V7与基于眼睛轮廓特征点230和顺时针方向邻近眼睛轮廓特征点230的眼睛轮廓特征点232的第二向量V8之间的外积计算结果由符号“-”表示。由于像素510与眼睛轮廓特征点222、224、226、228、230和232中的每个眼睛轮廓特征点之间的外积计算结果的符号不相同,因此眼睛跟踪设备可确定像素510未包括在内部眼睛区域中。

眼睛跟踪设备可通过针对包括在眼睛区域310中的每个像素执行图4和图5的处理,来确定眼睛区域310中内部眼睛区域的像素。图6示出基于图4和图5的处理从眼睛区域310检测的内部眼睛区域610。

参照图7,眼睛跟踪设备可基于关于内部眼睛区域610中的像素的像素值信息确定内部眼睛区域610中的瞳孔区域。眼睛跟踪设备可计算与内部眼睛区域610的像素的亮度值的平均值相应的第一亮度平均值,并计算与内部眼睛区域610的像素中眼睛中心特征点210的邻近区域710的像素的亮度值的平均值相应的第二亮度平均值。

例如,当包括在内部眼睛区域610中的预定像素和/或选择的像素满足等式1时,眼睛跟踪设备可确定预定像素和/或选择的像素包括在瞳孔区域中。

[等式1]

像素的亮度值<第一亮度平均值,并且

像素的亮度值<第二亮度平均值+补偿值

如等式1所示,补偿值是用于调整等式1的条件的预定值和/或选择的值,并且补偿值具有大于或等于“0”的值。

在大部分情况下,由于瞳孔区域的亮度值小于瞳孔区域的邻近区域的亮度值,因此针对内部眼睛区域610的第一亮度平均值可被认为是阈值。然而,由于瞳孔区域的大小小于内部眼睛区域610中瞳孔区域的邻近区域的大小,因此当仅考虑第一亮度平均值时包括在瞳孔区域的邻近区域中的像素可能被错误地确定为瞳孔区域。如等式1所示,眼睛跟踪设备可通过除考虑第一亮度平均值之外还考虑针对眼睛中心特征点210的邻近区域710的第二亮度平均值来更准确地确定内部眼睛区域610中的瞳孔区域。

眼睛跟踪设备可针对包括在内部眼睛区域610中的所有像素执行上述处理,并存储关于被确定为瞳孔区域的像素的信息,例如,位置值。

图8示出基于参照图7描述的跟踪处理确定的瞳孔区域810。眼睛跟踪 设备可确定包括在确定的瞳孔区域810中的像素的位置值的平均值作为用户的眼睛位置820。

图9至图14示出根据至少一个示例实施例的眼睛跟踪设备跟踪图像中用户的眼睛位置的其它示例。

参照图9,眼睛跟踪设备可检测图像中的眼睛和鼻子区域910,并检测眼睛的特征点922、924、926和928。在图9至图14中,特征点是假设在如图9中所示的每只眼睛的轮廓中检测的特征点。眼睛跟踪设备可通过使用较少数量的特征点更快地检测用户的眼睛的位置。

参照图10,眼睛跟踪设备可基于在每只眼睛中检测的两个特征点之间的位置关系计算特征点之间的中心。眼睛跟踪设备可计算特征点922与特征点924之间的中心1010,并计算特征点926与特征点928之间的中心1020。

参照图11,眼睛跟踪设备可基于检测的中心1010和1020以及特征点922、924、926和928的位置确定眼睛区域1110和1120。例如,眼睛跟踪设备可计算特征点922与特征点924之间的水平距离,并通过将计算的水平距离与预定比率和/或选择的比率(例如,“1/3”)相乘来确定垂直距离。眼睛跟踪设备可基于距中心1010的水平距离和垂直距离确定区域作为眼睛区域1110。针对中心1020以及特征点926和928,眼睛跟踪设备可基于上述处理确定眼睛区域1120。

参照图12,眼睛跟踪设备可检测确定的眼部区域中沿垂直方向的边缘组分1212、1214、1216和1218。例如,眼睛跟踪设备可基于索贝尔(Sobel)边缘提取方案、普鲁伊特(Prewitt)边缘提取方案、罗伯茨(Robets)边缘提取方案和坎尼(Canny)边缘提取方案,来检测边缘组分1212、1214、1216和1218。

参照图13,眼睛跟踪设备可通过基于检测的边缘组分1212、1214、1216和1218调试椭圆,来检测与眼睛区域中的瞳孔区域关联的椭圆1310和1320。参照图14,眼睛跟踪设备可计算检测的椭圆1310和1320中的每个椭圆的重心,并将计算的重心确定为用户的眼睛位置1410和1420。

图15A示出根据至少一个示例实施例的显示装置的示例。

参照图15A,显示装置1510可以是,例如,用于在没有3D眼镜的情况下输出3D图像的裸眼3D显示器。显示装置1510可跟踪用户的眼睛位置,并通过基于跟踪的用户的眼睛位置重建3D图像来输出3D图像。显示装置 1510包括:相机1520、眼睛位置检测器1520、图像处理器1540和显示器1550。

相机1520可通过拍摄位于显示装置1510前面的用户来获取呈现用户的脸部区域的脸部图像。

眼睛位置检测器1530可检测脸部图像中用户的眼睛位置。眼睛位置检测器1530可检测脸部图像中的脸部区域或者眼睛和鼻子区域中的眼睛的特征点,并基于检测的特征点检测用户的眼睛位置。眼睛位置检测器1530可根据检测的特征点的数量基于不同的方法检测眼睛的位置。例如,当在脸部图像中检测到眼睛中心特征点和大量的眼睛轮廓特征点时,眼睛位置检测器1530可从脸部图像检测用户的眼睛位置。眼睛位置检测器1530可基于图1至图14中描述的处理检测眼睛的位置。在另一示例中,眼睛位置检测器1530可通过在眼睛和鼻子区域中匹配的样板来检测眼睛位置,并确定样板的中心值作为眼睛中心的位置。

眼睛位置检测器1530可将基于上述处理确定的2D坐标值的眼睛位置信息转换为3D坐标值。为了通过显示装置1510产生与3D空间中用户的左眼和右眼的位置相应的3D图像,用户的两只眼睛的位置需要从2D坐标值被转换为3D坐标值。眼睛位置检测器1530可基于关于用户的两只眼睛之间的距离的距离信息和关于用户的脸部的方位信息,将眼睛位置信息转换为3D坐标值。预定值和/或选择的值(例如,65mm)可被用作关于两只眼睛的距离信息,然而,距离信息不限于此。可通过将从脸部图像检测的特征点与3D脸部模型进行匹配并计算3D脸部模型旋转的角度,来获取关于用户的脸部的方位信息。在另一示例中,眼睛位置检测器1530可基于使用至少两个相机(例如,相机1520)的三角测量方法来确定用户的眼睛位置的3D坐标值。

在一个示例中,眼睛位置检测器1530可将眼睛位置信息转换为3D坐标值,通过估计眼睛位置校正眼睛位置信息,并将眼睛位置信息传送到图像处理器1540。在图像处理器1540从眼睛位置检测器1530接收到眼睛位置信息之后,可需要预定时间量和/或选择的时间量来产生与用户的眼睛位置相应的3D图像。当用户运动时,由于检测到用户的眼睛位置的时间点与图像处理器1540产生并输出3D图像的时间点之间的时间延迟,因此关于用户的眼睛位置信息可需要校正。因此,眼睛位置检测器1530可基于用户的运动信息估计用户的眼睛位置路径,图像处理器1540可基于估计的眼睛位置路径重建3D图像。

图像处理器1540可基于由眼睛位置检测器1530确定的用户的眼睛位置重建3D图像,例如,立体图像或3D图形数据。图像处理器1540可重建将通过显示器1550输出的3D图像,从而3D图像到达用户的眼睛位置。

显示器1550可显示由图像处理器1540处理的3D图像。例如,显示器1550可使用柱状透镜、视差屏障和定向背光来显示3D图像。

图15B示出显示装置1510的硬件框图。图15B示出处理器1560,处理器1560被配置为将数据/指令发送到相机1520并从相机1520接收数据/指令以及将数据/指令发送到非暂时性计算机可读介质1570并从非暂时性计算机可读介质1570接收数据/指令。

非暂时性计算机可读介质1570存储用于执行图1至图14描述的功能的指令。更具体地讲,处理器1560可通过执行存储在非暂时性计算机可读介质1570中的指令,来执行眼睛跟踪设备100、眼睛位置检测器1530和图像处理器1540的功能。因此,通过执行由非暂时性计算机可读介质1570存储的指令,处理器1560变为执行以上参照图1至图14描述的眼睛跟踪和眼睛位置确定的专用计算装置。处理器1560可包括一个或多个处理装置,例如,中央处理器(CPU)、数字信号处理器(DSP)、专用集成电路、现场可编程门阵列(FPGA)计算机等。

处理器1560还可被配置为指示显示器1550来显示处理的3D图像。

图16是示出根据至少一个示例实施例的眼睛跟踪方法的示例的流程图。例如,可由眼睛跟踪设备100执行眼睛跟踪方法。

参照图16,在操作1610,眼睛跟踪设备从图像检测特征点。例如,眼睛跟踪设备可检测拍摄了用户的脸部的图像中的眼睛和鼻子区域,并检测眼睛和鼻子区域中的眼睛中心特征点以及至少一个眼睛轮廓特征点。

在操作1620,眼睛跟踪设备基于检测的特征点确定图像中的眼睛区域。例如,眼睛跟踪设备可通过计算眼睛中心特征点与每个眼睛轮廓特征点之间的距离来确定眼睛中心特征点与每个眼睛轮廓特征点之间的距离中的最大距离,并基于眼睛中心特征点与最大距离确定眼睛区域。

在操作1630,眼睛跟踪设备基于眼睛区域的像素的位置和特征点的位置确定内部眼睛区域。眼睛跟踪设备可基于眼睛区域的当前(选择的)像素的位置和眼睛轮廓特征点的位置计算第一向量,并基于眼睛轮廓特征点的位置和邻近眼睛轮廓特征点的位置计算第二向量。眼睛跟踪设备可基于第一向量 和第二向量执行向量的外积计算。眼睛跟踪设备可同样地计算针对其它眼睛轮廓特征点的第一向量和第二向量。当针对眼睛轮廓特征点的外积计算结果由同一符号表示时,眼睛跟踪设备可确定当前像素包括在内部眼睛区域中,当外积计算结果由不同的符号表示时,眼睛跟踪设备确定当前像素未包括在内部眼睛区域中。眼睛跟踪设备可存储关于被确定为包括在内部区域中的像素的信息,例如,亮度和位置。

在操作1640,眼睛跟踪设备基于内部眼睛区域的每个像素的像素值确定瞳孔区域。当内部眼睛区域的当前像素的亮度值小于基于第一亮度平均值的第一阈值和基于第二亮度平均值的第二阈值时,眼睛跟踪设备可确定当前像素包括在瞳孔区域中。在这样的示例中,第一亮度平均值指内部眼睛区域的像素的亮度值的平均值,第二亮度平均值指眼睛中心特征点的邻近像素的亮度值的平均值。眼睛跟踪设备可存储关于被确定为包括在瞳孔区域中的像素的信息,例如,位置。

在操作1650,眼睛跟踪设备基于瞳孔区域的每个像素的位置值确定用户的眼睛位置。眼睛跟踪设备确定瞳孔区域的像素的位置值的平均值作为用户的眼睛位置。

在操作1660,处理器1560基于确定的用户的眼睛位置控制显示器。

可使用硬件组件和执行软件组件的硬件组件来实施在此描述的单元和/或模块(例如,特征点确定器110、眼睛区域确定器120、内部眼睛区域确定器130、瞳孔区域确定器140、眼睛位置确定器150、眼睛位置检测器1530和图像处理器1540)。例如,硬件组件可包括麦克风、放大器、带通滤波器、音频数字转换器和处理装置。处理装置可使用一个或多个硬件装置被实施,其中,所述一个或多个硬件装置被配置为通过执行算术、逻辑和输入/输出操作来执行和/或运行程序代码。处理装置可包括:处理器、控制器和算术逻辑单元、数字信号处理器、微计算机、现场可编程阵列、可编程逻辑单元、微处理器或能够以限定的方式响应和执行指令的任何其它装置。处理装置可运行操作系统(OS)以及一个或多个在OS上运行的软件应用。处理装置还可响应于软件的运行而访问、存储、操作、处理和创建数据。为了简洁的目的,对处理装置的描述被用作单数;然而,本领域技术人员将理解,处理装置可包括多个处理元件以及多种类型的处理元件。例如,处理装置可包括多个处理器或一个处理器和一个控制器。此外,不同的处理配置是可行的,例如, 并行处理器。

软件可包括用于独立地或共同地命令和/或配置处理装置按照需要进行操作的计算机程序、一段代码、指令或它们的一些组合,从而将处理装置转换为专用处理器。可在任何类型的机器、组件、物理或虚拟设备、计算机存储介质或装置中或者以能够将指令或数据提供给处理装置或被处理装置解释的传输信号波来永久地或暂时地实施软件和数据。软件还可被分布在联网的计算机系统中,从而以分布式存储和执行软件。可通过一个或多个非暂时性计算机可读记录介质来存储软件和数据。

根据上述示例实施例的方法可被记录在包括程序指令的非暂时性计算机可读介质中以实现上述示例实施例的各种操作。介质还可包括单独的或与程序指令结合的数据文件、数据结构等。记录在介质上的程序指令可以是针对示例实施例的目的而专门设计和构造的那些程序指令,或者它们可以是对计算机软件领域的技术人员公知和可用的类型。非暂时性计算机可读介质的示例包括:磁介质(例如,硬盘、软盘和磁带);光介质(例如,CD ROM盘、DVD和/或蓝光光盘);磁光介质(例如,光盘);和专门配置为存储和执行程序指令的硬件装置(例如,只读存储器(ROM)、随机存取存储器(RAM)、闪存(例如,USB闪速驱动器、存储卡、记忆棒等)等)。程序指令的示例包括机器代码(例如,由编译器所产生的)和包含计算机使用解释器可执行的高级代码的文件。上述装置可被配置为充当一个或多个软件模块以执行上述示例实施例的操作,反之亦然。

以上已经描述了多个示例实施例。然而,应理解,可对这些示例实施例进行各种修改。例如,如果以不同的顺序执行描述的技术,和/或如果描述的系统、架构、装置或电路中的组件以不同的方式组合和/或被其它组件或其等同物代替或补充,则可实现合适的结果。因此,其它实施方式落入权利要求的范围内。

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