一种人眼追踪方法、装置、系统、设备和存储介质与流程

文档序号:18741907发布日期:2019-09-21 01:52阅读:246来源:国知局
一种人眼追踪方法、装置、系统、设备和存储介质与流程

本发明实施例涉及图像处理技术,尤其涉及一种人眼追踪方法、装置、系统、设备和存储介质。



背景技术:

人眼追踪技术主要应用在人机交互、裸眼3D显示、虚拟现实等领域,通过追踪眼球的运动来获取人的观看视点位置;在当前的裸眼3D显示屏中通过人眼追踪判断出当前观看位置,修改显示图像以减少3D图像的左右眼串扰现象。

现有人眼追踪主要基于PCCR(瞳孔角膜反射技术)加图像处理识别方式实现,如Tobii眼动仪。Tobii眼动仪使用近红外光源使用户眼睛的角膜和瞳孔上产成反射图像,然后使用两个图像传感器采集眼睛与反射的图像。然后基于图像处理算法和一个三维眼球模型精确地计算出眼睛空间位置和注视方向。

然而,现有的人眼追踪方式不具备用户识别能力,只适用于近距离单用户的场景,如使用电脑、VR眼镜、眼睛检查等。并且现有的人眼追踪方式通常是在用户图像中先识别出脸部区域,再根据脸部区域计算用户双眼瞳孔位置,由于用户图像中的脸部区域所占的像素面积可能较少,从而在用户图像中直接计算双眼瞳孔位置时,会导致无法同时提高计算精度和计算速度的情况。

可见,当前急需一种既可以提高计算速度又可以提高计算精度的人眼追踪方法。



技术实现要素:

本发明实施例提供了一种人眼追踪方法、装置、系统、设备和存储介质,可以同时提高计算速度和精度,并且可以适用于多用户的人眼追踪场景。

第一方面,本发明实施例提供了一种人眼追踪方法,包括:

调用第一摄像头采集预设观看区域中的用户图像,并根据所述用户图像确定所述预设观看区域中每个用户对应的三维头部方位信息;

根据所述三维头部方位信息,从多个第二摄像头中确定第一预设数量的目标第二摄像头;

调用每个所述目标第二摄像头采集所述用户的脸部图像,并根据每个所述脸部图像确定所述用户的二维双眼瞳孔方位信息;

根据至少两个所述二维双眼瞳孔方位信息确定所述用户的三维双眼瞳孔方位信息。

第二方面,本发明实施例还提供了一种人眼追踪装置,包括:

三维头部方位信息确定模块,用于调用第一摄像头采集预设观看区域中的用户图像,并根据所述用户图像确定所述预设观看区域中每个用户对应的三维头部方位信息;

目标第二摄像头确定模块,用于根据所述三维头部方位信息,从多个第二摄像头中确定第一预设数量的目标第二摄像头;

二维双眼瞳孔方位信息确定模块,用于调用每个所述目标第二摄像头采集所述用户的脸部图像,并根据每个所述脸部图像确定所述用户的二维双眼瞳孔方位信息;

三维双眼瞳孔方位信息确定模块,用于根据至少两个所述二维双眼瞳孔方位信息确定所述用户的三维双眼瞳孔方位信息。

第三方面,本发明实施例还提供了一种人眼追踪系统,所述系统包括:第一摄像头、多个第二摄像头和人眼追踪装置;其中,所述人眼追踪装置用于实现如本发明任意实施例所提供的人眼追踪方法。

第四方面,本发明实施例还提供了一种设备,所述设备包括:

一个或多个处理器;

存储器,用于存储一个或多个程序;

输入装置,用于采集图像;

输出装置,用于显示屏幕信息;

当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本发明任意实施例所提供的人眼追踪方法。

第五方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明任意实施例所提供的人眼追踪方法。

本发明实施例通过根据第一摄像头采集的用户图像,确定预设观看区域中每个用户对应的三维头部方位信息,从而实现对用户头部的追踪。基于用户的三维头部方位信息,从多个第二摄像头中确定第一预设数量的目标第二摄像头,使得每个目标第二摄像头采集的脸部图像中双眼瞳孔区域所占的像素面积较多,从而根据多个脸部图像可以准确快速地确定用户的三维双眼瞳孔方位信息,实现了人眼的高速追踪,同时提高了计算精度。并且本发明实施例是利用多个第二摄像头采集预设观看区域中用户的脸部图像,从而可以调用不同的第二摄像头同时采集不同用户的脸部图像,使得可以适用于多用户的人眼追踪场景。

附图说明

图1是本发明实施例一提供的一种人眼追踪方法的流程图;

图2是本发明实施例一所涉及的一种第二摄像头匹配的示意图;

图3是本发明实施例一所涉及的一种光线对眼睛位置在深度方向的距离敏感度的示例;

图4是本发明实施例一所涉及的一种第二三维头部方位信息展示的示例;

图5是本发明实施例一所涉及的一种接收脸部图像数据的示意图;

图6是本发明实施例二提供的一种人眼追踪方法的流程图;

图7是本发明实施例二所涉及的一种螺旋状搜索图的示例;

图8是本发明实施例二所涉及的一种第二布局位置处第二摄像头并列布局的示意图;

图9是本发明实施例二所涉及的一种第二摄像头对应的三层数据表的示例;

图10是本发明实施例三提供的一种人眼追踪装置的结构示意图;

图11是本发明实施例四提供的一种人眼追踪系统的结构示意图;

图12是本发明实施例四所涉及的一种在预设观看区域为圆形内区域时第一摄像头的布局示例;

图13是本发明实施例四所涉及的一种在预设观看区域为圆形外区域时第一摄像头的布局示例;

图14是本发明实施例四所涉及的一种在预设观看区域为直线单侧观看区域时第一摄像头的布局示例;

图15是本发明实施例四所涉及的一种相邻两个第二摄像头的交叉区域的示例;

图16是本发明实施例四所涉及的一种在预设观看区域为圆形内区域时第二摄像头的布局示例;

图17是本发明实施例四所涉及的一种在预设观看区域为圆形外区域时第二摄像头的布局示例;

图18是本发明实施例四所涉及的一种在预设观看区域为直线单侧观看区域时第二摄像头的布局示例;

图19是本发明实施例四提供的另一种人眼追踪系统的结构示意图;

图20是本发明实施例五提供的一种设备的结构示意图。

具体实施方式

下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。

实施例一

图1为本发明实施例一提供的一种人眼追踪方法的流程图,本实施例可适用于在用户观看3D显示屏时,对用户的双眼瞳孔进行追踪定位的情况。该方法可以由人眼追踪装置来执行,该装置可以由软件和/或硬件的方式来实现,集成于具有3D显示功能的设备中,比如裸眼3D广告机、裸眼3D显示器等。如图1所示,该方法具体包括以下步骤:

S110、调用第一摄像头采集预设观看区域中的用户图像,并根据用户图像确定预设观看区域中每个用户对应的三维头部方位信息。

其中,第一摄像头可以是指用于追踪用户头部的摄像头。本实施例中的第一摄像头可以是3D摄像头,也可以是多个2D摄像头。由于第一摄像头是负责追踪用户头部,对脸部细节和追踪速度要求不高,从而可以选择视角大的第一摄像头。预设观看区域可以是指用户观看3D显示屏时所处于的区域,其可以根据3D显示屏的形状和位置预先确定。比如,若3D显示屏为一个圆形且面向圆形中心进行显示,则预设观看区域可以为该圆形组成的圆形区域内。预设观看区域中可以存在一个或多个用户同时进行观看。本实施例中第一摄像头的数量和拍摄位置(即布局方式)可以根据3D显示屏的形状和位置预先进行设置,以使各个第一摄像头的总检测区域可以覆盖预设观看区域,从而可以利用第一摄像头追踪预设观看区域中每个用户的头部。本实施例中可以同时追踪至少10个用户的头部,其具体数量可以根据第一摄像头的拍摄性能进行确定。三维头部方位信息可以包括用户的三维头部位置信息和头部朝向信息,其中头部朝向信息可以用于反映用户的头部状态,比如仰头、低头或者偏头等。

