一种基于双层级联回归模型的人脸特征点定位方法与流程

文档序号:23729194发布日期:2021-01-26 19:23阅读:62来源:国知局
一种基于双层级联回归模型的人脸特征点定位方法与流程

[0001]
本发明涉及计算机图像处理技术技术领域,尤其涉及一种基于双层级联回归模型的人脸特征点定位方法。


背景技术:

[0002]
人脸特征点定位的目标是在完成人脸检测的基础上,定位出更具体的人脸形状,如眉毛、眼睛、鼻子、嘴巴和轮廓等。人脸特征点定位是人脸图像处理任务中的重要环节,对于后续的人脸识别、人脸表情分析和3d人脸重建等工作都起到了至关重要的作用。目前的大部分人脸特征点定位算法已经可以在正面人脸图像上获得令人满意的效果,但对于表情和姿态变化巨大的无约束人脸图像,实现高精度的人脸特征点定位仍具有挑战性。
[0003]
人脸特征点定位的相关算法主要可以分为两个类别:(1)基于生成模型的方法。代表性算法有cootes等提出的主动外观模型(active appearance model,aam),首先利用主成分分析(pca)在形状和纹理特征空间构建参数模型,再通过优化参数,实现模型与人脸图像的匹配。尽管此类型的方法已经获得了各种改进,但参数模型的表达能力终归有限,无法处理细微的形状变化。(2)基于判别模型的方法。此类方法的目标是从提取的图像特征直接映射到人脸特征点坐标。级联回归模型是目前人脸特征点定位领域应用最广泛的模型,最早出现在doll
á
r等提出的级联姿态回归法(cascade pose regression,cpr)。基于级联回归的算法将人脸特征点定位视为解决图像纹理特征与人脸形状之间的非线性优化问题,通过学习一系列特征到形状的映射,来逐渐将初始形状更新为最终形状。近年来除了级联回归模型,基于深度网络的方法也得到了广泛的关注。最早将深度网络应用于人脸特征点定位的是sun等提出的基于深度卷积神经网络(dcnn)的人脸特征点定位算法,也采用级联的方式实现从粗到精的定位。近些年也出现了利用3d人脸模型实现人脸特征点定位的算法。此类方法通过调整参数使模型与人脸图像拟合,再将拟合结果投影至2d平面以获得定位结果。由于3d人脸模型的参数较多,此类算法大多也需要借助深度网络。尽管深度网络的加入使得人脸特征点定位算法的性能得到大幅度的提升,目前依旧有许多优秀的基于级联回归的算法涌现,在拥有相对较低的训练成本的基础上,在某些情况下还具有超越基于深度学习的算法的性能。
[0004]
形状初始化是基于级联回归的人脸特征点定位算法的第一步,许多传统的级联回归算法以训练集中所有样本真实形状的平均值,或者是一张正面中性的人脸形状作为初始形状,接着以初始形状为基础,通过多次迭代更新达到最终的预测结果。在使用这种初始形状时,通常是姿态和表情变化较大的人脸难以实现准确的定位,这是因为初始形状与真实形状相差较大时,级联回归模型可能会由于迭代次数有限,或者陷入局部最优,导致最终结果不理想。xiong等人提出将样本按照同质下降域(domains of homogeneous descent,dhd)进行划分,再分别建立回归模型,避免回归进入局部最优,但他们提出的划分方法在实际计算时要用到样本的真实人脸形状,这在测试过程中并不现实。由粗到精的形状搜索(coarse-to-fine shape searching,cfss)将所有样本的真实形状作为解空间来探索,虽
然解决了初始形状的限制,但也降低了运算速率。


技术实现要素:

