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

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

2022-07-31 05:20:50 来源:中国专利 TAG:


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


背景技术:

2.相关技术中,随着图像处理技术的不断发展和用户审美的不断提高,越来越多的用户选择利用图像处理软件对图像进行美化处理。而磨皮作为图像处理软件美化图像的一种重要的图像处理方式,也倍受用户青睐。在对图像进行磨皮处理时,通常采用统一的磨皮参数对图像中的所有像素进行磨皮处理。但是,由于图像中不同像素的亮度可能不同,故而,采用统一的磨皮参数对图像的所有像素进行磨皮处理,会导致图像的磨皮效果较差。


技术实现要素:

3.本公开提供一种图像处理方法、装置、电子设备及存储介质,以至少解决相关技术中图像的磨皮效果较差的问题。本公开的技术方案如下:
4.根据本公开实施例的第一方面,提供一种图像处理方法,包括:
5.获取待处理图像;
6.确定所述待处理图像中的肤色区域;
7.确定所述肤色区域对应的阴影概率图和亮度映射图;其中,所述阴影概率图包括所述肤色区域中每个像素对应的阴影概率值;所述亮度映射图包括所述肤色区域中每个像素的亮度映射值,所述亮度映射值为所述肤色区域中的像素在rgb色彩空间的亮度值对应于ycbcr色彩空间的映射值;且在第一像素在rgb色彩空间的第一亮度值小于第二像素在rgb色彩空间的第二亮度值的情况下,所述第一亮度值在ycbcr色彩空间对应的第一亮度映射值大于所述第二亮度值在ycbcr色彩空间对应的第二亮度映射值;所述第一像素和所述第二像素为所述肤色区域中的任意两个像素;
8.根据所述阴影概率图和所述亮度映射图确定所述肤色区域对应的阴影分布图;其中,所述阴影分布图包括所述肤色区域中每个像素对应的阴影值,所述阴影值用于指示对应的像素是否为阴影区域;
9.基于所述每个像素对应的阴影值确定所述每个像素对应的目标磨皮参数;
10.基于所述目标磨皮参数对所述肤色区域中每个像素进行磨皮处理,得到目标处理图像。
11.在一种可能的实施方式中,所述确定所述肤色区域对应的阴影概率图,包括:
12.获取所述肤色区域中每个像素对应的rgb颜色值;其中,所述rgb颜色值包括b通道数值和g通道数值;
13.基于所述每个像素对应的b通道数值和g通道数值,计算所述每个像素对应的阴影概率值;
14.基于所述每个像素对应的阴影概率值确定所述肤色区域对应的阴影概率图。
15.在一种可能的实施方式中,所述基于所述每个像素对应的b通道数值和g通道数值,计算所述每个像素对应的阴影概率值的计算公式为:
[0016][0017]
其中,shadow rario表示肤色区域中每个像素对应的阴影概率值,b表示肤色区域中每个像素对应的b通道数值,g表示肤色区域中每个像素对应的g通道数值。
[0018]
在一种可能的实施方式中,确定所述肤色区域对应的亮度映射图,包括:
[0019]
获取所述肤色区域中每个像素在rgb色彩空间的亮度值;
[0020]
将所述肤色区域中每个像素在rgb色彩空间的亮度值转换至ycbcr色彩空间,得到所述肤色区域中每个像素在ycbcr色彩空间中的y通道亮度值;
[0021]
基于所述肤色区域中每个像素在ycbcr色彩空间中的y通道亮度值,计算所述肤色区域中每个像素在ycbcr色彩空间的亮度映射值;
[0022]
基于所述肤色区域中每个像素在ycbcr色彩空间的亮度映射值,生成所述肤色区域对应的亮度映射图;
[0023]
其中,所述基于所述肤色区域中每个像素在ycbcr色彩空间中的y通道亮度值,计算所述肤色区域中每个像素在ycbcr色彩空间的亮度映射值的计算公式为:
[0024]
luminancemapping=1.0-α*(x
β-x
β 1
)
[0025]
其中,luminancemapping表示肤色区域中每个像素在ycbcr色彩空间的亮度映射值,x代表肤色区域中每个像素在ycbcr色彩空间对应的y通道亮度值,x、β为预设参数。
[0026]
在一种可能的实施方式中,根据所述阴影概率图和所述亮度映射图确定所述肤色区域对应的阴影分布图,包括:
[0027]
根据所述每个像素对应的阴影概率值和亮度映射值,计算所述每个像素对应的阴影值;
[0028]
基于所述每个像素对应的阴影值生成所述肤色区域对应的阴影分布图。
[0029]
在一种可能的实施方式中,所述根据所述每个像素对应的阴影概率值和亮度映射值,计算所述每个像素对应的阴影值的计算公式为:
[0030]
shadow map=clamp(luminancemapping.*shadow rario,0.0,1.0)
[0031]
其中,shadow map表示肤色区域中每个像素对应的阴影值,luminancemapping表示肤色区域中每个像素对应的亮度映射值,shadow rario表示肤色区域中每个像素对应的阴影概率值。
[0032]
在一种可能的实施方式中,所述基于所述每个像素对应的阴影值确定所述每个像素对应的目标磨皮参数的计算公式为:
[0033][0034]
其中,表示肤色区域中每个像素对应的目标磨皮参数,γ表示肤色区域中每个像素对应的预设磨皮参数,shadowmap表示肤色区域中每个像素对应的阴影值,a表示预设阴影值阈值。
[0035]
根据本公开实施例的第二方面,提供一种图像处理装置,包括:
[0036]
获取模块,被配置为获取待处理图像;
[0037]
第一确定模块,被配置为确定所述待处理图像中的肤色区域;
[0038]
第二确定模块,被配置为确定所述肤色区域对应的阴影概率图和亮度映射图;其中,所述阴影概率图包括所述肤色区域中每个像素对应的阴影概率值;所述亮度映射图包括所述肤色区域中每个像素的亮度映射值,所述亮度映射值为所述肤色区域中的像素在rgb色彩空间的亮度值对应于ycbcr色彩空间的映射值;且在第一像素在rgb色彩空间的第一亮度值小于第二像素在rgb色彩空间的第二亮度值的情况下,所述第一亮度值在ycbcr色彩空间对应的第一亮度映射值大于所述第二亮度值在ycbcr色彩空间对应的第二亮度映射值;所述第一像素和所述第二像素为所述肤色区域中的任意两个像素;
[0039]
第三确定模块,被配置为根据所述阴影概率图和所述亮度映射图确定所述肤色区域对应的阴影分布图;其中,所述阴影分布图包括所述肤色区域中每个像素对应的阴影值,所述阴影值用于指示对应的像素是否为阴影区域;
[0040]
第四确定模块,被配置为基于所述每个像素对应的阴影值确定所述每个像素对应的目标磨皮参数;
[0041]
磨皮模块,被配置为基于所述目标磨皮参数对所述肤色区域中每个像素进行磨皮处理,得到目标磨皮图像。
[0042]
在一种可能的实施方式中,所述第二确定模块,包括:
[0043]
第一获取单元,被配置为获取所述肤色区域中每个像素对应的rgb颜色值;其中,所述rgb颜色值包括b通道数值和g通道数值;
[0044]
第一计算单元,被配置为基于所述每个像素对应的b通道数值和g通道数值,计算所述每个像素对应的阴影概率值;
[0045]
确定单元,被配置为基于所述每个像素对应的阴影概率值确定所述肤色区域对应的阴影概率图。
[0046]
在一种可能的实施方式中,所述基于所述每个像素对应的b通道数值和g通道数值,计算所述每个像素对应的阴影概率值的计算公式为:
[0047][0048]
其中,shadow rario表示肤色区域中每个像素对应的阴影概率值,b表示肤色区域中每个像素对应的b通道数值,h表示肤色区域中每个像素对应的g通道数值。
[0049]
在一种可能的实施方式中,所述第二确定模块,还包括:
[0050]
第二获取单元,被配置为获取所述肤色区域中每个像素在rgb色彩空间的亮度值;
[0051]
转换单元,被配置为将所述肤色区域中每个像素在rgb色彩空间的亮度值转换至ycbcr色彩空间,得到所述肤色区域中每个像素在ycbcr色彩空间中的y通道亮度值;
[0052]
第二计算单元,被配置为基于所述肤色区域中每个像素在ycbcr色彩空间中的y通道亮度值,计算所述肤色区域中每个像素在ycbcr色彩空间的亮度映射值;
[0053]
第一生成单元,被配置为基于所述肤色区域中每个像素在ycbcr色彩空间的亮度映射值,生成所述肤色区域对应的亮度映射图;
[0054]
其中,所述基于所述肤色区域中每个像素在ycbcr色彩空间中的y通道亮度值,计算所述肤色区域中每个像素在ycbcr色彩空间的亮度映射值的计算公式为:
[0055]
luminancemapping=1.0-α*(x
β-x
β 1
)
[0056]
其中,luminancemapping表示肤色区域中每个像素在ycbcr色彩空间的亮度映射值,x代表肤色区域中每个像素在ycbcr色彩空间对应的y通道亮度值,x、β为预设参数。
[0057]
在一种可能的实施方式中,所述第三确定模块,包括:
[0058]
第三计算单元,被配置为根据所述每个像素对应的阴影概率值和亮度映射值,计算所述每个像素对应的阴影值;
[0059]
第二生成单元,被配置为基于所述每个像素对应的阴影值生成所述肤色区域对应的阴影分布图。
[0060]
在一种可能的实施方式中,所述根据所述每个像素对应的阴影概率值和亮度映射值,计算所述每个像素对应的阴影值的计算公式为:
[0061]
shadow map=clamp(luminancemapping.*shadow rario,0.0,1.0)
[0062]
其中,shadow map表示肤色区域中每个像素对应的阴影值,lnminancemapping表示肤色区域中每个像素对应的亮度映射值,shadow rario表示肤色区域中每个像素对应的阴影概率值。
[0063]
在一种可能的实施方式中,所述基于所述每个像素对应的阴影值确定所述每个像素对应的目标磨皮参数的计算公式为:
[0064][0065]
其中,表示肤色区域中每个像素对应的目标磨皮参数,γ表示肤色区域中每个像素对应的预设磨皮参数,shadowmap表示肤色区域中每个像素对应的阴影值,a表示预设阴影值阈值。
[0066]
根据本公开实施例的第三方面,提供一种电子设备,包括:
[0067]
处理器;
[0068]
用于存储所述处理器可执行指令的存储器;
[0069]
其中,所述处理器被配置为执行所述指令,以实现如第一方面中任一项所述的图像处理方法。
[0070]
根据本公开实施例的第四方面,提供一种计算机可读存储介质,当所述计算机可读存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如第一方面中任一项所述的图像处理方法。
[0071]
根据本公开实施例的第五方面,提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如第一方面中任一项所述的图像处理方法。
[0072]
本公开的实施例提供的技术方案至少带来以下有益效果:
[0073]
在本公开的实施例中,通过获取待处理图像,确定待处理图像中的肤色区域对应的阴影概率图和亮度映射图,其中,阴影概率图包括述肤色区域中每个像素对应的阴影概率值;亮度映射图包括肤色区域中每个像素的亮度映射值,亮度映射值为肤色区域中的像素在rgb色彩空间的亮度值于ycbcr色彩空间的映射值;且在第一像素在rgb色彩空间的第一亮度值小于第二像素在rgb色彩空间的第二亮度值的情况下,第一亮度值在ycbcr色彩空间对应的第一亮度映射值大于第二亮度值在ycbcr色彩空间对应的第二亮度映射值;其中,第一像素和第二像素为肤色区域中的任意两个像素;再根据阴影概率图和亮度映射图确定肤色区域对应的阴影分布图,该阴影分布图包括用于指示肤色区域中每个像素是否为阴影
区域的阴影值;然后,基于每个像素对应的阴影值确定肤色区域中每个像素对应的目标磨皮参数,基于目标磨皮参数对肤色区域中每个像素进行磨皮处理,得到目标磨皮图像。
[0074]
这样,可以结合肤色区域中每个像素对应的亮度分布情况和阴影分布情况,确定肤色区域中每个像素对应的目标磨皮参数,使得肤色区域中每个像素对应的目标磨皮参数更加符合实际需要。如此,一方面,可以使得对图像进行磨皮处理的方式更加丰富,提高图像磨皮处理的灵活性;另一方面,基于更加符合肤色区域中每个像素的实际亮度和阴影情况的目标磨皮参数对肤色区域进行磨皮处理,还可以提高磨皮效果,提高目标磨皮图像的美感,使得目标磨皮图像能够更好的满足用户需求,从而可以有效提高用户体验。
[0075]
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
[0076]
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
[0077]
图1是根据一示例性实施例示出的一种图像处理方法的流程图。
[0078]
图2是根据一示例性实施例示出的一种阴影分布图的确定方法的示意图。
[0079]
图3是根据一示例性实施例示出的一种目标磨皮参数的确定方法的流程图。
[0080]
图4是根据一示例性实施例示出的一种图像处理装置的框图。
[0081]
图5是根据一示例性实施例示出的一种电子设备的框图。
具体实施方式
[0082]
为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
[0083]
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
[0084]
由背景技术可知,相关技术中,采用统一的磨皮参数对图像的所有像素进行磨皮处理,会导致图像的磨皮效果较差。基于此,本公开实施例提供了一种图像处理方法、装置、电子设备及存储介质,可以结合肤色区域中每个像素对应的亮度和阴影分布情况,确定肤色区域中每个像素对应的目标磨皮参数,使得肤色区域中每个像素对应的目标磨皮参数更加符合实际需要,从而不仅可以使得对图像进行磨皮处理的方式更加丰富、提高图像磨皮处理的灵活性,还可以提高磨皮效果、有效提高用户体验。
[0085]
下面结合附图对本公开实施例提供的图像处理方法、装置、电子设备及存储介质进行详细说明。
[0086]
图1是根据一示例性实施例示出的一种图像处理方法的流程图,该图像处理方法可以应用于电子设备,例如,可以为手机、平板电脑、电脑。如图1所示,图像处理方法可以包
括以下步骤。
[0087]
在步骤s101中,获取待处理图像。
[0088]
在本公开实施例中,当需要对某图像中的人物面部进行磨皮处理时,电子设备可以先获取需要进行磨皮处理的图像,即待处理图像。该待处理图像图像可以是各类直播、短视频等应用中实时获取到的图像,或者也可以是拍摄的图像。
[0089]
可以理解的,待处理图像可以是在各类直播中、短视频拍摄中实时获取的图像,也可以是实时拍摄的图像,或者,也可以是预先获取好的图像。
[0090]
在步骤s102中,确定待处理图像中的肤色区域。
[0091]
在本公开实施例中,电子设备在获取到待处理图像之后,还可以在待处理图像中确定出肤色区域,也就是说,要在待处理图像中分割出需要进行磨皮处理的人物的面部肤色区域。示例性的,可以通过基于gmm(gaussian mixed model,混合高斯模型)和基于cnn(convolutional neural network,卷积神经网络)等方法实现肤色分割,得到皮肤mask(掩膜),皮肤mask可以是一张二进制图像,该皮肤mask即可以认为是待处理图像中的肤色区域。
[0092]
在步骤s103中,确定肤色区域对应的阴影概率图和亮度映射图。
[0093]
其中,阴影概率图包括肤色区域中每个像素对应的阴影概率值。亮度映射图包括肤色区域中每个像素的亮度映射值,亮度映射值为肤色区域中的像素在rgb色彩空间的亮度值于ycbcr色彩空间的映射值;且在第一像素在rgb色彩空间的第一亮度值小于第二像素在rgb色彩空间的第二亮度值的情况下,第一亮度值在ycbcr色彩空间对应的第一亮度映射值大于第二亮度值在ycbcr色彩空间对应的第二亮度映射值;其中,第一像素和第二像素为肤色区域中的任意两个像素,第一亮度值为第一像素在rgb色彩空间的亮度值,第二亮度值为第二像素在rgb色彩空间的亮度值。也就是说,rgb色彩空间中较高的亮度值映射至ycbcr色彩空间后,得到一个较低的亮度映射值,rgb色彩空间中较低的亮度值映射至ycbcr色彩空间后,得到一个较高的亮度映射值。
[0094]
在本公开实施例中,考虑到待处理图像可能会由于拍摄技术、拍摄条件等原因导致光照条件不足或光照不均匀,这使得肤色区域容易出现明暗区域、阴影区域等。故而,电子设备在确定出待磨皮区域中的肤色区域之后,可以确定肤色区域对应的阴影概率图和肤色区域对应的亮度映射图。示例性的,可以通过确定肤色区域中每个像素对应的阴影概率值,确定肤色区域对应的阴影概率图,其中,阴影概率值可以用于表示对应的像素是阴影区域的概率;可以通过确定肤色区域中每个像素对应的亮度值,确定肤色区域对应的亮度映射图,其中,亮度值可以用于指示对应的像素的亮度情况,亮度值越低对应的像素是阴影区域的可能越大。示例性的,亮度映射图可以包括肤色区域中每个像素的亮度映射值,其中,亮度映射值为肤色区域中的像素在rgb色彩空间的亮度值于ycbcr色彩空间的映射值,且第一像素在rgb色彩空间的第一亮度值小于第二像素在rgb色彩空间的第二亮度值的情况下,第一亮度值在ycbcr色彩空间对应的第一亮度映射值大于第二亮度值在ycbcr色彩空间对应的第二亮度映射值。也就是说,阴影概率图可以根据阴影概率值表示肤色区域中可能出现阴影的区域的概率,亮度映射图可以根据亮度值表示肤色区域中可能出现阴影的区域。
[0095]
在步骤s104中,根据阴影概率图和亮度映射图确定肤色区域对应的阴影分布图。
[0096]
其中,阴影分布图包括肤色区域中每个像素对应的阴影值,阴影值用于指示对应
的像素是否为阴影区域。
[0097]
在本公开实施例中,电子设备可以根据肤色区域对应的阴影概率图和亮度映射图确定肤色区域对应的阴影分布图,示例性的,可以确定肤色区域中每个像素对应的阴影值,再基于每个像素对应的阴影值生成肤色区域对应的阴影分布图。也就是说,可以结合亮度映射图中的亮度信息和阴影概率图中的色彩特征确定阴影分布图,相对于只根据亮度确定阴影分布而言,可以有效提高阴影分布图的准确性,以为后续确定像素对应的目标磨皮参数提供更准确的数据基础。
[0098]
在步骤s105中,基于每个像素对应的阴影值确定每个像素对应的目标磨皮参数。
[0099]
在本公开实施例中,电子设备根据阴影概率图和亮度映射图确定肤色区域对应的阴影分布图之后,可以根据阴影分布图中每个像素对应的阴影值,确定待处理图像的肤色区域中的每个像素对应的磨皮参数,即目标磨皮参数。示例性的,目标磨皮参数可以包括磨皮强度、磨皮步长、磨皮窗口大小等参数。例如,在磨皮参数包括磨皮强度时,可以加大阴影值较高的像素对应的磨皮强度,将加大后的磨皮强度作为该像素对应的目标磨皮参数。
[0100]
在步骤s106中,基于目标磨皮参数对肤色区域中每个像素进行磨皮处理,得到目标磨皮图像。
[0101]
在本公开的实施例中,电子设备在基于每个像素对应的阴影值确定每个像素对应的目标磨皮参数之后,可以基于目磨皮参数对肤色区域中的每个像素进行磨皮处理。也就是说,电子设备可以根据肤色区域中每个像素各自对应的目标磨皮参数,对每个像素点的肤色进行磨皮处理,得到磨皮处理后的图像,即目标磨皮图像。
[0102]
可以理解的,在得到目标磨皮图像之后,可以输出、自动保存或者提示用户保存该目标磨皮图像。
[0103]
在本公开的实施例中,通过获取待处理图像,确定待处理图像中的肤色区域对应的阴影概率图和亮度映射图,其中,阴影概率图包括述肤色区域中每个像素对应的阴影概率值;亮度映射图包括肤色区域中每个像素的亮度映射值,亮度映射值为肤色区域中的像素在rgb色彩空间的亮度值于ycbcr色彩空间的映射值;且在第一像素在rgb色彩空间的第一亮度值小于第二像素在rgb色彩空间的第二亮度值的情况下,第一亮度值在ycbcr色彩空间对应的第一亮度映射值大于第二亮度值在ycbcr色彩空间对应的第二亮度映射值;其中,第一像素和第二像素为肤色区域中的任意两个像素;再根据阴影概率图和亮度映射图确定肤色区域对应的阴影分布图,该阴影分布图包括用于指示肤色区域中每个像素是否为阴影区域的阴影值;然后,基于每个像素对应的阴影值确定肤色区域中每个像素对应的目标磨皮参数,基于目标磨皮参数对肤色区域中每个像素进行磨皮处理,得到目标磨皮图像。
[0104]
这样,可以结合肤色区域中每个像素对应的亮度分布情况和阴影分布情况,确定肤色区域中每个像素对应的目标磨皮参数,使得肤色区域中每个像素对应的目标磨皮参数更加符合实际需要。如此,一方面,可以使得对图像进行磨皮处理的方式更加丰富,提高图像磨皮处理的灵活性;另一方面,基于更加符合肤色区域中每个像素的实际亮度和阴影情况的目标磨皮参数对肤色区域进行磨皮处理,还可以提高磨皮效果,提高目标磨皮图像的美感,使得目标磨皮图像能够更好的满足用户需求,从而可以有效提高用户体验。
[0105]
在一种可能的实施方式中,可以基于肤色区域中每个像素的rgb颜色值确定阴影概率图,相应的,上述步骤s103中确定肤色区域对应的阴影概率图的具体实现方式可以包
括如下步骤:
[0106]
获取肤色区域中每个像素对应的rgb颜色值,其中,rgb颜色值可以b通道数值和g通道数值;
[0107]
基于每个像素对应的b通道数值和g通道数值,计算每个像素对应的阴影概率值;
[0108]
基于每个像素对应的阴影概率值生成肤色区域对应的阴影概率图。
[0109]
在本公开实施例中,电子设备在确定肤色区域对应的阴影概率图时,可以获取肤色区域中每个像素对应的rgb(rgb color mode,rgb色彩模式)颜色值,从每个像素对应的rgb颜色值中获取每个像素对应的b通道数值和g通道数值。然后,可以基于每个像素对应的b通道数值和g通道数值,计算每个像素对应的阴影概率值,也就是说,可以在肤色区域对应的在原始rgb色彩空间的色彩特征对肤色区域进行阴影概率估计。其中,基于每个像素对应的b通道数值和g通道数值,计算每个像素对应的阴影概率值的计算公式可以如公式(1)所示。
[0110][0111]
其中,shadow rario表示肤色区域中每个阴影概率值,b表示肤色区域中每个像素对应的b通道数值,g表示肤色区域中每个像素对应的g通道数值。阴影概率值越高,则该阴影概率值对应的像素属于阴影区域的概率越大。这样,可以基于每个像素对应的b通道数值和g通道数值计算每个像素对应的阴影概率值,即可以基于每个像素的色彩特征计算每个像素对应的阴影概率值,使每个像素对应的阴影概率周具有每个像素各自的色彩特征,如此,可以提高计算出的每个像素对应的阴影概率值的准确性,可以为后续确定每个像素对应的目标磨皮参数提供准确的数据基础。
[0112]
在计算得到每个像素对应的阴影概率值之后,可以基于每个像素对应的阴影概率值生成肤色区域对应的阴影概率图,示例性的,可以按照每个像素在肤色区域的位置,将每个像素对应的阴影概率值填至对应的位置,得到肤色区域对应的阴影概率图,阴影概率图例如可以是矩阵的形式。这样,基于肤色区域中每个像素的rgb颜色值确定阴影概率图,可以使得阴影概率图能够从色彩特征的角度反应肤色区域的阴影情况,可以为后续肤色区域中每个像素对应的目标磨皮参数的确定提供数据基础。
[0113]
在一种可能的实施方式中,电子设备可以基于每个像素对应的y通道亮度值确定肤色区域对应的亮度映射图,相应的,其具体实现方式可以为:
[0114]
获取肤色区域中每个像素在rgb色彩空间的亮度值;
[0115]
将肤色区域中每个像素在rgb色彩空间的亮度值转换至ycbcr色彩空间,得到肤色区域中每个像素在ycbcr色彩空间中的y通道亮度值;
[0116]
基述肤色区域中每个像素在ycbcr色彩空间中的y通道亮度值,计算肤色区域中每个像素在ycbcr色彩空间的亮度映射值;
[0117]
基于肤色区域中每个像素在ycbcr色彩空间的亮度映射值,生成肤色区域对应的亮度映射图。
[0118]
在本公开实施例中,考虑到ycbcr空间与人的视觉感知系统具有一致性,能够将色彩中的亮度分量分离出来,其肤色聚类效果较好,且ycbcr空间的y通道亮度值对样本的影响是非常小的。故而,电子设备在确定肤色区域对应的亮度映射图时,可以获取肤色区域中
每个像素在rgb色彩空间的亮度值,并可以将肤色区域中每个像素在rgb色彩空间的亮度值转换至ycbcr色彩空间,得到肤色区域中每个像素在ycbcr色彩空间中的y通道亮度值。然后,再根据肤色区域中每个像素在ycbcr色彩空间中的y通道亮度值,计算每个像素对应的亮度映射值,实现y通道亮度值到亮度映射值的映射。示例性的,亮度越高的像素映射的亮度值越低,亮度越低的像素映射的亮度值越高。具体的,基于肤色区域中每个像素在ycbcr色彩空间中的y通道亮度值,计算肤色区域中每个像素在ycbcr色彩空间的亮度映射值的计算公式可以如公式(2)所示。
[0119]
luminancemapping=1.0-α*(x
β-x
β 1
)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(2)
[0120]
其中,luminancemapping表示肤色区域中每个像素在ycbcr色彩空间的亮度映射值,x代表肤色区域中每个像素在ycbcr色彩空间对应的y通道亮度值,x、β为预设参数。
[0121]
在计算得到肤色区域中每个像素对应的亮度映射值之后,可以基于肤色区域中每个像素对应的亮度映射值生成肤色区域对应的亮度映射图,示例性的,可以按照每个像素在肤色区域的位置,将每个像素对应的亮度映射值填至对应的位置,得到肤色区域对应的亮度映射图,亮度映射图例如也可以是矩阵的形式。
[0122]
可以理解的,上述确定肤色区域对应的亮度映射图的步骤,可以在确定肤色区域对应的阴影概率图的步骤之前执行,或者,也可以与确定肤色区域对应的阴影概率图的步骤同时执行。
[0123]
这样,基于肤色区域中每个像素在rgb色彩空间的亮度值在ycbcr色彩空间的亮度映射值确定亮度映射图,可以使得亮度映射图能够与人的视觉感知系统保持一致性,使得确定亮度映射图反应的肤色区域的阴影情况在亮度上更符合用户感知,如此,可以为后续确定肤色区域中每个像素对应的目标磨皮参数提供更好的数据基础。
[0124]
在进一步可能的实施方式中,上述根据阴影概率图和亮度映射图确定肤色区域对应的阴影分布图的具体实现方式可以如下:
[0125]
根据每个像素对应的阴影概率值和亮度映射值,计算每个像素对应的阴影值;
[0126]
基于每个像素对应的阴影值生成肤色区域对应的阴影分布图。
[0127]
在本公开实施例中,电子设备在根据阴影概率图和亮度映射图确定肤色区域对应的阴影分布图时,可以先获取肤色区域中每个像素对应的阴影概率值和亮度映射值,再根据肤色区域中每个像素对应的阴影概率值和亮度值,计算肤色区域中每个像素对应的阴影值。示例性的,前述根据肤色区域中每个像素对应的阴影概率值和亮度值,计算肤色区域中每个像素对应的阴影值的具体公式可以如公式(3)所示。
[0128]
shadow map =clamp(luminancemapping.*shadow rario,0.0,1.0)
ꢀꢀꢀꢀ
(3)
[0129]
其中,shadow map表示肤色区域中每个像素对应的阴影值;luminancemapping表示肤色区域中每个像素对应的亮度映射值;shadow rario表示肤色区域中每个像素对应的阴影概率值;0.0和1.0分别表示阴影值的最大允许值和最小允许值,也即阴影值的取值范围在0.0-1.0之间。这样,可以基于每个像素对应的阴影概率值和亮度映射值计算每个像素对应的阴影值,即可以结合基于每个像素的色彩特征和亮度特征计算每个像素对应的阴影值,使每个像素对应的阴影值即具有每个像素各自的色彩特征也具有每个像素各自的亮度特征,如此,可以提高计算出的每个像素对应的阴影值的准确性,可以为后续确定每个像素对应的目标磨皮参数提供更准确的数据依据。
[0130]
电子设备在计算出肤色区域中每个像素对应的阴影值之后,可以基于每个像素对应的阴影值生成肤色区域对应的阴影分布图。示例性的,可以按照每个像素在肤色区域中的位置,将每个像素对应的阴影值填至肤色区域中对应的位置,得到肤色区域对应的阴影分布图,阴影分布图例如也可以是矩阵的形式。
[0131]
可以理解的,本公开实施例中确定的阴影分布图还可以应用于其他场景,例如可以是人脸面部不光、均匀肤色等场景。
[0132]
这样,可以在肤色区域中每个像素对应的亮度信息的基础上结合阴影概率值确定阴影分布图,即可以在亮度信息的基础上结合色彩信息,确定肤色区域对应的阴影分布图。如此,可以提高阴影分布图的准确性,为后续确定肤色区域中每个像素对应的目标磨皮参数提供更准确的数据依据,以提高目标磨皮参数与每个像素的真实光照情况的匹配性,从而可以进一步提高磨皮效果。
[0133]
为使本实施例提供的方法更清楚,现结合图2示出的本公开实施例提供的一种确定阴影分布图的示意图对确定阴影分布图的过程进行说明,如图2所示,图2中图像1表示ycbcr色彩空间下的皮肤区域,图像2表示rgb色彩空间下的肤色区域,电子设备可以根据ycbcr色彩空间下肤色区域中每个像素对应的y通道数值进行亮度映射,得到肤色区域对应的亮度映射图,根据rgb色彩空间下的肤色区域中每个像素对应的rgb颜色值计算阴影概率值,得到肤色区域对应的阴影概率图。然后,可以基于亮度映射图和阴影概率图通过公式(3)得到肤色区域对应的阴影分布图。
[0134]
在一些可能的实施方式中,可以调整部分像素对应的磨皮参数得到目标磨皮参数,相应的,如图3所示,上述步骤根据阴影分布图确定目标磨皮参数的具体实现方式可以包括如下步骤:
[0135]
在步骤s301中,选取肤色区域中阴影值大于预设阴影值阈值的目标阴影值;
[0136]
在步骤s302中,确定目标阴影值对应的目标像素;
[0137]
在步骤s303中,对目标像素对应的预设磨皮参数进行调整,得到目标磨皮参数。
[0138]
其中,预设阴影值阈值是预先设定的具体的阴影值阈值,该预设阴影值阈值可以设置为0.4、0.3、或0.5等。该阴影值阈值可以用于指示非阴影区域的阴影值上限,在阴影值大于该阴影值阈值的情况下,则可以认为该阴影值对应的像素属于阴影区域,反之,在阴影值小于或等于该阴影值阈值的情况下,则可以认为该阴影值对应的像素属于非阴影区域。预设磨皮参数可以是预先设定磨皮参数,每个像素对应的预设磨皮参数可以相同。
[0139]
在本公开实施例中,电子设备在根据阴影分布图确定目标磨皮参数时,可以将肤色区域的每个像素对应的阴影值与预设阴影值阈值进行比较,以选出大于阈值阴影值阈值的阴影值,即目标阴影值。然后,可以确定目标阴影值对应的像素,即目标像素,可以理解的,在目标阴影值为多个时,相应的,目标像素也可以是多个。在确定出目标阴影值对应的目标像素之后,可以获取目标像素对应的预设磨皮参数,再对目标像素对应的预设磨皮参数进行调整,得到目标像素对应的目标磨皮参数。也就是说,仅调整了属于阴影区域的目标像素对应的预设磨皮参数,对于阴影值小于或等于预设阴影值阈值的属于非阴影区域的像素对应的预设磨皮参数并未进行调整。
[0140]
示例性的,基于每个像素对应的阴影值确定每个像素对应的目标磨皮参数的计算公式可以参照公式(4):
[0141][0142]
其中,表示肤色区域中每个像素对应的目标磨皮参数,γ表示肤色区域中每个像素对应的预设磨皮参数,shadowmap表示肤色区域中每个像素对应的阴影值,a表示预设阴影值阈值。
[0143]
这样,可以对属于阴影区域的目标像素对应的预设磨皮参数进行调整。如此,一方面,可以使得每个像素对应的目标磨皮参数都更符合实际需要,使得属于阴影区域的目标像素对应的磨皮效果强度更大,提高阴影区域的噪声抑制效果,从而可以进一步提高磨皮效果,使得磨皮效果符合用户视觉感知与审美需求。另一方面,仅对属于阴影区域的目标像素对应的预设磨皮参数进行调整,还可以减少确定目标磨皮参数的资源消耗、减少耗时,从而提高磨皮效率。
[0144]
在一种可能的实施方式中,上述基于目标磨皮参数对肤色区域中每个像素进行磨皮处理,得到目标磨皮图像的具体实现方式可以包括如下处理:
[0145]
基于目标磨皮参数对肤色区域中每个像素进行磨皮处理,得到磨皮后的肤色区域;
[0146]
将磨皮后的肤色区域与待处理图像中的肤色区域进行融合,得到目标磨皮图像。
[0147]
在本公开实施例中,电子设备在基于目标磨皮参数对肤色区域进行磨皮处理,得到目标磨皮图像时,可以基于确定出的每个像素对应的目标磨皮参数,对肤色区域中每个像素进行磨皮处理,得到磨皮处理后的肤色区域。然后,可以将磨皮后的肤色区域与待处理图像中的肤色区域进行融合,得到融合后的图像,即目标磨皮图像。示例性的,磨皮处理可以借助双边滤波、引导滤波、表面滤波等保边滤波算法实现。通过将待处理图像中的原肤色区域与磨皮处理后的肤色区域进行融合处理(如可以是线性融合),得到最终磨皮结果,即目标磨皮图像,例如,目标磨皮图像的融合方式可以如公式(5)所示。
[0148][0149][0150]
其中,s2表示目标磨皮图像,表示肤色区域中每个像素对应的目标磨皮参数,s0表示待处理图像中的原肤色区域,s1表示待处理图像中磨皮处理后的肤色区域,γ表示待处理图像中每个像素对应的预设磨皮参数,shadow map表示待处理图像中每个像素对应的阴影值,a表示预设阴影值阈值。
[0151]
可以理解的,在磨皮参数包括磨皮强度的情况下,调整后的目标磨皮参数中的磨皮强度值范围应取在0.0-1.0之间,也就是调整磨皮强度值不会影响磨皮极值的效果。如果想影响暗光阴影区域的磨皮极值效果,则适配参数可选择磨皮步长、磨皮窗口大小等。
[0152]
图4是根据一示例性实施例示出的一种图像处理装置的框图。参照图4,该图像磨皮装置400可以包括:
[0153]
获取模块410,被配置为获取待处理图像;
[0154]
第一确定模块420,被配置为确定所述待处理图像中的肤色区域;
[0155]
第二确定模块430,被配置为确定所述肤色区域对应的阴影概率图和亮度映射图;
其中,所述阴影概率图包括所述肤色区域中每个像素对应的阴影概率值;所述亮度映射图包括所述肤色区域中每个像素的亮度映射值,所述亮度映射值为所述肤色区域中的像素在rgb色彩空间的亮度值于ycbcr色彩空间的映射值;且在第一像素在rgb色彩空间的第一亮度值小于第二像素在rgb色彩空间的第二亮度值的情况下,所述第一亮度值在ycbcr色彩空间对应的第一亮度映射值大于所述第二亮度值在ycbcr色彩空间对应的第二亮度映射值;所述第一像素和所述第二像素为所述肤色区域中的任意两个像素;
[0156]
第三确定模块440,被配置为根据所述阴影概率图和所述亮度映射图确定所述肤色区域对应的阴影分布图;其中,所述阴影分布图包括所述肤色区域中每个像素对应的阴影值,所述阴影值用于指示对应的像素是否为阴影区域;
[0157]
第四确定模块450,被配置为基于所述每个像素对应的阴影值确定所述每个像素对应的目标磨皮参数;
[0158]
磨皮模块460,被配置为基于所述目标磨皮参数对所述肤色区域中每个像素进行磨皮处理,得到目标磨皮图像。
[0159]
在一种可能的实施方式中,所述第二确定模块430,包括:
[0160]
第一获取单元,被配置为获取所述肤色区域中每个像素对应的rgb颜色值;其中,所述rgb颜色值包括b通道数值和g通道数值;
[0161]
第一计算单元,被配置为基于所述每个像素对应的b通道数值和g通道数值,计算所述每个像素对应的阴影概率值;
[0162]
确定单元,被配置为基于所述每个像素对应的阴影概率值确定所述肤色区域对应的阴影概率图。
[0163]
在一种可能的实施方式中,所述基于所述每个像素对应的b通道数值和g通道数值,计算所述每个像素对应的阴影概率值的计算公式为:
[0164][0165]
其中,shadow rario表示肤色区域中每个像素对应的阴影概率值,b表示肤色区域中每个像素对应的b通道数值,g表示肤色区域中每个像素对应的g通道数值。
[0166]
在一种可能的实施方式中,所述第二确定模块430,还包括:
[0167]
第二获取单元,被配置为获取所述肤色区域中每个像素在rgb色彩空间的亮度值;
[0168]
转换单元,被配置为将所述肤色区域中每个像素在rgb色彩空间的亮度值转换至ycbcr色彩空间,得到所述肤色区域中每个像素在ycbcr色彩空间中的y通道亮度值;
[0169]
第二计算单元,被配置为基于所述肤色区域中每个像素在ycbcr色彩空间中的y通道亮度值,计算所述肤色区域中每个像素在ycbcr色彩空间的亮度映射值;
[0170]
第一生成单元,被配置为基于所述肤色区域中每个像素在ycbcr色彩空间的亮度映射值,生成所述肤色区域对应的亮度映射图;
[0171]
其中,所述基于所述肤色区域中每个像素在ycbcr色彩空间中的y通道亮度值,计算所述肤色区域中每个像素在ycbcr色彩空间的亮度映射值的计算公式为:
[0172]
luminancemapping=1.0-α*(x
β-x
β 1
)
[0173]
其中,luminancemapping表示肤色区域中每个像素在ycbcr色彩空间的亮度映射值,x代表肤色区域中每个像素在ycbcr色彩空间对应的y通道亮度值,x、β为预设参数。
[0174]
在一种可能的实施方式中,所述第三确定模块440,包括:
[0175]
第三计算单元,被配置为根据所述每个像素对应的阴影概率值和亮度映射值,计算所述每个像素对应的阴影值;
[0176]
第二生成单元,被配置为基于所述每个像素对应的阴影值生成所述肤色区域对应的阴影分布图。
[0177]
在一种可能的实施方式中,所述根据所述每个像素对应的阴影概率值和亮度映射值,计算所述每个像素对应的阴影值的计算公式为:
[0178]
shadow map=clamp(luminancemapping.*shadow rario,0.0,1.0)
[0179]
其中,shadow map表示肤色区域中每个像素对应的阴影值,luminancemapping表示肤色区域中每个像素对应的亮度映射值,shadow rario表示肤色区域中每个像素对应的阴影概率值。
[0180]
在一种可能的实施方式中,所述基于所述每个像素对应的阴影值确定所述每个像素对应的目标磨皮参数的计算公式为:
[0181][0182]
其中,表示肤色区域中每个像素对应的目标磨皮参数,γ表示肤色区域中每个像素对应的预设磨皮参数,shadowmap表示肤色区域中每个像素对应的阴影值,a表示预设阴影值阈值。
[0183]
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
[0184]
根据本公开的实施例,本公开提供了一种电子设备。图5示出了可以用来实施本公开的实施例的示例电子设备500的示意性框图。电子设备500旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
[0185]
如图5所示,电子设备500包括计算单元501,其可以根据存储在只读存储器(rom)502中的计算机程序或者从存储单元508加载到随机访问存储器(ram)503中的计算机程序,来执行各种适当的动作和处理。在ram503中,还可存储设备500操作所需的各种程序和数据。计算单元501、rom 502以及ram 503通过总线504彼此相连。输入/输出(i/o)接口505也连接至总线504。
[0186]
电子设备500中的多个部件连接至i/o接口505,包括:输入单元506,例如键盘、鼠标等;输出单元507,例如各种类型的显示器、扬声器等;存储单元508,例如磁盘、光盘等;以及通信单元509,例如网卡、调制解调器、无线通信收发机等。通信单元509允许电子设备500通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
[0187]
计算单元501可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元501的一些示例包括但不限于中央处理单元(cpu)、图形处理单元(gpu)、各种专用的人工智能(ai)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(dsp)、以及
任何适当的处理器、控制器、微控制器等。计算单元501执行上文所描述的各个方法和处理,例如图像处理方法。例如,在一些实施例中,图像处理方法可被实现为计算机软件程序,其被有形地包含于计算机可读存储介质,例如存储单元508。在一些实施例中,计算机程序的部分或者全部可以经由rom 502和/或通信单元509而被载入和/或安装到电子设备500上。当计算机程序加载到ram503并由计算单元501执行时,可以执行上文描述的图像处理方法的一个或多个步骤。备选地,在其他实施例中,计算单元501可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行图像处理方法。
[0188]
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统的系统(soc)、负载可编程逻辑设备(cpld)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
[0189]
根据本公开的实施例,本公开提供了一种计算机可读存储介质,当计算机可读存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如上文所描述的图像处理方法。计算机可读存储介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。计算机可读存储介质可以是机器可读信号介质或机器可读储存介质。计算机可读存储介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。计算机可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
[0190]
根据本公开的实施例,本公开提供了一种计算机程序产品,包括计算机程序,计算机程序被处理器执行时实现如上文所描述的图像处理方法。用于实施本公开的方法的计算机程序的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
[0191]
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
[0192]
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据
服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)、互联网和区块链网络。
[0193]
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与vps服务("virtual private server",或简称"vps")中,存在的管理难度大,业务扩展性弱的缺陷。服务器也可以为分布式系统的服务器,或者是结合了区块链的服务器。
[0194]
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
[0195]
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
再多了解一些

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

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

相关文献