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

图像处理方法、装置、设备和存储介质与流程

2022-02-22 19:39:45 来源:中国专利 TAG:


1.本公开涉及图像处理技术领域,尤其涉及一种图像处理方法、装置、设备和存储介质。


背景技术:

2.随着人工智能技术的发展和特效技术玩法的创新,出现了拍摄的原始脸部图像向经过ai或特效修饰过后的脸部图像转换的动画,给人们耳目一新的感觉。但目前市面上脸部图像逐帧转换的动画,在合成转变过程中的图像帧时,通常是仅利用从脸部提取的关键点实现图像合成,最终得到的动画变形效果和趣味性欠佳。


技术实现要素:

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.图1是示出根据本公开的示例性实施例的图像处理方法的流程图。
28.图2是示出根据本公开的示例性实施例的原始图像的示意图。
29.图3是示出根据本公开的示例性实施例的目标图像的示意图。
30.图4是示出根据本公开的示例性实施例的生成的一个图像帧的示意图。
31.图5是示出根据本公开的示例性实施例的图像处理装置的框图。
32.图6是根据本公开的示例性实施例的电子设备的框图。
具体实施方式
33.为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
34.需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
35.在此需要说明的是,在本公开中出现的“若干项之中的至少一项”均表示包含“该若干项中的任意一项”、“该若干项中的任意多项的组合”、“该若干项的全体”这三类并列的情况。例如“包括a和b之中的至少一个”即包括如下三种并列的情况:(1)包括a;(2)包括b;(3)包括a和b。又例如“执行步骤一和步骤二之中的至少一个”,即表示如下三种并列的情况:(1)执行步骤一;(2)执行步骤二;(3)执行步骤一和步骤二。
36.随着人工智能技术的发展和特效技术玩法的创新,人们拍摄人像后,人脸可变成卡通脸部、老了时的人脸等,也可对其他动物的脸部进行变形。脸部的转换给人们带来了额外乐趣。随着玩法的开发,也出现拍摄的原始脸部向经过ai或特效修饰过后的脸部转换的动画,给人们耳目一新的感觉。这类变形动画(即由原始图像变化为目标图像的动画)的制作涉及纹理坐标映射到顶点坐标、opengl(open graphics library,开放式图形库)纹理绘制、纹理映射等技术。具体来说,纹理映射是指将一张纹理映射到要绘制的底图上。制作人像变形动画时,需先将原始图像和目标图像映射到生成图像上,通过映射后的纹理再相互融合得到生成图像。映射的基本原理是通过一个个三角形映射绘制。在原始图像和目标图像上分别提取相对应的脸部关键点,例如鼻尖点、眉头点、内眼角点等,这些脸部关键点可以通过人工智能的图像识别技术来获得。将相对应的脸部关键点映射到生成图像的同一位置,并利用三角剖分算法将原始图像和目标图像中的脸部区域剖分为相对应的多个三角形,可在生成图像将相对应的脸部关键点做同样的连接,得到相对应的三角形。再将原始图像和目标图像中各个三角形的纹理映射到生成图像上,则生成图像的每个三角形区域内都有两张纹理。最后对这两张纹理进行颜色的混合,就可以得到生成图像。
37.但目前市面上的变形动画只包含脸部的变形,由于头发部分无法提取关键点,因而往往难以包含头发的变形,趣味性和变形效果欠佳。本公开的示例性实施例的图像处理方法和装置,通过先提取头发区域和脸部关键点,再结合二者的相对位置关系得到头发区域的若干边界点,足以定位头发区域,可以实现头发与脸部的同步变形,使逐帧转换的过程更加逼真和生动。
38.下面将参照图1至图6具体描述根据本公开的示例性实施例的图像处理方法、装置、设备和存储介质。
39.图1是示出根据本公开的示例性实施例的图像处理方法的流程图。应理解,根据本公开的示例性实施例的图像处理方法可以在诸如智能手机、平板电脑、个人电脑(pc)的终端设备中实现,也可以在诸如服务器的设备中实现。
40.参照图1,在步骤101,对原始图像和目标图像分别进行提取处理,获得各自的头发
区域和相对应的至少两个脸部关键点。头发区域和脸部关键点都可利用现有的图像识别网络来提取,在此不再展开说明。
41.为便于后续处理,本公开还可对头发区域做进一步的处理。举例来说,提取头发区域后可生成一个头发区域为白色、其他区域为纯黑的图像副本,对于原始图像和目标图像,分别将之命名为第一原始图像副本和第一目标图像副本。这两个图像副本将头发区域调整为白色,能够与纯黑的其他区域明显区分开来。但是对于头发区域的边缘部分,则往往存在一些置信度不够高的区域,无法明确这些部分是否属于头发区域,因而不便于做人像变形。为解决该问题,可先对第一原始图像副本和第一目标图像副本进行灰度化处理,使得各像素点的颜色从需要由rgb三通道的三个数值来表示,变为仅需要一个灰度值来表示,得到第二原始图像副本和第二目标图像副本,可便于后续计算。再根据二值化阈值对第二原始图像副本和第二目标图像副本进行二值化处理,例如可令灰度值小于二值化阈值的像素点变为黑色,并令灰度值大于等于二值化阈值的像素点变为白色,从而得到头发区域为纯白、其他区域为纯黑的第三原始图像副本和第三目标图像副本。通过引入二值化阈值,进行二值化处理,能够令图像中的各个像素点的颜色非黑即白,因而可以将头发区域和其他区域明确区分开,便于后续变形处理。可以理解的是,在另一些实施例中,提取头发区域后也可生成一个头发区域为黑色、其他区域为纯白的图像副本,最终得到头发区域为纯黑、其他区域为纯白的第三原始图像副本和第三目标图像副本。
42.在步骤102,基于至少两个脸部关键点确定至少一个线条,将至少一个线条与头发区域的交点确定为头发区域的目标边界点,其中,至少两个脸部关键点和目标边界点被作为用于图像合成处理的参考点,其中,原始图像和目标图像中的参考点一一对应。头发区域本身仅为一片区域,无法直接做图像合成,但线条可以和区域相交,从而得到这个区域的边界点。通过基于至少两个脸部关键点确定出至少一个线条,能够得到这些线条与头发区域的交点,作为目标边界点。同时,不同于脸部各部分纹理较复杂的情况,头发区域的纹理往往较为简单,无需在头发区域内部做复杂的三角形区域划分,所以利用这些目标边界点足以代表头发区域。基于这些目标边界点和脸部关键点来做后续的图像合成处理,有助于得到包含脸部区域和头发区域的变形动画。
43.可选地,步骤101中实际会提取出大量脸部关键点。步骤102确定目标边界点时,具体可以是将一个脸部关键点(可选取脸部中心区域的点)作为起始点,根据起始点和其他脸部关键点确定若干射线,将这些射线与头发区域的交点确定为头发区域的目标边界点。由于射线仅延一个方向延伸,可大幅减少计算量,提升计算效率。由于原始图像和目标图像中提取的脸部关键点一一对应,因此确定出的射线也一一对应,确保了由此确定的目标边界点也一一对应。
44.接下来结合图2和图3的示例,具体描述如何确定目标边界点。
45.图2是示出根据本公开的示例性实施例的原始图像的示意图。
46.图3是示出根据本公开的示例性实施例的目标图像的示意图。
47.应理解,由于提取的脸部关键点数量众多,为便于展示,图2和图3中仅针对个别进行标注,并不代表仅提取图中标注的几个脸部关键点。
48.参照图2和图3,对于射线的确定,可先从全部脸部关键点中选择一个作为起始点,例如选择较为中心的鼻尖点a1和b1,再根据起始点和其他脸部关键点(例如图2和图3中的眉
头点a3、a4、b3、b4,与之对应的目标边界点为a6、a
10
、a8、a9、b6、b
10
、b8、b9。)确定射线,既能保证得到足够多的目标边界点,又可大幅减少确定的射线数量,确保了计算效率。
49.可选地,射线的确定还可进一步包括:遍历除起始点以外的每个脸部关键点,确定起始点与当前脸部关键点之间存在至少一个其他脸部关键点,过滤至少一个其他脸部关键点;根据起始点和过滤后余下的脸部关键点确定射线。同样基于脸部关键点数量众多的问题,通过过滤掉起始点和远处脸部关键点之间的其他脸部关键点,可以过滤掉重叠或距离非常近的射线,能够进一步降低射线数量,降低计算负荷,提升计算速度。具体地,对于起始点与当前脸部关键点之间是否存在其他脸部关键点的判断,可基于起始点与当前脸部关键点之间的连线与其他脸部关键点的位置关系,通过配置不同的参数来实现不同程度的判断精度。其中,最高的精度是该连线穿过其他脸部关键点,即其他脸部关键点严格地位于起始点与当前脸部关键点之间。低些的精度是其他脸部关键点位于该连线附近,且对于这个“附近”的定义越严格,精度就越高。例如可在其他脸部关键点与该连线的距离小于设定值时,过滤这些脸部关键点,又如可以在其他脸部关键点与该连线的距离同脸部宽度的比值小于设定值时,过滤这些脸部关键点。具体的判断准则可按需设置,本公开在此不做限制。
50.在另一些实施例中,为降低射线数量,也可在步骤101选取脸部关键点时就根据位置来选取部分特定的脸部关键点,例如选取眉毛处的脸部关键点而不选取眼睛处的脸部关键点,进行有目标的提取,可大幅降低计算量。这也是本公开的实现方式,落入本公开的保护范围之内。
51.可选地,射线的确定还可进一步包括:确定起始点的周围存在未提取到脸部关键点的目标区域,根据目标区域周围的脸部关键点确定至少一个扩展关键点;根据起始点和至少一个扩展关键点确定射线。为提取到分布足够稠密的目标边界点,需要自起始点确定出朝向四周各个方向延长的射线,然而脸部关键点不一定能够完全满足该要求。当起始点周围存在前述的目标区域时,就无法确定出穿过目标区域的射线。通过根据目标区域周围的脸部关键点进一步确定出扩展关键点,可以予以弥补,基于起始点和扩展关键点确定出穿过目标区域的射线,保障了目标边界点的稠密程度,有助于提升头发区域的变形精度,使变形动画更逼真。对于扩展关键点的确定,可将附近的两个脸部关键点的连线上的等分点(如中点、三等分点、四等分点等)作为扩展关键点,例如图2和图3所示,可将两个内眼角之间的中点a2和b2作为扩展关键点,a5、a7、b5、b7是相应的目标边界点;也可将周围的多个脸部关键点连成的多边形的特征点(例如外接圆或内切圆的圆心)作为扩展关键点;还可利用周围至少四个脸部关键点确定至少两条线段,将这至少两条线段的交点作为扩展关键点。本公开对此不作限制。具体地,对于目标区域的大小下限,也就是未提取到脸部关键点的区域需达到多大,才能算是目标区域,可根据实际需要进行限定。例如,可确定相邻两条射线之间的夹角,若该夹角的角度大于设定角度,则认为这两条射线之间的区域为目标区域,该设定角度可按需设置,本公开对此不做限制。
52.可选地,确定出扩展关键点后,也可将这些扩展关键点与提取的脸部关键点、确定的目标边界点一起被作为参考点,用于图像合成处理,有助于提升脸部的变形精度,使人像变形动画更逼真。
53.确定出射线后,就可将射线与头发区域的交点确定为头发区域的目标边界点。此时,可结合前述的经过二值化处理得到的第三原始图像副本和第三目标图像副本,在这两
个副本中,将射线经过的颜色发生变化的点确定为目标边界点,从而能够便捷且可靠地确定出目标边界点。以头发区域为纯白、其他区域为纯黑的情况为例,脸部关键点均为黑色,所以射线刚开始经过的点均为黑色,若经过一个白色点,则可以将该白色点确定为目标边界点,具体是头发区域内边界上的点。此后随着射线继续延长,会经过一些白色点,直到再经过一个黑色点,就可以将该黑色点也确定为目标边界点,具体是头发区域外边界上的点。在极端情况下,一条射线刚好经过头发区域的顶点,例如耳朵处的顶点,则只会经过一个白色点,不会再经过其他黑色点,可以确定出一个目标边界点。还有一些情况,射线向下方延长,始终都不会经过颜色发生变化的点,也就无法确定出目标边界点。通过遍历确定出的每一条射线,即可确定出全部目标边界点。
54.可以理解的是,虽然目标边界点是在经过处理后的第三原始图像副本和第三目标图像副本上确定出来的,但由于各个像素点的位置坐标并未发生变化,因而还是可以在原版的原始图像和目标图像上确定出相应的各个点位,不影响后续的图像合成处理。此外,在确定目标边界点时,可以先确定出所有射线,再逐个确定目标边界点,也可以每确定出一条射线,就确定出相应的目标边界点,这都是本公开的实现方式。
55.返回参照图1,在步骤103,基于参考点对原始图像和目标图像进行图像合成处理,得到由原始图像逐帧变化为目标图像的过程中的至少一个图像帧。
56.可选地,参考点的数量为至少三个,步骤103具体包括:基于原始图像和目标图像中相对应的参考点的坐标确定一条线段,将线段的等分点作为至少一个图像帧的参考点,其中,每个线段的等分点与至少一个图像帧数量相等且一一对应;基于参考点,将原始图像、目标图像、至少一个图像帧划分为若干个待映射区域;将原始图像和目标图像中相对应的待映射区域的纹理映射到至少一个图像帧的相对应的待映射区域并进行纹理混合处理,得到至少一个图像帧。通过划分等分点,能够使原始图像上的参考点经至少一个图像帧均匀移动至目标图像上的相应位置。通过划分若干个待映射区域,可以分区域映射和混合纹理,得到高精度的合成图像。
57.图4是示出根据本公开的示例性实施例的生成的一个图像帧的示意图。
58.合成处理时,先通过原始图像和目标图像的参考点,计算图像帧的对应点。参照图2至图4,如通过a1、b1点得到生成的图像帧中的c1点,a2、b2点得到生成的图像帧中的c2点。对应点c的生成规则为:cn=(b
n-an)n/m an。n=1、2、3、

