基于人类眼球模型的空间凝视跟踪方法和装置

未命名 07-20 阅读:74 评论:0


1.本发明涉及人机交互技术领域,尤其涉及一种基于人类眼球模型的空间凝视跟踪方法和装置。


背景技术:

2.metaverse(元宇宙)作为下一代互联网的典范,正以其普遍性和沉浸式体验而受到关注,metaverse包含5g、ai、区块链、内容制作等多种元素,其核心是通过虚拟体验xr(extended reality,扩展现实)。因而,提供物理世界和虚拟世界之间的融合和互动的扩展现实(xr)有望成为通过3d显示和互动连接元空间和物理世界的分叉点。尽管xr在各个领域,如健康、工业、娱乐都很普遍,但3d显示和交互仍然是实践中的最后一公里问题。
3.3d显示和交互背后的主要问题是空间凝视跟踪,即3d显示和交互的关键使能技术,这项技术目前还远未适用。由于空间凝视是根据双眼视觉轴的辐辏来定义的,如图1(a)-1(c)所示,现有的方法通常采用近似的模型,例如将视觉轴与其他易被感知的轴(例如瞳孔轴)近似的。然而,这样一来,准确性就受到了影响。如图2所示,不同的近似值对相同的视线角度会产生不同的误差,特别是在3d显示所需的深度上,一些实验已经证明,深度感知误差甚至高达303.90厘米。
4.综上,现有的空间凝视跟踪技术存在准确度低的缺陷。


技术实现要素:

5.本发明提供一种基于人类眼球模型的空间凝视跟踪方法和装置,用以解决现有技术中空间凝视跟踪准确度低的缺陷,实现准确度更高、误差更低的空间凝视跟踪。
6.本发明提供一种基于人类眼球模型的空间凝视跟踪方法,包括:
7.获取待处理目标图像;
8.根据所述待处理目标图像生成眼部关键点检测结果和眼部区域分割结果;
9.其中,所述眼部关键点检测结果是将所述待处理目标图像输入至预先构建的眼部关键点检测模型生成的;所述眼部关键点检测模型是基于预先构建的神经网络利用预先构建的数据集进行训练得到的;眼部区域分割结果是将分类结果输入至预先构建的眼部区域分割模型生成的,所述分类结果是将所述待处理目标图像根据像素进行分类得到的;所述眼部区域分割模型是基于预先构建的神经网络利用预先构建的数据集进行训练得到的;
10.将所述眼部关键点检测结果和所述眼部区域分割结果输入至预先构建的椭圆拟合模型,以得到椭圆拟合结果;所述椭圆拟合模型是基于预先构建的神经网络利用预先构建的数据集进行训练得到的;
11.根据所述椭圆拟合结果,利用第一预设规则基于第一预设公式得到眼球的旋转中心,以确定光轴参数;
12.根据所述光轴参数,利用第二预设规则基于第二预设公式确定视轴,进而确定视线的空间位置。
13.根据本发明提供的一种基于人类眼球模型的空间凝视跟踪方法,所述眼部区域分割模型具体包括:
14.编码器,所述编码器用于学习图像的可识别特征;
15.解码器,所述解码器用于将编码器的特征映射到高分辨率的像素空间,以获得密集的分类。
16.根据本发明提供的一种基于人类眼球模型的空间凝视跟踪方法,基于预先构建的神经网络利用预先构建的数据集训练得到眼部关键点检测模型,之后还包括:
17.利用第三预设公式计算第一损失;
18.所述第三预设公式包括:
[0019][0020]
其中,loss
lm
表示第一损失函数,x
max
表示眼部关键点检测结果横坐标的最大值,y
max
表示眼部关键点检测结果纵坐标的最大值,x
min
表示眼部关键点检测结果横坐标的最小值,y
min
表示眼部关键点检测结果纵坐标的最小值,o1表示预测值和地面实况值之间的差异。
[0021]
根据本发明提供的一种基于人类眼球模型的空间凝视跟踪方法,基于预先构建的神经网络利用预先构建的数据集训练得到眼部区域分割模型,之后还包括:
[0022]
利用第四预设公式对输出概率分布向量中的每个值进行权重计算;
[0023]
利用第五预设公式计算第二损失;
[0024]
所述第四预设公式包括:
[0025][0026]
其中,表示像素o2的权重,di表示从像素到第i个近边界的欧氏距离,σ表示正态分布标准差;
[0027]
所述第五预设公式包括:
[0028][0029]
其中,loss
seg
表示第二损失函数,o
predicted
是像素o2的预测标签,o
goundtruth
是像素o2的地面实况标签,是像素o2的权重。
[0030]
根据本发明提供的一种基于人类眼球模型的空间凝视跟踪方法,将所述眼部关键点检测结果和所述眼部区域分割结果输入至预先构建的椭圆拟合模型,以得到椭圆拟合结果,具体包括:
[0031]
利用眼部关键点检测结果和眼部区域分割结果作为约束条件拟合虹膜和瞳孔的椭圆,以得到目标参数xc,yc,ac,bc,θc;
[0032]
利用所述目标参数,基于所述椭圆拟合模型生成xc,yc,ac,bc,θc的虹膜和瞳孔椭圆;
[0033]
其中,xc是中心坐标的横坐标,yc是中心坐标的纵坐标,ac是半主轴的长度,bc是半次轴的长度,θc是旋转角。
[0034]
根据本发明提供的一种基于人类眼球模型的空间凝视跟踪方法,基于预先构建的神经网络利用预先构建的数据集训练得到椭圆拟合模型,之后还包括:
[0035]
利用第六预设公式计算第三损失;
[0036]
利用第七预设公式计算总损失;
[0037]
所述第六预设公式包括:
[0038][0039]
其中,loss
fit
表示第三损失函数,o3表示地面实况值,表示预测值;
[0040]
所述第七预设公式包括:
[0041]
l
loss
=α
lm
loss
lm

seg
loss
seg

