视点确定方法、装置、电子设备和计算机程序产品与流程

文档序号:11635005阅读:234来源:国知局
视点确定方法、装置、电子设备和计算机程序产品与流程

本发明涉及眼球技术领域,具体涉及一种视点确定方法、装置、电子设备和计算机程序产品。



背景技术:

当前眼动控制是一项比较前沿的技术,用户不再需要鼠标,方向键、触摸板等设备对光标进行控制,而是通过直接对眼球进行追踪,追踪到眼球看向哪里光标就在哪里,实现对光标的移动控制,从而在很大程度上提升了操作效率。

眼动控制基于用户眼球视点的确定,现有视点确定技术需进行繁冗的校准工作,用户必须坐在一个相对比较固定的位置,且视线的高矮也需要进入一个特定的范围内,然后眼球依次注视屏幕上的多个校准点,完成校准后才可进行用户眼球视点位置的确定,如果用户与系统设备间的相对位置发生了变化,则需要重新校准,才能再次进行视点位置的确定,因此,在用户视点确定过程中,为避免多次的繁冗校准,用户眼球的空间位置需保持尽量不变,影响客户用户体验。



技术实现要素:

本发明实施例提出了视点确定方法、装置、电子设备和计算机程序产品,主要用以提高视点确定过程的便利化程度,从而减少视点确定过程中用户的被动参与。

在一个方面,本发明实施例提供了一种视点确定方法,包括以下步骤:

获取用户眼球在红外摄像头的图像传感器的成像位置以及用户眼球的转动角度;

确定用户眼球与红外摄像头的镜头的距离;

根据所述成像位置以及所述距离确定用户眼球的位置;

根据所述用户眼球的位置以及所述转动角度确定眼球的视点位置。

在另一个方面,本发明实施例提供了一种视点确定装置,包括:

获取模块,用于获取用户眼球在红外摄像头的图像传感器的成像位置以及用户眼球的转动角度;

视点位置确定模块,用于确定用户眼球与红外摄像头的镜头的距离,根据所述成像位置以及所述距离确定用户眼球的基准位置,根据所述基准位置以及所述转动角度确定眼球的视点位置。

在另一个方面,本发明实施例提供了一种电子设备,所述电子设备包括:红外摄像头,存储器,一个或多个处理器;以及一个或多个模块,所述一个或多个模块被存储在所述存储器中,并被配置成由所述一个或多个处理器执行,所述一个或多个模块包括用于执行任一上述方法中各个步骤的指令。在另一个方面,本发明实施例提供了一种与包括摄像头的电子设备结合使用的计算机程序产品,所述计算机程序产品包括计算机可读的存储介质和内嵌于其中的计算机程序机制,所述计算机程序机制包括用于执行任一上述方法中各个步骤的指令。

本发明的有益效果如下:

本发明实施例所提供的技术方案通过红外摄像头拍摄用户眼球,从中获取用户眼球在红外摄像头的图像传感器的成像位置以及用户眼球与红外摄像头的镜头的距离,从而确定用户眼球的位置,并结合用户眼球的转动角度确定眼球的视点位置,视点确定过程中无需进行多点校正,可直接根据红外摄像头的拍摄确定用户视点位置,减少了用户的被动参与,缩短了系统确定用户视点的操作执行时间,使视点确定过程更为简单高效,用户体验更好。

附图说明

下面将参照附图描述本发明的具体实施例,其中:

图1为本发明实施例中提供的一种视点确定方法的步骤流程图,;

图2为本发明实施例中提供的一种视点确定装置的结构示意图;

图3为本发明实施例中用户眼球视点确定过程的示意图;

图4为本发明实施例中提供的一种电子设备示意图。

具体实施方式

为了使本发明的技术方案及优点更加清楚明白,以下结合附图对本发明的示例性实施例进行进一步详细的说明,显然,所描述的实施例仅是本发明的一部分实施例,而不是所有实施例的穷举。并且在不冲突的情况下,本说明中的实施例及实施例中的特征可以互相结合。

发明人在发明过程中注意到:现有眼动控制技术进行眼动控制前,需对用户视点位置进行确定,而此过程中可能需要用户配合系统设备进行多次多点校准,才能确保所确定的用户视点位置的准确性,并且用户需保持与系统设备间的相对位置尽量固定,如果相对位置发生变化,就需要用户重新配合系统设备再次进行多次多点校准,因此,现有用户视点确定过程复杂,耗时较长,且用户体验差。

