一种人眼视线识别方法、装置、系统及存储介质与流程

文档序号:17624092发布日期:2019-05-10 23:27阅读:155来源:国知局
一种人眼视线识别方法、装置、系统及存储介质与流程

本发明涉及图像处理技术领域,更具体地涉及人脸图像的处理。



背景技术:

现有的体型优化、美型塑形方案主要包括借助第三方图像处理软件进行图像处理,例如:opencv等。这些第三方图像处理软件的处理方法主要包括:通过分割图像的人眼区域、采用hough变换圆检测、灰度投影灯方法来定位瞳孔位置,依据瞳孔位置来估计视线方向。但是上述方法需要借助第三方图像处理软件,不是所见即所得,且操作较为繁琐;而且基于二维图像中瞳孔的位置来估计视线的方向、误差很大、精确度低、应用场景有限。

因此,现有技术中的人眼视线识别存在需要借助第三方图像处理软件且操作较为繁琐,误差很大、精确度低,不利于应用等问题。



技术实现要素:

考虑到上述问题而提出了本发明。本发明提供了一种人眼视线识别方法、装置、系统及计算机存储介质,通过检测眼部关键点并拟合得到眼部轮廓曲线以确定人眼视线方向,实现人眼视线的准确分析,提高了识别的精度,且方便快捷,显著地提升用户体验。

根据本发明实施例的一方面,提供了一种人眼视线识别方法,包括:

获取待检测对象的人脸图像序列,所述人脸图像序列包括至少一张人脸图像;

基于所述人脸图像得到眼部关键点信息;

根据所述眼部关键点信息拟合得到眼部轮廓曲线;

基于所述眼部轮廓曲线确定所述人眼视线的方向。

示例性地,所述基于所述人脸图像得到眼部关键点信息包括:

基于所述人脸图像和训练好的人脸关键点检测模型得到人脸关键点信息,;

根据所述人脸关键点信息获取眼部区域图像;

将所述眼部区域图像输入局部精细关键点检测模型得到所述眼部关键点信息。

示例性地,所述眼部关键点信息包括瞳孔中心关键点信息和眼部轮廓关键点信息。

示例性地,根据所述眼部关键点信息拟合得到眼部轮廓曲线,包括:

基于所述眼部轮廓关键点的坐标拟合得到椭圆形状的所述眼部轮廓曲线。

示例性地,基于所述眼部轮廓曲线确定所述人眼视线的方向包括:

根据所述眼部轮廓曲线计算眼部的视网焦点坐标;

基于所述眼部的视网焦点坐标和瞳孔中心关键点坐标确定所述人眼视线的方向。

示例性地,根据所述眼部轮廓曲线计算眼部的视网焦点坐标包括:根据所述眼部轮廓曲线计算得到所述眼部轮廓曲线的长轴和短轴;基于所述长轴和短轴计算得到所述视网焦点坐标。

示例性地,所述人眼视线方向包括人眼视线向量的方向,其中,计算所述人眼视线向量包括计算眼部的视网焦点坐标和瞳孔中心关键点坐标之差。

根据本发明实施例的另一方面,提供了一种人眼视线识别装置,包括:

人脸获取模块,用于获取待检测对象的人脸图像序列,所述人脸图像序列包括至少一张人脸图像;

眼部关键点模块,用于基于所述人脸图像得到眼部关键点信息;

拟合模块,用于根据所述眼部关键点信息拟合得到眼部轮廓曲线;

计算模块,用于基于所述眼部轮廓曲线确定所述人眼视线的方向。

根据本发明实施例另一方面,提供了一种人眼视线识别系统,包括存储器、处理器及存储在所述存储器上且在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现上述方法的步骤。

根据本发明实施例的另一方面,提供了一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被计算机执行时实现上述方法的步骤。

根据本发明实施例的人眼视线识别方法、装置、系统及计算机存储介质,通过检测眼部关键点并拟合得到眼部轮廓曲线以确定人眼视线方向,实现人眼视线的准确分析,提高了识别的精度,且方便快捷,显著地提升用户体验。

附图说明

