基于视觉追踪的用户注视点估计和精度评估方法

文档序号:30967265发布日期:2022-07-30 18:43阅读:239来源:国知局
基于视觉追踪的用户注视点估计和精度评估方法

1.本发明涉及数字图像处理领域,具体涉及一种基于视觉追踪的用户注视点估计和精度评估方法。


背景技术:

2.眼球追踪也称为视线追踪技术,是一种通过提取眼球运动相关参数来估算视线和注视点坐标的技术。随着眼球追踪技术的不断发展,该技术在人机交互、行为分析等领域的应用场景也不断丰富。
3.由于眼球追踪技术是通过头戴式眼动设备采集人体眼动生理信号进行处理与分析,因此该项技术与每个用户的眼睛差异性生理结构以及设备的个性化使用习惯强相关。一方面,由于眼动信号是人体的生理信号,不同个体本身就存在生理结构的差异,因此眼动追踪算法需要能够自适应个体生理结构的差异,才能有效地保证眼动精度。另一方面,现有的头戴式眼动设备是基于光学记录方法通过红外光源照射眼球,采用高速眼图相机采集近眼图片。图像采集设备设置于靠近眼部的前方,图像采集设备与眼部所在的水平方向存在一定的夹角,不同的被试人员在使用同一部眼动追踪设备时会有不同的使用习惯,这会直接影响眼动设备采集到的眼动参数,从而会造成眼动精度的大幅波动。此外,对于戴眼镜的用户,眼镜的佩戴会造成出瞳距离的变化并且眼球可能受到一定程度的遮挡,也会影响眼动算法推理结果的精度偏差。


技术实现要素:

