图像处理方法、电子设备、存储介质及程序产品与流程

文档序号:33560207发布日期:2023-03-22 13:57阅读:34来源:国知局
图像处理方法、电子设备、存储介质及程序产品与流程

1.本技术涉及图像处理技术领域,更具体地涉及一种图像处理方法、电子设备、存储介质及计算机程序产品。


背景技术:

2.在图像处理技术领域,常常要利用一定的处理算法对获取的原始图像中的目标进行美化处理,以使图像中的目标达到较为理想的视觉效果。譬如,利用人脸美型算法对人脸图像中的人脸轮廓或者五官的形状进行调整,如瘦脸、调大眼睛、调小嘴巴等等。
3.现有技术中,通常基于原始图像中目标的关键点预先设定好拓扑结构的目标关键点网格图。然后,根据预设的美型规则拉伸目标关键点网格的顶点,将目标关键点网格图拉伸为新的形状。最后,将原始图像贴合至拉伸后的网格图上,以此实现对图像中目标的美型。然而,该方法依然存在诸多问题。该方法的通用性不强,其关键点网格的顶点的拉伸规则通常基于某种特定姿态下的目标而设定,例如正脸图像。因此,只有在人脸图像为正脸图像时,运用该方法的美型效果才较为理想。在当前的图像中目标的姿态不是上述特定姿态时,如为侧脸图像时,若应用同样的拉伸规则拉伸网格,则可能导致某些关键点被移动至错误的位置上,由此可能导致处理后的图像中的部分目标区域扭曲、断裂等,因此难以达到理想的美型效果。


技术实现要素:

4.考虑到上述问题而提出了本技术的实施例。本技术的实施例提供了一种图像处理方法、电子设备、存储介质及计算机程序产品。
5.根据本技术一方面,提供了一种图像处理方法,包括:获取待处理图像;获取网格图并确定待处理图像中的像素与网格图中的网格的位置对应关系;检测待处理图像中的目标的多个初始关键点;基于美型规则,确定与初始关键点一一对应的多个美型关键点;对于网格的至少部分顶点,以每个初始关键点为控制点,以每个美型关键点为对应的控制点的移动后位置点,基于至少部分顶点的原始位置采用移动最小二乘法确定至少部分顶点的最终目的位置,并基于原始位置以及最终目的位置对网格进行形状调整,以获得形变后的网格图;以及基于位置对应关系,将待处理图像对应贴合至形变后的网格图上,以获得美型后的图像。
6.示例性地,在基于至少部分顶点的原始位置采用移动最小二乘法确定至少部分顶点的最终目的位置之前,方法还包括:对待处理图像进行目标检测,以获得目标检测结果;基于目标检测结果,确定待处理图像中的目标区域和非目标区域;以及基于待处理图像中的目标区域和非目标区域,确定至少部分顶点。
7.示例性地,基于待处理图像中的目标区域和非目标区域,确定至少部分顶点,包括:将待处理图像中的目标区域内的、网格的顶点确定为至少部分顶点。
8.示例性地,目标检测结果是区域分割图像,区域分割图像中的目标区域和非目标
区域中的像素的像素值不同;基于目标检测结果,确定待处理图像中的目标区域和非目标区域包括:针对区域分割图像中的目标区域和非目标区域的边界进行羽化处理,以获得羽化后的区域分割图像;基于羽化后的区域分割图像,确定区域分割图像中的经羽化边界区域、未羽化目标区域和未羽化非目标区域;将待处理图像中的、羽化边界区域和未羽化目标区域所对应的区域确定为待处理图像中的目标区域,并且将待处理图像中的、未羽化非目标区域对应的区域确定为待处理图像中的非目标区域;基于待处理图像中的目标区域和非目标区域,确定至少部分顶点,包括:将待处理图像中的目标区域内的、网格顶点确定为至少部分顶点。
9.示例性地,基于至少部分顶点的原始位置采用移动最小二乘法确定至少部分顶点的最终目的位置,包括:对于至少部分顶点的每一个,基于该顶点的原始位置采用移动最小二乘法确定该顶点的初始目的位置;基于羽化后的区域分割图像中的与该顶点的原始位置对应的像素的像素值,确定该顶点的位移权重;基于该顶点的原始位置、该顶点的初始目的位置以及该顶点的位移权重,确定该顶点的最终目的位置。
10.示例性地,基于该顶点的原始位置、该顶点的初始目的位置以及该顶点的位移权重,确定该顶点的最终目的位置,包括利用如下公式计算该顶点的最终目的位置:
11.v2=(1-a)
×
v+a
×
v1,
12.其中,a表示该顶点的位移权重,且0<a≤1,v表示该顶点的原始位置,v1表示该顶点的初始目的位置,v2表示该顶点的最终目的位置。
13.示例性地,基于至少部分顶点的原始位置采用移动最小二乘法确定至少部分顶点的最终目的位置,包括:对于至少部分顶点中的每一个,基于该顶点的原始位置和每个控制点的相对距离,确定每个控制点的加权权重;基于该顶点的加权权重,确定控制点的第一加权质心的位置和移动后位置点的第二加权质心的位置;基于该顶点的加权权重、每个控制点的位置、每个移动后位置点的位置、第一加权质心的位置以及第二加权质心的位置,确定该顶点的变形矩阵;基于该顶点的原始位置、变形矩阵、第一加权质心的位置以及第二加权质心的位置,确定该顶点的最终目的位置。
14.示例性地,目标包括人脸或者人体,基于美型规则,确定与初始关键点一一对应的多个美型关键点,包括:对于人脸或者人体,确定对人脸或者人体进行美型的参考点和/或参考线;以每个参考点为中心,将该参考点周围的第一临近点朝向该参考点或远离该参考点移动第一距离,和/或以每个参考线为中心,将该参考线两侧的第二临近点沿垂直于该参考线的方向朝向该参考线或者远离该参考线移动第二距离,以确定多个美型关键点,其中,第一距离与该参考点和第一临近点之间的距离成正比,第二距离与该参考线和第二临近点之间的距离成正比。
15.根据本技术第二方面,还提供一种电子设备,包括处理器和存储器,其特征在于,存储器中存储有计算机程序指令,计算机程序指令被处理器运行时用于执行上述图像处理方法。
16.根据本技术第三方面,还提供一种存储介质,在存储介质上存储了程序指令,程序指令在运行时用于执行上述图像处理方法。
17.根据本技术第四方面,还提供一种计算机程序产品,计算机程序产品包括计算机程序,计算机程序在运行时用于执行上述图像处理方法。
18.根据上述方案,通过获取对应待处理图像的网格图,并通过对网格图中的多个网格进行形状调整,进而将原始图像贴合至形变后的网格图上以实现对待处理图像中的目标的美型。在对网格的形状调整中,以待处理图像的目标的初始关键点为控制点,以基于美型规则获取的美型关键点为对应控制点的移动位置点,应用移动最小二乘法确定移动网格的至少部分顶点的最终目的位置。该方案可以适用于对多种姿态下的目标图像的美型,因此方案的通用性更强。该方案最终实现的目标的美型效果更自然、视觉效果更佳,用户体验更好。并且该方案简单,实施更便捷、美型效率也更高,便于实现图像的实时美型。
附图说明
19.通过结合附图对本技术实施例进行更详细的描述,本技术的上述以及其它目的、特征和优势将变得更加明显。附图用来提供对本技术实施例的进一步理解,并且构成说明书的一部分,与本技术实施例一起用于解释本技术,并不构成对本技术的限制。在附图中,相同的参考标号通常代表相同部件或步骤。
20.图1示出用于实现根据本技术实施例的图像处理方法和装置的示例电子设备的示意性框图;
21.图2示出根据本技术一个实施例的图像处理方法的示意性流程图;
22.图3示出根据本技术一个实施例的羽化后的区域分割图像的示意图;
23.图4示出根据本技术一个实施例的图像处理装置的示意性框图;以及
24.图5示出根据本技术一个实施例的电子设备的示意性框图。
具体实施方式
25.近年来,基于人工智能的计算机视觉、深度学习、机器学习、图像处理、图像识别等技术研究取得了重要进展。人工智能(artificial intelligence,ai)是研究、开发用于模拟、延伸人的智能的理论、方法、技术及应用系统的新兴科学技术。人工智能学科是一门综合性学科,涉及芯片、大数据、云计算、物联网、分布式存储、深度学习、机器学习、神经网络等诸多技术种类。计算机视觉作为人工智能的一个重要分支,具体是让机器识别世界,计算机视觉技术通常包括人脸识别、解锁、指纹识别与防伪验证、生物特征识别、人脸检测、行人检测、目标检测、行人识别、图像处理、图像识别、图像语义理解、图像检索、文字识别、视频处理、视频内容识别、三维重建、虚拟现实、增强现实、同步定位与地图构建(slam)、计算摄影、机器人导航与定位等技术。随着人工智能技术的研究和进步,该项技术在众多领域展开了应用,例如安全防控、城市管理、交通管理、楼宇管理、园区管理、人脸通行、人脸考勤、物流管理、仓储管理、机器人、智能营销、计算摄影、手机影像、云服务、智能家居、穿戴设备、无人驾驶、自动驾驶、智能医疗、人脸支付、人脸解锁、指纹解锁、人证核验、智慧屏、智能电视、摄像机、移动互联网、网络直播、美颜、美妆、医疗美容、智能测温等领域。
26.为了使得本技术的目的、技术方案和优点更为明显,下面将参照附图详细描述根据本技术的示例实施例。显然,所描述的实施例仅仅是本技术的一部分实施例,而不是本技术的全部实施例,应理解,本技术不受这里描述的示例实施例的限制。基于本技术中描述的本技术实施例,本领域技术人员在没有付出创造性劳动的情况下所得到的所有其它实施例都应落入本技术的保护范围之内。
27.图像处理例如图像中目标的美型可以是对图像进行处理以改变图像中目标的形状,从而使目标更符合审美标准的方法。可以理解,审美标准不是唯一的。可以基于不同的审美标准对图像中的目标进行不同的美型操作。例如,有些人认为大眼睛为美,可以通过图像中目标的美型,调大目标的眼睛。又例如,有些人觉得眯眯眼有趣,可以通过图像中目标的美型,调小目标的眼睛。
28.如上所述,对于现有技术中的图像处理方法,可以根据美型规则,将预设好的目标关键点网格的顶点拉伸至对应的位置处,并将原图贴合至拉伸后的网格图上,以实现图像中目标的美型。但是,由于目标的关键点网格与目标的姿态密切相关,而上述方法中的关键点网格是基于特定姿态下的目标图像而设定,因此在图像中目标处于不同的姿态下时,其最终实现的美型效果并不理想,如容易出现部分目标区域扭曲断裂等问题。因此,该方法通用性不强,用户体验也不好。
29.为了至少部分地解决上述技术问题,本技术实施例提供了一种图像处理方法、电子设备、存储介质及计算机程序产品。根据本技术实施例的图像处理方案通过构建对应原始图像的网格图,并以目标关键点为控制点,移动网格图中网格的顶点至目的位置以调整网格的形状。该方法中的上述网格不依赖于目标关键点,与目标的姿态无关,因此美型后的背景区域不会对目标区域产生遮挡,成功地实现了图像中目标在各种不同姿态下的美型效果均较好的目的。
30.首先,参照图1来描述用于实现根据本技术实施例的图像处理方法和装置的示例电子设备100。
31.如图1所示,电子设备100包括一个或多个处理器102、一个或多个存储装置104。可选地,电子设备100还可以包括输入装置106、输出装置108、以及图像采集装置110,这些组件通过总线系统112和/或其它形式的连接机构(未示出)互连。应当注意,图1所示的电子设备100的组件和结构只是示例性的,而非限制性的,根据需要,所述电子设备也可以具有其他组件和结构。
32.所述处理器102可以采用数字信号处理器(dsp)、现场可编程门阵列(fpga)、可编程逻辑阵列(pla)、微处理器中的至少一种硬件形式来实现,所述处理器102可以是中央处理单元(cpu)、图像处理器(gpu)、专用的集成电路(asic)或者具有数据处理能力和/或指令执行能力的其它形式的处理单元中的一种或几种的组合,并且可以控制所述电子设备100中的其它组件以执行期望的功能。
33.所述存储装置104可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(ram)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(rom)、硬盘、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器102可以运行所述程序指令,以实现下文所述的本技术实施例中(由处理器实现)的功能。在所述计算机可读存储介质中还可以存储各种应用程序和各种数据,例如所述应用程序使用和/或产生的各种数据等。
34.所述输入装置106可以是用户用来输入指令的装置,并且可以包括键盘、鼠标、麦克风和触摸屏等中的一个或多个。
35.所述输出装置108可以向外部(例如用户)输出各种信息(例如图像和/或声音),并
且可以包括显示器、扬声器等中的一个或多个。可选地,所述输入装置106和所述输出装置108可以集成在一起,采用同一交互装置(例如触摸屏)实现。
36.所述图像采集装置110可以采集图像,并且将所采集的图像存储在所述存储装置104中以供其它组件使用。图像采集装置110可以是单独的相机或移动终端中的摄像头等。应当理解,图像采集装置110仅是示例,电子设备100可以不包括图像采集装置110。在这种情况下,可以利用其他具有图像采集能力的器件采集图像,并将采集的图像发送给电子设备100。
37.示例性地,用于实现根据本技术实施例的图像处理方法和装置的示例电子设备可以在诸如个人计算机、移动终端或远程服务器等的设备上实现。
38.下面,将参考图2描述根据本技术实施例的图像处理方法。图2示出根据本技术一个实施例的图像处理方法的示意性流程图。如图2所示,图像处理方法2000包括步骤s2100、s2200、s2300、s2400、s2600和步骤s2700。
39.步骤s2100,获取待处理图像。
40.根据本技术实施例,可以采用任何现有的或者未来的图像获取方式获取待处理图像。例如,可以通过上述电子设备100中的图像采集装置110拍摄得到待处理图像。图像采集装置可以是具有合适配置参数的照相机或者摄像机。待处理图像可以是通过照相机拍摄到的目标的静态图像,也可以是通过摄像机实时获取的目标的连续动态视频帧中的每一帧或者多帧。
41.待处理图像可以是图像采集装置直接采集到的原始图像,也可以是对原始图像进行预处理操作后的图像。该预处理操作可以包括为了改善图像的视觉效果,提高图像的清晰度,或是突出图像中的某些特征等便于对目标进行美型的所有操作。例如,预处理操作可以包括滤波等去噪操作,也可以包括图像参数的调整如图像灰度、对比度、亮度等的调整,还可以包括图像裁剪或者图像缩放等操作。
42.待处理图像可以是任何合适的图像。其可以是二维图像,也可以是三维图像;可以是黑白图像,也可以是彩色图像;其可以是任意大小的图像,也可以是满足预设分辨率要求的图像。本技术可以不对其进行限制,只要图像中包含要美型的目标即可。
43.待处理图像中的目标可以是任何具有形状特征的目标物体。可选地,待处理图像中的目标可以是真实的或者虚拟的人体整体。替代地,待处理图像中的目标可以是人体局部,例如人脸、腰部、手部或者足部。又或者,待处理图像中的目标可以是其他动物或者静物。只要是具有形状特征的、且具有美型需求的一切物体均可以作为待处理图像中的目标,都在本技术的保护范围内。
44.待处理图像中的目标可以具有任何合适的姿态。例如,待处理图像是人脸图像,图像中的人脸可以是正脸姿态,也可以是侧脸姿态或者其他姿态,只要其中包含人脸信息即可。
45.步骤s2200,获取网格图并确定所述待处理图像中的像素与所述网格图中的网格的位置对应关系。
46.根据本技术实施例,网格图可以是与待处理图像的尺寸成比例关系的图。该网格图可以是能够将待处理图像的全部图像区域进行网格划分所建立的像素位置映射图。可以采用任何现有的或者未来的可以实现的网格图构建方法构建网格以获取网格图。可以理
解,该网格构建操作可以是直接针对待处理图像的整个图像区域进行多网格的划分,所划分的网格与待处理图像中的目标无关。
47.网格图中可以包括多个网格,该多个网格可以是二维网格,也可以是三维网格。对于待处理图像是二维图像的,网格图中的多个网格可以是二维网格;对于待处理图像是三维图像的,网格图可以是二维网格图例如网格的uv位置图,当然也可以是三维网格图。该多个网格可以是任何合适形状的网格,可以是三角形网格,也可以是正方形网格,还可以是长方形网格或者其他多边形网格。该网格图中,任意两个网格的形状和大小可以完全相同,也可以不完全相同。具体地,利用该网格图可以对待处理图像的整个图像区域进行网格划分。例如,网格图可以沿着待处理图像的宽度和高度方向将待处理图像的整个图像区域平均划分为多个正方形网格或者长方形网格。或者,可以沿着与待处理图像的对角线平行的方向将待处理图像的整个图像区域划分为多个菱形和三角形。当然,也可以沿着其他合适的方向将待处理图像的整个图像区域划分为多个其他形状的网格。网格图可以包括任何合适数目的网格。例如网格图可以沿待处理图像的宽度和高度方向将待处理图像的整个图像区域划分为m*n个网格,m和n可以是任何大于或等于2的整数。
48.根据本技术实施例,可以根据构建的多网格的网格图中每个网格的位置和待处理图像中每个像素的位置,确定待处理图像中的像素与每个网格的位置对应关系。例如,可以根据待处理图像中每个像素的坐标和网格图中网格顶点的坐标,确定待处理图像中的像素与网格图中的网格的位置对应关系。例如,可以确定待处理图像中与每个网格的顶点的坐标相同的像素,进而可以确定待处理图像中对应每个网格的所有像素。容易理解,每个网格均可以对应待处理图像中的对应该网格区域的多个像素。在待处理图像的大小固定的情况下,与网格图中的每个网格对应的待处理图像中的像素的数目可以与网格的数目成反比,如网格图中的网格越多,与每个网格对应的待处理图像中的像素的数目越少。
49.网格图中的每个网格可以至少包括三个顶点,每个顶点可以对应待处理图像中的某一个或多个像素点。每个顶点的位置坐标与待处理图像中的对应像素的位置坐标相同。容易理解,对于每个顶点而言,在网格图是二维的情况下,每个顶点的位置可以视作一个二维向量;在网格图是三维的情况下,每个顶点的位置可以视作一个三维向量。
50.步骤s2300,检测待处理图像中的目标的多个初始关键点。
51.在步骤s2300,可以采用任何现有的或者未来的可以实现的目标关键点检测方法检测待处理图像中的目标的初始关键点。下面以待处理图像中的目标是人脸为例,对该步骤的实施方式进行展开阐释。
52.待处理图像可以是人脸图像,初始关键点可以是人脸关键点。示例性而非限制性地,可以首先采用基于深度学习的人脸检测模型检测待处理图像中的人脸区域。然后,采用人脸关键点定位模型识别人脸区域中的人脸关键点的位置。人脸检测模型可以是各种合适的目标检测模型,例如可以是yolo模型、级联卷积神经网络模型(convolutional neural network cascade for face detection,简称cascade-cnn)、多任务卷积神经网络模型(multi-task cascaded convolutional neural network,简称mtcnn)等。人脸关键点定位模型可以是主动形状模型(active shape model,简称asm)、主动外观模型(active appearance model,简称aam),级联姿势回归模型(cascaded pose regression,简称cpr)等。
53.人脸关键点可以是人脸各关键部位的特征点。人脸关键部位例如人脸整体轮廓、眉毛、眼睛、鼻子、嘴巴。人脸关键点可以是这些关键部位的轮廓点和角点。人脸关键点数目可以是任何合适的大于2的整数。例如,人脸关键点的数目可以是68个或者81个。每个人脸关键部位中的每两个相邻人脸关键点在图像中的距离可以相同,也可以不同。不同人脸关键部位的关键点的数目可以相同,也可以不同。
54.步骤s2400,基于美型规则,确定与初始关键点一一对应的多个美型关键点。
55.根据本技术实施例,美型规则可以是为了实现对目标的整体或者某些关键部位的美型而设定的、对目标的整体形状或局部形状的调整方法或者调整标准。人脸图像的美型规则可以包括人脸轮廓的修正规则和五官的修正规则。人脸轮廓的修正规则可以包括眼睛大小的调整规则、鼻子形状的调整规则、眉毛形状和位置的调整规则、嘴巴形状、大小及位置的修正规则等等。具体地,对于每个关键部位的调整规则,还可以包括对于该部位的初始关键点的位置的调整规则。可选地,该美型规则可以指示初始关键点朝预设方向移动预设距离。或者,替代地,该美型规则还可以指示预设距离的计算方法。对于美型规则的具体示例将在后文进行阐述,在此不再赘述。
56.基于上述美型规则,可以确定与每个初始关键点一一对应的美型关键点。每个初始关键点对应唯一一个美型关键点。每个美型关键点可以表示将对应的初始关键点按照美型规则中指示的方法向预设方向移动预设距离后所确定的点的位置。
57.容易理解,美型关键点可以表示对图像中的目标美型后的目标关键点的位置。例如,待处理图像是人脸图像,美型关键点是将图像中的人脸进行美型后,如瘦脸后的人脸图像中的人脸关键点。本领域普通技术人员容易理解该方案,在此不再赘述。
58.步骤s2600,对于网格的至少部分顶点,以每个初始关键点为控制点,以每个美型关键点为对应的控制点的移动后位置点,基于至少部分顶点的原始位置采用移动最小二乘法确定至少部分顶点的最终目的位置,并基于原始位置以及最终目的位置对网格进行形状调整,以获得形变后的网格图。
59.可以通过将网格图的多个网格进行形状调整来达到对待处理图像中的目标的美型的目的。可以通过将网格的至少部分顶点由原始位置移动至最终目的位置以实现对多个网格的形状调整。网格的至少部分网格可以是全部网格,也可以是基于一定的筛选标准筛选出的部分网格的全部顶点或者部分顶点。
60.可以首先确定需要移动的网格顶点,然后可以针对每个顶点,采用移动最小二乘法确定移动该顶点的目的位置。可以将步骤s2300所确定的每个初始关键点设置为移动这些顶点的参考控制点,将步骤s2400所确定的美型关键点设置为对应的控制点的移动后位置点。即,可以基于待处理图像中的目标的初始关键点和美型关键点的相对位置关系来控制网格顶点的移动,以此调整网格的形状,对待处理图像中的目标进行美型。具体地,可以首先确定网格的至少部分顶点,然后根据移动最小二乘法的变形算法,计算出所确定的至少部分顶点的目的位置。例如,可以将至少部分顶点中的每一个的坐标、待处理图像中的目标的初始关键点的坐标、对应的美型关键点的坐标作为已知量,并将对网格进行变形后的该顶点的目的位置点的坐标作为未知量,采用移动最小二乘法的原理求解该未知量。并进一步确定出该顶点的最终目的位置点的坐标。
61.对于上述网格的至少部分顶点中的每个顶点,在确定该顶点的最终目的位置的坐
标之后,可以进一步基于每个顶点的原始位置和最终目的位置对相应的网格进行形状调整,以获得形变后的网格图。例如,网格图中的网格是正方形网格。对于其中的每个正方形网格,可以首先确定该网格的哪几个顶点属于上述至少部分顶点。然后可以通过移动最小二乘法分别计算并确定这几个顶点的最终目的位置的坐标。最后,可以用确定的每个顶点的最终目的坐标替换原始位置坐标,以得到形变后的该网格。例如,该正方形网格的四个顶点均属于上述至少部分顶点,则可以将4个顶点的原始位置坐标均替换为最终目的坐标,以得到形变后的该网格。
62.容易理解,形变后的多个网格形成的网格图与原始网格图中的多个网格的形状可以不同。例如,原始网格图中的每个网格是正方形网格,则形变后的每个网格可以是各种可能形状的四边形,如长方形、梯形、菱形等。形变后的网格图中的多个网格与原始网格一一对应。例如,多个原始网格的数目为100个,则形变后的多个网格的数目也可以是100个。在100个网格中,形状发生变化的网格可以是全部网格也可以是部分网格。例如,实际形状发生变化的网格数目可以为50个、80个、100个。
63.步骤s2700,基于待处理图像中的像素与网格的位置对应关系,将待处理图像对应贴合至形变后的网格图上,以获得美型后的图像。
64.根据前述陈述,在步骤s2200获取的网格图中,每个网格均可以对应待处理图像中的对应该网格区域的多个像素。可以基于每个网格的顶点的位置坐标定位出待处理图像中的对应坐标位置的像素,进而可以定位出与每个网格的位置区域所对应的待处理图像中的多个像素。
65.在通过步骤s2600确定了形变后的网格图之后,可以在步骤s2700基于每个网格与待处理图像中的像素的对应关系,将待处理图像贴合至形变后的网格图上,以获得美型后的图像。将待处理图像贴合至形变后的网格图上的过程可以视作纹理贴合的过程。可以采用任何现有的或者未来的可以实现的纹理贴合方法实现上述步骤。
66.示例性而非限制性地,可以采用仿射变换的方式实现步骤s2700。即,可以基于每个原始网格中网格的每个顶点与形变后的网格图中网格的对应顶点的位置坐标,确定将原始网格变换为形变后的网格图的仿射变换矩阵。然后,可以基于每个网格与待处理图像中的多个像素的对应关系,根据该仿射变换矩阵对待处理图像中的至少部分像素进行变换,得到的变换后的图像即为美型后的图像。
67.容易理解,美型后的图像与待处理图像相比,实际形变的网格所对应的像素发生变化。如,在前述原始网格数目为100个,实际发生形状变化的网格数目为50个的示例中,在将待处理图像贴合至形变后的网格图上所得到的美型后的图像,相比待处理图像,则有50个网格对应的像素区域发生变化,而另50个网格所对应的像素则可以不变。
68.在上述步骤中,各个步骤的序号并不代表其执行顺序,各个步骤可以按照任何合适的顺序执行。例如,步骤s2300可以在步骤s2200后执行,也可以在步骤s2200前执行,两者还可以同时执行。
69.根据上述方案,通过获取对应待处理图像的网格图,并通过对网格图中的多个网格进行形状调整,进而将原始图像贴合至形变后的网格图上以实现对待处理图像中的目标的美型。在对网格的形状调整中,以待处理图像的目标的初始关键点为控制点,以基于美型规则获取的美型关键点为对应控制点的移动位置点,应用移动最小二乘法确定移动网格的
至少部分顶点的最终目的位置。该方案可以适用于对多种姿态下的目标图像的美型,因此方案的通用性更强。该方案最终实现的目标的美型效果更自然、视觉效果更佳,用户体验更好。并且该方案简单,实施更便捷、美型效率也更高,便于实现图像的实时美型。
70.示例性地,根据本技术实施例的图像处理方法可以在具有存储器和处理器的设备、装置或者系统中实现。
71.根据本技术实施例的图像处理方法可以部署在图像采集端处,例如,可以部署在个人终端或服务器端处。
72.替代地,根据本技术实施例的图像处理方法还可以分布地部署在服务器端(或云端)和个人终端处。例如,可以在客户端采集待处理图像,客户端将待处理图像传送给服务器端(或云端),由服务器端(或云端)进行待处理图像处理。
73.示例性地,每个网格对应待处理图像中的第一数目的像素,第一数目小于数目阈值。
74.第一数目可以是任何合适大于零的数目,例如10、20、50等。容易理解,对于大小固定的待处理图像,第一数目越小,网格越密集,网格的顶点数目越多。由此,在步骤s2600中实际发生形变的网格数目越多,美型的效果也越自然。
75.根据本技术实施例,可以设置第一数目小于数目阈值,数目阈值例如10、20等任何合适的数值。数目阈值可以根据需要进行调整。可选地,在待处理图像本身分辨率较高的情况下,为了保证计算速度可以将数目阈值设置的较大;而在待处理图像本身分辨率较小的情况下,为了保证美型的精度可以将数目阈值设置的较小。替代地,对于一系列图像大小完全相同的待美型的视频帧图像而言,可以设置数目阈值为能够保证一定美型精度和较快计算速度的固定值,进而可以实现图像中目标的实时美型。
76.根据上述方案,可以设置网格中对应待处理图像中的像素数目小于数目阈值,图像中目标的美型效果更自然,视觉效果更好。
77.示例性地,网格中的任意两个网格具有相同的形态。
78.多个网格可以是大小相同的正方形网格、长方形网格、三角形网格等。在一个示例中,网格图中的网格可以沿着待处理图像的宽度方向和高度方向,对应于待处理图像的m*n个形状完全相同的方形区域。在另一示例中,网格图中包括多个形状相同但是位姿不同的直角三角形网格,斜边重合的两个三角形网格可以构成一个方形网格。
79.根据上述方案,网格图中包括多个形态完全相同的网格,网格图的数据表达更简便,网格和网格顶点的分布也更均匀。方便计算网格的至少部分顶点的最终目的位置,同时网格形状的调整也较为均衡,实现的美型效果也更自然。
80.示例性地,目标包括人脸或者人体。步骤s2400,基于美型规则,确定与初始关键点一一对应的多个美型关键点,包括步骤s2410和步骤s2420。步骤s2410,对于人脸或者人体,确定对人脸或者人体进行美型的参考点和/或参考线。步骤s2420,以每个参考点为中心,将该参考点周围的第一临近点朝向该参考点或远离该参考点移动第一距离,以确定多个美型关键点;和/或以每个参考线为中心,将该参考线两侧的第二临近点沿垂直于该参考线的方向朝向该参考线或者远离该参考线移动第二距离,以确定多个美型关键点。其中,第一距离与该参考点和第一临近点之间的距离成正比,第二距离与该参考线和第二临近点之间的距离成正比。
81.根据本技术实施例,待处理图像中的目标可以是人脸或者人体,即待处理图像可以是人脸图像或者人体图像。人脸图像可以是包括完整人脸在内的图像,其可以是任何姿态的人脸图像,本技术不对其进行限制,只要其中包括必要的人脸特征即可,例如人脸图像中可以包括人的五官的全部或者部分。人体图像可以是包括人体全身或者人体局部的图像,例如全身人像或者半身人像等。
82.在步骤s2410,可以首先确定对人脸或者人体进行美型的参考点和/或参考线。参考点和参考线均可以根据美型的需求进行设置。
83.参考点可以是待美型的关键部位的中点或者角点等特征点。以人脸美型为例,人脸美型可以包括调大眼睛,参考点可以包括眼睛的中心点、内眼角点、外眼角点等。
84.参考线可以是待美型的关键部位的中线或者美学比例的参考线等。例如,人脸美型包括瘦脸,则瘦脸的参考线可以包括人脸的正中线。又例如,人脸美型包括对五官大小和位置的调整,则美型参考线还可以包括中庭线和黄金比例分割线。
85.在确定对人脸或者人体进行美型的参考点的情况下,可以在步骤s2420,以每个参考点为中心,将该参考点周围的第一临近点朝向该参考点或远离该参考点移动第一距离,以确定多个美型关键点。第一临近点可以包括多个初始关键点中的部分初始关键点。以上述的眼部美型为例,参考点可以是眼睛的中心点,例如左眼的中心点,第一临近点可以是表示眼部轮廓的初始关键点。眼部美型例如调整眼睛的纵向宽度。可以在步骤s2420,将初始关键点中表示左眼轮廓的关键点中除内外眼角点以外的其他关键点作为第一临近点,以该左眼中心点为中心,分别沿该中心点与每个关键点连线的方向移动第一距离。可以在调大该纵向宽度时,将第一临近点向着远离该中心点的方向移动第一距离,而在调小该纵向宽度时,将第一临近点向着该中心点的方向移动第一距离。
86.第一距离可以根据预设的美型算法计算出,如最小二乘法或等比例计算法等。第一距离可以与该参考点和第一临近点之间的距离成正比。参考点和第一临近点之间的距离越大,将该第一临近点移动的第一距离越大。在上述示例中,可以通过移动眼睛上下轮廓的关键点的位置,来实现放大眼睛的纵向宽度。例如,理想眼睛的纵向宽度与美型前的眼睛的纵向宽度的比值为1.5。每一临近点如左眼上下边缘的轮廓点与左眼中心点的距离为w1,则第一距离可以等于0.25w1。当然,第一临近点也可以只包括左眼的上边缘的轮廓点。即可以保持眼睛的下边缘不动,只移动眼睛上边缘的轮廓点,此时第一距离可以等于0.5w1。由此得到的美型关键点所形成的眼睛轮廓的纵向宽度可以达到美型前的1.5倍。
87.在确定对人脸或者人体进行美型的参考线的情况下,可以在步骤s2420,以每个参考线为中心,将该参考线两侧的第二临近点沿垂直于该参考线的方向朝向该参考线或者远离该参考线移动第二距离,以确定多个美型关键点。以瘦腰为例,参考线可以是待处理图像中代表腰部中心的正中线,第二临近点可以是人体腰部区域的关键点,例如腰部左右两侧的轮廓点。具体地,可以在步骤s2420,以该腰部中心线为中心,将两侧的轮廓点沿着垂直于该正中线的方向、朝向该正中线移动第二距离。可以将左侧的轮廓点向右移动第二距离,得到新的左侧轮廓点,以作为对应的美型关键点。可以将右侧的轮廓点向左移动第二距离,并将得到的新的右侧轮廓点作为对应的美型关键点。
88.容易理解,对于不同位置的第二临近点,其移动的第二距离可以相同,
89.也可以不同,可以根据不同的美型需求进行任意设置。在上述示例中,第二距离与
该参考线和第二临近点之间的距离可以成正比。目标的美型可以包括瘦腰美型。例如,同样可以基于理想腰宽与待处理图像中的实际腰宽的比值计算第二距离,该比值例如是0.8。与上述确定第一距离的方法类似的,可以首先确定每个第二临近点与参考线的距离,即可以确定腰部两侧的轮廓点与腰部正中线之间的距离w2。然后,可以通过预设算法计算第二距离,第二距离例如是0.1w2。即,可以将腰部左右侧的轮廓点分别向内移动0.1w2,以得到的移动后的关键点,即美型关键点。容易理解,美型关键点形成的腰部轮廓的宽度减小到了原来的腰宽的0.8倍。
90.通过上述方法确定美型关键点之后,可以在步骤s2600中,将美型关键点作为网格调整的控制点的移动位置点,对网格的形状进行调整。由此,在步骤s2700中得到的美型后的图像可以达到预期的美型效果。即,上述通过确定参考点和/或参考线,将周围的临近点朝向参考点和/或参考线移动预设距离,以确定美型关键点的方法,可以有效保证待处理图像中的目标的美型的准确度,同时,还可以节约计算资源。
91.示例性地,在步骤s2600,基于至少部分顶点的原始位置采用移动最小二乘法确定至少部分顶点的最终目的位置之前,该方法2000还包括步骤s2510、步骤s2520和步骤s2530。步骤s2510,对待处理图像进行目标检测,以获得目标检测结果。步骤s2520,基于目标检测结果,确定待处理图像中的目标区域和非目标区域。步骤s2530,基于待处理图像中的目标区域和非目标区域,确定至少部分顶点。
92.根据本技术实施例,还可以通过目标检测的方法将待处理图像划分为目标区域和非目标区域,并基于这两个区域来确定步骤s2600中待进行形状调整的网格。
93.目标区域可以是目标所在的区域。在目标区域中,可以包括目标的全部也可以只包括目标的一部分。例如,待处理图像是人脸图像,则目标区域可以包括人脸所在的全部区域,也可以仅包括人脸所在的部分区域,例如目标区域仅包括面部中心区域。非目标区域可以是待处理图像中的目标区域以外的全部区域。例如,非目标区域可以是非人脸区域,如人脸以外的背景区域。
94.在步骤s2510,可以采用任何合适的目标检测方法对待处理图像进行目标检测。需要说明的是,此处的目标检测方法并不限于狭义的目标检测网络的方法,其还可以包括分类网络、分割网络等多种合适的检测方法。在一个示例中,可以将待处理图像输入至训练好的目标检测网络,以输出目标区域的位置框。在另一示例中,也可以将待处理图像输出训练好的分割网络中,以输出分割区域。
95.在步骤s2520,可以基于目标检测结果,例如基于目标检测网络输出的目标的位置框确定目标区域,并进一步确定非目标区域。在一个示例中,可以直接将待处理图像中的与该位置框对应的区域确定为目标区域,然后将待处理图像中除该目标区域以外的其他区域确定为非目标区域。在另一示例中,还可以基于预设的区域确定方法,将得到的目标检测结果进行处理之后,确定目标区域和非目标区域。例如,可以将目标检测网络中输出的待处理图像中的多个目标的位置框进行合并处理,将合并后的目标的位置区域作为目标区域。或者,还可以仅将待处理图像中的与满足预设要求的位置框或者分割区域所对应的区域确定为目标区域,而将其他区域确定为非目标区域。
96.在步骤s2530,可以基于确定的待处理图像中的目标区域和非目标区域,确定步骤s2600中待进行形状调整的网格,即确定至少部分顶点。可选地,可以基于两个区域中的一
个区域确定至少部分顶点,即可以将其中一个区域中的全部或部分网格的顶点作为至少部分顶点,如可以仅将目标区域中的部分或全部网格的顶点作为至少部分顶点。替代地,还可以将两个区域中的、满足预设位置要求的网格的顶点作为至少部分顶点。
97.根据上述方案,可以通过对待处理图像进行目标检测的方法,将待处理图像划分为目标区域和非目标区域,并基于确定的目标区域和非目标区域确定待形变的网格。通过该方法可以准确并快速地确定待形变的网格,可以进一步提高图像处理的效率和准确度。
98.示例性地,步骤s2530,基于待处理图像中的目标区域和非目标区域,确定至少部分顶点,包括步骤s2531,将待处理图像中的目标区域内的、网格的顶点确定为至少部分顶点。
99.在步骤2531,可以直接将待处理图像中的目标区域内的网格确定为待形变的网格。并可以在步骤s2600,采用移动最小二乘法确定目标区域内的网格的顶点的最终目的位置,以对网格进行形状的调整。
100.容易理解,在确定的目标区域中,位于区域中心的网格的所有顶点均可以落在该区域内。而位于区域边缘的网格则可能有部分顶点不在该区域内。可以仅将实际落在目标区域内的顶点作为至少部分顶点。或者,只要网格中存在部分落在目标区域内的情况,即可以将网格的全部顶点作为至少部分顶点。
101.通过上述方案,可以仅对目标区域内的网格的顶点进行移动,即对该区域内的网格进行形状调整,而对区域以外的网格则不进行形状调整。一方面可以较大程度地减少计算量,节约计算时间。另一方面,通过这种方法可以仅对待美型的目标区域的像素进行调整,而不改变背景区域的像素,可以有效解决背景区域的像素扭曲的问题,从而美型图像的视觉效果也更逼真。
102.示例性地,目标检测结果是区域分割图像,区域分割图像中的目标区域和非目标区域中的像素的像素值不同。步骤s2520,基于目标检测结果,确定待处理图像中的目标区域和非目标区域包括步骤s2521、步骤s2522和步骤s2523。步骤s2521,针对区域分割图像中的目标区域和非目标区域的边界进行羽化处理,以获得羽化后的区域分割图像。步骤s2522,基于羽化后的区域分割图像,确定区域分割图像中的经羽化边界区域、未羽化目标区域和未羽化非目标区域。步骤s2523,将待处理图像中的、羽化边界区域和未羽化目标区域所对应的区域确定为待处理图像中的目标区域,并且将待处理图像中的、未羽化非目标区域对应的区域确定为待处理图像中的非目标区域。步骤s2530,基于待处理图像中的目标区域和非目标区域,确定至少部分顶点,包括步骤s2532,将待处理图像中的目标区域内的、网格顶点确定为至少部分顶点。
103.根据本技术实施例,可以在步骤s2510,采用基于深度学习的图像分割算法实现对待处理图像的目标检测,获取的目标检测结果可以是待处理图像的区域分割图像。图像分割是指根据灰度、彩色、空间纹理、几何形状等特征把图像划分成若干个互不相交的区域,使得这些特征在同一区域内表现出一致性或相似性,而在不同区域间表现出明显的不同。获取的区域分割图像中的目标区域和非目标区域中的像素的像素值不同。例如,区域分割图像可以是二值化图像,目标区域的像素的像素值可以是255,非目标区域的像素的像素值可以是0。或者,区域分割图像还可以是归一化后的二值化图像,例如目标区域的像素的像素值可以是1,非目标区域的像素的像素值可以是0。
104.在步骤s2521,可以采用预设的羽化参数,对区域分割图像中的目标区域和非目标区域的边界进行羽化处理,以获得羽化后的区域分割图像。可以采用任何现有的或者未来可以实现的羽化方法实现上述步骤。
105.羽化参数可以包括羽化半径。羽化半径例如5px,10px或者20px。羽化参数还可以包括羽化方向。例如,可以沿着边界仅向目标区域内部的方向进行羽化,也可以以边界为中心,分别向目标区域内和非目标区域内的方向进行羽化,还可以仅向非目标区域内部的方向进行羽化。可以根据实际需要选择合适的羽化半径和羽化方向对目标区域和非目标区域的边界进行羽化。
106.容易理解,在区域分割图像中,由于目标区域和非目标区域的像素的像素值不同,因此被羽化的区域的像素的像素值发生改变。并且,被羽化的区域的像素的像素值与羽化前的目标区域和非目标区域的像素的像素值均不同,被羽化的区域的像素的像素值的大小界于羽化前的目标区域的像素的像素值和羽化前的非目标区域的像素的像素值之间。
107.因此,在步骤s2522,可以基于羽化后的区域分割图像的不同区域的像素值,将羽化后的区域分割图像划分为三个不同的区域,即可以确定区域分割图像中的经羽化边界区域、未羽化目标区域和未羽化非目标区域。容易理解,未羽化的目标区域和未羽化的非目标区域的像素的像素值未发生改变。
108.图3示出了根据本技术一个实施例的羽化后的区域分割图像的示意图。参考图3,待处理图像可以是人脸图像,羽化后的区域分割图像可以是与待处理图像的大小相同的类二值化图。示例性地,在该图像中,可以包含三个像素值不同的区域,不同区域具有不同的像素值。如图所述,该区域分割图可以包括未羽化目标区域310、羽化边界区域320、未羽化非目标区域330。在一个示例中,未羽化目标区域310的像素值可以为255,羽化边界区域320的像素值可以为区间(0,255)内的值,未羽化非目标区域330的像素值可以为0。示例性地,还可以将3个区域的像素值进行归一化之后得到归一后的区域分割图像,在归一后的区域分割图像中,未羽化目标区域310的像素值可以为1,羽化边界区域320的像素值可以为区间(0,1)内的值,未羽化非目标区域330的像素值可以为0。
109.羽化后的区域分割图像中的上述三个区域分别对应待处理图像中的三个不同区域。待处理图像可以是人脸图像,羽化后的区域分割图像中的未羽化目标区域310可以对应待处理图像中的包括额头在内的整个人脸轮廓内的区域,其可以是包括眼睛、鼻子、嘴巴在内的面部区域。羽化边界区域320可以是人脸轮廓以外与人脸区域的轮廓的距离小于距离阈值的区域,即邻近人脸轮廓的区域,距离阈值可以等于羽化半径20px。未羽化非目标区域330可以对应待处理图像中除了人脸区域和临近人脸轮廓区域以外的其他区域。
110.在步骤s2523,可以将待处理图像中的、羽化边界区域和未羽化目标区域所对应的区域确定为待处理图像中的目标区域,并且将待处理图像中的、未羽化非目标区域对应的区域确定为待处理图像中的非目标区域。以待处理图像是人脸图像为例,再次参考图3,可以将待处理图像中的、与图3中的未羽化目标区域310和羽化边界区域320对应的区域,即可以将人脸图像中的人脸区域和临近人脸轮廓区域的合并区域确定为目标区域,而人脸图像中与图3中的未羽化非目标区域330对应的区域确定为非目标区域。
111.进而,在步骤s2532,可以将待处理图像中的目标区域内的网格顶点确定为至少部分顶点。即,可以将人脸图像中的人脸区域和临近人脸轮廓区域的合并区域中的网格顶点
确定为至少部分顶点。在步骤s2600,可以对位于该合并区域内的网格进行形状调整,以得到形变后的网格图。最终,可以在步骤s2700获得对目标区域进行美型的图像。
112.根据上述方案,通过对待处理图像进行目标检测,获取包含目标区域和非目标区域的区域分割图像,然后对区域分割图像中的两个区域的边界进行羽化处理,得到未羽化目标区域、羽化边界区域和未羽化非目标区域。并将待处理图像中的、与未羽化目标区域和羽化边界区域对应的区域中的网格顶点确定为目标区域中的网格顶点,对该区域内的网格进行形状调整,以获取美型后的图像。该方案可以快速且准确地确定待形变的网格,进而可以提高图像处理的速度,有助于实现图像中目标的实时美型。并且,该方案还将目标轮廓附近的区域进行美型处理,可以提高美型图像的处理效果。
113.示例性地,步骤s2600,基于至少部分顶点的原始位置采用移动最小二乘法确定至少部分顶点的最终目的位置,包括对于至少部分顶点的每一个执行以下步骤s2610、步骤s2620和步骤s2630。步骤s2610,基于该顶点的原始位置采用移动最小二乘法确定该顶点的初始目的位置。步骤s2620,基于羽化后的区域分割图像中的与该顶点的原始位置对应的像素的像素值,确定该顶点的位移权重。步骤s2630,基于该顶点的原始位置、该顶点的初始目的位置以及该顶点的位移权重,确定该顶点的最终目的位置。
114.根据前述步骤,将待处理图像中的目标区域中的网格的顶点确定为至少部分顶点。对于该顶点中的每一个,可以在步骤s2610,基于该顶点的原始位置采用移动最小二乘法确定该顶点的初始目的位置。该顶点的原始位置可以是该顶点对应待处理图像中的坐标位置。例如,可以以待处理图像的左上角点为坐标原点建立坐标系,可以确定每个顶点对应待处理图像中的初始坐标。然后,基于每个顶点的初始坐标,以每个初始关键点为控制点,以每个美型关键点为对应的控制点的移动后位置点,采用移动最小二乘法,确定该顶点的初始目的位置。该初始目的位置,可以是基于移动最小二乘法计算出的顶点的预期目的坐标。本领域普通技术人员容易理解该方法的实现方式,在此不再赘述。
115.在步骤s2620,基于羽化后的区域分割图像中的与该顶点的原始位置对应的像素的像素值,确定该顶点的位移权重。区域分割图像与待处理图像的大小相同,可以根据该顶点对应待处理图像中的初始坐标定位区域分割图像中的具有相同坐标值的像素点。然后,可以根据该像素点的像素值确定该顶点的位移权重。可以采用多种合适的方法确定该顶点的位移权重。
116.可选地,该顶点的位移权重可以与该像素点的像素值成反比,即像素点的像素值越大,顶点的位移权重越小。例如,在区域分割图像中的未羽化目标区域的像素值大于羽化边界区域的像素值,则对应未羽化目标区域中的网格顶点的位移权重可以设置的较小,而对应羽化边界区域的网格顶点的位移权重则可以设置的较大。
117.替代地,该顶点的位移权重可以与该像素点的像素值成正比,即像素点的像素值越大,该顶点的位移权重越大。在图3示出的羽化后的区域分割图像中,羽化边界区域320的各像素的像素值可以是1~254,而未羽化目标区域310的各像素的像素值为255。则可以将落在未羽化目标区域310中的网格顶点的位移权重设置的较大,例如为1。而可以将落在羽化边界区域320中的网格顶点的位移权重设置的较小,例如0~1,例如该区域中与某一网格顶点对应的像素点的像素值为150,则可以将该顶点的位移权重等比例设置为0.59。
118.在一个示例中,羽化后的区域分割图像可以是像素归一化后的区域分割图像。在
这种示例中,该顶点的位移权重可以等于羽化后的区域分割图像中的与该顶点的原始位置对应的像素的像素值。
119.在确定了每个顶点的原始位置、初始目的位置和位移权重之后,可以在步骤s2630,基于该顶点的原始位置、该顶点的初始目的位置以及该顶点的位移权重,确定该顶点的最终目的位置。该顶点的最终目的位置可以是形变后的网格的顶点的实际位置,例如用形变后的网格的至少部分顶点的实际坐标表示。示例性而非限制性地,对于每个顶点,其位移权重越大,该最终目的位置可以越接近于初始目的位置而越远离其原始位置;反之,其位移权重越小,则该顶点的最终目的位置可以越接近于其原始位置而越远离其初始目的位置。容易理解,对于图3示出的羽化后的区域分割图像中,对应羽化边界区域320中的网格顶点,其最终目的位置可以在顶点的原始位置和初始目的位置之间。而对应未羽化目标区域310中的每个网格顶点,其最终目的位置可以等于其初始目的位置。而对应于未羽化非目标区域330中的每个网格顶点,则可以不对其进行移动,即保持该顶点为原始位置不变。即,可以对与目标相关程度较大的区域进行较大力度地美型,而对与目标相关程度较小的区域则进行较小力度地美型,对于目标不相关的区域则不进行美型。
120.由此,可以实现对待处理图像的目标的分区域美型处理。该方案简单,
121.处理效率铰高,并且美型效果也较自然。
122.在一个示例中,步骤s2630,基于该顶点的原始位置、该顶点的初始目的位置以及该顶点的位移权重,确定该顶点的最终目的位置,包括利用如下公式计算该顶点的最终目的位置:
123.v2=(1-a)
×
v+a
×
v1,
124.其中,a表示该顶点的位移权重,且0<a≤1,v表示该顶点的原始位置,v1表示该顶点的初始目的位置,v2表示该顶点的最终目的位置。
125.根据本技术实施例,可以将至少部分顶点中的每个顶点的原始坐标、初始目的位置坐标、以及位移权重作为已知量,代入上述公式中,既可以快速得到每个顶点的最终目的位置的坐标,进而可以得到形变后的网格图。
126.根据前述示例,羽化后的区域分割图像可以是像素归一化后的区域分割图像,至少部分顶点中的每个顶点的位移权重可以直接等于羽化后的区域分割图像中的与该顶点的原始位置对应的像素的像素值。在该示例中,可以直接将羽化后的区域分割图像中与每个顶点对应的像素的像素值作为上述公式中的a值代入上述公式中,得到每个顶点的最终目的位置。参考图3,对应未羽化目标区域310中的每个网格顶点的位移权重可以为1,即该区域中的网格顶点的最终目的位置等于初始目的位置。对于羽化边界区域320中的每个网格顶点,其位移权重可以为0~1。并且该区域中的顶点距离未羽化目标区域310越近,其位移权重越接近1,即网格顶点的最终目的位置距离初始目的位置越近。而顶点距离未羽化非目标区域330越近,其位移权重越接近0,即网格顶点的最终目的位置距离初始目的位置越远,距离原始位置越近。对应未羽化非目标区域330中的每个网格顶点则不移动,即位于原始位置不变。
127.通过上述方案,可以依据羽化后的区域分割图像中的各像素的像素值,对待处理图像中的目标区域的进行不同程度的美型。由于羽化边界区域的像素的像素值为朦胧渐进变化,因此对该区域的美型处理可以更平滑,美型后的图像的视觉效果更佳。
128.示例性地,步骤s2600,基于至少部分顶点的原始位置采用移动最小二乘法确定至少部分顶点的最终目的位置,包括对于至少部分顶点中的每一个执行以下步骤s2611、步骤s2612、步骤s2613和步骤s2614。步骤s2611,基于该顶点的原始位置和每个控制点的相对距离,确定每个控制点的加权权重。步骤s2612,基于该顶点的加权权重,确定控制点的第一加权质心的位置和移动后位置点的第二加权质心的位置。步骤s2613,基于该顶点的加权权重、每个控制点的位置、每个移动后位置点的位置、第一加权质心的位置以及第二加权质心的位置,确定该顶点的变形矩阵。步骤s2614,基于该顶点的原始位置、变形矩阵、第一加权质心的位置以及第二加权质心的位置,确定该顶点的最终目的位置。
129.在步骤s2611,对于至少部分顶点中的每一个,基于该顶点的原始位置和每个控制点的相对距离,确定每个控制点的加权权重。可以通过以下公式,确定第i个控制点的加权权重wi,其中i=1,2,

