CN113724265A - 肤色迁移方法及装置、存储介质及电子设备 - Google Patents
肤色迁移方法及装置、存储介质及电子设备 Download PDFInfo
- Publication number
- CN113724265A CN113724265A CN202110815298.1A CN202110815298A CN113724265A CN 113724265 A CN113724265 A CN 113724265A CN 202110815298 A CN202110815298 A CN 202110815298A CN 113724265 A CN113724265 A CN 113724265A
- Authority
- CN
- China
- Prior art keywords
- skin color
- region
- image
- sub
- source image
- 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
- 230000005012 migration Effects 0.000 title claims abstract description 96
- 238000013508 migration Methods 0.000 title claims abstract description 96
- 238000000034 method Methods 0.000 title claims abstract description 59
- 238000003709 image segmentation Methods 0.000 claims abstract description 11
- 230000037311 normal skin Effects 0.000 claims description 20
- 238000004590 computer program Methods 0.000 claims description 10
- 230000000694 effects Effects 0.000 abstract description 10
- 238000005192 partition Methods 0.000 abstract 1
- 238000004422 calculation algorithm Methods 0.000 description 22
- 230000004048 modification Effects 0.000 description 11
- 238000012986 modification Methods 0.000 description 11
- 230000008569 process Effects 0.000 description 11
- 230000011218 segmentation Effects 0.000 description 10
- 238000012937 correction Methods 0.000 description 9
- 238000012545 processing Methods 0.000 description 7
- 239000003086 colorant Substances 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 230000001186 cumulative effect Effects 0.000 description 5
- 230000009471 action Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 238000007635 classification algorithm Methods 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 238000011160 research Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000012549 training Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 239000002537 cosmetic Substances 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000001815 facial effect Effects 0.000 description 1
- 210000001061 forehead Anatomy 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000003064 k means clustering Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/11—Region-based segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/40—Image enhancement or restoration using histogram techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/187—Segmentation; Edge detection involving region growing; involving region merging; involving connected component labelling
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Data Mining & Analysis (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- Life Sciences & Earth Sciences (AREA)
- Image Processing (AREA)
- Image Analysis (AREA)
Abstract
本申请涉及妆容迁移技术领域,提供一种肤色迁移方法及装置、存储介质及电子设备。其中,肤色迁移方法包括:分别对源图像和参考图像进行图像分割,得到源图像中的肤色区域和参考图像中的肤色区域;分别根据不同的亮度级别将源图像中的肤色区域和参考图像中的肤色区域划分为多个子区域;分别将源图像中的每个子区域与参考图像中同亮度级别的子区域进行直方图匹配,获得迁移结果图像。该方法采用分区匹配的方式提高了直方图匹配的精度,有效改善了因源图像中的阴影区域和/或高光区域所占比例与参考图像中的阴影区域和/或高光区域所占比例相差较大,所导致的肤色迁移效果不佳的情况。
Description
技术领域
本发明涉及妆容迁移技术领域,具体而言,涉及一种肤色迁移方法及装置、存储介质及电子设备。
背景技术
妆容迁移是指将参考图像(例如,化妆)的妆容迁移到源图像(素颜)上的虚拟化妆过程,与物理化妆过程相比,虚拟化妆过程耗时短,且不会损伤皮肤,能满足现代人短时间内尝试大量妆容的需要,同时方便集成到妆容推荐功能中,具有广阔的应用前景。
常见的妆容迁移任务包括肤色迁移、口红迁移、眼影迁移等。现有方法通常利用直方图匹配来进行肤色迁移,但在源图像中的阴影区域和/或高光区域所占比例与参考图像中的阴影区域和/或高光区域所占比例相差较大时,经常出现迁移效果不佳的情况。
发明内容
本申请实施例的目的在于提供一种肤色迁移方法及装置、存储介质及电子设备,以改善上述技术问题。
为实现上述目的,本申请提供如下技术方案:
第一方面,本申请实施例提供一种肤色迁移方法,包括:分别对源图像和参考图像进行图像分割,得到所述源图像中的肤色区域和所述参考图像中的肤色区域;分别根据不同的亮度级别将所述源图像中的肤色区域和所述参考图像中的肤色区域划分为多个子区域;分别将所述源图像中的每个子区域与所述参考图像中同亮度级别的子区域进行直方图匹配,获得迁移结果图像。
上述方法并非是在源图像和参考图像中的整个肤色区域之间做直方图匹配,而是按照像素的亮度将肤色区域进一步划分为多个子区域,仅在源图像和参考图像中具有相同亮度级别的子区域之间做直方图匹配。这种分区域匹配的做法提高了直方图匹配的精度,使得匹配前后源图像中像素的亮度不至于发生跨级别的变化,从而有效改善了因源图像中的阴影区域和/或高光区域所占比例与参考图像中的阴影区域和/或高光区域所占比例相差较大,所导致的肤色迁移效果不佳的情况。
在第一方面的一种实现方式中,所述分别根据不同的亮度级别将所述源图像中的肤色区域和所述参考图像中的肤色区域划分为多个子区域,包括:将簇数量设置为所述亮度级别的总数,分别对所述源图像的肤色区域中的像素和所述参考图像的肤色区域中的像素进行聚类,以使所述源图像中的肤色区域和所述参考图像中的肤色区域分别被划分为多个子区域。
在上述实现方式中,将簇数量设置为亮度级别的总数后,可以利用聚类算法自动完成区域划分,聚类算法具有良好的通用性,对于不同肤色的人脸图像都可以适用。
在第一方面的一种实现方式中,所述分别根据不同的亮度级别将所述源图像中的肤色区域和所述参考图像中的肤色区域划分为多个子区域,包括:根据预设的像素值阈值,分别对所述源图像的肤色区域中的像素和所述参考图像的肤色区域中的像素进行分类,以使所述源图像中的肤色区域和所述参考图像中的肤色区域分别被划分为多个子区域。
在上述实现方式中,通过设置阈值实现对像素值的分类,分类算法相较于聚类算法实现起来更为简单高效,但通用性不及聚类算法,可能需要根据不同肤色的人群设置不同的像素值阈值。
在第一方面的一种实现方式中,所述多个子区域中包括至少一个待修正的子区域,在所述分别根据不同的亮度级别将所述源图像中的肤色区域和所述参考图像中的肤色区域划分为多个子区域之后,以及在所述分别将所述源图像中的每个子区域与所述参考图像中同亮度级别的子区域进行直方图匹配之前,所述方法还包括:对于所述源图像和所述参考图像中每个待修正的子区域,计算其包含的连通域,对于其中的每个连通域,判断其面积是否小于面积阈值,若小于所述面积阈值,则将该连通域重新划归为对应图像中与该待修正的子区域亮度级别相邻的子区域。
子区域有可能出现误划分,发明人研究发现,在绝大多数光照环境下,子区域在人脸中都是大块出现的,从而若某个子区域下属的连通域面积很小,则大概率该连通域的子区域划分结果是错误的,应当对其进行修正。对子区域的划分结果进行修正有利于提高后续分区域进行直方图匹配的精度。
上述实现方式给出了一种子区域修正策略,即对于某个连通域而言,其修正前后的子区域在亮度级别上是相邻的。这种策略在进行子区域修正时,仍然以像素的亮度为基础,即只对连通域原来的子区域划分结果进行有限度的调整。
在第一方面的一种实现方式中,所述多个子区域中包括至少一个待修正的子区域,在所述分别根据不同的亮度级别将所述源图像中的肤色区域和所述参考图像中的肤色区域划分为多个子区域之后,以及在所述分别将所述源图像中的每个子区域与所述参考图像中同亮度级别的子区域进行直方图匹配之前,所述方法还包括:对于所述源图像和所述参考图像中每个待修正的子区域,计算其包含的连通域,对于其中的每个连通域,判断其面积是否小于面积阈值,若小于所述面积阈值,则将该连通域重新划归为对应图像中位于其周围的子区域。
上述实现方式给出了一种子区域修正策略,即对于某个连通域而言,其修正前后的子区域在位置上是相邻的。这种策略在进行子区域修正时,优先考虑子区域的空间分布特性,即子区域中的连通域通常是大面积分布的,从而将面积较小的连通域并入周围面积较大的某个子区域是合理的选择,此种策略允许对连通域原来的子区域划分结果进行较大的调整(跨多个亮度级别)。
在第一方面的一种实现方式中,所述多个子区域包括阴影区域、正常肤色区域以及高光区域。
低亮度(阴影)、普通亮度(正常)以及高亮度(高光)是三种典型的亮度级别,在多数情况下已经可以有效地描述肤色区域中的亮度分布,并且由于亮度级别总数较少,也有利于降低肤色迁移过程中的运算量。
在第一方面的一种实现方式中,在所述获得迁移结果图像之后,所述方法还包括:利用预训练的生成对抗网络中的生成网络对所述迁移结果图像进行修复,获得最终迁移结果图像。
迁移结果图像只是一个相对粗略的肤色迁移结果。有很多原因,例如肤色区域的分割结果不准确,子区域的分割结果不准确等,都可能造成迁移结果图像中存在一些瑕疵。在上述实现方式中,通过生成网络重构迁移结果图像,以修复这些瑕疵,获得比较精细的肤色迁移结果。
第二方面,本申请实施例提供一种肤色迁移装置,包括:肤色区域获取模块,用于分别对源图像和参考图像进行图像分割,得到所述源图像中的肤色区域和所述参考图像中的肤色区域;子区域获取模块,用于分别根据不同的亮度级别将所述源图像中的肤色区域和所述参考图像中的肤色区域划分为多个子区域;直方图匹配模块,用于分别将所述源图像中的每个子区域与所述参考图像中同亮度级别的子区域进行直方图匹配,获得迁移结果图像。
第三方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序指令,所述计算机程序指令被处理器读取并运行时,执行第一方面或第一方面的任意一种可能的实现方式提供的方法。
第四方面,本申请实施例提供一种电子设备,包括:存储器以及处理器,所述存储器中存储有计算机程序指令,所述计算机程序指令被所述处理器读取并运行时,执行第一方面或第一方面的任意一种可能的实现方式提供的方法。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本申请实施例提供的肤色迁移方法的一种可能的流程;
图2示出了本申请实施例提供的肤色迁移装置的一种可能的结构;
图3示出了本申请实施例提供的电子设备的一种可能的结构。
具体实施方式
肤色迁移是妆容迁移中的一项重要任务,因为化妆前后肤色可能会产生一定的变化,因此通常将参考图像中的肤色也视为妆容的一部分参与迁移过程。实验结果表明,在源图像中的阴影区域和/或高光区域所占比例与参考图像中的阴影区域和/或高光区域所占比例相差较大时,现有的肤色迁移方法经常出现迁移效果不佳的情况。
发明人经长期研究发现,造成这一现象的原因是现有方法普遍通过在源图像和参考图像之间直接进行直方图匹配来实现肤色迁移。直方图匹配算法的主要功能是使源图像的累积直方图(在匹配之后)尽可能地接近于参考图像的累积直方图(当然,累积直方图相似了,直方图一般也就相似了),从直观结果来看就是使得源图像中人物的肤色变得和参考图像比较接近。
常规的直方图匹配算法步骤如下:
(1)计算源图像Is的累积直方图Hs;
(2)计算参考图像Ir的累积直方图Hr;
(3)针对Hs中每一灰度级g对应的值,分别计算其与Hr中各个灰度级对应的值之差(求绝对值),注意,在步骤(1)和(2)中,累积直方图中每一灰度级对应的值已经映射到[0,1]区间;
(4)求出步骤(3)中差值的最小值,确定该最小值在Hr中对应的灰度级G,这样就建立了Hs和Hr之间的灰度级映射关系g→G;
(5)将Is中灰度级为g的像素替换为灰度级为G的像素,得到直方图匹配结果。
上面步骤中的源图像和参考图像可以理解为灰度图像,如果二者是RGB图像,只需按照对应的颜色通道分别执行上述算法即可。
若源图像中的阴影区域和/或高光区域所占比例与参考图像中的阴影区域和/或高光区域所占比例相差较大,例如,在源图像中几乎没有阴影区域,但在参考图像中却存在大量阴影区域,按照算法步骤,源图像中大量普通亮度(这里所说的亮度可由灰度级代表)的像素可能与参考图像中大量低亮度的像素之间建立映射关系,从而在直方图匹配后,源图像中可能会出现大量阴影,并且阴影散布在人脸的各个部分(因为匹配前普通亮度的像素就分布在这些位置),导致人物出现“花脸”的情况,严重影响肤色迁移效果。
基于以上发现,本申请实施例提供一种肤色迁移方法及装置、存储介质及电子设备,该技术方案利用分区域的直方图匹配代替传统的直方图匹配算法,有效改善了上述技术问题,提高了肤色迁移的效果。
需要指出,除该技术方案本身以外,上述对肤色迁移效果不佳的原因分析,也是发明人在研究过程中所得到的结论,而非现有技术中已经存在的结果,因此也应视为发明人针对本发明所作出的贡献。
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
术语“第一”、“第二”等仅用于将一个实体或者操作与另一个实体或操作区分开来,而不能理解为指示或暗示相对重要性,也不能理解为要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
图1示出了本申请实施例提供的肤色迁移方法的一种可能的流程。该方法可以但不限于由图3示出的电子设备执行,其具体结构可参考后文关于图3的阐述。参照图1,该方法包括:
步骤S110:分别对源图像和参考图像进行图像分割,得到源图像中的肤色区域和参考图像中的肤色区域。
其中,源图像可以是用户的图像,参考图像可以是模特的图像,肤色迁移的目标是将参考图像的肤色迁移到源图像中,理想情况下,迁移后源图像和参考图像将具有类似的肤色。肤色迁移可以作为妆容迁移中的一项任务,但也不排除将其应用于其他领域。源图像和参考图像的采集方式不限,图像类型(彩色或黑白)也不限。
肤色区域是指图像中皮肤所覆盖的区域,从源图像和参考图像中分割出肤色区域的方法是类似的。以源图像为例,分割结果中包含肤色区域的位置信息。例如,分割结果可以是一个二值掩膜,掩膜中取值为1的像素对应源图像中属于肤色区域的像素,取值为0的像素对应源图像中不属于肤色区域的像素;又例如,分割结果可记录肤色区域的边界位置信息,根据该边界位置信息可以确定肤色区域在源图像中的位置。分割肤色区域的方法至少包括以下几类:
(1)传统的图像分割算法;例如,基于颜色空间的图像分割算法。
(2)基于深度学习的图像分割算法;例如,利用预训练的卷积神经网络对图像进行分割,该神经网络可以采用UNet、SegNet等结构。
(3)基于特征点检测的图像分割算法;例如,先检测图像中的人脸特征点,然后将人脸特征点按照预设的顺序连接,形成封闭的区域,即肤色区域。在连接人脸特征点时应将眼睛、嘴巴等非肤色区域排除在肤色区域外。
步骤S120:分别根据不同的亮度级别将源图像中的肤色区域和参考图像中的肤色区域划分为多个子区域。
其中,亮度级别的总数不限定,至少应当为2个级别,并且对于源图像和参考图像,划分子区域所依据的亮度级别是一致的。例如,对于源图像根据亮度级别1和亮度级别2(2个不同的亮度级别)划分子区域,对于参考图像也必须根据亮度级别1和亮度级别2(和划分源图像采用的亮度级别一致)划分子区域,不能根据亮度级别1、亮度级别2和亮度级别3划分子区域(和划分源图像采用的亮度级别的总数量不一致),也不能根据亮度级别2和亮度级别3(和划分源图像采用的亮度级别的总数量一致,但具体的级别不一致)划分子区域。
划分得到的各子区域具有不同的亮度级别,更具体来说,是指各子区域中包含的像素具有不同的亮度级别,而像素对应的亮度级别则取决于像素值。多数情况下,亮度级别的总数和肤色区域中划分出的子区域的总数相同,但也不排除肤色区域中没有属于某个亮度级别的像素,此时针对该亮度级别无法划分出对应的子区域,从而子区域的总数也可能小于亮度级别的总数,这种情况也可以视为某个或某几个子区域不包含像素的特例,为简单起见,在后文中不作为阐述重点。
在一些实现方式中,步骤S120中的亮度级别包括3个,分别是低亮度、普通亮度以及高亮度,根据这三种亮度级别可以分别从源图像和参考图像的肤色区域中划分出三个对应的子区域,即阴影区域、正常肤色区域以及高光区域(源图像中划分出这三个子区域,参考图像中也划分出这三个子区域),三种亮度级别在多数情况下已经可以有效地描述肤色区域中的亮度分布,并且由于亮度级别总数较少,也有利于降低肤色迁移过程中的运算量。当然,设置更多或更少的亮度级别也是可以的,但后文为简单起见,主要以上述3个亮度级别的情况为例。
下面列举两种划分子区域的方式,可以理解的,划分子区域还可能采取其他方式:
(1)将簇数量设置为亮度级别的总数,分别对源图像的肤色区域中的像素和参考图像的肤色区域中的像素进行聚类,以使源图像中的肤色区域和参考图像中的肤色区域分别被划分为多个子区域。
其中,具体的聚类算法不限定,例如可以采用k均值聚类、高斯混合聚类、层次聚类等算法。
例如,若将簇数量设置为3,则可以划分出肤色区域中的阴影区域、正常肤色区域以及高光区域。
聚类算法具有良好的通用性,对于不同肤色的人脸图像都可以适用。不过需要指出,通过聚类算法划分出的子区域,其对应的亮度级别是相对而言的,例如,阴影区域是指肤色区域中相对亮度较低的区域,但其绝对亮度则并不一定很低。
(2)根据预设的像素值阈值,分别对源图像的肤色区域中的像素和参考图像的肤色区域中的像素进行分类,以使源图像中的肤色区域和参考图像中的肤色区域分别被划分为多个子区域。
例如,若亮度级别包括3个,可以设置2个像素值阈值T1、T2,假设肤色区域中的某个像素的亮度值(可以取像素值或根据像素值计算)为P,若P<T1,则将其划分至阴影区域,若T1≤P<T2,则将其划分至正常肤色区域,若P>T2,则将其划分至高光区域。
基于阈值的分类算法相较于聚类算法实现起来更为简单高效,但通用性不及聚类算法,可能需要根据不同肤色的人群设置不同的像素值阈值。另外,通过分类算法划分出的子区域,其对应的亮度级别是绝对意义上的,例如,阴影区域是指肤色区域中亮度较低的区域,若整个肤色区域亮度都比较高,则可能无法划分出阴影区域。
划分出的子区域可以采用和肤色区域类似的表示方式,例如,可以针对源图像的肤色区域中的每个子区域生成一个对应的二值掩膜,掩膜中取值为1的像素对应源图像中属于该子区域的像素,取值为0的像素对应源图像中不属于该子区域的像素。
在一些实现方式中,执行完步骤S120后可以紧接着执行步骤S130;在另一些实现方式中,还可以先对步骤S120中得到的部分或全部的子区域进行修正,然后再执行步骤S130,不妨将要进行修正处理的子区域称为待修正的子区域,如果待修正的子区域不是步骤S120中得到的全部子区域,则可根据实际需求指定哪些子区域需要修正。
对于源图像的肤色区域中包含的子区域,以及参考图像的肤色区域中包含的子区域都可以进行修正。可选的,源图像中指定的待修正的子区域与参考图像中指定的待修正的子区域具有相同的亮度级别,即对源图像和对参考图像的处理方式保持一致。例如,对源图像以及参考图像中的阴影区域和高光区域均进行修正,对源图像以及参考图像中的正常肤色区域均不进行修正。为简单起见,在下面介绍子区域的修正方法时,不区分子区域到底属于源图像还是参考图像,因为二者的处理方式是类似的。
首先介绍图像处理领域中连通域的概念。连通域是由图像中的像素构成的区域,同一连通域中的任意两个像素之间是连通的,所谓两个像素连通,可以指从其中一个像素出发,总是从邻接的像素中寻找下一个像素,至少可以得到一条抵达另一个像素的路径。而像素之间的邻接关系,常见的有4邻接和8邻接,4邻接即认为一个像素只与其上下左右的4个像素相邻,8邻接则认为一个像素与围绕着它的8个像素都相邻。子区域修正的基本单位是子区域所包含的连通域,即对子区域进行修正,实际上是修正该子区域当前所包含的一个或多个连通域,其过程为:对待修正的子区域,首先确定其包含的连通域,然后针对每个连通域,判断其是否满足预设的修正条件,若满足修正条件,则重新设置该连通域所归属的子区域。可以理解,每个子区域可能会包含多个连通域,例如,对于人脸上的高光区域,可以包含额头上的高光、左脸颊上的高光、右脸颊上的高光、鼻尖上的高光共4个连通域,若选择高光区域作为待修正的子区域,则要分别考察这4个连通域是否满足修正条件。
对子区域内部的像素进行连通性检测,即可确定子区域所包含的连通域。例如,若子区域采用二值掩膜表示,则可采用Two-Pass、Seed-Filling等算法检测出子区域中的全部连通域。
之所以要进行子区域修正,是因为子区域有可能出现误划分,发明人研究发现,在绝大多数光照环境下,子区域在人脸中都是大块出现的,例如,当强光源从左侧照射人脸时,右脸上会出现大面积阴影,即阴影区域包含多个大面积的连通域。从而,若子区域下属的某个连通域面积很小,以至于小于某个面积阈值,则大概率该连通域的子区域划分结果是错误的,应当对其进行修正。这里的“小于某个面积阈值”,就是上面说的修正条件。面积阈值可以是绝对意义上的值,例如,100个像素,可以是相对意义上的值,例如肤色区域面积的5%,等等。
误划分的出现有多方面的原因:例如,图像中某些像素点本来就是噪声,其像素值不能代表真实的肤色;又例如,人脸皮肤上本来就有一个斑点,其颜色比周围皮肤暗,因此仅根据斑点处的像素值会将该斑点所在的连通域判断为阴影区域,但实际上该斑点并不一定处于人脸上的阴影区域中,等等。子区域误划分可能影响后续直方图匹配的精度,因此可以事先对其进行修正。
介绍了子区域修正的基本概念后,下面给出两种具体的修正策略,可以理解的,修正子区域还可能采取其他策略:
(1)若某个待修正的子区域中的某个连通域的面积小于面积阈值,则将该连通域重新划归为图像(指待修正的子区域所在的图像)中与该待修正的子区域亮度级别相邻的子区域。
其中,对于多个子区域对应的亮度级别,可按照从低亮度到高亮度(或者反过来)的顺序排序,在排序之后,对于任一子区域,都可以确定与其在亮度级别上相邻的子区域。
例如,对于源图像,若阴影区域中的某个连通域的面积小于面积阈值,则将该连通域重新划归为源图像中的正常肤色区域,因为正常肤色区域和阴影区域在亮度级别上是相邻的。
又例如,对于源图像,若高光区域中的某个连通域的面积小于面积阈值,则将该连通域重新划归为源图像中的正常肤色区域,因为正常肤色区域和高光区域在亮度级别上是相邻的。
又例如,对于源图像,若正常肤色区域中的某个连通域的面积小于面积阈值,则将该连通域重新划归为源图像中的阴影区域或高光区域,因为阴影区域和高光区域与正常肤色区域在亮度级别上是相邻的。至于到底要划归为阴影区域还是高光区域,则可进一步判断:比如,采用策略(2)中的方式进行判断;又比如,判断当前连通域的亮度(可以定义为连通域中每个像素的亮度的均值)是更接近于阴影区域的亮度还是高光区域的亮度,若更接近于阴影区域的亮度,则将该连通域重新划归为源图像中的阴影区域,否则将该连通域重新划归为源图像中的高光区域。
在策略(1)中,对于某个连通域而言,其修正前后所归属的子区域在亮度级别上是相邻的。这表明策略(1)在进行子区域修正时,仍然是以像素的亮度为基础,即对原来的子区域划分结果(根据像素的亮度进行划分)仅进行有限度的调整。因为根据发明人的研究,原来的子区域划分结果即使存在错误,一般也不会太严重,很少会出现跨亮度级别的划分错误,例如,将本来属于阴影区域的某个连通区域误分为正常肤色区域尚且有一定可能,但是将该连通区域误分为高光区域的情况就非常少见了,从而不应轻易地进行跨亮度级别的修正。
(2)若某个待修正的子区域中的某个连通域的面积小于面积阈值,则将该连通域重新划归为图像(指待修正的子区域所在的图像)中位于其周围的子区域。
例如,对于源图像,若阴影区域中的某个连通域的面积小于面积阈值,且该连通域被正常肤色区域所包围(小面积的连通域大概率被一子区域所包围),则将该连通域重新划归为源图像中的正常肤色区域。
又例如,对于源图像,若正常肤色区域中的某个连通域的面积小于面积阈值,且该连通域被高光区域所包围,则将该连通域重新划归为源图像中的高光区域。
又例如,对于源图像,若阴影区域中的某个连通域的面积小于面积阈值,且该连通域被高光区域所包围,则将该连通域重新划归为源图像中的高光区域。
又例如,对于源图像,若阴影区域中的某个连通域的面积小于面积阈值,且该连通域与阴影区域和高光区域均相邻,则将该连通域重新划归为源图像中的阴影区域或高光区域。至于到底要划归为阴影区域还是高光区域,则可进一步判断,可以参考策略(1)中相关阐述。
在策略(2)中,对于某个连通域而言,其修正前后所归属的子区域在位置上是相邻的。这表明策略(2)在进行子区域修正时,优先考虑子区域的空间分布特性,即子区域中的连通域通常是大面积分布的,从而将面积较小的连通域并入周围面积较大的某个子区域是合理的选择,此种策略允许对连通域原来的子区域划分结果进行较大的调整(跨多个亮度级别,比如将阴影区域修正为高光区域,跨过了正常肤色区域对应的亮度级别)。
步骤S130:分别将源图像中的每个子区域与参考图像中同亮度级别的子区域进行直方图匹配,获得迁移结果图像。
例如,对于源图像和参考图像中的肤色区域均包含阴影区域、正常肤色区域以及高光区域的情况,步骤S130是指将源图像的阴影区域和参考图像的阴影区域匹配,将源图像的正常肤色区域和参考图像的正常肤色区域匹配,以及,将源图像的高光区域和参考图像的高光区域匹配。
针对每两个区域之间的直方图匹配算法就是前文所介绍的直方图匹配算法,此处不再重复阐述。源图像中的每个子区域都对应一个直方图匹配结果,直方图匹配结果维持该子区域原来的形状,只是其中的像素值经过了映射,所有的直方图匹配结果合起来所组成的图像就是肤色迁移的迁移结果图像。需要指出,从存储角度来看,在不同的实现方式中,迁移结果图像可能和源图像是同一张图像(当然像素值在肤色迁移后发生了改变),也可能是新创建的一张图像(肤色迁移后源图像中的像素值不变)。
综上所述,本申请实施例提供的肤色迁移方法并非是在源图像和参考图像中的整个肤色区域之间做直方图匹配,而是按照像素的亮度将肤色区域进一步划分为多个子区域,仅在源图像和参考图像中具有相同亮度级别的子区域之间做直方图匹配。这种分区域匹配的做法提高了直方图匹配的精度,使得匹配前后源图像中像素的亮度不至于发生跨级别的变化,从而有效改善了因源图像中的阴影区域和/或高光区域所占比例与参考图像中的阴影区域和/或高光区域所占比例相差较大,所导致的肤色迁移效果不佳的情况。
沿用前文曾经提到的例子,在源图像中几乎没有阴影区域,但在参考图像中却存在大量阴影区域,按照本申请中分区域的直方图匹配算法,源图像中大量普通亮度的像素只会与参考图像中普通亮度的像素之间建立映射关系,而不会与参考图像中大量低亮度的像素之间建立映射关系,从而在直方图匹配后,源图像中并不会出现大量阴影,肤色迁移效果较好。
进一步的,步骤S130中的迁移结果图像只是一个相对粗略的肤色迁移结果。有很多原因,例如肤色区域的分割结果不准确(比如误分或者漏分),子区域的分割结果不准确(比如误分)等,都可能造成迁移结果图像中存在一些瑕疵。因此,在一些实现方式中,还可以在执行步骤S130之后,利用预训练的生成对抗网络(Generative Adversarial Network,简称GAN)中的生成网络对迁移结果图像中的这些瑕疵进行修复,获得最终迁移结果图像。相对于迁移结果图像,最终迁移结果图像是比较精细的肤色迁移结果,可用于向用户显示。
其中,生成对抗网络包括生成网络和判别器网络,在训练时两部分都要包括,但在训练好后只使用其中的生成网络即可,该生成网络以迁移结果图像为输入,输出修复后的最终迁移结果图像。
图2示出了本申请实施例提供的肤色迁移装置200的功能模块图。参照图2,肤色迁移装置200包括:
肤色区域获取模块210,用于分别对源图像和参考图像进行图像分割,得到所述源图像中的肤色区域和所述参考图像中的肤色区域;
子区域获取模块220,用于分别根据不同的亮度级别将所述源图像中的肤色区域和所述参考图像中的肤色区域划分为多个子区域;
直方图匹配模块230,用于分别将所述源图像中的每个子区域与所述参考图像中同亮度级别的子区域进行直方图匹配,获得迁移结果图像。
在肤色迁移装置200的一种实现方式中,子区域获取模块220分别根据不同的亮度级别将所述源图像中的肤色区域和所述参考图像中的肤色区域划分为多个子区域,包括:将簇数量设置为所述亮度级别的总数,分别对所述源图像的肤色区域中的像素和所述参考图像的肤色区域中的像素进行聚类,以使所述源图像中的肤色区域和所述参考图像中的肤色区域分别被划分为多个子区域。
在肤色迁移装置200的一种实现方式中,子区域获取模块220分别根据不同的亮度级别将所述源图像中的肤色区域和所述参考图像中的肤色区域划分为多个子区域,包括:根据预设的像素值阈值,分别对所述源图像的肤色区域中的像素和所述参考图像的肤色区域中的像素进行分类,以使所述源图像中的肤色区域和所述参考图像中的肤色区域分别被划分为多个子区域。
在肤色迁移装置200的一种实现方式中,所述多个子区域中包括至少一个待修正的子区域,所述装置还包括:子区域修正模块,用于在子区域获取模块220分别根据不同的亮度级别将所述源图像中的肤色区域和所述参考图像中的肤色区域划分为多个子区域之后,以及在直方图匹配模块230分别将所述源图像中的每个子区域与所述参考图像中同亮度级别的子区域进行直方图匹配之前,对于所述源图像和所述参考图像中每个待修正的子区域,计算其包含的连通域,对于其中的每个连通域,判断其面积是否小于面积阈值,若小于所述面积阈值,则将该连通域重新划归为对应图像中与该待修正的子区域亮度级别相邻的子区域。
在肤色迁移装置200的一种实现方式中,所述多个子区域中包括至少一个待修正的子区域,所述装置还包括:子区域修正模块,用于在子区域获取模块220分别根据不同的亮度级别将所述源图像中的肤色区域和所述参考图像中的肤色区域划分为多个子区域之后,以及在直方图匹配模块230分别将所述源图像中的每个子区域与所述参考图像中同亮度级别的子区域进行直方图匹配之前,对于所述源图像和所述参考图像中每个待修正的子区域,计算其包含的连通域,对于其中的每个连通域,判断其面积是否小于面积阈值,若小于所述面积阈值,则将该连通域重新划归为对应图像中位于其周围的子区域。
在肤色迁移装置200的一种实现方式中,所述多个子区域包括阴影区域、正常肤色区域以及高光区域。
在肤色迁移装置200的一种实现方式中,所述装置还包括:迁移结果修复模块,用于在直方图匹配模块230获得迁移结果图像之后,利用预训练的生成对抗网络中的生成网络对所述迁移结果图像进行修复,获得最终迁移结果图像。
本申请实施例提供的肤色迁移装置200,其实现原理及产生的技术效果在前述方法实施例中已经介绍,为简要描述,装置实施例部分未提及之处,可参考方法实施例中相应内容。
图3示出了本申请实施例提供的电子设备300的一种可能的结构。参照图3,电子设备300包括:处理器310、存储器320以及通信接口330,这些组件通过通信总线340和/或其他形式的连接机构(未示出)互连并相互通讯。
其中,处理器310包括一个或多个(图中仅示出一个),其可以是一种集成电路芯片,具有信号的处理能力。上述的处理器310可以是通用处理器,包括中央处理器(CentralProcessing Unit,简称CPU)、微控制单元(Micro Controller Unit,简称MCU)、网络处理器(Network Processor,简称NP)或者其他常规处理器;还可以是专用处理器,包括图形处理器(Graphics Processing Unit,GPU)、神经网络处理器(Neural-network ProcessingUnit,简称NPU)、数字信号处理器(Digital Signal Processor,简称DSP)、专用集成电路(Application Specific Integrated Circuits,简称ASIC)、现场可编程门阵列(FieldProgrammable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。并且,在处理器310为多个时,其中可以是通用处理器,另一部分可以是专用处理器。
存储器320包括一个或多个(图中仅示出一个),其可以是,但不限于,随机存取存储器(Random Access Memory,简称RAM),只读存储器(Read Only Memory,简称ROM),可编程只读存储器(Programmable Read-Only Memory,简称PROM),可擦除可编程只读存储器(Erasable Programmable Read-Only Memory,简称EPROM),电可擦除可编程只读存储器(Electric Erasable Programmable Read-Only Memory,简称EEPROM)等。处理器310以及其他可能的组件可对存储器320进行访问,读和/或写其中的数据。
特别地,在存储器320中可以存储一个或多个计算机程序指令,处理器310可以读取并运行这些计算机程序指令,以实现本申请实施例提供的肤色迁移方法。
通信接口330包括一个或多个(图中仅示出一个),可以用于和其他设备进行直接或间接地通信,以便进行数据的交互。通信接口330可以包括进行有线和/或无线通信的接口。
可以理解,图3所示的结构仅为示意,电子设备300还可以包括比图3中所示更多或者更少的组件,或者具有与图3所示不同的配置。图3中所示的各组件可以采用硬件、软件或其组合实现。电子设备300可能是实体设备,例如PC机、笔记本电脑、平板电脑、手机、服务器、嵌入式设备等,也可能是虚拟设备,例如虚拟机、虚拟化容器等。并且,电子设备300也不限于单台设备,也可以是多台设备的组合或者大量设备构成的集群。
本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序指令,所述计算机程序指令被计算机的处理器读取并运行时,执行本申请实施例提供的肤色迁移方法。例如,计算机可读存储介质可以实现为图3中电子设备300中的存储器320。
以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种肤色迁移方法,其特征在于,包括:
分别对源图像和参考图像进行图像分割,得到所述源图像中的肤色区域和所述参考图像中的肤色区域;
分别根据不同的亮度级别将所述源图像中的肤色区域和所述参考图像中的肤色区域划分为多个子区域;
分别将所述源图像中的每个子区域与所述参考图像中同亮度级别的子区域进行直方图匹配,获得迁移结果图像。
2.根据权利要求1所述的肤色迁移方法,其特征在于,所述分别根据不同的亮度级别将所述源图像中的肤色区域和所述参考图像中的肤色区域划分为多个子区域,包括:
将簇数量设置为所述亮度级别的总数,分别对所述源图像的肤色区域中的像素和所述参考图像的肤色区域中的像素进行聚类,以使所述源图像中的肤色区域和所述参考图像中的肤色区域分别被划分为多个子区域。
3.根据权利要求1所述的肤色迁移方法,其特征在于,所述分别根据不同的亮度级别将所述源图像中的肤色区域和所述参考图像中的肤色区域划分为多个子区域,包括:
根据像素值阈值,分别对所述源图像的肤色区域中的像素和所述参考图像的肤色区域中的像素进行分类,以使所述源图像中的肤色区域和所述参考图像中的肤色区域分别被划分为多个子区域。
4.根据权利要求1-3中任一项所述的肤色迁移方法,其特征在于,所述多个子区域中包括至少一个待修正的子区域,在所述分别根据不同的亮度级别将所述源图像中的肤色区域和所述参考图像中的肤色区域划分为多个子区域之后,以及在所述分别将所述源图像中的每个子区域与所述参考图像中同亮度级别的子区域进行直方图匹配之前,所述方法还包括:
对于所述源图像和所述参考图像中每个待修正的子区域,计算其包含的连通域,对于其中的每个连通域,判断其面积是否小于面积阈值,若小于所述面积阈值,则将该连通域重新划归为对应图像中与该待修正的子区域亮度级别相邻的子区域。
5.根据权利要求1-3中任一项所述的肤色迁移方法,其特征在于,所述多个子区域中包括至少一个待修正的子区域,在所述分别根据不同的亮度级别将所述源图像中的肤色区域和所述参考图像中的肤色区域划分为多个子区域之后,以及在所述分别将所述源图像中的每个子区域与所述参考图像中同亮度级别的子区域进行直方图匹配之前,所述方法还包括:
对于所述源图像和所述参考图像中每个待修正的子区域,计算其包含的连通域,对于其中的每个连通域,判断其面积是否小于面积阈值,若小于所述面积阈值,则将该连通域重新划归为对应图像中位于其周围的子区域。
6.根据权利要求1-5中任一项所述的肤色迁移方法,其特征在于,所述多个子区域包括阴影区域、正常肤色区域以及高光区域。
7.根据权利要求1-3中任一项所述的肤色迁移方法,其特征在于,在所述获得迁移结果图像之后,所述方法还包括:
利用预训练的生成对抗网络中的生成网络对所述迁移结果图像进行修复,获得最终迁移结果图像。
8.一种肤色迁移装置,其特征在于,包括:
肤色区域获取模块,用于分别对源图像和参考图像进行图像分割,得到所述源图像中的肤色区域和所述参考图像中的肤色区域;
子区域获取模块,用于分别根据不同的亮度级别将所述源图像中的肤色区域和所述参考图像中的肤色区域划分为多个子区域;
直方图匹配模块,用于分别将所述源图像中的每个子区域与所述参考图像中同亮度级别的子区域进行直方图匹配,获得迁移结果图像。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序指令,所述计算机程序指令被处理器读取并运行时,执行如权利要求1-7中任一项所述的方法。
10.一种电子设备,其特征在于,包括存储器以及处理器,所述存储器中存储有计算机程序指令,所述计算机程序指令被所述处理器读取并运行时,执行权利要求1-7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110815298.1A CN113724265A (zh) | 2021-07-19 | 2021-07-19 | 肤色迁移方法及装置、存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110815298.1A CN113724265A (zh) | 2021-07-19 | 2021-07-19 | 肤色迁移方法及装置、存储介质及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113724265A true CN113724265A (zh) | 2021-11-30 |
Family
ID=78673501
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110815298.1A Pending CN113724265A (zh) | 2021-07-19 | 2021-07-19 | 肤色迁移方法及装置、存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113724265A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115345773A (zh) * | 2022-08-15 | 2022-11-15 | 哈尔滨工业大学(深圳) | 基于生成对抗网络的妆容迁移方法 |
-
2021
- 2021-07-19 CN CN202110815298.1A patent/CN113724265A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115345773A (zh) * | 2022-08-15 | 2022-11-15 | 哈尔滨工业大学(深圳) | 基于生成对抗网络的妆容迁移方法 |
CN115345773B (zh) * | 2022-08-15 | 2023-02-17 | 哈尔滨工业大学(深圳) | 基于生成对抗网络的妆容迁移方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113781402B (zh) | 芯片表面划痕缺陷的检测方法、装置和计算机设备 | |
Soriano et al. | Adaptive skin color modeling using the skin locus for selecting training pixels | |
Zarit et al. | Comparison of five color models in skin pixel classification | |
CN104915972B (zh) | 图像处理装置、图像处理方法以及程序 | |
Naji et al. | Skin segmentation based on multi pixel color clustering models | |
CN103035013B (zh) | 一种基于多特征融合的精确运动阴影检测方法 | |
Luengo-Oroz et al. | Robust iris segmentation on uncalibrated noisy images using mathematical morphology | |
WO2020140198A1 (zh) | 指甲图像分割方法、装置、设备和存储介质 | |
US20150125074A1 (en) | Apparatus and method for extracting skin area to block harmful content image | |
US20170178341A1 (en) | Single Parameter Segmentation of Images | |
CN108564579A (zh) | 一种基于时空相关的混凝土裂缝检测方法及检测装置 | |
KR100903816B1 (ko) | 정지영상에서의 얼굴추출시스템과 그 방법 | |
CN110363103B (zh) | 虫害识别方法、装置、计算机设备及存储介质 | |
CN113724265A (zh) | 肤色迁移方法及装置、存储介质及电子设备 | |
Dwina et al. | Skin segmentation based on improved thresholding method | |
Dai et al. | Robust and accurate moving shadow detection based on multiple features fusion | |
Li et al. | Transition region-based single-object image segmentation | |
Min et al. | A nonparametric skin color model for face detection from color images | |
CN110930358A (zh) | 一种基于自适应算法的太阳能面板图像处理方法 | |
Güngör et al. | Coarse segmentation with GDD clustering using color and spatial data | |
Trémeau et al. | Detecting text in natural scenes based on a reduction of photometric effects: problem of text detection | |
Pichai et al. | Human skin detection in digital images using multi colour scheme system | |
Harrabi et al. | Color Image Segmentation by Multilevel Thresholding using a Two Stage Optimization Approach and Fusion | |
Jang et al. | Skin region segmentation using an image-adapted colour model | |
Venkatesan et al. | Experimental research on identification of face in a multifaceted condition with enhanced genetic and ANT colony optimization algorithm |
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 |