针对上述不足,本发明实施例提出了一种视点确定方法,下面进行说明。

图1为本发明实施例中提供的一种视点确定方法的步骤流程图,如图1所示,包括以下步骤:

s101:获取用户眼球在红外摄像头的图像传感器的成像位置以及用户眼球的转动角度;

s102:确定用户眼球与红外摄像头的镜头的距离;

s103:根据所述成像位置以及所述距离确定用户眼球的位置;

s104:根据所述用户眼球的位置以及所述转动角度确定眼球的视点位置。

在一些实施方式中,通过红外摄像头捕获用户眼球的图像,通过分析该用户眼球的图像可获知用户眼球的转动角度,以及根据图像中眼球的大小确定用户眼球与红外摄像头的镜头的距离,当然,该距离也可根据其他测量工具测量确定,如红外激光测距器,af测距器,或者类似realsense的三维模型测距器等等。通过获取用户眼球在红外摄像头的图像传感器的成像位置,并结合上述确定的用户眼球与红外摄像头的镜头的距离确定用户眼球的位置,而根据确定的用户眼球的位置以及用户眼球的转动角度可获知用户眼球视线,进而可获知用户眼球视线与用户所视屏幕平面相交的用户视点位置。由此可见,本发明实施例中提供的视点确定方法无需用户在视点确定过程中配合系统设备进行多次多点的校准,可直接根据红外摄像头的拍摄确定用户视点位置,减少了用户的被动参与,缩短了系统确定用户视点的操作执行时间,使视点确定过程更为简单高效,用户体验更好。

在一些实施方式中,确定用户眼球与红外摄像头的镜头的距离可以为用户两眼球的中心位置到镜头的距离,用户眼球成像位置为用户两眼球在图像传感器中成像的中心位置;或者为用户任意一只眼球到镜头的距离,用户眼球成像位置为用户该只眼球在图像传感器中成像。

在一些实施方式中,获取用户眼球在红外摄像头的图像传感器的成像位置以及用户眼球的转动角度和确定用户眼球与红外摄像头的镜头的距离可同时进行,也可按照一定顺序设定进行先后操作。

具体实施中。根据所述用户眼球的位置以及所述转动角度确定眼球的视点位置,可以包括:根据所述用户眼球的位置确定基准位置,所述基准位置为位于屏幕上,且与所述用户眼球的位置的连线与用户眼球所注视的屏幕相垂直的位置点;根据所述基准位置以及所述转动角度确定眼球的视点位置。

在一些实施方式中,根据所述用户眼球的位置以及所述转动角度实现确定眼球的视点位置,可通过确定的用户眼球的位置以及用户眼球的转动角度可获知用户眼球视线,确定的用户眼球视线与用户所视屏幕平面相交的交点,即为用户视点位置;也可通过根据用户眼球的位置确定用户眼球的位置的连线与用户眼球所注视的屏幕相垂直的基准位置,根据所述基准位置以及所述转动角度确定眼球的视点位置。

具体实施中,根据所述用户眼球的位置确定基准位置,可以包括:在所述图像传感器中建立二维坐标空间,所述图像传感器的中心点为所述坐标空间的x轴和y轴的相交原点;获取用户眼球在红外摄像头的图像传感器的成像位置的坐标,根据如下公式确定用户眼球入射光线与所述图像传感器夹角β,x轴和y轴的相交原点到基准位置的距离l2,以及基准位置的坐标:

β=arctan(f/b);

l2=l1*cosβ;

基准位置的坐标为(-l2*cosα,l2*sinα);

其中,f为所述红外摄像头焦距,b为所述成像位置与所述原点的距离,l1为用户眼球与红外摄像头的镜头的距离,α为所述成像位置与x轴的夹角。

在一些实施方式中,在本发明实施例中提供的视点确定方法中,由于红外摄像头与用户所视频幕两者相对位置固定,且所视屏幕的分辨率已知,在图像传感器中建立二维坐标空间后,由于两者在同一二维坐标空间中,则可知所视频幕上的每个像素点的坐标位置,从而可确定用户视点位置坐标,以便后续眼动控制实现。

