脸型对比方法、装置、设备及存储介质与流程

文档序号:31709114发布日期:2022-10-04 15:39阅读:65来源:国知局
脸型对比方法、装置、设备及存储介质与流程

1.本技术属于图像处理技术领域,具体涉及一种脸型对比方法、装置、设备及存储介质。


背景技术:

2.脸型对比技术主要用于人脸轮廓的相似性识别,通过脸型对比能够识别出两个脸型之间的相似度。
3.目前,相关技术中提供了一种人脸相似度识别方案,首先分别提取两个人脸图像的人脸特征,计算两个人脸图像对应的人脸特征之间的欧式距离或余弦距离等。通过计算的欧式距离或余弦距离的大小来判断两个人脸图像之间的相似性,欧式距离或余弦距离越小,两个人脸图像之间的相似度越高。
4.但上述相关技术中的人脸特征中除包含脸型的特征以外,还包括眼睛、鼻子、嘴巴等部位的特征,对于脸型相似度对比来说,这些部位的特征引入了很多干扰因素,导致相似度很高的两个人脸图像的脸型可能相似性不高,脸型对比的准确性很低。


技术实现要素:

5.本技术提出一种脸型对比方法、装置、设备及存储介质,依靠脸型关键点进行脸型对比,避免其他部位特征造成的干扰,确保对比准确性。对比前先将两个脸型调整到具有相同的面部信息,在具有相同面部信息的前提下对比脸型,避免不同面部信息形成的干扰,提高对比精度。
6.本技术第一方面实施例提出了一种脸型对比方法,包括:
7.从用户脸型图像中获取位于脸部轮廓上的第一脸型关键点,从目标脸型图像中获取位于脸部轮廓上的第二脸型关键点;
8.根据所述第一脸型关键点和所述第二脸型关键点,将所述用户脸型图像中的第一脸型区域和所述目标脸型图像中的第二脸型区域调整至具有相同的面部信息;
9.根据具有相同的面部信息的所述第一脸型区域和所述第二脸型区域,计算所述用户脸型图像与所述目标脸型图像之间的脸型交并比。
10.在本技术的一些实施例中,所述根据所述第一脸型关键点和所述第二脸型关键点,将所述用户脸型图像中的第一脸型区域和所述目标脸型图像中的第二脸型区域调整至具有相同的面部信息,包括:
11.将所述用户脸型图像中所述第一脸型关键点围成的区域确定为第一脸型区域;
12.将所述目标脸型图像中所述第二脸型关键点围成的区域确定为第二脸型区域;
13.将所述第一脸型区域和所述第二脸型区域调整至具有相同的面部信息,所述面部信息包括面积、质心坐标和姿态角度中的至少一种。
14.在本技术的一些实施例中,所述面部信息包括面积、质心坐标和姿态角度;所述将所述第一脸型区域和所述第二脸型区域调整至具有相同的面部信息,包括:
15.根据所述第一脸型关键点和所述第二脸型关键点,将所述用户脸型图像中第一脸型区域的面积调整成与所述目标脸型图像中第二脸型区域的面积相同;
16.根据面积调整后的所述第一脸型关键点和所述第二脸型关键点,调整所述第一脸型区域的质心与所述第二脸型区域的质心重合;
17.根据质心调整后的所述第一脸型关键点、所述第二脸型关键点和质心坐标,将所述第一脸型区域旋转至与所述第二脸型区域的姿态角度相同。
18.在本技术的一些实施例中,所述根据所述第一脸型关键点和所述第二脸型关键点,将所述用户脸型图像中第一脸型区域的面积调整成与所述目标脸型图像中第二脸型区域的面积相同,包括:
19.根据所述第一脸型关键点,计算所述用户脸型图像中第一脸型区域的第一面积;根据所述第二脸型关键点计算所述目标脸型图像中第二脸型区域的第二面积;
20.根据所述第一面积和所述第二面积,计算缩放因子;
21.利用所述缩放因子将所述第一面积缩放至与所述第二面积相同。
22.在本技术的一些实施例中,所述利用所述缩放因子将所述第一面积缩放至与所述第二面积相同,包括:
23.将所述第一脸型关键点的坐标转换为预设坐标系下的坐标;
24.根据所述缩放因子,对坐标系转换后所述第一脸型关键点的坐标进行缩放处理,缩放处理后所述第一脸型区域的第一面积与所述第二脸型区域的第二面积相同;
25.将缩放处理后的所述第一脸型关键点的坐标还原至原始坐标系下的坐标。
26.在本技术的一些实施例中,所述根据面积调整后的所述第一脸型关键点和所述第二脸型关键点,调整所述第一脸型区域的质心与所述第二脸型区域的质心重合,包括:
27.根据面积调整后的所述第一脸型关键点,计算所述第一脸型区域的质心坐标;根据面积调整后的所述第二脸型关键点,计算所述第二脸型区域的质心坐标;
28.计算将所述第一脸型区域的质心坐标移动至所述第二脸型区域的质心坐标所需的拉伸距离;
29.根据所述拉伸距离,移动面积调整后的所述第一脸型关键点及所述第一脸型区域的质心坐标,使面积调整后的所述第一脸型关键点与所述第二脸型关键点重合,及使所述第一脸型区域的质心坐标与所述第二脸型区域的质心坐标重合。
30.在本技术的一些实施例中,所述根据质心调整后的所述第一脸型关键点、所述第二脸型关键点和质心坐标,将所述第一脸型区域旋转至与所述第二脸型区域的姿态角度相同,包括:
31.根据质心调整后的所述第一脸型关键点,确定所述第一脸型区域对应的第一倾斜角度;根据质心调整后的所述第二脸型关键点,确定所述第二脸型区域对应的第二倾斜角度;
32.根据所述第一倾斜角度和所述第二倾斜角度,确定所述第一脸型区域对应的旋转角度;
33.根据所述旋转角度和质心调整后所述第一脸型区域的质心坐标,旋转所述第一脸型区域,使所述第一脸型区域的姿态角度与所述第二脸型区域的姿态角度相同。
34.在本技术的一些实施例中,根据所述旋转角度和质心调整后所述第一脸型区域的
质心坐标,旋转所述第一脸型区域,包括:
35.根据所述旋转角度和质心调整后所述第一脸型区域的质心坐标,构建所述第一脸型区域对应的旋转矩阵;
36.根据所述第一脸型区域中的像素分布,构建所述第一脸型区域对应的脸型矩阵;
37.计算所述脸型矩阵与所述旋转矩阵的乘积,得到旋转后的第一脸型区域的图像矩阵。
38.在本技术的一些实施例中,所述根据具有相同的面部信息的所述第一脸型区域和所述第二脸型区域,计算所述用户脸型图像与所述目标脸型图像之间的脸型交并比,包括:
39.分别获取具有相同的面部信息的所述第一脸型区域所占的第一像素区域和所述第二脸型区域所占的第二像素区域;
40.确定所述第一像素区域与所述第二像素区域的交集;
41.确定所述第一像素区域与所述第二像素区域的并集;
42.计算所述交集与所述并集之间的比值,将所述比值确定为所述用户脸型图像与所述目标脸型图像之间的脸型交并比。
43.在本技术的一些实施例中,所述方法还包括:
44.从目标脸型库中获取与所述用户脸型图像之间的脸型交并比最大的目标脸型图像;
45.将所述用户脸型图像中的脸型调节为所述脸型交并比最大的目标脸型图像的脸型。
46.本技术第二方面的实施例提供了一种脸型对比装置,包括:
47.关键点获取模块,用于从用户脸型图像中获取位于脸部轮廓上的第一脸型关键点,从目标脸型图像中获取位于脸部轮廓上的第二脸型关键点;
48.面部信息调整模块,用于根据所述第一脸型关键点和所述第二脸型关键点,将所述用户脸型图像中的第一脸型区域和所述目标脸型图像中的第二脸型区域调整至具有相同的面部信息;
49.交并比计算模块,用于根据具有相同的面部信息的所述第一脸型区域和所述第二脸型区域,计算所述用户脸型图像与所述目标脸型图像之间的脸型交并比。
50.本技术第三方面的实施例提供了一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器运行所述计算机程序以实现上述第一方面所述的方法。
51.本技术第四方面的实施例提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行实现上述第一方面所述的方法。
52.本技术实施例中提供的技术方案,至少具有如下技术效果或优点:
53.在本技术实施例中,从用户脸型图像和目标脸型图像中提取出脸型关键点,依靠脸型关键点来计算用户脸型和目标脸型之间的脸型区域的交并比,避免脸部其他部位的特征对脸型对比的干扰,确保脸型对比的准确性。在计算用户脸型与目标脸型的脸型交并比之前,先将两个脸型调整到具有相同的面部信息,相同的面部信息包括相同的面积、相同的质心坐标和相同的姿态角度中的一种或多种的组合。如此能够确保两个脸型在具有相同的面部信息的前提下进行对比,避免不同的面部信息对脸型对比的干扰,大大提高脸型相似
性对比的精度。
54.本技术附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变的明显,或通过本技术的实践了解到。
附图说明
55.通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本技术的限制。而且在整个附图中,用相同的参考符号表示相同的部件。
56.在附图中:
57.图1示出了本技术一实施例所提供的一种脸型对比方法的流程图;
58.图2示出了本技术一实施例所提供的人脸关键点的示意图;
59.图3示出了本技术一实施例所提供的第一脸型区域的示意图;
60.图4示出了本技术一实施例所提供的一种脸型对比方法的另一流程图;
61.图5示出了本技术一实施例所提供的一种脸型对比装置的结构示意图;
62.图6示出了本技术一实施例所提供的一种电子设备的结构示意图;
63.图7示出了本技术一实施例所提供的一种存储介质的示意图。
具体实施方式
64.下面将参照附图更详细地描述本技术的示例性实施方式。虽然附图中显示了本技术的示例性实施方式,然而应当理解,可以以各种形式实现本技术而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了能够更透彻地理解本技术,并且能够将本技术的范围完整的传达给本领域的技术人员。
65.需要注意的是,除非另有说明,本技术使用的技术术语或者科学术语应当为本技术所属领域技术人员所理解的通常意义。
66.下面结合附图来描述根据本技术实施例提出的一种脸型对比方法、装置、设备及存储介质。
67.目前传统的脸型对比方式是计算两个人脸图像中的人脸特征之间的欧式距离或余弦距离等。通过欧式距离或余弦距离的大小来判断两个人脸图像之间的相似性,欧式距离或余弦距离越小,两个人脸图像之间的相似度越高。但所采用的人脸特征中除脸型特征以外,还包括眼睛、鼻子、嘴巴等部位的特征,引入了很多与脸型无关的干扰特征,使得脸型对比的准确性很低。
68.基于传统的脸型对比方式存在的问题,本技术实施例提供了一种脸型对比方法,该方法使用单一的脸型特征来进行脸型对比,避免脸部其他部位的特征对脸型对比的干扰,确保脸型对比的准确性。该方法在比较两个脸型的相似性的过程中,将两个脸型调整到具有相同的面部信息,在本技术实施例中相同的面部信息包括相同的面积、相同的质心坐标和相同的姿态角度。如此能够确保两个脸型在具有相同的面部信息的前提下进行对比,避免不同的面部信息对脸型对比的干扰,大大提高脸型相似性对比的精度。
69.参见图1,该方法具体包括以下步骤:
70.步骤101:从用户脸型图像中获取位于脸部轮廓上的第一脸型关键点,从目标脸型
图像中获取位于脸部轮廓上的第二脸型关键点。
71.本技术实施例的执行主体为用于进行脸型对比的终端或服务器等设备。当需要进行脸型对比时,该设备接收用户提交的用户脸型图像和目标脸型图像,通过本技术实施例提供的方法计算用户脸型图像与目标脸型图像之间的相似度。其中,用户脸型图像可以为用户通过与该设备连接的拍摄装置拍摄的自己的脸型图像,或者用户脸型图像可以为用户从设备本地存储的脸型图像中选择的图像,或者还可以为用户从网络下载的脸型图像。
72.目标脸型图像可以为用户自己提交的或者从网络下载的脸型图像。或者,目标脸型图像还可以为该设备对应的目标脸型库中存储的脸型图像。目标脸型库可以设置在该设备本地,也可以存储在云端,该设备可以通过网络从云端获取该目标脸型库。目标脸型库中存储有大量目标脸型图像,这些目标脸型图像涵盖了方脸、圆脸、瓜子脸、鹅蛋脸等各种脸型。目标脸型图像均为已与标准脸对齐的图像。其中,标准脸又称为平均脸,标准脸中的两眼、鼻尖、嘴角、眉毛等部位的位置,均是通过统计海量的人脸图像,对海量的人脸图像中这些部位的位置进行平均处理得到的。通过仿射变换能够将原始的目标脸型图像与标准脸对齐,对齐之后相当于使目标脸型图像中两眼、鼻尖、嘴角、眉毛等部位的位置与标准脸中这些部位的位置相同。
73.该设备获得用户脸型图像和目标脸型图像之后,首先确定用户脸型图像和目标脸型图是否已与标准脸对齐,若未对齐,则先通过仿射变换将未对齐的图像与标准脸对齐。
74.获得均与标准脸对齐的目标脸型图像和用户脸型图像之后,该设备首先对用户脸型图像进行人脸检测,识别脸部的各个人脸关键点,并对每个人脸关键点进行编号。识别出的人脸关键点包括脸部轮廓、眉毛、眼睛、鼻子、嘴巴等部位处的人脸关键点,识别出的人脸关键点的数目可以为67或96等。如图2所示为人脸关键点检测的示意图,在图2中脸部轮廓上具有标号为0、1、
……
、15、16共17个脸型关键点。图2仅作为一个示例,实际应用中识别出任意数目的人脸关键点及脸型关键点。
75.通过上述方式分别识别出用户脸型图像和目标脸型图像中的人脸关键点之后,从用户脸型图像中获取位于脸部轮廓上的所有脸型关键点。以及,从目标脸型图像中获取位于脸部轮廓上的所有脸型关键点。为了方便区分,本技术实施例将获取的用户脸型图像中的所有脸型关键点均称为第一脸型关键点,将获取的目标脸型图像中的所有脸型关键点均称为第二脸型关键点。
76.步骤102:根据第一脸型关键点和第二脸型关键点,将用户脸型图像中的第一脸型区域和目标脸型图像中的第二脸型区域调整至具有相同的面部信息。
77.相同的面部信息包括相同的面积、相同的质心坐标和相同的姿态角度中的至少一种。首先,将用户脸型图像中第一脸型关键点围成的区域确定为第一脸型区域。将目标脸型图像中第二脸型关键点围成的区域确定为第二脸型区域。然后将第一脸型区域和第二脸型区域调整至具有相同的面部信息。
78.本技术实施例中针对相同的面部信息包含相同的面积、相同的质心坐标和相同的姿态角度的情况进行详细说明。具体通过如下步骤s1-s3的操作来将用户脸型图像中的第一脸型区域与目标脸型图像中的第二脸型区域调整至具有相同的面部信息。
79.s1:根据第一脸型关键点和第二脸型关键点,将用户脸型图像中第一脸型区域的面积调整成与目标脸型图像中第二脸型区域的面积相同。
80.由于用户脸型图像与目标脸型图像的缩放尺度可能不同,不同的缩放尺度会降低脸型对比的准确性。因此需要将用户脸型图像的缩放尺度调整成与目标脸型图像的缩放尺度相同,二者缩放尺度相同时二者的面积也相同。
81.首先,根据用户脸型图像中的第一脸型关键点,计算用户脸型图像中第一脸型区域的第一面积。具体地,将所有第一脸型关键点依次连线,得到由轮廓弧线和连接左右脸轮廓上最上端的两个第一脸型关键点的弦围成的第一脸型区域,计算第一脸型区域的区域总面积。如图3所示,所有的第一脸型关键点所围成的区域即为第一脸型区域。本技术实施例中可以统计第一脸型区域中的像素总数目,将统计的像素总数目作为第一脸型区域对应的第一面积。按照同样的方式,根据目标脸型图像中的第二脸型关键点,计算目标脸型图像中第二脸型区域的第二面积。
82.然后根据计算的第一面积和第二面积,计算用于对用户脸型图像中的第一脸型区域进行缩放的缩放因子。在计算缩放因子之前,先比较第一面积与第二面积的大小,若第一面积小于第二面积,则通过公式(1)计算缩放因子。若第一面积大于第二面积,则通过公式(2)计算缩放因子。若第一面积与第二面积相等,则表明用户脸型图像中的第一脸型区域与目标脸型图像中的第二脸型区域处于相同的缩放尺度下,无需进行步骤s1的操作。
[0083][0084][0085]
在公式(1)和(2)中,sa为用户脸型图像中的第一脸型区域对应的第一面积,sb为目标脸型图像中第二脸型区域对应的第二面积,scale为缩放因子。
[0086]
利用上述计算的缩放因子将用户脸型区域对应的第一面积缩放至与目标脸型区域对应的第二面积相同。由于第一面积是第一脸型关键点的连线围成的区域的面积,因此只要利用该缩放因子对每个第一脸型关键点进行缩放平移,缩放平移后的第一脸型关键点围成的区域的大小发生改变,从而实现了对用户脸型区域对应的第一面积的缩放。在具体缩放过程中,先通过如下公式(3)将第一脸型关键点的坐标转换为预设坐标系下的坐标,预设坐标系可以为以用户脸型图像中的第一脸型区域的中心点为坐标原点建立的中心坐标系,或者可以为以目标脸型图像中第二脸型区域的中心点为坐标原点建立的中心坐标系,或者预设坐标系可以为以用户脸型图像或目标脸型图像中的其他坐标点为原点建立的坐标系。
[0087]
pa_center=p
a-n/2

