一种关注区域检测方法、装置、可读存储介质及终端设备与流程

文档序号:20166233发布日期:2020-03-24 21:32阅读:194来源:国知局
一种关注区域检测方法、装置、可读存储介质及终端设备与流程

本申请属于图像处理技术领域,尤其涉及一种关注区域检测方法、装置、计算机可读存储介质及终端设备。



背景技术:

随着图像识别技术的发展,利用人眼视线进行人机互动的方式开始成为研究者们积极探索的问题。在商业模式下,可以根据顾客关注方向判断其对商品的感兴趣程度,进而展开合理广告推荐。这不仅可以给顾客带来新颖的购物体验,还可以给商家带来较好的收益。眼球可见部分中虹膜的相对位置会随着关注方向的改变而移动,这使通过眼部关键点进行关注方向的预测成为一种可能。当关注的可变范围较小时,虹膜位置的偏移量较小,难以有效定量分析,更难以准确估计关注区域。现有技术中的眼动仪设备使用红外相机和精密的传感器可以跟踪眼部运动,但其价格十分昂贵,难以进行广泛应用。



技术实现要素:

有鉴于此,本申请实施例提供了一种关注区域检测方法、装置、计算机可读存储介质及终端设备,以解决现有的关注区域检测方法价格十分昂贵,难以进行广泛应用的问题。

本申请实施例的第一方面提供了一种关注区域检测方法,可以包括:

获取待检测的目标人脸图像;

计算所述目标人脸图像的头部姿势;

提取所述目标人脸图像中的左眼图像和右眼图像;

分别在所述左眼图像和所述右眼图像中进行眼部关键点检测,得到所述左眼图像和所述右眼图像中的各个眼部关键点的位置信息;

根据所述头部姿势、所述左眼图像和所述右眼图像确定视线方向;

根据所述头部姿势、所述视线方向、所述左眼图像和所述右眼图像中的各个眼部关键点的位置信息确定眼部关注区域。

进一步地,所述根据所述头部姿势、所述视线方向、所述左眼图像和所述右眼图像中的各个眼部关键点的位置信息确定眼部关注区域包括:

将所述头部姿势、所述视线方向、所述左眼图像和所述右眼图像中的各个眼部关键点的位置信息构造为输入信息向量;

使用预训练好的全连接神经网络对所述输入信息向量进行处理,得到输出坐标点;

将所述输出坐标点对应的屏幕区域确定为所述眼部关注区域。

进一步地,在使用预训练好的全连接神经网络对所述输入信息向量进行处理之前,还包括:

将预设的屏幕划分为sn个屏幕区域,sn为大于1的整数;

分别构造各个标定样本集,其中,第s个标定样本集中包括fs个向量样本,每个向量样本均为第s个屏幕区域被关注时的输入信息向量,且每个向量样本对应的标签均为第s个屏幕区域的中心坐标点,1≤s≤sn,fs为正整数;

使用各个标定样本集对初始状态的全连接神经网络进行训练,得到所述预训练好的全连接神经网络。

进一步地,所述分别构造各个标定样本集包括:

在所述屏幕的第s个屏幕区域的中心坐标点显示预设的图案;

分别采集各帧样本图像,所述样本图像为受试者关注所述图案时的人脸图像;

分别构造各帧样本图像的输入信息向量;

将各帧样本图像的输入信息向量构造为第s个标定样本集。

进一步地,在使用预训练好的全连接神经网络对所述输入信息向量进行处理,得到输出坐标点之后,还包括:

获取参考坐标点,所述参考坐标点在所述目标人脸图像之前采集的k帧人脸图像对应的输出坐标点,k为正整数;

将所述目标人脸图像对应的输出坐标点和所述参考坐标点构造为第一坐标点集合;

从所述第一坐标点集合中剔除离群点,得到第二坐标点集合;

计算所述第二坐标点集合的均值坐标点,并将所述第二坐标集合的均值坐标点确定为平滑处理后的输出坐标点。

进一步地,所述计算所述人脸图像的头部姿势包括:

计算所述目标人脸图像的仿射矩阵;

根据所述仿射矩阵计算所述目标人脸图像的旋转矩阵;

根据所述旋转矩阵计算所述头部姿势。

进一步地,所述提取所述目标人脸图像中的左眼图像和右眼图像包括:

在所述目标人脸图像中进行人脸关键点检测,得到所述目标人脸图像中的各个人脸关键点的位置信息;

