本项目首先使用将二维的加权系数降为一维的,并与中值滤波思想相结合的双边滤波算法预处理摄像头采集的图像,去除可能出现的高斯噪声与椒盐噪声,提高了图像质量,然后对图像进行直方图均衡化提高灰度对比度,增加动态范围,为以后更好地提取特征参数提供前提,接着使用基于Haar特征的Adaboost算法检测人脸与眼睛,根据眼睛图像的灰度分布特点,在处理后的图像上使用改进的混合投影函数粗略定位瞳孔中心,使用检测出的中心点像素值作为阀值对眼睛图像进行二值化处理,将处理后的瞳孔进行圆形拟合,求出精确的瞳孔中心,由于眼睛存在不自觉的微动现象,使得检测出来的瞳孔中心位置发生跳动,因此本文将3帧的瞳孔中心坐标的平均值作为特征参数,然后截取瞳孔中心右方包含眼角的眼睛局部图像,缩小内眼角检测的范围,使用改进的自适应阈值的SUSAN角点检测算法定位内眼角位置,此时视线追踪技术需要的眼睛特征参数就全部提取出来了,然后根据人眼的结构特点,本文提出了一个简单的眼睛三维空间模型,用于对将人眼三维坐标投影到二维坐标时产生的误差进行补偿,最后创建视线空间模型,建立眼睛平面参数与计算机屏幕坐标点之间的映射函数,在此函数中加入误差补偿参数,使得视线在屏幕中的落点更为准确,根据视线凝视此区域范围的时间来判断鼠标进行移动或单击操作。
本文使用最简单的USB摄像头,在Python开发平台上建立以视线方向落点为输入的鼠标操作人机交互系统,实现了对视线方向的估计,实验表明在自然光照的环境下,本系统能够比较准确的估计视线方向,实时的反应使用者眼动的情况,与主流的视线估计系统相比,具有硬件要求低,使用方便的优点。
项目地址:https://blog.csdn.net/m0_38106923/article/details/102995809