1、注视点估计二维法

思路:主要是利用瞳孔和角膜反射光斑的向量和屏幕上的注视点进行拟合


实验环境:在有近红外灯的前提下进行实验,850-860nm的波长,这种红外灯在瞳孔进行反射,在角膜上形成一个反射亮斑,


1、首先进行瞳孔的检测,得到瞳孔的坐标

2、进行反射亮斑的位置检测,得到亮斑的坐标

3、根据在屏幕上的注视点的位置和瞳孔与亮斑之间的向量的关系进行函数拟合

注视点的位置信息和瞳孔与亮斑之间的向量拟合方式主要有这几种:

1、多项式拟合

设(x,y)为注视点的坐标,(x1,y1)为瞳孔与亮斑之间的向量,多项式拟合的关系

x=a+a1*x1+a2*y1+a3*x*y+a4*x1^2+a5*y1^2;

y=b+b1*y1+b2*x1+b3*x1*y1+b4*x1^2+b5*y1^2;

校正的过程就是求解未知参数的过程:

未知参数a------a5,b---------------b5

通过对九个注视点进行实验,得到相应的注视点的位置信息和瞳孔与亮斑之间的向量,

使用最小二乘法或者SVD方法,进行求解a------a5,b---------------b5


这样就可以得到注视点的位置信息和瞳孔与亮斑之间的向量之间的关系。。

在实验中,只需要检测出瞳孔与亮斑之间的向量,根据得到的关系函数,就可以得到在屏幕上的注视点的坐标。

2、SVR(支持向量回归)

支持向量回归(SVR)的思路和多项式回归的方法原理一样,

首先在校正的过程中得到注视点的位置信息和瞳孔与亮斑之间的向量,得到回归函数,

在实验中,只需要检测出瞳孔与亮斑之间的向量,根据得到的关系函数,就可以得到在屏幕上的注视点的坐标。

3、神经网络的方法

神经网络的输入是瞳孔与亮斑之间的向量坐标值,输出是屏幕上的注视点坐标值,

一般使用BP神经网络,或者高维上处理的RBF*(径向神经网路)进行训练得到二者之间的关系

在实验中,只需要检测出瞳孔与亮斑之间的向量,根据得到的关系函数,就可以得到在屏幕上的注视点的坐标。

4、随机森林回归(random forest regression)

思路跟支持向量回归一样


二维注视点估计的方法,一般只能处理头部静止的条件下进行的实验,有很大的限制,

一般在三维坐标系进行注视点的估计

注视点估计(二维法)相关推荐

  1. 《剑指offer》——04. 二维数组中的查找——暴力法、线性查找——java实现

    文章目录 1.题目描述 2.解决方法 (1)暴力法 (2)线性查找(右上角->左下角) 参考: 1.题目描述 2.解决方法 (1)暴力法 如果不考虑二维数组排好序的特点,则直接遍历整个二维数组的 ...

  2. 一维OTSU法、最小交叉熵法、二维OTSU法及C++源码

    1.最大类间方差法(Otsu法) 该算法是日本人Otsu提出的一种动态阈值分割算法.它的主要思想是按照灰度特性将图像划分为背景和目标2部分,划分依据为选取门限值,使得背景和目标之间的方差最大.(背景和 ...

  3. 2019-03-11-算法-进化(搜索二维矩阵II)

    题目描述 编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target.该矩阵具有以下特性: 每行的元素从左到右升序排列 每列的元素从上到下升序排列 示例: 现有矩阵 mat ...

  4. 二维有限体积 matlab,二维有限体积法计算热传导及源码.pdf

    二维有限体积法计算热传导及源码 //#include "stdafx.h" #include #include #include #include #include using n ...

  5. c语言对用下标法二维数组遍历,二维数组遍历:下标法与指针法的较量

    在图像的采集中,常常需要用到二维数组,这里数组的遍历是指按照一定的顺序访问数组中所有的元素. 在众多的遍历方法中,下标法和指针法是两种常用的方法.但在使用的时候,我们只需要选择其中的一种,那么如何选择 ...

  6. matlab晶体能带,matlab平面波展开法的二维光子晶体能带研究+程序

    摘  要 :二维光子晶体可以作为对光子传输控制的新型材料.本文主要通过平面波展开法对二维光子晶体进行数值计算及其性质分析.首先我们介绍了二维光子晶体的基础概念.结构.介电性能等特性.然后基于麦克斯韦方 ...

  7. 有限体积法(2)——二维、三维扩散方程的离散推导

    稳态扩散方程: ∇⋅(Γ∇ϕ)+Sϕ=0(1)\nabla \cdot ( \Gamma \nabla \phi) + S_\phi =0 \tag{1} ∇⋅(Γ∇ϕ)+Sϕ​=0(1) 在有限控制 ...

  8. 【经典算法实现 44】理解二维FFT快速傅里叶变换 及 IFFT快速傅里叶逆变换(迭代法 和 递归法)

    [经典算法实现 44]理解二维FFT快速傅里叶变换 及 IFFT快速傅里叶逆变换(迭代法 和 递归法) 一.二维FFTFFTFFT快速傅里叶变换 公式推导 二.二维FFTFFTFFT 及 IFFTIF ...

  9. MATLAB实战系列(十)-二维装箱问题之BL法修正版(附MATLAB代码)

    01 | 问题导入 二维装箱问题顾名思义就是将若干个矩形物品装进矩形箱子中,并且在装箱的过程中不允许将矩形物品斜着放(PS:下图就是不允许的装箱操作),同时在装箱过程中允许将物品旋转90度放置(但是为 ...

最新文章

  1. ChipScope Pro分析仪
  2. ok6410 3.0.1内核调用V4L接口出错解决方法(转)
  3. L3-020 至多删三个字符 [DP]
  4. python模型保存save_浅谈keras保存模型中的save()和save_weights()区别
  5. apollo修改配置刷新bean_微服务配置中心完全解读
  6. jQuery选择文本事件函数– select()方法
  7. Troubleshooting High CPU Java
  8. C语言数字雨--90行代码
  9. idea中中文字体设置
  10. 映象劫持使部分程序不可运行的解决方法
  11. 使用家庭宽带搭建服务器(含个人网盘) [一]-为什么要搭建自己的服务器?能实现公网访问?能实现NAS功能?能在线播放视频?
  12. 员工转正答辩官提问_转正答辩(交付经理)--王总提问6.19
  13. 齿轮仿真软件ROMAX DESIGNER安装教程
  14. 如何用WikiExtractor提取维基百科词汇
  15. Vue中如果关闭语法检查
  16. 左眼跳或右眼跳吉凶对照表(必读)
  17. element-ui 表格总计有多行的情况
  18. 【挑战学习一百天冲刺实习面试】第二十一天:全面理解BIO、NIO、AIO
  19. Python数据分析项目案例
  20. Spring boot 集成 Elastic-job 实现定时任务

热门文章

  1. 高通android开源代码下载
  2. Android+Eclipse修改包路径
  3. Android关于AndroidManifest.xml详细分析
  4. clone下来的代码push到自己的远程仓库中
  5. RocketMQ Apache顶级项目之路
  6. 接收蓝牙广播onReceive中getStringExtra()出现错误
  7. Swift语言中如何使用JSON数据教程
  8. 最新版AnyDbTest数据库单元测试工具的下载地址
  9. ajax无刷新留言板远吗,php+ajax制作无刷新留言板,phpajax刷新留言板_PHP教程
  10. 机器学习知识点(七)决策树学习算法Java实现