根据各个人脸关键点的位置信息确定所述左眼图像在所述目标人脸图像中的第一区域,以及所述右眼图像在所述目标人脸图像中的第二区域;

从所述第一区域中提取所述左眼图像,并从所述第二区域中提取所述右眼图像。

本申请实施例的第二方面提供了一种关注区域检测装置,可以包括:

图像采集模块,用于获取待检测的目标人脸图像;

头部姿势计算模块,用于计算所述目标人脸图像的头部姿势;

眼部图像提取模块,用于提取所述目标人脸图像中的左眼图像和右眼图像;

眼部关键点检测模块,用于分别在所述左眼图像和所述右眼图像中进行眼部关键点检测,得到所述左眼图像和所述右眼图像中的各个眼部关键点的位置信息;

视线方向确定模块,用于根据所述头部姿势、所述左眼图像和所述右眼图像确定视线方向;

眼部关注区域确定模块,用于根据所述头部姿势、所述视线方向、所述左眼图像和所述右眼图像中的各个眼部关键点的位置信息确定眼部关注区域。

进一步地,所述眼部关注区域确定模块可以包括:

输入信息向量构造子模块,用于将所述头部姿势、所述视线方向、所述左眼图像和所述右眼图像中的各个眼部关键点的位置信息构造为输入信息向量;

神经网络处理子模块,用于使用预训练好的全连接神经网络对所述输入信息向量进行处理,得到输出坐标点;

眼部关注区域确定子模块,用于将所述输出坐标点对应的屏幕区域确定为所述眼部关注区域。

进一步地,所述关注区域检测装置还可以包括:

屏幕区域划分模块,用于将预设的屏幕划分为sn个屏幕区域,sn为大于1的整数;

标定样本集构造模块,用于分别构造各个标定样本集,其中,第s个标定样本集中包括fs个向量样本,每个向量样本均为第s个屏幕区域被关注时的输入信息向量,且每个向量样本对应的标签均为第s个屏幕区域的中心坐标点,1≤s≤sn,fs为正整数;

网络训练模块,用于使用各个标定样本集对初始状态的全连接神经网络进行训练,得到所述预训练好的全连接神经网络。

进一步地,所述标定样本集构造模块可以包括:

图案显示子模块,用于在所述屏幕的第s个屏幕区域的中心坐标点显示预设的图案;

样本图像采集子模块,用于分别采集各帧样本图像,所述样本图像为受试者关注所述图案时的人脸图像;

输入信息向量构造子模块,用于分别构造各帧样本图像的输入信息向量;

标定样本集构造子模块,用于将各帧样本图像的输入信息向量构造为第s个标定样本集。

进一步地,所述眼部关注区域确定模块还可以包括:

参考坐标点获取子模块,用于获取参考坐标点,所述参考坐标点在所述目标人脸图像之前采集的k帧人脸图像对应的输出坐标点,k为正整数;

第一坐标点集合构造子模块,用于将所述目标人脸图像对应的输出坐标点和所述参考坐标点构造为第一坐标点集合;

离群点剔除子模块,用于从所述第一坐标点集合中剔除离群点,得到第二坐标点集合;

平滑处理子模块,用于计算所述第二坐标点集合的均值坐标点,并将所述第二坐标集合的均值坐标点确定为平滑处理后的输出坐标点。

进一步地,所述头部姿势计算模块可以包括:

仿射矩阵计算子模块,用于计算所述目标人脸图像的仿射矩阵;

旋转矩阵计算子模块,用于根据所述仿射矩阵计算所述目标人脸图像的旋转矩阵;

头部姿势计算子模块,用于根据所述旋转矩阵计算所述头部姿势。

进一步地,所述眼部图像提取模块可以包括:

人脸关键点检测检测子模块,用于在所述目标人脸图像中进行人脸关键点检测,得到所述目标人脸图像中的各个人脸关键点的位置信息;

眼部区域确定子模块,用于根据各个人脸关键点的位置信息确定所述左眼图像在所述目标人脸图像中的第一区域,以及所述右眼图像在所述目标人脸图像中的第二区域;

眼部图像提取子模块,用于从所述第一区域中提取所述左眼图像,并从所述第二区域中提取所述右眼图像。

本申请实施例的第三方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述任一种关注区域检测方法的步骤。

本申请实施例的第四方面提供了一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任一种关注区域检测方法的步骤。

本申请实施例的第五方面提供了一种计算机程序产品,当计算机程序产品在终端设备上运行时,使得终端设备执行上述任一种关注区域检测方法的步骤。

