一种基于凝视的平板电脑手势控制系统的设计与实现

6360b5b9351f4f61953b8eca67f5422f.png

 

介绍一个Gazture,新的系统,有两层结构,1:注重实时注视估计通过可接受的跟踪精度,同时花销小。2:实现了鲁棒性的手势识别算法,在补偿注视估计错误的同时。

998f062bb480480090bba02b743a95c8.png

0645ca600a7c4e0c996ab1154dddb449.png

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETkBZb3lvMjExMzk5,size_20,color_FFFFFF,t_70,g_se,x_16

 

、gaze应用广泛

6a68ed70c7854e4dbcaf5b8c83dcdf51.png

传统的不足

b7808186d5f24fb08bfa85cd6e736af0.png

我们这个东西的介绍

e25d8678a7b24084a9be379f35552eba.png

 

我们用的设备

4e55777278a0489ca8cf097018d6c195.png

现在的跟踪技术介绍两类   台式电脑和移动端   台式电脑各个公司啥样,各个人都用啥样的跟踪检测,一种发展吧。

 2f738e692ec14d278ab6a56e5e863dc8.png

 移动设备的跟踪检测发展。

4555595db31b41738e5d790d078a43ba.png

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETkBZb3lvMjExMzk5,size_20,color_FFFFFF,t_70,g_se,x_16

 

ecae469409f94a3ea3c0d4a28c13eba5.png

 

为啥用手势交互 

e3691cda75c64747a9e47590d70d782f.png

介绍两层结构

1.注视跟踪层:  三个挑战(便宜设备能行不, 人头会动, 人姿态不同 眼跟电脑距离不一样)。主要任务(开销小,以可接受的精度估位,解决头部动和姿态变化的影响)。

       首先,在拍摄的每一帧中提取有意义的 眼睛特征, (比较一些分类器,然后用SDK了),提取眼部特征(提取方法是现有的,特征包括 瞳孔,眼睑上下,左右眼角)。

 12d152bcb7964f43ae3725d9be635f92.png

33e581db8a3b46cda78b61b2fc9471ee.png

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETkBZb3lvMjExMzk5,size_20,color_FFFFFF,t_70,g_se,x_16

 

f17f9a968a344d68b5f2f986510a4d61.png fee63c46dbf74ff2a343887df2a5db39.png

 ac6fdd875bb942369ca292c0ddd210b6.png

 

收集的E《L,Ri》就是各种i注视参考的左右眼特征, G就是Ei对应的注视位置。

 当前新捕获的是e ,N(e,E)就是预定义的距离 就是找到比较想参考的眼特征, 就把当前的眼特征当做就是和参考的那个一样, 那算参考的注视位置,就相当于算当前眼的注视位置

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETkBZb3lvMjExMzk5,size_20,color_FFFFFF,t_70,g_se,x_16

 

ccbf23e859d04b90bfe7938ed8b14cbd.png

 2步 映射转移: 通过一个转移函数 吧活跃的眼睛特征--》参考的,,,

       收集注视信息: 收集的是眼睛特征E'和 对应注视位置G’   这些都可以在电脑上显式或隐式的收集出来,隐就是比如人看电脑上软件可能会一直盯着那个地方,这就可以隐式收集。

    对于G’ 找到临近的G(在初始的映射G中),G找到对应的E(也是初始),E通过计算加权平均得到E波浪。

  用户改变位姿了,我们要构造一个转移函数 就是E波浪和E'的。线性传递函数 E波浪向量大小20.

 看式子(3):S是对角矩阵(比例因子),T是一个向量(偏移因子)。

目标是式子(4):通过最小二乘法找到S和T的价值。min(v)是向量v的每维最小值。

40a04a3b81dd4695a497daf56e7e2fa8.png

 E’和E波浪通过转移函数的转换 变成了或说呗我们当做了参考眼特征了, 再去用公式1 就能计算位置了; 公式一就是新捕获的图像和参考图像之间计算的公式。

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETkBZb3lvMjExMzk5,size_20,color_FFFFFF,t_70,g_se,x_16

 

076058ffb05b420b89c3d3a28d02b0b0.png

 

手势识别层了!!!!!!!!!!!!!!!、

 传统都基于位置的 然后要注重三方面 举个例子怎么滴

 