[0005]
本部分的目的在于概述本发明的实施例的一些方面以及简要介绍一些较佳实施例。在本部分以及本申请的说明书摘要和发明名称中可能会做些简化或省略以避免使本部分、说明书摘要和发明名称的目的模糊,而这种简化或省略不能用于限制本发明的范围。
[0006]
鉴于上述现有存在的问题,提出了本发明。
[0007]
因此,本发明解决的技术问题是:人脸特征点定位过程中存在的无约束人脸图像姿态变化大、初始形状限制回归结果的问题。
[0008]
为解决上述技术问题,本发明提供如下技术方案:包括,通过从训练样本集中随机选取人脸形状作为初始形状的方法来扩增样本;
[0009]
从68点的完整人脸形状中挑选出对人脸特征点定位起到关键作用的14个点,组成简化人脸形状;
[0010]
利用子空间划分法,将样本分成多个子集,每个子集分别训练回归器,所有回归器共同构成第一层级联回归模型,用于预测简化人脸形状;
[0011]
利用3d拟合的方式,实现从第一层预测的简化人脸形状到完整人脸形状的投影,生成粗略的初始完整人脸形状;
[0012]
将粗略完整人脸形状作为初始形状,利用所有训练样本来训练回归器,构成第二层级联回归模型,形成双层级联回归模型,用于预测完整人脸形状。
[0013]
作为本发明所述的基于双层级联回归模型的人脸特征点定位方法的一种优选方案,其中:构建所述双层级联回归模型的步骤包括,
[0014]
首先提取基于phog的形状索引特征,使用训练过程中获得的投影矩阵p投影到融合子空间,并根据其划分出k个样本子集;
[0015]
接着根据不同的子集分别训练特征映射函数和回归器经过t次迭代回归得到简化人脸形状
[0016]
再利用3d拟合法得到仿射变换参数,投影得到粗略的完整人脸形状s0;
[0017]
最终,根据所有的训练样本和上个步骤得到的粗略完整人脸形状,训练特征提取函数φ和回归器w,经过t次迭代实现精回归。
[0018]
作为本发明所述的基于双层级联回归模型的人脸特征点定位方法的一种优选方案,其中:挑选最优简化人脸形状的步骤包括,
[0019]
以最具代表性的5个轮廓特征点为基础,分别在眼睛、鼻子、嘴和轮廓的部位增加部分特征点,挑选出6个简化人脸形状;
[0020]
所述最具代表性的5个轮廓特征点包括双眼中心、鼻尖和嘴角。
[0021]
作为本发明所述的基于双层级联回归模型的人脸特征点定位方法的一种优选方案,其中:挑选最优简化人脸形状的步骤还包括,
[0022]
挑选最合适的简化人脸形状,包括计算定位误差和拟合误差;
[0023]
比较所述定位误差和所述拟合误差,选取所述定位误差和所述拟合误差均为最小的14点形状,作为简化人脸形状。
[0024]
作为本发明所述的基于双层级联回归模型的人脸特征点定位方法的一种优选方案,其中:所述定位误差计算方法为,基于每个简化人脸形状训练单层的级联回归模型,计算各个模型在测试集样本上的归一化标准误差;
[0025]
所述拟合误差计算方法为,基于定位误差得到的定位结果,以及3d拟合法生成的完整人脸形状,计算生成的完整人脸形状与样本的真实人脸形状之间的平均归一化误差。
[0026]
作为本发明所述的基于双层级联回归模型的人脸特征点定位方法的一种优选方案,其中:所述融合子空间包括,
[0027][0028]
其中,r为融合子空间的列维数,z
i,j
代表第i个样本的形状索引特征在第j维子空间的投影结果。
[0029]
作为本发明所述的基于双层级联回归模型的人脸特征点定位方法的一种优选方案,其中:利用所述融合子空间将样本划分成k个样本子集的步骤包括,
[0030]
定义训练集中的人脸图像和对应的真实形状集合,
[0031][0032]
其中n为样本数量,i
i
和分别为第i个人脸图像和对应的真实形状;
[0033]
将平均简化人脸形状与所有训练集样本的边界框匹配,匹配结果定义为
[0034]
计算形状残差,
[0035][0036]
以及基于phog的形状索引特征
[0037]
利用典型相关分析对形状残差和形状索引特征进行分析,获得二者对应的投影矩阵p和q;
[0038]
根据以下公式划分子集,
[0039][0040]
作为本发明所述的基于双层级联回归模型的人脸特征点定位方法的一种优选方案,其中:若第i个和第g个样本在融合子空间上的每一维符号都相同,则这两个样本属于同一子集u
k

