首页 / 专利库 / 视听技术与设备 / 眼球追踪摄像头 / 基于眼球追踪的空间数据沉浸式交互方法

基于眼球追踪的空间数据沉浸式交互方法

阅读:507发布:2020-07-09

专利汇可以提供基于眼球追踪的空间数据沉浸式交互方法专利检索,专利查询,专利分析的服务。并且本 发明 公开了一种基于眼球追踪的空间数据沉浸式交互方法,包括以下步骤:初始化空间数据 可视化 窗口,启动摄像头,眼睛依次注视空间 数据可视化 窗口的四个 顶点 ,标定眼球视线焦点在摄像头采集到的图像中的 位置 。位置标定完成后,开始空间数据可视化交互,通过摄像头采集人脸图像,计算眼球视线焦点位置,根据视线焦点位置推算出空间数据可视化窗口新的中心点地理坐标,然后更新空间数据可视化窗口中的图像。本发明方法解决了传统空间数据交互方式中需要依赖于手的 缺陷 ,可让用户所有注意 力 全部沉浸到空间数据可视化窗口中,增强了空间数据可视化交互体验,尤其适用于上肢残障人群。,下面是基于眼球追踪的空间数据沉浸式交互方法专利的具体信息内容。

1.一种基于眼球追踪的空间数据沉浸式交互方法,其特征在于,其包括以下步骤:
步骤1)初始化空间数据可视化窗口,计算空间数据可视化窗口中心点O’的坐标值(xo1,yo1),计算空间数据可视化窗口的四个顶点B’(xb1,yb1)、A’(xa1,ya1)、C’(xc1,yc1)、D’(xd1,yd1)的坐标值,设置操作类型为“位置标定”;
步骤2)启动摄像头设备,判断操作类型,如果操作类型是“位置标定”,转步骤3),如果是“可视化交互”,转步骤8);
步骤3)提示用户保持身体不动,头部向左上移动,眼球注视空间数据可视化窗口的左上角B’,采集图像数据,提取图像数据中左眼和右眼的眼球位置信息,计算眼球视线焦点的坐标值,设其为点B,坐标为(xb,yb);
步骤4)提示用户保持身体不动,头部向左下角移动,眼球注视空间数据可视化窗口的左下角D’,采集图像数据,提取图像数据中左眼和右眼的眼球位置信息,计算眼球视线焦点的坐标值,设其为点D,坐标为(xd,yd);
步骤5)提示用户保持身体不动,头部向右上角移动,眼球注视空间数据可视化窗口的右上角A’,采集图像数据,提取图像数据中左眼和右眼的眼球位置信息,计算眼球视线焦点的坐标值,设其为点A,坐标为(xa,ya);
步骤6)提示用户保持身体不动,头部向右下角移动,眼球注视空间数据可视化窗口的右下角C’,采集图像数据,提取图像数据中左眼和右眼的眼球位置信息,计算眼球视线焦点的坐标值,设其为点C,坐标为(xc,yc);
步骤7)计算视线焦点在X和Y方向上移动1个像素相当于空间数据在X和Y方向上移动的空间坐标距离,设其分别为px和py,坐标标定结束;设置操作类型为可视化交互,转步骤2);
步骤8)提示用户保持身体不动,根据用户的交互需求,移动头部并用眼睛注视空间数据可视化窗口的相应位置;
步骤9)采集图像数据,提取图像数据中左眼和右眼的眼球位置信息,计算眼球视线焦点坐标,判断该位置是否在坐标标定的四个点构成的四边形范围ABDC内,如果是,转步骤
10),如果否,则转步骤12);
步骤10)计算眼球视线焦点相对于四边形范围ABDC中点O(xo,yo)在X和Y方向上的偏移量,判断X和Y方向偏移量是否小于指定阈值T,如果X和Y方向的偏移量均小于T,转8),如果否,则转11);
步骤11)根据眼球视线焦点的偏移量计算出新的空间数据可视化窗口的中心点坐标值,更新空间数据可视化窗口中的图像数据,更新中心点O’的坐标值(xo1,yo1),转步骤8)进行下一次交互;
步骤12)关闭摄像头,结束。
2.根据权利要求1所述的基于眼球追踪的空间数据沉浸式交互方法,其特征在于,所述眼球视线焦点为两个眼球连线的中点。

说明书全文

基于眼球追踪的空间数据沉浸式交互方法

技术领域

[0001] 本发明涉及地理信息系统技术,尤其是一种基于眼球追踪的空间数据沉浸式交互方法。

背景技术

