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

人脸特征点坐标获取方法、装置、计算机设备和存储介质与流程

2022-03-08 22:01:22 来源:中国专利 TAG:


1.本技术涉及计算机技术领域,特别是涉及一种人脸特征点坐标获取方法、装置、计算机设备和存储介质。


背景技术:

2.随着计算机技术的发展,出现了人脸特征点检测技术。人脸特征点检测是人脸识别和分析领域中的关键一步,它是诸如自动人脸识别、表情分析、三维人脸重建及三维动画等其他人脸相关问题的前提和突破口。
3.传统技术中,是利用深度学习方法来进行人脸特征点检测的,通过先利用深度学习方法训练出用于进行人脸特征点检测的检测模型,再利用该检测模型进行人脸特征点检测。
4.然而,传统技术存在由于无法准确获取人脸特征点坐标,导致人脸特征点检测不准确的问题。


技术实现要素:

5.基于此,有必要针对上述技术问题,提供一种能够提高人脸特征点检测准确度的人脸特征点坐标获取方法、装置、计算机设备和存储介质。
6.一种人脸特征点坐标获取方法,所述方法包括:
7.获取待处理图像;
8.对待处理图像进行特征点检测,得到3d人脸平均参数以及3d人脸参数;
9.根据3d人脸平均参数对3d人脸参数进行特征点映射,得到2d人脸参数;
10.根据2d人脸参数,计算与待处理图像对应的人脸旋转角度;
11.根据人脸旋转角度确定特征点检测方式,根据特征点检测方式以及预设特征点检测方式-待检测特征点对应关系,确定对应的待检测特征点;
12.根据待检测特征点,得到与待处理图像对应的人脸特征点坐标。
13.在一个实施例中,对待处理图像进行特征点检测,得到3d人脸平均参数以及3d人脸参数包括:
14.根据已训练的人脸平均模型对待处理图像进行特征点检测,得到3d人脸平均参数,并根据已训练的人脸特征点检测模型对待处理图像进行特征点检测,得到3d人脸参数,已训练的人脸平均模型通过训练初始主动形状模型得到。
15.在一个实施例中,根据3d人脸平均参数对3d人脸参数进行特征点映射,得到2d人脸参数包括:
16.根据3d人脸参数,对3d人脸平均参数进行筛选,得到目标3d人脸平均参数,目标3d人脸平均参数与3d人脸参数表征相同人脸特征;
17.计算3d人脸参数与目标3d人脸平均参数之间的移动向量,并获取第一表达式和第二表达式,第一表达式为描述3d人脸参数、目标3d人脸平均参数以及人脸旋转角度之间对
应关系的等式,第二表达式为描述3d人脸参数、移动向量以及2d人脸参数的对应关系的等式;
18.根据3d人脸参数、移动向量、第一表达式以及第二表达式,得到2d人脸参数。
19.在一个实施例中,根据2d人脸参数,计算与待处理图像对应的人脸旋转角度包括:
20.获取与2d人脸参数对应的当前2d特征参数;
21.计算当前2d特征参数与2d人脸参数中各对应特征点的特征差值,并获取第三表达式,第三表达式为描述特征差值与旋转角度变化量的对应关系的等式;
22.根据特征差值以及第三表达式,计算旋转角度变化量,并获取与待处理图像对应的上一时刻人脸旋转角度;
23.根据旋转角度变化量和上一时刻人脸旋转角度,得到与待处理图像对应的人脸旋转角度。
24.在一个实施例中,根据人脸旋转角度确定特征点检测方式包括:
25.根据人脸旋转角度确定头部姿态;
26.根据头部姿态比对预设姿态-特征点检测方式对应关系,确定特征点检测方式。
27.在一个实施例中,根据待检测特征点,得到与待处理图像对应的人脸特征点坐标包括:
28.根据待检测特征点进行特征数据查询;
29.当查询到与待检测特征点对应的特征数据时,根据特征数据进行特征点跟踪,得到与待处理图像对应的人脸特征点坐标;
30.当未查询到与待检测特征点对应的特征数据时,根据待检测特征点进行特征点检测,得到与待处理图像对应的人脸特征点坐标。
31.在一个实施例中,根据特征数据进行特征点跟踪,得到与待处理图像对应的人脸特征点坐标包括:
32.根据特征数据以及预设跟踪算法进行特征点跟踪,得到与待检测特征点对应的参数增量;
33.根据特征数据和参数增量,计算与待检测特征点对应的特征点值;
34.根据特征点值,得到与待处理图像对应的人脸特征点坐标。
35.一种人脸特征点坐标获取装置,所述装置包括:
36.获取模块,用于获取待处理图像;
37.检测模块,用于对待处理图像进行特征点检测,得到3d人脸平均参数以及3d人脸参数;
38.映射模块,用于根据3d人脸平均参数对3d人脸参数进行特征点映射,得到2d人脸参数;
39.计算模块,用于根据2d人脸参数,计算与待处理图像对应的人脸旋转角度;
40.第一处理模块,用于根据人脸旋转角度确定特征点检测方式,根据特征点检测方式以及预设特征点检测方式-待检测特征点对应关系,确定对应的待检测特征点;
41.第二处理模块,用于根据待检测特征点,得到与待处理图像对应的人脸特征点坐标。
42.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理
器执行所述计算机程序时实现以下步骤:
43.获取待处理图像;
44.对待处理图像进行特征点检测,得到3d人脸平均参数以及3d人脸参数;
45.根据3d人脸平均参数对3d人脸参数进行特征点映射,得到2d人脸参数;
46.根据2d人脸参数,计算与待处理图像对应的人脸旋转角度;
47.根据人脸旋转角度确定特征点检测方式,根据特征点检测方式以及预设特征点检测方式-待检测特征点对应关系,确定对应的待检测特征点;
48.根据待检测特征点,得到与待处理图像对应的人脸特征点坐标。
49.一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
50.获取待处理图像;
51.对待处理图像进行特征点检测,得到3d人脸平均参数以及3d人脸参数;
52.根据3d人脸平均参数对3d人脸参数进行特征点映射,得到2d人脸参数;
53.根据2d人脸参数,计算与待处理图像对应的人脸旋转角度;
54.根据人脸旋转角度确定特征点检测方式,根据特征点检测方式以及预设特征点检测方式-待检测特征点对应关系,确定对应的待检测特征点;
55.根据待检测特征点,得到与待处理图像对应的人脸特征点坐标。
56.上述人脸特征点坐标获取方法、装置、计算机设备和存储介质,对待处理图像进行特征点检测,得到3d人脸平均参数以及3d人脸参数,根据3d人脸平均参数对3d人脸参数进行特征点映射,得到2d人脸参数,根据2d人脸参数,计算与待处理图像对应的人脸旋转角度,根据人脸旋转角度确定特征点检测方式,根据特征点检测方式以及预设特征点检测方式-待检测特征点对应关系,确定对应的待检测特征点,根据待检测特征点,得到与待处理图像对应的人脸特征点坐标。整个过程,能够通过对待处理图像的分析,实现对头部姿态的估计,得到准确的人脸旋转角度,进而利用人脸旋转角度可以实现对特征点检测方式的确定,从而可以在确定特征点检测方式的基础上得到对应的待检测特征点,根据待检测特征点得到人脸特征点坐标,实现准确地人脸特征点检测。
附图说明
57.图1为一个实施例中人脸特征点坐标获取方法的流程示意图;
58.图2为一个实施例中人脸特征点坐标获取方法的示意图;
59.图3为一个实施例中人脸特征点坐标获取方法的示意图;
60.图4为一个实施例中人脸特征点坐标获取方法的示意图;
61.图5为一个实施例中人脸特征点坐标获取方法的示意图;
62.图6为另一个实施例中人脸特征点坐标获取方法的流程示意图;
63.图7为一个实施例中人脸特征点坐标获取装置的结构框图;
64.图8为一个实施例中计算机设备的内部结构图。
具体实施方式
65.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对
本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
66.在一个实施例中,如图1所示,提供了一种人脸特征点坐标获取方法,本实施例以该方法应用于服务器进行举例说明,可以理解的是,该方法也可以应用于终端,还可以应用于包括终端和服务器的系统,并通过终端和服务器的交互实现。本实施例中,该方法包括以下步骤:
67.步骤102,获取待处理图像。
68.其中,待处理图像是指待处理面部图像。
69.具体的,服务器可以从预设图像数据库或用户终端获取到待处理图像。其中,预设图像数据库是指预先存储有待处理图像的数据库,该数据库中的待处理图像可以为事先获取的,从用户终端获取待处理图像是指用户终端将待处理图像上传至服务器。
70.步骤104,对待处理图像进行特征点检测,得到3d人脸平均参数以及3d人脸参数。
71.其中,进行特征点检测是指检测待处理图像中的人脸特征点,得到人脸特征点在待处理图像中的位置信息。人脸特征点是指用于表征人脸特征的点。比如,人脸特征点具体可以是指用于表征鼻子、眼睛、眉毛、嘴巴、耳朵等特征的点。3d人脸平均参数是指通过已训练的人脸平均模型进行特征点检测得到的参数,用于表征特征点在待处理图像上的位置。比如,3d人脸平均参数具体可以是指3d人脸平均特征点。3d人脸参数是指通过已训练的人脸特征点检测模型进行特征点检测得到的参数,用于表征特征点在待处理图像上的位置。比如,3d人脸参数具体可以是指3d人脸特征点。
72.具体的,服务器可以根据已训练的人脸平均模型对待处理图像进行特征点检测,得到3d人脸平均参数,并根据已训练的人脸特征点检测模型对待处理图像进行特征点检测,得到3d人脸参数,已训练的人脸平均模型可以通过训练初始主动形状模型得到,主动形状模型是一种较为成熟的人脸特征点定位方法,它用局部纹理模型在特征点周围进行局部搜索,用全局统计模型约束特征点集组成的形状,二者反复迭代,最终收敛至最优形状。已训练的人脸特征点检测模型可以为常见的13点人脸特征点检测模型、11点人脸特征点检测模型等,在此处不做具体限定。
73.步骤106,根据3d人脸平均参数对3d人脸参数进行特征点映射,得到2d人脸参数。
74.其中,2d人脸参数是指通过对3d人脸参数进行特征点映射得到的参数,即对3d人脸参数进行降维处理。比如,2d人脸参数具体可以是指2d人脸特征点。
75.具体的,服务器会根据3d人脸参数从3d人脸平均参数中选取对应的目标3d人脸平均参数,该目标3d人脸平均参数与3d人脸参数表征相同人脸特征,即目标3d人脸平均参数的特征点与3d人脸参数的特征点相对应。举例说明,目标3d人脸平均参数和3d人脸参数表征相同人脸特征,具体可以是指表征鼻子、眼睛、嘴唇等人脸特征,即鼻子、眼睛、嘴唇等人脸特征可以用目标3d人脸平均参数表示,也可以用3d人脸参数表示。在得到目标3d人脸平均参数后,服务器会计算3d人脸参数与目标3d人脸平均参数之间的移动向量,并获取第一表达式,通过移动向量以及第一表达式对3d人脸参数进行特征点映射,得到2d人脸参数。其中,第一表达式描述3d人脸参数、目标3d人脸平均参数以及人脸旋转角度之间对应关系的等式,通过特征点映射,能够将2d人脸参数通过移动向量以及人脸旋转角度进行描述。
76.步骤108,根据2d人脸参数,计算与待处理图像对应的人脸旋转角度。
77.其中,人脸旋转角度是指人的头部的姿态角,跟飞机飞行类似,即pitch,yaw和roll三个欧拉角,分别学名俯仰角、偏航角和滚转角,通俗讲就是抬头、摇头和转头。
78.具体的,服务器会获取与2d人脸参数对应的当前2d特征参数,计算当前2d特征参数与2d人脸参数中各对应特征点的特征差值,并获取第三表达式,根据特征差值和第三表达式去计算旋转角度变化量,根据旋转角度变化量得到人脸旋转角度。其中,当前2d特征参数可采用任何特征点检测方法获取,比如监督下降法等,在此不做具体限定,第三表达式为描述特征差值与旋转角度变化量的对应关系的等式。
79.步骤110,根据人脸旋转角度确定特征点检测方式,根据特征点检测方式以及预设特征点检测方式-待检测特征点对应关系,确定对应的待检测特征点。
80.其中,特征点检测方式是指进行特征点检测的方式。比如,特征点检测方式具体可以为正脸检测。又比如,特征点检测方式具体可以为左脸检测。再比如,特征点检测方式具体可以为右脸检测。预设特征点检测方式-待检测特征点对应关系用于表征特征点检测方式与待检测特征点之间的对应关系,对应关系包括数量对应关系等。比如,特征点检测方式-待检测特征点对应关系具体可以为正脸检测对应68个特征点。又比如,特征点检测方式-待检测特征点对应关系具体可以为左脸检测对应24个特征点。再比如,特征点检测方式-待检测特征点对应关系具体可以为右脸检测对应24个特征点。对应的待检测特征点与特征点检测方式相对应。
81.具体的,服务器会根据人脸旋转角度确定头部姿态,根据头部姿态确定特征点检测方式,根据特征点检测方式以及预设特征点检测方式-待检测特征点对应关系,确定对应的待检测特征点。
82.步骤112,根据待检测特征点,得到与待处理图像对应的人脸特征点坐标。
83.其中,人脸特征点坐标是指人脸特征点在待处理图像上的坐标。
84.具体的,服务器会根据待检测特征点进行特征数据查询,确定人脸特征点坐标获取的方式,当可以查询到与待检测特征点对应的特征数据时,通过特征点跟踪的方式来获取人脸特征点坐标,当不能查询到与待检测特征点对应的特征数据时,直接通过特征点检测的方式来获取人脸特征点坐标。
85.上述人脸特征点坐标获取方法,对待处理图像进行特征点检测,得到3d人脸平均参数以及3d人脸参数,根据3d人脸平均参数对3d人脸参数进行特征点映射,得到2d人脸参数,根据2d人脸参数,计算与待处理图像对应的人脸旋转角度,根据人脸旋转角度确定特征点检测方式,根据特征点检测方式以及预设特征点检测方式-待检测特征点对应关系,确定对应的待检测特征点,根据待检测特征点,得到与待处理图像对应的人脸特征点坐标。整个过程,能够通过对待处理图像的分析,实现对头部姿态的估计,得到准确的人脸旋转角度,进而利用人脸旋转角度可以实现对特征点检测方式的确定,从而可以在确定特征点检测方式的基础上得到对应的待检测特征点,根据待检测特征点得到人脸特征点坐标,实现准确地人脸特征点检测。
86.在一个实施例中,对待处理图像进行特征点检测,得到3d人脸平均参数以及3d人脸参数包括:
87.根据已训练的人脸平均模型对待处理图像进行特征点检测,得到3d人脸平均参数,并根据已训练的人脸特征点检测模型对待处理图像进行特征点检测,得到3d人脸参数,
已训练的人脸平均模型通过训练初始主动形状模型得到。
88.具体的,服务器会根据已训练的3d人脸平均模型对待处理图像进行特征点检测,得到3d人脸平均参数,并根据已训练的人脸特征点检测模型对待处理图像进行特征点检测,得到3d人脸参数,已训练的人脸平均模型通过训练初始主动形状模型得到。其中,如图2所示,通过训练初始主动形状模型得到人脸平均模型的方式可以为:先获取训练集,用矩阵形式对其进行描述,再通过主成分分析法(pca)完成对该训练集的描述,塑造出可反映出训练集平均轮廓及关键形变方式样本的先验模型,最后通过灰度匹配法完成先验模型的搜索,在进行迭代搜索时需对先验模型的参数进行调整,从而使模型和目标物体的实际轮廓逐渐吻合,实现准确定位。其中,训练集是指利用设备对目标轮廓的边界点集合进行采集得到的样本。
89.本实施例中,通过根据已训练的人脸平均模型对待处理图像进行特征点检测,得到3d人脸平均参数,并根据已训练的人脸特征点检测模型对待处理图像进行特征点检测,得到3d人脸参数,能够实现对3d人脸平均参数和3d人脸参数的获取。
90.在一个实施例中,根据3d人脸平均参数对3d人脸参数进行特征点映射,得到2d人脸参数包括:
91.根据3d人脸参数,对3d人脸平均参数进行筛选,得到目标3d人脸平均参数,目标3d人脸平均参数与3d人脸参数表征相同人脸特征;
92.计算3d人脸参数与目标3d人脸平均参数之间的移动向量,并获取第一表达式和第二表达式,第一表达式为描述3d人脸参数、目标3d人脸平均参数以及人脸旋转角度之间对应关系的等式,第二表达式为描述3d人脸参数、移动向量以及2d人脸参数的对应关系的等式;
93.根据3d人脸参数、移动向量、第一表达式以及第二表达式,得到2d人脸参数。
94.具体的,服务器会根据3d人脸参数,对3d人脸平均参数进行筛选,得到与3d人脸参数对应的目标3d人脸平均参数,这里的对应是指目标3d人脸平均参数的特征点与3d人脸参数的特征点相对应。在得到目标3d人脸平均参数之后,服务器会计算3d人脸参数与目标3d人脸平均参数之间的移动向量,并获取第一表达式和第二表达式,根据3d人脸参数、移动向量、第一表达式以及第二表达式,得到2d人脸参数。其中,第一表达式为描述3d人脸参数、目标3d人脸平均参数以及人脸旋转角度之间对应关系的等式,第二表达式为描述3d人脸参数、移动向量以及2d人脸参数的对应关系的等式。
95.进一步的,本实施例中的第一表达式具体可以为:
[0096][0097]
其中,xc、yc、zc是指3d人脸参数中的特征点坐标,xm、ym、zm是指对应目标3d人脸平均参数中的特征点坐标,θx、θy、θz是指人脸旋转角度。第二表达式具体可以为:其中x
2d
、y
2d
是指2d人脸参数中的特征点坐标,s
是指预设缩放因子,mx、my是指移动向量,通过第一表达式和第二表达式,可以得到2d人脸参数为:
[0098][0099]
本实施例中,通过根据3d人脸参数,对3d人脸平均参数进行筛选,得到目标3d人脸平均参数,计算3d人脸参数与目标3d人脸平均参数之间的移动向量,并获取第一表达式和第二表达式,根据3d人脸参数、移动向量、第一表达式以及第二表达式,得到2d人脸参数,能够实现对2d人脸参数的获取。
[0100]
在一个实施例中,根据2d人脸参数,计算与待处理图像对应的人脸旋转角度包括:
[0101]
获取与2d人脸参数对应的当前2d特征参数;
[0102]
计算当前2d特征参数与2d人脸参数中各对应特征点的特征差值,并获取第三表达式,第三表达式为描述特征差值与旋转角度变化量的对应关系的等式;
[0103]
根据特征差值以及第三表达式,计算旋转角度变化量,并获取与待处理图像对应的上一时刻人脸旋转角度;
[0104]
根据旋转角度变化量和上一时刻人脸旋转角度,得到与待处理图像对应的人脸旋转角度。
[0105]
其中,当前2d特征参数是指对待处理图像进行特征点检测得到的参数,用于表征特征点在待处理图像上的二维位置。比如,当前2d特征参数具体可以是指当前2d人脸特征点。特征差值是指当前2d特征参数中的特征点与2d人脸参数中的对应特征点之间的差值。旋转角度变化量是指人脸旋转角度针对上一时刻的变化情况。上一时刻人脸旋转角度是指在上一时刻计算得到的人脸旋转角度,会预先存储在预设数据库中,进一步的,每次计算出新的人脸旋转角度之后,都会对预设数据库中存储的人脸旋转角度进行更新,得到最新的上一时刻人脸旋转角度。比如,在本实施例中,在计算得到与待处理图像对应的人脸旋转角度之后,会将该人脸旋转角度更新为最新的上一时刻人脸旋转角度,并存储在预设数据库中。
[0106]
具体的,服务器会先利用特征点检测获取与2d人脸参数对应的当前2d特征参数,再计算当前2d特征参数与2d人脸参数中各对应特征点的特征差值,并获取第三表达式,根据特征差值以及第三表达式,计算旋转角度变化量,并获取与待处理图像对应的上一时刻人脸旋转角度,最后根据旋转角度变化量和上一时刻人脸旋转角度,得到与待处理图像对应的人脸旋转角度。其中,第三表达式为描述特征差值与旋转角度变化量的对应关系的等式。
[0107]
进一步的,计算特征差值的公式可以为:其中x
sdm
、y
sdm
是指当前2d特征参数中特征点的坐标,x
2d
、y
2d
是指2d人脸参数中各对应特征点的坐标。第三表达式的公式如图3所示,其中hx1、hy1
……
hx13、hy13是指2d人脸参数中各对应特征点,2d人脸参数中各对应特征点可通过移动向量以及人脸旋转角度表示,δx1、δy1、
……
δx13、δy13是指特征差值,θx、θy、θz是指人脸旋转角度,s是指预设缩放因子,mx、my是指移动向量。δθ是指旋转角度变化量,θ是指人脸旋转角度。由图3可知,根据特征差值以及第三表达式,计算旋转角度变化量的方式可以为:根据第三表达式计算2d人脸参数中各对应特
征点在3d transformation parameters上的微分,根据微分矩阵和特征差值计算旋转角度变化量。
[0108]
本实施例中,通过获取与2d人脸参数对应的当前2d特征参数,计算当前2d特征参数与2d人脸参数中各对应特征点的特征差值,并获取第三表达式,根据特征差值以及第三表达式,计算旋转角度变化量,并获取与待处理图像对应的上一时刻人脸旋转角度,根据旋转角度变化量和上一时刻人脸旋转角度,得到与待处理图像对应的人脸旋转角度,能够实现对人脸旋转角度的获取。
[0109]
在一个实施例中,根据人脸旋转角度确定特征点检测方式包括:
[0110]
根据人脸旋转角度确定头部姿态;
[0111]
根据头部姿态比对预设姿态-特征点检测方式对应关系,确定特征点检测方式。
[0112]
其中,头部姿态用于表征面部对应情况,包括正面对应,左脸对应以及右脸对应等。
[0113]
具体的,服务器会根据人脸旋转角度比对预设人脸旋转角度-头部姿态对应关系,在预设人脸旋转角度-头部姿态对应关系中划定了各人脸旋转角度与头部姿态的对应关系,通过比对即可确定与人脸旋转角度对应的头部姿态,举例说明,人脸旋转角度-头部姿态对应关系具体可以为俯仰角在x度范围内、偏航角x度范围内、滚转角在x度范围内为正面对应、俯仰角在y度范围内、偏航角y度范围内、滚转角在y度范围内为左脸对应、俯仰角在z度范围内、偏航角z度范围内、滚转角在z度范围内为右脸对应这样的描述,其中的具体角度数值可按照需要自行设置。在得到头部姿态后,服务器会根据头部姿态比对预设姿态-特征点检测方式对应关系,确定特征点检测方式。其中,头部姿态与特征点检测方式是相对应的,比如,当头部姿态为正面对应时,采用正脸检测,当头部姿态为左脸对应时,采用左脸检测,当头部姿态为右脸对应时,采用右脸检测。
[0114]
本实施例中,通过根据人脸旋转角度确定头部姿态,根据头部姿态比对预设姿态-特征点检测方式对应关系,确定特征点检测方式,能够实现对特征点检测方式的确定。
[0115]
在一个实施例中,根据待检测特征点,得到与待处理图像对应的人脸特征点坐标包括:
[0116]
根据待检测特征点进行特征数据查询;
[0117]
当查询到与待检测特征点对应的特征数据时,根据特征数据进行特征点跟踪,得到与待处理图像对应的人脸特征点坐标;
[0118]
当未查询到与待检测特征点对应的特征数据时,根据待检测特征点进行特征点检测,得到与待处理图像对应的人脸特征点坐标。
[0119]
其中,特征数据是指与待检测特征点对应的上一时刻面部图像,时刻幅度可按照需要自行设置。比如,时刻幅度具体可以为1秒,则特征数据是指1秒前的面部图像。特征点跟踪是指当存在上一时刻特征点时,对存在的上一时刻特征点进行跟踪。特征点检测是指当不存在上一时刻特征点时,进行特征点检测得到特征点。
[0120]
具体的,服务器会根据待检测特征点进行特征数据查询,通过查询结果确定人脸特征点坐标获取的方式,当查询到与待检测特征点对应的特征数据时,表示当前存在与待检测特征点对应的上一时刻特征点(可通过特征数据得到),服务器会根据特征数据进行特征点跟踪,得到与待处理图像对应的人脸特征点坐标,当未查询到与待检测特征点对应的
特征数据时,表示当前不存在与待检测特征点对应的上一时刻特征点,服务器会根据待检测特征点进行特征点检测,得到与待处理图像对应的人脸特征点坐标。
[0121]
本实施例中,通过根据待检测特征点进行特征数据查询,根据查询结果确定人脸特征点坐标获取的方式,根据人脸特征点坐标获取的方式实现对人脸特征点坐标的确定,能够实现对人脸特征点坐标的获取。
[0122]
在一个实施例中,根据特征数据进行特征点跟踪,得到与待处理图像对应的人脸特征点坐标包括:
[0123]
根据特征数据以及预设跟踪算法进行特征点跟踪,得到与待检测特征点对应的参数增量;
[0124]
根据特征数据和参数增量,计算与待检测特征点对应的特征点值;
[0125]
根据特征点值,得到与待处理图像对应的人脸特征点坐标。
[0126]
其中,预设跟踪算法是指用于进行特征点跟踪的算法。比如,预设跟踪算法具体可以是klt(kanade-lucas-tomasi tracking method)算法。参数增量是指待检测特征点的特征点值相对于对应的上一时刻特征点的特征点值的增加量。
[0127]
具体的,服务器会根据特征数据以及预设跟踪算法进行特征点跟踪,得到与待检测特征点对应的参数增量,根据特征数据得到上一时刻各特征点的特征点值,根据上一时刻各特征点的特征点值和参数增量,计算与待检测特征点对应的特征点值,根据特征点值查询待处理图像,得到与待处理图像对应的人脸特征点坐标。
[0128]
举例说明,预设跟踪算法具体可以是klt算法,则根据特征数据以及预设跟踪算法进行特征点跟踪,得到与待检测特征点对应的参数增量的过程可以如图4所示,其中,pre-compute包括:step:(1)计算模版图像(特征数据)梯度图,step:(2)计算jacobian矩阵,step:(3)计算最速下降图像,step:(4)计算hessian逆矩阵。iterate包括:step:(5)初始化扭曲图像参数,step:(6)计算图像差,step:(7)用最小二乘法计算参数增量,step:(8)更新参数直至参数收敛。
[0129]
本实施例中,通过根据特征数据以及预设跟踪算法进行特征点跟踪,得到与待检测特征点对应的参数增量,根据特征数据和参数增量,计算与待检测特征点对应的特征点值,根据特征点值,得到与待处理图像对应的人脸特征点坐标,能够实现对人脸特征点坐标的获取。
[0130]
在一个实施例中,如图5所示,本技术的人脸特征点坐标获取方法可应用于多人多姿态的人脸特征点检测与跟踪,该人脸特征点坐标获取在多人多姿态的人脸特征点检测与跟踪的应用如下:服务器获取待处理图像(多人面部检测过后得到的面部图像),对待处理图像进行特征点检测(关键点检测),得到3d人脸平均参数以及3d人脸参数,根据3d人脸平均参数对3d人脸参数进行特征点映射,得到2d人脸参数,根据2d人脸参数,计算与待处理图像对应的人脸旋转角度(关键点跟踪以及头部姿态估计),根据人脸旋转角度确定特征点检测方式,根据特征点检测方式以及预设特征点检测方式-待检测特征点对应关系,确定对应的待检测特征点(得到结构以及选择最相关的模型去检测关键点),根据待检测特征点,得到与待处理图像对应的人脸特征点坐标(关键点跟踪)。
[0131]
在一个实施例中,如图6所示,通过一个流程示意图,来说明本技术的人脸特征点坐标获取方法,该方法包括:服务器获取待处理图像(输入图像),对待处理图像进行特征点
检测,得到3d人脸平均参数以及3d人脸参数(其中3d人脸参数为13关键点,当存在上一时刻13关键点时,直接进行特征点跟踪,当不存在13关键点时,进行特征点检测,具体的,正脸为13关键点,左脸和右脸均为11关键点),根据3d人脸平均参数对3d人脸参数进行特征点映射,得到2d人脸参数,根据2d人脸参数,计算与待处理图像对应的人脸旋转角度(头部姿态估计),根据人脸旋转角度确定特征点检测方式(正脸为68关键点,左脸和右脸均为24关键点),根据特征点检测方式以及预设特征点检测方式-待检测特征点对应关系,确定对应的待检测特征点,根据待检测特征点,得到与待处理图像对应的人脸特征点坐标,其中68关键点是指与待检测特征点对应的上一时刻特征点,当存在上一时刻特征点时,进行68个特征点跟踪(68关键点跟踪),得到与待处理图像对应的人脸特征点坐标(面部关键点坐标),当不存在上一时刻特征点时,进行68个特征点检测(68关键点检测),得到与待处理图像对应的人脸特征点坐标(面部关键点坐标)。
[0132]
应该理解的是,虽然图1的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
[0133]
在一个实施例中,如图7所示,提供了一种人脸特征点坐标获取装置,包括:获取模块702、检测模块704、映射模块706、计算模块708、第一处理模块710和第二处理模块712,其中:
[0134]
获取模块702,用于获取待处理图像;
[0135]
检测模块704,用于对待处理图像进行特征点检测,得到3d人脸平均参数以及3d人脸参数;
[0136]
映射模块706,用于根据3d人脸平均参数对3d人脸参数进行特征点映射,得到2d人脸参数;
[0137]
计算模块708,用于根据2d人脸参数,计算与待处理图像对应的人脸旋转角度;
[0138]
第一处理模块710,用于根据人脸旋转角度确定特征点检测方式,根据特征点检测方式以及预设特征点检测方式-待检测特征点对应关系,确定对应的待检测特征点;
[0139]
第二处理模块712,用于根据待检测特征点,得到与待处理图像对应的人脸特征点坐标。
[0140]
上述人脸特征点坐标获取装置,对待处理图像进行特征点检测,得到3d人脸平均参数以及3d人脸参数,根据3d人脸平均参数对3d人脸参数进行特征点映射,得到2d人脸参数,根据2d人脸参数,计算与待处理图像对应的人脸旋转角度,根据人脸旋转角度确定特征点检测方式,根据特征点检测方式以及预设特征点检测方式-待检测特征点对应关系,确定对应的待检测特征点,根据待检测特征点,得到与待处理图像对应的人脸特征点坐标。整个过程,能够通过对待处理图像的分析,实现对头部姿态的估计,得到准确的人脸旋转角度,进而利用人脸旋转角度可以实现对特征点检测方式的确定,从而可以在确定特征点检测方式的基础上得到对应的待检测特征点,根据待检测特征点得到人脸特征点坐标,实现准确地人脸特征点检测。
[0141]
在一个实施例中,检测模块还用于根据已训练的人脸平均模型对待处理图像进行特征点检测,得到3d人脸平均参数,并根据已训练的人脸特征点检测模型对待处理图像进行特征点检测,得到3d人脸参数,已训练的人脸平均模型通过训练初始主动形状模型得到。
[0142]
在一个实施例中,映射模块还用于根据3d人脸参数,对3d人脸平均参数进行筛选,得到目标3d人脸平均参数,目标3d人脸平均参数与3d人脸参数表征相同人脸特征,计算3d人脸参数与目标3d人脸平均参数之间的移动向量,并获取第一表达式和第二表达式,第一表达式为描述3d人脸参数、目标3d人脸平均参数以及人脸旋转角度之间对应关系的等式,第二表达式为描述3d人脸参数、移动向量以及2d人脸参数的对应关系的等式,根据3d人脸参数、移动向量、第一表达式以及第二表达式,得到2d人脸参数。
[0143]
在一个实施例中,计算模块还用于获取与2d人脸参数对应的当前2d特征参数,计算当前2d特征参数与2d人脸参数中各对应特征点的特征差值,并获取第三表达式,第三表达式为描述特征差值与旋转角度变化量的对应关系的等式,根据特征差值以及第三表达式,计算旋转角度变化量,并获取与待处理图像对应的上一时刻人脸旋转角度,根据旋转角度变化量和上一时刻人脸旋转角度,得到与待处理图像对应的人脸旋转角度。
[0144]
在一个实施例中,第一处理模块还用于根据人脸旋转角度确定头部姿态,根据头部姿态比对预设姿态-特征点检测方式对应关系,确定特征点检测方式。
[0145]
在一个实施例中,第二处理模块还用于根据待检测特征点进行特征数据查询,当查询到与待检测特征点对应的特征数据时,根据特征数据进行特征点跟踪,得到与待处理图像对应的人脸特征点坐标,当未查询到与待检测特征点对应的特征数据时,根据待检测特征点进行特征点检测,得到与待处理图像对应的人脸特征点坐标。
[0146]
在一个实施例中,第二处理模块还用于根据特征数据以及预设跟踪算法进行特征点跟踪,得到与待检测特征点对应的参数增量,根据特征数据和参数增量,计算与待检测特征点对应的特征点值,根据特征点值,得到与待处理图像对应的人脸特征点坐标。
[0147]
关于人脸特征点坐标获取装置的具体限定可以参见上文中对于人脸特征点坐标获取方法的限定,在此不再赘述。上述人脸特征点坐标获取装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
[0148]
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图8所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储待处理图像、特征数据等。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种人脸特征点坐标获取方法。
[0149]
本领域技术人员可以理解,图8中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0150]
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有
计算机程序,该处理器执行计算机程序时实现以下步骤:
[0151]
获取待处理图像;
[0152]
对待处理图像进行特征点检测,得到3d人脸平均参数以及3d人脸参数;
[0153]
根据3d人脸平均参数对3d人脸参数进行特征点映射,得到2d人脸参数;
[0154]
根据2d人脸参数,计算与待处理图像对应的人脸旋转角度;
[0155]
根据人脸旋转角度确定特征点检测方式,根据特征点检测方式以及预设特征点检测方式-待检测特征点对应关系,确定对应的待检测特征点;
[0156]
根据待检测特征点,得到与待处理图像对应的人脸特征点坐标。
[0157]
上述人脸特征点坐标获取计算机设备,对待处理图像进行特征点检测,得到3d人脸平均参数以及3d人脸参数,根据3d人脸平均参数对3d人脸参数进行特征点映射,得到2d人脸参数,根据2d人脸参数,计算与待处理图像对应的人脸旋转角度,根据人脸旋转角度确定特征点检测方式,根据特征点检测方式以及预设特征点检测方式-待检测特征点对应关系,确定对应的待检测特征点,根据待检测特征点,得到与待处理图像对应的人脸特征点坐标。整个过程,能够通过对待处理图像的分析,实现对头部姿态的估计,得到准确的人脸旋转角度,进而利用人脸旋转角度可以实现对特征点检测方式的确定,从而可以在确定特征点检测方式的基础上得到对应的待检测特征点,根据待检测特征点得到人脸特征点坐标,实现准确地人脸特征点检测。
[0158]
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
[0159]
根据已训练的人脸平均模型对待处理图像进行特征点检测,得到3d人脸平均参数,并根据已训练的人脸特征点检测模型对待处理图像进行特征点检测,得到3d人脸参数,已训练的人脸平均模型通过训练初始主动形状模型得到。
[0160]
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
[0161]
根据3d人脸参数,对3d人脸平均参数进行筛选,得到目标3d人脸平均参数,目标3d人脸平均参数与3d人脸参数表征相同人脸特征;
[0162]
计算3d人脸参数与目标3d人脸平均参数之间的移动向量,并获取第一表达式和第二表达式,第一表达式为描述3d人脸参数、目标3d人脸平均参数以及人脸旋转角度之间对应关系的等式,第二表达式为描述3d人脸参数、移动向量以及2d人脸参数的对应关系的等式;
[0163]
根据3d人脸参数、移动向量、第一表达式以及第二表达式,得到2d人脸参数。
[0164]
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
[0165]
获取与2d人脸参数对应的当前2d特征参数;
[0166]
计算当前2d特征参数与2d人脸参数中各对应特征点的特征差值,并获取第三表达式,第三表达式为描述特征差值与旋转角度变化量的对应关系的等式;
[0167]
根据特征差值以及第三表达式,计算旋转角度变化量,并获取与待处理图像对应的上一时刻人脸旋转角度;
[0168]
根据旋转角度变化量和上一时刻人脸旋转角度,得到与待处理图像对应的人脸旋转角度。
[0169]
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
[0170]
根据人脸旋转角度确定头部姿态;
[0171]
根据头部姿态比对预设姿态-特征点检测方式对应关系,确定特征点检测方式。
[0172]
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
[0173]
根据待检测特征点进行特征数据查询;
[0174]
当查询到与待检测特征点对应的特征数据时,根据特征数据进行特征点跟踪,得到与待处理图像对应的人脸特征点坐标;
[0175]
当未查询到与待检测特征点对应的特征数据时,根据待检测特征点进行特征点检测,得到与待处理图像对应的人脸特征点坐标。
[0176]
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
[0177]
根据特征数据以及预设跟踪算法进行特征点跟踪,得到与待检测特征点对应的参数增量;
[0178]
根据特征数据和参数增量,计算与待检测特征点对应的特征点值;
[0179]
根据特征点值,得到与待处理图像对应的人脸特征点坐标。
[0180]
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
[0181]
获取待处理图像;
[0182]
对待处理图像进行特征点检测,得到3d人脸平均参数以及3d人脸参数;
[0183]
根据3d人脸平均参数对3d人脸参数进行特征点映射,得到2d人脸参数;
[0184]
根据2d人脸参数,计算与待处理图像对应的人脸旋转角度;
[0185]
根据人脸旋转角度确定特征点检测方式,根据特征点检测方式以及预设特征点检测方式-待检测特征点对应关系,确定对应的待检测特征点;
[0186]
根据待检测特征点,得到与待处理图像对应的人脸特征点坐标。
[0187]
上述人脸特征点坐标获取存储介质,对待处理图像进行特征点检测,得到3d人脸平均参数以及3d人脸参数,根据3d人脸平均参数对3d人脸参数进行特征点映射,得到2d人脸参数,根据2d人脸参数,计算与待处理图像对应的人脸旋转角度,根据人脸旋转角度确定特征点检测方式,根据特征点检测方式以及预设特征点检测方式-待检测特征点对应关系,确定对应的待检测特征点,根据待检测特征点,得到与待处理图像对应的人脸特征点坐标。整个过程,能够通过对待处理图像的分析,实现对头部姿态的估计,得到准确的人脸旋转角度,进而利用人脸旋转角度可以实现对特征点检测方式的确定,从而可以在确定特征点检测方式的基础上得到对应的待检测特征点,根据待检测特征点得到人脸特征点坐标,实现准确地人脸特征点检测。
[0188]
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
[0189]
根据已训练的人脸平均模型对待处理图像进行特征点检测,得到3d人脸平均参数,并根据已训练的人脸特征点检测模型对待处理图像进行特征点检测,得到3d人脸参数,已训练的人脸平均模型通过训练初始主动形状模型得到。
[0190]
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
[0191]
根据3d人脸参数,对3d人脸平均参数进行筛选,得到目标3d人脸平均参数,目标3d人脸平均参数与3d人脸参数表征相同人脸特征;
[0192]
计算3d人脸参数与目标3d人脸平均参数之间的移动向量,并获取第一表达式和第二表达式,第一表达式为描述3d人脸参数、目标3d人脸平均参数以及人脸旋转角度之间对
应关系的等式,第二表达式为描述3d人脸参数、移动向量以及2d人脸参数的对应关系的等式;
[0193]
根据3d人脸参数、移动向量、第一表达式以及第二表达式,得到2d人脸参数。
[0194]
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
[0195]
获取与2d人脸参数对应的当前2d特征参数;
[0196]
计算当前2d特征参数与2d人脸参数中各对应特征点的特征差值,并获取第三表达式,第三表达式为描述特征差值与旋转角度变化量的对应关系的等式;
[0197]
根据特征差值以及第三表达式,计算旋转角度变化量,并获取与待处理图像对应的上一时刻人脸旋转角度;
[0198]
根据旋转角度变化量和上一时刻人脸旋转角度,得到与待处理图像对应的人脸旋转角度。
[0199]
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
[0200]
根据人脸旋转角度确定头部姿态;
[0201]
根据头部姿态比对预设姿态-特征点检测方式对应关系,确定特征点检测方式。
[0202]
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
[0203]
根据待检测特征点进行特征数据查询;
[0204]
当查询到与待检测特征点对应的特征数据时,根据特征数据进行特征点跟踪,得到与待处理图像对应的人脸特征点坐标;
[0205]
当未查询到与待检测特征点对应的特征数据时,根据待检测特征点进行特征点检测,得到与待处理图像对应的人脸特征点坐标。
[0206]
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
[0207]
根据特征数据以及预设跟踪算法进行特征点跟踪,得到与待检测特征点对应的参数增量;
[0208]
根据特征数据和参数增量,计算与待检测特征点对应的特征点值;
[0209]
根据特征点值,得到与待处理图像对应的人脸特征点坐标。
[0210]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(read-only memory,rom)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(random access memory,ram)或外部高速缓冲存储器。作为说明而非局限,ram可以是多种形式,比如静态随机存取存储器(static random access memory,sram)或动态随机存取存储器(dynamic random access memory,dram)等。
[0211]
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0212]
以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来
说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术专利的保护范围应以所附权利要求为准。
再多了解一些

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

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

相关文献