掌桥专利:专业的专利平台
掌桥专利
首页

一种基于眼睛中心点的人眼状态识别方法及装置

文献发布时间:2023-06-19 11:29:13


一种基于眼睛中心点的人眼状态识别方法及装置

技术领域

本发明涉及图像视觉处理技术领域,尤其涉及一种基于眼睛中心点的人眼状态识别方法及装置。

背景技术

眼睛状态识别是一种应用非常广泛的技术,可以用于人机交互、驾驶员疲劳驾驶、人脸表情识别等方面。目前对于眼睛状态的判断,一般可以构建眼睛几何模型,例如基于模板法、可变形模板法、变换投影等方法确定眼睛轮廓,这类方法是根据人眼的先验知识,以椭圆或抛物线作为描述眼睛的模型。然而这类方法对形状不是严格的椭圆或抛物线的眼睛检测准确率较低,同时,当眼睛受光照或头发等遮挡时,无法保证其符合该类几何模型。对于眼睛的状态识别还可以通过Snake模型等方式检测眼睛轮廓,该类方法是根据若干个控制点之间的连线确定初始活动轮廓,然后轮廓上的结点在内力和外力的共同作用下,向能量最小的方向推进,直到收敛到物体边缘。但该种方法在眼睛张合度较小时误差大,同时,当眼睛完全闭合时,曲线很难收敛到实际的边缘上。现有的人眼状态识别方法存在鲁棒性和实用性较差的问题。

发明内容

有鉴于此,本发明实施例提供一种基于眼睛中心点的人眼状态识别方法,包括:

根据眼睛中心点确定两个眼睛的目标矩形区域;

将目标矩形区域内的图像映射到YCbCr色彩空间,并建立眼睛灰度模型和色度模型;其中,色度模型EyeMapC(x,y)=(Cb(x,y)-Cr(x,y))

判断眼睛中心点在灰度模型中的灰度值是否大于预设阈值,当眼睛中心点在灰度模型中的灰度值大于预设阈值,通过色度模型筛选出眼睛像素点的二值图像;当瞳孔中心点在灰度模型中的灰度值不大于预设阈值,采用最大类间方差法计算出最佳阈值,通过最佳阈值从目标矩形区域图像筛选出眼睛像素点的二值图像;

对筛选后获得的二值图像进行连通域编号,将与眼睛中心点属于同一连通域的区域选定为眼睛部分,确定眼睛部分的左右两个边缘点即为左右眼角坐标,以及眼睛中心点坐标左右预设范围内的最高最低边缘点即为上下眼睑点坐标;

根据左右眼角坐标以及上下眼睑坐标确定左右眼张角;当当前帧的眼睛张角α

进一步地,当两个眼睛中心点之间的距离为d,则目标矩形区域的的宽度和高度分别选用0.8d以及0.4d。

进一步地,还包括:获取面部特征点坐标,根据所述面部特征点坐标辅助确定所述目标矩形区域的宽度和高度;两个眼睛中心点坐标[left.x,left.y],[right.x,right.y];当面部特征为鼻尖,其坐标为[nose.x,nose.y],则目标矩形区域的宽度

进一步地,采用最大类间方差法计算出最佳阈值具体包括:

将目标矩形区域内的图像分为目标眼睛和背景皮肤;

将目标眼睛和背景皮肤的分割阈值记为T,将目标像素点数占总像素数比例w

记g=w

进一步地,所述预设范围为2-5个像素单位。

本发明实施例还提供了一种基于眼睛中心点的人眼状态识别装置,包括:

目标区域确定模块,用于根据眼睛中心点确定两个眼睛的目标矩形区域;

眼图模型建立模块,用于将目标矩形区域内的图像映射到YCbCr色彩空间,并建立眼睛灰度模型和色度模型;其中,色度模型EyeMapC(x,y)=(Cb(x,y)-Cr(x,y))

判断筛选模块,用于判断眼睛中心点在灰度模型中的灰度值是否大于预设阈值,当眼睛中心点在灰度模型中的灰度值大于预设阈值,通过色度模型筛选出眼睛像素点的二值图像;当瞳孔中心点在灰度模型中的灰度值不大于预设阈值,采用最大类间方差法计算出最佳阈值,通过最佳阈值从目标矩形区域图像筛选出眼睛像素点的二值图像;

眼角眼睑确定模块,用于对筛选后获得的二值图像进行连通域编号,将与眼睛中心点属于同一连通域的区域选定为眼睛部分,确定眼睛部分的左右两个边缘点即为左右眼角坐标,以及眼睛中心点坐标左右预设范围内的最高最低边缘点即为上下眼睑点坐标;

