一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于特征匹配的人脸姿态估计方法、系统、装置及存储介质与流程

2022-02-20 00:27:15 来源:中国专利 TAG:


1.本发明涉及图像处理技术领域,尤其涉及一种基于特征匹配的人脸姿态估计方法、系统、装置及存储介质。


背景技术:

2.在现有的面部模式识别技术领域中,人脸姿态估计是指通过连续视频或单张图片来确定人脸在三维空间之中不同维度的旋转角度,通常会使用二维图像来解决头部姿态分类问题,由于减少了一维信息,所以人脸姿态估计一直是一个具有挑战性的研究项目。随着智能算法的应用,越来越多的人研究人脸检测、人脸特征点定位、人脸识别、人脸属性分类、人脸姿态分类等,但无论对于哪种算法,高质量的人脸图像都将为算法的研发提供性能上的保障。但是,如果具有较大头部偏转角度的侧面人脸图像往往会对人脸识别等算法的结果产生负面影响,因此人脸姿态估计算法在面部建模分析领域一直扮演着非常重要的角色。而解决该问题不仅可以提高人脸相关算法的性能,同时人脸姿态估计本身也具有很高的应用价值。
3.而目前常用的方法是基于人脸关键点算法进行姿态估计,从技术实现角度来讲目前已经很成熟了,但是如果涉及到大姿态、光线不理想等因素会影响人脸关键点算法的定位精度,这一误差会在第二阶段计算人脸姿态过程中被放大,致使估计的不够精确;另外,如果是精度较高的人脸关键点定位算法都需要一定的耗时,消耗硬件算力。因此,亟需一种可以减少定位误差造成的影响,同时耗时也会减少的估计方法。


技术实现要素:

4.本发明针对现有技术中的缺点,提供了一种基于特征匹配的人脸姿态估计方法、系统、装置及存储介质。
5.为了解决上述技术问题,本发明通过下述技术方案得以解决:
6.一种基于特征匹配的人脸姿态估计方法,包括以下步骤:
7.获取含有待估计姿态的人脸图像,并对人脸图像进行人脸检测及裁剪预处理,得到预处理图像;
8.将预处理图像输入至预设的特征提取网络模型得到轮廓特征信息;
9.将轮廓特征信息与预设人脸模板进行匹配,得到最佳匹配度模板,所述最佳匹配度模板的姿态信息即为输入的人脸图像姿态信息,其中,所述人脸模板为多姿态人脸模板,每个人脸模板中包含三个旋转方向的信息。
10.作为一种可实施方式,所述并对人脸图像进行人脸检测及裁剪预处理,具体为:对人脸图像进行人脸检测并裁剪成统一尺寸,裁剪后的尺寸统一调整为256*256。
11.作为一种可实施方式,所述每个人脸模板中包含三个旋转方向的信息,具体为:
12.获取不同人不同姿态的头部数据;
13.所述头部数据集作为头部姿态估计的基准,每张人脸图像包含三个旋转方向的信
息,其中三个旋转方向的角度分别为俯仰角、偏航角及翻滚角,并转换为欧拉角。
14.作为一种可实施方式,获取轮廓特征信息,取第6、7、8、9四个通道的数据,将第6、7通道信息叠加为矩阵a,第8、9通道信息叠加为矩阵b,将矩阵a、b转为对应的可视化图像,并分别求可视化图像的重心点pa、pb,获取人脸模板图像的重心点ma、mb,通过相似变化,使得重心点pa、pb靠近重心点ma、mb,使可视化图像和人脸模板图像中的人脸对齐,得到变换矩阵m,并通过矩阵m对提取的13个通道的数据进行计算,得到特征图f1、f2、

、f
13