通过结合附图对本发明实施例进行更详细的描述,本发明的上述以及其它目的、特征和优势将变得更加明显。附图用来提供对本发明实施例的进一步理解,并且构成说明书的一部分,与本发明实施例一起用于解释本发明,并不构成对本发明的限制。在附图中,相同的参考标号通常代表相同部件或步骤。

图1是用于实现根据本发明实施例的人眼视线识别方法和装置的示例电子设备的示意性框图;

图2是根据本发明实施例的人眼视线识别方法的示意性流程图;

图3是根据本发明实施例的人眼成像的示意图;

图4是根据本发明实施例的人眼视线识别方法的示例的示意性流程图;

图5是根据本发明实施例的待检测对象的人脸图像示例;

图6是根据本发明实施例的包括人脸关键点的待检测对象的人脸图像示例;

图7是根据本发明实施例的左眼区域图像的精细轮廓点信息的示例;

图8是根据本发明实施例的右眼区域图像的精细轮廓点信息的示例;

图9是根据本发明实施例的右眼眼部轮廓曲线;

图10是根据本发明实施例的右眼眼部轮廓曲线以及右眼眼部瞳孔中心关键点b的示例;

图11是根据本发明实施例的右眼眼部轮廓曲线的长短轴的示例;

图12是根据本发明实施例的视网焦点a的示例;

图13是根据本发明实施例的右眼眼部的视网焦点a和瞳孔中心关键点b的示例;

图14是根据本发明实施例的人眼视线的方向向量ab的示例;

图15是根据本发明实施例的人眼视线识别装置的示意性框图;

图16是根据本发明实施例的人眼视线识别系统的示意性框图。

具体实施方式

为了使得本发明的目的、技术方案和优点更为明显,下面将参照附图详细描述根据本发明的示例实施例。显然,所描述的实施例仅仅是本发明的一部分实施例,而不是本发明的全部实施例,应理解,本发明不受这里描述的示例实施例的限制。基于本发明中描述的本发明实施例,本领域技术人员在没有付出创造性劳动的情况下所得到的所有其它实施例都应落入本发明的保护范围之内。

首先,参考图1来描述用于实现本发明实施例的人眼视线识别方法和装置的示例电子设备100。

如图1所示,电子设备100包括一个或多个处理器101、一个或多个存储装置102、输入装置103、输出装置104、图像传感器105,这些组件通过总线系统106和/或其它形式的连接机构(未示出)互连。应当注意,图1所示的电子设备100的组件和结构只是示例性的,而非限制性的,根据需要,所述电子设备也可以具有其他组件和结构。

所述处理器101可以是中央处理单元(cpu)或者具有数据处理能力和/或指令执行能力的其它形式的处理单元,并且可以控制所述电子设备100中的其它组件以执行期望的功能。

所述存储装置102可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(ram)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(rom)、硬盘、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器101可以运行所述程序指令,以实现下文所述的本发明实施例中(由处理器实现)的客户端功能以及/或者其它期望的功能。在所述计算机可读存储介质中还可以存储各种应用程序和各种数据,例如所述应用程序使用和/或产生的各种数据等。

所述输入装置103可以是用户用来输入指令的装置,并且可以包括键盘、鼠标、麦克风和触摸屏等中的一个或多个。

所述输出装置104可以向外部(例如用户)输出各种信息(例如图像或声音),并且可以包括显示器、扬声器等中的一个或多个。

所述图像传感器105可以拍摄用户期望的图像(例如照片、视频等),并且将所拍摄的图像存储在所述存储装置102中以供其它组件使用。

示例性地,用于实现根据本发明实施例的人眼视线识别方法和装置的示例电子设备可以被实现为诸如智能手机、平板电脑、门禁系统的视频采集端等。

下面,将参照图2描述根据本发明实施例的人眼视线识别方法200。

首先,在步骤s210,获取待检测对象的人脸图像序列,所述人脸图像序列包括至少一张人脸图像;

在步骤s220,基于所述人脸图像得到眼部关键点信息;

在步骤s230,根据所述眼部关键点信息拟合得到眼部轮廓曲线;

最后,在步骤s240,基于所述眼部轮廓曲线确定所述人眼视线的方向。