fit
loss
fit
[0042]
其中,loss
lm
表示第一损失函数,loss
seg
表示第二损失函数,loss
fit
表示第三损失函数,α
lm
表示第一损失函数权重,β
seg
表示第二损失函数权重,γ
fit
表示第三损失函数权重。
[0043]
根据本发明提供的一种基于人类眼球模型的空间凝视跟踪方法,根据所述椭圆拟合结果,利用第一预设规则基于第一预设公式得到眼球的旋转中心,以确定光轴参数,具体包括:
[0044]
利用椭圆拟合得到的目标参数和摄像机的有效焦距确定瞳孔和虹膜在三维空间中的方向,以得到第一预设公式;
[0045]
利用第一预设公式进行计算,建立眼球的旋转中心,连接瞳孔的中心和眼球的旋转中心得到光轴;
[0046]
所述第一预设公式包括:
[0047]
lx+my+nz=0
[0048]
其中l2+m2+n2=1,x,y,z为瞳孔和虹膜所在平面的坐标。
[0049]
根据本发明提供的一种基于人类眼球模型的空间凝视跟踪方法,所述第二预设公式包括:
[0050]
v=mo
[0051]
其中,o表示沿光轴的单位向量,v表示沿视轴的单位向量,m表示转换向量;
[0052][0053]
其中,c表示眼睛旋转中心之间的距离,αd表示第一中间变量,βd表示第二中间变量,d表示用户的视线深度,a和b表示视轴;
[0054][0055]
其中,d和d共同表明用户的视线在空间中的位置,d表示用户的视线方向,d表示用户的视线深度,c表示眼睛旋转中心之间的距离,a表示旋转角度。
[0056]
本发明还提供一种基于人类眼球模型的空间凝视跟踪装置,包括:
[0057]
图像获取单元,用于获取待处理目标图像;
[0058]
图像处理单元,用于根据所述待处理目标图像生成眼部关键点检测结果和眼部区
域分割结果;
[0059]
其中,所述眼部关键点检测结果是将所述待处理目标图像输入至预先构建的眼部关键点检测模型生成的;所述眼部关键点检测模型是基于预先构建的神经网络利用预先构建的数据集进行训练得到的;眼部区域分割结果是将分类结果输入至预先构建的眼部区域分割模型生成的,所述分类结果是将所述待处理目标图像根据像素进行分类得到的;所述眼部区域分割模型是基于预先构建的神经网络利用预先构建的数据集进行训练得到的;
[0060]
椭圆拟合单元,用于将所述眼部关键点检测结果和所述眼部区域分割结果输入至预先构建的椭圆拟合模型,以得到椭圆拟合结果;所述椭圆拟合模型是基于预先构建的神经网络利用预先构建的数据集进行训练得到的;
[0061]
第一计算单元,用于根据所述椭圆拟合结果,利用第一预设规则基于第一预设公式得到眼球的旋转中心,以确定光轴参数;
[0062]
第二计算单元,用于根据所述光轴参数,利用第二预设规则基于第二预设公式确定视轴,进而确定视线的空间位置。
[0063]
本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述基于人类眼球模型的空间凝视跟踪方法。
[0064]
本发明提供的一种基于人类眼球模型的空间凝视跟踪方法和装置,通过获取待处理目标图像;根据所述待处理目标图像生成眼部关键点检测结果和眼部区域分割结果;其中,所述眼部关键点检测结果是将所述待处理目标图像输入至预先构建的眼部关键点检测模型生成的;所述眼部关键点检测模型是基于预先构建的神经网络利用预先构建的数据集进行训练得到的;眼部区域分割结果是将分类结果输入至预先构建的眼部区域分割模型生成的,所述分类结果是将所述待处理目标图像根据像素进行分类得到的;所述眼部区域分割模型是基于预先构建的神经网络利用预先构建的数据集进行训练得到的;将所述眼部关键点检测结果和所述眼部区域分割结果输入至预先构建的椭圆拟合模型,以得到椭圆拟合结果;所述椭圆拟合模型是基于预先构建的神经网络利用预先构建的数据集进行训练得到的;根据所述椭圆拟合结果,利用第一预设规则基于第一预设公式得到眼球的旋转中心,以确定光轴参数;根据所述光轴参数,利用第二预设规则基于第二预设公式确定视轴,进而确定视线的空间位置。本发明在新的视轴模型的基础上通过眼部关键点检测、眼部区域分割、椭圆拟合、光轴计算四个步骤得到视轴,进而确定视线的空间位置,实现了准确度更高、误差更低、成本更低、更为轻便的空间凝视跟踪。
附图说明
[0065]
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0066]
图1是本发明提供的基于人类眼球模型的空间凝视跟踪方法的凝视跟踪的不同视觉模型,其中,图1(a)-1(c)是现有技术中凝视跟踪的视觉模型,图1(d)是本发明提供的凝视跟踪的视觉模型;
[0067]
图2是本发明提供的基于人类眼球模型的空间凝视跟踪方法的聚散度差异示意图;
[0068]
图3是现有技术中3d显示与3d交互调整显示焦点的示意图;
[0069]
图4是本发明提供的基于人类眼球模型的空间凝视跟踪方法的视差现象的用户研究;
[0070]
图5是本发明提供的基于人类眼球模型的空间凝视跟踪方法的流程示意图;
[0071]
图6是本发明提供的基于人类眼球模型的空间凝视跟踪方法一个实施例的眼部关键点检测模型的网络结构示意图6(a)及卷积架构示意图6(b);
[0072]
图7是本发明提供的基于人类眼球模型的空间凝视跟踪方法一个实施例的像素分类示意图7(a)、眼部区域分割模型网络结构示意图7(b)和上采样卷积架构示意图7(c);
[0073]
图8是本发明提供的基于人类眼球模型的空间凝视跟踪方法一个实施例的椭圆拟合模型网络结构示意图;
[0074]
图9是本发明提供的基于人类眼球模型的空间凝视跟踪方法一个实施例的眼球旋转中心示意图;
[0075]
图10是本发明提供的基于人类眼球模型的空间凝视跟踪方法一个实施例的三维和二维瞳孔关系示意图;
[0076]
图11是本发明提供的基于人类眼球模型的空间凝视跟踪方法一个实施例的空间凝视计算示意图;
[0077]
图12是本发明提供的基于人类眼球模型的空间凝视跟踪装置的结构示意图;
[0078]
图13是本发明提供的电子设备的结构示意图。
[0079]
附图标记:
[0080]
1210:图像获取单元;1220:图像处理单元;1230:椭圆拟合单元;1240:第一计算单元;1250:第二计算单元;
[0081]
1310:处理器;1320:通信接口;1330:存储器;1340:通信总线。
具体实施方式
[0082]
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0083]
空间凝视跟踪可以捕捉到用户的视觉注意力,并提供关于视觉方向和深度的信息。这种信息在三维显示和交互中起着不可或缺的作用。具体来说,真正的3d显示需要随着用户的注意力自适应地调整显示焦点,如图3(a)所示。如果没有空间凝视信息,xr设备就必须使用固定焦距的显示器来模拟差异和视差,造成辐辏冲突,进而引起用户的疲劳或眩晕。同样,在3d交互中,当空间凝视跟踪缺失时,用户与虚拟物体的交互将会被限制在一个2d平面内。此外,不充分的空间凝视跟踪会降低三维交互的效果。例如,xr中的虚拟凝视指针支持方向性的空间互动。如果空间凝视信息是单眼的或不准确的,那么使用这种指针与虚拟物体的互动就很容易出现遮挡问题或误操作,如图3(b)所示。
[0084]
空间凝视跟踪比研究透彻的平面注视跟踪问题要困难得多。平面注视跟踪在眼球
运动和目标平面的坐标系之间建立了一个联系。它需要存在一个已知的平面(通常是显示平面),这使得它无法提供三维空间中的深度信息。空间凝视跟踪利用两只眼睛的视差来确定空间中的凝视,而不依赖于任何先验假设。与平面注视跟踪相比,空间凝视跟踪同时获得了用户视觉注意力的方向和深度信息,这在现实中是很难获得的。
[0085]
空间凝视跟踪的一般程序需要用相机捕捉用户的眼睛图像,分析眼睛图像,并推断出代表用户视线的视觉轴。通过一个轴,单眼视觉可以近似地确定用户的注视方向。相比之下,双眼视觉可以利用双眼轴的辐辏作用,对目光的方向和深度进行具体确定。视觉模型是整个程序的一个重要方面。
[0086]
由于空间凝视是根据双眼视觉轴的辐辏来定义的,现有的方法通常采用近似的模型。图1(a)~1(c)展示了大多数作品所使用的三种近似的视觉模型。所有模型都由眼睛的两个重要轴线组成,即光轴和视轴。光轴通过角膜的前顶点(a)和旋转中心(c)。同时,现有的模型对代表视力的视轴有不同的近似方法。图1(a)中的模型将连接物体(o)和眼球旋转中心的线条(c)作为视觉轴,我们称之为中心轴。它与光轴的角度为η。在图1(b)中,视轴近似为一条垂直于角膜(p)并通过瞳孔中心的线(e),这条线就是瞳孔轴,它与实际的视轴形成一个κ的角度。我们把它与光轴之间的角度记为γ。在图1(c)中,连接物体(o)和瞳孔中心(e)的视线也被视为图中视轴的近似值,它与光轴形成一个角度ω。
[0087]
然而,这些视觉模型并不能准确描绘出人类的视觉。如图2所示,不同的近似值对相同的视线角度会产生不同的误差,特别是在3d显示所需的深度上。
[0088]
为了证实这些视觉模型并不能准确描绘出人类的视觉,设置了如下实验,通过测量左眼来说明(右眼是对称的)。实验装置如图4(a)所示
[0089]
1、设置步骤:将一台连接到笔记本电脑的显示器放置在桌子后面。显示器上的帧被分为两部分;左边的部分显示黑色,而右边的部分显示红色。两部分的分割线最初定位在显示器中间,可以用无线连接到笔记本电脑的键盘来控制。按下左或右箭头键,分割线将向左或向右移动一个像素。在志愿者的眼睛前面放置一个障碍物,在障碍物前放置一个头部支架,以固定志愿者的头部并阻挡右眼,这样,当志愿者直视前方时,志愿者会用左眼看到显示器的中心。此外,在桌子的左侧放置了一个中间有红叉的目标,以引导志愿者的视线。
[0090]
2、实验过程:有六名志愿者(23~27岁)参与。实验开始时,让志愿者坐在桌前,将志愿者的头固定在支架上,这样当志愿者直视前方时,她/他的视线会被部分阻挡。她/他盯着屏幕的精确中心。然后志愿者转动眼睛盯着目标,而固定器仍然固定着她/他的头。志愿者现在会注意到显示器上出现了最初被遮挡的一部分红框。我们让志愿者用键盘操纵两个部分的分割,使她/他完全看不到红色部分。将分割线的移动距离记录下来。
[0091]
3、实验结果:这种实验现象是由视差引起的。图4(b)说明了为什么志愿者在保持头部固定位置和单纯转动眼睛时可以感知到红框的额外部分。由于眼球的结构,人眼会对入射光线产生折射。与照相机镜头一样,人眼也有三对心形点。前/后焦点、前/后主点和前/后结点。在这里,重点讨论前结点,也被称为摄影中的无视差点。这个点的特点是,当眼睛/相机围绕它旋转时,成像中的视差不会发生。这主要是由于前后结点的光学特性:任何进入前结点的光线将以相同的角度从后结点出去。焦点是人类视觉系统中视网膜上视觉最敏锐的一个区域。它也是视觉成像的中心区域,它与视网膜的中心不一致。因此,从注视点进入眼睛的光线会从后方的结点出去,到达眼窝处。
[0092]
实验现象显示,前结点位于眼球中旋转中心的前面。为了进一步确定其位置,计算前结点和旋转中心之间的距离nc。它可以通过解决两个类似的三角形而得到,如图4(b)所示:
[0093][0094]
其中,d
nc
表示分割线移动距离,nc表示前结点和旋转中心之间的距离,θ
nc
表示眼睛旋转角度,l2表示眼睛到显示器距离,l1表示眼睛到遮挡物距离。
[0095]
然后nc可以被计算为:
[0096][0097]
其中,d
nc
表示分割线移动距离,nc表示前结点和旋转中心之间的距离,θ
nc
表示眼睛旋转角度,l2表示眼睛到显示器距离,l1表示眼睛到遮挡物距离。
[0098]
图4(c)说明了测量nc距离的结果,其平均值为8.45毫米,范围为6.35毫米至9.59毫米(变化幅度为3.23毫米)。
[0099]
实验中观察到的视差现象只发生在来自物体的光线绕过障碍物并进入用户眼球的时候,也就是说,发生在当入射光线与眼球中心旋转前方的光轴相交时(如图4(b)所示)。而在目前的跟踪模型中,例如图1(b)中展示的,瞳孔轴(如)与光轴的交点是瞳孔的中心,考虑到眼球的典型尺寸,这与实验结果不能匹配。即目前的凝视跟踪模型基本上是不适用的。此外,由于瞳孔轴垂直进入角膜并通过瞳孔中心,很难保证它最终会落入眼窝。
[0100]
实际上,视轴并不是由可见点决定的射线。相反,它是由不可见的点决定的分段线组成的。如何获得与视轴有关的不可见点的信息?这成为应用新模型进行空间凝视跟踪时的新问题。
[0101]
基于此,本发明提供的一种基于人类眼球模型的空间凝视跟踪方法提出了一个新的视轴模型,如图1(d)所示。视觉轴将物体上的固定点(o)与前结点(n)连接起来,然后从后结点离开,落在凹点(f)上,这不仅解释了上述实验现象,而且有助于精确的空间凝视跟踪。如图2所示,很明显,当眼睛直视前方时,不同的模型有不同的深度知觉。此外,当眼睛不直视前方时,角度和深度知觉都有差异。同时,本发明基于新的视轴模型提供了一种空间凝视跟踪方法。
[0102]
下面结合图1-图11描述本发明的基于人类眼球模型的空间凝视跟踪方法,图5是本发明提供的基于人类眼球模型的空间凝视跟踪方法的流程示意图,如图5所示,本发明提供一种基于扩散模型的图文相关多分布采样方法,包括:
[0103]
步骤110:获取待处理目标图像。待处理目标图像是利用摄像机来获取得到的,获取的是眼睛的图像,然后将其作为输入送入后续步骤。
[0104]
步骤120:根据所述待处理目标图像生成眼部关键点检测结果和眼部区域分割结果;
[0105]
其中,所述眼部关键点检测结果是将所述待处理目标图像输入至预先构建的眼部关键点检测模型生成的;所述眼部关键点检测模型是基于预先构建的神经网络利用预先构建的数据集进行训练得到的;眼部区域分割结果是将分类结果输入至预先构建的眼部区域分割模型生成的,所述分类结果是将所述待处理目标图像根据像素进行分类得到的;所述
眼部区域分割模型是基于预先构建的神经网络利用预先构建的数据集进行训练得到的。
[0106]
具体地,在应用新的视轴模型的过程中,可能会遇到以下挑战:
[0107]
挑战1:视觉模型中的关键元素基本上是虚拟的、不可见的,无法直接捕捉。双眼视觉轴的辐辏决定了空间凝视。结点和眼球的旋转中心是定义视觉轴的关键元素,它们基本上是虚拟的和不可见的。使用视觉方法不可能直接捕获这些元素。
[0108]
挑战2:xr应用对凝视跟踪的准确性提出了很高的要求。在3d显示器的情况下,显示器的焦距必须与用户的景深(dof)相匹配,因此必须达到0.541
°
的高精度要求,这需要精确计算视觉轴。在三维交互情况下,这一要求与此类似,甚至更高,这取决于xr显示器中物体的密度。
[0109]
挑战3:设计应该是轻量级和高效的,以适应资源有限的xr设备。大多数扩展现实设备都是移动的,所以设计应尽可能轻巧,以满足计算能力和功耗。另外,设计需要高效,即低延迟,以满足3d显示和互动的实时性要求。
[0110]
为了应对上述挑战,本发明提出了一种多阶段的方法,以间接方式计算视觉轴。首先分别计算决定光轴的瞳孔和虹膜(1 2 3)。使用神经网络来确保精确的计算,同时通过优化网络结构来很好地控制网络的开销。然后通过瞳孔和虹膜的椭圆定位瞳孔中心和眼球的旋转中心来得出光轴(4)。最后,在个人校准阶段利用光轴和视觉轴之间的几何关系得出视觉轴,然后计算空间凝视(5)。
[0111]
首先进行眼部关键点检测,眼部关键点检测是椭圆拟合的准备任务。它为后续的椭圆拟合提取眼睛的地标,生成眼部关键点检测结果。眼部关键点检测结果是将眼睛图像输入至预先构建的眼部关键点检测模型生成的;眼部关键点检测模型是基于预先构建的神经网络利用预先构建的数据集进行训练得到的。
[0112]
在眼部关键点检测模型的设计过程中,考虑到卷积神经网络(cnn)在图像处理中的巨大优势,眼部关键点检测模型被设计为一个13层的cnn,其网络结构如图6(a)所示。在实际操作过程中,考虑到面向移动平台的计算,眼部关键点检测模型的设计还参考了mobilenets,并采用深度可分离卷积(depthwise separable conv block,ds conv block)而不是传统的卷积(standard conv block)来减少开销。深度可分离卷积将传统卷积分为深度卷积和点卷积,如图6(b)所示,以减少计算量。考虑到一个卷积层的输入w
×h×
n,输出wou
×
hou
×
m,卷积核大小k
×
k,深度可分卷积与传统卷积的计算比例为
[0113][0114]
眼部关键点检测主要关注的是局部特征,因此眼部关键点检测模型设计的是一个浅层网络,使感受野相对较小。同时,利用跳过连接(full onection)来串联具有不同感受野的特征图,以得出不同尺度的局部特征描述,从而提高网络性能。此外,跳过连接可以避免网络在训练开始时不收敛。特别是,将三个层串联起来,然后将其扁平化,以便通过全连接生成眼睛的地标,即眼部关键点检测结果。
[0115]
模型构建完成后,采用预先构建的数据集对眼部关键点检测模型进行训练。预先构建的数据集可以是teyed数据集,teyed数据集是现有数据集的组合和扩展,包括nvgaze、lpw、giw、else、excuse和pnet。
[0116]
在一个实施例中,将所述眼睛图像输入至训练完成的眼部关键点检测模型后,总
共产生了50个眼睛的地标,其中8个代表瞳孔,8个代表虹膜,其余的地标代表眼睑。瞳孔和虹膜地标被提供给椭圆拟合。眼睑地标用于检测眨眼和跳过眨眼框(当上下眼睑的地标靠得太近时考虑眨眼)。
[0117]
由于眼睛的地标通常被表示为一系列的坐标值,故而基于模型的预测值和实际值之间的距离来评估眼部关键点检测模型的训练损失,即第一损失。在确实损失函数时,本发明基于smooth l1损失做出调整,并将其修改为更适合评价眼部关键点检测模型的损失函数,记为第一损失函数。
[0118]
smooth l1 loss是l1-loss和l2-loss的组合。与标准的l1损失函数相比,它能更快地收敛。而与l2损失函数相比,它对异常值和外来者的敏感度明显较低,而且不容易失真,因为梯度变化大大地更小。
[0119]
具体地,考虑到眼标的密集空间分布,通过对平滑的l1损失进行归一化,使损失函数更加稳健。如第三预设公式所示,修改后的第一损失函数显示如下:
[0120][0121]
其中,loss
lm
表示第一损失函数,x
max
表示眼部关键点检测结果横坐标的最大值,y
max
表示眼部关键点检测结果纵坐标的最大值,x
min
表示眼部关键点检测结果横坐标的最小值,y
min
表示眼部关键点检测结果纵坐标的最小值,o1表示预测值和地面实况值之间的差异。
[0122]
眼部区域分割是椭圆拟合的另一项准备工作,目的是学习像素分类的特征,为椭圆拟合提供依据。具体地,首先将眼睛图像根据像素进行分类得到分类结果。在一些实施例中,将眼睛图像中的像素分为了三类:瞳孔、虹膜和其他(例如巩膜、眼睑等),如图7(a)所示。分类后得到分类结果,将分类结果输入至预先构建的眼部区域分割模型生成的眼部区域分割结果。
[0123]
眼部区域分割模型是基于预先构建的神经网络利用预先构建的数据集进行训练得到的。与眼部关键点检测不同,局部和全局信息对眼部区域分割都至关重要。对于局部信息,利用与眼部关键点检测检测相同的卷积层来保持小的感受野。对于全局信息,为了在高分辨率下提取更多的全局特征,现有技术中的许多工作提出了使用扩张卷积、密集连接或金字塔形状的块来扩大感受野的方法。然而,这种从低分辨率特征直接向上取样的方法可能会导致高分辨率特征的退化。在u-ne的启发下,本发明提出一个类似u型的编码器-解码器网络,如图7(b)所示。也就是说,眼部区域分割模型由两个主要部分组成:编码器和解码器。
[0124]
图7(b)左边的部分代表编码器,用来学习图像的可识别特征。下采样块与眼部关键点检测模型采用的深度可分离卷积块相同,如图6(b)所描述。沿着这条路径,特征图的大小减少,而通道的数量增加。
[0125]
图7(b)的右边部分为解码器,它将编码器的特征映射到高分辨率的像素空间,以获得密集的分类。这里解码器利用了图7(c)所示的块。去卷积被用于上采样(upsample conv block),而1
×
1卷积被用于调整通道数。
[0126]
眼部区域分割模型跳过连接被用来将深层特征图与相同大小的相应浅层特征图
连接起来。深层/浅层特征有其意义:网络越深,感知领域越大,网络集中于全局特征(更抽象、更本质);浅层网络更注重于局部特征(如纹理)。合并保留了更多的多维信息,允许下面的网络层在浅层和深层特征之间灵活选择,这对分割更有利。
[0127]
模型构建完成后,采用预先构建的数据集对眼部区域分割模型进行训练。预先构建的数据集可以是teyed数据集,teyed数据集是现有数据集的组合和扩展,包括nvgaze、lpw、giw、else、excuse和pnet。
[0128]
这种设计利用局部和全局特征来实现更精确的分割。需要注意的是,眼部区域分割模型在训练阶段使用解码器来学习必要的分割特征。而在实际操作过程中,只利用编码器来产生椭圆拟合的约束。
[0129]
由于分割是一个像素级的分类任务,交叉熵损失函数可以用来评估评估眼部区域分割模型的训练损失,即第二损失。交叉熵损失对每个像素的类别预测进行独立评估,然后对所有像素的损失进行平均,从而使图像中每个像素的学习效果基本相同。然而,瞳孔、虹膜和其他是不均匀分布的,这将会导致训练过程中由像素数量多的类别主导。也就是说,模型将主要学习像素数量多的类样本的特征,训练后的模型将更偏向于预测该类的像素。为了缓解图像中存在的类不平衡问题,需要对输出概率分布向量中的每个值进行权重,使模型更加关注数量较少的样本。此外,本发明认为靠近每个类别的边缘或边界的像素比其他像素更有意义。这就使权重的计算像一个正态分布,如第四预设公式所示:
[0130][0131]
其中,表示像素o2的权重,di表示从像素到第i个近边界的欧氏距离,σ表示正态分布标准差。权重可以对每幅真实图像进行离线预计算,这样就不会为网络引入额外的计算。基于此,如第五预设公式所示,第二损失函数表示为:
[0132][0133]
其中,loss
seg
表示第二损失函数,o
predicted
是像素o2的预测标签,o
goundtruth
是像素o2的地面实况标签,wo是像素o2的权重。
[0134]
步骤130:将所述眼部关键点检测结果和所述眼部区域分割结果输入至预先构建的椭圆拟合模型,以得到椭圆拟合结果;所述椭圆拟合模型是基于预先构建的神经网络利用预先构建的数据集进行训练得到的;
[0135]
具体地,在得到眼部关键点检测结果和眼部区域分割结果后,将其输入至预先构建的椭圆拟合模型,以作为约束条件来拟合虹膜和瞳孔的椭圆,得到椭圆拟合结果。
[0136]
一般的椭圆可以表示为:
[0137]
f(a,x)=a
·
x=a1x2+b1xy+c1y2+d1x+e1y+f1=0
[0138]
其中a=[a1b1c1d1e1f1]
t
,x=[x2yy2y1]。由此我们可以计算出椭圆的五个参数:xc,yc,ac,bc,θc;
[0139]
其中,xc是中心坐标的横坐标,yc是中心坐标的纵坐标,ac是半主轴的长度,bc是半次轴的长度,θc是旋转角(从正横轴到椭圆主轴的角度)。a1,b1,c1,d1,e1,f1和xc,yc,ac,bc,θc可以互相转换。
[0140]
基于此构建椭圆拟合模型来生成xc,yc,ac,bc,θc的虹膜和瞳孔椭圆。具体地,如图8
所示,图8描述了椭圆拟合模型的网络架构,将所述眼部区域分割结果包含的编码器的高维特征作为输入,以及将眼部关键点检测结果包含的眼睛的地标作为其他输入,以作为椭圆拟合增加额外的约束,使其更加准确。
[0141]
模型构建完成后,采用预先构建的数据集对椭圆拟合模型进行训练。预先构建的数据集可以是teyed数据集,teyed数据集是现有数据集的组合和扩展,包括nvgaze、lpw、giw、else、excuse和pnet。
[0142]
训练完成后,如第六预设公式所示,采用第三损失函数来评价椭圆拟合模型的训练损失(l1损失):
[0143][0144]
其中,loss
fit
表示第三损失函数,o3表示地面实况值,表示预测值。
[0145]
由于椭圆拟合模型是和眼部关键点检测模型、眼部区域分割模型一起训练的。因此,总损失是这些损失的加权总和,如第七预设公式所示:
[0146]
l
loss
=α
lm
loss
lm