15.基于余弦相似度函数计算13组特征之间的相似程度,公式如下:
[0016][0017]
其中,fi为第i个通道的特征,bi为第i个通道的人脸模板特征,wi为第i个通道的权重,表示该通道对于最终相似度得分的重要程度;
[0018]
将特征图与人脸模板图像特征图ft通过余弦相似度函数进行余弦相似度计算,得到相似度得分,基于相似度得分判断特征图与人脸模板图像特征图的相似程度。
[0019]
作为一种可实施方式,所述特征提取网络模型特征提取网络选用lab人脸特征点定位网络,取中间层“hourglass_4/pred_heatmap/ ”的13通道特征。
[0020]
一种基于特征匹配的人脸姿态估计系统,包括数据获取模块、轮廓获取模块和匹配对比模块;
[0021]
所述数据获取模块,用于获取含有待估计姿态的人脸图像,并对人脸图像进行人脸检测及裁剪预处理,得到预处理图像;
[0022]
所述轮廓获取模块,用于将预处理图像输入至预设的特征提取网络模型得到轮廓特征信息;
[0023]
所述匹配对比模块,用于将轮廓特征信息与预设人脸模板进行匹配,得到最佳匹配度模板,所述最佳匹配度模板的姿态信息即为输入的人脸图像姿态信息,其中,所述人脸模板为多姿态人脸模板,每个人脸模板中包含三个旋转方向的信息。
[0024]
一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如下的方法步骤:
[0025]
获取含有待估计姿态的人脸图像,并对人脸图像进行人脸检测及裁剪预处理,得到预处理图像;
[0026]
将预处理图像输入至预设的特征提取网络模型得到轮廓特征信息;
[0027]
将轮廓特征信息与预设人脸模板进行匹配,得到最佳匹配度模板,所述最佳匹配度模板的姿态信息即为输入的人脸图像姿态信息,其中,所述人脸模板为多姿态人脸模板,每个人脸模板中包含三个旋转方向的信息。
[0028]
一种基于特征匹配的人脸姿态估计装置,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如下的方法步骤:
[0029]
获取含有待估计姿态的人脸图像,并对人脸图像进行人脸检测及裁剪预处理,得到预处理图像;
[0030]
将预处理图像输入至预设的特征提取网络模型得到轮廓特征信息;
[0031]
将轮廓特征信息与预设人脸模板进行匹配,得到最佳匹配度模板,所述最佳匹配
度模板的姿态信息即为输入的人脸图像姿态信息,其中,所述人脸模板为多姿态人脸模板,每个人脸模板中包含三个旋转方向的信息。
[0032]
本发明由于采用了以上技术方案,具有显著的技术效果:
[0033]
方法精度高,相较基于人脸特征点定位的姿态估计方法,本发明通过提取人脸轮廓特征,避免了特征点定位误差对结果造成的影响,同时使用特征匹配的方式输出姿态信息,精度更高;
[0034]
算法耗时更短,由于本发明中提取人脸轮廓特征相比定位人脸关键点所需的时间更少,特征匹配也只需在一定的策略下匹配最优的模板,节约了方法的耗时;
[0035]
实现简单,本发明使用预训练好的人脸特征点定位模型,只使用中间层的人脸轮廓特征,基于python实现了整套系统,包括调用人脸检测算法、轮廓特征提取、图像对齐、特征匹配,简单易行,上手速度快。
附图说明
[0036]
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0037]
图1是本发明方法的整体流程示意图;
[0038]
图2是本发明可视化操作的结果示意图。
具体实施方式
[0039]
下面结合实施例对本发明做进一步的详细说明,以下实施例是对本发明的解释而本发明并不局限于以下实施例。
[0040]
实施例1:
[0041]
一种基于特征匹配的人脸姿态估计方法,包括以下步骤:
[0042]
s100、获取含有待估计姿态的人脸图像,并对人脸图像进行人脸检测及裁剪预处理,得到预处理图像;
[0043]
s200、将预处理图像输入至预设的特征提取网络模型得到轮廓特征信息;
[0044]
s300、将轮廓特征信息与预设人脸模板进行匹配,得到最佳匹配度模板,所述最佳匹配度模板的姿态信息即为输入的人脸图像姿态信息,其中,所述人脸模板为多姿态人脸模板,每个人脸模板中包含三个旋转方向的信息。
[0045]
基于以上示例方法,如图1所示,可以有以下具体实施方式:
[0046]
a)准备多人多姿态人脸模板和特征提取的网络
[0047]
模板匹配重要的部分是模板的丰富度,模板选用biwi头部姿势数据集。biwi数据集包含24个视频,约15678帧人脸图像,采集过程是由采集者坐在传感器前,自由地转动他们的头,用此方法采集不同人不同姿态的头部数据,该数据集通常作为使用深度方法进行头部姿态估计的基准,每张人脸图像提供了三个旋转方向的信息。
[0048]
欧拉角是用来确定刚体转动位置的一组独立的角参量,分别为俯仰角(pitch)、偏航角(yaw)、翻滚角(roll)。这里以python操作为例,将biwi数据集提供的信息w转化为欧拉
角。
[0049]
具体为:roll=-numpy.arctan2(w[1][0],w[0][0])*180/numpy.pi
[0050]
yaw=-numpy.arctan2(-w[2][0],numpy.sqrt(w[2][1]**2 w[2][2]**2))*180/numpy.pi
[0051]
pitch=numpy.arctan2(pose_w[2][1],pose_w[2][2])*180/numpy.pi
[0052]
已知头部旋转矩阵为:
[0053][0054]
欧拉角分别为:
[0055][0056][0057][0058]
其中,roll表示为俯仰角,yaw表示为偏航角,pitch表示为翻滚角。
[0059]
特征提取网络选用lab人脸特征点定位网络,加载预训练好的模型,只取中间层“hourglass_4/pred_heatmap/ ”的13通道特征,作为人脸姿态的特征信息。由于lab网络是对人脸特征点的精确定位,本方法只需要中间层的人脸轮廓特征,因此对网络中参数进行减小,同时删减部分卷积层和全连接层,得到优化后的网络lab_s。之后取中间层“hourglass_4/pred_heatmap/ ”的13个通道特征。
[0060]
需要说明的是,提取的特征为人脸的轮廓信息,选用这一特征可有效避免后续特征点定位的误差。
[0061]
b)对输入图像进行人脸检测并裁剪由于输入图像往往包含了除人脸外的其他信息,所以在特征提取前需要对图像进行人脸检测并裁剪成统一尺寸。这里选用的是yoloface人脸检测算法,裁剪后的尺寸统一调整为256*256,可以是其他尺寸。现有的两版算法是256*256和112*112,其他尺寸也可以设定,但需要根据不同的输入尺寸调整模型参数。不过,建议设定的过大或过小,过大没有必要,同时会增加算法耗时;过小会损失很多图像信息,影响性能。256*256是比较合适的输入尺寸。
[0062]
c)将处理好的人脸图像输入到准备好的特征提取网络中提取人脸轮廓特征,特征信息可视化后如图2所示。
[0063]
d)将模板的特征与人脸图像的特征进行匹配
[0064]
获得输入图像的特征信息后,需要通过特征匹配的方式找到最佳的模板,从而确定当前输入图像中人脸的姿态信息。由于裁剪的人脸在图像中所处的位置并非完全吻合,所以需要先通过图像对齐来完成,这里以python操作为例,详细说明其计算过程。
[0065]
(1)获取到输入图像的特征fi后,取第6、7、8、9四个通道的数据,将第6、7通道信息
叠加为矩阵a,第8、9通道信息叠加为矩阵b。将矩阵a、b转为对应的可视化图像,并分别求图像的重心点pa、pb。模板图像同样进行上述操作,得到点ma、mb。通过相似变化,对输入图像进行平移和缩放计算,使得点pa、pb尽可能的向已经定义好点ma、mb靠近,使两个图像中的人脸对齐,从而得到变换矩阵m和变换后的特征图fr,即特征图f1、f2、