本申请实施例与现有技术相比存在的有益效果是:本申请实施例获取待检测的目标人脸图像;计算所述目标人脸图像的头部姿势;提取所述目标人脸图像中的左眼图像和右眼图像;分别在所述左眼图像和所述右眼图像中进行眼部关键点检测,得到所述左眼图像和所述右眼图像中的各个眼部关键点的位置信息;根据所述头部姿势、所述左眼图像和所述右眼图像确定视线方向;根据所述头部姿势、所述视线方向、所述左眼图像和所述右眼图像中的各个眼部关键点的位置信息确定眼部关注区域。在本申请实施例中,无需使用价格昂贵的精密仪器,而是通过对人脸图像的图像分析处理,分别得到头部姿势、视线方向、左眼图像和右眼图像中的各个眼部关键点的位置信息,并以此来确定眼部关注区域,极大降低了成本,可以进行更广泛的应用。

附图说明

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

图1为本申请实施例中一种关注区域检测方法的一个实施例流程图;

图2为计算目标人脸图像的头部姿势的示意流程图;

图3为提取目标人脸图像中的左眼图像和右眼图像的示意流程图;

图4为人脸关键点的示意图;

图5为眼部关键点的示意图;

图6为根据头部姿势、视线方向、左眼图像和右眼图像中的各个眼部关键点的位置信息确定眼部关注区域的示意流程图;

图7为对输出坐标点进行平滑处理的示意流程图;

图8为对全连接神经网络进行训练的示意流程图;

图9将屏幕划分为若干个屏幕区域的示意图;

图10为构造标定样本集的示意流程图;

图11为本申请实施例中一种关注区域检测装置的一个实施例结构图;

图12为本申请实施例中一种终端设备的示意框图。

具体实施方式

为使得本申请的发明目的、特征、优点能够更加的明显和易懂,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本申请一部分实施例,而非全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。

应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。

还应当理解,在此本申请说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本申请。如在本申请说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。

还应当进一步理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。

如在本说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。

另外,在本申请的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。

请参阅图1,本申请实施例中一种关注区域检测方法的一个实施例可以包括:

步骤s101、获取待检测的目标人脸图像。

本申请实施例的执行主体可以为带有摄像头和屏幕的终端设备,包括但不限于桌上型计算机、笔记本、掌上电脑、智能手机及智能电视。

在本申请实施例的一种具体实现中,当用户在观看所述终端设备的屏幕时,所述终端设备可以通过朝向用户方向的摄像头采集当前的人脸图像,也即所述目标人脸图像。

步骤s102、计算所述目标人脸图像的头部姿势。

在本申请实施例的一种具体实现中,步骤s102具体可以包括如图2所示的过程:

步骤s1021、计算所述目标人脸图像的仿射矩阵。

在本申请实施例中,优选采用预训练好的三维可变形模型(3dmorphablemodel,3dmm)来对所述目标人脸图像进行处理,3dmm是一种人脸三维重建模型,可以通过二维人脸信息获得对应的三维人脸信息,其关键在于确定二维人脸信息与三维人脸信息之间的映射关系,这一映射关系可以用矩阵的形式来进行表示,也即仿射矩阵。

在本申请实施例中,所述目标人脸图像记录的是二维人脸信息,此处将其记为x2d,将其对应的三维人脸信息记为x3d,将所述仿射矩阵记为matrix,则有:x2d=matrix*x3d。

通过3dmm的处理,可以得到一个3×4的仿射矩阵,即:

其中,matrix的前三列为线性变换矩阵,rij为所述线性变换矩阵的第i行第j列的元素,1≤i≤3,1≤j≤3,matrix的最后一列为平移变换向量,tk为所述平移变换向量的第k个元素,1≤k≤3。

步骤s1022、根据所述仿射矩阵计算所述目标人脸图像的旋转矩阵。

具体地,首先可以根据下式从所述仿射矩阵中分别抽取出第一向量r1和第二向量r2:

r1=[r11r12r13],r2=[r21r22r23];

然后,可以根据下式对所述第一向量和所述第二向量分别进行归一化处理:

其中,||r1||2为所述第一向量的模,||r2||2为所述第二向量的模,为归一化后的第一向量,为归一化后的第二向量。

最后,可以根据下式计算所述旋转矩阵:

其中,m即为所述旋转矩阵。

步骤s1023、根据所述旋转矩阵计算所述头部姿势。

具体地,可以根据下式计算所述头部姿势:

其中,x为所述头部姿势的俯仰角,y为所述头部姿势的偏转角,z为所述头部姿势的翻滚角。