seg
loss
seg

fit
loss
fit
[0147]
其中,loss
lm
表示第一损失函数,loss
seg
表示第二损失函数,loss
fit
表示第三损失函数,α
lm
表示第一损失函数权重,β
seg
表示第二损失函数权重,γ
fit
表示第三损失函数权重。
[0148]
步骤140:根据所述椭圆拟合结果,利用第一预设规则基于第一预设公式得到眼球的旋转中心,以确定光轴参数。
[0149]
具体地,在得到椭圆拟合结果后,计算光轴。第一预设规则包括:光轴连接着瞳孔的中心和眼球的旋转中心。瞳孔的中心通过椭圆拟合获得。旋转中心是眼球内的一个虚拟位置,不能直接从视觉数据中推断出来,可以根据这个虚拟位置的特点进行推断。当用户的眼睛旋转时,旋转中心将保持静止。因此,如果我们认为虹膜是一个与眼球相切的平面,这个平面的法向量将通过旋转中心。计算该平面在多个位置的法向量可以确定旋转中心。如图9所示,图9说明了上述情况。
[0150]
首先需要确定虹膜在三维空间的位置。图像坐标框架中的虹膜椭圆反映了圆形特征从虹膜的三维空间到图像的二维空间的透视投影。可以利用从椭圆拟合模型得到的椭圆的五个基本参数和摄像机的有效焦距来估计圆形特征相对于摄像机框架的三维方向。
[0151]
也就是说,确定与圆锥体的圆形交点及其方向,给定一个三维圆锥体,该圆锥体穿过形成椭圆的图像平面和顶点,该顶点是摄像机的中心。如图10所示。
[0152]
顶点为oc(α,β,γ)的三维圆锥体和椭圆底可以被表述为:
[0153]
f(x,y)≡a

