小编在之前的文章中多次聊到过直播美颜sdk的磨皮功能,因为这是每个用户都会用到的功能,使用频率甚至和美白不相上下。小编今天再跟大家聊一下关于磨皮的算法,因为有些同学反馈说之前的文章太过深奥,理解起来较为困难,今天我将用“大白话”的方式再来给大家讲解一下磨皮相关的算法,让大家快速认识并了解美颜磨皮的原理。
一、磨皮简答
我们在了解磨皮算法之前小编先给大家简要解答一下磨皮的目的。通常来说,大家的面部或多或少都会存在一些肌肤问题,可能是痘痘、也可能是痘印、雀斑等,而磨皮的目的就是尽量让这些面部瑕疵消失或者淡化,以此达到美颜效果,所以磨皮功能需要做到一下几个基本点:
1、识别人像特征点和关键点,最终找到面部瑕疵部位皮肤。
2、对面部瑕疵部分进行处理、美化。
二、关键点识别以及分析
大家平时看到痘痘和暗色皮肤如果仔细观察的话就会发现这些特征点和周围正常皮肤在肤色上有明显的差别,如果用相机拍照后对比的话会发现明显的灰度值差距,正常皮肤区域的灰度值比较高,反之则比较低,这是一个趋势上的变化,利用这一点,直播美颜sdk可以把相关的特征点提取出来。另一方面,局部粗糙皮肤其局部灰度值也需要尽量用数字磨平,同时也会有一个灰度值徒然下降的过程。
三、关键点提取
在这里需要用到一种算法:滤波算法,可以是均值化滤波、高斯滤波、双边滤波和导向滤波等算法,考虑到手机CPU性能,一般会选择高斯滤波,加权求平均的算法;试想一下,一张二维灰度值人脸图片,特征点灰度值低,正常皮肤灰度值高,滤波算法过后,正常皮肤变化不大,这个时候用原图灰度值减去滤波后的灰度值,那么特征点的灰度值是小于0位负的,正常皮肤灰度值为正的,就得到整张人脸图片的特征点了。
今天的文章讲完啦,以上就是磨皮在美颜算法中的实现过程,今天小编用大白话的方式跟大家讲述,有疑问的话也可以在后台给小编留言哦。如果你对美颜sdk接入感兴趣,欢迎咨询美狐在线客服。
声明:本文由美狐原创,未经允许禁止转载,谢谢合作。