具体实施中,根据所述基准位置以及所述转动角度确定眼球的视点位置,包括:根据所述基准位置以及所述转动角度的水平方向角度分量j与竖直方向角度分量k,确定眼球的视点位置坐标为(-l1*cos(arctan(f/b))*cosα+l1*sin(arctan(f/b))*tan(j),l1*cos(arctan(f/b))*sinα+l1*sin(arctan(f/b))*tan(k))。

在一些实施方式中,本发明提供的视点确定方法中,红外摄像头捕获用户眼球图像,可获取用于用户眼球的转动角度,通过拆分眼球的转动角度的水平方向角度分量j与竖直方向角度分量k,并结合基准位置,在其x轴和y轴方向进行移动,获取对应的用户眼球视点位置坐标。

具体实施中,根据所述用户眼球的位置以及所述转动角度确定眼球的视点位置,包括:在所述用户眼球在红外摄像头的图像传感器的成像位置的变化量大于第一阈值,和/或用户眼球在红外摄像头的图像传感器的成像大小的变化量大于第二阈值时,根据变化后的用户眼球在红外摄像头的图像传感器的成像位置以及变化后的用户眼球与红外摄像头的镜头的距离确定用户眼球的位置;在所述用户眼球在红外摄像头的图像传感器的成像位置的变化量小于等于第一阈值,和用户眼球在红外摄像头的图像传感器的成像大小的变化量小于等于第二阈值时,根据所述成像位置以及所述距离确定用户眼球的位置。

在一些实施方式中,用户视点的确定是可实时进行,用户进行眼动控制时,眼动控制的视点可能是连续的多点的控制操作,并且用户的眼球与所视屏幕的相对位置可能由于用户的走动或头部转动而进行变化,这种变化可能是用户主观进行动作而产生的变化,也可能是用户无意识的或者轻微动作而产生的变化,对于可能由于用户主观进行动作而产生的变化,本发明提供的视点确定方法可检测用户的眼球成像在所述图像传感器的位置变化和/或所述用户的眼球成像在所述图像传感器的大小变化,在检测用户的眼球成像在所述图像传感器的位置变化量大于第一阈值,和/或所述用户的眼球成像在所述图像传感器的大小变化量大于第二阈值时,根据变化后的用户眼球与所述镜头的距离以及眼球成像重新确定基准位置,进而根据重新确定的准位置以及变化后的眼球转动角度确定眼球视点位置,或者在检测到用户的眼球成像在所述图像传感器的位置变化量小于等于第一阈值,和所述用户的眼球成像在所述图像传感器的大小变化量小于等于第二阈值时,既无需重新计算新的基准位置,可继续利用前续视点确定过程中计算出的基准位置,基于该基准位置以及变化后的眼球转动角度确定眼球视点位置。因此,本发明实施例中提供的视点确定方法可支持用户连续的多次对屏幕的眼动控制,并且控制过程中无需多次校正,仅需重新进行一次检查判别就可自动校准,重新确定用户的注视点的精确位置,不需要用户进行多次配合系统设备指示,缩短了视点确定时间,并且控制操作较为流畅。

此外,本发明提供的视点确定方法中设置的第一阈值与第二阈值可以是允许误差值,具体可根据具体设备规格实验得出合理的阈值,不同规格设备此阈值可能也会不同,本领域计划人员可根据具体实施环境或自身经验自由设定。

在一些实施方式中,本发明提供的视点确定方法中还可以提示用户眼球视线垂直于所视频幕以便获取基准位置。实施中,提示使用户视线垂直于屏幕可以为任意形式,如语音提示,图像提示等。

基于同一发明构思,本发明实施例中还提供了一种视点确定装置,由于这些装置解决问题的原理与视点确定方法相似,因此这些装置的实施可以参见方法的实施,重复之处不再赘述。

图2为本发明实施例中提供的一种视点确定装置的结构示意图,如图2所示,包括:

获取模块201,用于获取用户眼球在红外摄像头的图像传感器的成像位置以及用户眼球的转动角度;

视点位置确定模块202,用于确定用户眼球与红外摄像头的镜头的距离,根据所述成像位置以及所述距离确定用户眼球的基准位置,根据所述基准位置以及所述转动角度确定眼球的视点位置。

在一些实施方式中,,本发明提供的视点确定装置优选固定在与所视屏幕同一平面的位置,例如,可将本发明提供的视点确定装置设置在所视屏幕的正下方,正上方或者斜下方等,当然,也可固定在与所视屏幕非同一平面的位置。此外,本发明实施例中提供的视点确定装置除与所视屏幕分别设置安装,也可与所视屏幕设置于一体,即将视点确定置集成于所视屏幕中。