[0041]
作为本发明所述的基于双层级联回归模型的人脸特征点定位方法的一种优选方案,其中:利用所述3d拟合法为第二层模型生成初始形状的步骤包括,
[0042]
利用由稠密的3d坐标点集合构成的3dmm模型,分别提取出14个坐标点集合和68个坐标点集合,分别记为3d简化人脸形状和3d完整人脸形状
[0043]
利用弱透视投影将3d简化人脸形状投影到2d平面,对s
3d
与人脸图像拟合,包括:
[0044]
[0045]
其中,f为缩放因子,p
o
为正投影矩阵r(α,β,γ)为一个由俯仰角α,偏航角β和翻滚角γ构成的3
×
3的旋转矩阵,t
3d
为位移向量。为在2d平面上的投影;
[0046]
若将第一层级联回归模型输出的2d简化人脸形状记作通过最小化与之间的欧氏距离,则确定参数f,r和t
3d
的合适值,实现人脸图像与3d人脸形状的拟合,包括:
[0047][0048]
利用最小二乘法计算得到放射变换的参数后,将上述弱透视投影公式中的3d简化人脸形状替换成3d完整人脸形状即可得到与人脸图像拟合后的3d完整人脸形状在2d平面上的投影
[0049]
当人脸姿态发生变化时,3d人脸形状上标记的轮廓部位的特征点会受到脸颊的遮挡,而真正的轮廓特征点应该在脸颊的边界处。
[0050]
使用上述拟合过程中得到的偏航角β,判断人脸是偏向左侧还是右侧。
[0051]
作为本发明所述的基于双层级联回归模型的人脸特征点定位方法的一种优选方案,其中:利用所述3d拟合法为第二层模型生成初始形状的步骤还包括,
[0052]
当人脸偏向左侧时,左侧的8个轮廓特征点搜索其对应坐标点子集中x坐标最小点,将其作为新的轮廓特征点;
[0053]
当人脸偏向右侧时,就是右侧的8个轮廓特征点搜索其对应坐标点子集中x坐标最大点,标记成为新的轮廓特征点;
[0054]
所述8个轮廓特征点为在所述5个轮廓特征点的基础上增加了3个轮廓特征点。
[0055]
本发明的有益效果:本发明提供了一种基于双层级联回归模型的人脸特征点定位方法,该方法利用子空间划分法和3d拟合法,结合双层级联回归的结构,使得人脸特征点定位方法的姿态鲁棒性得到了提升,进而提升了整体定位精度。
附图说明
[0056]
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。其中:
[0057]
图1为基于双层级联回归模型的人脸特征点定位方法的流程示意图;
[0058]
图2为基于双层级联回归模型的人脸特征点定位方法的不同的简化人脸形状的定位误差和拟合误差的结果示意图;
[0059]
图3为基于双层级联回归模型的人脸特征点定位方法的二维子空间内人脸图像分布图;
[0060]
图4为基于双层级联回归模型的人脸特征点定位方法的k值对简化人脸形状在不同数据集上的定位效果影响示意图;
[0061]
图5为基于双层级联回归模型的人脸特征点定位方法的两种子空间划分法对简化人脸形状在300-w数据集上的定位效果影响示意图;
[0062]
图6为基于双层级联回归模型的人脸特征点定位方法的k值对完整人脸形状在不同数据集上的定位效果影响示意图;
[0063]
图7为基于双层级联回归模型的人脸特征点定位方法的各个算法在300-w全集上的ced曲线示意图;
[0064]
图8为基于双层级联回归模型的人脸特征点定位方法的现有技术中的不同算法在300-w测试集上的定位结果示意图;
[0065]
图9为基于双层级联回归模型的人脸特征点定位方法的算法在300-w测试集上的部分定位结果。
具体实施方式
[0066]
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合说明书附图对本发明的具体实施方式做详细的说明,显然所描述的实施例是本发明的一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明的保护的范围。
[0067]
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是本发明还可以采用其他不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似推广,因此本发明不受下面公开的具体实施例的限制。
[0068]
其次,此处所称的“一个实施例”或“实施例”是指可包含于本发明至少一个实现方式中的特定特征、结构或特性。在本说明书中不同地方出现的“在一个实施例中”并非均指同一个实施例,也不是单独的或选择性的与其他实施例互相排斥的实施例。
[0069]
本发明结合示意图进行详细描述,在详述本发明实施例时,为便于说明,表示器件结构的剖面图会不依一般比例作局部放大,而且所述示意图只是示例,其在此不应限制本发明保护的范围。此外,在实际制作中应包含长度、宽度及深度的三维空间尺寸。
[0070]
同时在本发明的描述中,需要说明的是,术语中的“上、下、内和外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一、第二或第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
[0071]
本发明中除非另有明确的规定和限定,术语“安装、相连、连接”应做广义理解,例如:可以是固定连接、可拆卸连接或一体式连接;同样可以是机械连接、电连接或直接连接,也可以通过中间媒介间接相连,也可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
[0072]
实施例1
[0073]
参照图1,为本发明的第一个实施例,提供了一种基于双层级联回归模型的人脸特征点定位方法流程示意图,如图1所示,一种基于双层级联回归模型的人脸特征点定位方法
包括:通过从训练样本集中随机选取人脸形状作为初始形状的方法来扩增样本;从68点的完整人脸形状中挑选出对人脸特征点定位起到关键作用的14个点,组成简化人脸形状;构建双层级联回归模型,第一层用于预测简化人脸形状,第二层用于预测完整人脸形状;为了提高姿态鲁棒性,在第一层级联回归模型中利用子空间划分法,将样本分成多个子集,每个子集分别训练回归器;两层之间利用3d拟合的方式,实现从简化人脸形状到完整人脸形状的投影,生成粗略的初始完整人脸形状;第一层模型使用中性的简化人脸形状作为初始形状,第二层模型使用3d拟合的结果作为初始形状。
[0074]
具体的,一种基于双层级联回归模型的人脸特征点定位方法包括利用融合子空间划分样本子集的过程,定义训练集中的人脸图像和对应的真实形状集合其中n为样本数量,i
i
和分别为第i个人脸图像和对应的真实形状。首先将平均简化人脸形状与所有训练集样本的边界框匹配,匹配结果定义为接着计算形状残差以及基于phog的形状索引特征利用典型相关分析(cca)对形状残差和形状索引特征进行分析,获得二者对应的投影矩阵p和q;由于在测试过程中形状残差不可知,因此仅使用形状索引特征的投影结果,并且将该投影结果的子空间命名为融合子空间其中r为融合子空间的列维数,z
i,j
代表第i个样本的形状索引特征在第j维子空间的投影结果;如果第i个和第g个样本在融合子空间上的每一维符号都相同,那么这两个样本属于同一子集u
k

