面向头戴式波导显示装置的抗干扰视线追踪方法与流程

文档序号:26008068发布日期:2021-07-23 21:27阅读:94来源:国知局
面向头戴式波导显示装置的抗干扰视线追踪方法与流程

本发明涉及视线追踪技术领域,具体来说,涉及面向头戴式波导显示装置的抗干扰视线追踪方法。



背景技术:

视线追踪也称之为眼动跟踪,是利用摄像机设备实时观测人眼的运动情况,结合摄像头周围的led光源在摄像头成像的位置,通过一定的方法估算出视线的方向和视线落点坐标的一种技术。尤其在军事领域,智能头盔、瞄准器等设备可以不需要借助使用者的双手来进行发射、转向、瞄准等操作,把实时测量的眼睛视线方向作为瞄准线方向,不但极大地节省了作战时间,同时具有很强的保密度。

当前视线跟踪系统中,大多采用非干扰式的眼动追踪方法,包括瞳孔-角膜反射向量法、角膜反射法、巩膜边缘法,尤其以瞳孔角膜反射法应用最为广泛。而对于头戴式波导显示设备而言,这些算法存在标定过程复杂、繁琐,用户体验受限制,尤其是在设备佩戴时,头与头盔产生相对位移时跟踪精度会大幅度下降,会带来严重的后果,因此,寻找一种用户标定简单、抗干扰且高精度的线跟踪方法及装置具有重要意义。

目前现有技术中,如专利号cn201910458668.3所公开的一种仅基于瞳孔特征的头戴式视线跟踪方法中提到用户标定和视线跟踪的流程方法,大概过程如下:

先让用户注视头戴式显示设备的屏幕,例如虚拟显示设备的屏幕上若干个用于计算多项式映射方程组系数的标定点,该标定点记为注视点。通过瞳孔定位算法,计算出瞳孔中心坐标,并记录下瞳孔中心坐标与屏幕上的注视点坐标。

将瞳孔中心坐标与注视点坐标带入多项式映射方程组,设屏幕上有n个用于计算多项式映射方程组系数的标定点,标定点为虚拟显示设备屏幕上点,用于计算多项式映射方程系数的标定点,总共可以获得2n个以多项式映射方程组系数为未知数的方程,将这些方程构成方程组,通过解方程,得到多项式映射方程组的系数,最后把瞳孔中心坐标带入到这个系数中,就可以达到视线追踪的效果。

又比如西安电子科技大学硕士论文《视线跟踪系统中标定技术的研究》所提到的用户标定和视线跟踪过程,提出采用单点的标定方式,见3-4章节,具体视线流程如下:

用户注视一个固定点并且运动他的头部来获得不同的眼图特征和对应固定点在场景摄像机中坐标组成不同的标定点对来建立眼图到场景图之间的映射关系,简化了视线跟踪系统中的标定过程;另外,还使用了利用局部标定点对建立眼图到场景图之间的映射关系,提高了系统的精度。通过获取大量实验数据,对数据进行计算分析表明,单点局部标定方法视线估计精度优于单点全局标定方法,与传统9点标定方法差不多,由于是单点标定,所以从标定时间及适用范围还有自由头补运动方面考虑,研究的单点局部标定方法优于传统9点标定方法。

针对相关技术中的问题,目前尚未提出有效的解决方案。



技术实现要素:

(一)解决的技术问题

针对现有技术的不足,本发明提供了面向头戴式波导显示装置的抗干扰视线追踪方法,具备视线精确视线追踪的优点,进而解决现有视线追踪精度较低的问题。

(二)技术方案

为实现上述视线精确视线追踪的优点,本发明采用的具体技术方案如下:

面向头戴式波导显示装置的抗干扰视线追踪方法,该方法包括以下步骤:

s1、通过波导显示装置中数据采集设备实时采集摄像头图像数据,并传输到计算机;

s2、获取摄像头图像数据,并转换为灰度图像;

s3、对灰度图像进行瞳孔和光斑定位;

