·上一文章:基于CMOS图像传感器的纳型卫星遥感系统设计
·下一文章:如何提高数字电位器的带宽
2 视线跟踪原理
以正视下的视线方向作为基准,改变视线方向,即眼球发生一定角度转动时,瞳孔中心位置同步移动,因此实时获取瞳孔中心位置坐标即可实现视线跟踪。
图1给出视线跟踪原理图。以眼底为坐标原点O,S为瞳孔中心位置,s’为S在YOZ面的投影,(M,N)为S’在YOZ面上二维坐标,CCD摄像机在X轴方向上。设定正视方向(即头盔跟踪法线方向)为X轴,头盔左右方向为Z轴,头盔上下方向为Y轴。根据瞳孔中心在ZOY面上的投影坐标及人眼球半径(约10 mm),得到俯仰角α(∠SON’)、方位角β(∠M’ON’)的值,这样就可确定眼跟踪视线方位。
3 跟踪算法实现
3.1 阈值选取
从内存读取红外源图像,图2(a)中,瞳孔与眼睛其他部分相比要暗得多,采用简单的二值化法分离瞳孔,提取瞳孔边缘。具体做法:先计算出整个眼睛图像的灰度直方图,第一个峰值对应的是瞳孔区域灰度值,如图2(b)中箭头所示。选择在第一个峰值的右侧相隔2至5个灰度值处提取瞳孔的二值化阈值,即灰度值为78,但这样会导致眼睫毛部分保留大量信息。图2(c)是采用阈值63二值化后的结果,可以看出,瞳孔被成功分离出来,虽然保留小部分睫毛,但不影响后续分析。
3.2 Sobel算子检测边缘
图像的边缘是图像最基本特征。所谓边缘就是指那些周围灰度有跳跃变化的像素集合。边缘广泛存在于物体与背景、物体与物体、基元与基元之间。Sobel算子是一种一阶微分算子,在边缘检测中应用广泛。Sobel算子有两个,其中,是检测水平边缘的,而是检测垂直边缘的。在图2(c)中,瞳孔上的像素与其周围像素有明显阶跃变化。所以可利用该特性作为检测瞳孔边缘依据。利用Sobel算子检测瞳孔边缘结果,如图3所示。