x2+2h

xy+b

y2+2g

x+2f

y+d

=0
[0154]
这在同质坐标系中写成如下:
[0155][0156]
f(x,y,t)≡a

x2+2h

xy+b

y2+2g

xt+2f

yt+d

t2=0
[0157]
其中,t是同质坐标系中的辅助变量。
[0158]
一般形式可以表述为:
[0159]
a1x2+b1y2+c1z2+2f1yz+2g1zx+2h1xy+2u1x+2v1y+2w1z+d1=0
[0160]
其中,参数a1,b1,c1,d1,f1,g1,h1,u1,v1,w1可以从椭圆参数中得出。圆锥体的所有
平行平面部分都是相似的、位置相似的圆锥体。因此,与圆锥体相交的平面可表示为第一预设公式:
[0161]
lx+my+nz=0
[0162]
其中l2+m2+n2=1。然后我们就可以确定瞳孔和虹膜在三维空间中的方向。
[0163]
尽管如此,模糊性仍然存在,而且解决方案并不唯一。总是有两个对称的平面。这个问题可以通过相邻帧之间的一致性来避免。具体来说,当平面上的椭圆发生一点平移时(例如,在这种情况下,两个相邻帧的拟合椭圆可以近似),其对应圆的法向量保持不变。考虑到这个近似的假设,可以用一个小的阈值来保证不变性,过滤掉不满足情况的模糊值。这可以在校准期间同时完成。
[0164]
之后,可以利用从多个位置计算出来的方位来建立眼球的旋转中心。光轴可以通过眼球的旋转中心和瞳孔中心之间的联系来确定。
[0165]
步骤150:根据所述光轴参数,利用第二预设规则基于第二预设公式确定视轴,进而确定视线的空间位置。
[0166]
第二预设规则包括:采用几个虹膜位置,通过眼球的旋转中心确定光轴后,根据它与光轴的空间关系来计算视轴。初步实验表明,nc的距离在不同个体之间是不同的。因此,该值需要为每个用户单独确定。尽管在实际操作过程中可以精确地量化nc距离,但艰巨的实验设置和冗长的过程限制了它只能用于验证性实验。为了降低复杂性,本发明采用基于校准的方法来计算nc距离和方向,而不是直接测量。
[0167]
具体来说,假设光轴被看作是一个以旋转中心为原点的单位矢量。在这种情况下,视轴可以通过平移和旋转光轴来确定,如第二预设公式所示。
[0168]
v=mo
[0169]
其中,o表示沿光轴的单位向量,v表示沿视轴的单位向量,m是转换向量。
[0170]
基于此,本发明提出了一种校准方法,通过眼睛旋转产生各种虹膜位置,然后利用给定的刺激推导出光轴和视轴之间的位置参数。步骤,即第二预设规则如下:以给定的角度和给定的深度显示一个刺激物,让用户注视它;然后,改变刺激物的角度和深度,进行同样的操作。这个循环要重复多次,以确定光轴和视觉轴。
[0171]
在通过光轴推导出视觉轴后,我们可以通过双眼视觉轴的辐辏进行注视跟踪,如图11所示,其中a和b表示视觉轴,d代表用户的视线方向和深度。然后我们可以根据阿波罗定理计算出d的长度。
[0172][0173]
其中,c代表眼睛前面的节点之间的距离(在基线上,它也可以代表瞳孔间距离(ipd)或眼睛旋转中心之间的距离),αd表示第一中间变量,βd表示第二中间变量,αd和βd是由两只眼睛的视轴旋转角度a和b简单计算的。利用三角形的几何形状,在计算出d的长度后,可以确定其方向。
[0174][0175]
其中,d和d共同表明用户的视线在空间中的位置,d表示用户的视线方向,d表示用户的视线深度,c表示眼睛旋转中心之间的距离,a表示旋转角度。
[0176]
本发明的设计是基于新的视差转换模型,通过捕捉用户眼部运动,对用户眼部运动进行分析,利用眼部视觉特征,使用眼部关键点检测、眼部区域分割、瞳孔和虹膜拟合等算法求解用户眼球模型,最终利用用户双眼视觉,以得出视觉轴的不可见和虚拟参数,并确定用户在空间中的凝视,实现适用于扩展现实三维显示和三维交互的三维凝视跟踪技术。本发明是作为一个多阶段的方法来实现的,既轻便又准确。
[0177]
本发明提出的基于人类眼球模型的空间凝视跟踪可以相当于一种多层级的vr流媒体系统,利用人类的层级视觉,提供对应的多层级流媒体视频,以实现高质量的360
°
vr流媒体和令人满意的体验质量(qoe)。通过我们的多层级vr流媒体系统,我们可以极大程度的优化vr流媒体对于带宽的需求,从而在不引入额外基础设备的情况下在现有wifi网络下实现vr流媒体的流畅播放。本发明用较低的成本解决了扩展现实三维显示和三维交互的深度信息缺失问题,并进行了广泛的实验来评估其在不同设置下的性能。结果显示,本发明大大降低了空间凝视跟踪的误差。一些案例研究还证明了本发明的3d交互能力。
[0178]
基于上述实施例,该方法中,所述眼部区域分割模型具体包括:
[0179]
编码器,所述编码器用于学习图像的可识别特征;
[0180]
解码器,所述解码器用于将编码器的特征映射到高分辨率的像素空间,以获得密集的分类。
[0181]
具体地,眼部区域分割模型由两个主要部分组成:编码器和解码器。
[0182]
图7(b)左边的部分代表编码器,用来学习图像的可识别特征。下采样块与眼部关键点检测模型采用的深度可分离卷积块相同,如图6(b)所描述。沿着这条路径,特征图的大小减少,而通道的数量增加。
[0183]
图7(b)的右边部分为解码器,它将编码器的特征映射到高分辨率的像素空间,以获得密集的分类。这里解码器利用了图7(c)所示的块。去卷积被用于上采样(upsample conv block),而1
×
1卷积被用于调整通道数。
[0184]
眼部区域分割模型跳过连接被用来将深层特征图与相同大小的相应浅层特征图连接起来。深层/浅层特征有其意义:网络越深,感知领域越大,网络集中于全局特征(更抽象、更本质);浅层网络更注重于局部特征(如纹理)。合并保留了更多的多维信息,允许下面的网络层在浅层和深层特征之间灵活选择,这对分割更有利。
[0185]
基于上述实施例,该方法中,基于预先构建的神经网络利用预先构建的数据集训练得到眼部关键点检测模型,之后还包括:
[0186]
利用第三预设公式计算第一损失;
[0187]
所述第三预设公式包括:
[0188][0189]
其中,loss
lm
表示第一损失函数,x
max
表示
眼部关键点检测结果横坐标的最大值,y
max
表示眼部关键点检测结果纵坐标的最大值,x
min
表示眼部关键点检测结果横坐标的最小值,y
min
表示眼部关键点检测结果纵坐标的最小值,o1表示预测值和地面实况值之间的差异。
[0190]
具体地,考虑到眼标的密集空间分布,通过对平滑的l1损失进行归一化,使损失函数更加稳健。如第三预设公式所示,修改后的第一损失函数显示如下:
[0191][0192]
其中,loss
lm
表示第一损失函数,x
max
表示眼部关键点检测结果横坐标的最大值,y
max
表示眼部关键点检测结果纵坐标的最大值,x
min
表示眼部关键点检测结果横坐标的最小值,y
min
表示眼部关键点检测结果纵坐标的最小值,o1表示预测值和地面实况值之间的差异。
[0193]
基于上述实施例,该方法中,基于预先构建的神经网络利用预先构建的数据集训练得到眼部区域分割模型,之后还包括:
[0194]
利用第四预设公式对输出概率分布向量中的每个值进行权重计算;
[0195]
利用第五预设公式计算第二损失;
[0196]
所述第四预设公式包括:
[0197][0198]
其中,表示像素o2的权重,di表示从像素到第i个近边界的欧氏距离,σ表示正态分布标准差;
[0199]
所述第五预设公式包括:
[0200][0201]
其中,loss
seg
表示第二损失函数,o
predicted
是像素o2的预测标签,o
goundtruth
是像素o2的地面实况标签,wo是像素o2的权重。
[0202]
具体地,由于分割是一个像素级的分类任务,交叉熵损失函数可以用来评估评估眼部区域分割模型的训练损失,即第二损失。交叉熵损失对每个像素的类别预测进行独立评估,然后对所有像素的损失进行平均,从而使图像中每个像素的学习效果基本相同。然而,瞳孔、虹膜和其他是不均匀分布的,这将会导致训练过程中由像素数量多的类别主导。也就是说,模型将主要学习像素数量多的类样本的特征,训练后的模型将更偏向于预测该类的像素。为了缓解图像中存在的类不平衡问题,需要对输出概率分布向量中的每个值进行权重,使模型更加关注数量较少的样本。此外,本发明认为靠近每个类别的边缘或边界的像素比其他像素更有意义。这就使权重的计算像一个正态分布,如第四预设公式所示:
[0203][0204]
其中,表示像素o2的权重,di表示从像素到第i个近边界的欧氏距离,σ表示正态分布标准差。权重可以对每幅真实图像进行离线预计算,这样就不会为网络引入额外的计算。基于此,如第五预设公式所示,第二损失函数表示为:
[0205][0206]
其中,loss
seg
表示第二损失函数,o
predicted
是像素o2的预测标签,o
goundtruth
是像素o2的地面实况标签,wo是像素o2的权重。
[0207]
基于上述实施例,该方法中,将所述眼部关键点检测结果和所述眼部区域分割结果输入至预先构建的椭圆拟合模型,以得到椭圆拟合结果,具体包括:
[0208]
利用眼部关键点检测结果和眼部区域分割结果作为约束条件拟合虹膜和瞳孔的椭圆,以得到目标参数xc,yc,ac,bc,θc;
[0209]
利用所述目标参数,基于所述椭圆拟合模型生成xc,yc,ac,bc,θc的虹膜和瞳孔椭圆;
[0210]
其中,xc是中心坐标的横坐标,yc是中心坐标的纵坐标,ac是半主轴的长度,bc是半次轴的长度,θc是旋转角。
[0211]
具体地,在得到眼部关键点检测结果和眼部区域分割结果后,将其输入至预先构建的椭圆拟合模型,以作为约束条件来拟合虹膜和瞳孔的椭圆,得到椭圆拟合结果。
[0212]
一般的椭圆可以表示为:
[0213]
f(a,x)=a
·
x=a1x2+b1xy+c1y2+d1x+e1y+f1=0
[0214]
其中a=[a1b1c1d1e1e1]
t
,x=[x
21
yy2y1]。由此我们可以计算出椭圆的五个参数:xc,yc,ac,bc,θc;
[0215]
其中,xc是中心坐标的横坐标,yc是中心坐标的纵坐标,ac是半主轴的长度,bc是半次轴的长度,θc是旋转角(从正横轴到椭圆主轴的角度)。a1,b1,c1,d1,e1,f1和xc,yc,ac,bc,θc可以互相转换。
[0216]
基于此构建椭圆拟合模型来生成xc,yc,ac,bc,θc的虹膜和瞳孔椭圆。具体地,如图8所示,图8描述了椭圆拟合模型的网络架构,将所述眼部区域分割结果包含的编码器的高维特征作为输入,以及将眼部关键点检测结果包含的眼睛的地标作为其他输入,以作为椭圆拟合增加额外的约束,使其更加准确。
[0217]
基于上述实施例,该方法中,基于预先构建的神经网络利用预先构建的数据集训练得到椭圆拟合模型,之后还包括:
[0218]
利用第六预设公式计算第三损失;
[0219]
利用第七预设公式计算总损失;
[0220]
所述第六预设公式包括:
[0221][0222]
其中,loss
fit
表示第三损失函数,o3表示地面实况值,表示预测值;
[0223]
所述第七预设公式包括:
[0224]
l
loss
=α
lm
loss
lm

