磨皮滤波器
磨皮模块的功能需求:把图像中人物身上的噪点进行滤除,噪点包含痘痘,色斑,痤疮等。实现磨皮这一功能通常是使用****保边滤波器****对图像进行平滑处理,而保边滤波器的一个重要特性是对图像进行平滑处理后,依然能够较好的保留图像边缘细节,例如人物的五官细节和轮廓。
常用的保边滤波算法有表面模糊、双边滤波、引导滤波。对于这一系列的保边滤波算法,核心实质是一样的,这里先总结,*保边滤波的实质*:在进行滤波时候,对图像中的边缘处像素,滤波权重尽量减小,边缘能够较为完整的保留; 图像中非边缘像素,滤波权重尽量增加,完成较好平滑。
高斯滤波器
高斯滤波器是一个很基础的图像滤波器,它能够有效的抑制噪声,平滑图像,因为其滤波核的权重是符合高斯分布,所以把它叫做高斯滤波器。****如何计算权重?*高斯滤波器的权重是根据邻居像素与中心像素的*相对位置作为特征输入,****通过某种高斯数学模型计算而来。
其具体数学模型如下所示:
其中m, n指的是滤波核邻域像素位置,i, j指的是滤波核中心像素位置,sigma指的是高斯函数的方差。
*模型解释:* 通过该模型计算的滤波器权重参数固定,距离中心越远,权重系数越小,反之越大。从理论上看,高斯滤波的缺点也比较明显,即只是根据邻域像素位置信息确定权重,而没有颜色信息的约束,造成的影响是如果像素是属于图像中前景的边缘像素,那么会因为识别不到前景边缘信息,从而导致图像前景边缘模糊的现象。
表面模糊
****表面模糊,*该算法源于PS中的磨皮滤镜算法,可以在保留边缘的情况下对图像非边缘区域进行平滑操作。该算法理论简易,易于实现。*核心的思想*是设置一个边长为K的方形滤波器,方形滤波器的权值根据邻近像素颜色与中心像素的相似性来计算,再把权值进行归一化,之后进行对应像素的加权求和,完成中心像素更新。*表面模糊为什么能够做到保护边缘的情况下进行滤波?****表面模糊利用了像素之间的相似性进行求权重,与中心像素差异越大的邻域像素权值越小,这也符合图像边缘的物理特征,即处于图像边缘分界处两边像素的差异值是相比于非边缘区域的像素值来说是偏大的,所以滤波器在对边缘像素更新时,较大程度的保留了边缘像素的特征,这也是为什么它能够保护边缘的情况下,可以对图像非边缘处进行模糊。
具体的****数学模型****如下所示:
其中r表示半径,Y是阈值,用于保持分数小于1,x_i表示滤波核中某个像素值,x_1表示当前中心像素值,x表示输出结果。
****模型解释:****该算法的权值需要不断的更新,因此算法的时间消耗比较大。其中Y的作用是为了保证差异性分数小于1,以至于相似度计算值范围在(0,1)内,核心思想是做加权求和,归一化,得到输出中心像素。
双边滤波器
*双边滤波器*,是基于高斯滤波的升级版,相比与高斯滤波只使用位置信息,双边滤波还加入了颜色的距离信息。加入颜色距离的意义在于给予了滤波器一种识别图像边缘的信息,从而在对边缘滤波的时候有较好的保留效果,又能对非边缘区域由良好的平滑效果。*如何做到识别图像边缘?*对于数字图像来说,图像的边缘有一个很好辨别的特征,就是图像边缘处的梯度比一般非边缘区域大很多,也意味着在图像边缘处会出现色阶突变的情况。而当滤波滑块滑到图像边缘做卷积时,对于一个边缘像素为中心像素的情形来说,由于边缘分界线两侧的颜色值差异较大,导致非边缘区域像素相比于边缘区域像素获得的权重小,所以加权后的像素大部分保留了边缘像素的特征,即图像边缘被保留。也可以用*另外一个角度去理解*,即先根据像素值对要用来进行滤波的邻域做一个分割或分类,再给该点所属的类别相对较高的权重,然后进行邻域加权求和,得到最终结果。
这里给出****双边滤波器的数学模型****:
Gs表示空间域中权重,Gr表示颜色值域权重,两种权重都是通过高斯函数求得。
BF指的是滤波核中心输出像素值,Wq指的是滤波核中权重和,用于权值归一化,Ip指的是滤波核中心输入像素值,Iq指的是邻域像素值。
从公式中可以看出双边滤波结果是通过****空间域与像素值域****通过高斯函数计算权值,再与邻域像素加权求和,最后得到更新后的像素值BF。
双边滤波****图表示****如下图,图a指的是输入原图的边缘处图像灰度纹理,图b表示原图边界处的双边滤波核,图c表示滤波后的输出图像边缘处图像灰度纹理。从图a可以看出,原先图像边界处,图像的灰度梯度出现突变;从图b中可以看出,双边滤波核中边界上像素的权值和非边界像素权值有较大差别,在平滑区域权值呈高斯分布,边缘突变处出现权值急剧下滑;从图c中可以看出经过滤波后的图像保留了边缘的梯度,同时非边缘的区域变得平滑。
****双边滤波参数调节?*双边滤波包含三个主要参数,滤波核尺寸,空间域标准差,值域标准差。*滤波核尺寸大小*影响了滤波程度,尺寸越大,信息参考范围越大,滤波程度越大,图像越平滑、模糊;*空间域方差*决定了滤波对空间域的敏感程度,方差越大,高斯函数越矮和平坦,即权重分布越均匀,导致滤波核对空间域不敏感,图像平滑模糊效果越好,反之成立。*像素值域方差****决定了滤波对值域的敏感程度,方差越大,高斯函数越矮和平坦,即权重分布越均匀,导致滤波核对值域不敏感,边缘保护效果越低,反之成立。
双边滤波****优势*正如前面所说,可以保留边缘的情况下进行图像平滑处理。但是*缺陷***也很明显,计算复杂度和高斯核的尺寸有关,算法时间复杂度为O(mk^2),m指的是图像像素点数量,k指的是核的尺寸,滤波核需要不断更新,比较耗时。
****双边滤波和表面模糊的差异,****两种滤波算法的核心思想是一致的,都是利用了图像边缘梯度大,颜色差异较大的特点,不一致的是双边滤波比表面模糊多使用了像素位置信息,这样更加利于图像做平滑操作,具体会优秀多少可以根据PSNR这种客观指标去比较。也可以认为表面模糊是双边滤波的简化版本,他减少了双边滤波的指数计算操作,优化了算法的计算复杂度,而在滤波效果上得根据实际实验情况对比。