具体地,可以通过调用每个第一摄像头采集预设观看区域中的用户图像,并利用视觉定位原理等方式实现用户头部的追踪定位,以及通过脸部匹配等技术对用户图像进行图像处理,识别出不同的用户头部,从而可以计算出预设观看区域中每个用户对应的三维头部方位信息。本实施例中第一摄像头可以优选为高清的彩色摄像头,以便可以根据采集的用户图像中的RGB信息识别出用户的头发颜色、肤色等,从而可以更加准确地确定用户的三维头部方位信息。

示例性地,预设观看区域中每个用户对应的三维头部方位信息可以采用如下数据结构进行存储:

其中,hid为追踪到的某个用户头部对应的标识编号,以便区分不同的用户头部。(x,y,z)为用户的三维头部位置坐标,单位可以设置为毫米mm,(angle_x,angle_y,angle_z)为用户的头部朝向对应的朝向向量。本实施例中用户头部朝向水平方向转动(即沿y轴的转动角度)的精度大于其他两个方向(沿x轴和z轴的转动角度)的精度。

S120、根据三维头部方位信息,从多个第二摄像头中确定第一预设数量的目标第二摄像头。

其中,第二摄像头可以是指用于追踪用户双眼瞳孔的摄像头。本实施例中第二摄像头可以为2D摄像头。本实施例中第二摄像头的具体数量和拍摄位置(即布局方式)可以根据3D显示屏的形状和位置预先进行设置,以使各个第二摄像头的总检测区域可以覆盖预设观看区域,从而可以利用第二摄像头追踪预设观看区域中每个用户的眼睛,实现多用户的人眼追踪。目标第二摄像头可以是指从多个第二摄像头中筛选出的采集用户脸部图像最佳的第二摄像头。第一预设数量可以根据业务需求和场景进行设置。本实施例中的第一预设数量可以为至少两个。

具体地,对于每个用户而言,可以基于用户的三维头部方位信息从多个第二摄像头中确定出该用户对应的目标第二摄像头,以使每个目标第二摄像头采集到的脸部图像中双眼瞳孔区域所占的像素面积较多,进而保证分辨率,提高人眼追踪的精度。示例性地,本实施例中第二摄像头可以为黑白摄像头,并在第二摄像头的安装位置上设置照明红外光源,以便可以进行图像采集。本实施例中第二摄像头的分辨率可以小于第一摄像头的分辨率,以进一步提高图像的处理速度。

示例性地,S120可以包括:根据三维头部方位信息和每个第二摄像头的方位配置信息,确定用户对应的第二预设数量的候选第二摄像头,以及每个候选第二摄像头对应的匹配度;根据各匹配度和每个候选第二摄像头对应的当前调用次数,从各候选第二摄像头中筛选出第一预设数量的目标第二摄像头。

其中,第二摄像头的方位配置信息可以包括但不限于第二摄像头的安装位置、分辨率、景深参数和视角范围。示例性地,每个第二摄像头的方位配置信息可以采用如下数据结构进行存储:

其中,cid为第二摄像头对应的标识编号,以便区别不同的第二摄像头;(x,y,z)为第二摄像头对应的安装位置坐标,单位可以为毫米mm;(angle_x,angle_y,angle_z)为第二摄像头的拍摄中心对应的方向向量。width和height分别表示第二摄像头的分辨率;fov_h和fov_v分别为第二摄像头在水平方向和垂直方向的视角,单位为度。dof为第二摄像头的景深参数。Type为第二摄像头的布局方式,比如圆形向内型、圆形向外型和平面型,其中,圆形向内型可以是指分布在圆形上的第二摄像头的拍摄方向均朝向圆形的中心位置处;圆形向外型可以是指分布在圆形上的第二摄像头的拍摄方向均背离圆形的中心位置;平面型可以是指分布在直线上的第二摄像头均朝向直线单侧的观看区域拍摄。本实施例可以基于布局方式选取相应的筛选优化策略。需要说明的是,本实施例中存储的每个第二摄像头对应的安装位置坐标(x,y,z)是指在世界坐标系下的坐标,以便进行数据匹配。

具体地,本实施例将三维头部方位信息与每个第二摄像头的方位配置信息进行匹配,确定可以拍摄到用户脸部图像的第二预设数量的候选第二摄像头,并可以根据用户的头部朝向方向与每个候选第二摄像头拍摄视角的中心线之间的夹角确定每个候选第二摄像头对应的匹配度,比如头部朝向方向与拍摄视角的中心线之间的夹角越大,则候选第二摄像头对应的匹配度越小。本实施例还可以根据预设观看区域中多个用户之间的位置关系,检测是否存在拍摄遮挡的情况,以便对候选第二摄像头对应的匹配度进行调节。例如,若利用某个候选第二摄像头拍摄用户A时,存在一个用户B遮挡了用户A,则可以降低该候选第二摄像头对应的匹配度,或者将该候选第二摄像头对应的匹配度设置为最小,以避免利用该候选第二摄像头对用户A进行图像采集。本实施例在同时追踪多用户时,每个第二摄像头均可能对应多个拍摄任务,每个拍摄任务均对应一次第二摄像头的调用,以便可以针对不同用户进行拍摄。候选第二摄像头对应的当前调用次数可以是指候选第二摄像头在当前时刻对应的待执行的拍摄任务的数量。本实施例中的第一预设数量小于或等于第二预设数量。第二预设数量的大小可以根据业务场景和实际运行情况确定。当第一预设数量小于第二预设数量时,可以基于每个候选摄像头对应的匹配度和当前调用次数,从第二预设数量的候选摄像头中进一步筛选出第一预设数量的最佳的第二摄像头,即目标第二摄像头。当第一预设数据等于第二预设数量时,可以将确定的每个候选第二摄像头直接确定为目标第二摄像头。

示例性地,图2给出了一种第二摄像头匹配的示意图。如图2所示,第二摄像头的布局方式为圆形向内型,即在圆形上均匀分布多个布局位置,每个布局位置处可以安装多个第二摄像头,且每个摄像头的拍摄方向均朝向圆形的中心位置处。在图2中,虚线表示用户头部的朝向方向,c1是指位于布局位置1处的第二摄像头C1对应的拍摄视角;c2是指位于布局位置2处的第二摄像头C2对应的拍摄视角;c3是指位于布局位置2处的第二摄像头C3对应的拍摄视角;c4是指位于布局位置3处的第二摄像头C4对应的拍摄视角。图2中的用户A的头部朝向在布局位置1和布局位置2之间,则对于用户A而言,在布局位置1和布局位置2处均可以匹配出一个最佳的第二摄像头,根据布局位置上的每个第二摄像头的拍摄视角可以确定出该布局位置上最佳的第二摄像头,如图2所示,对用户A匹配的两个目标第二摄像头分别为第二摄像头C1和第二摄像头C2。同理,对用户B匹配两个目标第二摄像头分别为第二摄像头C3和第二摄像头C4。

S130、调用每个目标第二摄像头采集用户的脸部图像,并根据每个脸部图像确定用户的二维双眼瞳孔方位信息。

其中,二维双眼瞳孔方位信息可以包括用户的二维双眼瞳孔位置信息和眼睛注视方向信息,其中二维双眼瞳孔位置信息包括二维左眼瞳孔位置信息和二维右眼瞳孔位置信息。示例性地,用户的二维双眼瞳孔方位信息可以采用如下数据结构进行存储:

其中,(left_x,left_y)、(right_x,right_y)表示左右眼睛瞳孔的二维位置坐标,其中x轴方向可以为从左向右的方向,y轴方向可以为从上向下的方向;(angle_x,angle_y)表示眼睛注视方向的角度,其中x方向可以分为“无”、“左”、“中”和“右”四档,相应地y方向可以为“无”、“上”、“中”和“下”四档,其中“无”表示方向不确定。Time可以为计算出眼睛瞳孔位置时所对应的时间点,单位可以为ms,以便利用时间点来区分不同的眼睛瞳孔位置。Mode表示检测到的眼睛模式,比如,双眼模式、左眼模式、右眼模式和单眼模式这四种模式,其中,单眼模式可以是指仅检测到一只眼睛瞳孔的位置并且无法识别出该眼睛为左眼还是右眼。单眼模式对应的二维位置坐标可以存放在左眼瞳孔位置处(left_x,left_y),也可以存放在右眼瞳孔位置处(right_x,right_y)。本实施例中计算的双眼瞳孔的二维位置坐标的精度为±1个像素。