通过图2所示的过程,可以得到高精度的头部姿势,以这一头部姿势为依据可以极大提高关注区域检测结果的准确率。

需要注意的是,图2所示的过程只是计算所述头部姿势的一种优选方式,在实际应用中,还可以根据具体情况选取其它的方式来进行所述头部姿势的计算,本申请实施例对此不作具体限定。

步骤s103、提取所述目标人脸图像中的左眼图像和右眼图像。

在本申请实施例的一种具体实现中,步骤s103具体可以包括如图3所示的过程:

步骤s1031、在所述目标人脸图像中进行人脸关键点检测,得到所述目标人脸图像中的各个人脸关键点的位置信息。

所述人脸关键点包括但不限于:眉毛、眼睛、鼻子、嘴巴、脸部轮廓等部位的关键点。图4所示即为一种人脸关键点的示意图,其中,标号0至标号16为脸部轮廓的关键点,标号17至标号21为左眉的关键点,标号22至标号26为右眉的关键点,标号27至标号35为鼻子的关键点,标号36至标号41为左眼的关键点,标号42至标号47为左眼的关键点,标号48至标号67为嘴巴的关键点。

在本申请实施例的一种具体实现中,可以使用3dmm在所述目标人脸图像中进行人脸关键点检测,从而得到所述目标人脸图像中的各个人脸关键点的位置信息。

当然,在本申请实施例的其它具体实现中,可以使用其它现有技术中常用的检测模型在所述眼部图像中进行眼部关键点检测,本申请实施例对其不作具体限定。

步骤s1032、根据各个人脸关键点的位置信息确定所述左眼图像在所述目标人脸图像中的第一区域,以及所述右眼图像在所述目标人脸图像中的第二区域。

如图4所示,标号36至标号41为左眼的关键点,标号42至标号47为左眼的关键点,此处将左眼的横坐标最小值记为left_x_min,将左眼的横坐标最大值记为left_x_max,将左眼的纵坐标最小值记为left_y_min,将左眼的纵坐标最大值记为left_y_max,将右眼的横坐标最小值记为right_x_min,将右眼的横坐标最大值记为right_x_max,将右眼的纵坐标最小值记为right_y_min,将右眼的纵坐标最大值记为right_y_max。

在本申请实施例的一种具体实现中,可以将以下四个坐标点所构成的矩形区域(记为la1)作为所述第一区域:(left_x_min,left_y_max),(left_x_min,left_y_min),(left_x_max,left_y_max),(left_x_max,left_y_min),将以下四个坐标点所构成的矩形区域(记为ra1)作为所述第二区域:(right_x_min,right_y_max),(right_x_min,right_y_min),(right_x_max,right_y_max),(right_x_max,right_y_min)。

考虑到直接利用最值信息截取左右眼图像可能会存在边缘信息缺失的现象,因此,在本申请实施例的另一种具体实现中,还可以对la1进行外扩,得到新的矩形区域la2,并将la2作为所述第一区域;对ra1进行外扩,得到新的矩形区域ra2,并将ra2作为所述第二区域。

此处将la2的四个顶点的坐标分别记为:(left_x_min_new,left_y_max_new),(left_x_min_new,left_y_min_new),(left_x_max_new,left_y_max_new),(left_x_max_new,left_y_min_new),则有:

left_x_min_new=left_x_min-p×(left_x_max-left_x_min);

left_x_max_new=left_x_max+p×(left_x_max-left_x_min);

left_y_min_new=left_y_min-p×(left_y_max-left_y_min);

left_y_max_new=left_y_max+p×(left_y_max-left_y_min);

将ra2的四个顶点的坐标分别记为:(right_x_min_new,right_y_max_new),(right_x_min_new,right_y_min_new),(right_x_max_new,right_y_max_new),(right_x_max_new,right_y_min_new),则有:

right_x_min_new=right_x_min-p×(right_x_max-right_x_min);

right_x_max_new=right_x_max+p×(right_x_max-right_x_min);

right_y_min_new=right_y_min-p×(right_y_max-right_y_min);

right_y_max_new=right_y_max+p×(right_y_max-right_y_min);

其中,p为预设的外扩系数,其具体取值可以根据实际情况进行设置,此处优选将其设置为1.4,即最终确定的眼部图像的宽、高分别是原始的眼部图像宽、高的1.4倍,通过这样的方式,可以有效避免边缘信息缺失的现象。

