一种基于瞳孔特征判断眼睛状态的方法
技术领域
本发明涉及视线追踪技术,尤其涉及一种基于瞳孔特征判断眼睛状态的方法。
背景技术
视线追踪技术是近年来兴起的人机交互方式。视线追踪也称眼动追踪在军事、残疾人辅助、心理学研究和网页分析等方向有着重要的作用。视线追踪技术实现的方法经历了近百年的发展,先后采用了机械记录法、电流记录法、电磁记录法和当代的光学记录法,对实验人员的人眼侵入程度越来越小,精度也越来越高。
在现实应用中,人的眼睛会有随机性的眨眼活动,当眼睛闭合时,无法获取瞳孔中心的准确位置,导致无法对凝视点的位置进行精确的定位。因此,视线追踪可能会中断,无法完成正常的交互过程。另外,在视线追踪***中,通常需要凝视某一特定目标一定的时间,才能进行后续操作。如果在此期间,出现眨眼的情况,凝视点的位置将会产生偏移,则有可能造成错误的动作。因此,必须识别出当前图像中眼睛的睁闭状态,避免误操作。
目前常见的眼睛状态检测方法可以分为两大类:基于图像的方法和基于学习的方法。基于图像的方法充分利用睁眼闭眼时,眼部特征的差异,如是否能检测到虹膜边缘,眼睑的方向是否相同,上下眼睑的距离等。这类方法容易受到眼睑、睫毛和镜面反光等干扰,准确率不高。基于学习的方法把眼睛状态的检测当做一种分类问题来处理,通过提取特征,利用分类器进行学习,根据学习结果实现眼睛状态的检测。这类方法需要选择有效的特征,并选择大量的样本进行训练,才能得到较为理想的结果。
发明内容
因此,为解决上述现有技术存在的技术缺陷和不足,本发明提供一种基于瞳孔特征判断眼睛状态的方法。
具体的,本发明实施例提供一种基于瞳孔特征判断眼睛状态的方法,其特征在于,包括:
获取眼部图像信息图;
根据所述眼部图像信息图,确定瞳孔中心点;
根据所述瞳孔中心点,提取瞳孔边缘点;
判断所述瞳孔边缘点的对称性,以确定眼睛状态的状态。
在上述实施例的基础上,根据所述眼部图像信息图,确定瞳孔中心点之前,还包括:
对所述眼部图像信息图进行灰度对比度增强预处理;
对所述眼部图像信息图进行拉普拉斯滤波处理。
在上述实施例的基础上,所述灰度对比度增强预处理公式为:
f=c*log(1+double(f0))
其中,c为常系数,f0表示原始眼部图像信息图,f表示灰度对比度增强预处理后的眼部图像信息图。
在上述实施例的基础上,根据所述眼部图像信息图,确定瞳孔中心点,包括:
根据所述眼部图像信息图的灰度对比度,估算瞳孔中心点坐标(xmin,ymin)作为瞳孔中心点。
在上述实施例的基础上,根据所述瞳孔中心点,提取瞳孔边缘点,包括:
以所述瞳孔中心点为起点,沿指定射线方向在所述眼部图像信息图上计算瞳孔区域的灰度梯度值,并将所述灰度梯度值达到最大值时所在的位置确定为瞳孔边缘点。
在上述实施例的基础上,所述指定射线包括多条第一射线和第二射线;其中,所述第一射线为以所述瞳孔中心点为起点,沿着y轴正半轴方向发出射线,所述第二射线为以所述瞳孔中心点为起点,沿着y轴负半轴方向发出与所述第一射线方向相反的射线。。
在上述实施例的基础上,判断所述瞳孔边缘点的对称性,包括:
采用均值法确定多个所述瞳孔边缘点的中心圆坐标(x0,y0);
以所述中心圆坐标(x0,y0)为原点建立平面坐标系;
以所述平面坐标系的Y轴为对称轴,计算所述瞳孔边缘点的水平对称度;
以所述平面坐标系的X轴为对称轴,计算所述瞳孔边缘点的竖直对称度。
在上述实施例的基础上,所述水平对称度的计算公式为:
其中,N为总瞳孔边缘点数,Mx为沿Y轴一侧的瞳孔边缘点数。
在上述实施例的基础上,所述竖直对称度的计算公式为:
其中,N为总瞳孔边缘点数,My为X轴一侧的瞳孔边缘点数。
在上述实施例的基础上,确定眼睛睁闭的状态,包括:
将所述水平对称度与预先设定的水平对称度阈值比对,将所述竖直对称度与预先设定的竖直对称度阈值比对,根据比对结果判断眼睛处于睁开状态或者闭合状态或者中间态。
本发明提供的基于瞳孔特征判断眼睛状态的方法的优点有:
1)本发明不受到眼睑、睫毛和镜面反光等干扰,准确率较高;
2)本发明无需大量训练样本,算法简便,计算效率高;
3)本发明无需昂贵复杂的设备,成本低廉。
附图说明
为了更清晰地说明本发明或现有技术的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍。显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他附图。下面将结合附图,对本发明的具体实施方式进行详细的说明。
图1为本发明实施例提供的一种基于瞳孔特征判断眼睛状态的方法的流程图;
图2为本发明实施例提供的一种眼睛处于睁开状态瞳孔特征示意图;
图3为本发明实施例提供的一种眼睛处于中间状态瞳孔特征示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明的附图,对本发明的技术方案进行清楚、完整的描述。显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明的保护范围。
实施例一
本发明实施例提供一种基于瞳孔特征实现视线追踪的方法,请参考图1,图1为本发明实施例提供的一种基于瞳孔特征判断眼睛状态的方法的流程图。该方法包括:
获取眼部图像信息图;
根据所述眼部图像信息图,确定瞳孔中心点;
根据所述瞳孔中心点,提取瞳孔边缘点;
判断所述瞳孔边缘点的对称性,以确定眼睛状态的状态。
其中,获取眼部图像信息图之后,处理眼部图像信息图,将信息图中的眼睛部位调整为水平位置。
其中,在上述实施例中,根据眼部图像信息图,确定瞳孔中心点之前,还包括:
对眼部图像信息图进行灰度对比度增强预处理;
对眼部图像信息图进行拉普拉斯滤波处理。
具体地,灰度对比度增强预处理公式为:
f=c*log(1+double(f0))
其中,c为常系数,f0表示原始眼部图像信息图,f表示灰度对比度增强预处理后的眼部图像信息图。
对眼部图像信息图进行灰度对比度增强预处理有利于区分瞳孔和外部区域。对眼部图像信息图进行拉普拉斯滤波处理,有利于对图像进行各个方向的去燥。
进一步地,在上述实施例的基础上,根据所述眼部图像信息图,确定瞳孔中心点,包括:
根据所述眼部图像信息图的灰度对比度,估算瞳孔中心点坐标(xmin,ymin)作为瞳孔中心点。
优选地,将眼部图像信息图中灰度最低的区域作为瞳孔区域,将该区域拟合为圆形,将圆心作为瞳孔中心点。
进一步地,在上述实施例的基础上,根据所述瞳孔中心点,提取瞳孔边缘点,包括:
以所述瞳孔中心点为起点,沿指定射线方向在所述眼部图像信息图上计算瞳孔区域的灰度梯度值,并将所述灰度梯度值达到最大值时所在的位置确定为瞳孔边缘点。
具体地,以瞳孔中心点(xmin,ymin)为起点,沿着y轴正半轴方向发出多个射线;
相应地,沿着y轴负半轴方向发出与y轴正半轴方向以所述瞳孔中心为参考的对称的对应射线。
在边缘位置即瞳孔部分和眼白部分交替处灰度梯度变化最剧烈,令f(i,j)为眼部信息图像f在坐标(i,j)处的灰度值,灰度值的偏微分为
则该方向的灰度梯度为:
其中D代表灰度梯度。
提取D最大的点,记作Dmax;当Dmax>边缘点阈值,则该点为瞳孔边缘点。其中,边缘点阈值选取大于瞳孔和皮肤交界处的灰度梯度且小于瞳孔和眼白交界处的灰度梯度的特定值,根据个体差异自行定义。瞳孔边缘点处于瞳孔部分和眼白部分交替处。
进一步地,在上述实施例的基础上,判断所述瞳孔边缘点的对称性,包括:
采用均值法确定多个所述瞳孔边缘点的中心圆坐标(x0,y0);
计算在所述中心圆坐标x轴坐标x0两侧的所述瞳孔边缘点的水平对称度;
计算在所述中心圆坐标y轴坐标y0两侧的所述瞳孔边缘点的竖直对称度。
具体地,水平对称度的计算公式为:
其中,N为总瞳孔边缘点数,Mx为沿Y轴一侧的瞳孔边缘点数。Mx为x轴大于y0坐标的瞳孔边缘点
竖直对称度的计算公式为:
其中,N为总瞳孔边缘点数,My为X轴一侧的瞳孔边缘点数。
进一步地,在上述实施例的基础上,确定眼睛睁闭的状态,包括:
将所述水平对称度与预先设定的水平对称度阈值比对,将所述竖直对称度与预先设定的竖直对称度阈值比对,根据比对结果判断眼睛处于睁开状态或者闭合状态或者中间态。
具体地,预先设定水平对称度阈值以及竖直对称度阈值。例如,假设共有N个瞳孔边缘点,通过均值法获取N个点的中心圆坐标(X0,Y0),通过计算两侧点的比例定量地计算对称度。以中心圆坐标(x0,y0)为原点建立平面坐标系;以平面坐标系的Y轴为对称轴,计算瞳孔边缘点的水平对称度;以平面坐标系的X轴为对称轴,计算瞳孔边缘点的竖直对称度。
计算公式如下:
水平对称度:
其中,N为总瞳孔边缘点数,Mx为沿Y轴一侧的瞳孔边缘点数。
竖直对称度:
其中,N为总瞳孔边缘点数,My为沿X轴一侧的瞳孔边缘点数。
将水平对称度与预先设定的水平对称度阈值比对,将竖直对称度与预先设定的竖直对称度阈值比对,令Tx,Ty分别表示水平对称度阈值和竖直对称度阈值,判断结果如下:
a)、当
可以判断瞳孔边缘点对称性良好,即眼睛处于睁开状态。
b)、当
可以判断瞳孔边缘点对称性太差,眼睛处于闭合状态。
c)、当
可以判断瞳孔边缘点水平对称不好,竖直对称性良好,眼睛处于中间态。
人的眼睛瞳孔较小,灰度低,不会因为个人生理因素导致瞳孔图像被眼睑遮挡,当正常睁开状态时,瞳孔是完整的,当处于闭合是通孔消失,当处于睁开和闭合中间态时,瞳孔上下边缘被遮挡,因此利用检测瞳孔边缘的对称性判断眼睛睁闭。
实施例二
请参考图2,图2为本发明实施例提供的眼睛处于睁开状态瞳孔特征示意图。
如图2所示,眼白和瞳孔交界处的若干黑点即为瞳孔边缘点。以瞳孔为中心点,在瞳孔中心点上半部分引出五条射线,相应地,在瞳孔中心点下半部分对称引出五条射线。在瞳孔上半部分获得5个瞳孔边缘点,在瞳孔下半部分获得5个瞳孔边缘点,假设水平对称度阈值Tx和垂直对称度阈值Ty均为0.3。
由公式得出,
因此瞳孔边缘点的水平对称性和竖直对称性良好,可以判断出眼睛处于睁开状态。
请参考图3,图3为本发明实施例提供的眼睛处于中间状态瞳孔特征示意图。
如图3所示,眼白和瞳孔交界处的若干黑点即为瞳孔边缘点。以瞳孔为中心点,在瞳孔中心点上半部分引出五条射线,相应地,在瞳孔中心点下半部分对称引出五条射线。在瞳孔上半部分获得2个瞳孔边缘点,在瞳孔下半部分获得5个瞳孔边缘点。
由公式得出
因此瞳孔边缘点的竖直对称性好,水平对称性不好,可以判断出眼睛处于中间状态。
假设极限情况,眼睛完全闭合,那么瞳孔边缘点为0,
由公式得出
眼睛处于闭合状态。
综上,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上,本说明书内容不应理解为对本发明的限制,本发明的保护范围应以所附的权利要求为准。