博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
视频瞳孔跟踪之星团模型
阅读量:5370 次
发布时间:2019-06-15

本文共 1846 字,大约阅读时间需要 6 分钟。

1.预处理

1.1去除图像噪声

  1. 使用5*5的高斯平滑处理散粒噪声;
  2. 使用

 

          模型处理线路噪声, 是第 帧图像,第 行像素的平均值,=0.2。当i=1时,C(i, l)  =

Adjustment = C (i, l) -

Pixel (i, l, c) = Adjustment + Pixel (i, l, c)

          Pixel (i, l, c) 是第 i 帧图像,坐标点为(l,c)的像素值。

  3.  使用线性插值法去除角膜上的反光点。

2.瞳孔中心定位(核心算法

2.1星团模型

      1.  抓取第一帧图像,以该图像的中心为起始点。

      2.  从起始点向四周发出射线,射线间隔20度,共18条,如图d所示。依次沿每条射线前进,当相邻两点像素的差值delta大于设定阈值∅时停止,这里只考虑正值,即灰度值   上升的情况,处理后会得到一个候选边缘点的集合,处理结果如图d所示。

      3.  然后,依次以每个候选点为起始点,在经过该候选点射线的两侧正负50度范围内再次发出射线,射线条数为n = 5*delta/∅,射线之间的间隔角度为 100/n,射线条数最小值为5。如图f, p所示。

 

                                                               (p)

         4.  步骤1,2完成了第一次迭代,计算所有候选边缘点的几何中心为下次迭代的起始点,如图g所示。

         5.  重复执行步骤1,2,3直至所有候选边缘点的几何中心收敛于相对稳定的位置,即前后两次迭代计算出的几何中心位置之间的距离不大于10 pixel,如图i所示。作者通过 对迭代次数进行统计得出结论:对于大多数情况(93%)迭代次数会小于或等于5次。统计结果如图q所示。如果迭代次数大于等于10几何中心仍未收敛,则说明当前图像中不存在瞳孔区域,有可能是眨眼或其他意外情况。

 

     (q)

          6.  椭圆拟合。

               因为使用最小二乘法进行拟合,错误的候选点也会参与其中,作者统计发现错误的候选点大约占所有候选点的17%,如图r所示,拟合结果所产生的误差是很难让人接受 的,如图k所示。

 

      (r)

                 所以作者使用RANSAC(RANdom SAmple Consensus,随机抽样一致)模型,对候选点进行椭圆拟合,可有效的排出错误的候选点。

                 1)      随机的从所有候选点中选取5个点,然后用一个参数确定的椭圆去拟合这5个点,约束条件为:

                       (1). 椭圆的参数必须都为实数;

                       (2). 椭圆的中心坐标必须在图像范围内;

                       (3). 椭圆长轴必须小于2*短轴。

                 2)      然后,统计候选点中除去这5个点以外的其他符合这个椭圆模型点的数量,将符合该模型点的集合称为模型一致集合。经过迭代之后会找到一个椭圆所对应的模 型一致集合内元素的数量最大,则将该椭圆作为最优拟合椭圆,如图n所示。作者统计发现,平均迭代次数大约为8,如图(s)所示。

 

(s)

          7. 最后作者对定位结果使用基于模型的优化方法来优化拟合椭圆的参数,使定位结果更优。

              使用Nelder-Mead单一搜索(Nelder-Mead Simplex search)算法,通过最小化函数:

 

              来找到更好的拟合椭圆。其中I(a, b,  ,x, y,) 是由参数 a, b,   ,x, y,  确定的椭圆轮廓上角 处的像素值。搜索的初始参数设为步骤5所确定的最优   椭圆的参数。优化结果如图o所示。

          8. 将最后确定的椭圆的中心作为瞳孔中心定位的最终结果,并作为下一帧图像定位的起始点,转步骤2。

 

     以上为瞳孔定位的整个过程。

 

优点:

       1)处理速度较快,实时性较好。

       2)对图像质量要求不高,因为作者意在提出一种成本低廉的眼球跟踪设备,所采用的摄像头也是常用的。

       3)可应对眨眼等,不存在瞳孔的图像。

       4)对于瞳孔严重离轴情况的图像,定位效果较理想。

       5)对于瞳孔部分遮挡的图像,如图m,也可准确推出瞳孔中心的位置。

缺点:

       1)需较好的处理角膜上的反光点。

       2)无法直接准确获取眼球的水平和垂直方向的转动视角,只能以距离度量,不能用角度度量。

 

 

参考文献:Li, D. (2006). Low—cost eye-tracking for human computer interaction. Masters Thesis, Iowa State University Human Computer Interaction Program.

转载于:https://www.cnblogs.com/ren19930504/p/4319156.html

你可能感兴趣的文章
java集合框架和泛型
查看>>
每天进步一点点-->C语言文件操作函数
查看>>
使用testNG进行并发性能测试
查看>>
正确的添加图片方法 - 解决UIImageView.image = UIImage(named: String)不显示图像的问题...
查看>>
渗透测试中常见的端口
查看>>
物联网课堂笔记
查看>>
Python 改变字体颜色
查看>>
题目一:一张纸的厚度大约是0.08mm,对折多少次之后能达到珠穆朗玛峰的高度(8848.13米)?...
查看>>
处理圆形图片(如头像)
查看>>
UVa-816 Abbott's Revenge
查看>>
Leetcode-1031 Number of Enclaves(飞地的数量)
查看>>
HDU 5154 Harry and Magical Computer bfs
查看>>
喵哈哈村的魔法考试 Round #8 (Div.2) 题解
查看>>
论文泛读:Click Fraud Detection: Adversarial Pattern Recognition over 5 Years at Microsoft
查看>>
Java并发编程:Lock
查看>>
snmp4j 之 ArgumentParser
查看>>
20162303石亚鑫·预备作业01
查看>>
ASP.NET中的GridView自带的编辑更新功能
查看>>
IOS中的UIImageView + ScrollView
查看>>
IOS 多行多列加载ImageView
查看>>