步骤s1033、从所述第一区域中提取所述左眼图像,并从所述第二区域中提取所述右眼图像。

通过图3所示的过程,根据关键点检测得到的各个人脸关键点的位置信息来进行眼部图像的提取,可以得到高精度的眼部图像(包括左眼图像和右眼图像),以这一眼部图像为依据可以极大提高关注区域检测结果的准确率。

步骤s104、分别在所述左眼图像和所述右眼图像中进行眼部关键点检测,得到所述左眼图像和所述右眼图像中的各个眼部关键点的位置信息。

如图5所示,所述眼部关键点包括但不限于:虹膜中心点、虹膜上边缘、虹膜下边缘、虹膜左边缘、虹膜右边缘、上眼睑边缘、下眼睑边缘、左眼角和右眼角。

在本申请实施例的一种具体实现中,可以使用预训练好的堆叠沙漏模型(stackedhourglassmodel,shm)在所述左眼图像和所述右眼图像中进行眼部关键点检测,从而得到所述左眼图像和所述右眼图像中的各个眼部关键点的位置信息。所述堆叠沙漏模型能对图像进行多尺度变换,确保得到大的感受野(receptivefield),对模糊图像也有较好的泛化性能,这就使本申请实施例在使用普通摄像头的条件下也可以获得较高的准确率。

当然,在本申请实施例的其它具体实现中,可以使用其它现有技术中常用的检测模型在所述左眼图像和所述右眼图像中进行眼部关键点检测,本申请实施例对其不作具体限定。

步骤s105、根据所述头部姿势、所述左眼图像和所述右眼图像确定视线方向。

在本申请实施例的一种具体实现中,可以使用预训练好的注视模型(gazemodel)对所述头部姿势、所述左眼图像和所述右眼图像进行处理,从而得到所述视线方向。

当然,在本申请实施例的其它具体实现中,可以使用其它现有技术中常用的视线确定模型来确定视线方向,本申请实施例对其不作具体限定。

步骤s106、根据所述头部姿势、所述视线方向、所述左眼图像和所述右眼图像中的各个眼部关键点的位置信息确定眼部关注区域。

在本申请实施例的一种具体实现中,步骤s106具体可以包括如图6所示的过程:

步骤s1061、将所述头部姿势、所述视线方向、所述左眼图像和所述右眼图像中的各个眼部关键点的位置信息构造为输入信息向量。

即将所述头部姿势、所述视线方向、所述左眼图像和所述右眼图像中的各个眼部关键点的位置信息依次拼接成一个行向量,也即所述输入信息向量。

步骤s1062、使用预训练好的全连接神经网络对所述输入信息向量进行处理,得到输出坐标点。

所述全连接神经网络的具体层数和每层包含的结点数均可根据实际情况预先进行设置,其中的每一个结点都与上一层的所有结点相连,用来把上一层提取到的特征综合起来。本申请实施例优选采用两层的全连接神经网络对所述输入信息向量进行回归分析,从而得到所述输出坐标点。所述全连接神经网络的具体训练过程将在后文中具体描述,此处对其不再赘述。

步骤s1063、将所述输出坐标点对应的屏幕区域确定为所述眼部关注区域。

在本申请实施例中,可以预先将所述终端设备的屏幕划分为sn个(sn为大于1的整数)屏幕区域,按照从上到下,从左到右的顺序依次记为:屏幕区域1、屏幕区域2、…、屏幕区域s、…、屏幕区域sn,其中,1≤s≤sn,若所述输出坐标点落入屏幕区域1的坐标范围内,则可将屏幕区域1确定为所述眼部关注区域,若所述输出坐标点落入屏幕区域2的坐标范围内,则可将屏幕区域2确定为所述眼部关注区域,…,若所述输出坐标点落入屏幕区域s的坐标范围内,则可将屏幕区域s确定为所述眼部关注区域,…,若所述输出坐标点落入屏幕区域sn的坐标范围内,则可将屏幕区域sn确定为所述眼部关注区域。

通过预先设置各个屏幕区域的坐标范围,在计算得到输出点坐标之后,仅需要判断该输出点坐标属于哪一个坐标范围,即可确定出对应的眼部关注区域,计算量极小,大大提升了关注区域检测的效率。

在本申请实施例的另一种具体实现中,在步骤s1062之后,还可以通过图7所示的过程对结果进行平滑处理:

步骤s701、获取参考坐标点。

所述参考坐标点在所述目标人脸图像之前采集的k帧人脸图像对应的输出坐标点,k为正整数,其具体取值可以根据实际情况进行设置,优选地,可以将其设置为4。