示例性地,根据本发明实施例的人眼视线识别方法可以在具有存储器和处理器的设备、装置或者系统中实现。

根据本发明实施例的人眼视线识别方法可以部署在图像采集端处,例如,可以部署在个人终端处,诸如智能电话、平板电脑、个人计算机等。替代地,根据本发明实施例的人眼视线识别方法还可以分布地部署在服务器端(或云端)和个人终端处。例如,可以在服务器端(或云端)生成人脸图片序列,服务器端(或云端)将所生成的人脸图片序列传递给个人终端,个人终端根据所接收的人脸图片序列进行人像的牙齿修饰。再例如,可以在服务器端(或云端)生成人脸图片序列,个人终端将图像传感器采集的视频信息以及非图像传感器采集的视频信息传递给服务器端(或云端),然后服务器端(或云端)进人像的牙齿修饰。

根据本发明实施例的人眼视线识别方法,通过检测眼部关键点并拟合得到眼部轮廓曲线以确定人眼视线方向,实现人眼视线的准确分析,提高了识别的精度,且方便快捷,显著地提升用户体验。

根据本发明实施例,在步骤210可以进一步地包括:接收待检测对象的图像数据;对所述图像数据中的视频数据进行视频图像分帧,并对每帧图像进行人脸检测,生成包括至少一张人脸图像的人脸图像序列。

其中,图像数据包括视频数据和非视频数据,非视频数据可以包括单帧图像,此时单帧图像不需要进行分帧处理,可以直接作为人脸图像序列中的图像。

视频数据以流的方式进行文件的存取可以实现高效快速的文件存取;所述视频流的存储方式可以包括以下存储方式之一:本地(local)存储、数据库存储、分布式文件系统(hdfs)存储以及远程存储,存储服务地址可以包括服务器ip和服务器端口。其中,本地存储是指将视频流在系统本地;数据库存储是指将视频流保存在系统的数据库中,数据库存储需要安装相应的数据库;分布式文件系统存储是指将视频流保存在分布式文件系统中,分布式文件系统存储需要安装分布式文件系统;远程存储是指将视频流交由其他存储服务进行存储。在其他示例中,所配置的存储方式也可以包括其他任何合适类型的存储方式,本发明对此不作限制。

示例性地,所述人脸图像是通过对视频中的各帧图像进行人脸检测处理所确定的包含有人脸的图像帧。具体的,可以通过诸如模板匹配、svm(支持向量机)、神经网络等各种本领域中常用的人脸检测方法在包含目标人脸的起始图像帧中确定该人脸的大小和位置,从而确定视频中包含有人脸的各帧图像。上述通过人脸检测确定包含有人脸的图像帧的处理是图像处理领域中的常见处理,此处不再对其进行详细描述。

需要说明的是,所述人脸图像序列并非必须是图像数据中所有包含有人脸的图像,而可以仅是其中的部分图像帧;另一方面,所述人脸图片序列可以是连续的多帧图像,也可以是不连续的、任意选定的多帧图像。

示例性地,当所述图像数据中没有检测到人脸则继续接收图像数据,直到检测到人脸并进行人眼视线识别。

根据本发明实施例,步骤220可以进一步地包括:

基于所述人脸图像和训练好的人脸关键点检测模型得到人脸关键点信息;

根据所述人脸关键点信息获取眼部区域图像;

将所述眼部区域图像输入局部精细关键点检测模型得到所述眼部关键点信息。

示例性地,所述眼部关键点信息包括瞳孔中心关键点信息和眼部轮廓关键点信息。

可以理解,所述眼部区域图像包括左眼区域图像和/或右眼区域图像;所述眼部关键点信息包括左眼瞳孔中心关键点信息和左眼眼部轮廓关键点信息,和/或,右眼瞳孔中心关键点信息和右眼眼部轮廓关键点信息。

示例性地,所述人脸关键点检测模型的训练包括:

对人脸图像训练样本中的人脸图像进行人脸关键点标注得到标注后的人脸图像训练样本;

将标注后的人脸图像训练样本按比例分为第一训练集、第一验证集、第一测试集;

依据第二训练集对第一神经网络进行训练,得到训练好的人脸关键点检测模型。

