一种基于虹膜和瞳孔的三维视线估计方法
【技术领域】
[0001] 本发明涉及视线跟踪技术领域,具体涉及基于近红外光下的三维视线估计方法。
【背景技术】
[0002] 随着信息技术和人工智能的不断发展,人机交互技术的研究受到更多的关注和重 视。基于视频图像处理的视线跟踪技术作为人机交互的重要分支,许多基础理论和技术问 题仍然没有得到很好的解决,其中的关键问题是虹膜、瞳孔等眼睛运动图像特征的提取和 表达,以及视线跟踪映射模型的建立。
[0003] 视线跟踪映射模型主要分为二维视线跟踪方法和三维视线跟踪方法。二维方法对 头部运动敏感,需要用户保持头部静止或者只能小范围运动。三维方法通过眼动特征直接 确定眼睛三维视线方向,与注视物体进行交叉,从而得到注视点的位置,只要能够获得头部 和眼睛运动的图像信息,理论上对被试者没有头部运动的限制。然而由于需要立体眼睛参 数的计算,增加了眼睛特征检测和参数提取的复杂性,其估计精度依赖于立体视觉的精度, 而且不同的使用者的个体差异、头部运动等问题也会对映射模型产生直接的影响。
【发明内容】
[0004] 本发明公开了一种基于虹膜与瞳孔的三维视线跟踪方法,在红外光源的辅助下, 通过获取虹膜中心与瞳孔中心,提出一种新型的基于虹膜中心与瞳孔中心的三维注视点映 射模型,其允许头部自由运动同时又使得注视点的精度满足系统要求,。
[0005] 本发明通过以下技术方案实现。
[0006] -种基于虹膜和瞳孔的三维视线估计方法,该方法采用两个摄像机采集图像和一 个红外光作为辅助光源,放置在显示屏前照射人脸,具体包含步骤:
[0007] (1)眼动特征提取:使用红外光源增强人眼图像,通过精确的轮廓提取和椭圆拟 合获取虹膜中心位置和瞳孔中心位置;
[0008] (2)三维特征中心计算:利用虹膜中心和瞳孔中心的二维信息,结合摄像机参数 计算出特征点的三维坐标;
[0009] (3)视线偏差补偿:虹膜中心与瞳孔中心连线形成的光轴方向,与代表视线方向 的视轴方向存在偏转角。通过求解偏转角进行视线校正,从而得到精确的人眼注视方向。
[0010] 上述方法中,所述步骤⑴中包括:采用红外光源增强人眼信息,首先采用Haar特 征级联分类器对人眼区域进行定位,接着采用基于直方图与迭代的方法对虹膜与瞳孔进行 最佳阈值分割,在虹膜特征提取部分,首先通过数学形态学的方法获得虹膜的初步轮廓,再 利用基于边缘检测与椭圆拟合的方法获得精确的虹膜轮廓,得到虹膜中心的坐标;在瞳孔 特征提取部分,已经提取到的虹膜中心坐标为基础,设置相应的感兴趣区域提取瞳孔轮廓, 采用瞳孔轮廓凸包处理与椭圆拟合对瞳孔中心坐标进行定位。
[0011] 上述方法中,所述步骤(2)中包括:
[0012] (2.1)通过张正友平面模版标定法获取摄像机内参数K与外参数R1 R1^ t I其 中札和Mtjp O分别表示左右摄像机坐标系到世界坐标系下的旋转矩阵(平移矩阵), 然后需要通过双摄像机立体计算来获取双摄像机之间的空间几何关系,并对摄像机进行平 面校正以获得严格平行的双摄像机视觉系统;
[0013] (2. 2)利用步骤⑴获取的虹膜中心和瞳孔中心的二维信息,结合步骤(2. 1)计算 所得的摄像机内外参数和空间几何关系求取虹膜中心与瞳孔中心的三维空间坐标,最后以 虹膜中心与瞳孔中心的连线作为人眼光轴的方向。
[0014] 上述方法中,所述步骤(3)中包括:
[0015] (3. 1)光轴与视轴之间存在着一个固定的偏转角,且光轴与视轴相交于角膜曲率 中心。本发明通过设定标定点,计算由步骤(2.2)所得的光轴与实际的视线方向,即视轴之 间的偏转角淨,鈎。(3.2)利用步骤(2.2)中获得的人眼光轴方向,结合步骤(3. 1)计算所 得的偏转角(氣#,可以求取出视轴方向,即人眼的注视方向。
[0016] 与现有技术相比,本发明的优点与积极效果在于:
[0017] 1.本发明提出一种新型的三维视线估计方法,利用瞳孔特征和虹膜特征在三维 空间中不共点的特点,通过提取二者信息,计算其三维空间位置,从而得到人眼光轴方向信 息。该方法直接利用刚性的特征点,在分辨率满足的情况下能达到较高的视线估计精度;对 比传统的三维方法,本发明无需使用如眼球半径等经验值来计算眼球中心,为视线跟踪领 域提供了新思路。
[0018] 2.本发明是一种自然、直观的视线跟踪方法,无需使用普尔钦斑点,设备的位置更 为灵活。
[0019] 3.本发明能达到足够的精度,满足人机交互系统需求。
【附图说明】
[0020] 图1是本发明实施方式中显示屏与摄像头、光源的布置示意图。
[0021] 图2是本发明实施方式中视线跟踪方法的流程示意图。
[0022] 图3是本发明实施方式中标定点分布图。
[0023] 图4是本发明实施方式中摄像机棋盘格标定板。
[0024] 图5是本发明三维坐标计算示意图。
[0025] 图6是本发明光轴与视轴投影关系示意图。
【具体实施方式】
[0026] 下面结合附图对本发明的【具体实施方式】作进一步说明。
[0027] 如图1,本发明需要双摄像机101,和一个红外光源102,摄像头位于显示屏112中 心正上方,实时地捕捉人脸图像。摄像机分辨率为640 X 480,焦距为10mm,并排放置于显示 屏上方,两摄像机镜头之间距离约5cm,双摄像头中心距离显示屏底部为26cm。选取波长为 850nm的红外光作为辅助光源放置在显示屏前照射人脸。
[0028] 如图2,视线跟踪算法具体实施步骤如下:
[0029] 步骤一:眼睛注视标定点110,提取眼动特征信息
[0030] 步骤二:摄像机标定,分别获取两个摄像机的内外部参数以及二者的空间几何关 系
[0031] 步骤三:计算瞳孔中心105和虹膜中心106的三维坐标位置,得到光轴108方向
[0032] 步骤四:进行偏转角107补偿,得到视轴109方向。
[0033] 其中步骤一的具体实施步骤为:
[0034] 1.世界坐标系原点设置在左摄像机投影中心,显示屏垂直放置于z = 0处,双摄像 机101中心距离显示屏112底部为26cm,眼睛距离显示屏约30cm且正对显示屏,依次注视 标定点110,标定点分布图如图3所示,为显示屏上3X3平均分布的9个点;
[0035] 2.眼睛注视标定点同时提取眼动特征信息
[0036] 对每个注视点111提取虹膜轮廓以及瞳孔轮廓作为眼动特征信息,具体实施步骤 为:
[0037] 2. 1人眼区域定位
[0038] 从摄像头获取的人脸图像,首先通过haar特征级联分类器进行人眼定位,接着通 过中值滤波处理以及灰度拉伸进行图像预处理,得到特征较明显的人眼图像。
[0039] 2. 2虹膜特征提取
[0040] a.首先通过直方图灰度值分布确定虹膜的灰度分布大致区域,设定虹膜的二值化 初始阈值,在该阈值下对图像进行区域划分,分别计算各区域的灰度均值,当灰度均值与假 定的初阈值相同时停止迭代,以此选择最佳阈值对图像进行二值化分割,得到虹膜区域。
[0041] b.通过形态学处理获取轮廓,通过Sobel算子进行垂直边缘的检测以提取虹膜左 右两边的有效轮廓。接着采用最小二乘法进行椭圆拟合,从而获取虹膜中心106。
[0042] 2. 3瞳孔特征提取
[0043] 根据已提取到的虹膜中心106坐标为相应的感兴趣区域(R0I区域)中心,ROI区 域中心的边缘为瞳孔,则包含ROI中心的面积最大的轮廓即为瞳孔轮廓。对轮廓进行凸包 处理以获取瞳孔的完整轮廓,进行椭圆拟合后可以提取到瞳孔中心105。
[0044] 其中步骤二的具体实施步骤为:
[0045] 1.单摄像机参数标定
[0046] 针对本发明系统的特点,采用基于张正友的平面标定法的来获取单摄像机的内参 数,摄像机在不同方向上拍摄平面模版的图像,通过建立模版上每个特征点和其对应的图 像点之间的对应关系(即每幅图像的单应性矩阵),然后利用该单应性矩阵来求解摄像机 内外的参数,标定过程中由于采用最小二乘法以及考虑到噪音和数值稳定性要求,需要抓 取尽量多的不同角度的标定图片,使标定的结果更加精确。
[0047] 本发明采用基于OpenCV的摄像机标定采用平面棋盘格标定模板。如图4所示,标 定板方格个数为7 X 10,每个方格边长为5mm。
[0048] I. 1单应矩阵H
[0049] 图像像素坐标系到世界坐标系之间的关系为:
[0050]
[0051] 其中(u,V)是以像素为单位的图像像素坐标系坐标,Zc为图像中的点在摄像机坐 标系中的坐标Z轴分量,(Xw, Yw, Zw)为图像中的点在世界坐标系中的坐标。K为摄像机内参 数矩阵,R= Qr1 r2 r3]是3X3正交单位矩阵,称为旋转矩阵,其中!T1 r2 1"3分别是旋转矩 阵的第一、二、三列分量,t是3维平移向量。
[0052] 假设世界坐标系平面位于棋盘格所在的平面,即Zw= 0同时r3= 0。令
W上式可简写为:
[0053] ZcM = MM
[0054] 其中H为单应性矩阵
[0055]
[0056] 其中H = Qi1 h2 Ii3Lh1 h2 113分别是单应性矩阵的第一、二、三列分量,而IiuQ = 1-3, j = 1···3)表示单应性矩阵第i行第j列的分量。
[0057] 1. 2摄像机内外参数求解
[0058] 在实际情况中I. 1中求得的H并不是真实的H,它们之间会相差一个常数因子λ, 此时将式子变为以下形式:
[0059] Lh1 h2 h3] = AKtr1 r2 t]
[0060] 其中巧与r 2为单位正交向量,由其正交性可得 \r,Tr, - I-Jr1 -1
[0061] r n -
[rt r, = U
[0062] 由以上两式可得:
[0063]
[0064]
[0065] 其中内参数矩P
'x= f/dx,f y= f/dy分别为摄像机焦距f的 X轴与y轴分量,(u。,V。)为摄像机图像主点位置,Bu (i = L··· 3, j = L··· 3)表示矩阵B第 i行第j列的分量。
[0066] 设单应性矩阵H第i(i = 1,2,3)列向量表示为Ill= Dlll hl2 hl3]T,则:
[0067] h,T Bh1= V1/ B
[0068] 定义矩阵Vlj= [hdu huhu+huhw hl2hj2 1ι311ι η+1ιι31^3 hl3hj3],i = I... 3, j = I…3,则根据上述过程,可得2个齐次方程:
[0069]
[0070] 如果有N(N为自然数)个棋盘格图像,则通过迭代N个方程组可以得到:
[0071] VB = O
[0072] 其中,V是一个2NX6的矩阵,只要N彡3,B就可以被解出(带有一个比例因子), 从而可以得到内参数矩阵,其中U idVidX fx