眼睛张角确定模块,用于根据左右眼角坐标以及上下眼睑坐标确定左右眼张角;

眼睛状态判断模块,用于当当前帧的眼睛张角α

进一步地,当两个眼睛中心点之间的距离为d,则目标矩形区域的的宽度和高度分别选用0.8d以及0.4d。

进一步地,还包括:获取面部特征点坐标,根据所述面部特征点坐标辅助确定所述目标矩形区域的宽度和高度;两个眼睛中心点坐标[left.x,left.y],[right.x,right.y];当面部特征为鼻尖,其坐标为[nose.x,nose.y],则目标矩形区域的宽度

进一步地,采用最大类间方差法计算出最佳阈值具体包括:

将目标矩形区域内的图像分为目标眼睛和背景皮肤;

将目标眼睛和背景皮肤的分割阈值记为T,将目标像素点数占总像素数比例w

记g=w

进一步地,所述预设范围为2-5个像素单位。

本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以上所述的基于眼睛中心点的人眼状态识别方法。

本发明实施例还提供了一种终端设备,包括:存储器和处理器;所述存储器用于存储计算机程序;所述处理器用于运行所述计算机程序时,执行以上基于眼睛中心点的人眼状态识别方法的步骤。

本发明提供的基于眼睛中心点的人眼状态识别方法基于眼睛中心点位置,粗略划定出眼睛矩形区域,能够更好的确定眼睛位置,尽可能的减少眉毛、眼镜外边框等的影响。同时采用最大类间方差法筛选出眼睛像素点的二值图像可以保证在眼睛处于闭合或微睁状态时,与其周围皮肤像素点差异较大,可以较好的将眼睛像素点与皮肤像素点区分开。该方法不需要找到眼睛的完整外轮廓,仅需要确定左右眼角以及上下眼睑坐标,这样能够减少很多的轮廓点影响。该基于眼睛中心点的人眼状态识别方法鲁棒性和实用性较好。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的一种基于眼睛中心点的人眼状态识别方法的流程示意图;

图2为本发明实施例提供的眼睛张角的示意图;

图3为本发明实施例提供的一种基于眼睛中心点的人眼状态识别装置的组成示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

图1所示为本发明实施例提供的一种基于眼睛中心点的人眼状态识别方法的流程示意图。包括以下步骤:

S101、根据眼睛中心点确定两个眼睛的目标矩形区域。

眼睛中心点即瞳孔中心点,通过从图像中粗略划定出眼睛矩形区域,可以尽可能的减少眉毛和眼镜边框对眼睛状态检测的影响。

对于眼睛根据眼睛中心点等特征点确定眼睛的几何位置,对于眼睛中心点检测,可以通过AdaBoost、Hough圆变换、MTCNN等方法确定。目标矩形区域还可根据肤色模型等获取更多面部特征点坐标辅助进行几何定位。例如:检测到两个眼睛中心点坐标[left.x,left.y],[right.x,right.y]和鼻尖坐标[nose.x,nose.y]。根据特征点坐标值确定眼睛区域的宽Width和高Height。其中,

两个眼睛的目标矩形区域的确定也可以仅通过两个眼睛中心点来确定。当两个眼睛中心点之间的距离为d,则目标矩形区域的的宽度和高度分别选用0.8d以及0.4d。

通过几何定位框定的眼睛矩形区域,分别包括了左右两个眼睛,同时尽可能去除了眼睛上方眉毛影响。对于视频选择左右两个眼睛区域,避免由于眼镜在鼻子处横梁对检测的干扰。

S102、将目标矩形区域内的图像映射到YCbCr色彩空间,并建立眼睛灰度模型和色度模型;其中,色度模型EyeEapC(x,y)=(Cb(x,y)-Cr(x,y))

对于眼睛像素点,在YCbCr色彩分量上,Cb分量相对高,Cr分量相对低,在亮度分量Y上,眼球和眼睑部分灰度值较低,眼白部分属于高灰度,因此可建立模型进行筛选。

EyeMapC(x,y)=(Cb(x,y)-Cr(x,y))

其中,EyeMapC是色度模型,EyeMapL是灰度模型,g(x,y)代表半球形结构单元,

S103、判断眼睛中心点在灰度模型中的灰度值是否大于预设阈值,当眼睛中心点在灰度模型中的灰度值大于预设阈值,通过色度模型筛选出眼睛像素点的二值图像;当瞳孔中心点在灰度模型中的灰度值不大于预设阈值,采用最大类间方差法计算出最佳阈值,通过最佳阈值从目标矩形区域图像筛选出眼睛像素点的二值图像。