具体实施中,视点位置确定模块用于根据所述用户眼球的位置以及所述转动角度确定眼球的视点位置,包括:根据所述用户眼球的位置确定基准位置,所述基准位置为位于屏幕上,且与所述用户眼球的位置的连线与用户眼球所注视的屏幕相垂直的位置点;根据所述基准位置以及所述转动角度确定眼球的视点位置。

具体实施中,所述视点位置确定模块用于根据所述用户眼球的位置确定基准位置,包括:在所述图像传感器中建立二维坐标空间,所述图像传感器的中心点为所述坐标空间的x轴和y轴的相交原点;获取用户眼球在红外摄像头的图像传感器的成像位置的坐标,根据如下公式确定用户眼球入射光线与所述图像传感器夹角β,x轴和y轴的相交原点到基准位置的距离l2,以及基准位置的坐标:

β=arctan(f/b);

l2=l1*cosβ;

基准位置的坐标为(-l2*cosα,l2*sinα);

其中,f为所述红外摄像头焦距,b为所述成像位置与所述原点的距离,l1为用户眼球与红外摄像头的镜头的距离,α为所述成像位置与x轴的夹角。

具体实施中,视点位置确定模块用于根据所述基准位置以及所述转动角度确定眼球的视点位置,包括:根据所述基准位置以及所述转动角度的水平方向角度分量j与竖直方向角度分量k,确定眼球的视点位置坐标为(-l1*cos(arctan(f/b))*cosα+l1*sin(arctan(f/b))*tan(j),l1*cos(arctan(f/b))*sinα+l1*sin(arctan(f/b))*tan(k))。

具体实施中,视点位置确定模块用于根据所述用户眼球的位置以及所述转动角度确定眼球的视点位置,包括:在所述用户眼球在红外摄像头的图像传感器的成像位置的变化量大于第一阈值,和/或用户眼球在红外摄像头的图像传感器的成像大小的变化量大于第二阈值时,根据变化后的用户眼球在红外摄像头的图像传感器的成像位置以及变化后的用户眼球与红外摄像头的镜头的距离确定用户眼球的位置;在所述用户眼球在红外摄像头的图像传感器的成像位置的变化量小于等于第一阈值,和用户眼球在红外摄像头的图像传感器的成像大小的变化量小于等于第二阈值时,根据所述成像位置以及所述距离确定用户眼球的位置。

为了便于本发明的实施,下面以具体实例进一步说明。

本发明实施例中提供的视点确定装置可设置在所视屏幕的正下方,当然,还可设置在所述屏幕的其他位置,例如,设置视点确定装置不与所视屏幕的同一平面,或设置视点确定装置的在所视屏幕的正上方,斜下方,或者左侧等等。此外,本发明实施例中提供的视点确定装置除与所视屏幕分别设置安装,也可与所视屏幕设置于一体,即将视点确定装置集成于所视屏幕中。

根据凸透镜成像原理,用户眼球通过镜头在图像传感器上进行成像,可在图像传感器中建立x轴与y轴的二维坐标空间,由于图像传感器的横向和纵向像素点个数是已知的。例如,图像传感器为1920x1080个像素点,中心位置设置为xy轴的(0,0)位置,假设用户眼球成像为从左到右第1500个像素点,从上到下第800个像素点,则可知tanα=(800-540)/(1500-960),继而可得到α角的值,其中,α为用户眼球成像点与x轴的夹角,由于每个像素点一般为正方形结构,假设边长为a(已知数值),像素间距为0,假设人眼在图像传感器上的成像中心点与传感器中心点的直线距离为b,则可知(a*(800-540))2+(a*(1500-960))2=b2,继而可求得b,其中,b为用户眼球成像点到原点的距离。

而由于镜头到图像传感器的间距,即焦距,在对焦完成后就是已知值,可由摄像头内部实时得到,假定为f,此刻用户眼球中心位置光线入射与传感器平面的夹角假设为β,则可知tanβ=f/b,进而可求得β=arctan(f/b)。

