一种基于全局注意力的人脸特征点定位方法及系统与流程

文档序号:23306778发布日期:2020-12-15 11:37阅读:280来源:国知局

本发明涉及人脸识别技术领域,具体涉及一种基于全局注意力的人脸特征点定位方法及系统。



背景技术:

人脸特征点定位是指在人脸图像上,通过机器视觉技术精确的定位出脸部的关键特征点位置,关键特征点包括嘴角、眼角、鼻尖等器官位置以及脸部轮廓等位置。人脸特征点定位是人脸识别系统、表情识别系统和人脸属性分析系统等应用领域的技术基础,人脸特征点定位的质量好坏会直接影响到后续工作的可靠性和精准度。

近20年来,人脸特征点定位算法一直是机器视觉领域的研究热点,涌现出很多经典算法,具体算法可以分为以下几类:

(1)基于传统技术的人脸特征点定位算法,该类算法主要基于人脸的统计形状模型方法和级联回归的方法,如经典的算法:asm、aam、sdm、lbf等。该类算法的特点是利用人脸器官的几何位置关系,采用统计方法和级联优化的方法获取最终的人脸特征点位置,由于算法提取人脸特征的表达能力有限,并且对人脸特征点之间的形状约束并没有考虑,该类算法的特征点定位精准度误差较大。

(2)基于深度学习的人脸特征点定位算法,近年来,深度学习技术凭借着可以模拟人类大脑神经网络,能够进行精确的非线性预测,各个领域都得到了广泛的关注和应用,出现了一批经典的人脸特征点定位网络框架,如mdm(mnemonicdescentmethod)、pfld(pfld:apracticalfaciallandmarkdetectordensenet),tcdcn(faciallandmarkdetectionbydeepmulti-tasklearning)等。该类算法的特点是利用卷积神经网络模型抓取人脸的深层语义特征,利用这些深层语义特征,或基于多分支任务训练模式,或基于级联多个神经网络模型迭代优化训练模式,获取最终的人脸特征点位置。该类算法相对于传统技术的人脸特征点定位算法,人脸特征点定位精准度有很大的提升,但是特征点定位主要利用的是人脸的局部语义信息,而局部语义信息无法综合利用人脸器官的整体几何信息,导致人脸特征点的定位存在一定的误差。



技术实现要素:

本发明提出的一种基于全局注意力的人脸特征点定位方法及系统,可解决上述背景技术中的问题。

为实现上述目的,本发明采用了以下技术方案:

一种基于全局注意力的人脸特征点定位方法,包括:

获取人脸局部图像;

把获取到的图像输入事先训练好的基于全局注意力的人脸特征点定位模型,对于输入的人脸局部图像,经过基于全局注意力的人脸特征点定位模型前向运算后,直接输出人脸特征点位置;

其中,

所述基于全局注意力的人脸特征点定位模型的网络结构包括:

conv0层是一个核尺寸为7×7,跨度为2×2的卷积层;

maxpool0层是一个核尺寸为2×2,跨度为2×2的最大值池化层;

conv0层和maxpool0层共同组成了一个特征图分辨率快速下降网络;

resblock0、resblock1、resblock2、resblock3均是resnet网络的resblock残差模块;

gfm0、gfm1、gfm2、gfm3均是全局注意力融合模块;

ave-pool层是一个全局均值池化层;fc层是一个输出特征为2xn维的全连接层,n表示人脸特征点的个数。

进一步的,所述resblock残差模块的具体网络结构包括:

rconv2层是一个核尺寸为1x1,跨度为2x2的卷积层,rconv0层是一个核尺寸为3x3,跨度为2x2的卷积层,rconv1层、rconv3层、rconv4层均是一个核尺寸为3x3,跨度为1x1的卷积层,eltsum0层和eltsum1层均是合并层,其作用是把多个输入特征图按对应元素相加合并成一个输出特征图。

进一步的,所述全局注意力融合模块的具体网络结构包括:

gfmconv0、gfmconv1、gfmconv2均是核尺寸为1×1,跨度为1×1的卷积层,reshape0、reshape1、reshape2、reshape3均是特征图尺寸变换层,其作用是调整输入特征图尺寸以满足后续特征层运算的需要;

globalavepool0是一个基于特征图通道维度的全局均值池化层,globalmaxpool0是一个基于特征图通道维度的全局最大值池化层;globalavepool0层的输出特征图和globalmaxpool0层的输出特征图按通道维度进行拼接;gfmconv是一个核尺寸为7×7,跨度为1×1的卷积层,用于提取输入特征图上各个像素位置的重要程度权值;

sigmod层是sigmod类型的激活函数;scale层是按像素加权层,其作用是对输入特征图按照像素位置进行逐个加权,加权计算过程如公式(1),globalavepool0、globalmaxpool0、gfmconv、sigmod、scale共同组成了一个空间注意力机制模块;softmax层作用是按照输入特征图的第2维度进行softmax类型的激活操作,以获取输入特征向量的概率分布值;