n,n为控制点的总个数
[0130][0131]
其中,pi表示第i个控制点的位置向量,v表示每个顶点的原始位置向量,α表示大于0的已知参数。
[0132]
在上述公式中,pi和v均可以是二维向量。α可以根据需要进行设置,其可以是大于0的任何合适的数字,例如2。可以首先得到每个控制点即每个初始关键点的位置向量以及顶点的位置向量,然后将该向量代入上述公式中进行计算,可以得到每个控制点的加权权重。容易理解,控制点与顶点的相对距离越大,则加权权重越小。
[0133]
在步骤s2612,可以采用以下公式,基于上述步骤得到的该顶点的加权权重wi,计算所有控制点的第一加权质心的位置p*和所有控制点的移动后位置点的第二加权质心的位置q*:
[0134][0135][0136]
在该公式中,qi表示第i个控制点的移动后位置点的位置向量。qi可以是二维向量。可以将每个初始关键点的加权权重和每个初始关键点的位置向量以及将每个初始关键点的加权权重和与每个初始关键点对应的美型关键点的位置向量分别代入上述两个公式中进行计算,即可得到p
*
和q
*
的二维向量。
[0137]
在步骤s2613,可以进一步采用以下公式,基于该控制点的加权权重wi、每个控制点的位置、每个移动后位置点的位置、第一加权质心的位置p
*
以及第二加权质心的位置q
*
,计算该顶点的变形矩阵m:
[0138][0139]
在该公式中,pj可以表示任一不同于pi的控制点的位置向量。可以将每个初始关键
点的位置向量、每个美型关键点的位置向量及每个初始关键点的加权权重,以及第一加权质心点的位置向量和第二加权质心点的位置向量分别代入该公式中进行计算,可以得到该顶点的变形矩阵m。m可以是一个2
×
2的变形矩阵。
[0140]
最后,在步骤s2614,可以通过首先通过如下公式,基于该顶点的原始位置向量v、变形矩阵m、第一加权质心的位置向量p
*
以及第二加权质心q
*
的位置,计算得到该顶点的初始目的位置v2:
[0141]
v2=(v-p
*
)
·
m+q
*
[0142]
即,可以将每个顶点的原始位置向量v、变形矩阵m、第一加权质心的位置向量p
*
以及第二加权质心q
*
代入上述公式中进行计算,得到该顶点的初始目的位置v2。该初始目的位置v2可以是一个二维向量。可以将该初始目的位置v2直接作为最终目的位置。替代地,还可以基于该顶点的初始目的位置和原始位置得到该顶点的最终目的位置。例如,可以通过上述步骤s2610至步骤s2630的方法,确定该顶点的最终目的位置。本领域普通技术人员容易理解该方案的实现方式,在此不再赘述。
[0143]
根据上述方案,可以通过移动最小二乘法确定至少部分网格顶点的变形矩阵,进而确定网格顶点的最终移动位置点,以对网格进行形变,由此实现对待处理图像中的目标的美型。这种方案既可以准确实现预期的目标美型,并且目标的形变更平滑自然,处理后的图像的视觉效果更好。
[0144]
根据本技术另一方面,提供一种图像处理装置。图4示出了根据本技术一个实施例的图像处理装置400的示意性框图。
[0145]
如图4所示,根据本技术实施例的图像处理装置400包括获取模块410、获取网格模块420、检测模块430、确定模块440、形状调整模块450和贴合模块460。各个模块可分别执行上文中图2描述的图像处理方法200的各个步骤。以下仅对该图像处理装置400的各部件的主要功能进行描述,而省略以上已经描述过的细节内容。
[0146]
获取模块410,用于获取待处理图像。
[0147]
获取网格模块420,用于获取网格图并确定待处理图像中的像素与网格图中的网格的位置对应关系。
[0148]
检测模块430,用于检测待处理图像中的目标的多个初始关键点。
[0149]
确定模块440,用于基于美型规则,确定与初始关键点一一对应的多个美型关键点。
[0150]
形状调整模块450,用于对于网格的至少部分顶点,以每个初始关键点为控制点,以每个美型关键点为对应的控制点的移动后位置点,基于至少部分顶点的原始位置采用移动最小二乘法确定至少部分顶点的最终目的位置,并基于原始位置以及最终目的位置对网格进行形状调整,以获得形变后的网格图。
[0151]
贴合模块460,用于基于位置对应关系,将待处理图像对应贴合至形变后的网格图上,以获得美型后的图像。
[0152]
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出
本技术的范围。
[0153]
图5示出了根据本技术一个实施例的电子设备500的示意性框图。电子设备500包括存储器510和处理器520。存储器510存储用于实现根据本技术实施例的图像处理方法中的相应步骤的计算机程序指令。处理器520用于运行存储器510中存储的计算机程序指令,以执行根据本技术实施例的图像处理方法的相应步骤。
[0154]
在一个实施例中,计算机程序指令被处理器520运行时用于执行以下步骤:获取待处理图像;获取网格图并确定待处理图像中的像素与网格图中的网格的位置对应关系;检测待处理图像中的目标的多个初始关键点;基于美型规则,确定与初始关键点一一对应的多个美型关键点;对于网格的至少部分顶点,以每个初始关键点为控制点,以每个美型关键点为对应的控制点的移动后位置点,基于至少部分顶点的原始位置采用移动最小二乘法确定至少部分顶点的最终目的位置,并基于原始位置以及最终目的位置对网格进行形状调整,以获得形变后的网格图;基于位置对应关系,将待处理图像对应贴合至形变后的网格图上,以获得美型后的图像。
[0155]
示例性地,电子设备500还可以包括图像采集装置530。图像采集装置530用于采集待处理图像。图像采集装置530是可选的,电子设备500可以不包括图像采集装置530。在这种情况下,可以利用其他图像采集装置采集待处理图像,并将采集的待处理图像发送给电子设备500。
[0156]
此外,根据本技术实施例,还提供了一种存储介质,在存储介质上存储了程序指令,在程序指令被计算机或处理器运行时用于执行本技术实施例的图像处理方法的相应步骤,并且用于实现根据本技术实施例的图像处理装置中的相应模块。存储介质例如可以包括智能电话的存储卡、平板电脑的存储部件、个人计算机的硬盘、只读存储器(rom)、可擦除可编程只读存储器(eprom)、便携式只读存储器(cd-rom)、usb存储器、或者上述存储介质的任意组合。
[0157]
在一个实施例中,程序指令在被计算机或处理器运行时可以使得计算机或处理器实现根据本技术实施例的图像处理装置400的各个功能模块,并和/或者可以执行根据本技术实施例的图像处理方法2000。
[0158]
在一个实施例中,程序指令在运行时用于执行以下步骤:获取待处理图像;获取网格图并确定待处理图像中的像素与网格图中的网格的位置对应关系;检测待处理图像中的目标的多个初始关键点;基于美型规则,确定与初始关键点一一对应的多个美型关键点;对于网格的至少部分顶点,以每个初始关键点为控制点,以每个美型关键点为对应的控制点的移动后位置点,基于至少部分顶点的原始位置采用移动最小二乘法确定至少部分顶点的最终目的位置,并基于原始位置以及最终目的位置对网格进行形状调整,以获得形变后的网格图;基于位置对应关系,将待处理图像对应贴合至形变后的网格图上,以获得美型后的图像。
[0159]
此外,根据本技术实施例,还提供了一种计算机程序产品,计算机程序产品包括计算机程序,计算机程序在运行时用于执行上述图像处理方法2000。
[0160]
根据本技术实施例的电子设备中的各模块可以通过根据本技术实施例的实施图像处理方法的电子设备的处理器运行在存储器中存储的计算机程序指令来实现,或者可以在根据本技术实施例的计算机程序产品的计算机可读存储介质中存储的计算机指令被计
算机运行时实现。
[0161]
尽管这里已经参考附图描述了示例实施例,应理解上述示例实施例仅仅是示例性的,并且不意图将本技术的范围限制于此。本领域普通技术人员可以在其中进行各种改变和修改,而不偏离本技术的范围和精神。所有这些改变和修改意在被包括在所附权利要求所要求的本技术的范围之内。
[0162]
在本技术所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个设备,或一些特征可以忽略,或不执行。
[0163]
本领域的技术人员可以理解,除了特征之间相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
[0164]
本技术的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(dsp)来实现根据本技术实施例的图像处理装置中的一些模块的一些或者全部功能。本技术还可以实现为用于执行这里所描述的方法的一部分或者全部的装置程序(例如,计算机程序和计算机程序产品)。这样的实现本技术的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
[0165]
以上,仅为本技术的具体实施方式或对具体实施方式的说明,本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本技术的保护范围之内。本技术的保护范围应以权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1