人像磨皮算法也是美颜sdk算法的核心之一。前面讲了那么多的算法,其实都是为人像磨皮算法的引出做铺垫,人像磨皮算法的主要理论基础有两点:皮肤斑点区域的颜色减淡和皮肤斑点区域的滤波,基于这两点,人像磨皮算法可以分为以下几种:
通用磨皮算法
通道磨皮算法
高反差磨皮算法
细节叠加磨皮算法
其他算法
接下来,小编将对其中美颜sdk中常用的几个算法做较为详细的展开。
通用磨皮算法
通用磨皮算法是最基础的磨皮算法,风格属于光滑型。其具体的算法流程分解如下:
1、输入人像照片S。
2、对S进行肤色检测(或者肤色概率计算),得到皮肤区域Mask(或者肤色概率)。
3、对Mask进行高斯滤波(半径radius),得到平滑的Mask。
4、对原图S进行保边滤波(可使用前面文章中的任意一种保边滤波器,可以按需选择,比如SmartBlur等),得到滤波图像T,T是丢失了部分细节的平滑图像。
5、计算效果图D,公式如下:
D=S*(1-A)+T*A
这一步实际上是给T添加细节,使用A作为alpha通道,将原图和平滑图像进行混合。非肤色区域是不需要平滑的,而T中是全图平滑,所以,通过肤色Mask便可以将T中非肤色区域的细节不中回来,这样就得到了最后的磨皮效果图,整个过程非常简单。
6、磨皮程度调节
这一步在框架中是没有的。在实际应用中,我们往往会发现磨皮效果始终需要一个程度调节参数来控制效果图与原图的切换强度。为了能让用户随意控制磨皮的效果程度,又可以返回原图,这一步也就必不可少了。假设程度调节参数为K,最终效果图为Dst,则从成都混合公式如下:
Dst=S*(1-k)+D*K
K∈[0,1]
对于出奇的人像修图软件或者图像处理软件中,通用磨皮算法使用得较多,但随着技术的发展和人们对美颜风格需求的变更,这种磨皮算法目前应用得已经较少了。但此算法是所有磨皮算法的基础。
以上,就是美颜sdk中关于通用磨皮算法的介绍,由于篇幅原因,剩余的磨皮算法将在之后的篇幅中介绍,如果你对美颜sdk开发、接入和购买感兴趣,欢迎咨询官方客服。
声明:本文由美狐原创,未经允许禁止转载,谢谢合作。