s4、对处理后灰度图像进行用户标定;

s5、建立视线坐标,实现视线追踪。

进一步的,所述图像数据为包含有人眼图像和光斑图像的彩色图像,且尺寸为640x480。

进一步的,所述瞳孔的定位为利用瞳孔亮度较低的特性定位到瞳孔中心,所述光斑的定位为根据光斑的亮度进行分割,并选取最上方的左右两个光斑进行定位。

进一步的,所述对处理后灰度图像进行用户标定,包括以下步骤:

s41、通过波导成像面显示标定点;

s42、展示依次显示的9个标定点;

s43、记录标定点位置坐标、瞳孔中心坐标及两个光斑中心坐标数据,并形成数据内容;

s44、对所述数据内容进行处理,计算出光斑与瞳孔的矢量数据;

s45、进行数据筛选,删除干扰数据;

s46、进行模型系数计算。

进一步的,所述通过波导成像面显示标定点的方法为波导设备通过hdmi视频输出线连接并操控电脑上设定的标定过程扩展到波导成像面。

进一步的,所述展示依次显示的9个标定点,包括以下步骤:

s421、9个标定点的位置在波导成像面随机出现,且每次出现一个标定点;

s422、每个标定点的显示过程为从大逐渐变小;

s423、每个标定点显示时长为2.5秒。

进一步的,所述光斑与瞳孔的矢量数据的计算公式如下:

leftdiffpoints[i][j]=pupilpoints[i][j]-leftglintpoints[i][j],i∈[1,9],j∈[1,n];

rightdiffpoints[i][j]=pupilpoints[i][j]-rightglintpoints[i][j],i∈[1,9],j∈[1,n];

其中,pupilpoints表示瞳孔中心坐标数据,leftglintpoints与rightglintpoints分别表示左右两个光斑中心坐标数据,leftdiffpoints表示左矢量,rightdiffpoints表示右矢量,n表示每个标定点记录的数据数量。

进一步的,所述进行数据筛选,删除干扰数据,包括以下步骤:

s451、将每个标定点显示时,采集到数据的前1/3的矢量数据进行删除;

s452、对剩余2/3的矢量数据进行平均值计算,并设定误差距离为dist为10;

s453、判断剩余标定点到均值的距离,距离数值小于dist的数据进行保留,距离数据大于dist的进行删除,其计算公式如下:

pointdist=dist(leftdiffpoints-mean(leftdiffpoints));

其中,pointdist表示矢量点到均值的距离,mean(leftdiffpoints)表示剩余矢量数据的均值。

进一步的,所述视线坐标的建立方法为通过将瞳孔中心坐标与左右两个矢量坐标代入模型系数关系中得到。

进一步的,所述实现视线追踪,包括以下步骤:

s51、通过计算左右两个矢量的视线追踪结果的平均值,作为视线追踪的结果值;

s52、对当前n时刻视线的解算结果,利用前n-30到n的30组数据,建立高斯模型,并通过高斯模型预测n时刻的视线解算结果;

s53、通过瞳孔的位置定位来分析是否发生长时间闭眼情况,若存在长时间闭眼情况,则默认视线追踪结果为闭眼前视线结果值。

(三)有益效果

与现有技术相比,本发明提供了面向头戴式波导显示装置的抗干扰视线追踪方法,具备以下有益效果:本方法可以在用户佩戴头戴式波导设备过程中,即使发生较小的相对位移时,也能得到更加鲁棒的视线追踪精度,并且实现以下效果:

1)视线平滑精度小于0.5°;

2)瞳孔和光斑分割精度达到亚像素级别;

3)能够检测到眨眼、闭眼,并对其做了特殊处理,减少误差,大大提高追踪精度。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是根据本发明实施例的面向头戴式波导显示装置的抗干扰视线追踪方法的流程图;

图2是根据本发明实施例的面向头戴式波导显示装置的抗干扰视线追踪方法中的波导显示装置简易图;