matmul0、matmul1均是特征图相乘运算层,遵循通用的矩阵相乘法则;matsum是特征图相加运算层,用于把两个输入特征图按对应元素相加合并成一个输出特征图;

oc(x,y)=w(x,y)*ic(x,y)(1)

其中,oc(x,y)表示输出加权特征图的第c个通道(x,y)位置处的数值,w(x,y)表示输入特征图的(x,y)位置处的重要程度权重值,ic(x,y)表示输入特征图的第c个通道第(x,y)位置处的数值。

进一步的,所述基于全局注意力的人脸特征点定位模型的训练步骤如下:

s21、获取训练样本图像,即收集各种场景,各种光线、各种角度下的人脸图像,通过现有的人脸检测算法,获取每个人脸的局部区域图像,然后在每个人脸局部图像上标注n个特征点的位置,并记录特征点位置信息;

s22、设计深度神经网络模型的目标损失函数;

s23、训练深度神经网络模型,即把标注好的人脸样本图像集合送入定义好的深度神经网络模型,学习相关的模型参数。

进一步的,所述目标损失函数采用均方差损失函数。

另一方面,本发明的一种基于全局注意力的人脸特征点定位系统,包括以下单元:

图像获取单元,用于获取人脸局部图像;

人脸特征点定位单元,用于把获取到的图像输入事先训练好的基于全局注意力的人脸特征点定位模型,对于输入的人脸局部图像,经过基于全局注意力的人脸特征点定位模型前向运算后,直接输出人脸特征点位置。

进一步的,还包括以下子单元,

训练样本获取单元,用于获取训练样本图像,即收集各种场景,各种光线、各种角度下的人脸图像,通过现有的人脸检测算法,获取每个人脸的局部区域图像,然后在每个人脸局部图像上标注n个特征点的位置,并记录特征点位置信息;

目标损失函数设计单元,用于设计深度神经网络模型的目标损失函数;

深度神经网络模型训练单元,用于把标注好的人脸样本图像集合送入定义好的深度神经网络模型,学习相关的模型参数。

由上述技术方案可知,本发明的基于全局注意力的人脸特征点定位方法及系统,基于深度学习技术,利用残差网络机制和全局注意力融合机制,获取人脸图像的具有全局语义信息和局部语义信息的融合特征,使得深度神经网络模型能够兼顾人脸图像的全局信息和局部信息,精准的计算出人脸特征点位置,人脸特征点定位更加精准,鲁棒性更高。

附图说明

图1是本发明的方法流程图;

图2是本发明的模型构建流程图;

图3是深度神经网络模型结构图,

图4是resblock残差模块的结构图;

图5是全局注意力融合模块的结构图;

其中每个模块图形旁边的字母数字,表示当前模块的输出特征图尺寸,即:特征图高度×特征图宽度×特征图通道数。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。

如图1所示,本实施例所述的基于全局注意力的人脸特征点定位方法,包括:

本实施例是在已经获取单个人脸局部图像的前提下进行的。

一种基于全局注意力的人脸特征点定位方法,如图1所示,包括以下步骤:

获取人脸局部图像;

把获取到的图像输入事先训练好的基于全局注意力的人脸特征点定位模型,对于输入的人脸局部图像,经过基于全局注意力的人脸特征点定位模型前向运算后,直接输出人脸特征点位置;

以下具体说明:

如图2所示:所述事先训练好的基于全局注意力的人脸特征点定位模型的构造步骤如下:

s1、设计深度神经网络模型,本发明设计的深度神经网络模型,其主要作用是借助一个精心设计的深度神经网络模型,融合人脸图像的局部语义信息和人脸图像的全局语义信息,提取人脸图像的同时具有全局语义信息和局部语义信息的融合特征,精准的计算出人脸特征点位置。本发明采用的是卷积神经网络(cnn),为了方便叙述本发明,定义一些术语:特征图分辨率指的是特征图高度×特征图宽度,特征图尺寸指的是特征图高度×特征图宽度×特征图通道数,核尺寸指的是核宽度×核高度,跨度指的是宽度方向跨度×高度方向跨度,另外,每一个卷积层后面均带有批量归一化层和非线性激活层。本发明设计深度神经网络模型的具体步骤如下:

s11、设计深度神经网络模型的输入图像,本发明所采用的输入图像是一幅图像分辨率为224×224的3通道rgb图像,输入图像尺寸越大,其包含的细节越多,越有利于精确定位人脸特征点。