(3)
[0088]
在公式(3)中,pa_center为第一脸型关键点从原始坐标系转为预设坐标系后的坐标,pa为第一脸型关键点在原始坐标系中的坐标。用户脸型图像的尺寸为n*n,如若用户脸型图像的尺寸为256*256,则上述公式(3)为pa_center=p
a-128。
[0089]
将每个第一脸型关键点都转换到预设坐标系中后,根据缩放因子,对坐标系转换后的每个第一脸型关键点的坐标进行缩放处理。若用户脸型图像对应的第一面积小于目标脸型图像对应的第二面积,则采用上述公式(1)计算的缩放因子进行缩放。若第一面积大于第二面积,则采用上述公式(2)计算的缩放因子进行缩放。具体通过如下公式(4)来计算缩
放后的第一脸型关键点的坐标。
[0090]
p
′a_center=pa_center*scale

(4)
[0091]
在公式(4)中,p
′a_center为第一脸型关键点缩放后的坐标。
[0092]
最后通过公式(5)将缩放处理后的第一脸型关键点的坐标还原至原始坐标系下的坐标,还原后第一脸型关键点围成的第一脸型区域的第一面积与目标脸型图像中第二脸型区域的第二面积相同。
[0093]
pa_new=p
′a_center+n/2

(5)
[0094]
在公式(5)中,pa_new为缩放处理后第一脸型关键点在原始坐标系中的坐标。
[0095]
本技术实施例通过上述方式,保持目标脸型图像中第二脸型区域的面积不变,将用户脸型图像中的第一脸型区域的面积调整至与第二脸型区域的第二面积相同,从而将用户脸型图像的第一脸型区域和目标脸型图像的第二脸型区域放在同一缩放尺度下进行对比,减少因为缩放尺度不同导致的脸型对比的误差,提高脸型对比的准确性。
[0096]
在本技术的另一些实施例中,也可以保持用户脸型图像不变,而是将目标脸型图像中的第二脸型区域的第二面积调整至与用户脸型图像中的第一脸型区域的第一面积相同。具体地调整方式,与上述调整第一脸型区域的第一面积的方式相同,只要将上述调整过程中对第一脸型区域对应的第一脸型关键点的操作替换为对第二脸型区域的第二脸型关键点进行操作即可。
[0097]
s2:根据面积调整后的第一脸型关键点和第二脸型关键点,调整第一脸型区域的质心与第二脸型区域的质心重合。
[0098]
由于用户脸型图像中的第一脸型区域在图像中的位置可能与目标脸型图像中第二脸型区域中的位置不同,两张脸型处于不同位置会造成脸型对比的误差。为了消除脸型在图像中所处位置不同造成的误差,本技术实施例还将用户脸型图像中的第一脸型区域的质心与目标脸型图像中的第二脸型区域的质心进行重合,以将第一脸型区域和第二脸型区域摆放在图像中的相同位置处,以提高脸型对比的精度。
[0099]
具体地,根据面积调整后的第一脸型关键点,计算第一脸型区域的质心坐标;根据面积调整后的第二脸型关键点,计算第二脸型区域的质心坐标。具体通过公式(6)来计算质心坐标。
[0100][0101]
在公式(6)中,poa为第一脸型区域的质心坐标,pob为第二脸型区域的质心坐标。a为第一脸型关键点的总数目,b为第二脸型关键点的总数目,第一脸型关键点的总数目与第二脸型关键点的总数目相等,即a=b。pa_new为面积调整后第a个第一脸型关键点的坐标。pb为目标脸型图像对应的第b个第二脸型关键点的坐标。
[0102]
计算将第一脸型区域的质心坐标移动至第二脸型区域的质心坐标所需的拉伸距离,该拉伸距离即为第二脸型区域的质心坐标与第一脸型区域的质心坐标之间的差值,即(po
b-poa)。然后根据该拉伸距离,按照公式(7),将面积调整后的第一脸型关键点及第一脸型区域的质心坐标移动该拉伸距离,使面积调整后的第一脸型关键点与第二脸型关键点重
合,及使第一脸型区域的质心坐标与第二脸型区域的质心坐标重合。
[0103][0104]
在公式(7)中,p
xs
为质心重合后第一脸型关键点的坐标,p
xt
为质心重合后第二脸型关键点的坐标。
[0105]
质心相当于脸型区域的中心点,从公式(6)中可以看出第一脸型区域的质心坐标为所有第一脸型关键点的平均值,第二脸型区域的质心坐标为所有第二脸型关键点的平均值。要将第一脸型区域的质心与第二脸型区域的质心重合,通过上述方式将每个第一脸型关键点都移动到目标脸型图像中对应的每个第二脸型关键点,那么对移动后所有第一脸型关键点进行平均得到的质心坐标就与第二脸型区域的质心坐标重合了。也可以按照公式(7)直接将第一脸型区域的质心坐标移动上述拉伸距离,使第一脸型区域的质心坐标与第二脸型区域的质心坐标重合。
[0106]
本技术实施例通过上述方式,保持目标脸型图像中第二脸型区域的质心坐标不变,将用户脸型图像中第一脸型区域的质心坐标移动到第二脸型区域的质心坐标所在的位置处,使第一脸型区域的质心坐标与第二脸型区域的质心坐标重合,从而实现将第一脸型区域与第二脸型区域摆放在图像的相同位置处,避免两张脸型处于不同位置造成的脸型对比误差。
[0107]
在本技术的另一些实施例中,也可以保持用户脸型图像中第一脸型区域的质心坐标不变,而是将目标脸型图像中第二脸型区域的质心坐标调整至第一脸型区域的质心坐标所在的位置处。具体地调整方式,与上述步骤s2的方式相同,只要将上述调整过程中对第一脸型区域对应的第一脸型关键点的操作替换为对第二脸型区域的第二脸型关键点进行操作即可。
[0108]
s3:根据质心调整后的第一脸型关键点、第二脸型关键点和质心坐标,将第一脸型区域旋转至与第二脸型区域的姿态角度相同。
[0109]
由于用户脸型图像中的第一脸型区域在图像中的姿态角度可能与目标脸型图像中第二脸型区域的姿态角度不同,两张脸型朝向不同的角度会造成脸型对比的误差。为了消除姿态角度不同造成的误差,本技术实施例还将用户脸型图像中的第一脸型区域旋转至与目标脸型图像中第二脸型区域的姿态角度相同,以提高脸型对比的精度。
[0110]
首先,根据质心调整后的第一脸型关键点,确定第一脸型区域对应的第一倾斜角度。具体地,从所有第一脸型关键点中挑选位于左侧脸部轮廓上的一个第一脸型关键点以及位于右侧脸部轮廓上的一个第一脸型关键点,挑选的这两个第一脸型关键点可以为左右对称的两个第一脸型关键点。如图2中所示的第一脸型关键点中,可以挑选编号为0和16的两个关键点,或者挑选编号为1和15的两个关键点,或者挑选编号为3和14的两个关键点等。挑选出两个第一脸型关键点后,将这两个第一脸型关键点连线,该连线与水平线之间的夹角即为用户脸型图像中的第一脸型区域的第一倾斜角度。根据选取的两个第一脸型关键点的坐标,通过公式(8)来计算第一倾斜角度。
[0111][0112]
在公式(8)中,θj为倾斜角度,和为挑选的两个脸型关键点。例如,若挑选的两个脸型关键点为编号为0和16的点,则为为
[0113]
在计算用户脸型图像中第一脸型区域的第一倾斜角度时,将上述公式(8)中的i赋值为u,j赋值为user,将挑选出的两个第一脸型关键点代入上述公式(8)计算出用户脸型图像中第一脸型区域的第一倾斜角度。
[0114]
同样地,根据质心调整后的第二脸型关键点,按照上述方式确定第二脸型区域对应的第二倾斜角度。在计算第二倾斜角度时,将上述公式(8)中的i赋值为t,j赋值为target,将挑选出的两个第二脸型关键点代入上述公式(8)计算出目标脸型图像中第二脸型区域的第二倾斜角度。
[0115]
本步骤中要将用户脸型图像中的第一脸型区域旋转至与目标脸型图像中的第二脸型区域的姿态角度相同,因此需要确定第一脸型区域的旋转角度,该旋转角度不仅与第一脸型区域和第二脸型区域的倾斜角度相关,还与第一脸型区域和第二脸型区域对应的斜率有关。本步骤通过公式(9)来计算第一脸型区域对应的第一倾斜斜率和第二脸型区域对应的第二倾斜斜率。
[0116][0117]
在公式(9)中,k
user
为第一倾斜斜率,和为挑选的两个第一脸型关键点,如和k
target
为第二倾斜斜率,为第二倾斜斜率,和为挑选的两个第二脸型关键点,如和
[0118]
由于倾斜角与倾斜斜率之间存在关联关系,除上述公式(9)外,还可以通过倾斜角与倾斜斜率之间的换算关系k=tan a,来计算第一倾斜斜率和第二倾斜斜率。其中k为倾斜斜率,tan a为倾斜角的正切值。
[0119]
通过上述方式计算出第一脸型区域对应的第一倾斜角度和第一倾斜斜率,以及计算出第二脸型区域对应的第二倾斜角度和第二倾斜斜率后,根据第一倾斜角度、第二倾斜
角度、第一倾斜斜率和第二倾斜斜率,确定第一脸型区域对应的旋转角度。具体先通过如下公式(10)计算初步的旋转角度θ0,由于旋转的角度范围在180度以内,因此通过公式(11)对初始旋转角度θ0进行角度换算得到θ1,最后通过公式(12)引入旋转方向,最终得到第一脸型区域的旋转角度θ。
[0120][0121][0122][0123]
在公式(10)、(11)和(12)中,θ为第一脸型区域的旋转角度,θ
user
为第一倾斜角度,θ
target
为第二倾斜角度,k
user
为第一倾斜斜率,k
target
为第二倾斜斜率。θ0和θ1均为第一脸型区域的旋转角度的中间变量。
[0124]
通过上述方式获得第一脸型区域的旋转角度后,根据该旋转角度和质心调整后第一脸型区域的质心坐标,旋转第一脸型区域,使第一脸型区域的姿态角度与第二脸型区域的姿态角度相同。
[0125]
具体地,根据该旋转角度和质心调整后第一脸型区域的质心坐标,构建第一脸型区域对应的旋转矩阵。图像的旋转矩阵如公式(13)所示,
[0126][0127]
在公式(13)中,m为旋转矩阵,θ为旋转角度。
[0128]
本技术实施例可以利用公式(13)所示的旋转矩阵对第一脸型区域进行旋转,以使第一脸型区域的姿态角度与第二脸型区域的姿态角度相同。但公式(13)所示的旋转矩阵是用于在坐标原点处对图像进行旋转变换的,本技术实施例还可以利用在任意位置进行旋转变换的仿射变换矩阵m