图3是根据本发明实施例的面向头戴式波导显示装置的抗干扰视线追踪方法中摄像头采集到的灰度图像;

图4是根据本发明实施例的面向头戴式波导显示装置的抗干扰视线追踪方法中的瞳孔和两个光斑中心图像;

图5是根据本发明实施例的面向头戴式波导显示装置的抗干扰视线追踪方法中的标定点显示变化过程示意图;

图6是根据本发明实施例的面向头戴式波导显示装置的抗干扰视线追踪方法中的标定点原始数据图像及筛选后图像;

图7是根据本发明实施例的面向头戴式波导显示装置的抗干扰视线追踪方法用户标定步骤流程图;

图8是根据本发明实施例的面向头戴式波导显示装置的抗干扰视线追踪方法中的视线追踪步骤流程图。

具体实施方式

为进一步说明各实施例,本发明提供有附图,这些附图为本发明揭露内容的一部分,其主要用以说明实施例,并可配合说明书的相关描述来解释实施例的运作原理,配合参考这些内容,本领域普通技术人员应能理解其他可能的实施方式以及本发明的优点,图中的组件并未按比例绘制,而类似的组件符号通常用来表示类似的组件。

根据本发明的实施例,提供了面向头戴式波导显示装置的抗干扰视线追踪方法。

现结合附图和具体实施方式对本发明进一步说明,如图1-8所示,根据本发明实施例的面向头戴式波导显示装置的抗干扰视线追踪方法,该方法包括以下步骤:

s1、通过波导显示装置中数据采集设备实时采集摄像头图像数据,并传输到计算机;

s2、获取摄像头图像数据,并转换为灰度图像;

s3、对灰度图像进行瞳孔和光斑定位;

s4、对处理后灰度图像进行用户标定;

s5、建立视线坐标,实现视线追踪。

在一个实施例中,所述图像数据为包含有人眼图像和光斑图像的彩色图像,且尺寸为640x480。

在一个实施例中,所述瞳孔的定位为利用瞳孔亮度较低的特性定位到瞳孔中心,所述光斑的定位为根据光斑的亮度进行分割,并选取最上方的左右两个光斑进行定位。

其中,如图3所示,可以看出瞳孔亮度较低,7个光斑亮度较高且分布在瞳孔周围,而在视线标定和追踪过程中,参与解算的只有瞳孔中心pupil(x,y)和2个光斑中心glint0(x,y)、glint1(x,y)。

在一个实施例中,所述对处理后灰度图像进行用户标定,包括以下步骤:

s41、通过波导成像面显示标定点;

s42、展示依次显示的9个标定点;

s43、记录标定点位置坐标、瞳孔中心坐标及两个光斑中心坐标数据,并形成数据内容;

s44、对所述数据内容进行处理,计算出光斑与瞳孔的矢量数据;

s45、进行数据筛选,删除干扰数据;

s46、进行模型系数计算。

在一个实施例中,所述通过波导成像面显示标定点的方法为波导设备通过hdmi视频输出线连接并操控电脑上设定的标定过程扩展到波导成像面。

其中,波导成像面的默认分辨率为1280*1024,由于标定点是设定的,所以标定点在成像面上的位置是已知的,这样就很方便记录标定点位置坐标,另外,相机也在同步采集眼部图像数据,通过s3提到的瞳孔和光斑定位方法,可以得到瞳孔中心和两个光斑中心的位置。

在一个实施例中,所述展示依次显示的9个标定点,包括以下步骤:

s421、9个标定点的位置在波导成像面随机出现,且每次出现一个标定点;

s422、每个标定点的显示过程为从大逐渐变小;

s423、每个标定点显示时长为2.5秒。

其中,人眼盯着波导成像面上出现的标定点,直到这个标定点消失,根据实际情况,我们采用了9个标定点的方法,并对这个9个点的标定方式用上述步骤作为9个点的展示策略,目的就是为了提高人眼的注意力,从而提升标定的精度。