对于眼睛的检测,当眼睛基本睁开或闭合程度不高时,眼睛的灰度模型能够较好的检测到瞳孔部分,然后利用色度模型即可得到眼睛准确位置。当眼睛基本闭合或张度过小,眼睛色度模型很难清楚获得眼睛部分。对左右两个眼睛区域范围建立灰度模型后,设定预设阈值判定,预设阈值根据实际经验进行选择,当眼睛中心点坐标在灰度模型中可被检测到,通过眼睛的色度模型检测左右两个眼睛区域。对色度模型设定阈值,大于该阈值的为眼睛部分,其他为背景皮肤像素点。当眼睛中心点在灰度模型中被判定为非眼睛部分时,说明眼睛张合度过小,则不采用色度模型进一步检测眼睛部分,选择使用最大类间方差法筛选。眼睛处于闭合或微睁状态时,与眼睛周围皮肤像素点差异较大,通过自适应阈值分割,可以较好的将眼睛像素点与皮肤像素点区分开。

采用最大类间方差法计算出最佳阈值具体包括:

将目标矩形区域内的图像分为目标眼睛和背景皮肤。

将目标眼睛和背景皮肤的分割阈值记为T,将目标像素点数占总像素数比例w

整个图像的平均灰度值u=w

S104、对筛选后获得的二值图像进行连通域编号,将与眼睛中心点属于同一连通域的区域选定为眼睛部分,确定眼睛部分的左右两个边缘点即为左右眼角坐标,以及眼睛中心点坐标左右预设范围内的最高最低边缘点即为上下眼睑点坐标。

预设范围一般选择2-5个像素单位。

S105、根据左右眼角坐标以及上下眼睑坐标确定左右眼张角α

图3所示为本发明实施例还提供一种基于眼睛中心点的人眼状态识别装置,包括:

目标区域确定模块,用于根据眼睛中心点确定两个眼睛的目标矩形区域;

眼图模型建立模块,用于将目标矩形区域内的图像映射到YCbCr色彩空间,并建立眼睛灰度模型和色度模型;其中,色度模型EyeMapC(x,y)=(Cb(x,y)-Cr(x,y))

判断筛选模块,用于判断眼睛中心点在灰度模型中的灰度值是否大于预设阈值,当眼睛中心点在灰度模型中的灰度值大于预设阈值,通过色度模型筛选出眼睛像素点的二值图像;当瞳孔中心点在灰度模型中的灰度值不大于预设阈值,采用最大类间方差法计算出最佳阈值,通过最佳阈值从目标矩形区域图像筛选出眼睛像素点的二值图像;

眼角眼睑确定模块,用于对筛选后获得的二值图像进行连通域编号,将与眼睛中心点属于同一连通域的区域选定为眼睛部分,确定眼睛部分的左右两个边缘点即为左右眼角坐标,以及眼睛中心点坐标左右预设范围内的最高最低边缘点即为上下眼睑点坐标;

眼睛张角确定模块,用于根据左右眼角坐标以及上下眼睑坐标确定左右眼张角;

眼睛状态判断模块,用于当当前帧的眼睛张角α

需要说明的是:上述实施例提供的基于眼睛中心点的人眼状态识别装置在进行校正时,仅以上述各程序模块的划分进行举例说明,实际应用中,可以根据需要而将上述处理分配由不同的程序模块完成,即将装置的内部结构划分成不同的程序模块,以完成以上描述的全部或者部分处理。另外,上述实施例提供的基于眼睛中心点的人眼状态识别装置与基于眼睛中心点的人眼状态识别方法实施例属于同一构思,其具体实现过程详见方法实施例,其有益效果同方法实施例,这里不再赘述。

本发明实施例还提供了一种计算机设备,包括:存储器和处理器。其中,存储器用于存储计算机程序。处理器用于运行计算机程序时,执行本发明前述基于眼睛中心点的人眼状态识别方法的步骤。

本发明实施例还提供了一种计算机存储介质,是计算机可读存储介质,其上存储有计算机程序,上述计算机程序可由计算机设备的处理器执行,以完成前述基于眼睛中心点的人眼状态识别方法的步骤。计算机可读存储介质可以是磁性随机存取存储器(FRAM,ferromagnetic random access memory)、只读存储器(ROM,Read Only Memory)、可编程只读存储器(PROM,Programmable Read-Only Memory)、可擦除可编程只读存储器(EPROM,Erasable Programmable Read-Only Memory)、电可擦除可编程只读存储器(EEPROM,Electrically ErasableProgrammable Read-Only Memory)、快闪存储器(Flash Memory)、磁表面存储器、光盘、或只读光盘(CD-ROM,Compact Disc Read-Only Memory)等存储器。

在本发明所提供的几个实施例中,应该理解到,所揭露的方法和智能设备,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。

上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元,即可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

技术分类

06120112940675