具体地,本实施例利用筛选出的目标第二摄像头针对性地采集用户的脸部图像,使得在利用较低分辨率的目标第二摄像头采集脸部图像时,可以保证脸部图像中双眼瞳孔区域所占的像素面积较多,从而在提高计算速度的前提下可以提高计算精度。在确定第一预设数量的目标第二摄像头后,通过调用各个目标第二摄像头,获得用户对应的各脸部图像,并可以基于图像处理算法对采集的每个脸部图像进行处理,从而可以快速精准地计算出每个脸部图像中的二维双眼瞳孔方位信息。

S140、根据至少两个二维双眼瞳孔方位信息确定用户的三维双眼瞳孔方位信息。

其中,三维双眼瞳孔方位信息可以包括用户的三维双眼瞳孔位置信息和眼睛注视方向信息。在光场显示中,由于光线角度问题,使得不同方向像素的光线对眼睛位置在深度方向的距离敏感度不同。图3给出了一种光线对眼睛位置在深度方向的距离敏感度的示例。图3中的光场显示屏为一个圆形,用户可以在该圆形区域内进行观看。图3中在眼睛瞳孔位置处“像素1”发出的光线在y轴方向上的精度为d1,在眼睛瞳孔位置处“像素2”发出的光线在y轴方向上的精度为d2,可见,d2<d1,即在眼睛瞳孔位置处“像素2”发出的光线在y轴方向上的精度更高。若眼睛瞳孔位置在y轴方向上的精度小于d2,则“像素2”发出的光线无法照射到用户的眼睛瞳孔位置处,导致出现缺失像素的现象,从而需要提高在深度距离上的精度。

具体地,本实施例可以根据至少两个二维双眼瞳孔方位信息对用户双眼瞳孔进行三维重建,计算出用户的三维双眼瞳孔方位信息,从而可以提高在深度距离上的精度,避免出现上述缺失像素的现象。本实施例可以将用户的三维双眼瞳孔方位信息输入至3D显示屏驱动中,以使3D显示屏可以根据三维双眼瞳孔方位信息确定相应的显示数据,使得用户可以观看到相应地三维画面。

本实施例的技术方案,根据第一摄像头采集的用户图像,确定预设观看区域中每个用户对应的三维头部方位信息,从而实现对用户头部的追踪。基于用户的三维头部方位信息,从多个第二摄像头中确定第一预设数量的目标第二摄像头,使得每个目标第二摄像头采集的脸部图像中双眼瞳孔区域所占的像素面积较多,从而根据多个脸部图像可以准确快速地确定用户的三维双眼瞳孔方位信息,实现了人眼的高速追踪,同时提高了计算精度。并且本发明实施例是利用多个第二摄像头采集预设观看区域中用户的脸部图像,从而可以调用不同的第二摄像头同时采集不同用户的脸部图像,进而可以实现多用户的人眼追踪。

在上述技术方案的基础上,“根据各匹配度和每个候选第二摄像头对应的当前调用次数,从各候选第二摄像头中筛选出第一预设数量的目标第二摄像头”,可以包括:根据候选第二摄像头对应的当前调用次数,筛选出当前调用次数小于或等于预设调用次数的候选第二摄像头,作为待选第二摄像头;基于待选第二摄像头对应的匹配度,对各进行降序排列,并将排列后的前第一预设数量的待选第二摄像头确定为目标第二摄像头。

其中,预设调用次数可以是指第二摄像头对应的待执行的拍摄任务数量的最大值,其可以根据业务需求和场景预先进行设置。例如,预设调用次数可以设置为5。具体地,本实施例可以先在各个候选第二摄像头中,筛选出当前调用次数小于或等于预设调用次数的候选第二摄像头,并将筛选出的候选第二摄像头作为待选第二摄像头,然后将各个待选第二摄像头的匹配度从大到小进行排列,将排列后的前第一预设数量的待选第二摄像头确定为目标第二摄像头。

在上述技术方案的基础上,本实施例中用于进行人眼追踪的设备可以周期性地调用第一摄像头,从而周期性地采集用户图像,并根据每次采集的用户图像确定对应的用户的三维头部方位信息,并利用该三维头部方位信息确定目标第二摄像头,根据每个目标第二摄像头采集的脸部图像确定用户的二维双眼瞳孔方位信息。也就是说,本实施例中可以根据周期性采集的用户图像确定相应的二维头部方位信息。若预设历史次数中每次根据采集的用户图像无法确定出至少两个二维双眼瞳孔方位信息,则表明用户头部一直处于被遮挡的状态或者用户一直处于运动状态,从而在确定当次的目标第二摄像头时,可以将第二预设数量的候选第二摄像头全部确定为目标第二摄像头,以增加追踪到人眼的几率,提高追踪效率。

或者,在S140之前,还可以包括:若根据每个脸部图像仅确定出一个二维双眼瞳孔方位信息,则从筛选目标第二摄像头后的剩余候选第二摄像头中再次筛选出至少一个目标第二摄像头,并调用再次筛选出的目标第二摄像头采集用户的脸部图像,并根据再次采集的脸部图像确定相应的二维双眼瞳孔方位信息;或者,若根据每个脸部图像无法确定出二维双眼瞳孔方位信息,则从筛选目标第二摄像头后的剩余候选第二摄像头中再次筛选出至少两个目标第二摄像头,并调用再次筛选出的每个目标第二摄像头采集用户的脸部图像,并根据再次采集的每个脸部图像确定相应的二维双眼瞳孔方位信息。

具体地,通过调用第一预设数量的目标第二摄像头采集用户的第一预设数量的脸部图像后,如果存在用户突然转头或者处于第二摄像头的交界位置处等情况,则采集的脸部图像可能无法包含用户的双眼瞳孔信息,使得基于该脸部图像无法确定出相应的二维双眼瞳孔方位信息。若根据各个脸部图像仅确定出一个二维双眼瞳孔方位信息,则可以基于相同的筛选规则,从剩余候选第二摄像头中再次筛选出至少一个目标第二摄像头,利用该重新筛选出的目标第二摄像头重新采集用户的脸部图像,并根据脸部图像再次确定相应的二维双眼瞳孔方位信息,以便获得至少两个二维双眼瞳孔方位信息。其中,筛选规则可以是指基于候选摄像头的当前调用次数和匹配度进行筛选的规则。类似地,若根据各个脸部图像无法确定出二维双眼瞳孔方位信息,即每个脸部图像中均不包含双眼瞳孔信息,则可以从剩余第二摄像头中再次筛选出至少两个目标第二摄像头,利用该重新筛选出的目标第二摄像头重新采集用户的脸部图像,并根据脸部图像再次确定相应的二维双眼瞳孔方位信息,以便获得至少两个二维双眼瞳孔方位信息。

在上述技术方案的基础上,在S140之后且在S110之前,还包括:根据用户当前时刻的三维双眼瞳孔方位信息和历史时刻的三维双眼瞳孔方位信息,预估用户在下一时刻的第二三维头部方位信息;根据第二三维头部方位信息预估用户在下一时刻的三维双眼瞳孔方位信息。

其中,本实施例中的第一摄像头是按照预设帧速一帧一帧地采集预设观看区域中的用户图像,从而可以根据周期性采集的用户图像,周期性地确定用户对应的三维头部方位信息。由于相对于采集用户图像和根据用户图像确定三维头部方位信息所消耗的延迟时间而言,根据三维头部方位信息计算三维双眼瞳孔方位信息所消耗的延迟时间较短。也就是说,在根据第一摄像头采集的当前帧用户图像确定出用户在当前时刻的三维双眼瞳孔方位信息后,无法立即获得根据下一帧用户图像确定出的用户在下一时刻的三维头部方位信息,即头部定位追踪速度比人眼定位追踪速度较慢。本实施例在根据当前帧用户图像确定出用户在当前时刻的三维双眼瞳孔方位信息后,即执行步骤S110-S140操作后,且在根据下一帧用户图像确定出用户在下一时刻的三维头部方位信息之前,可以对用户在下一时刻的三维头部方位信息进行预估,从而解决头部定位追踪速度较慢的问题,以便进一步提高追踪速度。本实施例中的第二三维头部方位信息可以是指根据用户已有的三维双眼瞳孔方位信息进行预估获得的三维头部方位信息。历史时刻的三维双眼瞳孔方位信息可以是指历史时刻中基于用户图像准确地确定出的三维双眼瞳孔方位信息。

