人像美颜算法-保边滤波

2020-11-09  本文已影响0人  天叔

双边滤波

Surface Blur滤波

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


Y:阈值[0, 255]

Guided滤波算法

Guided滤波算法 论文

局部均值滤波算法

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

  1. 假设图像当前像素为xij,周围邻域⼤⼩宽为n、⾼为m
  2. 计算当前像素xij邻域范围内的像素均值mij、⽅差vij:
  3. 根据均值⽅差,计算权重系数k,为了防⽌k过⼤,添加σ

    项,该项为⽤户输⼊参数,范围为[0,++]:
  4. 计算滤波输出值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 降噪效果更优,甚⾄超过了前⽂介绍的双边滤波等⼤部分滤波器。个⼈认为,如果不考虑时间消耗,它们⾮常适合⽤来做美颜磨⽪处理,这⾥简单列举部分效果测试结果。

上一篇下一篇

猜你喜欢

热点阅读