步骤s702、将所述目标人脸图像对应的输出坐标点和所述参考坐标点构造为第一坐标点集合。

步骤s703、从所述第一坐标点集合中剔除离群点,得到第二坐标点集合。

具体地,可以首先计算所述第一坐标点集合的均值坐标点,然后分别计算所述第一坐标点集合中的各个坐标点与该均值坐标点之间的距离,若某一坐标点与该均值坐标点之间的距离大于预设的距离阈值,则可将该坐标点确定为离群点,并将该坐标点从所述第一坐标点集合中剔除。所述距离阈值的具体取值可以根据实际情况进行设置,本申请实施例对其不作具体限定。

步骤s704、计算所述第二坐标点集合的均值坐标点,并将所述第二坐标集合的均值坐标点确定为平滑处理后的输出坐标点。

在这种情况下,则可将所述平滑处理后的输出坐标点对应的屏幕区域确定为所述眼部关注区域。

通过图7所示的平滑处理过程,可以有效降低异常数据带来的影响,以这一平滑处理后的输出坐标点为依据可以极大提高关注区域检测结果的准确率。

优选地,在步骤s106之前,可以预先通过图8所示的过程对所述全连接神经网络进行训练:

步骤s801、将预设的屏幕划分为sn个屏幕区域。

在本申请实施例中,可以将所述终端设备的屏幕在水平方向上划分为sn个屏幕区域,其中,sn=line×colume,line为屏幕划分的行数,colume为屏幕划分的列数,将这些屏幕区域按照从上到下,从左到右的顺序依次记为:屏幕区域1、屏幕区域2、…、屏幕区域s、…、屏幕区域sn。

图9所示即为line=3,colume=3,也即sn=9时的屏幕区域划分情况。

步骤s802、分别构造各个标定样本集。

其中,第s个标定样本集中包括fs个向量样本,每个向量样本均为第s个屏幕区域被关注时的输入信息向量,且每个向量样本对应的标签均为第s个屏幕区域的中心坐标点,fs为正整数。

以其中的第s个标定样本集为例,其具体的构造过程可以包括如图10所示的步骤:

步骤s8021、在所述屏幕的第s个屏幕区域的中心坐标点显示预设的图案。

在构造第s个标定样本集时,可以通过在所述屏幕的第s个屏幕区域的中心位置显示预设的图案,将受试者的目光吸引到第s个屏幕区域。所述图案可以根据实际情况设置为圆形图案、方形图案、三角图案等等,本申请实施例对其形式不作具体限定。需要注意的是,为了达到更好的吸引注意力的效果,所述图案可以采用与屏幕背景色反差较大的颜色,例如,若屏幕背景色为黑色,则所述图案可以以白色、红色、绿色、紫色等进行显示。

步骤s8022、分别采集各帧样本图像。

所述样本图像为受试者关注所述图案时的人脸图像。在所述屏幕的第s个屏幕区域的中心位置显示所述图案之后,受试者的目光会被吸引到所述图案上,此时则可以使用摄像头依次采集多帧所述受试者关注所述图案时的眼部图像,也即所述样本图像。

步骤s8023、分别构造各帧样本图像的输入信息向量。

各帧样本图像的输入信息向量的计算过程与前述过程类似,具体可参照步骤s102、步骤s103、步骤s104、步骤s105及步骤s1061中的详细过程,此处不再赘述。

步骤s8024、将各帧样本图像的输入信息向量构造为第s个标定样本集。

根据图10所示的过程遍历s从1到sn的取值,则可以构造出各个标定样本集。即在第1个屏幕区域(即左上的屏幕区域)的中心位置进行图案显示,并根据采集的各帧样本图像构造出第1个标定样本集,在第2个屏幕区域(即左中的屏幕区域)的中心位置进行图案显示,并根据采集的各帧样本图像构造出第2个标定样本集,在第3个屏幕区域(即左下的屏幕区域)的中心位置进行图案显示,并根据采集的各帧样本图像构造出第3个标定样本集,……,以此类推。

通过图10所示的过程,对于每一个屏幕区域,均以实测的方式采集到受试者关注该屏幕区域时的各帧样本图像,分别计算得到各帧样本图像的输入信息向量,并构造出对应的标定样本集,从而为后续进行关注区域检测提供了大量的数据依据,使得最终的检测结果具有更高的准确率。

步骤s803、使用各个标定样本集对初始状态的全连接神经网络进行训练,得到所述预训练好的全连接神经网络。