具体地,在S140之后,若未获得根据用户图像确定出的下一时刻的三维头部方位信息时,可以根据当前时刻计算出的三维双眼瞳孔方位信息和历史时刻计算出的三维双眼瞳孔方位信息,较为准确地预估用户在下一时刻的第二三维头部方位信息,以便可以根据第二三维头部方位信息预估用户在下一时刻的三维双眼瞳孔方位信息,从而解决了头部定位追踪速度较慢的问题。当获得根据用户图像确定出的准确的三维头部方位信息时,再根据该三维头部方位信息执行步骤S120-S140操作,从而可以减小延迟时间,进一步提高追踪速度。

示例性地,第二三维头部方位信息包括三维头部位置和转动角度;相应地,可以根据如下公式预估用户在下一时刻的第二三维头部方位信息:

其中,(Xp1,Yp1,Zp1)和α1为用户在当前时刻P1的三维眼睛瞳孔位置和注视方向的角度;(Xp2,Yp2,Zp2)和α2为用户在历史时刻P2的三维眼睛瞳孔位置和注视方向的角度;(Xp3,Yp3,Zp3)和α3为用户在历史时刻P3的三维眼睛瞳孔位置和注视方向的角度;(X,Y,Z)和α为估算的用户在下一时刻的三维头部位置和转动角度。其中,当前时刻P1、历史时刻P2和历史时刻P3这三个时刻的三维眼睛瞳孔位置可以为用户的三维右眼瞳孔位置或者三维左眼瞳孔位置。图4给出了一种第二三维头部方位信息展示的示例。图4中的点A和a分别为用户在下一时刻的三维眼睛瞳孔位置和注视方向的角度;点A1和a1分别为用户在当前时刻P1的三维眼睛瞳孔位置和注视方向的角度;点A2和a2分别为用户在当前时刻P2的三维眼睛瞳孔位置和注视方向的角度;点A3和a3分别为用户在当前时刻P3的三维头部位置和转动角度,本实施例可以根据当前时刻P1和前两时刻P2和P3对应的准确的三维眼睛瞳孔位置和注视方向的角度,按照比例变化地预测机制来估算出用户下一时刻的三维头部位置和转动角度,以便可以根据预估出的第二三维头部方位信息继续执行步骤S120-S140的操作,提高追踪速度。

在上述技术方案的基础上,在S130之后,还包括:根据三维头部方位信息确定每个目标第二摄像头采集的脸部图像中的目标脸部区域的位置和大小。其中,目标脸部区域可以是指脸部图像中由脸部轮廓组成的图像区域。本实施例可以基于用户的三维头部方位信息,划定脸部图像中的目标脸部区域的位置和大小,以便可以减少计算区域,并通过仅对该目标脸部区域进行图像处理,可以更加快速地计算出用户的二维双眼瞳孔方位信息,从而可以进一步提高人眼定位的计算速度。

在上述技术方案的基础上,S130中“根据每个脸部图像确定用户的二维双眼瞳孔方位信息”,可以包括:根据目标脸部区域的位置和大小确定通过扫描线接收数据的时间,并根据该时间接收目标第二摄像头发送的目标脸部区域数据,并根据接收的目标脸部图像数据确定用户的二维双眼瞳孔方位信息。

其中,目标第二摄像头可以使用CSI(CMOS Sensor Interface,相机串行接口),以行方式将采集的脸部图像数据发送至人眼追踪设备中。目标第二摄像头可以采用连续内存模块存储图像数据,并可以通过直接传输脸部图像的行指针列表的方式,即扫描线的方式来传输脸部图像数据,以提高数据传输速度。本实施例可以根据目标脸部区域的位置和大小计算出通过扫描线接收数据的时间,以在接收到脸部区域的前提下接收更少的无用数据,从而可以减少因目标第二摄像头采集脸部图像而导致的延迟时间,进一步提高追踪速度。示例性地,图5给出了一种接收脸部图像数据的示意图。图5中的脸部图像分辨率为640×480。目标第二摄像头在开始传输一帧脸部图像时,会先发送一个帧开始同步信号(对应的发送时刻记为Ts),然后在传输结束时发送一个帧结束同步信号(对应的发送时刻记为Te),根据这两个信号可以确定目标第二摄像头的行传输速度为:(Te-Ts)/480。人眼追踪设备根据三维头部方位信息可以确定目标脸部区域最后一行在300高度位置,从而可以计算目标脸部区域对应的数据接收时间为:300×(Te-Ts)/480。在接收到帧开始同步信号后开始计时,当接收时间到达300×(Te-Ts)/480时,表明已经接收到包含脸部区域的目标脸部图像数据,此时无需再接收剩余的脸部图像数据,从而可以提高数据传输速度,并且根据接收的目标脸部图像数据可以更加快速地确定用户的二维双眼瞳孔方位信息,降低延迟时间,进一步提高追踪速度和计算速度。

实施例二

图6为本发明实施例二提供的一种人眼追踪方法的流程图,本实施例在上述实施例的基础上,对“根据至少两个二维双眼瞳孔方位信息确定用户的三维双眼瞳孔方位信息”进行了优化。其中与上述实施例相同或相应的术语的解释在此不再赘述。

参见图6,本实施例提供的人眼追踪方法具体包括以下步骤:

S210、调用第一摄像头采集预设观看区域中的用户图像,并根据用户图像确定预设观看区域中每个用户对应的三维头部方位信息。

S220、根据三维头部方位信息,从多个第二摄像头中确定第一预设数量的目标第二摄像头。

S230、调用每个目标第二摄像头采集用户的脸部图像。

S240、若根据每个脸部图像无法确定出用户当前时刻对应的至少两个二维双眼瞳孔方位信息,则根据历史时刻的三维双眼瞳孔方位信息确定螺旋状搜索规则。

具体地,当用户存在突然转头或者处于第二摄像头的交界位置处等情况时,导致通过调用目标第二摄像头无法检测到用户双眼瞳孔信息,即根据各个脸部图像无法确定出至少两个二维双眼瞳孔方位信息,此时表明根据用户图像确定出的三维头部方位信息是不准确的,需要预测用户当前时刻对应的三维头部方位信息,以便对根据用户图像确定出的三维头部方位信息进行调整。通常,用户观看屏幕时头部转动角速度比移动速度更快,从而在建立头部运动学模型之外,还可以按照螺旋状向外进行搜索,以提高预测速度。本实施例可以根据历史时刻确定出的三维双眼瞳孔方位信息来确定螺旋状在各个节点处的半径值和运动轨迹,从而确定螺旋状搜索规则。图7给出了一种螺旋状搜索图的示例。图7中的节点“0”、“1”、“2”、“3”、“4”和“5”分别表示不同的头部位置,每个节点连接的直线表示该节点对应的头部朝向。本实施例中的螺旋状搜索规则可以是节点“0”为起始位置,按照节点“1”-“5”的顺序,向外进行重搜索。

S250、将根据用户图像确定的三维头部方位信息作为用户在当前时刻的三维头部方位信息。

具体地,在利用螺旋状搜索规则对用户的三维头部方位信息进行预测时,根据用户图像确定出的三维头部方位信息是不准确的,即根据该三维头部方位信息调用的目标第二摄像头无法检测到用户双眼瞳孔信息,本实施例先将该三维头部方位信息作为用户在当前时刻的三维头部方位信息,以便对该三维头部方位信息进行调整。

S260、根据螺旋状搜索规则对当前时刻的三维头部方位信息进行调整,并将调整后的当前时刻的三维头部方位信息作为第一三维头部方位信息。