示例性地,所述人脸关键点包括且不限于:脸的轮廓点、眼睛轮廓点、鼻子轮廓点、眉毛轮廓点、额头轮廓点、上嘴唇轮廓点、下嘴唇轮廓点。

示例性地,所述局部精细关键点检测模型的训练包括:

对人脸局部区域图像训练样本进行人脸局部精细关键点标注得到标注后的人脸局部区域图像训练样本;

将标注后的人脸局部区域图像训练样本按比例分为第二训练集、第二验证集、第二测试集;

依据第二训练集对第二神经网络进行训练,得到训练好的局部精细关键点检测模型。

示例性地,所述人脸局部区域包括眼睛、嘴巴、鼻子、耳朵、眉毛、额头、脸颊、下巴中的至少一个。

示例性地,所述人脸局部精细关键点包括不限于:脸的精细轮廓点、眼睛精细轮廓点、鼻子精细轮廓点、眉毛精细轮廓点、额头精细轮廓点、上嘴唇精细轮廓点、下嘴唇精细轮廓点。

示例性地,所述人脸关键点检测模型或局部精细关键点检测模型的训练还包括:判断所述人脸关键点检测模型或局部精细关键点检测模型的训练精度和/或验证精度是否满足各自的训练要求和/或验证要求;如果满足各自的训练要求和/或验证要求则停止训练所述关键点检测模型或精细关键点检测模型;如果不满足各自的训练要求和/或验证要求则根据各自的所述训练精度和/或验证精度调整所述人脸关键点检测模型或精细关键点检测模型。

示例性地,所述训练要求包括所述训练精度大于或等于训练精度阈值;所述验证要求包括所述验证精度大于或等于验证精度阈值。

其中,所述训练集(train)是指用于模型拟合的数据样本,包括若干张人脸图片。随着训练集中的每一个训练数据对模型进行训练,通过多次迭代不断更新得到训练后的模型。

而验证集(validation)是在用训练集对模型训练完毕后,用于对模型验证的数据以验证模型是否准确。所以,与训练集不同,验证集不是训练模型的参数,而是模型训练过程中单独留出的样本集,可以用于对训练过程的中间结果进行验证,并根据验证精度实时调整训练参数。虽然验证集没有对模型的参数产生影响,但是我们却根据验证集的测试结果的验证精度来调整模型的超参数,所以验证集对结果还是有影响的,即让模型在验证集上满足验证要求。所以为了进一步提高所述模型的可靠性和计算精度,需要一个完全没有经过训练的测试集来再最后测试模型的准确率。

测试集(test)是用来评估模最终模型的泛化能力,衡量训练后的模型的性能和能力的数据,但不能作为调整参数、选择特征等算法相关的选择的依据。测试集既不用像测试集一样进行梯度下降,也不用它来控制超参数,只是在模型最终训练完成后,用来测试模型的最后准确率,来保证所述模型的可靠性。

在一个实施例中,可以采用如下方法进行关键点检测模型的训练。具体来说,首先,采集相当数量(如:10万张)的人脸图像(底库);然后,对所述人脸图像进行人脸关键点精准标注(包括脸的轮廓点、眼睛轮廓点、鼻子轮廓点、眉毛轮廓点、额头轮廓点、上嘴唇轮廓点、下嘴唇轮廓点等);接着,对精准标注数据按一定比例划分为训练集、验证集、测试集,其数量比例可以是8:1:1或6:2:2;然后,对训练集进行模型训练(如:神经网络的训练),同时用验证集对训练过程中的中间结果进行验证,并实时调整训练参数,当训练精度和验证精度都达到一定阈值时,停止训练过程,得到训练模型;最后,用测试集对人脸关键点检测模型进行测试,衡量该人脸关键点检测模型的性能和能力。

