美颜sdk算法总概——美白

美颜sdk按照功能需求可分为基础、高级和附加功能三大块。基础概念就是磨皮、处理肤色,目前即便是原生系统自带的相机美颜也能做到基础美颜功能的实时计算,启动相机取景预览时就能看到,目前直播用的美颜sdk已经可以实现高级功能的即时演算,比如祛痘、瘦脸、增大眼睛、五官立体等,但这些功能都建立在人脸识别这个前提上。而年龄计算、AR装饰、美妆等就属于美颜之外的另一类图像算法。
美颜sdk算法总概——美白_第1张图片

美颜功能的基本构架就是这样,接下来就来聊聊美白算法的细节。

fixed Beauty_Log(fixedc, float beta){fixed a = (log(c*(beta-1)+1))/log(beta);return a;
}
fixed4 SkinBeauty(fixed4 srcCol){fixed beta = 1.0001+8.0* _Whiten;
beta = beta * (srcCol.r + srcCol.g + srcCol.b) /3.0;
srcCol.r = Beauty_Log(srcColr.r, beta);
srcCol.g = Beauty_Log(srcColr.g, beta);srcCol.b = Beauty_Log(srcColr.b, beta);
return srcCol;
}
首先我们是对像素的三个通道进行分别处理的,我们要做的工作就是第一个函数,对通道的值进行提升,注意这个函数的特点,它是一个凸函数,在(0.1)区间内,它的值也是(O.1),但是结果是大于等于原值的,这个函数一个重要的参数是beta, beta越大,美白程度越高。在第二个函数里面,对三个通道进行了相同的提升,但是beta的值是基于灰度值进行修改的,这样做的好处是消除了美白对于头发和眉毛眼睛等部位的影响,使其主要对皮肤等部位感兴趣。

你可能感兴趣的:(美颜算法,人工智能,音视频,计算机视觉,深度学习,android)