论文部分内容阅读
随着人类对眼睛和注视运动的深入研究,借助日益先进的计算机技术和人工智能技术,视线跟踪技术得以稳步发展,且已经被成功运用到诸多领域。然而视线跟踪技术仍存在许多问题:苛刻的交互方式导致用户体验差,跟踪的实时性、鲁棒性和精度仍不能满足实际应用场景。本文调研和分析了现有视线跟踪系统存在的挑战因素,选用瞳孔角膜反射法和基于3D眼球模型的方法实现桌面式视线跟踪系统。为了提高系统的性能,本文研究并实现了瞳孔定位算法、光斑检测算法和瞳孔检测算法。瞳孔定位算法将传统算法和深度学习结合,利用瞳孔区域的灰度特性做图像的初步处理,并记录候选区域,通过分类器识别瞳孔区域;光斑检测算法利用图像处理算法做瞳孔区域的阈值分割,并结合光源发射器的位置特性求解光斑中心;瞳孔检测算法先采用Inpainting算法排除光斑等因素的干扰,然后利用形态学算子和椭圆拟合等技术求解瞳孔中心。采用基于目标检测的方法进行瞳孔定位和基于暗瞳的方法进行瞳孔检测,能够实现高精度、高鲁棒性的实时视线跟踪。本文建立了实验数据集,收集了18个测试人员的图像数据,光照变化、头部姿势、运动模糊等实际情况,通过标注每帧图像的瞳孔中心和光斑中心验证了注视特征检测过程中三个算法的性能。结果表明,瞳孔定位算法的精度为97.89%(分类器的精度为99.94%),光斑检测算法的精度为98.7%,瞳孔检测算法的精度为98.94%。本文实现了实时的视线跟踪系统,并给出了系统的硬件架构和软件架构。系统的硬件主要完成数据采集工作,由红外光源发射器、CMOS图像传感器、FPGA数据处理板和USB3.0传输板组成。另外,基于QT框架和Opencv算法库实现了软件模块(包含算法模块),完成界面交互和算法处理,实现跨平台开发,具有可移植性。本系统由四个连续的过程组成:1)硬件设备采集图像数据。传感器捕获暗瞳图像后,利用FPGA做数据处理,通过USB3.0传输给软件模块。2)注视特征检测过程对图像数据进行处理,求解瞳孔中心和光斑中心。3)视线估计求解光轴向量。用Matlab软件内置的标定算法进行相机标定,求解相机的内外参数。采用单相机双光源的系统原理求解光轴向量的两个参数:角膜曲率中心C和瞳孔中心P。4)偏差校准求解注视点坐标。光轴向量和视轴向量存在一定的偏差角,本文研究了基于四点标定算法的注视点均值法和精度误差法,准确的求解注视点坐标。通过真实的测试环境评估了系统的整体性能。系统的帧率为54fps,精度为0.67~o,并且抗干扰能力强,鲁棒性好,可在实际的应用场景中发挥作用。