在另一个实施例中,可以采用如下方法进行局部精细关键点检测模型的训练。具体来说,首先,采集相当数量(如:10万张)的人脸局部区域图像(如眼睛区域的图像);然后,对所述眼睛区域的图像进行局部区域的关键点精准标注(包括眼睛精细轮廓点);接着,对精准标注数据按一定比例划分为训练集、验证集、测试集,其数量比例可以是8:1:1或6:2:2;然后,对训练集进行模型训练(如:神经网络的训练),同时用验证集对训练过程中的中间结果进行验证,并实时调整训练参数,当训练精度和验证精度都达到一定阈值时,停止训练过程,得到训练模型;最后,用测试集对精细关键点检测模型进行测试,衡量该精细关键点检测模型的性能和能力。

需要说明的是,上述人脸关键点和/或局部精细关键点仅仅为示例,所述人脸关键点和/或局部精细关键点可以根据设计需要和实际情况增加关键点的个数,以提高关键点检测的准确度,为后续程序提供良好的数据基础。

根据本发明实施例,步骤230可以进一步地包括:基于所述眼部轮廓关键点的坐标拟合得到椭圆形状的所述眼部轮廓曲线。

示例性地,拟合得到椭圆形状的所述眼部轮廓曲线包括:将所述眼部轮廓关键点的坐标作为离散数据点进行拟合得到所述眼部轮廓曲线。

示例性地,所述拟合方法包括最小二乘法。

在一个实施例中,采用matlab拟合所述椭圆形状的所述眼部轮廓曲线,具体来说:根据离散点曲线拟合方程和由离散点文件路径获取的离散点数据(即眼部轮廓关键点),采用最小二乘法进行拟合,得到所述椭圆形状的所述眼部轮廓曲线。

根据本发明实施例,步骤240可以进一步地包括:

根据所述眼部轮廓曲线计算眼部的视网焦点坐标;

基于所述眼部的视网焦点坐标和瞳孔中心关键点坐标确定所述人眼视线的方向。

示例性地,所述计算眼部的视网焦点包括:

根据所述眼部轮廓曲线计算得到所述眼部轮廓曲线的长轴和短轴;

基于所述长轴和短轴计算得到所述视网焦点坐标。

示例性地,所述视网焦点包括所述长轴和短轴的交点。

示例性地,所述人眼视线的方向包括人眼视线向量的方向,其中,计算所述人眼视线向量包括计算眼部的视网焦点坐标和瞳孔中心关键点坐标之差。

在一个实施例中,如图3所示,图3示出了根据本发明实施例的人眼成像的示意图。其中,瞳孔中心关键点坐标b(xb,yb,zb),视网焦点a是图3中所示眼部轮廓曲线的长轴和短轴的交点,视网焦点a的坐标a(xa,ya,za),那么人眼视线的方向向量ab为:ab(xb-xa,yb-ya,zb-za);

方向向量ab的模长为:

方向向量ab与x正方向的夹角为:

方向向量ab与y正方向的夹角为:

方向向量ab与z正方向的夹角为:

在一个实施例中,如图4-图14所示,以本发明实施例的人眼视线识别方法部署于个人终端的具体示例来对进行具体说明。图4示出了根据本发明实施例的人眼视线识别方法的示例的示意性流程图。

首先,用户开启实时人脸检测的人眼视线分析功能。其中,用户开启实时人脸检测的人眼视线分析功能之后,程序自动加载人脸识别默认参数表,如需要检测多少个人脸关键点、每隔多少帧检测一次等,用户也可以自己调节相应的参数。

接着,图像采集设备(如:手机摄像头)开启预览视频流,获取预览数据帧。

然后,基于所述视频流进行视频图像分帧得到预览数据帧,获取预览数据帧。将预览数据帧输入人脸检测模型中对其做人脸检测,判断是否存在人脸。如果通过所述人脸检测确认检测到人脸,则生成待检测对象的人脸图像,如图5所示,图5示出了根据本发明实施例的待检测对象的人脸图像示例。

如果通过所述人脸检测确认没有检测到人脸,则结束本次流程或返回继续获取预览数据帧。

下一步,将所述待检测对象的人脸图像输入训练好的人脸关键点检测模型得到人脸关键点信息,如图6所示,图6示出了根据本发明实施例的包括人脸关键点的所述待检测对象的人脸图像的示例。