seg
loss
seg

fit
loss
fit
[0225]
其中,loss
lm
表示第一损失函数,loss
seg
表示第二损失函数,loss
fit
表示第三损失函数,α
lm
表示第一损失函数权重,β
seg
表示第二损失函数权重,γ
fit
表示第三损失函数权重。
[0226]
具体地,训练完成后,如第六预设公式所示,采用第三损失函数来评价椭圆拟合模型的训练损失:
[0227]
[0228]
其中,loss
fit
表示第三损失函数,o3表示地面实况值,表示预测值。
[0229]
由于椭圆拟合模型是和眼部关键点检测模型、眼部区域分割模型一起训练的。因此,总损失是这些损失的加权总和,如第七预设公式所示:
[0230]
l
loss
=α
lm
loss
lm

seg
loss
seg

fit
loss
fit
[0231]
其中,loss
lm
表示第一损失函数,loss
seg
表示第二损失函数,loss
fit
表示第三损失函数,α
lm
表示第一损失函数权重,β
seg
表示第二损失函数权重,γ
fit
表示第三损失函数权重。
[0232]
基于上述实施例,该方法中,根据所述椭圆拟合结果,利用第一预设规则基于第一预设公式得到眼球的旋转中心,以确定光轴参数,具体包括:
[0233]
利用椭圆拟合得到的目标参数和摄像机的有效焦距确定瞳孔和虹膜在三维空间中的方向,以得到第一预设公式;
[0234]
利用第一预设公式进行计算,建立眼球的旋转中心,连接瞳孔的中心和眼球的旋转中心得到光轴;
[0235]
所述第一预设公式包括:
[0236]
lx+my+nz=0
[0237]
其中l2+m2+n2=1,x,y,z为瞳孔和虹膜所在平面的坐标。
[0238]
具体地,在得到椭圆拟合结果后,计算光轴。第一预设规则包括:光轴连接着瞳孔的中心和眼球的旋转中心。瞳孔的中心通过椭圆拟合获得。旋转中心是眼球内的一个虚拟位置,不能直接从视觉数据中推断出来,可以根据这个虚拟位置的特点进行推断。当用户的眼睛旋转时,旋转中心将保持静止。因此,如果我们认为虹膜是一个与眼球相切的平面,这个平面的法向量将通过旋转中心。计算该平面在多个位置的法向量可以确定旋转中心。如图9所示,图9说明了上述情况。
[0239]
首先需要确定虹膜在三维空间的位置。图像坐标框架中的虹膜椭圆反映了圆形特征从虹膜的三维空间到图像的二维空间的透视投影。可以利用从椭圆拟合模型得到的椭圆的五个基本参数和摄像机的有效焦距来估计圆形特征相对于摄像机框架的三维方向。
[0240]
也就是说,确定与圆锥体的圆形交点及其方向,给定一个三维圆锥体,该圆锥体穿过形成椭圆的图像平面和顶点,该顶点是摄像机的中心。如图10所示。
[0241]
顶点为oc(α,β,γ)的三维圆锥体和椭圆底可以被表述为:
[0242]
f(x,y)≡a