[0075]
一种稀疏混合字典学习的人脸鉴别方法还包括利用3d拟合为第二层模型生成初始形状。本实施例使用3dmm模型中的中性人脸形状,还根据人脸特征点定位所需的坐标点,从稠密的3d坐标点集合中分别提取出14个坐标点集合和68个坐标点集合,分别记为3d简化人脸形状和3d完整人脸形状为了使s
3d
与人脸图像拟合,本实施例先利用弱透视投影将3d简化人脸形状投影到2d平面上。如果将第一层级联回归模型输出的2d简化人脸形状记作那么通过最小化与之间的欧氏距离,就可以确定对执行弱透视投影的仿射变换参数,实现人脸图像与3d人脸形状的拟合。本实施例使用最小二乘法计算得到放射变换的参数,对3d完整人脸形状执行相同的仿射变换,即可得到与人脸图像拟合后的3d完整人脸形状在2d平面上的投影当人脸姿态发生变化时,3d人脸形状上标记的轮廓部位的特征点会受到脸颊的遮挡,而真正的轮廓特征点应该在脸颊的边界处。本实施例为16个轮廓特征点(排除了最底部的轮廓特征点)建立了与它们自身平行的坐标点子集。使用上述拟合过程中得到的偏航角β,可以判断人脸是偏向左侧还是右侧。当人脸偏向左侧时,左侧的8个轮廓特征点搜索其对应坐标点子集中x坐标最小点,将其作为新的轮廓特征点;而当人脸偏向右侧时,就是右侧的8个轮廓特征点搜索其对应坐标点子集中x坐标最大点,标记成为新的轮廓特征点。
[0076]
较佳的是,本实施例综合了上述两种方法,在传统的级联回归模型的基础上构建了双层级联回归模型。首先提取基于phog的形状索引特征,使用训练过程中获得的投影矩
阵p投影到融合子空间,并根据其划分出k个样本子集;接着根据不同的子集分别训练特征映射函数和回归器经过t次迭代回归得到简化人脸形状再利用上述的3d拟合法得到仿射变换参数,投影得到粗略的完整人脸形状s0;最终,根据所有的训练样本和上个步骤得到的粗略完整人脸形状,训练特征提取函数φ和回归器w,经过t次迭代实现精回归。
[0077]
实施例2
[0078]
参照图2到图9,为本发明的第二个实施例,该实施例不同于第一个实施例的是:使用的实验样本来自于两个使用广泛的人脸特征点定位数据集:helen数据集和300-w数据集。这些数据集包含的均为具有姿态偏转、遮挡和照明变化的无约束人脸图像,具有一定的挑战性。在训练过程中,先将所有样本水平翻转,再给每个样本从其他训练样本中随机采样10个人脸形状作为初始形状,样本总量扩充了20倍。在测试过程中,第一层级联回归模型依旧使用平均人脸形状作为初始形状,第二层级联回归模型则使用3d拟合的结果作为初始形状。
[0079]
参数设置:第一层和第二层级联回归模型采用基本相同的参数,每个随机森林中决策树的个数g=10,树的深度d=5,迭代次数t=7。由于第二层级联回归模型的形状变化空间要比第一层小,第一层和第二层级联回归模型在随机选取像素差特征的时采用不同的范围,第一层采取半径随着迭代次数从0.4递减至0.08,第二层采取半径随着迭代次数从0.3递减至0.06(均为经过人脸边界框归一化的距离)。
[0080]
评估标准:与目前的大多数人脸特征点定位算法相同,使用归一化平均误差(normalized mean error,nme)来衡量算法的准确性。归一化标准误差的计算方法如下公式所示:
[0081][0082]
其中n是样本总量,l是人脸形状的特征点数量,s
i
和分别是第i个样本的预测人脸形状和真实人脸形状,d
ipd
则是第i个样本双眼中心之间的欧氏距离。
[0083]
基于上述,首先简化人脸形状的拟合效果评估,在定位简化人脸形状之前,首先要确定具体使用哪些特征点作为简化人脸形状。本实施例以包含双眼中心、鼻尖和嘴角的5点形状为基础,分别在眼睛、鼻子、嘴和轮廓的部位增加了部分特征点,挑选出共记6个简化人脸形状。为了从这些形状中选出最合适的简化人脸形状,本实施例从两个方面进行评估:(1)基于每个简化人脸形状训练单层的级联回归模型,并计算各个模型在测试集样本上的归一化标准误差,记为定位误差;(2)利用(1)得到的定位结果,按照本实施例提出的3d拟合法生成完整人脸形状,并计算生成的完整人脸形状与样本的真实人脸形状之间的平均归一化误差,记为拟合误差。图2展示了6个简化人脸形状按照以上标准在helen数据集上计算得到的定位误差和拟合误差。同时为了证明简化人脸形状的优势,还在图中标记了直接对完整人脸形状进行定位的误差,以及根据定位结果进行3d拟合后新生成的完整人脸形状的误差。
[0084]
根据图2中的定位误差曲线和拟合误差曲线可以看出,8点形状和16点形状相较5点和14点形状分别在轮廓部位增加了3点和2点,定位的误差也因此上升,证明了轮廓部位
的特征不能很好的通过纹理特征来反映。然而8点形状的拟合误差相较5点形状大大降低,证明加入少量的轮廓部位的特征点可以约束整体形状,降低拟合的误差。8点、10点、12点和14点形状相较其前一个形状,分别做出添加3个轮廓特征点、把2个双眼中心特征点改为4个双眼眼角特征点、添加2个鼻翼特征点和添加2个上下唇特征点的改进,拟合的误差也随之逐渐减小,证明增加五官部分的特征点可以得到更好的拟合效果。但考虑到运算成本,本实施例没有继续尝试在简化人脸形状的五官部位增加更多的特征点。
[0085]
从图2中还可以看出包含68个点的完整人脸形状的定位误差要高于所有简化人脸形状,这说明大量的非关键特征点会提高定位的难度。在挑选的6个简化人脸形状中,定位误差和拟合误差最小的均为14点形状,其具体的拟合误差是9.22%,而直接对完整人脸形状执行定位、拟合操作,得到的拟合误差是9.63%。由此可见该简化人脸形状既可以提高定位的准确度,又可以防止过多的特征点互相约束导致3d模型欠拟合。在接下来的实验中,都将该14点形状作为简化人脸形状。
[0086]
较佳的,子空间划分的效果评估,为了证明本实施例提出的融合子空间划分法的有效性,将从两个方面进行评估:(1)融合子空间与人脸姿态的相关性;(2)子空间划分的结果对第一层级联回归模型的定位效果影响。
[0087]
由于人脸图像具有流形分布的特点,一个有效的特征子空间也应当满足这一特点。按照本实施例提出的子空间划分法,对300-w数据集中的样本提取特征并投影到融合子空间,此时部分人脸图像在融合子空间的前两维分布情况如图3所示。不难看出,沿着图中的水平方向,样本的偏航角发生变化,也就是从朝向左侧逐渐过渡为朝向右侧;而沿着图中的垂直方向,样本的滚动角发生变化,也就是从向左倾斜逐渐过渡为向右倾斜。分布在图像中心的样本姿态偏转角度较小,主要为正面人脸;四周的样本则根据水平和垂直方向上的变化趋势,姿态偏转角逐渐变大。这证明了融合子空间满足人脸的流形分布特点,并且可以用于划分不同姿态的样本子集。
[0088]
为了评估样本子集的数量k对第一层级联回归模型的定位效果的影响,本实施例计算取不同k值时简化人脸形状在不同数据集上定位的归一化平均误差,具体结果如图4所示。其中k=1代表着不进行子空间划分,使用全部的样本训练单个回归模型。可以看出在helen数据集上,误差从k=1到k=4呈现下降趋势,从4.46%降至4.32%,证明子空间划分法可以有效的降低定位误差。但在k=8和k=16的情况下,误差重新升高,甚至在k=16时超过了不进行子空间划分的情况。造成这一现象的原因一是随着子集数量增多,每个子集中的训练样本数量也在减少,导致模型的鲁棒性降低;二是helen数据集的姿态变化较少,子集数量过大容易造成混乱的划分结果。而在姿态变化丰富的300-w挑战集上,子空间划分法可以大幅降低定位的误差,从k=1到k=8,误差从13.83%降至11.48%。在k=16时误差略微回升,理由与helen数据集相似。根据该实验结果,本实施例算法在与其他算法比较时,在helen数据集和300-w数据集上k的取值分别取4和8。
[0089]
为了证明融合子空间划分法相较pca子空间划分更具优势,本实施例分别比较了在k=2,4,8时,两种子空间划分方法对简化人脸形状在300-w挑战集上的定位误差影响,如图5所示。图中虚线的位置是不使用子空间划分时的定位误差,可以看出两种子空间划分法都能降低定位误差,但基于融合子空间的划分法的效果要明显由于基于pca子空间的。由于基于pca子空间的划分方法无法应用于静态人脸,在此次实验中仅利用形状索引特征来实
现该方法。这种方法忽视了形状索引特征和形状残差之间的相关性,得到的划分结果也相对混乱;而本实施例的方法融合了二者的特性,因此对姿态的划分更加准确,在k的各个取值中都能达到更低的对齐误差。
[0090]
进一步的,双层级联回归模型的效果评估,基于未经过改进的lbf算法,不使用子空间划分的双层级联回归模型(k=1),以及k取不同值时的双层级联回归模型在helen数据集和300-w数据集上对完整人脸形状的定位结果。
[0091]
由于本实施例使用的部分参数与lbf算法的原文章不同,表1中关于lbf算法的实验数据与其文中的数据存在一定差异。根据表1可以看出不使用子空间划分的双层级联回归模型(k=1)在所有的数据集上表现都要比改进前的lbf算法出色,这证明了双层模型要优于单层模型。继续加入子空间划分的改进后,算法在helen数据集,300-w挑战集上随着k值增加,误差也逐渐降低,并分别在k=4和k=8时误差降至最低,相较原算法分别降低了4%和23.55%。这与简化人脸形状的定位效果是对应的,因此k值的范围只分别取到4和8为止。在300-w普通集上,取不同k值的双层级联回归模型的误差相差甚小,造成这一现象的原因可能是由于姿态变化较小的普通集样本密集地分布在子空间的中心位置,并且靠近划分的边界。在进行子空间划分后,一些正面人脸样本可能被分配到不合适的子集当中,于是这一改进对正面人脸图像的定位结果优化不是非常明显。尽管如此,与挑战集的定位结果平均后,300-w全集的定位误差会随着k值的增加而降低,相较原算法降低了11.24%。
[0092]
如图6所示,其中第7次迭代的结果与表1中的数据对应。可以看出准确的初始形状可以让第二层级联回归模型在第一次迭代时就具有优势,并且可以保持这一优势至最后一次迭代,达到更好的定位效果。
[0093]
表1在不同数据集上的完整人脸形状定位效果(%)
[0094][0095]
基于上述,为了和目前的现进方法比较,本实施例将以各个算法在不同数据集上的归一化平均误差、ced曲线以及它们具体的定位结果作为评估的标准。
[0096]
表2展示了不同的算法在helen和300-w数据集上的归一化平均误差,这些数据均来自于算法的原文章或者其相关文章。其中esr,sdm,lbf,cfss以及mco是基于级联回归的算法,cfan,3ddfa以及pifa-s是基于深度学习的算法。
[0097]
根据表中的数据可以看出,在姿态变化较小的helen数据集和300-w普通集上,本实施例的算法是所有对比算法中误差最小的,甚至优于三种基于深度学习的算法。造成这一结果的原因应该是cfan仅将特征映射函数改为深度自编码器网络,本质上仍属于单层级联回归;3ddfa和pifa-s基于3dmm模型,3d人脸对齐的结果在2d人脸对齐的评价标准下并不占优势。这一结果也证明了双层级联回归模型由粗到精的回归过程很好地提升了算法的精度。在姿态变化丰富的300-w挑战集上,本实施例算法在基于级联回归的算法中排第二位,仅次于cfss算法,和两种基于深度学习的算法相比也具有一定的竞争力。其中cfss通过计算概率矩阵来挑选候选形状,并将多个候选形状的更新结果融合来生成新形状,以庞大的计算量为代价提升了定位的精度;3ddfa和pifa-s均利用卷积神经网络来优化3dmm参数,实现3d人脸对齐,对姿态和遮挡变化都具有很强的鲁棒性。将300-w普通集和挑战集的结果平均后,本实施例算法的结果仅次于cfss,超过了其他所有基于级联回归的算法以及两种基于深度学习的算法,因此,本实施例的算法和目前先进的算法相比具有很好的竞争优势。
[0098]
表2在300-w数据集上的归一化平均误差(%)
[0099][0100]
如图7所示,其中本实施例复现的sdm算法对应的归一化平均误差为7.04%,相较原文的7.50%要更好;复现的lbf算法对应的归一化平均误差为6.59%,相较原文的6.32%略差,这是因为为了防止特征维数过高对运行内存消耗过大,本实施例在复现时把决策树数量从原文的1200缩减到680;复现的cfss算法对应的归一化平均误差为6.00%,使用的是原作者在github上提供的matlab代码,可以看出,本实施例的算法和其他算法相比具有一定的优势。
[0101]
如图8所示,图中第一行为样本真实形状,第二至五行分别是本实施例算法、cfss、lbf和sdm的定位结果。从第一列到第四列可以看出,本实施例算法可以取得与真实形状非常相近的结果,而其他三个算法均可见误差;在第五列到第八列中,本实施例算法的结果存在一定的误差,sdm和lbf基本定位失败,cfss在第五、六列的结果比本实施例算法好,但在
俯仰角较大的第七、八列定位失败,结果不如本实施例算法。根据这些结果可以看出,本实施例的算法在姿态上具有一定的鲁棒性。
[0102]
如图9所示,其中标有特征点的样本分别代表着简单案例,困难但成功预测的案例和失败案例。导致失败的主要原因是样本的面部表情夸张。根据这些结果不难看出,所提出的方法具有姿态鲁棒性。
[0103]
应当认识到,本发明的实施例可以由计算机硬件、硬件和软件的组合、或者通过存储在非暂时性计算机可读存储器中的计算机指令来实现或实施。所述方法可以使用标准编程技术-包括配置有计算机程序的非暂时性计算机可读存储介质在计算机程序中实现,其中如此配置的存储介质使得计算机以特定和预定义的方式操作——根据在具体实施例中描述的方法和附图。每个程序可以以高级过程或面向对象的编程语言来实现以与计算机系统通信。然而,若需要,该程序可以以汇编或机器语言实现。在任何情况下,该语言可以是编译或解释的语言。此外,为此目的该程序能够在编程的专用集成电路上运行。
[0104]
此外,可按任何合适的顺序来执行本文描述的过程的操作,除非本文另外指示或以其他方式明显地与上下文矛盾。本文描述的过程(或变型和/或其组合)可在配置有可执行指令的一个或多个计算机系统的控制下执行,并且可作为共同地在一个或多个处理器上执行的代码(例如,可执行指令、一个或多个计算机程序或一个或多个应用)、由硬件或其组合来实现。所述计算机程序包括可由一个或多个处理器执行的多个指令。
[0105]
进一步,所述方法可以在可操作地连接至合适的任何类型的计算平台中实现,包括但不限于个人电脑、迷你计算机、主框架、工作站、网络或分布式计算环境、单独的或集成的计算机平台、或者与带电粒子工具或其它成像装置通信等等。本发明的各方面可以以存储在非暂时性存储介质或设备上的机器可读代码来实现,无论是可移动的还是集成至计算平台,如硬盘、光学读取和/或写入存储介质、ram、rom等,使得其可由可编程计算机读取,当存储介质或设备由计算机读取时可用于配置和操作计算机以执行在此所描述的过程。此外,机器可读代码,或其部分可以通过有线或无线网络传输。当此类媒体包括结合微处理器或其他数据处理器实现上文所述步骤的指令或程序时,本文所述的发明包括这些和其他不同类型的非暂时性计算机可读存储介质。当根据本发明所述的方法和技术编程时,本发明还包括计算机本身。计算机程序能够应用于输入数据以执行本文所述的功能,从而转换输入数据以生成存储至非易失性存储器的输出数据。输出信息还可以应用于一个或多个输出设备如显示器。在本发明优选的实施例中,转换的数据表示物理和有形的对象,包括显示器上产生的物理和有形对象的特定视觉描绘。
[0106]
如在本申请所使用的,术语“组件”、“模块”、“系统”等等旨在指代计算机相关实体,该计算机相关实体可以是硬件、固件、硬件和软件的结合、软件或者运行中的软件。例如,组件可以是,但不限于是:在处理器上运行的处理、处理器、对象、可执行文件、执行中的线程、程序和/或计算机。作为示例,在计算设备上运行的应用和该计算设备都可以是组件。一个或多个组件可以存在于执行中的过程和/或线程中,并且组件可以位于一个计算机中以及/或者分布在两个或更多个计算机之间。此外,这些组件能够从在其上具有各种数据结构的各种计算机可读介质中执行。这些组件可以通过诸如根据具有一个或多个数据分组(例如,来自一个组件的数据,该组件与本地系统、分布式系统中的另一个组件进行交互和/或以信号的方式通过诸如互联网之类的网络与其它系统进行交互)的信号,以本地和/或远
程过程的方式进行通信。
[0107]
应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1