美文网首页
人像美颜算法-保边滤波

人像美颜算法-保边滤波

作者: 天叔 | 来源:发表于2020-11-09 11:24 被阅读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 降噪效果更优,甚⾄超过了前⽂介绍的双边滤波等⼤部分滤波器。个⼈认为,如果不考虑时间消耗,它们⾮常适合⽤来做美颜磨⽪处理,这⾥简单列举部分效果测试结果。

相关文章

  • 人像美颜算法-保边滤波

    双边滤波 Surface Blur滤波 Y值越大,越稀释边缘像素的差异,各个点的权重就更接近,可以想象:当Y无限大...

  • OpenCV

    原图像保边滤波算法集锦--MeanShift滤波算法与实现https://blog.csdn.net/Trent1...

  • 方法比较

    对比总结 1、09年的通过保边滤波解决 halo artifacts (halo artifacts are ...

  • 人像美颜算法-皮肤检测

    为什么要进行皮肤检测 美颜的核心处理是磨皮,仅进行模糊平滑处理,对整张图像的处理会显得比较假,如果能针对性的只处理...

  • 2018-08-08

    凌晨三点,分享一波滤波算法 1.限幅滤波算法 2.中值滤波算法 连续采样n次(n取奇数),按照从大到小排列,取中...

  • iOS-卡尔曼滤波算法

    一:前言 滤波算法 用于过滤掉连续的数据中出现偏差较大的数据 二:卡尔曼滤波算法 <0>卡尔曼滤波的原理请自行百度...

  • 自编高斯滤波器

    高斯滤波是一种线性平滑滤波,对于除去高斯噪声有很好的效果。但是高斯滤波并不是效率最高的滤波算法。高斯滤波的具体操作...

  • 五大滤波算法原理、场景及实践

    在传感器采集数据的过程中,难免因为各种各样的干扰产生异常值,滤波分为电路滤波和算法滤波。电路滤波是从源头上解决(缓...

  • 39. 边缘检测

    本文解释Canny和sobel边缘检测算法。 1)Canny算法实现 步骤: 读取灰度图 高斯滤波 Canny算法...

  • 图形图像处理 - 实现图片的美容效果

    我们在用美颜相机或者直播时,相信都离不开一个效果那就是 美容 。这次我们就来分析一种常用滤波(双边滤波),刚好就可...

网友评论

      本文标题:人像美颜算法-保边滤波

      本文链接:https://www.haomeiwen.com/subject/hbjovktx.html