前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >人像美颜算法-保边滤波

人像美颜算法-保边滤波

作者头像
公号sumsmile
发布2020-11-12 11:27:46
1.7K0
发布2020-11-12 11:27:46
举报

双边滤波

Surface Blur滤波

Y值越大,越稀释边缘像素的差异,各个点的权重就更接近,可以想象:当Y无限大时,每个点的权重几乎等于1,就没有保边的效果

Y:阈值[0, 255]

Guided滤波算法

Guided滤波算法 论文

局部均值滤波算法

局部均值滤波算法是 JONG-SEN LEE于 1980年在论⽂[8]中提出的⼀种基于局部均值⽅差的滤波算法。在普通的均值滤波基础之上,增加了方差的权重,由于效率高被广泛应用。

  1. 假设图像当前像素为xij,周围邻域⼤⼩宽为n、⾼为m
  2. 计算当前像素xij邻域范围内的像素均值mij、⽅差vij:
  1. 根据均值⽅差,计算权重系数k,为了防⽌k过⼤,添加σ 项,该项为⽤户输⼊参数,范围为[0,++]:
  1. 计算滤波输出值X ij:

方差越大,说明该点与周边的像素差值大,即视为边界,尽量保持原像素。方差值小,则视为平坦区域,取平均值。另外σ2越大,对边界的定义阈值越高,则大部分都参与均值滤波,边界就不明显。

调节r

调节σ

Anisotropic滤波

算法原理有点复杂,需要复习多元微积分,熟悉“散度”的定义

Anisotropic滤波也叫各向异性扩散滤波,由Pietro Perona和Jagannatch Malik在1990年发表的论⽂[9]中提出,在图像去噪中效果明显。此算法可以在去噪的同时,保留图像的边缘,因此,笔者认为此算法也可以作为美颜算法的可选算法之⼀

Smart Blur滤波算法

Smart Blur是Photoshop 2018(简称PS2018)中出现的⼀种保边滤波器,具体参考论⽂不详。在PS2018中,该滤波器有半径Radius和阈值Threshold两个参数

该算法⽐较简单,具体算法开发流程如下所述。假设像素I(i, j)周围半径 Radius ⼤⼩的邻域为 S,邻域内的像素为I(k,l),滤波后的像素值为ID,计算如下:

对上述公式的通俗理解就是设定⼀个阈值 Threshold,遍历当前像素 I 周围半径Radius⼤⼩的邻域内的所有像素,计算像素值在区间[I-Threshold, I+Threshold]范围内的所有像素的均值,以此作为滤波结果值。

MeanShift滤波算法(均值飘移)

MeanShift即均值漂移,最早由Fukunaga在1975年提出,论⽂题⽬为“The Estimation of the Gradient of a density function”。MeanShift滤波算法是⽤MeanShift算法来实现的⼀种图像保边滤波算。理解起来有点复杂,算法复杂度较高,感觉不适合实际的应用,且当参考。

参考上图,先理解原理:以当前点为原点,计算一定范围内的向量之和,求平均,按照平均后的结果,将当前像素飘移过去。对所有点进行一次计算为一轮,对二维图像来说就是两个for循环,实际需要进行多轮。可以看出均值飘移是一个渐进式迭代的过程。

公式:

其中,Sh(X)表⽰包含X的⼩区域,k为⼩区域内样本总数,h为半径。

我们来看⼆维图像的MeanShift滤波。 将图 3.24 所⽰的离散样本看作⼀个个图像像素点,这⾥不再使⽤X表⽰像素点,⽽是改⽤P。遍历图像中的每⼀个像素P,对于像素P(x0, y0),计算它周围半径为h的圆形邻域内的MeanShift特征,其特征包含位置特征Mpos和像素RGB值特征Mrgb,计算规则如下所述。 (1)假设阈值Threshold的范围为[0,255],遍历当前像素P(x0, y0)周围邻域S内所有的像素P,计算核函数K,若K⼩于阈值,那么该 像素点P即为有效像素。 (2)统计有效像素数⽬N,计算所有有效像素的位置特征Mpos和 像素RGB特征Mrgb,公式如下:

其中, Prgb表⽰像素RGB, 表⽰像素位置(x, y)。 (3)将当前像素 RGB 信息和位置信息更新为规则(2)中的计算 结果,到此,完成⼀次MeanShift迭代计算。 (4)设置最⼤迭代次数maxiter,重复当前规则步骤(1)~(3),MeanShift 滤波结果即为最后⼀次迭代后的结果。注意,在MeanShift滤波算法中,实际上设置了邻域半径h、像素阈值Threshold和最⼤迭代次数maxiter三个参数,这三个参数的选择将会影响滤波的实际效果。

BEEPS滤波算法

,BEEPS 滤波算法⽤来处理⼈像⽪肤,具有较强的平滑保边能⼒,在效果上要优于MeanShift滤波算法,是美颜算法研究中常⽤的算法[12]。 算法有一定复杂度,暂时不做研究

其他滤波算法

我们介绍了⼏种笔者认为⽐较适合做磨⽪算法开发的保边滤波算法,这些算法具有以下⼏个共同点。 (1)平滑图像且保留部分边缘信息。 (2)速度快,或者经过算法优化后可以进⾏⼯程考量。 以上两点是磨⽪算法的基本要求。针对这两点,这些滤波器都可

以⽤来做磨⽪算法,结合⽪肤检测以及⼈脸识别等技术,便可以达到 不错的效果。⽽实际上,除了这些滤波器之外,还有⼀些保边滤波 器,效果也⾮常不错,这⾥总结如下: ①⾮局部均值滤波[13] ②加权最⼩⼆乘WLS滤波[14] ③加权中值滤波[15] ④L0范数平滑滤波[16] ⑤全变分(TⅤ)降噪滤波[17] ⑥DCT降噪滤波 上述滤波器也都具有较强的平滑保边能⼒。其中⾮局部均值滤波和 DCT 降噪效果更优,甚⾄超过了前⽂介绍的双边滤波等⼤部分滤波器。个⼈认为,如果不考虑时间消耗,它们⾮常适合⽤来做美颜磨⽪处理,这⾥简单列举部分效果测试结果。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 双边滤波
  • Surface Blur滤波
  • Guided滤波算法
  • 局部均值滤波算法
  • Anisotropic滤波
  • Smart Blur滤波算法
  • MeanShift滤波算法(均值飘移)
  • BEEPS滤波算法
  • 其他滤波算法
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档