、m-1。其中,m-1表示总共需要生成的图像帧的帧数,不包含原始图像(n=0)和目标图像(n=m)。
59.然后,将原始图像和目标图像得到的参考点按三角剖分算法连成三角面,结果如图2至图4中所示。通过将如a5、a6、a7三个参考点包含的纹理和b5、b6、b7三个参考点包含的纹理映射到此前计算得到的c5、c6、c7三个对应点包含的区域,分别记为纹理a
567
和纹理b
567
。然后通过纹理混合方式将纹理a
567
和纹理b
567
进行混合得到c5、c6、c7三个对应点包含的区域的纹理。颜色混合模式为:colorc=colorb*n/m colora*(m

n)/m。其中,n=1、2、3、

m-1,n、m含义同前,下标a、b、c分别代表原始图像、目标图像、图像帧。该混合模式的含义是从原始图像向目标图像转换的过程中,目标图像的颜色权重逐渐增加。
60.合成图像帧的其它三角区域的纹理生成步骤类同。
61.得到至少一个图像帧后,还可将原始图像、至少一个图像帧和目标图像按序排列,得到变形动画。举例来说,已知原始图像和目标图像后,通过设置m值,可以合成m-1帧图像
帧,配合原始图像和目标图像,总共有m 1帧图像帧,将这m 1帧图像帧按时序排列,就可以得到一个变形动画。
62.图5是示出根据本公开的示例性实施例的图像处理装置的框图。应理解,根据本公开的示例性实施例的图像处理装置可以在诸如智能手机、平板电脑、个人电脑(pc)的终端设备中以软件、硬件或软件硬件结合的方式实现,也可以在诸如服务器的设备中实现。
63.参照图5,图像处理装置500包括提取单元501、确定单元502和合成单元503。
64.提取单元501可对原始图像和目标图像分别进行提取处理,获得各自的头发区域和相对应的至少一个脸部关键点。头发区域和脸部关键点都可利用现有的图像识别网络来提取,在此不再展开说明。
65.为便于后续处理,本公开还可对头发区域做进一步的处理。举例来说,提取头发区域后可生成一个头发区域为白色、其他区域为纯黑的图像副本,对于原始图像和目标图像,分别将之命名为第一原始图像副本和第一目标图像副本。这两个图像副本将头发区域调整为白色,能够与纯黑的其他区域明显区分开来。但是对于头发区域的边缘部分,则往往存在一些置信度不够高的区域,无法明确这些部分是否属于头发区域,因而不便于做人像变形。为解决该问题,可先对第一原始图像副本和第一目标图像副本进行灰度化处理,使得各像素点的颜色从需要由rgb三通道的三个数值来表示,变为仅需要一个灰度值来表示,得到第二原始图像副本和第二目标图像副本,可便于后续计算。再根据二值化阈值对第二原始图像副本和第二目标图像副本进行二值化处理,例如可令灰度值小于二值化阈值的像素点变为黑色,并令灰度值大于等于二值化阈值的像素点变为白色,从而得到头发区域为纯白、其他区域为纯黑的第三原始图像副本和第三目标图像副本。通过引入二值化阈值,进行二值化处理,能够令图像中的各个像素点的颜色非黑即白,因而可以将头发区域和其他区域明确区分开,便于后续变形处理。可以理解的是,在另一些实施例中,提取头发区域后也可生成一个头发区域为黑色、其他区域为纯白的图像副本,最终得到头发区域为纯黑、其他区域为纯白的第三原始图像副本和第三目标图像副本。
66.确定单元502可基于至少两个脸部关键点确定至少一个线条,将至少一个线条与头发区域的交点确定为头发区域的目标边界点,其中,至少两个脸部关键点和目标边界点被作为用于图像合成处理的参考点,其中,原始图像和目标图像中的参考点一一对应。头发区域本身仅为一片区域,无法直接做图像合成,但线条可以和区域相交,从而得到这个区域的边界点。通过基于至少两个脸部关键点确定出至少一个线条,能够得到这些线条与头发区域的交点,作为目标边界点。同时,不同于脸部各部分纹理较复杂的情况,头发区域的纹理往往较为简单,无需在头发区域内部做复杂的三角形区域划分,所以利用这些目标边界点足以代表头发区域。基于这些目标边界点和脸部关键点来做后续的图像合成处理,有助于得到包含脸部区域和头发区域的变形动画。
67.可选地,提取单元501实际会提取出大量脸部关键点。确定单元502确定目标边界点时,具体可以是将一个脸部关键点(可选取脸部中心区域的点)作为起始点,根据起始点和其他脸部关键点确定若干射线,将这些射线与头发区域的交点确定为头发区域的目标边界点。由于射线仅延一个方向延伸,可大幅减少计算量,提升计算效率。由于原始图像和目标图像中提取的脸部关键点一一对应,因此确定出的射线也一一对应,确保了由此确定的目标边界点也一一对应。
68.接下来结合图2和图3的示例,具体描述如何确定目标边界点。
69.图2是示出根据本公开的示例性实施例的原始图像的示意图。
70.图3是示出根据本公开的示例性实施例的目标图像的示意图。
71.应理解,由于提取的脸部关键点数量众多,为便于展示,图2和图3中仅针对个别进行标注,并不代表仅提取图中标注的几个脸部关键点。
72.参照图2和图3,对于射线的确定,确定单元502可先从全部脸部关键点中选择一个作为起始点,例如选择较为中心的鼻尖点a1和b1,再根据起始点和其他脸部关键点(例如图2和图3中的眉头点a3、a4、b3、b4,与之对应的目标边界点为a6、a
10
、a8、a9、b6、b
10
、b8、b9。)确定射线,既能保证得到足够多的目标边界点,又可大幅减少确定的射线数量,确保了计算效率。
73.可选地,射线的确定还可进一步包括:遍历除起始点以外的每个脸部关键点,确定起始点与当前脸部关键点之间存在至少一个其他脸部关键点,过滤至少一个其他脸部关键点;根据起始点和过滤后余下的脸部关键点确定射线。同样基于脸部关键点数量众多的问题,通过过滤掉起始点和远处脸部关键点之间的其他脸部关键点,可以过滤掉重叠或距离非常近的射线,能够进一步降低射线数量,降低计算负荷,提升计算速度。具体地,对于起始点与当前脸部关键点之间是否存在其他脸部关键点的判断,可基于起始点与当前脸部关键点之间的连线与其他脸部关键点的位置关系,通过配置不同的参数来实现不同程度的判断精度。其中,最高的精度是该连线穿过其他脸部关键点,即其他脸部关键点严格地位于起始点与当前脸部关键点之间。低些的精度是其他脸部关键点位于该连线附近,且对于这个“附近”的定义越严格,精度就越高。例如可在其他脸部关键点与该连线的距离小于设定值时,过滤这些脸部关键点,又如可以在其他脸部关键点与该连线的距离同脸部宽度的比值小于设定值时,过滤这些脸部关键点。具体的判断准则可按需设置,本公开在此不做限制。
74.在另一些实施例中,为降低射线数量,提取单元501也可根据位置来选取部分特定的脸部关键点,例如选取眉毛处的脸部关键点而不选取眼睛处的脸部关键点,进行有目标的提取,可大幅降低计算量。这也是本公开的实现方式,落入本公开的保护范围之内。
75.可选地,射线的确定还可进一步包括:确定起始点的周围存在未提取到脸部关键点的目标区域,根据目标区域周围的脸部关键点确定至少一个扩展关键点;根据起始点和至少一个扩展关键点确定射线。为提取到分布足够稠密的目标边界点,需要自起始点确定出朝向四周各个方向延长的射线,然而脸部关键点不一定能够完全满足该要求。当起始点周围存在前述的目标区域时,就无法确定出穿过目标区域的射线。通过根据目标区域周围的脸部关键点进一步确定出扩展关键点,可以予以弥补,基于起始点和扩展关键点确定出穿过目标区域的射线,保障了目标边界点的稠密程度,有助于提升头发区域的变形精度,使人像变形动画更逼真。对于扩展关键点的确定,可将附近的两个脸部关键点的连线上的等分点(如中点、三等分点、四等分点等)作为扩展关键点,例如图2和图3所示,可将两个内眼角之间的中点a2和b2作为扩展关键点,a5、a7、b5、b7是相应的目标边界点;也可将周围的多个脸部关键点连成的多边形的特征点(例如外接圆或内切圆的圆心)作为扩展关键点;还可利用周围至少四个脸部关键点确定至少两条线段,将这至少两条线段的交点作为扩展关键点。本公开对此不作限制。具体地,对于目标区域的大小下限,也就是未提取到脸部关键点的区域需达到多大,才能算是目标区域,可根据实际需要进行限定。例如,可确定相邻两条射线之间的夹角,若该夹角的角度大于设定角度,则认为这两条射线之间的区域为目标区
域,该设定角度可按需设置,本公开对此不做限制。
76.可选地,确定单元502确定出扩展关键点后,也可将这些扩展关键点与提取的脸部关键点、确定的目标边界点一起被作为参考点,用于图像合成处理,有助于提升脸部的变形精度,使人像变形动画更逼真。
77.确定出射线后,确定单元502就可将射线与头发区域的交点确定为头发区域的目标边界点。此时,可结合前述的经过二值化处理得到的第三原始图像副本和第三目标图像副本,在这两个副本中,将射线经过的颜色发生变化的点确定为目标边界点,从而能够便捷且可靠地确定出目标边界点。以头发区域为纯白、其他区域为纯黑的情况为例,脸部关键点均为黑色,所以射线刚开始经过的点均为黑色,若经过一个白色点,则可以将该白色点确定为目标边界点,具体是头发区域内边界上的点。此后随着射线继续延长,会经过一些白色点,直到再经过一个黑色点,就可以将该黑色点也确定为目标边界点,具体是头发区域外边界上的点。在极端情况下,一条射线刚好经过头发区域的顶点,例如耳朵处的顶点,则只会经过一个白色点,不会再经过其他黑色点,可以确定出一个目标边界点。还有一些情况,射线向下方延长,始终都不会经过颜色发生变化的点,也就无法确定出目标边界点。通过遍历确定出的每一条射线,即可确定出全部目标边界点。
78.可以理解的是,虽然目标边界点是在经过处理后的第三原始图像副本和第三目标图像副本上确定出来的,但由于各个像素点的位置坐标并未发生变化,因而还是可以在原版的原始图像和目标图像上确定出相应的各个点位,不影响后续的图像合成处理。此外,在确定目标边界点时,可以先确定出所有射线,再逐个确定目标边界点,也可以每确定出一条射线,就确定出相应的目标边界点,这都是本公开的实现方式。
79.返回参照图5,合成单元503可基于参考点对原始图像和目标图像进行图像合成处理,得到由原始图像逐帧变化为目标图像的过程中的至少一个图像帧。
80.可选地,参考点的数量为至少三个,合成单元503具体可基于原始图像和目标图像中相对应的参考点的坐标确定一条线段,将线段的等分点作为至少一个图像帧的参考点,其中,每个线段的等分点与至少一个图像帧数量相等且一一对应;基于参考点,将原始图像、目标图像、至少一个图像帧划分为若干个待映射区域;将原始图像和目标图像中相对应的待映射区域的纹理映射到至少一个图像帧的相对应的待映射区域并进行纹理混合处理,得到至少一个图像帧。通过划分等分点,能够使原始图像上的参考点经至少一个图像帧均匀移动至目标图像上的相应位置。通过划分若干个待映射区域,可以分区域映射和混合纹理,得到高精度的合成图像。
81.图4是示出根据本公开的示例性实施例的生成的一个图像帧的示意图。
82.合成单元503可先通过原始图像和目标图像的参考点,计算图像帧的对应点。参照图2至图4,如通过a1、b1点得到生成的图像帧中的c1点,a2、b2点得到生成的图像帧中的c2点。对应点c的生成规则为:cn=(b
n-an)n/m an。n=1、2、3、

