AI美颜磨皮算法目前尚未具体定义,各大公司也都处于摸索阶段,图玩智能科技为企业提供更优质更稳定的美颜产品及服务,欢迎随时咨询www.toivan.com.今天先看一下磨皮算法的通常流程:算法
这个流程图是通常传统的磨皮算法流程图,而本文将基于这个流程图,结合深度学习作一些改进。网络
在这个流程图中,主要的模块有两个:滤波模块和肤色区域检测模块;学习
滤波模块中,包含了三种算法:spa
1,保边滤波器滤波算法3d
该方法是指经过一些具备保留边缘的能力的滤波器,来将图像磨平,达到皮肤平滑的目的;blog
这类滤波器主要有:get
①双边滤波器深度学习
②导向滤波器产品
③Surface Blur表面模糊滤波器it
④局部均值滤波器
⑤加权最小二乘滤波器(WLS滤波器)
⑥Smart blur等等。
此方法皮肤区域比较平滑,细节较少,须要后期添加细节信息,来保留一些天然的纹理;
2,高反差减弱算法
高反差保留算法是指经过高反差来获得皮肤细节的MASK,根据MASK中细节区域,好比皮肤中的斑点区域位置,将原图对应区域进行颜色减淡处理,以此来达到斑点弱化,美肤的目的;
该方法在保留纹理的同时,减弱了皮肤瑕疵与斑点的颜色,使得皮肤看起来比较光滑天然;
3,其余算法
这里是指一些未知的算法,固然已知的也有,好比:基于保边滤波和高反差的磨皮算法,该方法同时对原图作了1-2步骤,获得一张光滑的滤波图和高反差对应的细节MASK,而后将MASK做为alpha通道,把原图和滤波图进行Alpha融合,达到平滑皮肤的同时,去除斑点,保留纹理的做用;
皮肤区域识别检测模块
目前经常使用的皮肤检测主要是基于颜色空间的皮肤颜色统计方法;
该方法具备较高的误检率,容易将类肤色断定为肤色,这样就致使了非皮肤区域图像被滤波器平滑掉了,也就是不应磨皮的图像区域被模糊了;
重点来了,下面咱们在传统磨皮算法流程中使用深度学习来改进或者提升咱们磨皮的质量,好比:使用深度学习进行皮肤区域分割,获得更为精确的皮肤区域,从而使得咱们最后的磨皮效果超越传统算法的效果;
下面,咱们介绍基于深度学习的皮肤区域分割:
分割的方法有不少,CNN/FCN/UNet/DenseNet等等,这里咱们使用UNet进行皮肤分割:
Unet作图像分割,
它最开始的网络模型以下:
这是一个全卷积神经网络,输入和输出都是图像,没有全链接层,较浅的高分辨率层用来解决像素定位的问题,较深的层用来解决像素分类的问题;
左边进行卷积和下采样,同时保留当前结果,右边进行上采样时将上采样结果和左边对应结果进行融合,以此来提升分割效果;
这个网络中左右是不对称的,后来改进的Unet基本上在图像分辨率上呈现出对称的样式,本文这里使用Keras来实现。
你们能够看到,基于颜色空间的传统磨皮算法始终没法精确区分皮肤区域与类肤色区域,所以在头发的地方也作了磨皮操做,致使头发纹理细节丢失,而基于Unet皮肤分割的磨皮算法则能够很好的区分皮肤与头发这种类肤色区域,进而将头发的纹理细节保留,达到该磨皮的地方磨皮,不应磨皮的地方不磨,效果明显优于传统方法。