下一步,根据人脸关键点信息获取所述眼部区域图像,包括左眼区域图像和/或右眼区域图像,将左眼区域图像和/或右眼区域图像输入到局部精细关键点检测模型,得到左眼区域图像的精细轮廓点信息和/或右眼区域图像的精细轮廓点信息,如图7-图8所示,图7示出了根据本发明实施例的左眼区域图像的精细轮廓点信息的示例,图8示出了根据本发明实施例的右眼区域图像的精细轮廓点信息的示例。

下一步,基于左眼区域图像的精细轮廓点信息和/或右眼区域图像的精细轮廓点信息,拟合出左眼区域图像、右眼区域图像的眼白区域的近似椭圆曲线即左眼眼部轮廓曲线、右眼眼部轮廓曲线,计算出左眼和/或右眼近似椭圆曲线的长轴、短轴,以右眼为例,如图9-图11所示,图9示出了根据本发明实施例的右眼眼部轮廓曲线的示例,图10示出了根据本发明实施例的右眼眼部轮廓曲线以及右眼眼部瞳孔中心关键点的示例,图11示出了根据本发明实施例的右眼眼部轮廓曲线的长短轴的示例。

下一步,基于拟合椭圆的长轴、短轴,计算眼部视网焦点坐标;并结合眼部瞳孔中心关键点坐标,计算人眼视线的方向向量;以右眼眼部为例,基于右眼近似椭圆曲线的长轴、短轴,得到右眼眼部的视网焦点坐标;然后计算所述右眼眼部的视网焦点坐标和右眼瞳孔中心关键点坐标之差,得到右眼眼部的人眼视线的方向向量,其方向即为人眼视线的方向;如图12-图14所示,图12示出了根据本发明实施例的视网焦点的示例,图13示出了根据本发明实施例的视网焦点和瞳孔中心点的示例,图14示出了根据本发明实施例的人眼视线的方向向量的示例。

下一步,将最终处理结果交互到显示终端,完成本次处理操作。由此得到的人眼视线准确率高,快速便捷,显著地提升了用户体验。

最后,判断是否结束应用,如果结束应用则退出应用;如果不结束应用则返回继续判断预览数据帧是否存在人脸。

图15示出了根据本发明实施例的人眼视线识别装置1500的示意性框图。如图15所示,根据本发明实施例的人眼视线识别装置1500包括:

人脸获取模块1510,用于获取待检测对象的人脸图像序列,所述人脸图像序列包括至少一张人脸图像;

眼部关键点模块1520,用于基于所述人脸图像得到眼部关键点信息;

拟合模块1530,用于根据所述眼部关键点信息拟合得到眼部轮廓曲线;

计算模块1540,用于基于所述眼部轮廓曲线确定所述人眼视线的方向。

根据本发明实施例的人眼视线识别装置,通过检测眼部关键点并拟合得到眼部轮廓曲线以确定人眼视线方向,实现人眼视线的准确分析,提高了识别的精度,且方便快捷,显著地提升用户体验。

根据本发明实施例,人脸获取模块1510可以进一步地包括:

图像获取模块1511,用于接收收待检测对象的图像数据;

分帧模块1512,用于对所述图像数据中的视频数据进行视频图像分帧;

人脸检测模块1513,用于对每帧图像进行人脸检测,生成包括至少一张人脸图像的人脸图像序列。

其中,图像数据包括视频数据和非视频数据,非视频数据可以包括单帧图像,此时单帧图像不需要进行分帧处理,可以直接作为人脸图像序列中的图像。视频数据以流的方式进行文件的存取可以实现高效快速的文件存取;所述视频流的存储方式可以包括以下存储方式之一:本地(local)存储、数据库存储、分布式文件系统(hdfs)存储以及远程存储,存储服务地址可以包括服务器ip和服务器端口。

示例性地,所述人脸图片是人脸检测模块1513通过对视频中的各帧图像进行人脸检测处理所确定的包含有人脸的图像帧。具体的,可以通过诸如模板匹配、svm(支持向量机)、神经网络等各种本领域中常用的人脸检测方法在包含目标人脸的起始图像帧中确定该人脸的大小和位置,从而确定视频中包含有人脸的各帧图像。上述通过人脸检测确定包含有人脸的图像帧的处理是图像处理领域中的常见处理,此处不再对其进行详细描述。