、m-1。其中,m-1表示总共需要生成的图像帧的帧数,不包含原始图像(n=0)和目标图像(n=m)。
83.然后,合成单元503可将原始图像和目标图像得到的参考点按三角剖分算法连成三角面,结果如图2至图4中所示。通过将如a5、a6、a7三个参考点包含的纹理和b5、b6、b7三个参考点包含的纹理映射到此前计算得到的c5、c6、c7三个对应点包含的区域,分别记为纹理a
567
和纹理b
567
。然后通过纹理混合方式将纹理a
567
和纹理b
567
进行混合得到c5、c6、c7三个对
应点包含的区域的纹理。颜色混合模式为:colorc=colorb*n/m colora*(m

n)/m。其中,n=1、2、3、

m-1,n、m含义同前,下标a、b、c分别代表原始图像、目标图像、图像帧。该混合模式的含义是从原始图像向目标图像转换的过程中,目标图像的颜色权重逐渐增加。
84.合成单元503合成图像帧的其它三角区域的纹理生成步骤类同。
85.得到至少一个图像帧后,还可将原始图像、至少一个图像帧和目标图像按序排列,得到变形动画。举例来说,已知原始图像和目标图像后,通过设置m值,可以合成m-1帧图像帧,配合原始图像和目标图像,总共有m 1帧图像帧,将这m 1帧图像帧按时序排列,就可以得到一个变形动画。
86.图6是根据本公开的示例性实施例的电子设备的框图。
87.参照图6,电子设备600包括至少一个存储器601和至少一个处理器602,所述至少一个存储器601中存储有计算机可执行指令集合,当计算机可执行指令集合被至少一个处理器602执行时,执行根据本公开的示例性实施例的图像处理方法。
88.作为示例,电子设备600可以是pc计算机、平板装置、个人数字助理、智能手机、或其他能够执行上述指令集合的装置。这里,电子设备600并非必须是单个的电子设备,还可以是任何能够单独或联合执行上述指令(或指令集)的装置或电路的集合体。电子设备600还可以是集成控制系统或系统管理器的一部分,或者可被配置为与本地或远程(例如,经由无线传输)以接口互联的便携式电子设备。
89.在电子设备600中,处理器602可包括中央处理器(cpu)、图形处理器(gpu)、可编程逻辑装置、专用处理器系统、微控制器或微处理器。作为示例而非限制,处理器还可包括模拟处理器、数字处理器、微处理器、多核处理器、处理器阵列、网络处理器等。
90.处理器602可运行存储在存储器601中的指令或代码,其中,存储器601还可以存储数据。指令和数据还可经由网络接口装置而通过网络被发送和接收,其中,网络接口装置可采用任何已知的传输协议。
91.存储器601可与处理器602集成为一体,例如,将ram或闪存布置在集成电路微处理器等之内。此外,存储器601可包括独立的装置,诸如,外部盘驱动、存储阵列或任何数据库系统可使用的其他存储装置。存储器601和处理器602可在操作上进行耦合,或者可例如通过i/o端口、网络连接等互相通信,使得处理器602能够读取存储在存储器中的文件。
92.此外,电子设备600还可包括视频显示器(诸如,液晶显示器)和用户交互接口(诸如,键盘、鼠标、触摸输入装置等)。电子设备600的所有组件可经由总线和/或网络而彼此连接。
93.根据本公开的示例性实施例,还可提供一种计算机可读存储介质,当计算机可读存储介质中的指令被至少一个处理器运行时,促使至少一个处理器执行根据本公开的示例性实施例的图像处理方法。这里的计算机可读存储介质的示例包括:只读存储器(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)卡)、磁带、软盘、磁光数据存储装置、光学数据存储装置、硬盘、固态盘以及任何其他装置,所述任何其他装置被配置为以非
暂时性方式存储计算机程序以及任何相关联的数据、数据文件和数据结构并将所述计算机程序以及任何相关联的数据、数据文件和数据结构提供给处理器或计算机使得处理器或计算机能执行所述计算机程序。上述计算机可读存储介质中的计算机程序可在诸如客户端、主机、代理装置、服务器等计算机设备中部署的环境中运行,此外,在一个示例中,计算机程序以及任何相关联的数据、数据文件和数据结构分布在联网的计算机系统上,使得计算机程序以及任何相关联的数据、数据文件和数据结构通过一个或多个处理器或计算机以分布式方式存储、访问和执行。
94.根据本公开的示例性实施例,还可提供一种计算机程序产品,该计算机程序产品包括计算机指令,计算机指令被至少一个处理器运行时,促使至少一个处理器执行根据本公开的示例性实施例的图像处理方法。
95.根据本公开的示例性实施例的图像处理方法和图像处理装置,利用较为成熟的图像识别技术提取出头发区域和脸部关键点,再结合二者的相对位置关系得到头发区域的若干目标边界点,能够进而得到脸部区域和头发区域的变形动画,大幅提升了动画的变形效果和趣味性。同时,该方案不必探究头发区域的内部特征,能够有效控制开发成本,降低生成变形动画的计算负荷。
96.本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本技术旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
97.应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
再多了解一些

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

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

相关文献