,如公式(14)所示,
[0129][0130]
在公式(14)中,m

为仿射变换矩阵,α=scale*cosθ,β=scale*sinθ,scale为缩放因子,θ为旋转角度,(center
x
,centery)为图像的中心点坐标。
[0131]
将公式(14)所示的仿射变换矩阵应用到对第一脸型区域的旋转变换中,第一脸型区域的中心点坐标即为通过公式(6)计算出的质心坐标po(x,y),旋转角度θ为公式(12)得到的角度,通过步骤s1将第一脸型区域和第二脸型区域调整到相同的缩放尺度下之后,缩放因子scale为1。因此构建出的第一脸型区域对应的旋转矩阵如公式(15)所示,
[0132][0133]
本技术实施例还根据第一脸型区域中的像素分布,构建第一脸型区域对应的脸型
矩阵mask。第一脸型区域为所有第一脸型关键点所围成的区域,将第一脸型区域内的像素点的像素值均设为1,其他部分的像素值均设为0,即得到脸型矩阵mask。然后通过公式(16)计算脸型矩阵mask与上述构建的旋转矩阵的乘积,得到旋转后的第一脸型区域的图像矩阵。
[0134]
mask

=mask*m

(16)
[0135]
在公式(16)中,mask

为旋转后的第一脸型区域的图像矩阵,mask为第一脸型区域对应的脸型矩阵,m为第一脸型区域对应的旋转矩阵。
[0136]
通过上述方式保持目标脸型图像中的第二脸型区域的姿态角度不变,旋转用户脸型图像中的第一脸型区域,使第一脸型区域的姿态角度与第二脸型区域的姿态角度相同,从而消除二者姿态角度不同造成的脸型对比误差。
[0137]
在本技术的另一些实施例中,也可以保持用户脸型图像中第一脸型区域的姿态角度不变,而是旋转目标脸型图像中的第二脸型区域,从而使二者的姿态角度相同。具体地调整方式,与上述步骤s3的方式相同,只要将上述调整过程中对第一脸型区域的旋转操作替换为对第二脸型区域进行旋转操作即可。
[0138]
步骤103:根据具有相同的面部信息的第一脸型区域和第二脸型区域,计算用户脸型图像与目标脸型图像之间的脸型交并比。
[0139]
通过上述步骤102的操作将用户脸型图像中的第一脸型区域调整成与目标脸型图像中的第二脸型区域具有相同的面积,处于相同的位置处,且姿态角度相同,确保了二者具有相同的面部信息。然后计算具有相同的面部信息的用户脸型图像与目标脸型图像之间的脸型交并比。
[0140]
首先分别获取具有相同的面部信息的第一脸型区域所占的第一像素区域和第二脸型区域所占的第二像素区域。确定第一像素区域与第二像素区域的交集,以及确定第一像素区域与第二像素区域的并集。然后计算该交集与并集之间的比值,将该比值确定为用户脸型图像与目标脸型图像之间的脸型交并比。具体可以通过公式(17)来计算脸型交并比,计算出的脸型交并比越大,表明用户脸型图像中的脸型与目标脸型图像中的脸型越相似。
[0141][0142]
在公式(17)中,iou为脸型交并比,s
user
为第一脸型区域所占的第一像素区域,s
target
为第二脸型区域所占的第二像素区域。
[0143]
由于计算用户脸型图像与目标脸型图像之间的脸型交并比之前,先将用户脸型图像中的第一脸型区域调整成与目标脸型图像中的第二脸型区域具有相同的面积,处于相同的位置处,且姿态角度相同,使二者具有相同的面部信息,最大程度的减少了因面积、位置、姿态角度不一致造成的误差,大大提高了脸型对比的准确性。
[0144]
为了便于理解本技术实施例提供的脸型对比方法,下面结合附图进行说明。如图4所示,获得目标脸型图像和用户脸型图像之后,分别将目标脸型图像和用户脸型图像与标准脸进行对齐,以及分别对用户脸型图像和目标脸型图像进行人脸关键点检测,获得用户脸型图像对应的第一脸型关键点和目标脸型图像对应的第二脸型关键点。然后根据第一脸型关键点和第二脸型关键点,将用户脸型图像中第一脸型区域和目标脸型图像中的第二脸
型区域的面积调整一致,将第一脸型区域和第二脸型区域的质心重合,以及旋转第一脸型区域使其姿态角度与第二脸型区域的姿态角度相同。最后根据第一脸型区域所占的第一像素区域和第二脸型区域所占的第二像素区域之间的交并比作为二者之间的脸型交并比。
[0145]
上述实施例中步骤102中相同的面部信息包括相同的面积、相同的位置处和相同的姿态角度三方面。在本技术的另一些实施例中,相同的面部信息也可以仅包括三方面中的一种或任意两种的组合,下面分别进行说明。
[0146]
在本技术的一些实施例中,步骤102中可以仅根据第一脸型关键点和第二脸型关键点,将用户脸型图像中第一脸型区域的面积调整成与目标脸型图像中第二脸型区域的面积相同,然后执行步骤103的操作来计算脸型交并比。将用户脸型图像和目标脸型图像调整到统一的缩放尺度下,能够减小脸型交并比的计算误差,提高脸型对比的准确性。
[0147]
在本技术的另一些实施例中,步骤102中可以仅根据第一脸型关键点和第二脸型关键点,调整第一脸型区域的质心与第二脸型区域的质心重合,然后执行步骤103的操作来计算脸型交并比。通过质心重合将用户脸型图像和目标脸型图像摆放到图像中相同的位置处,能够减小脸型交并比的计算误差,提高脸型对比的准确性。
[0148]
在本技术的另一些实施例中,步骤102中可以根据第一脸型关键点、第二脸型关键点和第一脸型区域的质心坐标,将第一脸型区域旋转至与第二脸型区域的姿态角度相同,然后执行步骤103的操作来计算脸型交并比。通过旋转操作使用户脸型图像和目标脸型图像中脸型朝向的姿态角度相同,能够减小脸型交并比的计算误差,提高脸型对比的准确性。
[0149]
在本技术的另一些实施例中,步骤102中可以根据第一脸型关键点和第二脸型关键点,将用户脸型图像中第一脸型区域的面积调整成与目标脸型图像中第二脸型区域的面积相同。然后根据面积调整后的第一脸型关键点和第二脸型关键点,调整第一脸型区域的质心与第二脸型区域的质心重合。再执行步骤103的操作来计算脸型交并比。将用户脸型图像和目标脸型图像调整到统一的缩放尺度下,然后通过质心重合将用户脸型图像和目标脸型图像摆放到图像中相同的位置处,能够减小脸型交并比的计算误差,提高脸型对比的准确性。
[0150]
在本技术的另一些实施例中,步骤102中可以根据第一脸型关键点和第二脸型关键点,将用户脸型图像中第一脸型区域的面积调整成与目标脸型图像中第二脸型区域的面积相同。然后根据面积调整后的第一脸型关键点、第二脸型关键点和第一脸型区域的质心坐标,将第一脸型区域旋转至与第二脸型区域的姿态角度相同。再执行步骤103的操作来计算脸型交并比。将用户脸型图像和目标脸型图像调整到统一的缩放尺度下,然后通过旋转操作使用户脸型图像和目标脸型图像中脸型朝向的姿态角度相同,能够减小脸型交并比的计算误差,提高脸型对比的准确性。
[0151]
在本技术的另一些实施例中,步骤102中可以根据第一脸型关键点和第二脸型关键点,调整第一脸型区域的质心与第二脸型区域的质心重合。然后根据面积调整后的第一脸型关键点、第二脸型关键点和第一脸型区域的质心坐标,将第一脸型区域旋转至与第二脸型区域的姿态角度相同。再执行步骤103的操作来计算脸型交并比。通过质心重合将用户脸型图像和目标脸型图像摆放到图像中相同的位置处,然后通过旋转操作使用户脸型图像和目标脸型图像中脸型朝向的姿态角度相同,能够减小脸型交并比的计算误差,提高脸型对比的准确性。
[0152]
本技术实施例提供的脸型对比方法可以应用于脸型变换场景中,由于人的五官是与脸型相适应的,若将用户的脸型变换成与其差距很大的脸型,则用户的五官与该差距很大的脸型组合在一起容易产生不自然的换脸效果。而若将用户的脸型变换成与其相似度较大的脸型,则换脸效果将非常自然。因此在换脸场景中可以先通过上述任一实施例的方式计算用户脸型图像与目标脸型库中的每个目标脸型图像之间的脸型交并比,然后从目标脸型库中获取出与用户脸型图像之间的脸型交并比最大的目标脸型图像,将用户脸型图像中的脸型调节为该脸型交并比最大的目标脸型图像的脸型。或者将该脸型交并比最大的目标脸型图像推荐给用户,以使用户选择与自己的脸型最相似的该目标脸型图像进行换脸操作,以获得更自然的换脸效果。
[0153]
在本技术实施例中,从用户脸型图像和目标脸型图像中提取出脸型关键点,依靠脸型关键点来计算用户脸型和目标脸型之间的脸型区域的交并比,避免脸部其他部位的特征对脸型对比的干扰,确保脸型对比的准确性。在计算用户脸型与目标脸型的脸型交并比之前,先将两个脸型调整到具有相同的面部信息,相同的面部信息包括相同的面积、相同的质心坐标和相同的姿态角度中的一种或多种的组合。如此能够确保两个脸型在具有相同的面部信息的其他下进行对比,避免不同的面部信息对脸型对比的干扰,大大提高脸型相似性对比的精度。
[0154]
本技术实施例还提供一种脸型对比装置,该装置用于执行上述任一实施例提供的脸型对比方法。参见图5,该装置包括:
[0155]
关键点获取模块501,用于从用户脸型图像中获取位于脸部轮廓上的第一脸型关键点,从目标脸型图像中获取位于脸部轮廓上的第二脸型关键点;
[0156]
面部信息调整模块502,用于根据第一脸型关键点和第二脸型关键点,将用户脸型图像中的第一脸型区域和目标脸型图像中的第二脸型区域调整至具有相同的面部信息;
[0157]
交并比计算模块503,用于根据具有相同的面部信息的第一脸型区域和第二脸型区域,计算用户脸型图像与目标脸型图像之间的脸型交并比。
[0158]
面部信息调整模块502,用于将用户脸型图像中第一脸型关键点围成的区域确定为第一脸型区域;将目标脸型图像中第二脸型关键点围成的区域确定为第二脸型区域;将第一脸型区域和第二脸型区域调整至具有相同的面部信息,面部信息包括面积、质心坐标和姿态角度中的至少一种。
[0159]
面部信息调整模块502,用于根据第一脸型关键点和第二脸型关键点,将用户脸型图像中第一脸型区域的面积调整成与目标脸型图像中第二脸型区域的面积相同;根据面积调整后的第一脸型关键点和第二脸型关键点,调整第一脸型区域的质心与第二脸型区域的质心重合;根据质心调整后的第一脸型关键点、第二脸型关键点和质心坐标,将第一脸型区域旋转至与第二脸型区域的姿态角度相同。
[0160]
面部信息调整模块502,用于根据第一脸型关键点,计算用户脸型图像中第一脸型区域的第一面积;根据第二脸型关键点计算目标脸型图像中第二脸型区域的第二面积;根据第一面积和第二面积,计算缩放因子;利用缩放因子将第一面积缩放至与第二面积相同。
[0161]
面部信息调整模块502,用于将第一脸型关键点的坐标转换为预设坐标系下的坐标;根据缩放因子,对坐标系转换后第一脸型关键点的坐标进行缩放处理,缩放处理后第一脸型区域的第一面积与第二脸型区域的第二面积相同;将缩放处理后的第一脸型关键点的
坐标还原至原始坐标系下的坐标。
[0162]
面部信息调整模块502,用于根据面积调整后的第一脸型关键点,计算第一脸型区域的质心坐标;根据面积调整后的第二脸型关键点,计算第二脸型区域的质心坐标;计算将第一脸型区域的质心坐标移动至第二脸型区域的质心坐标所需的拉伸距离;根据拉伸距离,移动面积调整后的第一脸型关键及第一脸型区域的质心坐标,使面积调整后的第一脸型关键点与第二脸型关键点重合,及使第一脸型区域的质心坐标与第二脸型区域的质心坐标重合。
[0163]
面部信息调整模块502,用于根据质心调整后的第一脸型关键点,确定第一脸型区域对应的第一倾斜角度;根据质心调整后的第二脸型关键点,确定第二脸型区域对应的第二倾斜角度;根据第一倾斜角度和第二倾斜角度,确定第一脸型区域对应的旋转角度;根据旋转角度和质心调整后第一脸型区域的质心坐标,旋转第一脸型区域,使第一脸型区域的姿态角度与第二脸型区域的姿态角度相同。
[0164]
面部信息调整模块502,用于根据旋转角度和质心调整后第一脸型区域的质心坐标,构建第一脸型区域对应的旋转矩阵;根据第一脸型区域中的像素分布,构建第一脸型区域对应的脸型矩阵;计算脸型矩阵与旋转矩阵的乘积,得到旋转后的第一脸型区域的图像矩阵。
[0165]
交并比计算模块503,用于分别获取具有相同的面部信息的第一脸型区域所占的第一像素区域和第二脸型区域所占的第二像素区域;确定第一像素区域与第二像素区域的交集;确定第一像素区域与第二像素区域的并集;计算交集与并集之间的比值,将比值确定为用户脸型图像与目标脸型图像之间的脸型交并比。
[0166]
该装置还包括:脸型变换模块,用于从目标脸型库中获取与用户脸型图像之间的脸型交并比最大的目标脸型图像;将用户脸型图像中的脸型调节为脸型交并比最大的目标脸型图像的脸型。
[0167]
本技术的上述实施例提供的脸型对比装置与本技术实施例提供的脸型对比方法出于相同的发明构思,具有与其存储的应用程序所采用、运行或实现的方法相同的有益效果。
[0168]
本技术实施方式还提供一种电子设备,以执行上述脸型对比方法。请参考图6,其示出了本技术的一些实施方式所提供的一种电子设备的示意图。如图6所示,电子设备6包括:处理器600,存储器601,总线602和通信接口603,所述处理器600、通信接口603和存储器601通过总线602连接;所述存储器601中存储有可在所述处理器600上运行的计算机程序,所述处理器600运行所述计算机程序时执行本技术前述任一实施方式所提供的脸型对比方法。
[0169]
其中,存储器601可能包含高速随机存取存储器(ram:random access memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口603(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网、广域网、本地网、城域网等。
[0170]
总线602可以是isa总线、pci总线或eisa总线等。所述总线可以分为地址总线、数据总线、控制总线等。其中,存储器601用于存储程序,所述处理器600在接收到执行指令后,执行所述程序,前述本技术实施例任一实施方式揭示的所述脸型对比方法可以应用于处理
器600中,或者由处理器600实现。
[0171]
处理器600可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器600中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器600可以是通用处理器,包括中央处理器(central processing unit,简称cpu)、网络处理器(network processor,简称np)等;还可以是数字信号处理器(dsp)、专用集成电路(asic)、现成可编程门阵列(fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本技术实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本技术实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器601,处理器600读取存储器601中的信息,结合其硬件完成上述方法的步骤。
[0172]
本技术实施例提供的电子设备与本技术实施例提供的脸型对比方法出于相同的发明构思,具有与其采用、运行或实现的方法相同的有益效果。
[0173]
本技术实施方式还提供一种与前述实施方式所提供的脸型对比方法对应的计算机可读存储介质,请参考图7,其示出的计算机可读存储介质为光盘30,其上存储有计算机程序(即程序产品),所述计算机程序在被处理器运行时,会执行前述任意实施方式所提供的脸型对比方法。
[0174]
需要说明的是,所述计算机可读存储介质的例子还可以包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他光学、磁性存储介质,在此不再一一赘述。
[0175]
本技术的上述实施例提供的计算机可读存储介质与本技术实施例提供的脸型对比方法出于相同的发明构思,具有与其存储的应用程序所采用、运行或实现的方法相同的有益效果。
[0176]
需要说明的是:
[0177]
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本技术的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的结构和技术,以便不模糊对本说明书的理解。
[0178]
类似地,应当理解,为了精简本技术并帮助理解各个发明方面中的一个或多个,在上面对本技术的示例性实施例的描述中,本技术的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下示意图:即所要求保护的本技术要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本技术的单独实施例。
[0179]
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本技术的
范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
[0180]
以上所述,仅为本技术较佳的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以所述权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1