介绍一个Gazture,新的系统,有两层结构,1:注重实时注视估计通过可接受的跟踪精度,同时花销小。2:实现了鲁棒性的手势识别算法,在补偿注视估计错误的同时。
、gaze应用广泛
传统的不足
我们这个东西的介绍
我们用的设备
现在的跟踪技术介绍两类 台式电脑和移动端 台式电脑各个公司啥样,各个人都用啥样的跟踪检测,一种发展吧。
移动设备的跟踪检测发展。
为啥用手势交互
介绍两层结构
1.注视跟踪层: 三个挑战(便宜设备能行不, 人头会动, 人姿态不同 眼跟电脑距离不一样)。主要任务(开销小,以可接受的精度估位,解决头部动和姿态变化的影响)。
首先,在拍摄的每一帧中提取有意义的 眼睛特征, (比较一些分类器,然后用SDK了),提取眼部特征(提取方法是现有的,特征包括 瞳孔,眼睑上下,左右眼角)。
收集的E《L,Ri》就是各种i注视参考的左右眼特征, G就是Ei对应的注视位置。
当前新捕获的是e ,N(e,E)就是预定义的距离 就是找到比较想参考的眼特征, 就把当前的眼特征当做就是和参考的那个一样, 那算参考的注视位置,就相当于算当前眼的注视位置
2步 映射转移: 通过一个转移函数 吧活跃的眼睛特征--》参考的,,,
收集注视信息: 收集的是眼睛特征E'和 对应注视位置G’ 这些都可以在电脑上显式或隐式的收集出来,隐就是比如人看电脑上软件可能会一直盯着那个地方,这就可以隐式收集。
对于G’ 找到临近的G(在初始的映射G中),G找到对应的E(也是初始),E通过计算加权平均得到E波浪。
用户改变位姿了,我们要构造一个转移函数 就是E波浪和E'的。线性传递函数 E波浪向量大小20.
看式子(3):S是对角矩阵(比例因子),T是一个向量(偏移因子)。
目标是式子(4):通过最小二乘法找到S和T的价值。min(v)是向量v的每维最小值。
E’和E波浪通过转移函数的转换 变成了或说呗我们当做了参考眼特征了, 再去用公式1 就能计算位置了; 公式一就是新捕获的图像和参考图像之间计算的公式。
手势识别层了!!!!!!!!!!!!!!!、
传统都基于位置的 然后要注重三方面 举个例子怎么滴
我们的Gazture是有一系列凝视位置衍生的凝视移动方向组成的。 有8个方向 咋用的呢 看图二!!!!!
获取到注视位置之后,要识别手势, 但是有困难: 估计的注视位置有误差,每个方向凝视位置个数不同, 2个方向的结合未知。
解决: 方向计算和手势提取。
方向计算: 设计滑动窗口的方向计算方法。 在每个窗口中都会发现有注视估计误差甚至是异常值。 -------所以 利用鲁棒拟合方法计算每个窗口中注视的斜率。
利用邻近的注视位置的xy坐标的变化趋势, 判断方向 是k 还是k+180度。
最后,我们将计算的角度映射到手势中最近的预定义方向(意思是不是 看跟哪个手势方向比较像????)。我们称这一步得到的方向为滑动方向。如图3所示,滑动方向是从第一个滑动窗口w1计算的
手势提取: 可以问题: 计算的方向仍错;哪怕没错, 可能最后一个手势中两个方向的结合不对
解决: 设计一个第二层手势提取方法 。
对于每一个窗口 确定他的方向
(最频繁的滑动方向和预定义的阈值th决定, 如果最频繁>th 窗口方向就为最频繁的滑动方向;否则,当前窗口方向忽略)
对连续的相同的方向进行聚合。
(当前方向如果与前一个方向不同,我们将其添加为当前手势的方向)
给出算法 伪代码
初始映射: 使用电脑上随机点,然后人看着 进行收集。
用的一些函数去检测眼睛特征 获取触摸位置
假设用户在触摸的时候会看这些位置 那吧触摸位置看做是凝视位置
可以支持两种映射传输模式:显式和隐式 、
手势识别:支持两种mode realtime 和batch 批处理
实时就是捕获到图片就立即处理 计算眼特征
批处理是先获得一个手势所有照片 然后用点时间去处理 以获得该手势
实时用的时间短 所有精度没有批处理的高
像游戏那种 对时间敏感 可以用实时 ;像解锁设备 对精度敏感 选择批处理。
实验的环境 志愿者的选择 从以下方面进行评估性能
实验分两部分 校准和注视跟踪
校准:出现点 人看,如果捕捉的两个连续画面 眼没动就是在看点。 记录点位置和眼特征
注视跟踪:
眼跟踪点50次,系统会记录刺激的位置和估计的注视位置。注视跟踪的精度可以用刺激物位置与估计注视位置之间的欧氏距离来表示。欧几里得距离越小,精度越高。跟踪速度是帧处理时间的倒数。