4.针对现有的眼球追踪技术与每个用户的眼睛差异性生理结构以及设备的个性化使用习惯强相关的问题,本发明公开了一种基于视觉追踪的用户注视点估计和精度评估方法。
5.本发明公开了一种基于视觉追踪的用户注视点估计方法,其具体包括:
6.用户佩戴头戴式眼动交互设备,利用注视点提取模块获取用户的注视点坐标,通过残差估计模块计算出用户的眼动偏移量与注视点坐标的残差,再将得到的残差送入偏移量自适应模块对注视点坐标进行更新,得到最终的用户注视点估计值。
7.所述的注视点提取模块,其通过多个深度卷积神经层叠加多个扩张卷积层构成的深度学习人工神经网络来实现,将头戴式眼动交互设备采集的用户双眼图片作为该模块的输入,该模块的输出为提取到的用户的注视点坐标值。
8.所述的利用注视点提取模块获取用户的注视点坐标,首先构建样本数据集,然后搭建深度学习人工神经网络,对该深度学习人工神经网络进行训练和测试,利用训练完成的深度学习人工神经网络作为注视点提取模型,使用注视点提取模型获取用户的注视点坐标。
9.所述的样本数据集的构建,需要若干用户佩戴头戴式眼动交互设备,用户注视该设备的显示界面中不断移动的目标锚点,该目标锚点通过蛇形遍历的方式依次移动至显示
界面的每行每列像素点位置处,目标锚点在移动过程中变换三种以上不同的移动速度,头戴式眼动交互设备采集用户注视不断移动的目标锚点的眼部图像,该目标锚点完成一次蛇形遍历后,即完成一轮样本数据提取。在每一轮样本数据提取过程中,头戴式眼动交互设备上搭载的近眼高速摄像头在目标锚点蛇形遍历到显示界面上的每个像素点位置上时,保存该时刻的用户双眼图像以及其注视的目标锚点的位置坐标值,用户双眼图像和其注视的目标锚点的位置坐标值作为该样本数据集的样本和标签,从而完成对该样本数据集的构建。
10.所述的搭建深度学习人工神经网络,首先采用深度卷积神经层提取用户双眼图片的左右眼图的特征,深度卷积神经层中的每个卷积层的卷积核尺寸均为3
×
3,卷积步长均为2。在深度卷积神经层后叠加三层扩张卷积层,第一层扩张卷积层的卷积核尺寸为3
×
3,扩张率为(1,2),第二层扩张卷积层的卷积核尺寸为3
×
3,扩张率为(2,3),第三层扩张卷积层的卷积核尺寸为3
×
3,扩张率为(4,5),三层扩张卷积层的卷积步长均为1。对扩张卷积层的最终输出进行失活处理,使得该深度学习人工神经网络的参数量得以控制,确保该深度学习人工神经网络推理的实时性,使用relu作为激活函数,在激活处理之前对该深度学习人工神经网络的参数进行归一化。
11.所述的对所搭建的深度学习人工神经网络进行训练和测试,对样本数据集进行尺寸及像素分布的标准化处理,将样本数据集的用户双眼图片分辨率降低至设置值,将样本数据集的用户双眼图片的所有像素值除以256,使其像素值分布在0至1之间,从而实现像素值的归一化,然后以0.5为均值,0.5为方差,对样本数据集的用户双眼图片的所有像素值数据进行标准化分布处理。使用pytorch框架将标准化分布处理之后的数据转化成张量数据,作为该深度学习人工神经网络的输入,使用随机梯度下降算法对该网络的参数进行更新,采用adam函数对该网络的参数进行优化,采用交叉验证法对样本数据集以7:3的数据量比例划分为训练集和测试集,以l1范数损失函数作为该网络的损失函数,对该网络进行训练时,并使用adam函数作为优化器。通过对所搭建的深度学习人工神经网络进行迭代训练,取训练结果最佳的一组网络参数,作为对该深度学习人工神经网络训练得到的最终参数,从而完成对该深度学习人工神经网络的训练。
12.所述的残差估计模块,用户注视偏移量提取标识后,该模块实现对用户的眼动偏移量的提取,并使用一阶差分函数进行用户的眼动偏移量与注视点坐标的残差的计算。
13.所述的残差估计模块,在头戴式眼动交互设备的显示界面中建立二维平面直角坐标系,将偏移量提取标识显示在该显示界面的中心位置,其位置坐标为(x0,y0),偏移量提取标识为静态图片或动画。佩戴头戴式眼动交互设备的用户凝视其显示界面中的偏移量提取标识,同时注视点提取模块在第i次出现的显示界面中提取的该用户的实时注视点坐标为(x
gi
,y
gi
),作为用户的眼动偏移量。
14.头戴式眼动交互设备的显示界面的帧率为30fps,将上述偏移量提取标识显示的时间设置为一秒,使用一阶差分函数计算用户的眼动偏移量与注视点坐标的残差为[xd,yd],其计算公式为:
[0015][0016]
其中i取值为0到29的整数。
[0017]
用户的眼动偏移量包括用户使用习惯偏移量和用户眼部视轴与眼部光轴的夹角,用户使用习惯偏移量为一个固定值,所述的用户眼部视轴与眼部光轴的夹角,其估计过程包括,眼部视轴为偏移量提取标识到眼睛黄斑中心凹的连线,眼部光轴为眼睛瞳孔中心到眼睛视网膜中心的连线。眼睛瞳孔中心位置坐标用p表示,眼睛角膜曲率中心坐标用c表示,眼部视轴方向向量用v表示,眼睛瞳孔中心到偏移量提取标识的方向向量,即眼部视轴的方向向量,用u表示,眼部视轴与眼部光轴的夹角用e表示,眼部光轴的方向向量表示为w,其计算公式为:
[0018][0019]
其中,表示眼部光轴的方向向量,眼部视轴方向向量的计算公式为:
[0020][0021]
其中,(α,β)表示眼部光轴的方向向量的偏移修正量,眼部视轴方向向量的计算公式为:其中t表示偏移量提取标识的位置坐标,眼部光轴与眼部视轴的夹角e的计算公式为e=arccosθ(u,v),从而完成对眼部视轴与眼部光轴的夹角的估计。
[0022]
所述偏移量自适应模块,利用残差估计模块计算得到的残差,对注视点提取模块获取的用户注视点坐标进行矫正,并将矫正后的用户注视点坐标作为最终的用户注视点估计值。
[0023]
所述的偏移量自适应模块,其通过深度学习人工神经网络来实现,该深度学习人工神经网络包括多个深度卷积神经层、多个扩张卷积层、偏移量预测分支和一层全连接层,上述四部分依次连接,其中深度卷积神经层和扩张卷积层分别采用与注视点提取模块中的深度卷积神经层和扩张卷积层相同的结构,在该深度学习人工神经网络训练过程中使用的损失函数l
1new
的表达式为,l
1new
=l1+λ|b|,其中l1为注视点提取模块中的使用的l1范数损失函数,λ|b|为正则项,用于调整该网络的自适应能力,其中λ为调节系数,b为在注视点提取模块中提取的残差。
[0024]
通过残差估计模块计算出用户的眼动偏移量与注视点坐标的残差,再将得到的残差送入偏移量自适应模块对注视点坐标进行更新,得到最终的用户注视点估计值。
[0025]
本发明还公开了一种对上述的用户注视点估计方法进行精度评估的方法,其具体包括,在头戴式眼动交互设备的显示界面上按照预设的位置,依次渲染多个精度测试点,并控制该精度测试点按一定时间顺序,在显示界面上依次显示后再依次隐藏,每一时刻只有一个精度测试点显示;
[0026]
用户佩戴头戴式眼动交互设备,依次凝视显示界面上显示的精度测试点,利用注视点提取模块获取用户的注视点坐标,计算并获取眼动精度;
[0027]
针对每个精度测试点,计算若干个眼动精度值并求平均,作为该精度测试点的眼
动精度值。将显示界面划分为若干个子区域,在每个子区域上分别设置若干个精度测试点,针对不同的子区域分别进行眼动精度计算和评估,对每个子区域内的所有精度测试点得到的眼动精度值取平均,做为该子区域的眼动精度值,对所有子区域的眼动精度值取平均,得到最终的眼动精度的评估值。
[0028]
眼动精度用于反映用户注视点提取的精度以及用户注意力的集中程度,眼动精度通过计算精度测试点与所述注视点提取模块获取的用户注视点坐标之间的角度偏差δ来获取,角度偏差δ的计算公式为:
[0029][0030]
其中,(x,y)表示精度测试点的位置坐标,表示注视点提取模块获取的用户注视点坐标,z表示头戴式眼动交互设备的显示界面的虚拟屏幕深度,w和h分别表示显示界面的水平和垂直方向上的像素点个数。
[0031]
本发明的有益效果为:
[0032]
本发明可适用于针对不同的用户在体验眼动交互过程中,免除进行多点校准的繁杂过程以及漫长等待,另外也能免去开发人员为此而单独设计的校准页面,节约眼动设备的存储、计算资源。本发明中的眼动偏移量提取通过用户凝视交互场景中的预设动画,实现提取自适应个体差异的眼动偏移量,这个偏移量直接影响眼动算法推理出来的注视点精度,因此对眼动算法的鲁棒性和泛化能力提升有非常重要的意义。
[0033]
本发明按照预设的目标位置信息在vr眼动设备中渲染偏移量提取标识,通过用户短暂凝视该标识,提取偏移量计算残差,再将该残差反馈至算法进行推理补偿,有效提升了眼动精度,使得不同用户能够更加便捷、高效的使用眼动设备。
附图说明
[0034]
图1为本发明的基于视觉追踪的用户注视点估计方法的流程图;
[0035]
图2为本发明的偏移量提取标识的示意图;
[0036]
图3为本发明的眼部光轴与视轴夹角的示意图;
[0037]
图4为本发明的对用户注视点估计方法进行精度评估的流程图;
[0038]
图5为本发明的偏移量自适应模块示意图。
具体实施方式
[0039]
为了更好的了解本发明内容,这里给出一个实施例。
[0040]
针对现有的眼球追踪技术与每个用户的眼睛差异性生理结构以及设备的个性化使用习惯强相关的问题,本发明公开了一种基于视觉追踪的用户注视点估计和精度评估方法。
[0041]
图1为本发明的基于视觉追踪的用户注视点估计方法的流程图;图2为本发明的偏移量提取标识的示意图;图3为本发明的眼部光轴与视轴夹角的示意图;图4为本发明的对
用户注视点估计方法进行精度评估的流程图;图5为本发明的偏移量自适应模块示意图。
[0042]
本发明公开了一种基于视觉追踪的用户注视点估计方法,其具体包括:
[0043]
用户佩戴头戴式眼动交互设备,利用注视点提取模块获取用户的注视点坐标,通过残差估计模块计算出用户的眼动偏移量与注视点坐标的残差,再将得到的残差送入偏移量自适应模块对注视点坐标进行更新,得到最终的用户注视点估计值。
[0044]
所述的注视点提取模块,考虑到提取的注视点在真实场景中具有使用价值,需要保证注视点提取的实时性,同时具备较好的注视点精度,因此使用深度学习的方式实现注视点提取过程,其通过多个深度卷积神经层叠加多个扩张卷积层构成的深度学习人工神经网络来实现,将头戴式眼动交互设备采集的用户双眼图片作为该模块的输入,该模块的输出为提取到的用户的注视点坐标值。
[0045]
所述的利用注视点提取模块获取用户的注视点坐标,首先构建样本数据集,然后搭建深度学习人工神经网络,对该深度学习人工神经网络进行训练和测试,利用训练完成的深度学习人工神经网络作为注视点提取模型,使用注视点提取模型获取用户的注视点坐标。
[0046]
所述的样本数据集的构建,考虑到不同用户的眼部生理特征差异,头戴式眼动交互设备的个性化使用习惯等原因对模型跨被试性能的影响,需要若干用户佩戴头戴式眼动交互设备,用户注视该设备的显示界面中不断移动的目标锚点,该目标锚点通过蛇形遍历的方式依次移动至显示界面的每行每列像素点位置处,目标锚点在移动过程中变换三种以上不同的移动速度,头戴式眼动交互设备采集用户注视不断移动的目标锚点的眼部图像,该目标锚点完成一次蛇形遍历后,即完成一轮样本数据提取,每名用户需要进行10轮以上样本数据提取。在每一轮样本数据提取过程中,头戴式眼动交互设备上搭载的近眼高速摄像头在目标锚点蛇形遍历到显示界面上的每个像素点位置上时,保存该时刻的用户双眼图像以及其注视的目标锚点的位置坐标值,用户双眼图像的分辨率为640*400,位置坐标值为在二维平面直角坐标系下的x、y值,用户双眼图像和其注视的目标锚点的位置坐标值作为该样本数据集的样本和标签,从而完成对该样本数据集的构建。
[0047]
所述的搭建深度学习人工神经网络,首先采用深度卷积神经层提取用户双眼图片的左右眼图的特征,深度卷积神经层中的每个卷积层的卷积核尺寸均为3
×
3,卷积步长均为2。由于扩张卷积具有更大的感受野,能够提升特征抽取的效率,因此在深度卷积神经层后叠加三层扩张卷积层,第一层扩张卷积层的卷积核尺寸为3
×
3,扩张率为(1,2),第二层扩张卷积层的卷积核尺寸为3
×
3,扩张率为(2,3),第三层扩张卷积层的卷积核尺寸为3
×
3,扩张率为(4,5),三层扩张卷积层的卷积步长均为1。对扩张卷积层的最终输出进行失活处理,其对应的dropout函数取值为0.1,使得该深度学习人工神经网络的参数量得以控制,确保该深度学习人工神经网络推理的实时性,使用relu作为激活函数,在激活处理之前对该深度学习人工神经网络的参数进行归一化。
[0048]
所述的对所搭建的深度学习人工神经网络进行训练和测试,考虑到参数量过大会影响模型的实时处理速度,同时为提升卷积神经网络对样本特征的有效提取,因此对样本数据集进行尺寸及像素分布的标准化处理,将样本数据集的用户双眼图片分辨率降低至设置值,例如,由640*400缩小至128*192,将样本数据集的用户双眼图片的所有像素值除以256,使其像素值分布在0至1之间,从而实现像素值的归一化,然后以0.5为均值,0.5为方
差,对样本数据集的用户双眼图片的所有像素值数据进行标准化分布处理。使用pytorch框架将标准化分布处理之后的数据转化成张量数据,作为该深度学习人工神经网络的输入,使用随机梯度下降算法对该网络的参数进行更新,采用adam函数对该网络的参数进行优化,采用交叉验证法对样本数据集以7:3的数据量比例划分为训练集和测试集,以l1范数损失函数作为该网络的损失函数,对该网络进行训练时,将训练次数epoch值设置为64,并使用adam函数作为优化器。初始学习率为1.0e-3,每35个epoch下降1/10。训练模型总共100个epoch。通过对所搭建的深度学习人工神经网络进行迭代训练,取训练结果最佳的一组网络参数,作为对该深度学习人工神经网络训练得到的最终参数,从而完成对该深度学习人工神经网络的训练。
[0049]
通过注视点提取模块提取出的注视点坐标会受到不同用户的眼部生理差异以及头戴式眼动交互设备的不同使用习惯而产生一个相对一致的个性化差异偏移量,这个偏移量会对注视点坐标的精度有较大的影响。所述的残差估计模块,用户注视偏移量提取标识后,该模块实现对用户的眼动偏移量的提取,并使用一阶差分函数进行用户的眼动偏移量与注视点坐标的残差的计算。
[0050]
所述的残差估计模块,在头戴式眼动交互设备的显示界面中建立二维平面直角坐标系,将偏移量提取标识显示在该显示界面的中心位置,其位置坐标为(x0,y0),偏移量提取标识为静态图片或动画。佩戴头戴式眼动交互设备的用户凝视其显示界面中的偏移量提取标识,同时注视点提取模块在第i次出现的显示界面中提取的该用户的实时注视点坐标为(x
gi
,y
gi
),作为用户的眼动偏移量。
[0051]
头戴式眼动交互设备的显示界面的帧率为30fps,将上述偏移量提取标识显示的时间设置为一秒,使用一阶差分函数计算用户的眼动偏移量与注视点坐标的残差为[xd,yd],其计算公式为:
[0052][0053]
其中i取值为0到29的整数。
[0054]
用户的眼动偏移量包括用户使用习惯偏移量和用户眼部视轴与眼部光轴的夹角,用户使用习惯偏移量为一个固定值,所述的用户眼部视轴与眼部光轴的夹角,其估计过程包括,眼部视轴为偏移量提取标识到眼睛黄斑中心凹的连线,眼部光轴为眼睛瞳孔中心到眼睛视网膜中心的连线。眼睛瞳孔中心位置坐标用p表示,眼睛角膜曲率中心坐标用c表示,眼部视轴方向向量用v表示,眼睛瞳孔中心到偏移量提取标识的方向向量,即眼部视轴的方向向量,用u表示,眼部视轴与眼部光轴的夹角用e表示,眼部光轴的方向向量表示为w,其计算公式为:
[0055][0056]
其中,表示眼部光轴的方向向量,眼部视轴方向向量的计算公式为:
[0057][0058]
其中,(α,β)表示眼部光轴的方向向量的偏移修正量,眼部视轴方向向量的计算公式为:其中t表示偏移量提取标识的位置坐标,眼部光轴与眼部视轴的夹角e的计算公式为e=arccosθ(u,v),从而完成对眼部视轴与眼部光轴的夹角的估计。
[0059]
所述偏移量自适应模块,如图5所示利用残差估计模块计算得到的残差,对注视点提取模块获取的用户注视点坐标进行矫正,并将矫正后的用户注视点坐标作为最终的用户注视点估计值。
[0060]
所述的偏移量自适应模块,其通过深度学习人工神经网络来实现,该深度学习人工神经网络包括多个深度卷积神经层、多个扩张卷积层、偏移量预测分支和一层全连接层,上述四部分依次连接,其中深度卷积神经层和扩张卷积层分别采用与注视点提取模块中的深度卷积神经层和扩张卷积层相同的结构,在该深度学习人工神经网络训练过程中使用的损失函数l
1new
的表达式为,l
1new
=l1+λ|b|,其中l1为注视点提取模块中的使用的l1范数损失函数,λ|b|为正则项,用于调整该网络的自适应能力,其中λ为调节系数,b为在注视点提取模块中提取的残差。当λ越大时,残差的引入对模型的影响更大,当λ越小时,残差的引入对模型的影响更小,当λ置为0,模型将退化为注视点提取模块中使用的主干模型,通过实验证明在偏移量自适应模块中将λ取为0.01可以获得注视点精度较高的输出。
[0061]
通过残差估计模块计算出用户的眼动偏移量与注视点坐标的残差,再将得到的残差送入偏移量自适应模块对注视点坐标进行更新,得到最终的用户注视点估计值。
[0062]
本发明还公开了一种对上述的用户注视点估计方法进行精度评估的方法,其具体包括,在头戴式眼动交互设备的显示界面上按照预设的位置,依次渲染多个精度测试点,并控制该精度测试点按一定时间顺序,在显示界面上依次显示后再依次隐藏,每一时刻只有一个精度测试点显示;
[0063]
用户佩戴头戴式眼动交互设备,依次凝视显示界面上显示的精度测试点,利用注视点提取模块获取用户的注视点坐标,计算并获取眼动精度;
[0064]
针对每个精度测试点,计算若干个眼动精度值并求平均,作为该精度测试点的眼动精度值。将显示界面划分为若干个子区域,在每个子区域上分别设置若干个精度测试点,针对不同的子区域分别进行眼动精度计算和评估,对每个子区域内的所有精度测试点得到的眼动精度值取平均,做为该子区域的眼动精度值,对所有子区域的眼动精度值取平均,得到最终的眼动精度的评估值。
[0065]
眼动精度用于反映用户注视点提取的精度以及用户注意力的集中程度,眼动精度通过计算精度测试点与所述注视点提取模块获取的用户注视点坐标之间的角度偏差δ来获取,角度偏差越小说明精度越高,角度偏差δ的计算公式为:
[0066][0067]
其中,(x,y)表示精度测试点的位置坐标,表示注视点提取模块获取的用户注视点坐标,z表示头戴式眼动交互设备的显示界面的虚拟屏幕深度,w和h分别表示显示界面的水平和垂直方向上的像素点个数。
[0068]
以上所述仅为本技术的实施例而已,并不用于限制本技术。对于本领域技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本技术的权利要求范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1