CN114565507A - 一种头发处理方法、装置、电子设备及存储介质 - Google Patents
一种头发处理方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN114565507A CN114565507A CN202210048979.4A CN202210048979A CN114565507A CN 114565507 A CN114565507 A CN 114565507A CN 202210048979 A CN202210048979 A CN 202210048979A CN 114565507 A CN114565507 A CN 114565507A
- Authority
- CN
- China
- Prior art keywords
- area
- hair
- region
- processed
- column
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 210000004209 hair Anatomy 0.000 title claims abstract description 223
- 238000003672 processing method Methods 0.000 title abstract description 7
- 238000000034 method Methods 0.000 claims abstract description 74
- 238000012545 processing Methods 0.000 claims abstract description 55
- 239000011159 matrix material Substances 0.000 claims description 30
- 230000008569 process Effects 0.000 claims description 18
- 230000015654 memory Effects 0.000 claims description 16
- 210000000697 sensory organ Anatomy 0.000 claims description 13
- 238000004590 computer program Methods 0.000 claims description 7
- 230000001681 protective effect Effects 0.000 claims description 6
- 238000013507 mapping Methods 0.000 claims description 5
- 238000010586 diagram Methods 0.000 description 15
- 210000003128 head Anatomy 0.000 description 9
- 230000000694 effects Effects 0.000 description 8
- 230000006870 function Effects 0.000 description 6
- 230000008859 change Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000013145 classification model Methods 0.000 description 2
- 230000011218 segmentation Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 210000005069 ears Anatomy 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 210000001508 eye Anatomy 0.000 description 1
- 210000004709 eyebrow Anatomy 0.000 description 1
- 238000005111 flow chemistry technique Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 210000000214 mouth Anatomy 0.000 description 1
- 210000001331 nose Anatomy 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/04—Context-preserving transformations, e.g. by using an importance map
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Processing Or Creating Images (AREA)
- Image Processing (AREA)
Abstract
本发明公开了一种头发处理方法、装置、电子设备及存储介质,方法包括:定位用户图像中的头发区域和人脸区域;将人脸区域向头顶方向膨胀得到保护区域后,利用保护区域和头发区域获取待处理区域;沿与头顶方向相反的方向对用户图像上的待处理区域进行变形处理得到头发变形后的用户图像。通过将人脸向头顶方向膨胀将不需要处理的头发覆盖,留下待处理区域,再沿与头顶方向相反的方向对用户图像上的待处理区域进行变形获得头发变形后的用户图像。当应用在换装场景时,将人脸区域向头顶方向膨胀留下待处理区域,从而后续沿向下方向对待处理区域进行变形后,即使执行换装处理,头发区域与服装之间也不会出现缝隙,可以确保换装后服装与头发的无缝衔接。
Description
技术领域
本发明涉及图像处理技术领域,具体涉及一种头发处理方法、装置、电子设备及存储介质。
背景技术
目前,在对图像中的用户服装进行换装时,如果图像中的用户为长发,也即披肩发,在执行换装处理之后,可能造成头发区域与服装之间出现缝隙,从而影响换装效果。
如图1所示,其中的图(a)为换装前的原图像,图(b)为执行换装处理之后的图像,在换装前,原图像中的用户为披肩发,换装后在头发与服装之间出现缝隙。
发明内容
本发明的目的是针对上述现有技术的不足提出的一种头发处理方法、装置、电子设备及存储介质,该目的是通过以下技术方案实现的。
本发明的第一方面提出了一种头发处理方法,所述方法包括:
定位用户图像中的头发区域和人脸区域;
将所述人脸区域向头顶方向膨胀,以得到保护区域;
利用所述头发区域和所述保护区域确定待处理区域;
沿与所述头顶方向相反的方向对所述用户图像上的待处理区域进行变形处理,得到头发变形后的用户图像。
在本申请的一些实施例中,在定位用户图像中的头发区域和人脸区域之前,所述方法还包括:
检测用户图像中人脸的五官关键点;根据所述五官关键点对所述用户图像进行对齐处理。
在本申请的一些实施例中,所述方法还包括:
对所述用户图像中的头发区域进行分类,得到分类结果;在所述分类结果为长发往后披类别时,定位服装模板图像中的衣服区域;根据所述衣服区域与所述头发区域判定是否需要对头发区域进行变形处理;若是,则执行将所述人脸区域向头顶方向膨胀的过程。
在本申请的一些实施例中,所述根据所述衣服区域与所述头发区域判定是否需要对头发区域进行变形处理,包括:
逐列遍历所述衣服区域与所述头发区域之间相邻边缘的纵坐标差;从所述纵坐标差中获取最大纵坐标差;如果所述最大纵坐标差小于预设值,则确定不需要对头发区域进行变形处理;如果所述最大纵坐标差大于所述预设值,则确定需要对头发区域进行变形处理;其中,所述纵坐标差为所述衣服区域边缘的纵坐标减去所述头发区域边缘的纵坐标。
在本申请的一些实施例中,在定位服装模板图像中的衣服区域之前,所述方法还包括:
检测服装模板图像中虚拟人脸的五官关键点;根据所述五官关键点对所述服装模板图像进行对齐处理。
在本申请的一些实施例中,所述沿与所述头顶方向相反的方向对所述用户图像上的待处理区域进行变形处理,包括:
获取所述待处理区域上每列对应的变形系数;根据所述待处理区域上每列对应的变形系数,沿与所述头顶方向相反的方向对所述用户图像上的待处理区域进行变形处理,得到头发变形后的用户图像。
在本申请的一些实施例中,所述根据所述待处理区域上每列对应的变形系数,沿与所述头顶方向相反的方向对所述用户图像上的待处理区域进行变形处理,包括:
获取所述待处理区域上每列的最大纵坐标和最小纵坐标;针对所述待处理区域上每列,根据所述列的最大纵坐标、最小纵坐标以及变形系数,确定所述列的变形后纵坐标;根据所述待处理区域上每列的变形后纵坐标、最小纵坐标、最大纵坐标,对所述用户图像上的待处理区域进行变形处理。
在本申请的一些实施例中,所述获取所述待处理区域上每列对应的变形系数,包括:
获取所述头发区域上每列的最大纵坐标和最小纵坐标,以及获取所述衣服区域上每列的最小纵坐标;针对所述头发区域上每列,利用头发区域上所述列的最大纵坐标和最小纵坐标、衣服区域上所述列的最小纵坐标,确定所述列对应的变形系数;其中,所述待处理区域的列与所述头发区域的列相同。
在本申请的一些实施例中,所述根据所述待处理区域上每列的变形后纵坐标、最小纵坐标、最大纵坐标,对所述用户图像上的待处理区域进行变形处理,包括:
分别利用所述用户图像的宽度和高度生成第一map矩阵和第二map矩阵,以由所述第一map矩阵和所述第二map矩阵表示用户图像的横坐标和纵坐标之间的映射关系;根据所述待处理区域上每列的变形后纵坐标、最小纵坐标、最大纵坐标进行线性插值,以更新所述第二map矩阵;利用所述第一map矩阵和更新后的第二map矩阵对所述用户图像上的待处理区域进行变形处理。
在本申请的一些实施例中,所述方法还包括:
将所述衣服区域覆盖到头发变形后的用户图像上,得到换装图像。
在本申请的一些实施例中,所述利用所述头发区域和所述保护区域确定待处理区域,包括:
对所述头发区域和所述保护区域之间进行集合相减操作,以得到待处理区域。
本发明的第二方面提出了一种头发处理装置,所述装置包括:
定位模块,用于定位用户图像中的头发区域和人脸区域;
获取模块,用于将所述人脸区域向头顶方向膨胀,以得到保护区域,并利用所述头发区域和所述保护区域确定待处理区域;
变形处理模块,用于沿与所述头顶方向相反的方向对所述用户图像上的待处理区域进行变形处理,得到头发变形后的用户图像。
本发明的第三方面提出了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述第一方面所述方法的步骤。
本发明的第四方面提出了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如上述第一方面所述方法的步骤。
基于上述第一方面和第二方面所述的头发处理方法及装置,本发明至少具有如下有益效果或优点:
在定位出头发区域和人脸区域后,通过将人脸区域向头顶方向膨胀得到保护区域,保护区域包含不需要处理的头发区域,从而通过定位出的头发区域和保护区域获得待处理区域,然后再沿与头顶方向相反的方向对用户图像上的待处理区域进行变形处理,获得头发变形后的用户图像。
进一步地,当应用在换装场景中时,将人脸区域向头顶方向膨胀将不需要处理的头发覆盖掉,留下待处理区域,从而后续沿向下方向对待处理区域进行变形处理后,即使执行换装处理,头发区域与服装之间也不会出现缝隙,可以确保换装后服装与头发的无缝衔接。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为现有技术中换装前和换装后的对比示意图;
图2A为本发明根据一示例性实施例示出的一种头发处理方法的实施例流程图;
图2B为本发明根据图2A所示实施例示出的分割得到的头发区域和人脸区域示意图;
图2C为对图2B所示的人脸区域向头顶方向膨胀后获得的保护区域示意图;
图2D为根据图2B和图2C获得的待处理区域示意图;
图2E为本发明根据图2A所示实施例示出的第一map矩阵和第二map矩阵示意图;
图2F为本发明根据图2A所示实施例示出的换装前和换装后的对比示意图;
图3为本发明根据一示例性实施例示出的一种头发处理方法的具体实现流程图;
图4为本发明根据一示例性实施例示出的一种头发处理装置的结构示意图;
图5为本发明根据一示例性实施例示出的一种电子设备的硬件结构示意图图;
图6为本发明根据一示例性实施例示出的一种存储介质的结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
在本发明使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本发明可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本发明范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
为了避免出现换装后头发与服装之间出现缝隙,影响换装效果的问题,需要对服装进行拉伸形变或者对头发进行拉伸形变,然而经实验发现,对服装进行拉伸形变后,虽然能够避免换装后头发与服装之间出现缝隙的问题,但是经拉伸形变后的服装看起来与用户很不相称,同样存在换装效果差的问题。
基于此,本申请提出一种头发处理方法,即定位用户图像中的头发区域和人脸区域,并将人脸区域向头顶方向膨胀后得到保护区域,然后利用头发区域和保护区域确定待处理区域,并沿与头顶方向相反的方向对用户图像上的待处理区域进行变形处理,得到头发变形后的用户图像。
基于上述描述可达到的技术效果有:
在定位出头发区域和人脸区域后,通过将人脸区域向头顶方向膨胀得到保护区域,保护区域包含不需要处理的头发区域,从而通过定位出的头发区域和保护区域获得待处理区域,然后再沿与头顶方向相反的方向对用户图像上的待处理区域进行变形处理,获得头发变形后的用户图像。
进一步地,当应用在换装场景中时,将人脸区域向头顶方向膨胀将不需要处理的头发覆盖掉,留下待处理区域,从而后续沿向下方向对待处理区域进行变形处理后,即使执行换装处理,头发区域与服装之间也不会出现缝隙,可以确保换装后服装与头发的无缝衔接。
需要补充说明的是,本专利给出的头发处理方案可以应用于任何需要对头发变形的场景中,不仅仅适用于换装场景,例如在美发场景中,通过采用本专利方案在线上将用户头发拉长,让用户体验头发接长后的效果。
为了使本领域技术人员更好的理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
实施例一:
图2A为本发明根据一示例性实施例示出的一种头发处理方法的实施例流程图,如图2A所示,该头发处理方法包括如下步骤:
步骤201:定位用户图像中的头发区域和人脸区域。
其中,该用户图像为用户上传的图片,其可以是用户自拍照、证件照等任意形式的用户照片。
在执行步骤201之前,需要对用户图像中的人体进行对齐处理,具体实现过程可以为:检测用户图像中人脸的五官关键点,然后根据五官关键点对用户图像进行对齐处理,使得用户图像中的人体端正。
示例性的,五官关键点可以有眼睛、嘴巴、耳朵、鼻子、眉毛等五官。
在一种可能的实现方式中,通过对用户图像中的头发和人脸进行语义分割,以定位出头发区域和人脸区域。
其中,头发区域由标签类别为头发的像素组成的区域,如图2B中的图(a)所示的白色区域为头发区域,人脸区域由标签类别为人脸的像素组成的区域,包括耳廓和整个人脸围起来的区域,如图2B中的图(b)所示的白色区域为人脸区域。
步骤202:将人脸区域向头顶方向膨胀,以得到保护区域。
其中,通过将人脸区域向头顶方向膨胀,如图2C所示的保护区域,该保护区域能够将无需处理的头顶区域覆盖掉。
需要补充说明的是,以换装场景为例,如果图像中的用户头发为短发(即头发不过肩),或者为长发前披(左右两边均为前披),即使执行换装处理,由于短发本身与服装之间有缝隙或者长发本身搭在服装前面,因此换装后头发与服装之间仍然保持原来样式,并不会影响换装效果,此时便不需要对头发进行变形处理;如果图像中的用户头发为长发后披,那么对于单边长发后披,换装后单边头发与服装之间有缝隙,对于双边长发后披,换装后双边头发与服装均有缝隙,此时便会影响换装效果,因此只要有一边头发为后披,就需要进行变形处理。
基于此,在执行步骤202之前,需要判定是否需要对头发进行变形处理,在一种可能的实现方式中,通过对用户图像中的头发区域进行分类,得到分类结果,并在分类结果为长发往后披类别时,定位服装模板图像中的衣服区域,并根据衣服区域与头发区域判定是否需要对头发区域进行变形处理,若是,则执行步骤202的过程。
其中,分类结果可以包括短发、头发前披、头发后披。对于头发后披类别具体包括左边头发后披、右边头发后披、以及两边头发后披。
可选的,可以通过将用户图像输入预先训练好的分类模型,由分类模型检测用户图像的头发类别。
进一步地,在换装场景中,还可能存在服装模板比用户图像中的服装靠上的情况,即使执行换装处理,服装模板会将头发覆盖一部分,二者之间不会有缝隙,这样就不需要对头发区域进行变形处理,因此需要根据服装模板图像中的衣服区域与头发区域进一步判定是否需要对头发区域进行变形处理。
其中,对于根据服装模板图像中的衣服区域与头发区域进一步判定是否需要对头发区域进行变形处理的过程,在一种可能的是实现方式中,通过逐列遍历衣服区域与头发区域之间相邻边缘的纵坐标差,并从纵坐标差中获取最大纵坐标差,如果最大纵坐标差小于预设值,说明服装区域会将头发覆盖一部分,则确定不需要对头发区域进行变形处理,如果最大纵坐标差大于预设值,则确定需要对头发区域进行变形处理。
其中,衣服区域上的纵坐标是以所属服装模板图像的左上角为原点建立的直角坐标系取值,头发区域上的纵坐标是以所属用户图像的左上角为原点建立的直角坐标系取值,并且服装模板图像与用户图像的大小一致,因此纵坐标差为衣服区域边缘的纵坐标减去头发区域边缘的纵坐标。
举例说明,对于某一列,如果衣服区域边缘的纵坐标小于头发区域边缘的纵坐标,二者之间的坐标差小于0,说明该列上的服装像素会覆盖到头发上,如果衣服区域边缘的纵坐标大于头发区域边缘的纵坐标,二者之间的坐标差大于0 ,说明该列上的服装像素不会覆盖到头发上。
由此可见,上述预设值可以设置为0。
在一种可行的实现方式中,在定位服装模板图像中的衣服区域之前,也可以检测服装模板图像中虚拟人脸的五官关键点,并根据检测到的五官关键点对服装模板图像进行对齐处理,使得服装模板图像与用户图像保持一致对齐。
步骤203:利用头发区域和保护区域确定待处理区域。
其中,由于保护区域覆盖了不需要处理的头发区域,因此通过对完整的头发区域和保护区域采用特殊的相减操作,便可获得待处理区域。
在一可选的实施例中,可以对头发区域和保护区域之间进行集合相减操作,以得到待处理区域。如图2D所示,为对图2B中图(a)和图2C之间进行集合相减操作后获得的保护区域,也即位于耳廓下方的头发区域。
步骤204:沿与头顶方向相反的方向对用户图像上的待处理区域进行变形处理,得到头发变形后的用户图像。
在一种可能的实现方式中,通过获取待处理区域上每列对应的变形系数,进而根据待处理区域上每列对应的变形系数,沿与头顶方向相反的方向对用户图像上的待处理区域进行变形处理,得到头发变形后的用户图像。
其中,与头顶方向相反的方向即为对待处理区域向下变形处理。在对每列头发区域进行处理时,变形系数越大,对应该列的头发会处理的越长,变形系数越小,对应该列的头发处理的短些。
在一可选的实施例中,针对获取待处理区域上每列对应的变形系数的过程,通过获取头发区域上每列的最大纵坐标和最小纵坐标,以及获取衣服区域上每列的最小纵坐标,然后针对头发区域上每列,利用头发区域上所述列的最大纵坐标和最小纵坐标、衣服区域上所述列的最小纵坐标,确定所述列对应的变形系数。
其中,待处理区域的列与头发区域的列相同,因此头发区域上每列对应的变形系数,即为待处理区域上每列对应的变形系数。或者说由于待处理区域属于头发区域的一部分区域,因此待处理区域上的列均属于头发区域上的列。
可选的,某列对应的变形系数的计算公式如下:
scale=(min_y_cloth-min_y_hair)/(max_y_hair-min_y_hair)(公式1)
在上述公式1中,scale为变形系数,min_y_cloth为衣服区域上所述列的最小纵坐标(也即衣服肩膀边缘上的纵坐标),max_y_hair和min_y_hair分别为头发区域上所述列的最大纵坐标和最小纵坐标(也即头顶纵坐标和发尾纵坐标)。
在一可选的实施例中,针对沿与头顶方向相反的方向对用户图像上的待处理区域进行变形处理的过程,通过获取待处理区域上每列的最大纵坐标和最小纵坐标,然后针对待处理区域上每列,根据所述列的最大纵坐标、最小纵坐标以及变形系数,确定所述列的变形后纵坐标,最后根据待处理区域上每列的变形后纵坐标、最小纵坐标、最大纵坐标,对用户图像上的待处理区域进行变形处理。
其中,某列的变形后纵坐标计算公式如下:
end_h_new=start_h+(end_h-start_h)*scale(公式2)
上述公式2中,end_h_new为该列的变形后纵坐标,start_h为该列的最小纵坐标,end_h为该列的最大纵坐标,scale为该列的变形系数。
也就是说,待处理区域上的某列纵坐标范围为(start_h, end_h),经处理后该列纵坐标范围变为(start_h, end_h_new)。
在一种可能的实现方式中,针对根据待处理区域上每列的变形后纵坐标、最小纵坐标、最大纵坐标,对待处理区域进行变形处理的过程,分别利用用户图像的宽度和高度生成第一map矩阵和第二map矩阵,以由第一map矩阵和第二map矩阵表示用户图像的横坐标和纵坐标之间的映射关系,然后根据待处理区域上每列的变形后纵坐标、最小纵坐标、最大纵坐标进行线性插值,以更新第二map矩阵,并利用第一map矩阵和更新后的第二map矩阵对用户图像上的待处理区域进行变形处理。
其中,由于列方向不需要进行处理,因此第一map矩阵不需要更新。
在具体实施时,可以通过初始化opencv remap的坐标映射函数方式获得第一map矩阵和第二map矩阵,坐标映射函数如下所示:
map_x = np.zeros((h, w), dtype=np.float32)
map_y = np.zeros((h, w), dtype=np.float32)
map_x[:, :] = np.arange(w)
map_y[:, :] = np.arange(h)[:, np.newaxis]
其中,前两个函数用来初始化出两个大小为h*w均为0 的map矩阵,h为用户图像的高度,w为用户图像的宽度,并且map矩阵中的每个元素值类型为浮点类型。
如图2E所示,对于第一map矩阵map_x中,每一行元素的取值为0到w-1,对于第二map矩阵map_y,每一列元素的取值为0到h-1。
可选的,对第二map矩阵map_y的进行更新的线性插值函数如下:
map_y[start_h:end_h_new, col]= np.interp(np.arange(start_h,end_h_new),[start_h, end_h_new], [start_h, end_h])
其中,end_h_new为变形后纵坐标,start_h为最小纵坐标,end_h为最大纵坐标。
由上述线性插值函数可以看出,更新的是第二map矩阵中表示待处理区域每列的纵坐标取值。
需要补充说明的是,在得到头发处理后的用户图像之后,通过将衣服区域覆盖到头发变形后的用户图像上,得到换装图像。
如图2F所示,其中的图(a)为换装前的原图像,图(c)为执行换装处理之后的图像,在换装前,原图像中的用户为长发后披,经过上述步骤201至步骤204的流程处理之后,将服装模板图像上的衣服区域按照坐标对应关系覆盖到图像上实现换装,由图(c)可以看出,在头发与服装之间没有出现缝隙。
至此,完成上述图2A所示的头发处理流程,在定位出头发区域和人脸区域后,通过将人脸区域向头顶方向膨胀得到保护区域,保护区域包含不需要处理的头发区域,从而通过定位出的头发区域和保护区域获得待处理区域,然后再沿与头顶方向相反的方向对用户图像上的待处理区域进行变形处理,获得头发变形后的用户图像。
进一步地,当应用在换装场景中时,将人脸区域向头顶方向膨胀将不需要处理的头发覆盖掉,留下待处理区域,从而后续沿向下方向对待处理区域进行变形处理后,即使执行换装处理,头发区域与服装之间也不会出现缝隙,可以确保换装后服装与头发的无缝衔接。
实施例二:
图3为本发明根据一示例性实施例示出的一种头发处理方法的具体实现流程图,基于上述图2A所示实施例基础上,如图3所示,在换装场景下的头发处理具体流程包括:
接收用户上传的用户图片和服装模板图片,对用户图片和服装模板图片均进行对齐处理,使得对齐后的用户图片和服装模板图片大小一致,并且两张图片中的人体均对齐,然后对用户图片中的头发进行分类,得到分类结果,并定位服装模板图片中的衣服区域,如果分类结果为短发或者头发前披,则不需要进行变形处理,可以直接将衣服区域按照坐标对应关系覆盖到用户图片上实现换装;如果分类结果为长发后披,则定位用户图片中的头发区域和人脸区域,并根据衣服区域和头发区域进一步判定是否需要对头发区域进行变形处理,在判定需要变形处理时,将人脸区域向头顶方向膨胀得到保护区域,然后利用头发区域和保护区域确定待处理区域,并沿与头顶方向相反的方向对用户图片上的待处理区域进行变形处理,得到头发变形后的用户图片,最后将衣服区域按照坐标对应关系覆盖到头发处理后的用户图片上实现换装。
基于上述描述可知,在换装场景中,通过对用户图片中的头发区域进行分类,在分类结果为长发后披时,再根据服装模板图片中的衣服区域与头发区域判定是否需要对头发区域进行变形处理,如果判定需要,则通过将人脸区域向头顶方向膨胀以将不需要处理的头发区域覆盖得到保护区域,然后利用保护区域和头发区域得到待处理区域,再沿与头顶方向相反的方向对用户图片上的待处理区域进行变形处理,获得头发变形后的用户图片,进而再将衣服区域覆盖到用户图片上实现换装,由于头发区域已经完成拉伸变形,因此换装后,头发与服装之间不会出现缝隙,换装效果比较好。
与前述头发处理方法的实施例相对应,本发明还提供了头发处理装置的实施例。
图4为本发明根据一示例性实施例示出的一种头发处理装置的结构示意图,该装置用于执行上述任一实施例提供的头发处理方法,如图4所示,该头发处理装置包括:
定位模块610,用于定位用户图像中的头发区域和人脸区域;
获取模块620,用于将所述人脸区域向头顶方向膨胀,以得到保护区域,并利用所述头发区域和所述保护区域确定待处理区域;
变形处理模块630,用于沿与所述头顶方向相反的方向对所述用户图像上的待处理区域进行变形处理,得到头发变形后的用户图像。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本发明方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
本发明实施方式还提供一种与前述实施方式所提供的头发处理方法对应的电子设备,以执行上述头发处理方法。
图5为本发明根据一示例性实施例示出的一种电子设备的硬件结构图,该电子设备包括:通信接口601、处理器602、存储器603和总线604;其中,通信接口601、处理器602和存储器603通过总线604完成相互间的通信。处理器602通过读取并执行存储器603中与头发处理方法的控制逻辑对应的机器可执行指令,可执行上文描述的头发处理方法,该方法的具体内容参见上述实施例,此处不再累述。
本发明中提到的存储器603可以是任何电子、磁性、光学或其它物理存储装置,可以包含存储信息,如可执行指令、数据等等。具体地,存储器603可以是RAM(Random AccessMemory,随机存取存储器)、闪存、存储驱动器(如硬盘驱动器)、任何类型的存储盘(如光盘、DVD等),或者类似的存储介质,或者它们的组合。通过至少一个通信接口601(可以是有线或者无线)实现该***网元与至少一个其他网元之间的通信连接,可以使用互联网、广域网、本地网、城域网等。
总线604可以是ISA总线、PCI总线或EISA总线等。所述总线可以分为地址总线、数据总线、控制总线等。其中,存储器603用于存储程序,所述处理器602在接收到执行指令后,执行所述程序。
处理器602可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器602中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器602可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。
本申请实施例提供的电子设备与本申请实施例提供的头发处理方法出于相同的发明构思,具有与其采用、运行或实现的方法相同的有益效果。
本申请实施方式还提供一种与前述实施方式所提供的头发处理方法对应的计算机可读存储介质,请参考图6所示,其示出的计算机可读存储介质为光盘30,其上存储有计算机程序(即程序产品),所述计算机程序在被处理器运行时,会执行前述任意实施方式所提供的头发处理方法。
需要说明的是,所述计算机可读存储介质的例子还可以包括,但不限于相变内存(PRAM)、静态随机存取存储器 (SRAM)、动态随机存取存储器 (DRAM)、其他类型的随机存取存储器 (RAM)、只读存储器 (ROM)、电可擦除可编程只读存储器 (EEPROM)、快闪记忆体或其他光学、磁性存储介质,在此不再一一赘述。
本申请的上述实施例提供的计算机可读存储介质与本申请实施例提供的头发处理方法出于相同的发明构思,具有与其存储的应用程序所采用、运行或实现的方法相同的有益效果。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本发明旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (14)
1.一种头发处理方法,其特征在于,所述方法包括:
定位用户图像中的头发区域和人脸区域;
将所述人脸区域向头顶方向膨胀,以得到保护区域;
利用所述头发区域和所述保护区域确定待处理区域;
沿与所述头顶方向相反的方向对所述用户图像上的待处理区域进行变形处理,得到头发变形后的用户图像。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
对所述用户图像中的头发区域进行分类,得到分类结果;
在所述分类结果为长发往后披类别时,定位服装模板图像中的衣服区域;
根据所述衣服区域与所述头发区域判定是否需要对头发区域进行变形处理;
若是,则执行将所述人脸区域向头顶方向膨胀的过程。
3.根据权利要求2所述的方法,其特征在于,所述根据所述衣服区域与所述头发区域判定是否需要对头发区域进行变形处理,包括:
逐列遍历所述衣服区域与所述头发区域之间相邻边缘的纵坐标差;
从所述纵坐标差中获取最大纵坐标差;
如果所述最大纵坐标差小于预设值,则确定不需要对头发区域进行变形处理;
如果所述最大纵坐标差大于所述预设值,则确定需要对头发区域进行变形处理;
其中,所述纵坐标差为所述衣服区域边缘的纵坐标减去所述头发区域边缘的纵坐标。
4.根据权利要求2所述的方法,其特征在于,所述沿与所述头顶方向相反的方向对所述用户图像上的待处理区域进行变形处理,包括:
获取所述待处理区域上每列对应的变形系数;
根据所述待处理区域上每列对应的变形系数,沿与所述头顶方向相反的方向对所述用户图像上的待处理区域进行变形处理,得到头发变形后的用户图像。
5.根据权利要求4所述的方法,其特征在于,所述根据所述待处理区域上每列对应的变形系数,沿与所述头顶方向相反的方向对所述用户图像上的待处理区域进行变形处理,包括:
获取所述待处理区域上每列的最大纵坐标和最小纵坐标;
针对所述待处理区域上每列,根据所述列的最大纵坐标、最小纵坐标以及变形系数,确定所述列的变形后纵坐标;
根据所述待处理区域上每列的变形后纵坐标、最小纵坐标、最大纵坐标,对所述用户图像上的待处理区域进行变形处理。
6.根据权利要求4所述的方法,其特征在于,所述获取所述待处理区域上每列对应的变形系数,包括:
获取所述头发区域上每列的最大纵坐标和最小纵坐标,以及获取所述衣服区域上每列的最小纵坐标;
针对所述头发区域上每列,利用头发区域上所述列的最大纵坐标和最小纵坐标、衣服区域上所述列的最小纵坐标,确定所述列对应的变形系数;
其中,所述待处理区域的列与所述头发区域的列相同。
7.根据权利要求6所述的方法,其特征在于,所述根据所述待处理区域上每列的变形后纵坐标、最小纵坐标、最大纵坐标,对所述用户图像上的待处理区域进行变形处理,包括:
分别利用所述用户图像的宽度和高度生成第一map矩阵和第二map矩阵,以由所述第一map矩阵和所述第二map矩阵表示用户图像的横坐标和纵坐标之间的映射关系;
根据所述待处理区域上每列的变形后纵坐标、最小纵坐标、最大纵坐标进行线性插值,以更新所述第二map矩阵;
利用所述第一map矩阵和更新后的第二map矩阵对所述用户图像上的待处理区域进行变形处理。
8.根据权利要求2所述的方法,其特征在于,所述方法还包括:
将所述衣服区域覆盖到头发变形后的用户图像上,得到换装图像。
9.根据权利要求1所述的方法,其特征在于,所述利用所述头发区域和所述保护区域确定待处理区域,包括:
对所述头发区域和所述保护区域之间进行集合相减操作,以得到待处理区域。
10.根据权利要求1所述的方法,其特征在于,在定位用户图像中的头发区域和人脸区域之前,所述方法还包括:
检测用户图像中人脸的五官关键点;
根据所述五官关键点对所述用户图像进行对齐处理。
11.根据权利要求2所述的方法,其特征在于,在定位服装模板图像中的衣服区域之前,所述方法还包括:
检测服装模板图像中虚拟人脸的五官关键点;
根据所述五官关键点对所述服装模板图像进行对齐处理。
12.一种头发处理装置,其特征在于,所述装置包括:
定位模块,用于定位用户图像中的头发区域和人脸区域;
获取模块,用于将所述人脸区域向头顶方向膨胀,以得到保护区域,并利用所述头发区域和所述保护区域确定待处理区域;
变形处理模块,用于沿与所述头顶方向相反的方向对所述用户图像上的待处理区域进行变形处理,得到头发变形后的用户图像。
13.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1-11任一项所述方法的步骤。
14.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-11任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210048979.4A CN114565507A (zh) | 2022-01-17 | 2022-01-17 | 一种头发处理方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210048979.4A CN114565507A (zh) | 2022-01-17 | 2022-01-17 | 一种头发处理方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114565507A true CN114565507A (zh) | 2022-05-31 |
Family
ID=81711646
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210048979.4A Pending CN114565507A (zh) | 2022-01-17 | 2022-01-17 | 一种头发处理方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114565507A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024120223A1 (zh) * | 2022-12-09 | 2024-06-13 | 北京字跳网络技术有限公司 | 图像处理方法、装置、设备、存储介质及计算机程序产品 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108510500A (zh) * | 2018-05-14 | 2018-09-07 | 深圳市云之梦科技有限公司 | 一种基于人脸肤色检测的虚拟人物形象的头发图层处理方法及*** |
CN108629781A (zh) * | 2018-04-24 | 2018-10-09 | 成都品果科技有限公司 | 一种头发绘制方法 |
CN109886144A (zh) * | 2019-01-29 | 2019-06-14 | 深圳市云之梦科技有限公司 | 虚拟试发方法、装置、计算机设备和存储介质 |
WO2020019913A1 (zh) * | 2018-07-25 | 2020-01-30 | 腾讯科技(深圳)有限公司 | 一种人脸图像处理方法、装置及存储介质 |
CN112288665A (zh) * | 2020-09-30 | 2021-01-29 | 北京大米科技有限公司 | 图像融合的方法、装置、存储介质及电子设备 |
CN113034349A (zh) * | 2021-03-24 | 2021-06-25 | 北京达佳互联信息技术有限公司 | 图像处理方法、装置、电子设备及存储介质 |
-
2022
- 2022-01-17 CN CN202210048979.4A patent/CN114565507A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108629781A (zh) * | 2018-04-24 | 2018-10-09 | 成都品果科技有限公司 | 一种头发绘制方法 |
CN108510500A (zh) * | 2018-05-14 | 2018-09-07 | 深圳市云之梦科技有限公司 | 一种基于人脸肤色检测的虚拟人物形象的头发图层处理方法及*** |
WO2020019913A1 (zh) * | 2018-07-25 | 2020-01-30 | 腾讯科技(深圳)有限公司 | 一种人脸图像处理方法、装置及存储介质 |
CN109886144A (zh) * | 2019-01-29 | 2019-06-14 | 深圳市云之梦科技有限公司 | 虚拟试发方法、装置、计算机设备和存储介质 |
CN112288665A (zh) * | 2020-09-30 | 2021-01-29 | 北京大米科技有限公司 | 图像融合的方法、装置、存储介质及电子设备 |
CN113034349A (zh) * | 2021-03-24 | 2021-06-25 | 北京达佳互联信息技术有限公司 | 图像处理方法、装置、电子设备及存储介质 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024120223A1 (zh) * | 2022-12-09 | 2024-06-13 | 北京字跳网络技术有限公司 | 图像处理方法、装置、设备、存储介质及计算机程序产品 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11403874B2 (en) | Virtual avatar generation method and apparatus for generating virtual avatar including user selected face property, and storage medium | |
US9916494B2 (en) | Positioning feature points of human face edge | |
CN112419170B (zh) | 遮挡检测模型的训练方法及人脸图像的美化处理方法 | |
CN111178337A (zh) | 人脸关键点数据增强方法、装置、***以及模型训练方法 | |
CN112884637A (zh) | 特效生成方法、装置、设备及存储介质 | |
CN109801380A (zh) | 一种虚拟试衣的方法、装置、存储介质及计算机设备 | |
US20240004477A1 (en) | Keyboard perspective method and apparatus for virtual reality device, and virtual reality device | |
CN114283052A (zh) | 妆容迁移及妆容迁移网络的训练方法和装置 | |
CN114565507A (zh) | 一种头发处理方法、装置、电子设备及存储介质 | |
JP2022153857A (ja) | 画像処理装置、画像処理方法、移動装置、及びコンピュータプログラム | |
US20220207917A1 (en) | Facial expression image processing method and apparatus, and electronic device | |
CN113658197B (zh) | 图像处理方法、装置、电子设备及计算机可读存储介质 | |
US20240212393A1 (en) | Face anti-spoofing method, device, and computer-readable storage medium | |
JP2006164133A (ja) | 画像処理方法および装置並びにプログラム | |
CN112819937A (zh) | 一种自适应多对象光场三维重建方法、装置及设备 | |
CN110910478B (zh) | Gif图生成方法、装置、电子设备及存储介质 | |
JP6547244B2 (ja) | 動作処理装置、動作処理方法及びプログラム | |
CN113610864B (zh) | 图像处理方法、装置、电子设备及计算机可读存储介质 | |
CN113239867B (zh) | 一种基于掩码区域自适应增强的光照变化人脸识别方法 | |
CN114565505A (zh) | 基于虚拟换装的服装变形方法、装置、设备及存储介质 | |
WO2021237736A1 (zh) | 图像处理方法、装置和***,计算机可读存储介质 | |
CN110781739B (zh) | 提取行人特征的方法、装置、计算机设备和存储介质 | |
CN114093011B (zh) | 头发分类方法、装置、设备及存储介质 | |
KR20210091033A (ko) | 객체 정보 추정과 가상 객체 생성을 위한 전자 장치 및 전자 장치의 동작 방법 | |
CN113763233A (zh) | 一种图像处理方法、服务器及拍照设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20220531 |