s12、设计深度神经网络模型的主体网络,主体网络主要用于在保证深度神经网络模型能够看到人脸图像的全局语义信息的情况下,获取人脸图像的局部语义信息,提取人脸图像的具有全局信息和局部信息的融合特征,人脸的融合特征提取质量直接影响后续人脸特征点的定位准确度。由步骤s11可知,本发明采用的输入图像尺寸较大,不利于深度神经网络模型的快速运行,因此,需要一种能够快速提取输入人脸图像特征的高效网络。如图3所示,本发明采用改进的经典resnet网络结构作为模型主体网络,其中,conv0层是一个核尺寸为7×7,跨度为2×2的卷积层;maxpool0层是一个核尺寸为2×2,跨度为2×2的最大值池化层;conv0层和maxpool0层共同组成了一个特征图分辨率快速下降网络,主要作用是在保留更多图像细节的同时,快速降低特征图分辨率,减少后续操作的运算量;resblock0、resblock1、resblock2、resblock3均是resnet网络的resblock残差模块;gfm0、gfm1、gfm2、gfm3均是全局注意力融合模块(globalfusemodule);ave-pool层是一个全局均值池化层;fc层是一个输出特征为2xn维的全连接层,n表示人脸特征点的个数。其中,resblock残差模块的具体网络结构如图4所示,rconv2层是一个核尺寸为1x1,跨度为2x2的卷积层,rconv0层是一个核尺寸为3x3,跨度为2x2的卷积层,rconv1层、rconv3层、rconv4层均是一个核尺寸为3x3,跨度为1x1的卷积层,eltsum0层和eltsum1层均是合并层,其作用是把多个输入特征图按对应元素相加合并成一个输出特征图;全局注意力融合模块gfm的具体网络结构如图5所示,gfmconv0、gfmconv1、gfmconv2均是核尺寸为1×1,跨度为1×1的卷积层,reshape0、reshape1、reshape2、reshape3均是特征图尺寸变换层,其主要作用是调整输入特征图尺寸以满足后续特征层运算的需要;globalavepool0是一个基于特征图通道维度的全局均值池化层,globalmaxpool0是一个基于特征图通道维度的全局最大值池化层;globalavepool0层的输出特征图和globalmaxpool0层的输出特征图按通道维度进行拼接;gfmconv是一个核尺寸为7×7,跨度为1×1的卷积层,主要用于提取输入特征图上各个像素位置的重要程度权值;sigmod层是sigmod类型的激活函数;scale层是按像素加权层,其作用是对输入特征图按照像素位置进行逐个加权,加权计算过程如公式(1),globalavepool0、globalmaxpool0、gfmconv、sigmod、scale共同组成了一个空间注意力机制模块;softmax层主要作用是按照输入特征图的第2维度进行softmax类型的激活操作,以获取输入特征向量的概率分布值。matmul0、matmul1均是特征图相乘运算层,遵循通用的矩阵相乘法则;matsum是特征图相加运算层,主要用于把两个输入特征图按对应元素相加合并成一个输出特征图。

oc(x,y)=w(x,y)*ic(x,y)(1)

其中,oc(x,y)表示输出加权特征图的第c个通道(x,y)位置处的数值,w(x,y)表示输入特征图的(x,y)位置处的重要程度权重值,ic(x,y)表示输入特征图的第c个通道第(x,y)位置处的数值。

s2、训练深度神经网络模型,主要是通过大量的标注好的训练样本数据,优化深度神经网络模型参数,使得深度神经网络模型能够精确定位出人脸特征点位置,具体的步骤如下:

s21、获取训练样本图像,主要是收集各种场景,各种光线、各种角度下的人脸图像,通过现有的人脸检测算法,获取每个人脸的局部区域图像,然后在每个人脸局部图像上标注n个特征点的位置,并记录特征点位置信息;

s22、设计深度神经网络模型的目标损失函数,本发明采用的是均方差(mse)损失函数。

s23、训练深度神经网络模型,主要是把标注好的人脸样本图像集合送入定义好的深度神经网络模型,学习相关的模型参数;

s3、使用深度神经网络模型,对于任意给出的一个人脸局部图像,经过深度神经网络模型前向运算后,直接输出人脸特征点位置。

综上所述,本发明的基于全局注意力的人脸特征点定位方法及系统,基于深度学习技术,利用残差网络机制和全局注意力融合机制,获取人脸图像的具有全局语义信息和局部语义信息的融合特征,使得深度神经网络模型能够兼顾人脸图像的全局信息和局部信息,精准的计算出人脸特征点位置,人脸特征点定位更加精准,鲁棒性更高。

另一方面,本发明的一种基于全局注意力的人脸特征点定位系统,包括以下单元:

图像获取单元,用于获取人脸局部图像;

人脸特征点定位单元,用于把获取到的图像输入事先训练好的基于全局注意力的人脸特征点定位模型,对于输入的人脸局部图像,经过基于全局注意力的人脸特征点定位模型前向运算后,直接输出人脸特征点位置。

进一步的,还包括以下子单元,

训练样本获取单元,用于获取训练样本图像,即收集各种场景,各种光线、各种角度下的人脸图像,通过现有的人脸检测算法,获取每个人脸的局部区域图像,然后在每个人脸局部图像上标注n个特征点的位置,并记录特征点位置信息;

目标损失函数设计单元,用于设计深度神经网络模型的目标损失函数;

深度神经网络模型训练单元,用于把标注好的人脸样本图像集合送入定义好的深度神经网络模型,学习相关的模型参数。

第三方面,本发明还公开一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如上述方法的步骤。

可理解的是,本发明实施例提供的系统与本发明实施例提供的方法相对应,相关内容的解释、举例和有益效果可以参考上述方法中的相应部分。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

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

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