x2+2h

xy+b

y2+2g

x+2f

y+d

=0
[0243]
这在同质坐标系中写成如下:
[0244][0245]
f(x,y,t)≡a

x2+2h

xy+b

y2+2g

xt+2f

yt+d

t2=0
[0246]
其中,t是同质坐标系中的辅助变量。
[0247]
一般形式可以表述为:
[0248]
a1x2+b1y2+c1z2+2f11yz+2g1zx+2h1xy+2u1x+2v1y+2w1z+d1=0其中,参数a1,b1,c1,d1,f1,g1,h1,u1,v1,w1可以从椭圆参数中得出。圆锥体的所有平行平面部分都是相似的、位置相似的圆锥体。因此,与圆锥体相交的平面可表示为第一预设公式:
[0249]
lx+my+nz=0
[0250]
其中l2+m2+n2=1。然后我们就可以确定瞳孔和虹膜在三维空间中的方向。
[0251]
尽管如此,模糊性仍然存在,而且解决方案并不唯一。总是有两个对称的平面。这个问题可以通过相邻帧之间的一致性来避免。具体来说,当平面上的椭圆发生一点平移时(例如,在这种情况下,两个相邻帧的拟合椭圆可以近似),其对应圆的法向量保持不变。考虑到这个近似的假设,可以用一个小的阈值来保证不变性,过滤掉不满足情况的模糊值。这可以在校准期间同时完成。
[0252]
之后,可以利用从多个位置计算出来的方位来建立眼球的旋转中心。光轴可以通过眼球的旋转中心和瞳孔中心之间的联系来确定。
[0253]
基于上述实施例,该方法中,所述第二预设公式包括:
[0254]
v=mo
[0255]
其中,o表示沿光轴的单位向量,v表示沿视轴的单位向量,m表示转换向量;
[0256][0257]
其中,c表示眼睛旋转中心之间的距离,αd表示第一中间变量,βd表示第二中间变量,d表示用户的视线深度,a和b表示视轴;
[0258][0259]
其中,d和d共同表明用户的视线在空间中的位置,d表示用户的视线方向,d表示用户的视线深度,c表示眼睛旋转中心之间的距离,a表示旋转角度。
[0260]
具体地,第二预设规则包括:采用几个虹膜位置,通过眼球的旋转中心确定光轴后,根据它与光轴的空间关系来计算视轴。初步实验表明,nc的距离在不同个体之间是不同的。因此,该值需要为每个用户单独确定。尽管在实际操作过程中可以精确地量化nc距离,但艰巨的实验设置和冗长的过程限制了它只能用于验证性实验。为了降低复杂性,本发明倾向于采用基于校准的方法来计算nc距离和方向,而不是直接测量。
[0261]
具体来说,假设光轴被看作是一个以旋转中心为原点的单位矢量。在这种情况下,视轴可以通过平移和旋转光轴来确定,如第二预设公式所示。
[0262]
v=mo
[0263]
其中,o表示沿光轴的单位向量,v表示沿视轴的单位向量,m是转换向量。
[0264]
基于此,本发明提出了一种校准方法,通过眼睛旋转产生各种虹膜位置,然后利用给定的刺激推导出光轴和视轴之间的位置参数。步骤,即第二预设规则如下:以给定的角度和给定的深度显示一个刺激物,让用户注视它;然后,改变刺激物的角度和深度,进行同样的操作。这个循环要重复多次,以确定光轴和视觉轴。
[0265]
在通过光轴推导出视觉轴后,我们可以通过双眼视觉轴的辐辏进行注视跟踪,如图11所示,其中a和b表示视觉轴,d代表用户的视线方向和深度。然后我们可以根据阿波罗定理计算出d的长度。
[0266][0267]
其中,c代表眼睛前面的节点之间的距离(在基线上,它也可以代表瞳孔间距离(ipd)或眼睛旋转中心之间的距离),αd表示第一中间变量,βd表示第二中间变量,αd和βd是由两只眼睛的视轴旋转角度a和b简单计算的。利用三角形的几何形状,在计算出d的长度后,可以确定其方向。
[0268][0269]
其中,d和d共同表明用户的视线在空间中的位置,d表示用户的视线方向,d表示用户的视线深度,c表示眼睛旋转中心之间的距离,a表示旋转角度。
[0270]
在一个具体实施例中,利用3d打印一个框架,并附加两个网络摄像头(每个价值8美元),作为捕捉原型。与现有技术相比,本实施例的设备成本非常低。本发明供涉及三个神经网络模型,均使用pytorch和pytorch-lightning实现。teyed数据集被用于模型的训练,它是现有数据集的组合和扩展,包括nvgaze、lpw、giw、else、excuse和pnet。teyed数据集包含地标标签、分割标签和椭圆参数。该数据集被分为训练/验证/测试三部分,以确保实验中的公平比较。此外,本发明还包括数据增强,如图像翻转、旋转、高斯模糊等,以提高模型的鲁棒性,减少过拟合。在模型训练方面,我们使用了4个nvidia geforce 1080ti(拥有12gib内存)gpu,而在凝视跟踪过程中使用了一个nvidia geforce1080(8gib内存)。
[0271]
在上述具体实施例中,本发明提供的基于人类眼球模型的空间凝视跟踪方法,通过获取待处理目标图像;根据所述待处理目标图像生成眼部关键点检测结果和眼部区域分割结果;其中,所述眼部关键点检测结果是将所述待处理目标图像输入至预先构建的眼部关键点检测模型生成的;所述眼部关键点检测模型是基于预先构建的神经网络利用预先构建的数据集进行训练得到的;眼部区域分割结果是将分类结果输入至预先构建的眼部区域分割模型生成的,所述分类结果是将所述待处理目标图像根据像素进行分类得到的;所述眼部区域分割模型是基于预先构建的神经网络利用预先构建的数据集进行训练得到的;将所述眼部关键点检测结果和所述眼部区域分割结果输入至预先构建的椭圆拟合模型,以得到椭圆拟合结果;所述椭圆拟合模型是基于预先构建的神经网络利用预先构建的数据集进行训练得到的;根据所述椭圆拟合结果,利用第一预设规则基于第一预设公式得到眼球的旋转中心,以确定光轴参数;根据所述光轴参数,利用第二预设规则基于第二预设公式确定视轴,进而确定视线的空间位置。本发明在新的视轴模型的基础上通过眼部关键点检测、眼部区域分割、椭圆拟合、光轴计算四个步骤得到视轴,进而确定视线的空间位置,实现了准确度更高、误差更低、成本更低、更为轻便的空间凝视跟踪。
[0272]
下面对本发明提供的基于人类眼球模型的空间凝视跟踪装置进行描述,下文描述的基于人类眼球模型的空间凝视跟踪装置与上文描述的基于人类眼球模型的空间凝视跟踪方法可相互对应参照。
[0273]
图12是本发明实施例提供的基于人类眼球模型的空间凝视跟踪装置的结构示意
图,如图12所示,本发明实施例提供一种基于人类眼球模型的空间凝视跟踪装置,包括:图像获取单元1210;图像处理单元1220;椭圆拟合单元1230;第一计算单元1240;第二计算单元1250;其中,
[0274]
图像获取单元1210,用于获取待处理目标图像;
[0275]
图像处理单元1220,用于根据所述待处理目标图像生成眼部关键点检测结果和眼部区域分割结果;
[0276]
其中,所述眼部关键点检测结果是将所述待处理目标图像输入至预先构建的眼部关键点检测模型生成的;所述眼部关键点检测模型是基于预先构建的神经网络利用预先构建的数据集进行训练得到的;眼部区域分割结果是将分类结果输入至预先构建的眼部区域分割模型生成的,所述分类结果是将所述待处理目标图像根据像素进行分类得到的;所述眼部区域分割模型是基于预先构建的神经网络利用预先构建的数据集进行训练得到的;
[0277]
椭圆拟合单元1230,用于将所述眼部关键点检测结果和所述眼部区域分割结果输入至预先构建的椭圆拟合模型,以得到椭圆拟合结果;所述椭圆拟合模型是基于预先构建的神经网络利用预先构建的数据集进行训练得到的;
[0278]
第一计算单元1240,用于根据所述椭圆拟合结果,利用第一预设规则基于第一预设公式得到眼球的旋转中心,以确定光轴参数;
[0279]
第二计算单元1250,用于根据所述光轴参数,利用第二预设规则基于第二预设公式确定视轴,进而确定视线的空间位置。
[0280]
图13示例了一种电子设备的实体结构示意图,如图13所示,该电子设备可以包括:处理器(processor)1310、通信接口(communications interface)1320、存储器(memory)1330和通信总线1340,其中,处理器1310,通信接口1320,存储器1330通过通信总线1340完成相互间的通信。处理器1310可以调用存储器1330中的逻辑指令,以执行基于人类眼球模型的空间凝视跟踪方法,该方法包括:获取待处理目标图像;根据所述待处理目标图像生成眼部关键点检测结果和眼部区域分割结果;其中,所述眼部关键点检测结果是将所述待处理目标图像输入至预先构建的眼部关键点检测模型生成的;所述眼部关键点检测模型是基于预先构建的神经网络利用预先构建的数据集进行训练得到的;眼部区域分割结果是将分类结果输入至预先构建的眼部区域分割模型生成的,所述分类结果是将所述待处理目标图像根据像素进行分类得到的;所述眼部区域分割模型是基于预先构建的神经网络利用预先构建的数据集进行训练得到的;将所述眼部关键点检测结果和所述眼部区域分割结果输入至预先构建的椭圆拟合模型,以得到椭圆拟合结果;所述椭圆拟合模型是基于预先构建的神经网络利用预先构建的数据集进行训练得到的;根据所述椭圆拟合结果,利用第一预设规则基于第一预设公式得到眼球的旋转中心,以确定光轴参数;根据所述光轴参数,利用第二预设规则基于第二预设公式确定视轴,进而确定视线的空间位置。
[0281]
此外,上述的存储器1330中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,
read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0282]
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
[0283]
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
[0284]
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

