图像处理方法和图像处理装置
文献发布时间:2023-06-19 11:32:36
技术领域
本公开涉及图像处理技术领域,更具体地说,涉及一种图像处理方法和图像处理装置。
背景技术
在视频直播、短视频、拍照等应用场景中,一个非常常用的技术是瘦脸,它可以让用户的脸变小,达到更好的主观效果。然而,在瘦脸的同时,脸部周围的物体也会发生扭曲变形,瘦脸效果不够自然,观感不是很好。
发明内容
本公开提供一种图像处理方法和图像处理装置,以至少解决上述相关技术中的问题,也可不解决任何上述问题。
根据本公开实施例的第一方面,提供一种图像处理方法,包括:识别第一图像中的人脸区域;基于瘦脸算法对第一图像中的所述人脸区域执行瘦脸,以获得瘦脸后的第二图像;对第二图像中因执行瘦脸而产生的变形区域执行修复,以获得修复后的第三图像。
可选地,所述变形区域可以是在第一图像中执行瘦脸所涉及的包括所述人脸区域的预定区域中的除瘦脸后的人脸区域之外的区域。
可选地,所述对第二图像中因执行瘦脸而产生的变形区域执行修复,可包括:通过对所述变形区域填充背景像素,来执行修复。
可选地,所述通过对所述变形区域填充背景像素,来执行修复,可包括:基于所述变形区域以及第一图像或第一图像,使用图像修补算法,对所述变形区域填充背景像素。
可选地,所述通过对所述变形区域填充背景像素,来执行修复,可包括:基于背景图像和第二图像,对所述变形区域填充背景像素,其中,所述背景图像是与第一图像具有相同场景的纯背景图像。
可选地,所述基于背景图像和第二图像,对所述变形区域填充背景像素,可包括:搜索所述背景图像中与所述变形区域相同的区域;利用所述背景图像中的所述区域的像素的像素值替换所述变形区域中的像素的像素值。
根据本公开实施例的第二方面,提供一种图像处理装置,包括:识别单元,被配置为识别第一图像中的人脸区域;瘦脸单元,被配置为基于瘦脸算法对第一图像中的所述人脸区域执行瘦脸,以获得瘦脸后的第二图像;修复单元,被配置为对第二图像中因执行瘦脸而产生的变形区域执行修复,以生成修复后的第三图像。
可选地,所述变形区域可以是在第一图像中执行瘦脸所涉及的包括所述人脸区域的预定区域中的除瘦脸后的人脸区域之外的区域。
可选地,修复单元可被配置为:通过对所述变形区域填充背景像素,来执行修复。
可选地,修复单元可被配置为:基于所述变形区域以及第一图像或第一图像,使用图像修补算法,对所述变形区域填充背景像素。
可选地,修复单元可被配置为:基于背景图像和第二图像,对所述变形区域填充背景像素,其中,所述背景图像是与第一图像具有相同场景的纯背景图像。
可选地,修复单元可被配置为:搜索所述背景图像中与所述变形区域相同的区域;利用所述背景图像中的所述区域的像素的像素值替换所述变形区域中的像素的像素值。
根据本公开实施例的第三方面,提供一种电子设备,包括:至少一个处理器;至少一个存储计算机可执行指令的存储器,其中,所述计算机可执行指令在被所述至少一个处理器运行时,促使所述至少一个处理器执行根据本公开的图像处理方法。
根据本公开实施例的第四方面,提供一种存储指令的计算机可读存储介质,其特征在于,当所述指令被至少一个处理器运行时,促使所述至少一个处理器执行根据本公开的图像处理方法。
根据本公开实施例的第八方面,提供一种计算机程序产品,该计算机程序产品中的指令可由计算机设备的处理器执行以完成根据本公开的图像处理方法。
本公开的实施例提供的技术方案至少带来以下有益效果:
根据本公开的图像处理方法和图像处理装置,可通过对因执行瘦脸而发生扭曲变形的区域执行修复,来获得更加自然更加真实的瘦脸效果。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
图1是示出瘦脸算法的示意图。
图2是示出根据本公开的示例性实施例的图像处理方法和图像处理装置的实施场景的示意图。
图3是示出根据本公开的示例性实施例的图像处理方法的流程图。
图4是示出由于瘦脸而导致的变形区域的示意图。
图5是示出根据本公开的示例性实施例的背景帧替换方法的示意图。
图6是示出根据本公开的示例性实施例的图像处理装置的框图。
图7是根据本公开的示例性实施例的电子设备700的框图。
具体实施方式
为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
在此需要说明的是,在本公开中出现的“若干项之中的至少一项”均表示包含“该若干项中的任意一项”、“该若干项中的任意多项的组合”、“该若干项的全体”这三类并列的情况。例如“包括A和B之中的至少一个”即包括如下三种并列的情况:(1)包括A;(2)包括B;(3)包括A和B。又例如“执行步骤一和步骤二之中的至少一个”,即表示如下三种并列的情况:(1)执行步骤一;(2)执行步骤二;(3)执行步骤一和步骤二。
现有的瘦脸算法主要是基于人脸关键点的检测,然后对人脸关键点进行稠密化处理,最后使用三角剖分的方法实现瘦脸的效果。图1是示出瘦脸算法的示意图。如图1所示,瘦脸算法的过程可包括:(1)如图1(a)所示,首先,获取进行人脸关键点基本信息,主要包括眉毛、眼睛、鼻子、嘴巴、脸部外轮廓这106个关键点;(2)如图1(b)所示,其次,基于检测出的106个关键点,对脸部关键点进行稠密化处理,插入额外的关键点,如额头区域和脸部外围限制区域,使其能够覆盖整个脸部区域;(3)如图1(c)所示,最后,基于稠密化以后的人脸关键点,对其构建整张脸的三角网格,实现对整个脸部区域的三角剖分(DelaunayTriangulation),三角剖分将人脸切分成多个无重叠的三角区域,然后进行区域变换可以实现瘦脸的效果。在区域变换的过程中,通过对三角网顶点进行平移,再将平移后的顶点更新到对应的纹理坐标,通过openGL或者D3D进行绘制渲染,从而实现整个关联三角网的变形。这样虽然达到了瘦脸效果,但也会导致瘦脸算法的三角网格所涉及到的非脸部区域(如图1(c)所示)造成变形或不自然。该非脸部区域包括原脸部区域周围的背景区域和原脸部区域中经瘦脸算法而被削瘦的区域。为了解决上述问题,本公开提出了一种图像处理方法和图像处理装置,能够在图像执行瘦脸后对因瘦脸操作而变形的区域执行修复,以获得更加自然的瘦脸图像。下面,将参照图2至图7详细描述根据本公开的图像处理方法和图像处理装置。
图2是示出根据本公开的示例性实施例的图像处理方法和图像处理装置的实施场景的示意图。
参照图2,在网络直播系统中,主播可使用直播设备201拍摄直播节目并通过直播设备201的客户端在直播间中将直播节目上传至服务器202,服务器202将该直播节目分发到进入该主播的直播间的用户终端203或204的客户端以将该直播节目展现给观看直播的用户。这里,直播设备201可以是任何包括拍摄功能的设备或能够与拍摄设备连接的设备,例如,手机、便携式计算机、平板电脑、摄像机等。为了使观看直播的用户看到的主播的形象更加美化,主播在直播时使用的客户端可将由直播设备201拍摄到的视频和/或图像中的人脸部分执行瘦脸,并将包括被执行瘦脸后的视频和/或图像的直播节目上传至服务器202,从而分发到各个用户终端203或204以供用户观看,因此观看可观看到经过瘦脸的形象更加美化的主播的视频和/或图像。因此,根据本公开的图像处理方法和图像处理装置可应用于此直播场景。
此外,根据本公开的图像处理方法和图像处理装置除了可应用于直播场景以外,还可应用于诸如短视频录制场景、拍照场景、自拍场景等等的任何可执行瘦脸的场景。
图3是示出根据本公开的示例性实施例的图像处理方法的流程图。
参照图3,在步骤301,可识别第一图像中的人脸区域。这里,第一图像可以是执行拍照捕捉的图像,也可以是拍摄视频所得到的视频的图像。此外,第一图像可从拍摄设备实时获得,或者可根据需要从本地存储器或本地数据库被获取或者通过输入装置或传输媒介而从外部数据源(例如,互联网、服务器、数据库等)被接收,本公开对此不作限制。此外,人脸区域可以是第一图像中人脸所占据的区域。人脸区域既可以是仅包含人脸部分的区域,也可以是包含人脸部分以及头发、配饰等相关部分的区域,本公开对此不作限制。此外,可利用任何可能的人脸识别方法来识别图像中的人脸区域,本公开对此不作限制。
在步骤302,可基于瘦脸算法对第一图像中的人脸区域执行瘦脸,以获得瘦脸后的第二图像。例如,可使用上述提及的三角剖分的方法来对所述人脸区域执行瘦脸,但也可利用其它任何可能的瘦脸算法来执行瘦脸,本公开对此不作限制。例如,第二图像可以是中间过程图像,可以不是实际输出的图像。
当使用瘦脸算法对人脸区域执行瘦脸时,必然导致人脸区域的周围区域不同程度的扭曲变形。该周围区域可包括原人脸区域周围的背景区域和原人脸区域中经瘦脸算法而被削瘦的区域。图4是示出由于瘦脸而导致的变形区域的示意图。如图4所示,图4(a)示例性地示出执行瘦脸前的第一图像,图4(b)示例性地示出执行瘦脸后的第二图像。如图4(a)所示,在利用瘦脸算法对人脸区域执行瘦脸前,第一图像可包括人脸区域401和背景区域402。此外,利用瘦脸算法对人脸区域执行瘦脸将涉及的预定区域403可包括人脸区域401以及背景区域402的一部分。例如,当使用三角剖分算法执行瘦脸时,预定区域403可为三角网格所涉及到的区域(如图1(c)所示)。如图4(b)所示,在利用瘦脸算法对人脸区域执行瘦脸后,第二图像可包括人脸区域401’和背景区域402’,其中,人脸区域401’因执行瘦脸而减小,背景区域402’因人脸区域被减小的部分被填充背景像素而增大。此外,预定区域403’中除了瘦脸后的人脸区域401’之外的区域将会发生变形,即,可称为变形区域。该变形区域可包括原人脸区域周围的背景区域404’和原人脸区域中经瘦脸算法而被削瘦的区域405’。
返回参照图3,因此,在步骤303,可对第二图像中因执行瘦脸而产生的变形区域执行修复,以获得修复后的第三图像。
根据本公开的示例性实施例,可首先确定因执行瘦脸而产生的变形区域。例如,可将变形区域确定为在第一图像中执行瘦脸所涉及的包括人脸区域的预定区域中的除瘦脸后的人脸区域之外的区域,例如,图4(b)中的变形区域为预定区域403’之中的除人脸区域401’之外的区域(404’+405’)。又例如,还可通过将执行瘦脸后的第二图像的人脸区域周围的像素值与执行瘦脸前的第一图像的人脸区域周围的像素值进行比较,还确定变形区域。当然,可利用任何可能的方法来确定变形区域,本公开对此不作限制。
根据本公开的示例性实施例,可对变形区域填充背景像素来对变形区域执行修复。例如,可通过图像修补(image inpainting)算法或背景帧替换的方法来对变形区域执行修复。当然,本公开不限于这些修复方法,还可使用任何可能的修复方法来对变形区域。下面具体介绍通过图像修补算法或背景帧替换的方法来对变形区域执行修复。
根据本公开的示例性实施例,可基于变形区域以及第一图像或第一图像,使用图像修补算法,对变形区域填充背景像素。例如,图像修补算法可包括传统修补算法(非深度学习算法)和深度学习算法。传统修补算法可包括基于图像块(patch-based)的方法和基于扩散(diffusion-based)的方法。利用基于图像块的方法时,可通过在执行瘦脸前的第一图像上搜索与变形区域相似的图像块,将其填充到变形区域。利用基于扩散的方法时,可将变形区域边缘的像素按照执行瘦脸前的第一图像的相应区域的性质向内生长,扩散填充整个变形区域。深度学习算法可包括基于卷积神经网络(CNN)的方法、基于生成对抗网络(GAN)的方法、基于循环神经网络(RNN)的方法等。可基于变形区域生成掩膜,基于执行瘦脸后的第二图像和生成的掩膜,利用深度学习算法,对变形区域执行图像修补。具体做法可以是将执行瘦脸后的第二图像和生成的掩膜输入到基于深度学习算法的模型,由基于深度学习算法的模型输出变形区域被修复后的第三图像。
根据本公开的示例性实施例,在能够获取到与第一图像具有相同场景的纯背景图像的情况下,可使用更为简单更快速的背景帧替换方法来对变形区域进行修复。例如,但不限于,当拍摄第一图像的拍摄设备静止且位置固定时,可分别获取到加入人脸前的背景图像和加入人脸后的第一图像。例如,在视频场景下,可连续采集多帧视频图像,拍摄设备可先采集只有背景的图像帧以得到背景帧图像,然后再让用户在拍摄设备前拍摄以获得视频帧图像(例如,第一图像)。
在获取到背景图像之后,可基于背景图像和第二图像,对变形区域填充背景像素。例如,可搜索背景图像中与变形区域相同的区域,并利用背景图像中的确定的区域的像素的像素值替换变形区域中的像素的像素值。图5是示出根据本公开的示例性实施例的背景帧替换方法的示意图。参照图5,可获取与第一图像具有相同场景的纯背景图像501。在纯背景图像501中搜索与如图4(b)中所示的变形区域(404’+405’)相同的区域502(阴影线示出)。用搜索到的区域502中的像素的像素值替换变形区域(404’+405’)中的像素的像素值。
图6是示出根据本公开的示例性实施例的图像处理装置的框图。
参照图6,根据本公开的示例性实施例的图像处理装置600可包括识别单元601、瘦脸单元602和修复单元603。
识别单元601可识别第一图像中的人脸区域。这里,第一图像可以是执行拍照捕捉的图像,也可以是拍摄视频所得到的视频的图像。此外,第一图像可从拍摄设备实时获得,或者可根据需要从本地存储器或本地数据库被获取或者通过输入装置或传输媒介而从外部数据源(例如,互联网、服务器、数据库等)被接收,本公开对此不作限制。此外,人脸区域可以是第一图像中人脸所占据的区域。人脸区域既可以是仅包含人脸部分的区域,也可以是包含人脸部分以及头发、配饰等相关部分的区域,本公开对此不作限制。此外,识别单元601可利用任何可能的人脸识别方法来识别图像中的人脸区域,本公开对此不作限制。
瘦脸单元602可基于瘦脸算法对第一图像中的人脸区域执行瘦脸,以获得瘦脸后的第二图像。例如,瘦脸单元602可使用上述提及的三角剖分的方法来对所述人脸区域执行瘦脸,但也可利用其它任何可能的瘦脸算法来执行瘦脸,本公开对此不作限制。例如,第二图像可以是中间过程图像,可以不是实际输出的图像。
当使用瘦脸算法对人脸区域执行瘦脸时,必然导致人脸区域的周围区域不同程度的扭曲变形。该周围区域可包括原人脸区域周围的背景区域和原人脸区域中经瘦脸算法而被削瘦的区域。因此,修复单元603可对第二图像中因执行瘦脸而产生的变形区域执行修复,以获得修复后的第三图像。
根据本公开的示例性实施例,修复单元603可首先确定因执行瘦脸而产生的变形区域。例如,修复单元603可将变形区域确定为在第一图像中执行瘦脸所涉及的包括人脸区域的预定区域中的除瘦脸后的人脸区域之外的区域,例如,图4(b)中的变形区域为预定区域403’之中的除人脸区域401’之外的区域(404’+405’)。又例如,修复单元603还可通过将执行瘦脸后的第二图像的人脸区域周围的像素值与执行瘦脸前的第一图像的人脸区域周围的像素值进行比较,还确定变形区域。当然,可利用任何可能的方法来确定变形区域,本公开对此不作限制。
根据本公开的示例性实施例,修复单元603可对变形区域填充背景像素来对变形区域执行修复。例如,修复单元603可通过图像修补(image inpainting)算法或背景帧替换的方法来对变形区域执行修复。当然,本公开不限于这些修复方法,修复单元603还可使用任何可能的修复方法来对变形区域。下面具体介绍通过图像修补算法或背景帧替换的方法来对变形区域执行修复。
根据本公开的示例性实施例,修复单元603可基于变形区域以及第一图像或第一图像,使用图像修补算法,对变形区域填充背景像素。例如,图像修补算法可包括传统修补算法(非深度学习算法)和深度学习算法。传统修补算法可包括基于图像块(patch-based)的方法和基于扩散(diffusion-based)的方法。修复单元603利用基于图像块的方法时,可通过在执行瘦脸前的第一图像上搜索与变形区域相似的图像块,将其填充到变形区域。修复单元603利用基于扩散的方法时,可将变形区域边缘的像素按照执行瘦脸前的第一图像的相应区域的性质向内生长,扩散填充整个变形区域。深度学习算法可包括基于卷积神经网络(CNN)的方法、基于生成对抗网络(GAN)的方法、基于循环神经网络(RNN)的方法等。修复单元603可基于变形区域生成掩膜,基于执行瘦脸后的第二图像和生成的掩膜,利用深度学习算法,对变形区域执行图像修补。具体做法可以是修复单元603将执行瘦脸后的第二图像和生成的掩膜输入到基于深度学习算法的模型,由基于深度学习算法的模型输出变形区域被修复后的第三图像。
根据本公开的示例性实施例,在能够获取到与第一图像具有相同场景的纯背景图像的情况下,修复单元603可使用更为简单更快速的背景帧替换方法来对变形区域进行修复。例如,但不限于,当拍摄第一图像的拍摄设备静止且位置固定时,可分别获取到加入人脸前的背景图像和加入人脸后的第一图像。例如,在视频场景下,可连续采集多帧视频图像,拍摄设备可先采集只有背景的图像帧以得到背景帧图像,然后再让用户在拍摄设备前拍摄以获得视频帧图像(例如,第一图像)。
在获取到背景图像之后,修复单元603可基于背景图像和第二图像,对变形区域填充背景像素。例如,修复单元603可搜索背景图像中与变形区域相同的区域,并利用背景图像中的确定的区域的像素的像素值替换变形区域中的像素的像素值。
图7是根据本公开的示例性实施例的电子设备700的框图。
参照图7,电子设备700包括至少一个存储器701和至少一个处理器702,所述至少一个存储器701中存储有计算机可执行指令集合,当计算机可执行指令集合被至少一个处理器702执行时,执行根据本公开的示例性实施例的图像处理方法。
作为示例,电子设备700可以是PC计算机、平板装置、个人数字助理、智能手机、或其他能够执行上述指令集合的装置。这里,电子设备700并非必须是单个的电子设备,还可以是任何能够单独或联合执行上述指令(或指令集)的装置或电路的集合体。电子设备700还可以是集成控制系统或系统管理器的一部分,或者可被配置为与本地或远程(例如,经由无线传输)以接口互联的便携式电子设备。
在电子设备700中,处理器702可包括中央处理器(CPU)、图形处理器(GPU)、可编程逻辑装置、专用处理器系统、微控制器或微处理器。作为示例而非限制,处理器还可包括模拟处理器、数字处理器、微处理器、多核处理器、处理器阵列、网络处理器等。
处理器702可运行存储在存储器701中的指令或代码,其中,存储器701还可以存储数据。指令和数据还可经由网络接口装置而通过网络被发送和接收,其中,网络接口装置可采用任何已知的传输协议。
存储器701可与处理器702集成为一体,例如,将RAM或闪存布置在集成电路微处理器等之内。此外,存储器701可包括独立的装置,诸如,外部盘驱动、存储阵列或任何数据库系统可使用的其他存储装置。存储器701和处理器702可在操作上进行耦合,或者可例如通过I/O端口、网络连接等互相通信,使得处理器702能够读取存储在存储器中的文件。
此外,电子设备700还可包括视频显示器(诸如,液晶显示器)和用户交互接口(诸如,键盘、鼠标、触摸输入装置等)。电子设备700的所有组件可经由总线和/或网络而彼此连接。
根据本公开的示例性实施例,还可提供一种存储指令的计算机可读存储介质,其中,当指令被至少一个处理器运行时,促使至少一个处理器执行根据本公开的视频去痕方法。这里的计算机可读存储介质的示例包括:只读存储器(ROM)、随机存取可编程只读存储器(PROM)、电可擦除可编程只读存储器(EEPROM)、随机存取存储器(RAM)、动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)、闪存、非易失性存储器、CD-ROM、CD-R、CD+R、CD-RW、CD+RW、DVD-ROM、DVD-R、DVD+R、DVD-RW、DVD+RW、DVD-RAM、BD-ROM、BD-R、BD-R LTH、BD-RE、蓝光或光盘存储器、硬盘驱动器(HDD)、固态硬盘(SSD)、卡式存储器(诸如,多媒体卡、安全数字(SD)卡或极速数字(XD)卡)、磁带、软盘、磁光数据存储装置、光学数据存储装置、硬盘、固态盘以及任何其他装置,所述任何其他装置被配置为以非暂时性方式存储计算机程序以及任何相关联的数据、数据文件和数据结构并将所述计算机程序以及任何相关联的数据、数据文件和数据结构提供给处理器或计算机使得处理器或计算机能执行所述计算机程序。上述计算机可读存储介质中的计算机程序可在诸如客户端、主机、代理装置、服务器等计算机设备中部署的环境中运行,此外,在一个示例中,计算机程序以及任何相关联的数据、数据文件和数据结构分布在联网的计算机系统上,使得计算机程序以及任何相关联的数据、数据文件和数据结构通过一个或多个处理器或计算机以分布式方式存储、访问和执行。
根据本公开的示例性实施例,还可提供一种计算机程序产品,该计算机程序产品中的指令可由计算机设备的处理器执行以完成根据本公开的示例性实施例的图像处理方法。
根据本公开的图像处理方法和图像处理装置,可通过对因执行瘦脸而发生扭曲变形的区域执行修复,来获得更加自然更加真实的瘦脸效果。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
- 图像处理装置和图像处理方法、图像处理方法的程序、以及具有记录在其上的图像处理方法的程序的记录介质
- 图像处理设备、图像处理方法、用于图像处理方法的程序、以及记录有用于图像处理方法的程序的记录介质