图像处理方法及装置、电子设备和计算机可读存储介质
【技术领域】
本发明涉及图像处理技术领域,尤其涉及一种图像处理方法及装置、电子设备和计算机可读存储介质。
【背景技术】
随着科技发展,人脸变换功能逐渐走入人们的生活,多出现于移动终端的视频软件、图像软件等软件之中。比如,短视频APP、视频剪辑APP、人脸美颜APP中均可设置人脸变换功能,将图像a中的人脸b变换为图像c中的人脸d。
由于不同的图像大小不同,大小相同或不同的图像中人脸面积也具有差异。对此,可在人脸变换之前调整图像a和图像c的大小比例,使两者内的人脸面积差异降低至能够有效实现人脸变换的范围内。然后,将大小调整后的图像a和图像c的人脸图像的像素值叠加,生成过渡图像e,最终按照图像a→过渡图像e→图像c的顺序显示人脸变换过程。
然而,该方案增加了图像大小的调整步骤,同时也就增加了人脸变换的复杂程度,降低了人脸变换的效率,同时,两个图像简单叠加所得的过渡图像的图像质量低下,将其在两个图像之间进行展示会导致人脸变换的展示过程中出现虚影。以上问题均影响用户的观看体验。
因此,如何快捷、高效地进行人脸变换,成为目前亟待解决的技术问题。
【发明内容】
本发明实施例提供了一种图像处理方法及装置、电子设备和计算机可读存储介质,旨在解决相关技术中因人脸变换方式的局限性导致用户体验低下的技术问题。
第一方面,本发明实施例提供了一种图像处理方法,包括:获取第一图像中第一人脸的关键点集合,以及第二图像中第二人脸的关键点集合,所述第一人脸的关键点集合中的各关键点与所述第二人脸的关键点集合中的各关键点一一对应;基于所述第一人脸的人脸边缘点,确定所述第一人脸的外圈关键点,以及基于所述第二人脸的人脸边缘点,确定所述第二人脸的外圈关键点;以所述外圈关键点与自身所在图像中人脸指定点的连接线所在直线为移动轨道,将所述外圈关键点向远离所述人脸指定点的方向移动,使移动后所述外圈关键点与所述人脸指定点的距离与移动前所述外圈关键点与所述人脸指定点的距离的比值为目标比值,所述目标比值大于1;基于所述第一图像和所述第二图像的所述外圈关键点和所述关键点集合,分别对所述第一图像和所述第二图像进行三角化处理,得到第一网格图像和第二网格图像,所述第一网格图像和所述第二网格图像用于经仿射变换实现所述第一人脸与所述第二人脸间的人脸转换。
在本发明上述实施例中,可选地,所述基于所述第一人脸的人脸边缘点,确定所述第一人脸的外圈关键点,以及基于所述第二人脸的人脸边缘点,确定所述第二人脸的外圈关键点的步骤,包括:对于所述第一人脸和所述第二人脸,将其人脸边缘点复制为所述外圈关键点;或者在其人脸指定点和人脸边缘点的连接线的远离所述人脸指定点的延长线上进行插值,得到所述外圈关键点。
在本发明上述实施例中,可选地,所述第一人脸和所述第二人脸的所述外圈关键点的数量为多个,以及设置所述目标比值的方式包括:基于所述第一图像的对角线长度,以及所述第一图像中人脸指定点与所述外圈关键点的最小距离,确定第一比值;基于所述第二图像的对角线长度,以及所述第二图像中人脸指定点与所述外圈关键点的最小距离,确定第二比值;在所述第一比值和所述第二比值中选择最大值,作为所述目标比值。
在本发明上述实施例中,可选地,在所述第一图像/所述第二图像具有多个人脸的情况下,在所述多个人脸中选择所述第一人脸/所述第二人脸的方式包括:对于所述多个人脸中的每个人脸,对其人脸指定点与所在图像的图像中心点的距离、其人脸矩形框的面积以及其所述人脸矩形框中人脸图像以外的面积与所述人脸矩形框的比例进行加权,得到每个人脸的得分;在所述多个人脸中选择得分最高的人脸,作为所述第一人脸/所述第二人脸。
在本发明上述实施例中,可选地,所述获取第一图像中第一人脸的关键点集合,以及第二图像中第二人脸的关键点集合的步骤,包括:获取所述第一图像中所述第一人脸的初始关键点集合,以及所述第二图像中所述第二人脸的初始关键点集合;为所述初始关键点集合中的每个初始关键点确定以其所在图像的人脸指定点为中心的对称关键点;将所述每个初始关键点的所述对称关键点加入所述初始关键点集合,生成其所在图像的所述关键点集合。
在本发明上述实施例中,可选地,还包括:基于所述第一网格图像中的每个三角顶点和其在所述第二网格图像中对应的三角顶点的相对位置,确定每个过渡三角顶点的位置;基于所述第一网格图像中的每个三角顶点和每个三角网格的内部点,以及所述每个过渡三角顶点的位置,对所述第一网格图像进行仿射变换,得到所述第一网格图像与所述第二网格图像在人脸变换过程中的过渡图像。
在本发明上述实施例中,可选地,所述过渡图像的数量为多个,每个所述过渡图像显示于人脸变换过程中的指定时刻。
第二方面,本发明实施例提供了一种图像处理装置,包括:关键点集合获取单元,用于获取第一图像中第一人脸的关键点集合,以及第二图像中第二人脸的关键点集合,所述第一人脸的关键点集合中的各关键点与所述第二人脸的关键点集合中的各关键点一一对应;外圈关键点确定单元,用于基于所述第一人脸的人脸边缘点,确定所述第一人脸的外圈关键点,以及基于所述第二人脸的人脸边缘点,确定所述第二人脸的外圈关键点;外圈关键点移动单元,用于以所述外圈关键点与自身所在图像中人脸指定点的连接线所在直线为移动轨道,将所述外圈关键点向远离所述人脸指定点的方向移动,使移动后所述外圈关键点与所述人脸指定点的距离与移动前所述外圈关键点与所述人脸指定点的距离的比值为目标比值,所述目标比值大于1;三角化处理单元,用于基于所述第一图像和所述第二图像的所述外圈关键点和所述关键点集合,分别对所述第一图像和所述第二图像进行三角化处理,得到第一网格图像和第二网格图像,所述第一网格图像和所述第二网格图像用于经仿射变换实现所述第一人脸与所述第二人脸间的人脸转换。
在本发明上述实施例中,可选地,所述外圈关键点确定单元用于:对于所述第一人脸和所述第二人脸,将其人脸边缘点复制为所述外圈关键点;或者在其人脸指定点和人脸边缘点的连接线的远离所述人脸指定点的延长线上进行插值,得到所述外圈关键点。
在本发明上述实施例中,可选地,所述第一人脸和所述第二人脸的所述外圈关键点的数量为多个,以及所述图像处理装置还包括:目标比值设置单元,用于基于所述第一图像的对角线长度,以及第一图像中人脸指定点与所述外圈关键点的最小距离,确定第一比值;基于所述第二图像的对角线长度,以及所述第二图像中人脸指定点与所述外圈关键点的最小距离,确定第二比值;在所述第一比值和所述第二比值中选择最大值,作为所述目标比值。
在本发明上述实施例中,可选地,还包括:人脸选择单元,用于在所述第一图像/所述第二图像具有多个人脸的情况下,对于所述多个人脸中的每个人脸,对其人脸指定点与所在图像的图像中心点的距离、其人脸矩形框的面积以及其所述人脸矩形框中人脸图像以外的面积与所述人脸矩形框的比例进行加权,得到每个人脸的得分;在所述多个人脸中选择得分最高的人脸,作为所述第一人脸/所述第二人脸。
在本发明上述实施例中,可选地,所述关键点集合获取单元用于:获取所述第一图像中所述第一人脸的初始关键点集合,以及所述第二图像中所述第二人脸的初始关键点集合;为所述初始关键点集合中的每个初始关键点确定以其所在图像的人脸指定点为中心的对称关键点;将所述每个初始关键点的所述对称关键点加入所述初始关键点集合,生成其所在图像的所述关键点集合。
在本发明上述实施例中,可选地,还包括:过渡三角顶点确定单元,用于基于所述第一网格图像中的每个三角顶点和其在所述第二网格图像中对应的三角顶点的相对位置,确定每个过渡三角顶点的位置;过渡图像确定单元,用于基于所述第一网格图像中的每个三角顶点和每个三角网格的内部点,以及所述每个过渡三角顶点的位置,对所述第一网格图像进行仿射变换,得到所述第一网格图像与所述第二网格图像在人脸变换过程中的过渡图像。
在本发明上述实施例中,可选地,所述过渡图像的数量为多个,每个所述过渡图像显示于人脸变换过程中的指定时刻。
第三方面,本发明实施例提供了一种电子设备,包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被设置为用于执行上述第一方面中任一项所述的方法。
第四方面,本发明实施例提供了一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令用于执行上述第一方面中任一项所述的方法流程。
以上技术方案,针对相关技术中因人脸变换方式的局限性导致用户体验低下的技术问题,提出了一种新的人脸变换方式,以快捷、高效地进行人脸变换。
具体来说,首先,在需要对第一图像中的第一人脸和第二图像的第二人脸进行人脸变换的情况下,获取第一图像中第一人脸的关键点集合,以及第二图像中第二人脸的关键点集合。关键点集合用于在人脸变换过程中作为参照点集合,其包括人脸的多个关键点,一般地,可在人脸处随机选取多个关键点,也可定位眉毛、眼睛、鼻子、嘴巴、脸部轮廓等部位,在这些部位上选取关键点。其中,所述第一人脸的关键点集合中的各关键点与所述第二人脸的关键点集合中的各关键点一一对应,换言之,所述第一人脸的关键点集合与所述第二人脸的关键点集合具有相同的关键点数量,且所述第一人脸的关键点集合中每个关键点均在第二人脸的相对位置处具有对应的关键点。比如,在第一人脸上选取眼角关键点和鼻尖关键点,相应地,在第二人脸上也选取眼角关键点和鼻尖关键点。在第一人脸和第二人脸选取一一对应的关键点,有助于提升后续步骤中人脸变换的效果。
接着,基于第一人脸的人脸边缘点和第二人脸的人脸边缘点,分别确定所述第一人脸的外圈关键点和所述第二人脸的外圈关键点。外圈关键点基于人脸边缘点确定,有效反映了人脸的基础轮廓。
然后,以外圈关键点与其自身所在图像中人脸指定点的连接线所在直线为移动轨道,将其向远离所述人脸指定点的方向移动。人脸指定点为人为设定的或系统自动选定的人脸关键位置,包括但不限于人脸所在矩形框的中心点、人脸的鼻尖处的关键点等,用于作为外圈关键点移动的参照点。外圈关键点以自身和人脸指定点的连接线所在直线为移动轨道,向远离人脸指定点的方向移动,也就是说,外圈关键点的移动导致其示出的人脸轮廓增大。其中,移动后的所述外圈关键点与所述人脸指定点的距离与移动前的所述外圈关键点与所述人脸指定点的距离的比值为目标比值,所述目标比值大于1,换言之,外圈关键点通过移动使得自身与所述人脸指定点的距离增大了目标比值倍数。
由于图像中人脸位置是固定的,那么,以其人脸边缘点所确定的外圈关键点示出的人脸轮廓也是固定的,进一步,以人脸指定点为参照,所得的移动后的外圈关键点仍清楚反映了图像中的人脸轮廓。在人脸变换的依据中增加第一人脸和第二人脸的外圈关键点,可使得人脸变换过程更加真实有效地展示第一人脸至第二人脸的面部轮廓变化。
最终,基于所述第一图像和所述第二图像的所述外圈关键点和所述关键点集合,分别对所述第一图像和所述第二图像进行三角化处理,得到第一网格图像和第二网格图像。具体来说,第一图像的外圈关键点与第二图像的外圈关键点是一一对应的,第一图像的关键点集合中的各关键点与第二图像的关键点集合中的各关键点也是一一对应,而经三角化处理得到的网格图像是由移动后的外圈关键点和关键点集合中的关键点作为三角形顶点而生成的。由此,第一网格图像中的三角形和第二网格图像的三角形也是一一对应的,比如,第一网格图像中眼角关键点、鼻梁关键点和鼻尖关键点生成第一三角形,第二网格图像中眼角关键点、鼻梁关键点和鼻尖关键点生成第二三角形。对此,无需考虑两个图像大小、两个人脸大小、两个人脸在各自图像中位置等因素,直接将第一网格图像中的每个三角形通过仿射变换即可得到其在第二网格图像中对应的三角形,即可实现第一人脸到第二人脸的准确变换。
以上技术方案,相对于现有技术,省略了将两个图像的大小或人脸面积调整至相同或相近水平的步骤,通过增设外圈关键点和三角化处理快捷实现了人脸变换,而不受图像大小、人脸大小、人脸位置的影响,简化了人脸变换的整体过程。同时,通过仿射变换的方式取代图像叠加的方式实现了人脸之间的转变,避免出现图像叠加带来的虚影,且能够最大限度地保留两个图像间的相对位置关系,提升了用户对于人脸变换过程的观看体验。
【附图说明】
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1示出了根据本发明的一个实施例的图像处理方法的流程图;
图2示出了根据本发明的另一个实施例的图像处理方法的流程图;
图3示出了根据本发明的再一个实施例的图像处理方法的流程图;
图4示出了根据本发明的又一个实施例的图像处理方法的流程图;
图5示出了根据本发明的一个实施例的第一图像的关键点分布示意图;
图6示出了根据本发明的一个实施例的第一图像进行外圈关键点移动后的关键点分布示意图;
图7示出了根据本发明的一个实施例的第一网格图像的示意图;
图8示出了根据本发明的一个实施例的第一网格图像的局部放大示意图;
图9示出了根据本发明的一个实施例的第二网格图像的示意图;
图10示出了根据本发明的一个实施例的第二网格图像的局部放大示意图;
图11示出了根据本发明的一个实施例的图像处理装置的框图;
图12示出了根据本发明的一个实施例的电子设备的框图。
【具体实施方式】
为了更好的理解本发明的技术方案,下面结合附图对本发明实施例进行详细描述。
应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。
由于图像a和图像c大小不同、图像a和图像中人脸图像的大小和位置也不同,在对图像a和图像c进行人脸变换过程中,为获得优质人脸变换效果,避免大脸小脸之间进行变换导致的严重叠影等情况,可调整图像a和图像c的大小比例,使两者内的人脸面积差异降低至能够有效实现人脸变换的范围内。接着,将大小调整后的图像a和图像c的人脸图像的像素值叠加,生成过渡图像e,最终按照图像a→过渡图像e→图像c的顺序显示人脸变换过程。
然而,该方案虽为提升人脸变换效果,增加了图像大小的调整步骤,同时也就增加了人脸变换的复杂程度,降低了人脸变换的效率。另外,两个图像进行简单的像素叠加所得的过渡图像的图像质量低下,将其在两个图像之间进行展示会导致人脸变换的展示过程中仍会出现一定的虚影。这些问题严重均影响用户的观看体验。
对此,本申请提出了一种新的图像处理方式,无需调整图像大小或者图像中人脸大小,即可获得更优的人脸变换效果。下面通过多个实施例对本申请的图像处理方式进行详细描述。
实施例一
图1示出了根据本发明的一个实施例的图像处理方法的流程图。
如图1所示,根据本发明的一个实施例的图像处理方法的流程包括:
步骤102,获取第一图像中第一人脸的关键点集合,以及第二图像中第二人脸的关键点集合,所述第一人脸的关键点集合中的各关键点与所述第二人脸的关键点集合中的各关键点一一对应。
首先,在需要对第一图像中的第一人脸和第二图像的第二人脸进行人脸变换的情况下,获取第一图像中第一人脸的关键点集合,以及第二图像中第二人脸的关键点集合。
关键点集合用于在人脸变换过程中作为参照点集合,其包括人脸的多个关键点,一般地,可在人脸处随机选取多个关键点,也可定位眉毛、眼睛、鼻子、嘴巴、脸部轮廓等部位,在这些部位上选取关键点。
其中,所述第一人脸的关键点集合中的各关键点与所述第二人脸的关键点集合中的各关键点一一对应,换言之,所述第一人脸的关键点集合与所述第二人脸的关键点集合具有相同的关键点数量,且所述第一人脸的关键点集合中每个关键点均在第二人脸的相对位置处具有对应的关键点。比如,在第一人脸上选取眼角关键点和鼻尖关键点,相应地,在第二人脸上也选取眼角关键点和鼻尖关键点。在第一人脸和第二人脸选取一一对应的关键点,有助于提升后续步骤中人脸变换的效果。
步骤104,基于所述第一人脸的人脸边缘点,确定所述第一人脸的外圈关键点,以及基于所述第二人脸的人脸边缘点,确定所述第二人脸的外圈关键点。
其中,外圈关键点基于人脸边缘点确定,有效反映了人脸的基础轮廓。
步骤106,以所述外圈关键点与自身所在图像中人脸指定点的连接线所在直线为移动轨道,将所述外圈关键点向远离所述人脸指定点的方向移动,使移动后所述外圈关键点与所述人脸指定点的距离与移动前所述外圈关键点与所述人脸指定点的距离的比值为目标比值,所述目标比值大于1。
人脸指定点为人为设定的或系统自动选定的人脸关键位置,包括但不限于人脸所在矩形框的中心点、人脸的鼻尖处的关键点等,用于作为外圈关键点移动的参照点。
外圈关键点以自身和人脸指定点的连接线所在直线为移动轨道,向远离人脸指定点的方向移动,也就是说,外圈关键点的移动导致其示出的人脸轮廓增大。其中,移动后的所述外圈关键点与所述人脸指定点的距离与移动前的所述外圈关键点与所述人脸指定点的距离的比值为目标比值,所述目标比值大于1,换言之,外圈关键点通过移动使得自身与所述人脸指定点的距离增大了目标比值倍数。
由于图像中人脸位置是固定的,那么,以其人脸边缘点所确定的外圈关键点示出的人脸轮廓也是固定的,进一步,以人脸指定点为参照,所得的移动后的外圈关键点仍清楚反映了图像中的人脸轮廓。在人脸变换的依据中增加第一人脸和第二人脸的外圈关键点,可使得人脸变换过程更加真实有效地展示第一人脸至第二人脸的面部轮廓变化。
步骤108,基于所述第一图像和所述第二图像的所述外圈关键点和所述关键点集合,分别对所述第一图像和所述第二图像进行三角化处理,得到第一网格图像和第二网格图像,所述第一网格图像和所述第二网格图像用于经仿射变换实现所述第一人脸与所述第二人脸间的人脸转换。
第一图像的外圈关键点与第二图像的外圈关键点是一一对应的,第一图像的关键点集合中的各关键点与第二图像的关键点集合中的各关键点也是一一对应,而经三角化处理得到的网格图像是由移动后的外圈关键点和关键点集合中的关键点作为三角形顶点而生成的。
由此,第一网格图像中的三角形和第二网格图像的三角形也是一一对应的,比如,第一网格图像中眼角关键点、鼻梁关键点和鼻尖关键点生成第一三角形,第二网格图像中眼角关键点、鼻梁关键点和鼻尖关键点生成第二三角形。对此,无需考虑两个图像大小、两个人脸大小、两个人脸在各自图像中位置等因素,直接将第一网格图像中的每个三角形通过仿射变换即可得到其在第二网格图像中对应的三角形,即可实现第一人脸到第二人脸的准确变换。
以上技术方案,相对于现有技术,省略了将两个图像的大小或人脸面积调整至相同或相近水平的步骤,通过增设外圈关键点和三角化处理快捷实现了人脸变换,而不受图像大小、人脸大小、人脸位置的影响,简化了人脸变换的整体过程。
同时,通过仿射变换的方式取代图像叠加的方式实现了人脸之间的转变,避免出现图像叠加带来的虚影,且能够最大限度地保留两个图像间的相对位置关系,提升了用户对于人脸变换过程的观看体验。
实施例二
在实施例一的基础上,图2示出了根据本发明的另一个实施例的图像处理方法的流程图。
如图2所示,根据本发明的另一个实施例的图像处理方法的流程包括:
步骤202,获取第一图像中第一人脸的关键点集合,以及第二图像中第二人脸的关键点集合,所述第一人脸的关键点集合中的各关键点与所述第二人脸的关键点集合中的各关键点一一对应。
步骤204,对于所述第一人脸和所述第二人脸,将其人脸边缘点复制为所述外圈关键点;或者在其人脸指定点和人脸边缘点的连接线的远离所述人脸指定点的延长线上进行插值,得到所述外圈关键点。
第一人脸的关键点集合中具有第一人脸的人脸边缘点,第二人脸的关键点集合中具有第二人脸的人脸边缘点,人脸边缘点有效反映了人脸轮廓。
基于此,在一种可能的设计中,为获得反映人脸轮廓的外圈关键点,可直接将人脸边缘点复制,再将复制得到的人脸边缘点向外移动,得到最终的移动后的外圈关键点。
在另一种可能的设计中,为获得反映人脸轮廓的外圈关键点,可在人脸边缘点外进行插值,具体地,在人脸指定点和人脸边缘点的连接线的远离所述人脸指定点的延长线上进行插值,得到所述外圈关键点,如此得到的外圈关键点处于人脸范围以外,相对于自身对应的人脸边缘点距离人脸指定点更远,但仍能够有效反映了人脸轮廓。
通过上述两种方式,保留了人脸边缘点本身,保留的人脸边缘点仍可用于生成网格图像的三角网格,从而不会影响人脸变换过程的合理性。而在保留人脸边缘点的同时,增加了位于人脸范围外的能够有效反映人脸轮廓的外圈关键点,从而可基于外圈关键点与关键点集合中的关键点的结合,相对仅通过关键点集合中的关键点本身,能够更加清楚明确地反映人脸轮廓特性,有助于提升人脸变换过程的可观赏性和合理性。
步骤206,以所述外圈关键点与自身所在图像中人脸指定点的连接线所在直线为移动轨道,将所述外圈关键点向远离所述人脸指定点的方向移动,使移动后所述外圈关键点与所述人脸指定点的距离与移动前所述外圈关键点与所述人脸指定点的距离的比值为目标比值,所述目标比值大于1。
步骤208,基于所述第一图像和所述第二图像的所述外圈关键点和所述关键点集合,分别对所述第一图像和所述第二图像进行三角化处理,得到第一网格图像和第二网格图像,所述第一网格图像和所述第二网格图像用于经仿射变换实现所述第一人脸与所述第二人脸间的人脸转换。
需要补充的是,在相关技术中,为简化人脸变换过程的复杂程度,也提出了三角化的方式。在该相关技术中,其在第一图像和第二图像中选择的关键点既包括人脸上的关键点,还包括图像中人脸以外的部分的关键点,即在人脸变换过程中将图像中人脸以外的部分也考虑在内。
然而,不同的图像中人脸位置不同,人脸关键点的位置也就不同,但不同图像中人脸以外的部分的关键点的位置一般是确定的,比如,设置选择图像边缘位置处的点作为参考关键点。这就造成不同图像之间参考关键点与人脸关键点的相对位置均不相同,比如,图像f中的人脸位于其左上角,图像g中的人脸位于其右下角。在选择图像边缘位置处的点作为参考关键点的情况下,图像f中的人脸与参考关键点的相对位置,与图像g中的人脸与参考关键点的相对位置,相差过大。若按照这样的人脸关键点和参考关键点进行三角化得到图像g的网格图像h和图像f的网格图像i,网格图像h中人脸关键点与参考关键点结合所形成的三角形,与网格图像i人脸关键点与参考关键点结合所形成的三角形,两者的位置偏差极大,几乎不存在位置对应关系。将位置对应关系低下的两个三角形进行仿射变换,会造成叠影等不良展示效果,影响用户对人脸变换的观看体验。
对此,本申请中基于人脸边缘点复制或插值得到外圈关键点作为参考关键点,取代了在人脸以外的背景部分选择参考关键点。在本申请中,人脸与参考关键点(也就是外圈关键点)的相对位置由人脸轮廓本身决定,由此,减少了人脸在图像中的位置、人脸与参考关键点的相对位置所带来的负面影响,有助于人脸变换效果的提升。
实施例三
在实施例一和实施例二的基础上,图3示出了根据本发明的再一个实施例的图像处理方法的流程图。
如图3所示,根据本发明的再一个实施例的图像处理方法的流程包括:
步骤302,获取第一图像中第一人脸的关键点集合,以及第二图像中第二人脸的关键点集合,所述第一人脸的关键点集合中的各关键点与所述第二人脸的关键点集合中的各关键点一一对应。
步骤304,对于所述第一人脸和所述第二人脸,将其人脸边缘点复制为所述外圈关键点;或者在其人脸指定点和人脸边缘点的连接线的远离所述人脸指定点的延长线上进行插值,得到所述外圈关键点。
一般地,所述第一人脸和所述第二人脸的所述外圈关键点的数量为多个。
步骤306,基于所述第一图像的对角线长度,以及所述第一图像中人脸指定点与所述外圈关键点的最小距离,确定第一比值,以及基于所述第二图像的对角线长度,以及所述第二图像中人脸指定点与所述外圈关键点的最小距离,确定第二比值。
对于第一图像,多个外圈关键点距离人脸指定点有近有远,后续需要将外圈关键点向远离人脸指定点的方向移动,换言之,是需要将外圈关键点与人脸指定点的距离扩大一定倍数。其中,所选的外圈关键点与人脸指定点的距离越小,图像的对角线长度与该距离的商越大,外圈关键点的移动距离也就越远,其后续与关键点集合中的关键点所生成的三角网格覆盖背景的面积越大,在最终的人脸变换过程中对背景的关联变换量也就越大,从而提升了人脸变换的可靠性。
对此,可在多个外圈关键点选择与人脸指定点的距离最小的外圈关键点,用第一图像的对角线长度除以其人脸指定点的距离,得到第一比值,用第二图像的对角线长度除以其人脸指定点的距离,得到第二比值。由于图像的对角线长度是图像中最长的直线,所以第一比值和第二比值均大于1。
当然,还可根据实际需求选择与人脸指定点的距离最小的外圈关键点以外的其他任意关键点。
步骤308,在所述第一比值和所述第二比值中选择最大值,作为目标比值。
与上述同理,所选的目标比值越大,最终的人脸变换过程中对背景的关联变换量也就越大,从而提升了人脸变换的可靠性。
在另一种可能的设计中,也可在第一比值和第二比值中选择最小值或随机值作为目标比值,或者,直接设置指定值作为目标比值。目标比值可适应实际需求进行任意设置,不受本实施例中这一方式的限定。
步骤310,以所述外圈关键点与自身所在图像中人脸指定点的连接线所在直线为移动轨道,将所述外圈关键点向远离所述人脸指定点的方向移动,使移动后所述外圈关键点与所述人脸指定点的距离与移动前所述外圈关键点与所述人脸指定点的距离的比值为目标比值。
步骤312,基于所述第一图像和所述第二图像的所述外圈关键点和所述关键点集合,分别对所述第一图像和所述第二图像进行三角化处理,得到第一网格图像和第二网格图像,所述第一网格图像和所述第二网格图像用于经仿射变换实现所述第一人脸与所述第二人脸间的人脸转换。
实施例四
在实施例一与实施例三中任一实施例的基础上,第一图像/第二图像若具有多个人脸,则需要在多个人脸中选择一个人脸进行人脸变换。
在一种可能的设计中,可直接由用户通过手动操作在图像的多个人脸中指定一个人脸,用于人脸变换,或者,可由客户端在图像的多个人脸中随机选择一个人脸,用于人脸变换,或者,可由客户端通过人脸识别方式在图像的多个人脸中选择指定用户的人脸,用于人脸变换。
在另一种可能的设计中,对于所述多个人脸中的每个人脸,对其人脸指定点与所在图像的图像中心点的距离、其人脸矩形框的面积以及其所述人脸矩形框中人脸图像以外的面积与所述人脸矩形框的比例进行加权,得到每个人脸的得分;在所述多个人脸中选择得分最高的人脸,作为所述第一人脸/所述第二人脸。
具体来说,图像中具有多个人脸的情况下,每个人脸的重要程度或者受关注程度由以下三项决定:人脸指定点与所在图像的图像中心点的距离、人脸矩形框的面积、所述人脸矩形框中人脸图像以外的面积与所述人脸矩形框的比例。
其中,人脸指定点与所在图像的图像中心点的距离越近,其重要程度、受关注程度或可用性越高。人脸矩形框的面积越大,其重要程度、受关注程度或可用性越高。一些情况下,图像显示的人脸为部分人脸,比如,仅显示人脸的下半部分。对此,人脸矩形框会将显示的人脸的下半部分与依据该下半部分推得的人脸上半部分应在位置一起框起来。比如,人脸的下半部分面积为a,矩形框面积为b,则实际上,人脸上半部分的面积,即人脸矩形框中人脸图像以外的面积,约为b-a。基于此,所述人脸矩形框中人脸图像以外的面积与所述人脸矩形框的比例为(b-a)/b。该比值越高,说明图像显示的人脸占该人脸总面积的比重越大,即将该人脸显示得越完整,而在图像中,人脸显示得越完整,其重要程度、受关注程度或可用性也就越高。反之,(b-a)/b越低,人脸显示越不完整,其重要程度、受关注程度或可用性也就越低。由此,对上述三者加权处理后,得分最高的人脸即为重要程度、受关注程度或可用性最高的人脸,即可被选为第一人脸/第二人脸。
实施例五
在实施例一与实施例四中任一实施例的基础上,获取关键点集合的步骤具体包括:获取所述第一图像中所述第一人脸的初始关键点集合,以及所述第二图像中所述第二人脸的初始关键点集合。
初始关键点集合的获取方式包括但不限于ASM(Active Shape Model,主动形状模型)方式、AAM(Active Appearnce Model,主动外观模型)方式、级联形状回归方式和深度学习方式等。
然而,初始关键点集合中的关键点数量有限,无法覆盖整个人脸区域,对此,可通过插值法增加关键点,使得关键点的覆盖面积加大。其中,插值的方式包括:为所述初始关键点集合中的每个初始关键点确定以其所在图像的人脸指定点为中心的对称关键点;将所述每个初始关键点的所述对称关键点加入所述初始关键点集合,生成其所在图像的所述关键点集合。
比如,获取的初始关键点集合仅包括位于唇部以上的关键点,则可选择鼻尖或者鼻梁中心作为人脸指定点。以人脸指定点为对称中心,获取位于唇部以上的关键点或者位于人脸指定点以上的关键点的对称关键点,从而达到增加位于唇部以下的关键点的目的,有效扩大了关键点覆盖面积。关键点在人脸处的覆盖面积越大,后续生成的网格图像所覆盖的人脸面积也就越大,相应地,人脸变换效果也就越优质。
当然,增加关键点的方式包括但不限于插值法,还可以是任何其他方式。插值方式也不限于上述所述的一种,还可以是以任何方式或规则实现的插值。
实施例六
在实施例一与实施例五中任一实施例的基础上,图4示出了根据本发明的又一个实施例的图像处理方法的流程图。
步骤402,获取第一图像中第一人脸的关键点集合,以及第二图像中第二人脸的关键点集合,所述第一人脸的关键点集合中的各关键点与所述第二人脸的关键点集合中的各关键点一一对应。
步骤404,对于所述第一人脸和所述第二人脸,将其人脸边缘点复制为所述外圈关键点;或者在其人脸指定点和人脸边缘点的连接线的远离所述人脸指定点的延长线上进行插值,得到所述外圈关键点。
图5示出了第一图像经实施例五所述的差值方式增加关键点后再增加外圈关键点的关键点示意图。参照图5可知,在人脸指定点和人脸边缘点的连接线的远离所述人脸指定点的延长线上进行插值,得到外圈关键点,这些外圈关键点形成的人脸轮廓与人脸边缘点形成的人脸轮廓相同。需要知晓,在图5以及下述多个示意图中,为方便查看,仅展示图像中的关键点在坐标轴中的分布情况或者关键点生成的三角网格在坐标轴中的分布情况,未体现关键点所属的图像和人脸本身。
步骤406,基于所述第一图像的对角线长度,以及所述第一图像中人脸指定点与所述外圈关键点的最小距离,确定第一比值,以及基于所述第二图像的对角线长度,以及所述第二图像中人脸指定点与所述外圈关键点的最小距离,确定第二比值。
步骤408,在所述第一比值和所述第二比值中选择最大值,作为目标比值。
步骤410,以所述外圈关键点与自身所在图像中人脸指定点的连接线所在直线为移动轨道,将所述外圈关键点向远离所述人脸指定点的方向移动,使移动后所述外圈关键点与所述人脸指定点的距离与移动前所述外圈关键点与所述人脸指定点的距离的比值为目标比值。
参照图6所示,因篇幅有限,在坐标系中对移动外圈关键点后的第一图像的关键点分布情况进行缩小展示,由图可知,外圈关键点形成的人脸轮廓与人脸边缘点形成的人脸轮廓依旧相同。
步骤412,基于所述第一图像和所述第二图像的所述外圈关键点和所述关键点集合,分别对所述第一图像和所述第二图像进行三角化处理,得到第一网格图像和第二网格图像。
基于图6所示的关键点,可对第一图像进行三角化处理,得到如图7所示的第一网格图像,图8示出了图7所示的第一网格图像的局部放大图。其中,三角化处理的方式包括但不限于Delaunay三角化方式。Delaunay三角化是一种三角剖分DT(P),使得在P中没有点严格处于DT(P)中任意一个三角形外接圆的内部。Delaunay三角化最大化了此三角剖分中三角形的最小角,换句话,此算法尽量避免出现“极瘦”的三角形。
同理,可对第二图像进行三角化处理,得到如图9所示的第二网格图像,图10示出了图9所示的第二网格图像的局部放大图。
步骤414,基于所述第一网格图像中的每个三角顶点和其在所述第二网格图像中对应的三角顶点的相对位置,确定每个过渡三角顶点的位置。
在人脸变换过程之前,需要基于第一网格图像和第二网格图像生成两者的过渡图像,并在人脸变换过程中,依次展示第一图像、过渡图像和第二图像,从而使用户可以观看到第一图像的第一人脸变换至第二图像的第二人脸的变换的效果。对此,在获得过渡图像之前,首先需要获得过渡图像中每个过渡图像的位置。
对于第一网格图像中的任一三角顶点,其需要变换为过渡图像中的过渡三角顶点,再变换为第二网格图像中对应的三角顶点,因此,过渡图像中的过渡三角顶点是由第一网格图像中的三角顶点与其在第二网格图像中对应的三角顶点的相对位置决定的。比如,可设置第一网格图像中的三角顶点与其在第二网格图像中对应的三角顶点的相对直线距离的中点为其在过渡图像中对应的过渡三角顶点。
步骤416,基于所述第一网格图像中的每个三角顶点和每个三角网格的内部点,以及所述每个过渡三角顶点的位置,对所述第一网格图像进行仿射变换,得到所述第一网格图像与所述第二网格图像在人脸变换过程中的过渡图像。
第一网格图像中的三角顶点与过渡图像中的三角顶点一一对应,过渡图像中的三角顶点与第二网格图像中的三角顶点一一对应。同样,第一网格图像中的三角网格与过渡图像中的三角网格一一对应,过渡图像中的三角网格与第二网格图像中的三角网格一一对应。因此,对于第一网格图像中的任一三角网格,可通过仿射变换的方式将其变换为其在过渡图像中对应的三角网格,同理,对于过渡图像中的任一三角网格,可通过仿射变换的方式将其变换为其在第二网格图像中对应的三角网格。
最终,在人脸变换过程中,按照先后顺序依次展示第一图像、过渡图像、第二图像。其中,在展示每个图像时,可显示其三角网格,也可不显示其三角网格。
在一种可能的设计中,可设置展示过渡图像的时机。
比如,第一图像经人脸变换至第二图像的变换时长为1s,可设置第一网格图像中的三角顶点与其在第二网格图像中对应的三角顶点的相对直线距离的中点为其在过渡图像中对应的过渡三角顶点,并由此生成过度图像,再设置过渡图像的展示实际为变换时长中的0.5s位置处。在人脸变换过程中,按照先后顺序依次展示第一图像、过渡图像、第二图像。
在一种可能的设计中,过渡图像的数量为多个,每个所述过渡图像显示于人脸变换过程中的指定时刻。
比如,第一图像经人脸变换至第二图像过程中,可生成两个过度图像。其中,设置第一网格图像中的三角顶点与其在第二网格图像中对应的三角顶点的相对直线距离的三分之一位置处为其在第一过渡图像中对应的过渡三角顶点,并由此生成第一过度图像;设置第一网格图像中的三角顶点与其在第二网格图像中对应的三角顶点的相对直线距离的三分之二位置处为其在第二过渡图像中对应的过渡三角顶点,并由此生成第二过度图像。在人脸变换过程中,按照先后顺序依次展示第一图像、第一过渡图像、第二过渡图像、第二图像。
再比如,第一图像经人脸变换至第二图像过程中,可生成两个过度图像。其中,设置第一网格图像中的三角顶点与其在第二网格图像中对应的三角顶点的相对直线距离的三分之一位置处为其在第一过渡图像中对应的过渡三角顶点,并由此生成第一过渡图像;设置第一过渡图像中的过渡三角顶点与其在第二网格图像中对应的三角顶点的相对直线距离的二分之一位置处为其在第二过渡图像中对应的过渡三角顶点,并由此生成第二过渡图像。在人脸变换过程中,按照先后顺序依次展示第一图像、第一过渡图像、第二过渡图像、第二图像。
另外,第一图像经人脸变换至第二图像的变换时长为1s,可设置第一过渡图像、第二过渡图像的展示时机分别为变换时长中的0.3s位置处和0.7s位置处,则在人脸变换过程中,按照先后顺序在0s展示展示第一图像、在0.3s处第一过渡图像、在0.7s处第二过渡图像、在1s处第二图像。
综上,过渡图像的数量、过渡图像的过渡三角顶点与第一网格图像和第二网格图像中三角顶点的相对位置、过渡图像的展示时机均可基于实际需求进行设置,而不受上述实例中的设置方式和设置数值的限制。
图11示出了根据本发明的一个实施例的图像处理装置的框图。
如图11所示,根据本发明的一个实施例的图像处理装置1100,包括:关键点集合获取单元1102,用于获取第一图像中第一人脸的关键点集合,以及第二图像中第二人脸的关键点集合,所述第一人脸的关键点集合中的各关键点与所述第二人脸的关键点集合中的各关键点一一对应;外圈关键点确定单元1104,用于基于所述第一人脸的人脸边缘点,确定所述第一人脸的外圈关键点,以及基于所述第二人脸的人脸边缘点,确定所述第二人脸的外圈关键点;外圈关键点移动单元1106,用于以所述外圈关键点与自身所在图像中人脸指定点的连接线所在直线为移动轨道,将所述外圈关键点向远离所述人脸指定点的方向移动,使移动后所述外圈关键点与所述人脸指定点的距离与移动前所述外圈关键点与所述人脸指定点的距离的比值为目标比值,所述目标比值大于1;三角化处理单元1108,用于基于所述第一图像和所述第二图像的所述外圈关键点和所述关键点集合,分别对所述第一图像和所述第二图像进行三角化处理,得到第一网格图像和第二网格图像,所述第一网格图像和所述第二网格图像用于经仿射变换实现所述第一人脸与所述第二人脸间的人脸转换。
在本发明上述实施例中,可选地,所述外圈关键点确定单元1106用于:对于所述第一人脸和所述第二人脸,将其人脸边缘点复制为所述外圈关键点;或者在其人脸指定点和人脸边缘点的连接线的远离所述人脸指定点的延长线上进行插值,得到所述外圈关键点。
在本发明上述实施例中,可选地,所述第一人脸和所述第二人脸的所述外圈关键点的数量为多个,以及所述图像处理装置1100还包括:目标比值设置单元,用于基于所述第一图像的对角线长度,以及第一图像中人脸指定点与所述外圈关键点的最小距离,确定第一比值;基于所述第二图像的对角线长度,以及所述第二图像中人脸指定点与所述外圈关键点的最小距离,确定第二比值;在所述第一比值和所述第二比值中选择最大值,作为所述目标比值。
在本发明上述实施例中,可选地,还包括:人脸选择单元,用于在所述第一图像/所述第二图像具有多个人脸的情况下,对于所述多个人脸中的每个人脸,对其人脸指定点与所在图像的图像中心点的距离、其人脸矩形框的面积以及其所述人脸矩形框中人脸图像以外的面积与所述人脸矩形框的比例进行加权,得到每个人脸的得分;在所述多个人脸中选择得分最高的人脸,作为所述第一人脸/所述第二人脸。
在本发明上述实施例中,可选地,所述关键点集合获取单元1102用于:获取所述第一图像中所述第一人脸的初始关键点集合,以及所述第二图像中所述第二人脸的初始关键点集合;为所述初始关键点集合中的每个初始关键点确定以其所在图像的人脸指定点为中心的对称关键点;将所述每个初始关键点的所述对称关键点加入所述初始关键点集合,生成其所在图像的所述关键点集合。
在本发明上述实施例中,可选地,还包括:过渡三角顶点确定单元,用于基于所述第一网格图像中的每个三角顶点和其在所述第二网格图像中对应的三角顶点的相对位置,确定每个过渡三角顶点的位置;过渡图像确定单元,用于基于所述第一网格图像中的每个三角顶点和每个三角网格的内部点,以及所述每个过渡三角顶点的位置,对所述第一网格图像进行仿射变换,得到所述第一网格图像与所述第二网格图像在人脸变换过程中的过渡图像。
在本发明上述实施例中,可选地,所述过渡图像的数量为多个,每个所述过渡图像显示于人脸变换过程中的指定时刻。
该图像处理装置1100使用上述全部实施例中任一项所述的方案,因此,具有上述所有技术效果,在此不再赘述。
图12示出了根据本发明的一个实施例的电子设备的框图。
如图12所示,本发明的一个实施例的电子设备1200,包括至少一个存储器1202;以及,与所述至少一个存储器1202通信连接的处理器1204;其中,所述存储器存储有可被所述至少一个处理器1204执行的指令,所述指令被设置为用于执上述全部实施例中任一项所述的方案。因此,该电子设备1200具有和上述全部实施例中任一项相同的技术效果,在此不再赘述。
本发明实施例的电子设备以多种形式存在,包括但不限于:
(1)移动通信设备:这类设备的特点是具备移动通信功能,并且以提供话音、数据通信为主要目标。这类终端包括:智能手机(例如iPhone)、多媒体手机、功能性手机,以及低端手机等。
(2)超移动个人计算机设备:这类设备属于个人计算机的范畴,有计算和处理功能,一般也具备移动上网特性。这类终端包括:PDA、MID和UMPC设备等,例如iPad。
(3)便携式娱乐设备:这类设备可以显示和播放多媒体内容。该类设备包括:音频、视频播放器(例如iPod),掌上游戏机,电子书,以及智能玩具和便携式车载导航设备。
(4)服务器:提供计算服务的设备,服务器的构成包括处理器、硬盘、内存、系统总线等,服务器和通用的计算机架构类似,但是由于需要提供高可靠的服务,因此在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面要求较高。
(5)其他具有数据交互功能的电子装置。
另外,本发明实施例提供了一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令用于执行上述全部实施例中任一项所述的方法流程。
以上结合附图详细说明了本发明的技术方案,通过本发明的技术方案,相对于现有技术,省略了将两个图像的大小或人脸面积调整至相同或相近水平的步骤,通过增设外圈关键点和三角化处理快捷实现了人脸变换,而不受图像大小、人脸大小、人脸位置的影响,简化了人脸变换的整体过程。同时,通过仿射变换的方式取代图像叠加的方式实现了人脸之间的转变,避免出现图像叠加带来的虚影,且能够最大限度地保留两个图像间的相对位置关系,提升了用户对于人脸变换过程的观看体验。
应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
应当理解,尽管在本发明实施例中可能采用术语第一、第二等来描述图像,但这些图像不应限于这些术语。这些术语仅用来将图像彼此区分开。例如,在不脱离本发明实施例范围的情况下,第一图像也可以被称为第二图像,类似地,第二图像也可以被称为第一图像。
取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。
在本发明所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机装置(可以是个人计算机,服务器,或者网络装置等)或处理器(Processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。