技术特征:
1.一种基于人类眼球模型的空间凝视跟踪方法,其特征在于,包括:获取待处理目标图像;根据所述待处理目标图像生成眼部关键点检测结果和眼部区域分割结果;其中,所述眼部关键点检测结果是将所述待处理目标图像输入至预先构建的眼部关键点检测模型生成的;所述眼部关键点检测模型是基于预先构建的神经网络利用预先构建的数据集进行训练得到的;眼部区域分割结果是将分类结果输入至预先构建的眼部区域分割模型生成的,所述分类结果是将所述待处理目标图像根据像素进行分类得到的;所述眼部区域分割模型是基于预先构建的神经网络利用预先构建的数据集进行训练得到的;将所述眼部关键点检测结果和所述眼部区域分割结果输入至预先构建的椭圆拟合模型,以得到椭圆拟合结果;所述椭圆拟合模型是基于预先构建的神经网络利用预先构建的数据集进行训练得到的;根据所述椭圆拟合结果,利用第一预设规则基于第一预设公式得到眼球的旋转中心,以确定光轴参数;根据所述光轴参数,利用第二预设规则基于第二预设公式确定视轴,进而确定视线的空间位置。2.根据权利要求1所述的基于人类眼球模型的空间凝视跟踪方法,其特征在于,所述眼部区域分割模型具体包括:编码器,所述编码器用于学习图像的可识别特征;解码器,所述解码器用于将编码器的特征映射到高分辨率的像素空间,以获得密集的分类。3.根据权利要求1所述的基于人类眼球模型的空间凝视跟踪方法,其特征在于,基于预先构建的神经网络利用预先构建的数据集训练得到眼部关键点检测模型,之后还包括:利用第三预设公式计算第一损失;所述第三预设公式包括:其中,loss
lm
表示第一损失函数,x
max
表示眼部关键点检测结果横坐标的最大值,y
max
表示眼部关键点检测结果纵坐标的最大值,x
min
表示眼部关键点检测结果横坐标的最小值,y
min
表示眼部关键点检测结果纵坐标的最小值,o1表示预测值和地面实况值之间的差异。4.根据权利要求2所述的基于人类眼球模型的空间凝视跟踪方法,其特征在于,基于预先构建的神经网络利用预先构建的数据集训练得到眼部区域分割模型,之后还包括:利用第四预设公式对输出概率分布向量中的每个值进行权重计算;利用第五预设公式计算第二损失;所述第四预设公式包括:其中,表示像素o2的权重,d
i
表示从像素到第i个近边界的欧氏距离,σ表示正态分布
标准差;所述第五预设公式包括:其中,loss
seg
表示第二损失函数,o
predicted
是像素o2的预测标签,o
goundtruth
是像素o2的地面实况标签,w
o
是像素o2的权重。5.根据权利要求1所述的基于人类眼球模型的空间凝视跟踪方法,其特征在于,将所述眼部关键点检测结果和所述眼部区域分割结果输入至预先构建的椭圆拟合模型,以得到椭圆拟合结果,具体包括:利用眼部关键点检测结果和眼部区域分割结果作为约束条件拟合虹膜和瞳孔的椭圆,以得到目标参数x
c
,y
c
,a
c
,b
c
,θ
c
;利用所述目标参数,基于所述椭圆拟合模型生成x
c
,y
c
,a
c
,b
c
,θ
c
的虹膜和瞳孔椭圆;其中,x
c
是中心坐标的横坐标,y
c
是中心坐标的纵坐标,a
c
是半主轴的长度,b
c
是半次轴的长度,θ
c
是旋转角。6.根据权利要求1所述的基于人类眼球模型的空间凝视跟踪方法,其特征在于,基于预先构建的神经网络利用预先构建的数据集训练得到椭圆拟合模型,之后还包括:利用第六预设公式计算第三损失;利用第七预设公式计算总损失;所述第六预设公式包括:其中,loss
fit
表示第三损失函数,o3表示地面实况值,表示预测值;所述第七预设公式包括:l
loss
=α
lm
loss
lm