具体地,可以根据螺旋状搜索规则对应的螺旋状搜索图对当前时刻的三维头部方位信息进行调整。示例性地,如图7中,节点“0”表示根据用户图像确定的三维头部方位信息,即当前时刻的三维头部方位信息。在按照节点“1”-“5”的顺序,向外进行重搜索时,可以将节点“0”的下一个节点“1”对应的三维头部位置和头部朝向确定为调整后的当前时刻的三维头部方位信息,即第一三维头部方位信息,从而对头部方位信息进行合理调整和预测。

S270、根据第一三维头部方位信息确定用户当前时刻的至少两个第一二维双眼瞳孔方位信息。

具体地,在预测出第一三维头部信息后,可以根据第一三维头部信息从多个第二摄像头中确定第一预设数量的目标第二摄像头,并调用每个目标第二摄像头采集用户的脸部图像,以及根据每个脸部图像确定用户当前时刻的至少两个第一二维双眼瞳孔方位信息。

S280、根据至少两个第一二维双眼瞳孔方位信息确定用户的三维双眼瞳孔方位信息。

具体地,本实施例可以根据至少两个第一二维双眼瞳孔方位信息对用户双眼瞳孔进行三维重建,计算出用户的三维双眼瞳孔方位信息,从而可以提高计算精度和速度。

本实施例的技术方案,在根据用户图像确定出的三维头部方位信息,无法检测到用户双眼瞳孔信息时,可以利用螺旋状搜索规则对该三维头部方位信息调整和预测,以便获得更加准确的第一三维头部方位信息,并基于该第一三维头部方位信息,可以获得至少两个第一二维双眼瞳孔方位信息,以便确定出用户的三维双眼瞳孔方位信息,从而可以解决因用户突然转动等情况而无法进行人眼追踪的问题,进一步提高了人眼追踪速度和精度。

在上述技术方案的基础上,若根据第一三维头部方位信息无法确定出当前时刻的至少两个第一二维双眼瞳孔方位信息,且当前测试时长小于预设时长,则将第一三维头部方位信息更新为当前时刻的三维头部方位信息,并进入步骤S260。

其中,预设时长可以根据第一摄像头的帧速确定,例如可以将第一摄像头拍摄相邻两帧图像之间的时间间隔确定为预设时长,以保证在获得根据用户图像确定出的三维头部方位信息之前,进行预测调整操作。具体地,在根据第一三维头部信息从多个第二摄像头中确定第一预设数量的目标第二摄像头,并调用每个目标第二摄像头采集用户的脸部图像之后,若根据每个脸部图像无法确定出用户当前时刻的至少两个第一二维双眼瞳孔方位信息,且当前测试时长小于预设时长,则表明此时预估的第一三维头部方位信息出现错误,并且测试时间较短,此时可以将第一三维头部方位信息作为当前时刻的三维头部方位信息,并返回执行步骤S260-S280的操作,对当前时刻的三维头部方位信息进行再次调整,更新第一三维头部方位信息。例如,图7中的节点“1”作为当前时刻的三维头部方位信息,在按照节点“1”-“5”的顺序,向外进行重搜索时,可以将节点“1”的下一个节点“2”对应的三维头部位置和头部朝向确定为调整后的当前时刻的三维头部方位信息,即更新后的第一三维头部方位信息,从而可以再次对头部方位信息进行合理调整和预测。

在上述技术方案的基础上,若根据第一三维头部方位信息无法确定出当前时刻的至少两个第一二维双眼瞳孔方位信息,且当前测试时长等于预设时长,则将用户上一时刻确定出的三维双眼瞳孔信息作为用户当前时刻的三维双眼瞳孔方位信息。

具体地,若根据第一三维头部方位信息无法确定出当前时刻的至少两个第一二维双眼瞳孔方位信息,且当前测试时长等于预设时长,则表明即将会获得根据用户图像确定出的三维头部方位信息,此时可以停止该预测操作,以避免无限期地进行预测,并将上一时刻确定出的三维双眼瞳孔信息直接确定为当前时刻的三维双眼瞳孔方位信息。示例性地,本实施例在当前测试时长等于预设时长时,若仅确定出当前时刻的一个第一二维双眼瞳孔方位信息,则可以利用上一时刻确定出的二维双眼瞳孔方位信息计算深度距离,并根据该深度距离和当前时刻的这一个第一二维双眼瞳孔方位信息较为准确地计算出当前时刻的三维双眼瞳孔方位信息。

在上述技术方案的基础上,在调用第一摄像头采集预设观看区域中的用户图像之前,还包括:根据预设观看区域对应的观看角度范围和第一摄像头对应的第一预设朝向误差,确定第一摄像头对应的第一布局位置的数量;根据第一摄像头的第一视角确定每个第一布局位置对应的第一摄像头数量。

其中,第一预设朝向误差可以是指在匹配到一个新的第一摄像头时用户头部所转动的度数,其可以根据业务需求和场景预先设置。示例性地,若将第一摄像头布局在一个圆形上,则可以设置第一预设朝向误差为60度,即用户头部每转动60度便可以存在一个新的第一摄像头采集该用户的正面图像。观看角度范围可以是指预设观看区域所对应的观看角度,比如,预设观看区域为一个圆形区域,则对应的预设观看角度为360度。第一摄像头的第一视角可以是指第一摄像头拍摄角度的范围。预设观看区域对应的预设检测距离可以是在预设观看区域中用户距离第一摄像头的最大值。每个第一摄像头的第一景深均大于预设观看区域对应的预设检测距离,以便可以利用该第一摄像头清楚地拍摄预设观看区域中的用户图像。

具体地,本实施例可以将预设观看区域对应的观看角度范围除以第一摄像头对应的第一预设朝向误差获得的结果确定为第一布局位置的数量。并根据每个第一布局位置所要求的视角范围和第一摄像头的第一视角,确定每个第一布局位置所对应的第一摄像头数量,以便可以覆盖整个预设观看区域。示例性地,若第一布局位置所要求的视角范围为150度,第一摄像头的第一视角为150度,则可以确定每个第一布局位置处只需安装一个第一摄像头即可。

在上述技术方案的基础上,在调用第一摄像头采集预设观看区域中的用户图像之前,还包括:根据预设观看区域对应的观看角度范围和第二摄像头对应的第二预设朝向误差,确定第二摄像头对应的第二布局位置的数量;根据第二摄像头的第二景深和预设观看区域对应的预设检测距离,确定每个第二布局位置对应的景深层数;根据第二摄像头的第二视角确定每层景深对应的第二摄像头数量。

其中,第二预设朝向误差可以是指在匹配到一个最佳的第二摄像头时用户头部所转动的度数,其可以根据业务需求和场景预先设置。示例性地,若将第一摄像头布局在一个圆形上,则可以设置第一预设朝向误差为30度,以便用户头部每转动30度便可以存在一个最佳的第二摄像头采集该用户的正面图像,并可以保证区分出用户的左右眼。观看角度范围可以是指预设观看区域所对应的观看角度,比如,预设观看区域为一个圆形区域,则对应的预设观看角度为360度。预设观看区域对应的预设检测距离可以是在预设观看区域中用户距离第二摄像头的最大值。第二摄像头的第二景深可以小于预设检测距离,以便可以进行至少两层景深布局,保证图像的分辨率以及提高对比度。第二摄像头的第二视角可以是指第二摄像头拍摄角度的范围,其可以通过第二摄像头的镜头参数获得。本实施例中第一摄像头用于追踪用户头部,对脸部细节和追踪速度要求较低,而第二摄像头用于追踪人眼位置,对追踪速度和定位精度要求较高,从而可以设置第一预设朝向误差大于或等于第二预设朝向误差,以及第一视角大于第二视角。