我们的Gazture是有一系列凝视位置衍生的凝视移动方向组成的。 有8个方向 咋用的呢 看图二!!!!!

 a37f65438f8f4965a951dad9e13756f9.png

 获取到注视位置之后,要识别手势, 但是有困难: 估计的注视位置有误差,每个方向凝视位置个数不同, 2个方向的结合未知。

 

    解决: 方向计算和手势提取。

方向计算: 设计滑动窗口的方向计算方法。 在每个窗口中都会发现有注视估计误差甚至是异常值。  -------所以 利用鲁棒拟合方法计算每个窗口中注视的斜率。

           利用邻近的注视位置的xy坐标的变化趋势, 判断方向 是k 还是k+180度。

最后,我们将计算的角度映射到手势中最近的预定义方向(意思是不是 看跟哪个手势方向比较像????)。我们称这一步得到的方向为滑动方向。如图3所示,滑动方向是从第一个滑动窗口w1计算的

d67d15fec05a4983a37cd7247cbc0261.png

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETkBZb3lvMjExMzk5,size_20,color_FFFFFF,t_70,g_se,x_1616227b34e4bc48da95bbb69dbc232bcb.png

 

 

3786531876e04ea483fb93c4e73ebd3a.pngwatermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETkBZb3lvMjExMzk5,size_20,color_FFFFFF,t_70,g_se,x_16 

 

efb717280e8c49e4aeb8a7c071019577.png 

 

手势提取: 可以问题: 计算的方向仍错;哪怕没错, 可能最后一个手势中两个方向的结合不对

    解决:   设计一个第二层手势提取方法 。

         对于每一个窗口 确定他的方向

(最频繁的滑动方向和预定义的阈值th决定, 如果最频繁>th  窗口方向就为最频繁的滑动方向;否则,当前窗口方向忽略)

       对连续的相同的方向进行聚合。

(当前方向如果与前一个方向不同,我们将其添加为当前手势的方向)

给出算法 伪代码

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETkBZb3lvMjExMzk5,size_20,color_FFFFFF,t_70,g_se,x_16

 

230d10fdf8754cd3bbe941d3f5db00f9.png

 初始映射: 使用电脑上随机点,然后人看着 进行收集。

     用的一些函数去检测眼睛特征 获取触摸位置

假设用户在触摸的时候会看这些位置 那吧触摸位置看做是凝视位置

 可以支持两种映射传输模式:显式和隐式  、

8e8a83ff52d84472a4aa7dddfa5d793d.png

手势识别:支持两种mode realtime 和batch 批处理

     实时就是捕获到图片就立即处理 计算眼特征

      批处理是先获得一个手势所有照片 然后用点时间去处理 以获得该手势

 实时用的时间短 所有精度没有批处理的高

像游戏那种 对时间敏感 可以用实时 ;像解锁设备 对精度敏感  选择批处理。

1317d93212ec4442bc30258e42e04ac5.png

 实验的环境  志愿者的选择  从以下方面进行评估性能

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETkBZb3lvMjExMzk5,size_20,color_FFFFFF,t_70,g_se,x_16

 

dcdb0d7347744f0e898d6e4ce27794a5.png

 

实验分两部分 校准和注视跟踪

校准:出现点 人看,如果捕捉的两个连续画面 眼没动就是在看点。 记录点位置和眼特征

注视跟踪:

眼跟踪点50次,系统会记录刺激的位置和估计的注视位置。注视跟踪的精度可以用刺激物位置与估计注视位置之间的欧氏距离来表示。欧几里得距离越小,精度越高。跟踪速度是帧处理时间的倒数。

 2cd277046698418f83ec2f8c2b913c60.png

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETkBZb3lvMjExMzk5,size_20,color_FFFFFF,t_70,g_se,x_16

 

1171f16ebb3a4fcc9e7f0f82574ea332.png 

f529b451232849b39a3868ab8f2567a4.png

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETkBZb3lvMjExMzk5,size_20,color_FFFFFF,t_70,g_se,x_16 

 

49c6fcf6c6b1480c9f8fca80847807bd.png 

f6bf4165453d456ab3d235b8e24270de.png 

2c57b22d50f745009a5d3502e69e5c09.png 

4b35e74006b345319a747dce522006d7.png 

1ccf078f53a74d5fab261696cd135761.png 

8830635406824dd7ab7f19fcd5e0eaec.png 

01578221417b41e3b144132c62aebbab.png 

99c46e2d44bb47d99f8b5907a1c82ba6.png 

384641d79fbf4fc081402df4e420d502.png 

bcbe8df2e04e41e6995d95c6ea882621.png 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值