[0002] 空间数据沉浸式交互方法是地理信息系统中需要解决的重要问题之一,目前空间数据的交互方式主要是通过鼠标键盘触摸板等交互设备实现,也可以基于手势识别技术,通过手的动作来进行空间数据交互。上述交互方法在用户使用眼睛注视空间数据时,均需要同时使用手来进行设备操作,完成空间数据的交互过程。使得用户需要将一部分注意放在手的控制上,降低了用户体验,而且无法适用于上肢残障人群。

发明内容

[0003] 本发明要解决的技术问题在于针对现有技术中的缺陷,提供一种基于眼球追踪的空间数据沉浸式交互方法,利用便携式笔记本的前置摄像头、USB外置摄像头以及其它带有摄像头的硬件设备,通过追踪眼球位置的变化来自动完成空间数据的可视化交互,解决传统交互方式需要手参与的缺陷,增强用户体验。
[0004] 本发明解决其技术问题所采用的技术方案是:一种基于眼球追踪的空间数据沉浸式交互方法,其包括以下步骤:
[0005] 步骤1)初始化空间数据可视化窗口,计算空间数据可视化窗口中心点O’的坐标值(xo1,yo1),计算空间数据可视化窗口的四个顶点B’(xb1,yb1)、A’(xa1,ya1)、C’(xc1,yc1)、D’(xd1,yd1)的坐标值,设置操作类型为“位置标定”;
[0006] 步骤2)启动摄像头设备,判断操作类型,如果操作类型是“位置标定”,转步骤3),如果是“可视化交互”,转步骤8);
[0007] 步骤3)提示用户保持身体不动,头部向左上移动,眼球注视空间数据可视化窗口的左上角B’,采集图像数据,提取图像数据中左眼和右眼的眼球位置信息,计算眼球视线焦点(即两个眼球连线的中点)的坐标值,设其为点B,坐标为(xb,yb);
[0008] 步骤4)提示用户保持身体不动,头部向左下角移动,眼球注视空间数据可视化窗口的左下角D’,采集图像数据,提取图像数据中左眼和右眼的眼球位置信息,计算眼球视线焦点的坐标值,设其为点D,坐标为(xd,yd);
[0009] 步骤5)提示用户保持身体不动,头部向右上角移动,眼球注视空间数据可视化窗口的右上角A’,采集图像数据,提取图像数据中左眼和右眼的眼球位置信息,计算眼球视线焦点的坐标值,设其为点A,坐标为(xa,ya);
[0010] 步骤6)提示用户保持身体不动,头部向右下角移动,眼球注视空间数据可视化窗口的右下角C’,采集图像数据,提取图像数据中左眼和右眼的眼球位置信息,计算眼球视线焦点的坐标值,设其为点C,坐标为(xc,yc);
[0011] 步骤7)计算视线焦点在X和Y方向上移动1个像素相当于空间数据在X和Y方向上移动的空间坐标距离,设其分别为px和py,坐标标定结束。关闭摄像头,设置操作类型为可视化交互,转步骤2)。
[0012] 步骤8)提示用户保持身体不动,根据用户的交互需求,移动头部并用眼睛注视空间数据可视化窗口的相应位置;
[0013] 步骤9)采集图像数据,提取图像数据中左眼和右眼的眼球位置信息,计算眼球视线焦点坐标,判断该位置是否在坐标标定的四个点构成的四边形范围ABDC内,如果是,转步骤10),如果否,则转步骤12);
[0014] 步骤10)计算眼球视线焦点相对于四边形范围ABDC中点O(xo,yo)在X和Y方向上的偏移量,判断X和Y方向偏移量是否小于指定阈值T,如果X和Y方向的偏移量均小于T,转8),如果否,则转11);
[0015] 步骤11)根据眼球视线焦点的偏移量计算出新的空间数据可视化窗口的中心点坐标值,更新空间数据可视化窗口中的图像数据,更新中心点O’的坐标值(xo1,yo1),转步骤8)进行下一次交互;
[0016] 步骤12)关闭摄像头,结束。
[0017] 本发明的有益效果是能够通过摄像头采集到的人脸图像,自动追踪眼球的位置变化,并推算出新的空间数据可视化范围中心点,同步更新空间数据可视化窗口中的图像数据,解决传统空间数据交互方式中需要依赖于手的缺陷,让用户所有注意力全部沉浸到空间数据的可视化窗口中,增强空间数据可视化交互体验,尤其适用于上肢残障人群。附图说明
[0018] 下面将结合附图及实施例对本发明作进一步说明,附图中:
[0019] 图1是本发明的方法流程图
[0020] 图2是本发明摄像头采集图像中标定的视线焦点与空间数据可视化窗口四个顶点的映射关系图;
[0021] 图3是本发明实施例使用的空间数据示意图。