具体地,本实施例可以将预设观看区域对应的观看角度范围除以第二摄像头对应的第二预设朝向误差获得的结果确定为第二布局位置的数量。根据第二摄像头的第二景深和预设观看区域对应的预设检测距离,选择适宜的景深层数,以便可以覆盖整个预设观看区域,并且可以保证在不同拍摄距离下均可以清晰成像,提高图像的分辨率和对比度。示例性地,本实施例可以使用三层景深(即近-中-远)进行多层布局,并且每层可以采用并列排放第二摄像头的方式增加追踪的覆盖范围。根据每层景深所要求的视角范围和第二摄像头的第二视角,确定每层景深对应的第二摄像头数量,以便可以覆盖整个预设观看区域。示例性地,若每层景深所要求的水平方向上视角范围为150度,第二摄像头的第二视角为30度,则可以确定每层景深对应6个第二摄像头,以保证水平方向上的覆盖范围为150度,如图8所示。为了提高竖直方向上的覆盖角度范围,可以在每个第二布局位置叠加设置至少两个第二摄像头组,每个第二摄像头组中包括至少两层不同景深的第二摄像头,以便可以追踪用户低头和仰头的情况。比如在第二布局位置对应3层景深时,该3层景深(即为一个第二摄像头组)对应18个第二摄像头,若在每个布局位置处叠加设置两个第二摄像头组时,可以确定在每个第二布局位置处需要安装36个第二摄像头。

本实施例在每个第二布局位置处安装相应数量的第二摄像头后,每个第二摄像头的方位配置信息可以采用三层数据表的方式进行存储,以便提高第二摄像头匹配搜索的速度,进而可以提高目标第二摄像头的确定速度。示例性地,三层数据表可以包括一个第二布局位置指针表、多个结构指针表和多个数据结构表。图9给出了一种第二摄像头对应的三层数据表的示例。如图9所示,第二布局位置指针表可以按照第二布局位置的布局方向(如顺时针或者逆时针)顺序排列各个第二布局位置。每个第二布局位置对应一个结构指针表,用于存储该第二布局位置对应的各个第二摄像头的标识编码cid。数据结构表可以用于存储第二摄像头对应的方位配置信息structcamera_position。

以下是本发明实施例提供的人眼追踪装置的实施例,该装置与上述各实施例的人眼追踪方法属于同一个发明构思,在人眼追踪装置的实施例中未详尽描述的细节内容,可以参考上述人眼追踪方法的实施例。

实施例三

图10为本发明实施例三提供的一种人眼追踪装置的结构示意图,本实施例可适用于用户观看3D显示屏时,对用户的双眼瞳孔进行追踪定位的情况。该装置包括:三维头部方位信息确定模块310、目标第二摄像头确定模块320、二维双眼瞳孔方位信息确定模块330和三维双眼瞳孔方位信息确定模块340。

其中,三维头部方位信息确定模块310,用于调用第一摄像头采集预设观看区域中的用户图像,并根据用户图像确定预设观看区域中每个用户对应的三维头部方位信息;目标第二摄像头确定模块320,用于根据三维头部方位信息,从多个第二摄像头中确定第一预设数量的目标第二摄像头;二维双眼瞳孔方位信息确定模块330,用于调用每个目标第二摄像头采集用户的脸部图像,并根据每个脸部图像确定用户的二维双眼瞳孔方位信息;三维双眼瞳孔方位信息确定模块340,用于根据至少两个二维双眼瞳孔方位信息确定用户的三维双眼瞳孔方位信息。

可选地,目标第二摄像头确定模块320,包括:

候选第二摄像头确定单元,用于根据三维头部方位信息和每个第二摄像头的方位配置信息,确定用户对应的第二预设数量的候选第二摄像头,以及每个候选第二摄像头对应的匹配度;

目标第二摄像头确定单元,用于根据各匹配度和每个候选第二摄像头对应的当前调用次数,从各候选第二摄像头中筛选出第一预设数量的目标第二摄像头;其中,第一预设数量小于第二预设数量。

可选地,目标第二摄像头确定单元,具体用于:根据候选第二摄像头对应的当前调用次数,筛选出当前调用次数小于或等于预设调用次数的候选第二摄像头,作为待选第二摄像头;基于待选第二摄像头对应的匹配度,对各进行降序排列,并将排列后的前第一预设数量的待选第二摄像头确定为目标第二摄像头。

可选地,三维双眼瞳孔方位信息确定模块340,具体用于:若根据各脸部图像无法确定出用户当前时刻对应的至少两个二维双眼瞳孔方位信息,则根据历史时刻的三维双眼瞳孔方位信息确定螺旋状搜索规则;将根据用户图像确定的三维头部方位信息作为用户在当前时刻的三维头部方位信息;根据螺旋状搜索规则对当前时刻的三维头部方位信息进行调整,并将调整后的当前时刻的三维头部方位信息作为第一三维头部方位信息;根据第一三维头部方位信息确定用户当前时刻的至少两个第一二维双眼瞳孔方位信息;根据至少两个第一二维双眼瞳孔方位信息确定用户的三维双眼瞳孔方位信息。

可选地,该装置还包括:

第二三维头部方位信息确定模块,用于在根据至少两个二维双眼瞳孔方位信息确定用户的三维双眼瞳孔方位信息之后,且在根据用户图像确定预设观看区域中每个用户对应的三维头部方位信息之前,根据用户当前时刻的三维双眼瞳孔方位信息和历史时刻的三维双眼瞳孔方位信息,预估用户在下一时刻的第二三维头部方位信息;

三维双眼瞳孔方位信息预估模块,用于根据第二三维头部方位信息预估用户在下一时刻的三维双眼瞳孔方位信息。

可选地,第二三维头部方位信息包括三维头部位置和转动角度;相应地,根据如下公式预估用户在下一时刻的第二三维头部方位信息:

其中,(Xp1,Yp1,Zp1)和α1为用户在当前时刻P1的三维眼睛瞳孔位置和注视方向的角度;(Xp2,Yp2,Zp2)和α2为用户在历史时刻P2的三维眼睛瞳孔位置和注视方向的角度;(Xp3,Yp3,Zp3)和α3为用户在历史时刻P3的三维眼睛瞳孔位置和注视方向的角度;(X,Y,Z)和α为估算的用户在下一时刻的三维头部位置和转动角度。

可选地,该装置还包括:

目标脸部区域确定模块,用于在从多个第二摄像头中确定第一预设数量的目标第二摄像头之后,根据三维头部方位信息确定每个目标第二摄像头采集的脸部图像中的目标脸部区域的位置和大小。

可选地,二维双眼瞳孔方位信息确定模块330,具体用于:根据目标脸部区域的位置和大小确定通过扫描线接收数据的时间,并根据时间接收目标第二摄像头发送的目标脸部区域数据,并根据接收的目标脸部图像数据确定用户的二维双眼瞳孔方位信息。

可选地,第一摄像头为彩色摄像头或者3D摄像头,第二摄像头为黑白摄像头,第二摄像头的安装位置上设置照明红外光源。

可选地,该装置还包括:第一布局位置的数量确定模块,用于在调用第一摄像头采集预设观看区域中的用户图像之前,根据预设观看区域对应的观看角度范围和第一摄像头对应的第一预设朝向误差,确定第一摄像头对应的第一布局位置的数量;

第一摄像头数量确定模块,用于根据第一摄像头的第一视角确定每个第一布局位置对应的第一摄像头数量,其中,每个第一摄像头的第一景深均大于预设观看区域对应的预设检测距离。

可选地,该装置还包括:第二布局位置的数量确定模块,用于在调用第一摄像头采集预设观看区域中的用户图像之前,根据预设观看区域对应的观看角度范围和第二摄像头对应的第二预设朝向误差,确定第二摄像头对应的第二布局位置的数量;

景深层数确定模块,用于根据第二摄像头的第二景深和预设观看区域对应的预设检测距离,确定每个第二布局位置对应的景深层数,其中,第二景深小于预设检测距离;

第二摄像头数量确定模块,用于根据第二摄像头的第二视角确定每层景深对应的第二摄像头数量。

本发明实施例所提供的人眼追踪装置可执行本发明任意实施例所提供的人眼追踪方法,具备执行人眼追踪方法相应的功能模块和有益效果。

值得注意的是,上述人眼追踪装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。

实施例四

图11是本发明实施例四提供的一种人眼追踪系统的结构示意图。参见图11,该系统包括:第一摄像头410、多个第二摄像头420和人眼追踪装置430;其中,人眼追踪装置430可以用于实现如本发明任意实施例所提供的人眼追踪方法。