神经网络的训练过程为现有技术中较为常用的技术,具体可参照现有技术中的任意一种神经网络训练方式,本申请实施例对此不再赘述。

通过图8所示的过程,预先采集了大量的实际测试得到的样本,构造出各个屏幕区域分别对应的标定样本集,以这些实测数据作为依据来对全连接神经网络进行训练,从而使得最终得到的全连接神经网络更加符合实际情况,以此为基础检测得到的眼部关注区域具有更高的准确率。

综上所述,本申请实施例获取待检测的目标人脸图像;计算所述目标人脸图像的头部姿势;提取所述目标人脸图像中的左眼图像和右眼图像;分别在所述左眼图像和所述右眼图像中进行眼部关键点检测,得到所述左眼图像和所述右眼图像中的各个眼部关键点的位置信息;根据所述头部姿势、所述左眼图像和所述右眼图像确定视线方向;根据所述头部姿势、所述视线方向、所述左眼图像和所述右眼图像中的各个眼部关键点的位置信息确定眼部关注区域。在本申请实施例中,无需使用价格昂贵的精密仪器,而是通过对人脸图像的图像分析处理,分别得到头部姿势、视线方向、左眼图像和右眼图像中的各个眼部关键点的位置信息,并以此来确定眼部关注区域,极大降低了成本,可以进行更广泛的应用。

应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。

对应于上文实施例所述的一种关注区域检测方法,图11示出了本申请实施例提供的一种关注区域检测装置的一个实施例结构图。

本实施例中,一种关注区域检测装置可以包括:

图像采集模块1101,用于获取待检测的目标人脸图像;

头部姿势计算模块1102,用于计算所述目标人脸图像的头部姿势;

眼部图像提取模块1103,用于提取所述目标人脸图像中的左眼图像和右眼图像;

眼部关键点检测模块1104,用于分别在所述左眼图像和所述右眼图像中进行眼部关键点检测,得到所述左眼图像和所述右眼图像中的各个眼部关键点的位置信息;

视线方向确定模块1105,用于根据所述头部姿势、所述左眼图像和所述右眼图像确定视线方向;

眼部关注区域确定模块1106,用于根据所述头部姿势、所述视线方向、所述左眼图像和所述右眼图像中的各个眼部关键点的位置信息确定眼部关注区域。

进一步地,所述眼部关注区域确定模块可以包括:

输入信息向量构造子模块,用于将所述头部姿势、所述视线方向、所述左眼图像和所述右眼图像中的各个眼部关键点的位置信息构造为输入信息向量;

神经网络处理子模块,用于使用预训练好的全连接神经网络对所述输入信息向量进行处理,得到输出坐标点;

眼部关注区域确定子模块,用于将所述输出坐标点对应的屏幕区域确定为所述眼部关注区域。

进一步地,所述关注区域检测装置还可以包括:

屏幕区域划分模块,用于将预设的屏幕划分为sn个屏幕区域,sn为大于1的整数;

标定样本集构造模块,用于分别构造各个标定样本集,其中,第s个标定样本集中包括fs个向量样本,每个向量样本均为第s个屏幕区域被关注时的输入信息向量,且每个向量样本对应的标签均为第s个屏幕区域的中心坐标点,1≤s≤sn,fs为正整数;

网络训练模块,用于使用各个标定样本集对初始状态的全连接神经网络进行训练,得到所述预训练好的全连接神经网络。

进一步地,所述标定样本集构造模块可以包括:

图案显示子模块,用于在所述屏幕的第s个屏幕区域的中心坐标点显示预设的图案;

样本图像采集子模块,用于分别采集各帧样本图像,所述样本图像为受试者关注所述图案时的人脸图像;

输入信息向量构造子模块,用于分别构造各帧样本图像的输入信息向量;

标定样本集构造子模块,用于将各帧样本图像的输入信息向量构造为第s个标定样本集。

进一步地,所述眼部关注区域确定模块还可以包括:

参考坐标点获取子模块,用于获取参考坐标点,所述参考坐标点在所述目标人脸图像之前采集的k帧人脸图像对应的输出坐标点,k为正整数;

第一坐标点集合构造子模块,用于将所述目标人脸图像对应的输出坐标点和所述参考坐标点构造为第一坐标点集合;

离群点剔除子模块,用于从所述第一坐标点集合中剔除离群点,得到第二坐标点集合;

平滑处理子模块,用于计算所述第二坐标点集合的均值坐标点,并将所述第二坐标集合的均值坐标点确定为平滑处理后的输出坐标点。