、f
13

[0066]
template_size=fi.shape
[0067]
fr=cv2.warpaffine(fi,m,template_size)
[0068]
(2)系统采用余弦相似度来计算两个特征图之间的相似程度,提前构建一套余弦相似度函数,如下:
[0069][0070]
其中,fi为第i个通道的特征,bi为第i个通道的人脸模板特征,wi为第i个通道的权重,表示该通道对于最终相似度得分的重要程度,将对通道数向对应的13组特征进行相似度计算并与权重相乘,最后相加在一起得到相似度得分,基于相似度得分判断特征与人脸模板图像特征的相似程度,不过,为了使得余弦相似度函数与使用的情况更加贴近,还需要对余弦相似度函数进行优化,为人脸模板特征和通道的特征进行调整,因此,余弦相似度函数转变为在此,fi为第i个通道的特征,bi为第i个通道的人脸模板特征,wi为第i个通道的权重,表示第i个通道的自适应系数,此系数是根据每个通道的迭代情况选择的,通道的迭代情况选择的,表示最大惯性系数,表示最小惯性系数,x表示当前通道迭代次数,x
max
表示通道的最大迭代次数。(3)将获得的新特征图fr与模板的特征图ft通过以上的余弦相似度函数进行余弦相似度计算,得到相似度得分cos。
[0071]
cos=cosine_similarity(fr,ft)
[0072]
e)得到最优的一个模板,当前模板的姿态信息即为输入的人脸图像姿态信息
[0073]
模板匹配首先从正脸姿态开始计算,之后再与正脸周围分布的姿态模板进行计算,得到相似度提升最大的旋转方向,沿着该旋转方向进行下一阶段计算。注意每一阶段都沿着相似度提升最大的旋转方向往下进行,直至相似度得分不再增大。该机制可以有效减小计算量,大幅减小算法的耗时。最后,匹配到的最优模板中人脸所处的姿态信息即为输入图像人脸的姿态信息。
[0074]
实施例2:
[0075]
一种基于特征匹配的人脸姿态估计系统,包括数据获取模块、轮廓获取模块和匹配对比模块;
[0076]
所述数据获取模块,用于获取含有待估计姿态的人脸图像,并对人脸图像进行人脸检测及裁剪预处理,得到预处理图像;
[0077]
所述轮廓获取模块,用于将预处理图像输入至预设的特征提取网络模型得到轮廓特征信息;
[0078]
所述匹配对比模块,用于将轮廓特征信息与预设人脸模板进行匹配,得到最佳匹配度模板,所述最佳匹配度模板的姿态信息即为输入的人脸图像姿态信息,其中,所述人脸
模板为多姿态人脸模板,每个人脸模板中包含三个旋转方向的信息。
[0079]
实施例3:
[0080]
一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如下的方法步骤:
[0081]
获取含有待估计姿态的人脸图像,并对人脸图像进行人脸检测及裁剪预处理,得到预处理图像;
[0082]
将预处理图像输入至预设的特征提取网络模型得到轮廓特征信息;
[0083]
将轮廓特征信息与预设人脸模板进行匹配,得到最佳匹配度模板,所述最佳匹配度模板的姿态信息即为输入的人脸图像姿态信息,其中,所述人脸模板为多姿态人脸模板,每个人脸模板中包含三个旋转方向的信息。
[0084]
实施例4:
[0085]
在一个实施例中,提供了一种基于特征匹配的人脸姿态评估装置,该基于特征匹配的人脸姿态评估装置可以是服务器也可以是移动终端。该基于特征匹配的人脸姿态评估装置包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该基于特征匹配的人脸姿态评估装置的处理器用于提供计算和控制能力。该基于特征匹配的人脸姿态评估装置的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该数据库存储基于特征匹配的人脸姿态评估装置的所有数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现基于特征匹配的人脸姿态评估的方法。
[0086]
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
[0087]
本领域内的技术人员应明白,本发明的实施例可提供为方法、装置、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0088]
本发明是参照根据本发明的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0089]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0090]
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得
在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0091]
需要说明的是:
[0092]
说明书中提到的“一个实施例”或“实施例”意指结合实施例描述的特定特征、结构或特性包括在本发明的至少一个实施例中。因此,说明书通篇各个地方出现的短语“一个实施例”或“实施例”并不一定均指同一个实施例。
[0093]
此外,需要说明的是,本说明书中所描述的具体实施例,其程序中的功能函数表现形式、所取名称等可以不同。凡依本发明专利构思所述的构造、特征及原理所做的等效或简单变化,均包括于本发明专利的保护范围内。本发明所属技术领域的技术人员可以对所描述的具体实施例做各种各样的修改或补充或采用类似的方式替代,只要不偏离本发明的结构或者超越本权利要求书所定义的范围,均应属于本发明的保护范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献