seg
loss
seg

fit
loss
fit
其中,loss
lm
表示第一损失函数,loss
seg
表示第二损失函数,loss
fit
表示第三损失函数,α
lm
表示第一损失函数权重,β
seg
表示第二损失函数权重,γ
fit
表示第三损失函数权重。7.根据权利要求5所述的基于人类眼球模型的空间凝视跟踪方法,其特征在于,根据所述椭圆拟合结果,利用第一预设规则基于第一预设公式得到眼球的旋转中心,以确定光轴参数,具体包括:利用椭圆拟合得到的目标参数和摄像机的有效焦距确定瞳孔和虹膜在三维空间中的方向,以得到第一预设公式;利用第一预设公式进行计算,建立眼球的旋转中心,连接瞳孔的中心和眼球的旋转中心得到光轴;所述第一预设公式包括:lx+my+nz=0其中l2+m2+n2=1,x,y,z为瞳孔和虹膜所在平面的坐标。8.根据权利要求7所述的基于人类眼球模型的空间凝视跟踪方法,其特征在于,所述第二预设公式包括:v=mo其中,o表示沿光轴的单位向量,v表示沿视轴的单位向量,m表示转换向量;
其中,c表示眼睛旋转中心之间的距离,α
d
表示第一中间变量,β
d
表示第二中间变量,d表示用户的视线深度,a和b表示视轴;其中,d和d共同表明用户的视线在空间中的位置,d表示用户的视线方向,d表示用户的视线深度,c表示眼睛旋转中心之间的距离,a表示旋转角度。9.一种基于人类眼球模型的空间凝视跟踪装置,其特征在于,包括:图像获取单元,用于获取待处理目标图像;图像处理单元,用于根据所述待处理目标图像生成眼部关键点检测结果和眼部区域分割结果;其中,所述眼部关键点检测结果是将所述待处理目标图像输入至预先构建的眼部关键点检测模型生成的;所述眼部关键点检测模型是基于预先构建的神经网络利用预先构建的数据集进行训练得到的;眼部区域分割结果是将分类结果输入至预先构建的眼部区域分割模型生成的,所述分类结果是将所述待处理目标图像根据像素进行分类得到的;所述眼部区域分割模型是基于预先构建的神经网络利用预先构建的数据集进行训练得到的;椭圆拟合单元,用于将所述眼部关键点检测结果和所述眼部区域分割结果输入至预先构建的椭圆拟合模型,以得到椭圆拟合结果;所述椭圆拟合模型是基于预先构建的神经网络利用预先构建的数据集进行训练得到的;第一计算单元,用于根据所述椭圆拟合结果,利用第一预设规则基于第一预设公式得到眼球的旋转中心,以确定光轴参数;第二计算单元,用于根据所述光轴参数,利用第二预设规则基于第二预设公式确定视轴,进而确定视线的空间位置。10.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至8任一项所述基于人类眼球模型的空间凝视跟踪方法。

技术总结
本发明提供一种基于人类眼球模型的空间凝视跟踪方法和装置,包括:获取待处理目标图像;根据待处理目标图像生成眼部关键点检测结果和眼部区域分割结果;将眼部关键点检测结果和眼部区域分割结果输入至预先构建的椭圆拟合模型,以得到椭圆拟合结果;根据椭圆拟合结果,利用第一预设规则基于第一预设公式得到眼球的旋转中心,以确定光轴参数;根据光轴参数,利用第二预设规则基于第二预设公式确定视轴,进而确定视线的空间位置。本发明在新的视轴模型的基础上通过眼部关键点检测、眼部区域分割、椭圆拟合、光轴计算四个步骤得到视轴,进而确定视线的空间位置,实现了准确度更高、误差更低、成本更低、更为轻便的空间凝视跟踪。更为轻便的空间凝视跟踪。更为轻便的空间凝视跟踪。


技术研发人员:何源 杨松洲
受保护的技术使用者:清华大学
技术研发日:2023.03.10
技术公布日:2023/7/19
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