进一步地,所述头部姿势计算模块可以包括:

仿射矩阵计算子模块,用于计算所述目标人脸图像的仿射矩阵;

旋转矩阵计算子模块,用于根据所述仿射矩阵计算所述目标人脸图像的旋转矩阵;

头部姿势计算子模块,用于根据所述旋转矩阵计算所述头部姿势。

进一步地,所述眼部图像提取模块可以包括:

人脸关键点检测检测子模块,用于在所述目标人脸图像中进行人脸关键点检测,得到所述目标人脸图像中的各个人脸关键点的位置信息;

眼部区域确定子模块,用于根据各个人脸关键点的位置信息确定所述左眼图像在所述目标人脸图像中的第一区域,以及所述右眼图像在所述目标人脸图像中的第二区域;

眼部图像提取子模块,用于从所述第一区域中提取所述左眼图像,并从所述第二区域中提取所述右眼图像。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置,模块和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。

图12示出了本申请实施例提供的一种终端设备的示意框图,为了便于说明,仅示出了与本申请实施例相关的部分。

如图12所示,该实施例的终端设备12包括:处理器120、存储器121以及存储在所述存储器121中并可在所述处理器120上运行的计算机程序122。所述处理器120执行所述计算机程序122时实现上述各个关注区域检测方法实施例中的步骤,例如图1所示的步骤s101至步骤s106。或者,所述处理器120执行所述计算机程序122时实现上述各装置实施例中各模块/单元的功能,例如图11所示模块1101至模块1106的功能。

示例性的,所述计算机程序122可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器121中,并由所述处理器120执行,以完成本申请。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序122在所述终端设备12中的执行过程。

所述终端设备12可以是桌上型计算机、笔记本、掌上电脑、智能手机及智能电视等计算设备。本领域技术人员可以理解,图12仅仅是终端设备12的示例,并不构成对终端设备12的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述终端设备12还可以包括输入输出设备、网络接入设备、总线等。

所述处理器120可以是中央处理单元(centralprocessingunit,cpu),还可以是其它通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现场可编程门阵列(field-programmablegatearray,fpga)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。所述处理器120可以是所述终端设备12的神经中枢和指挥中心,所述处理器120可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。

所述存储器121可以是所述终端设备12的内部存储单元,例如终端设备12的硬盘或内存。所述存储器121也可以是所述终端设备12的外部存储设备,例如所述终端设备12上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。进一步地,所述存储器121还可以既包括所述终端设备12的内部存储单元也包括外部存储设备。所述存储器121用于存储所述计算机程序以及所述终端设备12所需的其它程序和数据。所述存储器121还可以用于暂时地存储已经输出或者将要输出的数据。

所述终端设备12还可以包括通信模块,所述通信模块可以提供应用在网络设备上的包括无线局域网(wirelesslocalareanetworks,wlan)(如wi-fi网络),蓝牙,zigbee,移动通信网络,全球导航卫星系统(globalnavigationsatellitesystem,gnss),调频(frequencymodulation,fm),近距离无线通信技术(nearfieldcommunication,nfc),红外技术(infrared,ir)等通信的解决方案。所述通信模块可以是集成至少一个通信处理模块的一个或多个器件。该通信模块可以包括天线,该天线可以只有一个阵元,也可以是包括多个阵元的天线阵列。所述通信模块可以通过天线接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器。所述通信模块还可以从处理器接收待发送的信号,对其进行调频、放大,经天线转为电磁波辐射出去。

所述终端设备12还可以包括电源管理模块,所述电源管理模块可以接收外接电源、电池和/或充电器的输入,为所述处理器、所述存储器和所述通信模块等供电。

所述终端设备12还可以包括显示模块,所述显示模块可用于显示由用户输入的信息或提供给用户的信息。所述显示模块可包括显示面板,可选的,可以采用液晶显示器(liquidcrystaldisplay,lcd)、有机发光二极管(organiclight-emittingdiode,oled)等形式来配置显示面板。进一步的,触控面板可覆盖显示面板,当触控面板检测到在其上或附近的触摸操作后,传送给所述处理器以确定触摸事件的类型,随后所述处理器根据触摸事件的类型在所述显示面板上提供相应的视觉输出。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。

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

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

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

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

本申请实施例提供了一种计算机程序产品,当计算机程序产品在所述终端设备上运行时,使得所述终端设备可实现上述各个方法实施例中的步骤。

所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。

以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。

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