帮助与文档
热搜关键词:美颜SDK萌颜SDK视频美颜SDK   
颜值即正义!聊聊美颜滤镜中的算法(上)
发布来源:美狐美颜    Date:2021-07-09 16:39:09

在图像处理领域,大家接触最多的算法应该就是手机中的美颜自拍了,除了专门的美颜APP之外,很多手机原生系统也都支持美颜滤镜功能。当然,像是直播、短视频平台和一部分社交软件则是选择接入第三方美颜sdk。今天,小编就为大家介绍下美颜滤镜背后的算法。

美颜滤镜

美颜滤镜按功能需求来看可分为基础、高级和附加功能三大块。基础概念就是磨皮、处理肤色。目前直播平台接入的美颜sdk已可实现较为高级即时演算,比如祛痘、瘦脸、增大眼睛、五官立体等。此前翻车的某网红女主播就是在扭头瞬间人脸未被识别,现了不到1秒的原形但被吃瓜网友抓包,所以人脸识别是实现美颜,特别是实时美颜的第一前提。而年龄计算、AR装饰、智能美妆等就属于美颜滤镜之外(或之上)的另一类图像算法了。

美颜滤镜的基本架构就是这样,接下来就来聊聊算法上的细节。

首当其冲的自然是最重要的基本功能:磨皮。从算法的角度来看,磨皮是用滤波器将痘印、胎记、伤痕等高频信息给滤除,再用光滑皮肤灯领域低频信息进行填充。在种类繁多的高频滤波器里,适用于人像修复的主要都是带通滤波器,比如双边滤波、导向滤波、灰度图像各向异性扩散等,因为它们的特色是可以保留边缘信息,在磨皮的同时不会像高斯滤波那样让整张图片都模糊掉。

双边滤波,简单来说它是高斯滤波的衍生版,区别在于双边滤波在把像素空域距离纳入计算的同时,还考虑了像素值域之间差值的高斯系数,两个像素的值域差距越大,计算过程中的权重就越小,反之亦然,所以这个值域系数的作用就很关键。

美颜滤镜

对于完全从背景中抽离的人像来说,双边滤波磨皮很实用,但不足也比较明显,第一是一些面积较大的雀斑或胎记因为值域相差较大,就无法被磨皮操作简单平滑掉,很多时候就需要手动干预,在用户选取区域后以该区域中心为起点,选取一个包含但大于整个选取面积的矩形窗口并计算均值,再将整个均值融合到选取范围内,实现肤色自然过渡。

双边滤波的第二个不足恰恰就是缺乏人脸区域计算机制,手机自拍不可能总是在纯色或大纵深的环境里,在能清晰辨别背景的情况下,双边滤波会对整张图像进行磨皮,这时候虽然皮肤磨得很光滑,边缘也比较清晰,但想要清晰呈现的背景细节也都跟着被磨掉了,照片严重失真。所以磨皮的进阶就必须要先把人脸部分识别并抠出来,单独进行。

关于人脸皮肤抠图算法的研究有很多,可以说是美颜滤镜算法里最经典的主题了。但是由于篇幅的原因,关于人脸皮肤抠图算法,就要留到下一篇文章中再说了。

除了本篇介绍的磨皮算法,关于美颜滤镜,还包含人脸抠图算法、人脸检测、五官立体算法、智能美妆算法等。在下篇文章中,小编会对这些算法进行一一详解,如果你对美颜sdk接入有需求,欢迎咨询客服。

声明:本文由美狐原创,未经允许禁止转载,谢谢合作。

本文标签: 美颜滤镜
相关阅读
13188947262
0.023964s