其中,第一摄像头410用于采集预设观看区域中的用户图像,以便实现用户头部的追踪。本实施例中的第一摄像头410可以是3D摄像头,也可以是多个2D摄像头。由于第一摄像头410是负责追踪用户头部,对脸部细节和追踪速度要求不高,从而可以选择视角大的第一摄像头410。第二摄像头420用于采集用户的脸部图像,以便实现人眼高速追踪。本实施例中的第二摄像头420可以为2D摄像头。示例性地,第一摄像头410可以为高清的彩色摄像头,第二摄像头420可以为黑白摄像头。本实施例中的第一摄像头的分辨率可以大于第二摄像头的分辨率。本实施例通过利用较低分辨率的第二摄像头可以在保证计算精度的前提下,提高计算速度。

本实施例中第一摄像头410的布局要求可以设置但不限于为:(1)第一摄像头410的景深大于预设观看区域对应的预设检测距离,以便在预设检测距离范围内只需利用一种景深的第一摄像头,即每个第一摄像头的景深均相同。(2)第一摄像头410采集的用户图像中头部区域所占区域面积可以大于精度要求,比如60×60像素,以使拍摄的头部区域更加清晰。(3)根据第一预设朝向误差设置足够的第一摄像头数量,并且可以覆盖整个预设观看区域,其中第一预设朝向误差可以设置为60度。

本实施例可以基于第一摄像头410的布局要求和预设观看区域对第一摄像头进行布局。具体地,在预设观看区域内的每个第一布局位置处设置有至少一个第一摄像头,各第一摄像头对应的总检测区域为预设观看区域,也就是说,各个第一摄像头的总拍摄范围可以覆盖预设观看区域。示例性地,当预设观看区域为圆形内区域时,可以在预设观看区域对应的圆形上分布各个第一布局位置,并且每个第一布局位置处设置有至少一个第一摄像头,以及每个第一摄像头的拍摄方向均朝向圆形的中心位置。其中,每相邻两个第一布局位置之间的距离可以相等,即各个第一布局位置均匀分布在预设观看区域对应的封闭形状上;也可以在预设允许误差范围内。例如,图12给出了一种在预设观看区域为圆形内区域时第一摄像头的布局示例。图12中的虚线表示第一摄像头的光轴线,虚线两边的实线表示第一摄像头的视角范围。如图12所示,圆形上均匀分布6个第一布局位置,并且在每个第一布局位置处设置一个第一摄像头,即通过设置6个第一摄像头便可以覆盖整个圆形内区域,以便可以采集圆形内区域中各个位置处的用户图像,这种第一摄像头的布局方式可以称为圆形向内型。

示例性地,当预设观看区域为圆形外区域时,可以在预设观看区域对应的圆形上分布各个第一布局位置,并且每个第一布局位置处设置有至少一个第一摄像头,以及每个第一摄像头的拍摄方向均背离圆形的中心位置。其中,每相邻两个第一布局位置之间的距离可以相等,即各个第一布局位置均匀分布在预设观看区域对应的封闭形状上;也可以在预设允许误差范围内。例如,图13给出了一种在预设观看区域为圆形外区域时第一摄像头的布局示例。图13中的虚线表示第一摄像头的光轴线,虚线两边的实线表示第一摄像头的视角范围。如图13所示,圆形上均匀分布6个第一布局位置,并且在每个第一布局位置处设置一个第一摄像头,即通过设置6个第一摄像头便可以覆盖整个圆形外区域,以便可以采集圆形外区域中的用户图像,这种第一摄像头的布局方式可以称为圆形向外型。

示例性地,当预设观看区域为直线单侧观看区域时,比如在电影院中的观看区域时,可以在直线单侧观看区域的直线上分布各个第一布局位置,并且每个第一布局位置处设置有至少一个第一摄像头,以及每个第一摄像头的拍摄方向均朝向直线单侧观看区域拍摄。其中,每相邻两个第一布局位置之间的距离可以相等,即各个第一布局位置均匀分布在直线单侧观看区域的直线上;也可以在预设允许误差范围内。例如,图14给出了一种在预设观看区域为直线单侧观看区域时第一摄像头的布局示例。图14中的虚线表示第一摄像头的光轴线,虚线两边的实线表示第一摄像头的视角范围。如图14所示,直线上均匀分布3个第一布局位置,并且在每个第一布局位置处设置一个第一摄像头,且这三个第一摄像头可以采用扇形方向朝向直线单侧观看区域拍摄,以便覆盖整个直线单侧观看区域,这种第一摄像头的布局方式可以称为平面型。

本实施例中第二摄像头420的布局要求可以设置但不限于为:(1)在每个第二布局位置处使用至少两层景深,以便提高图像分辨率和对比度。(2)第二摄像头的帧速大于60帧每秒。(3)第二摄像头采集的脸部图像中脸部区域所占区域面积可以大于精度要求,比如100×100像素,以提高二维双眼瞳孔方位信息的计算精度。(4)每个第二布局位置处相邻两个第二摄像头的景深范围交叉区域(如图15中的阴影区域)中的最短距离d大于双眼瞳孔间的距离,以保证可以采集到同时包含左右两只眼睛瞳孔的脸部图像。其中d可以设置为6.5cm。(5)根据第二预设朝向误差设置足够数量的第二布局位置,并且可以覆盖整个预设观看区域,其中第二预设朝向误差可以设置为30度。(6)在第二摄像头为黑白摄像头时,每个第二布局位置的中心处设置照明红外光源,以便进行补光照明。

示例性地,每个第二布局位置处可以设置至少一个第二摄像头组,每个第二摄像头组包括至少两层第二摄像头,且每层第二摄像头为景深相同的多个第二摄像头,不同层中的第二摄像头的景深不同。如图8所示,当用户距离第二摄像头1米至5米的检测范围,第二摄像头可以使用低分辨率(640×480)高速(大于90帧每秒)的黑白摄像头,且每个第二摄像头的第二视角为30度时,每个第二摄像头组中可以包括三种不同焦距的第二摄像头来保证对不同距离下的用户均能清晰成像,并且使用6个摄像头并列排放的方式使得水平方向的覆盖范围最大可以达到150度。

本实施例可以基于第二摄像头420的布局要求和预设观看区域对第二摄像头进行布局。具体地,在预设观看区域内的每个第二布局位置处设置有至少一个第二摄像头,各第二摄像头对应的总检测区域为所述预设观看区域,也就是说,各个第二摄像头的总拍摄范围可以覆盖预设观看区域。示例性地,当预设观看区域为圆形内区域时,可以在预设观看区域对应的圆形上分布各个第二布局位置,并且每个第二布局位置处设置有至少一个第二摄像头,以及每个第二摄像头的拍摄方向均朝向圆形的中心位置。其中,每相邻两个第二布局位置之间的距离可以相等,即各个第二布局位置均匀分布在预设观看区域对应的封闭形状上;也可以在预设允许误差范围内。例如,图16给出了一种在预设观看区域为圆形内区域时第二摄像头的布局示例。如图16所示,圆形上均匀分布12个第二布局位置,若每个第二摄像头组按照图8方式布局,则第二布局位置在水平方向上可以设置18个第二摄像头,即每个第二摄像头组包括18个第二摄像头,以保证每个第二布局位置在水平方向上的拍摄角度可以为150度,此时需要的第二摄像头总数为:12×18=216个。本实施例为了提高竖直方向上的覆盖角度范围,还可以在每个第二布局位置处叠加设置至少两个第二摄像头组,以便可以追踪用户低头和仰头观看时的情况,此时每个第二布局位置处应至少设置12×18×2=432个第二摄像头,从而可以使得用户头部每转动30度便有一个最佳的目标第二摄像头拍摄该用户的正面脸部图像,从而可以减少遮挡现象以及提高追踪精度。这种第二摄像头的布局方式可以称为圆形向内型。

示例性地,当预设观看区域为圆形外区域时,可以在预设观看区域对应的封闭形状上分布各个第二布局位置,并且每个第二布局位置处设置有至少一个第二摄像头,以及每个第二摄像头的拍摄方向均背离圆形的中心位置。其中,每相邻两个第二布局位置之间的距离可以相等,即各个第二布局位置均匀分布在预设观看区域对应的封闭形状上;也可以在预设允许误差范围内。例如,图17给出了一种在预设观看区域为圆形外区域时第二摄像头的布局示例。如图17所示,圆形上均匀分布12个第二布局位置1-12,每个第二布局位置在水平方向上设置18个第二摄像头,以保证每个第二布局位置在水平方向上的拍摄角度可以为150度。