在一个实施例中,所述光斑与瞳孔的矢量数据的计算公式如下:

leftdiffpoints[i][j]=pupilpoints[i][j]-leftglintpoints[i][j],i∈[1,9],j∈[1,n];

rightdiffpoints[i][j]=pupilpoints[i][j]-rightglintpoints[i][j],i∈[1,9],j∈[1,n];

其中,pupilpoints表示瞳孔中心坐标数据,leftglintpoints与rightglintpoints分别表示左右两个光斑中心坐标数据,leftdiffpoints表示左矢量,rightdiffpoints表示右矢量,n表示每个标定点记录的数据数量。

其中,标定点的中心坐标数据定义为vector<point>calibpoints[9],瞳孔中心的坐标数据定义为vector<point>pupilpoints[9],两个光斑中心坐标数据定义为vector<point>leftglintpoints[9],vector<point>rightglintpoints[9]。

在一个实施例中,所述进行数据筛选,删除干扰数据,包括以下步骤:

s451、将每个标定点显示时,采集到数据的前1/3的矢量数据进行删除;

s452、对剩余2/3的矢量数据进行平均值计算,并设定误差距离为dist为10;

s453、判断剩余标定点到均值的距离,距离数值小于dist的数据进行保留,距离数据大于dist的进行删除,其计算公式如下:

pointdist=dist(leftdiffpoints-mean(leftdiffpoints));

其中,pointdist表示矢量点到均值的距离,mean(leftdiffpoints)表示剩余矢量数据的均值。

此外,在标定过程中,由于存在人眼反应速度以、走神以及眨眼等问题,而每个标定点出现时,人眼反应速度大概是在0.5秒到0.8秒之间,这时采集到的数据很可能会影响到标定的精度,因此要进行数据的筛选与精确。

在一个实施例中,所述视线坐标的建立方法为通过将瞳孔中心坐标与左右两个矢量坐标代入模型系数关系中得到。

其中,模型系数的计算:设定标定点的数据vector<point>calibpoints[9]简称为c(x,y),左矢量的数据vector<point>leftdiffpoints[9]简称为l(x,y),右矢量的数据vector<point>rightdiffpoints[9]简称为r(x,y),将标定点c(x,y)与左右两个矢量l(x,y)和r(x,y)进行二项式拟合,得到实际标注点与左右两个矢量之间的模型系数映射关系,拟合公式如下:

此外,用户标定完成后,会得到模型系数(a00…a05,b00…b05)和(a10…a15,b10…b15),根据步骤s3,计算得到新的瞳孔坐标和左右两个矢量坐标,带入到上述拟合公式,便得到视线坐标,从而达到视线追踪的效果,但在计算实际视线追踪过程中,存在眨眼、闭眼以及头部运动等干扰,所以为解决这些干扰,除了用户标定中解决的部分问题外,还需要对实现追踪进行进一步的处理。

在一个实施例中,所述实现视线追踪,包括以下步骤:

s51、通过计算左右两个矢量的视线追踪结果的平均值,作为视线追踪的结果值,从而减少了利用单个向量值解算带来的误差;

s52、对当前n时刻视线的解算结果,利用前n-30到n的30组数据,建立高斯模型,并通过高斯模型预测n时刻的视线解算结果,从而实现了高斯平滑的目的,即解决了视线解算后抖动的问题,同时也解决了眨眼产生的突变问题;

s53、通过瞳孔的位置定位来分析是否发生长时间闭眼情况,若存在长时间闭眼情况,则默认视线追踪结果为闭眼前视线结果值。

综上所述,借助于本发明的上述技术方案,通过本方法可以在用户佩戴头戴式波导设备过程中,即使发生较小的相对位移时,也能得到更加鲁棒的视线追踪精度,并且实现以下效果:1)视线平滑精度小于0.5°;2)瞳孔和光斑分割精度达到亚像素级别;3)能够检测到眨眼、闭眼,并对其做了特殊处理,减少误差,大大提高追踪精度。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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