具体实施方式

[0022] 为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
[0023] 如图1所示,图1是本发明提供的基于眼球追踪的空间数据沉浸式交互方法流程图,所述方法包括以下步骤:
[0024] 步骤1)初始化空间数据可视化窗口,宽度为W像素,高度为H像素,设空间数据的原始地理坐标范围为[(xmin,xmax),(ymin,ymax)],根据公式(1)-(2)计算空间数据可视化窗口中心点O’的坐标值(xo1,yo1),根据公式(3)-(10)计算空间数据可视化窗口的四个顶点B’(xb1,yb1)、A’(xa1,ya1)、C’(xc1,yc1)、D’(xd1,yd1)的坐标值,四个顶点与摄像头采集图像中的眼球视线焦点的对应关系如图2所示。设置操作类型为“位置标定”。
[0025] xo1=xmin+max(xmax-xmin,ymax-ymin)/max(W,H)*W/2   公式(1)
[0026] yo1=ymin+max(xmax-xmin,ymax-ymin)/max(W,H)*H/2   公式(2)
[0027] xb1=xmin   公式(3)
[0028] yb1=ymin+max(xmax-xmin,ymax-ymin)/max(W,H)*H   公式(4)
[0029] xa1=xmin+max(xmax-xmin,ymax-ymin)/max(W,H)*W   公式(5)
[0030] ya1=ymin+max(xmax-xmin,ymax-ymin)/max(W,H)*H   公式(6)
[0031] xc1=xmin+max(xmax-xmin,ymax-ymin)/max(W,H)*W   公式(7)
[0032] yc1=ymin   公式(8)
[0033] xd1=xmin   公式(9)
[0034] yd1=ymin公式(10)
[0035] 步骤2)启动摄像头设备,判断操作类型,如果操作类型是“位置标定”,转步骤3),如果是“可视化交互”,转步骤8)。
[0036] 步骤3)提示用户保持身体不动,头部向左上角移动,眼球注视空间数据可视化窗口的左上角B’,采集图像数据,提取图像数据中左眼和右眼的眼球位置信息,设左眼眼球中心点的坐标为(xl,yl),右眼眼球中心点的坐标为(xr,yr),依据公式(11)-(12)计算眼球视线焦点(即两个眼球连线的中点)的坐标值(xcur,ycur),设其为点B,坐标为(xb,yb)。
[0037] xcur=(xl+xr)/2   公式(11)
[0038] ycur=(yl+yr)/2   公式(12)
[0039] 步骤4)提示用户保持身体不动,头部向左下角移动,眼球注视空间数据可视化窗口的左下角D’,采集图像数据,提取图像数据中左眼和右眼的眼球位置信息,与步骤3)中B点坐标的计算方法相同,计算眼球视线焦点的坐标值,设其为点D,坐标为(xd,yd)。
[0040] 步骤5)提示用户保持身体不动,头部向右上角移动,眼球注视空间数据可视化窗口的右上角A’,采集图像数据,提取图像数据中左眼和右眼的眼球位置信息,计算眼球视线焦点的坐标值,与步骤3)中B点坐标的计算方法相同,设其为点A,坐标为(xa,ya)。
[0041] 步骤6)提示用户保持身体不动,头部向右下角移动,眼球注视空间数据可视化窗口的右下角C’,采集图像数据,提取图像数据中左眼和右眼的眼球位置信息,计算眼球视线焦点的坐标值,与步骤3)中B点坐标的计算方法相同,设其为点C,坐标为(xc,yc)。
[0042] 步骤7)计算视线焦点在X和Y方向上移动1个像素相当于空间数据在X和Y方向上移动的空间坐标距离,设其分别为px和py,计算公式为公式(13)-(14),坐标标定结束。关闭摄像头,设置操作类型为可视化交互,转步骤2)。
[0043] px=(xa1-xb1)/(xb-xa)   公式(13)
[0044] py=(ya1-yc1)/(yc-ya)   公式(14)
[0045] 步骤8)提示用户保持身体不动,根据用户自身的交互需求,自行移动头部并用眼睛注视空间数据可视化窗口的相应位置;
[0046] 步骤9)采集图像数据,提取图像数据中左眼和右眼的眼球位置信息,计算眼球视线焦点坐标(xcur,ycur),与步骤3)中B点坐标的计算方法相同,判断该位置是否在坐标标定的四个点构成的四边形范围ABDC内,如果是(估算方法为xa
[0047] 步骤10)计算眼球视线焦点(xcur,ycur)相对于四边形范围ABDC中点O(xo,yo)在X和Y方向上的偏移量,设分别为dx和dy,则dx=xcur-xo,dy=ycur-yo。判断X和Y方向偏移量的绝对值是否小于指定阈值T,如果X和Y方向的偏移量均小于阈值T,转8),如果否,则转11)。
[0048] 步骤11)根据眼球视线焦点的偏移量dx和dy计算出新的空间数据可视化窗口的中心点坐标值(tempx,tempy),其计算方法如公式(15)-(16)所示,使用新的中心点坐标更新空间数据可视化窗口中的图像数据,更新中心点O’的坐标值(xo1,yo1),转步骤8)进行下一次交互。
[0049] tempx=xo1-dx*px   公式(13)
[0050] tempy=yo1-dy*py   公式(14)
[0051] 步骤12)关闭摄像头,结束。
[0052] 本发明最明显的不同借助摄像头设备采集到的人脸图像,实现眼球视线焦点的自动跟踪,根据眼球视线焦点的位置变化来推算空间数据的位移,同步更新空间数据可视化窗口中的图像,使得用户不需要使用手来进行空间数据的交互,从而可以将注意力全部沉浸到空间数据可视化窗口中,增强空间数据可视化交互体验,尤其适用于上肢残障人群。
[0053] 实施例一:
[0054] 为了更清晰的说明本发明的思想,下面对基于眼球追踪的空间数据沉浸式交互方法进行进一步的说明,以图3所示的空间数据为例,其原始空间数据范围为[(-180,-90),(180,90)],设置眼球视线焦点偏移阈值T为5像素,空间数据可视化窗口宽度设置为1000像素,高度设置为600像素,以眼球注视图3中点F的交互过程为例进行阐述,使用Openlayers作为空间数据显示引擎,使用OpenCV图像处理库采集摄像头图像并对图像进行处理,具体步骤如下:
[0055] 步骤1)初始化空间数据可视化窗口,宽度为1000像素,高度为600像素,空间数据的原始地理坐标范围为[(-180,-90),(180,90)],根据公式(1)-(2)计算空间数据可视化窗口中心点O’的坐标值(xo1,yo1),根据公式(3)-(10)计算空间数据可视化窗口的四个顶点B’(xb1,yb1)、A’(xa1,ya1)、C’(xc1,yc1)、D’(xd1,yd1)的坐标值,计算结果如表1所示,调用Openlayers提供的setCenter方法,设置空间数据可视化窗口的中心点为(0,18),并调用setResolution方法设置空间数据可视化分辨率为360/1000=0.36。设置操作类型为“位置标定”。表1空间数据可视化窗口各个顶点坐标
[0056]坐标点 坐标值
O’ (0,18)
A’ (180,126)
B’ (-180,126)
C’ (180,-90)
D’ (-180,-90)
[0057] 步骤2)调用OpenCV中VideoCapture提供的open函数启动摄像头设备,判断操作类型,如果操作类型是“位置标定”,转步骤3),如果是“可视化交互”,转步骤8)。
[0058] 步骤3)提示用户保持身体不动,头部向左上角移动,眼球注视空间数据可视化窗口的左上角B’,通过OpenCV中VideoCapture提供的frame变量采集图像数据,通过OpenCV中CascadeClassifier提供的detectMultiScale函数提取图像数据中左眼和右眼的眼球位置信息,左眼眼球中心点的坐标(x1,y1)为(369,195),右眼眼球中心点的坐标(xr,yr)为(299,193),依据公式(11)-(12)计算眼球视线焦点(即两个眼球连线的中点)的坐标值(xcur,ycur),xcur=(369+299)/2=334,ycur=(193+195)/2=194,设其为点B(xb,yb),即xb=334,yb=194。
[0059] 步骤4)提示用户保持身体不动,头部向左下角移动,眼球注视空间数据可视化窗口的左下角D’,采集图像数据,提取图像数据中左眼和右眼的眼球位置信息,左眼眼球中心点的坐标为(365,231),右眼眼球中心点的坐标为(295,233),与步骤3)中的计算方法相同,计算出眼球视线焦点的坐标值为(330,232),设其为点D(xd,yd),即xd=330,yd=232。
[0060] 步骤5)提示用户保持身体不动,头部向右上角移动,眼球注视空间数据可视化窗口的右上角A’,采集图像数据,提取图像数据中左眼和右眼的眼球位置信息,左眼眼球中心点的坐标为(280,192),右眼眼球中心点的坐标为(200,190),与步骤3)中的计算方法相同,计算出眼球视线焦点的坐标值为(240,191),设其为点A(xa,ya),即xa=240,ya=191。
[0061] 步骤6)提示用户保持身体不动,头部向右下角移动,眼球注视空间数据可视化窗口的右下角C’,采集图像数据,提取图像数据中左眼和右眼的眼球位置信息,左眼眼球中心点的坐标为(269,234),右眼眼球中心点的坐标为(191,232),与步骤3)中的计算方法相同,计算出眼球视线焦点的坐标值为(230,233),设其为点C(xc,yc),即xc=230,yc=233。
[0062] 步骤7)计算视线焦点在X和Y方向上移动1个像素相当于空间数据在X和Y方向上移动的空间坐标距离,设其分别为px和py,计算公式为公式(13)-(14),px=(180+180)/(334-240)=3.829787,py=(126+90)/(233-191)=5.142857。坐标标定结束。调用OpenCV中VideoCapture提供的release函数关闭摄像头,设置操作类型为可视化交互,转步骤2)。
[0063] 步骤8)提示用户保持身体不动,用户根据自身的交互需求,自行移动头部并用眼睛注视空间数据可视化窗口F点;
[0064] 步骤9)通过OpenCV中VideoCapture提供的frame变量采集图像数据,通过OpenCV中CascadeClassifier提供的detectMultiScale函数提取图像数据中左眼和右眼的眼球位置信息,左眼眼球中心点的坐标为(287,205),右眼眼球中心点的坐标为(209,205)。与步骤3)中的计算方法相同,计算眼球视线焦点坐标(xcur,ycur)为(248,205),估算该位置是否在坐标标定的四个点构成的四边形范围ABDC内,因为240=xa
[0065] 步骤10)估算当前眼球视线焦点(248,205)相对于四边形范围ABDC中点O(xo,yo)在X和Y方向上的偏移量,设分别为dx和dy,则dx=xcur-xo=xcur–(xb+xa)/2=248-(334+240)/2=-39,dy=ycur-yo=ycur-(yc+ya)/2=205-(233+191)/2=-7。判断X和Y方向偏移量的绝对值是否小于指定阈值T=5,因为X和Y方向的偏移量绝对值均大于阈值5,因此转11)。
[0066] 步骤11)根据眼球视线焦点的偏移量dx和dy计算出新的空间数据可视化窗口的中心点坐标值(tempx,tempy),其计算方法如公式(15)-(16)所示,tempx=0-(-39)*3.829787=149.361693,tempy=18-(-7)*5.142857=53.999999。调用Openlayers中提供的setCenter方法,使用新的中心点坐标(149.361693,53.999999)更新空间数据可视化窗口中的图像数据,更新中心点O’的坐标值(xo1,yo1)为(149.361693,53.999999)。至此,眼球注视图3中F点时同步更新可视化窗口中空间数据的沉浸式交互过程到此结束。
[0067] 采用本发明设计的基于眼球追踪的空间数据沉浸式交互方法,在用户眼睛注视空间数据可视化窗口时,能够通过摄像头采集到的人脸图像,计算出眼球视线焦点的变化,从而进一步推算出空间数据可视化窗口中的数据的偏移量,该方法摆脱了传统交互方式需要依赖于手操作的缺陷,使得用户注意力可以完全沉浸到空间数据可视化中,极大地增强了用户体验,尤其适用于上肢残障人群。
[0068] 在上述步骤中需要特别说明的是:
[0069] 1.本发明将两个眼球连线中点作为眼球视线焦点,使用该点在摄像头采集图像中的像素坐标偏移来推算空间数据的地理坐标位移。
[0070] 2.本发明支持空间数据在同一分辨率下向任意方向移动,基于该方法可以进一步改进和演化,基于左眼和右眼的距离变化来改变空间数据的显示分辨率,同样在权利保护范围内。
[0071] 3.本发明同时适用于空间数据在二维视图和三维视图中的可视化交互,且适用于矢量空间数据和栅格空间数据,均在权利保护范围内。
[0072] 4.基于双摄像头眼动仪、多摄像头眼动仪、Kinect等任何带有摄像头的设备,均可以在本发明的基础上进行改进和变换,所有基于这些硬件进行的改进和变换均在权利保护范围内。
[0073] 应当理解的是,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,而所有这些改进和变换都应属于本发明所附权利要求的保护范围。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