示例性地,当预设观看区域为直线单侧观看区域时,比如在电影院中的观看区域时,可以在直线单侧观看区域的直线上分布各个第二布局位置,并且每个第二布局位置处设置有至少一个第二摄像头,以及每个第二摄像头的拍摄方向均朝向直线单侧观看区域拍摄。其中,每相邻两个第二布局位置之间的距离可以相等,即各个第二布局位置均匀分布在直线单侧观看区域的直线上;也可以在预设允许误差范围内。例如,图18给出了一种在预设观看区域为直线单侧观看区域时第二摄像头的布局示例。如图18所示,直线上均匀分布3个第二布局位置,若每个第二布局位置按照图8方式布局,则设置18个第二摄像头,以保证每个第二布局位置在水平方向上的拍摄角度可以为150度,并且这三个第二布局位置对应的拍摄方向可以为一个扇形,以便覆盖第二布局位置在水平方向上整个直线单侧观看区域,这种第二摄像头的布局方式可以称为平面型。

本实施例中人眼追踪系统的工作过程为:人眼追踪装置430调用第一摄像头410,使得第一摄像头410采集预设观看区域中的用户图像,并将采集的用户图像传输至人眼追踪装置430,人眼追踪装置430根据用户图像确定预设观看区域中每个用户对应的三维头部方位信息,并根据三维头部方位信息,从多个第二摄像头中确定第一预设数量的目标第二摄像头,并调用每个目标第二摄像头,使得每个目标第二摄像头可以采集用户的脸部图像,并将采集的脸部图像传输至人眼追踪装置430,人眼追踪装置430根据每个脸部图像确定用户的二维双眼瞳孔方位信息,以及根据至少两个二维双眼瞳孔方位信息确定用户的三维双眼瞳孔方位信息,从而可以实现用户双眼瞳孔的高速追踪,同时提高了计算精度。

本实施例提供的人眼追踪系统,通过利用第一摄像头和第二摄像头分别实现头部识别和人眼高速追踪,并利用人眼追踪装置430对第二摄像头进行调度和管理,从而可以实现用户双眼瞳孔的高速追踪,同时提高了计算精度。

在上述技术方案的基础上,可以将人眼追踪装置430集成在一台服务器上来实现本发明任意实施例所提供的人眼追踪方法,也可以利用第一客户端、多个第二客户端和中心服务器来实现本发明任意实施例所提供的人眼追踪方法。图19给出了本实施例提供的另一种人眼追踪系统的结构示意图,如图19所示,该系统包括:第一摄像头410、多个第二摄像头420、第一客户端440、多个第二客户端450和中心服务器460。

其中,第一摄像头410,与第一客户端440连接,用于采集预设观看区域中的用户图像,并将用户图像发送至第一客户端440;第一客户端440,与中心服务器460连接,用于根据第一客户端440发送的用户图像确定预设观看区域中每个用户对应的三维头部方位信息,并将三维头部方位信息发送至中心服务器460;每个第二摄像头420分别与相对应的一个第二客户端450相连接,用于采集用户的脸部图像,并将脸部图像发送至相应的第二客户端450;第二客户端450,与中心服务器460连接,用于根据每个脸部图像确定用户的二维双眼瞳孔方位信息,并将二维双眼瞳孔方位信息发送至中心服务器460;中心服务器460,用于根据第一客户端440发送的三维头部方位信息,从多个第二摄像头中确定第一预设数量的目标第二摄像头,并调用与每个目标第二摄像头连接的第二客户端,获得调用的每个第二客户端发送的二维双眼瞳孔方位信息,根据至少两个二维双眼瞳孔方位信息确定用户的三维双眼瞳孔方位信息。

需要说明的是,第一客户端可以为但不限于性能高的PC(Personal Computer,个人计算机)。第二客户端可以为但不限于嵌入式计算机,以提高响度速度。本本实施例中第一摄像头410的数量可以为一个,也可以为多个,以提高头部追踪范围,并提高头部追踪精度。当存在多个第一摄像头410时,每个第一摄像头410均与第一客户端440相连接,以使第一客户端440对各个第一摄像头410采集的用户图像进行图像处理,更加准确地确定预设观看区域中每个用户的三维头部方位信息。

具体地,图19中提供的人眼追踪系统的工作过程为:第一客户端440调用第一摄像头410,使得第一摄像头410采集预设观看区域中的用户图像,并将用户图像发送至第一客户端440;第一客户端440根据第一客户端440发送的用户图像确定预设观看区域中每个用户对应的三维头部方位信息,并将三维头部方位信息发送至中心服务器460;中心服务器460,用于根据第一客户端440发送的三维头部方位信息,从多个第二摄像头420中确定第一预设数量的目标第二摄像头,并调用与每个目标第二摄像头连接的第二客户端;与每个目标第二摄像头连接的第二客户端450调用相应的目标第二摄像头,使得每个目标第二摄像头采集用户的脸部图像,并将脸部图像发送至相应的第二客户端450;第二客户端450根据接收的每个脸部图像确定用户的二维双眼瞳孔方位信息,并将二维双眼瞳孔方位信息发送至中心服务器460;中心服务器460根据至少两个二维双眼瞳孔方位信息确定用户的三维双眼瞳孔方位信息。中心服务器460还可以与3D显示屏驱动相连接,以便将用户的三维双眼瞳孔方位信息输入至3D显示屏驱动中,使得3D显示屏可以根据三维双眼瞳孔方位信息确定相应的显示数据,从而用户可以观看到相应地三维画面。本实施例通过利用第一客户端、第二客户端和中心服务器分别负责处理人眼追踪过程中的三个环节,即第一客户端负责对用户图像进行处理,第二客户端负责对脸部图像进行处理,中心服务器负责对第二摄像头的匹配和调度,并计算出用户的三维双眼瞳孔方位信息,使得系统运行速度更快,处理效率更高,从而进一步提高了人眼追踪速度。

实施例五

图20是本发明实施例五提供的一种设备的结构示意图。参见图20,该设备包括:

一个或多个处理器510;

存储器520,用于存储一个或多个程序;

输入装置530,用于采集图像;

输出装置540,用于显示屏幕信息;

当一个或多个程序被一个或多个处理器510执行,使得一个或多个处理器510实现如上述实施例中任意实施例提出的人眼追踪方法。

图20中以一个处理器510为例;设备中的处理器510、存储器520、输入装置530和输出装置540可以通过总线或其他方式连接,图20中以通过总线连接为例。

存储器520作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的人眼追踪方法对应的程序指令/模块(例如,人眼追踪装置中的三维头部方位信息确定模块310、目标第二摄像头确定模块320、二维双眼瞳孔方位信息确定模块330和三维双眼瞳孔方位信息确定模块340)。处理器510通过运行存储在存储器520中的软件程序、指令以及模块,从而执行设备的各种功能应用以及数据处理,即实现上述的人眼追踪方法。

存储器520主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据设备的使用所创建的数据等。此外,存储器520可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器520可进一步包括相对于处理器510远程设置的存储器,这些远程存储器可以通过网络连接至设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

输入装置530可包括摄像头等采集设备,用于采集用户图像和脸部图像,并将采集的脸部图像和脸部图像输入到处理器510进行数据处理。

输出装置540可包括显示屏等显示设备,用于显示屏幕信息。

本实施例提出的设备与上述实施例提出的人眼追踪方法属于同一发明构思,未在本实施例中详尽描述的技术细节可参见上述实施例,并且本实施例具备执行人眼追踪方法相同的有益效果。

实施例六

本实施例提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明任意实施例所以提供的人眼追踪方法。

本发明实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是但不限于:电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。

计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。

计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。

可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,程序设计语言包括面向对象的程序设计语言,诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。

本领域普通技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个计算装置上,或者分布在多个计算装置所组成的网络上,可选地,他们可以用计算机装置可执行的程序代码来实现,从而可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件的结合。

注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

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