需要说明的是,所述人脸图像序列并非必须是图像数据中所有包含有人脸的图像,而可以仅是其中的部分图像帧;另一方面,所述人脸图片序列可以是连续的多帧图像,也可以是不连续的、任意选定的多帧图像。

根据本发明实施例,眼部关键点模块1520可以进一步地包括:

人脸关键点模块1521,用于基于所述人脸图像和训练好的人脸关键点检测模型得到人脸关键点信息;

局部区域图像模块1522,用于根据所述人脸关键点信息获取眼部区域图像;

局部精细关键点模块1523,用于将所述眼部区域图像输入局部精细关键点检测模型得到所述眼部关键点信息。

示例性地,所述眼部关键点信息包括瞳孔中心关键点信息和眼部轮廓关键点信息。

可以理解,所述眼部区域图像包括左眼区域图像和/或右眼区域图像;所述眼部关键点信息包括左眼瞳孔中心关键点信息和左眼眼部轮廓关键点信息,和/或,右眼瞳孔中心关键点信息和右眼眼部轮廓关键点信息。

示例性地,所述人脸关键点检测模型的训练包括:

对人脸图像训练样本中的人脸图像进行人脸关键点标注得到标注后的人脸图像训练样本;

将标注后的人脸图像训练样本按比例分为第一训练集、第一验证集、第一测试集;

依据第二训练集对第一神经网络进行训练,得到训练好的人脸关键点检测模型。

示例性地,所述人脸关键点包括且不限于:脸的轮廓点、眼睛轮廓点、鼻子轮廓点、眉毛轮廓点、额头轮廓点、上嘴唇轮廓点、下嘴唇轮廓点。

示例性地,所述局部精细关键点检测模型的训练包括:

对人脸局部区域图像训练样本进行人脸局部精细关键点标注得到标注后的人脸局部区域图像训练样本;

将标注后的人脸局部区域图像训练样本按比例分为第二训练集、第二验证集、第二测试集;

依据第二训练集对第二神经网络进行训练,得到训练好的局部精细关键点检测模型。

示例性地,所述人脸关键区域包括眼睛、嘴巴、鼻子、耳朵、眉毛、额头、脸颊、下巴中的至少一个。

示例性地,所述人脸局部精细关键点包括且不限于:脸的精细轮廓点、眼睛精细轮廓点、鼻子精细轮廓点、眉毛精细轮廓点、额头精细轮廓点、上嘴唇精细轮廓点、下嘴唇精细轮廓点。

示例性地,所述人脸关键点检测模型或局部精细关键点检测模型的训练还包括:判断所述人脸关键点检测模型或局部精细关键点检测模型的训练精度和/或验证精度是否满足各自的训练要求和/或验证要求;如果满足各自的训练要求和/或验证要求则停止训练所述关键点检测模型或精细关键点检测模型;如果不满足各自的训练要求和/或验证要求则根据各自的所述训练精度和/或验证精度调整所述人脸关键点检测模型或局部精细关键点检测模型。

示例性地,所述训练要求包括所述训练精度大于或等于训练精度阈值;所述验证要求包括所述验证精度大于或等于验证精度阈值。

需要说明的是,所述人脸关键点和/或局部精细关键点可以根据设计需要和实际情况增加关键点的个数,以提高关键点检测的准确度,为后续程序提供良好的数据基础。

根据本发明实施例,拟合模块1530可以进一步地用于:基于所述眼部轮廓关键点的坐标拟合得到椭圆形状的所述眼部轮廓曲线。

示例性地,拟合得到椭圆形状的所述眼部轮廓曲线包括:将所述眼部轮廓关键点的坐标作为离散数据点进行拟合得到所述眼部轮廓曲线。

示例性地,所述拟合方法包括最小二乘法。

在一个实施例中,采用matlab拟合所述椭圆曲线模型,具体来说:拟合模块1530根据离散点曲线拟合方程和由离散点文件路径获取的离散点数据(即左/右眼区域图像的精细轮廓点信息),采用最小二乘法进行拟合,得到所述椭圆形状的所述眼部轮廓曲线。

根据本发明实施例,计算模块1540可以进一步地包括:

视网焦点模块1541,用于根据所述眼部轮廓曲线计算眼部的视网焦点坐标;

人眼视线模块1542,用于基于所述眼部的视网焦点坐标和瞳孔中心点坐标确定所述人眼视线的方向。

示例性地,所述视网焦点模块1541还用于:

根据所述眼部轮廓曲线计算得到所述眼部轮廓曲线的长轴和短轴;

基于所述长轴和短轴计算得到所述视网焦点坐标。

示例性地,所述视网焦点包括所述长轴和短轴的交点。

示例性地,所述人眼视线的方向包括人眼视线向量的方向,其中,计算所述人眼视线向量包括眼部的视网焦点坐标和瞳孔中心关键点坐标之差。

在一个实施例中,瞳孔中心点坐标b(xb,yb,zb),视网焦点a是所述椭圆曲线(眼部的几何模型)的长轴和短轴的交点,视网焦点a的坐标a(xa,ya,za),那么人眼视线向量ab为:ab(xb-xa,yb-ya,zb-za);

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

图16示出了根据本发明实施例的人眼视线识别系统1600的示意性框图。人眼视线识别系统1600包括图像传感器1610、存储装置1620、以及处理器1630。

图像传感器1610用于采集图像数据。

所述存储装置1620存储用于实现根据本发明实施例的人眼视线识别方法中的相应步骤的程序代码。

所述处理器1630用于运行所述存储装置1620中存储的程序代码,以执行根据本发明实施例的人眼视线识别方法的相应步骤,并且用于实现根据本发明实施例的人眼视线识别装置中的人脸获取模块1510,眼部关键点模块1520,拟合模块1530和计算模块1540。

此外,根据本发明实施例,还提供了一种存储介质,在所述存储介质上存储了程序指令,在所述程序指令被计算机或处理器运行时用于执行本发明实施例的人眼视线识别方法的相应步骤,并且用于实现根据本发明实施例的人眼视线识别装置中的相应模块。所述存储介质例如可以包括智能电话的存储卡、平板电脑的存储部件、个人计算机的硬盘、只读存储器(rom)、可擦除可编程只读存储器(eprom)、便携式紧致盘只读存储器(cd-rom)、usb存储器、或者上述存储介质的任意组合。所述计算机可读存储介质可以是一个或多个计算机可读存储介质的任意组合,例如一个计算机可读存储介质包含用于随机地生成动作指令序列的计算机可读的程序代码,另一个计算机可读存储介质包含用于进行人眼视线识别的计算机可读的程序代码。

在一个实施例中,所述计算机程序指令在被计算机运行时可以实现根据本发明实施例的人眼视线识别装置的各个功能模块,并且/或者可以执行根据本发明实施例的人眼视线识别方法。

根据本发明实施例的人眼视线识别系统中的各模块可以通过根据本发明实施例的人眼视线识别的电子设备的处理器运行在存储器中存储的计算机程序指令来实现,或者可以在根据本发明实施例的计算机程序产品的计算机可读存储介质中存储的计算机指令被计算机运行时实现。

根据本发明实施例的人眼视线识别方法、装置、系统以及存储介质,通过人脸检测技术获取左右眼部区域的精细的轮廓信息,实现人眼视线的准确分析,提高了识别的精度,且方便快捷,显著地提升用户体验。

尽管这里已经参考附图描述了示例实施例,应理解上述示例实施例仅仅是示例性的,并且不意图将本发明的范围限制于此。本领域普通技术人员可以在其中进行各种改变和修改,而不偏离本发明的范围和精神。所有这些改变和修改意在被包括在所附权利要求所要求的本发明的范围之内。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个设备,或一些特征可以忽略,或不执行。

在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。

类似地,应当理解,为了精简本发明并帮助理解各个发明方面中的一个或多个,在对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该本发明的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如相应的权利要求书所反映的那样,其发明点在于可以用少于某个公开的单个实施例的所有特征的特征来解决相应的技术问题。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。

本领域的技术人员可以理解,除了特征之间相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。

此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。

本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(dsp)来实现根据本发明实施例的物品分析设备中的一些模块的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。

应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

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

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1