图3本发明实施例中用户眼球视点确定过程的示意图,如图3所示,假设a为用户眼球位置,b为基准位置,c为用户视点位置,ab为用户眼球的位置与用户眼球所注视的屏幕相垂直的垂线,ao为用户眼球与所述镜头的距离,β为oa与屏幕平面(图像传感器平面)的夹角,假设测距模块到人眼距离为l1,ob长度为l2,则根据立体空间中的直角三角形aob,可得到cosβ=ob/oa,进而可得到l2=l1*cosβ,假设ab长度为l3,则l3=l1*sinβ,由于ob与x轴夹角前面得出为α,则可得到b点坐标为(-l2*cosα,l2*sinα),正负号取决于所在象限。

用户眼球注视所视屏幕c点,红外摄像头获取用户眼球注视c点时,用户眼球转动角度,将眼球的转动角度拆分为横向转动和纵向转动两个分量,分别为角j和角k,则注视点位置在x轴分量上移动到b2,在y轴分量上移动到b1,可获知bb1长度为l3*tan(k),bb2长度为l3*tan(j),则c点坐标为(-l2*cosα+l3*tan(j),l2*sinα+l3*tan(k)),带入前面的等式,可得到c点坐标为:

x=-l1*cos(arctan(f/b))*cosα+l1*sin(arctan(f/b))*tan(j);

y=l1*cos(arctan(f/b))*sinα+l1*sin(arctan(f/b))*tan(k),正负号取决于象限和眼球转动方向。此处l1为测距数值,f为镜头焦距,b和α都由人眼中心位置在传感器上的成像点位置直接得出,j和k为眼动检测系统得到的眼球转动的横向分量和纵向分量,获得c点的坐标,也就得到了人眼视点位置。

实施中,考虑到用户进行眼动控制可能是一个连续的过程,在确定用户视点位置为c点并完成控制后,用户又注视频幕中又一位置,如图3所示,假设为d点,此时判别用户眼球在红外摄像头的图像传感器的成像位置的变化量小于等于第一阈值,并且用户眼球在红外摄像头的图像传感器的成像大小的变化量小于等于第二阈值,可继续将b点作为基准位置,将用户眼球注视d点时眼球转动的角度进行拆分,获取横向分量和纵向分量,并结合基准位置b点获取用户视点d点的位置坐标。

另一种实施方式中,在确定用户视点位置为c点并完成控制后,用户又注视频幕中又一位置,如图3所示,假设为e点,此时判别用户眼球在红外摄像头的图像传感器的成像位置的变化量大于第一阈值,并且用户眼球在红外摄像头的图像传感器的成像大小的变化量大于第二阈值,则需要根据变化后的用户眼球在红外摄像头的图像传感器的成像位置以及变化后的用户眼球与红外摄像头的镜头的距离重新确定基准位置(基准位置的确定与上述实施中相同,不再赘述),进而确定用户视点e点的坐标位置。

基于同一发明构思,本发明实施例中还提供了一种电子设备,由于其原理与视点确定方法相似,因此其实施可以参见方法的实施,重复之处不再赘述。

图4为本发明实施例中提供的一种电子设备示意图,如图4所示,本发明实施例中提供的一种电子设备包括:红外摄像头403,存储器401,一个或多个处理器402;以及一个或多个模块,所述一个或多个模块被存储在所述存储器中,并被配置成由所述一个或多个处理器执行,所述一个或多个模块包括用于执行任一上述方法中各个步骤的指令。基于同一发明构思,本发明实施例中还提供了一种与包括摄像头的电子设备结合使用的计算机程序产品,由于其原理与视点确定方法相似,因此其实施可以参见方法的实施,重复之处不再赘述。

本发明实施例中提供的一种与包括摄像头的电子设备结合使用的计算机程序产品,所述计算机程序产品包括计算机可读的存储介质和内嵌于其中的计算机程序机制,所述计算机程序机制包括用于执行任一前述方法中各个步骤的指令。

本发明提供的视点确定方案避免了繁复的校准过程,也不再需要用户固定的站位或者固定的坐姿,用户可以在屏幕前很随意的使用,有较高的智能性和灵活性,并且缩短了视点确定的用时,用户体验可得到了大幅提升,可拓展出很多新的应用场景,实用性得到了极大的增强。

为了描述的方便,以上所述装置的各部分以功能分为各种模块或单元分别描述。当然,在实施本发明时可以把各模块或单元的功能在同一个或多个软件或硬件中实现。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。

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