最近刚刚在组会上讲过这篇论文,于是打算记录下一些自己对它的理解,既是方便自己日后查看,也希望供大家交流学习。
"Bilateral Filter"一词出自<Bilateral Filtering for Gray and Color Images>这篇文章当中,作者对其的描述是"smooths images while preserving edges",即在对图像进行平滑滤波的同时又能够保持边缘清晰。这个特点来自于Bilateral Filter的定义,既考虑到了geometric closeness(几何邻近性,即像素点之间的距离),又考虑到了photometric similarity(光学相似性,即像素值之间的距离)。需要注意的是,对于彩色的图像,我们在计算photometric similarity的时候,应该将3个颜色通道同时考虑,否则,单独处理可能会导致颜色失真。
在引出Bilateral Filter这个名词之前,作者还介绍了两种滤波方式:
1.Domain Filtering:传统的滤波方法,在计算权重的时候只考虑周围像素点离中心像素点的距离。
2.Range Filtering:这是作者提出的一种新的滤波方式,在计算权重时只考虑图像的灰度或颜色。(单独作用可能使图像的color map失真)
下面用图简单解释一下这两种滤波方式的差异,假设左边的是原始图像,右边的是滤波后的图像。首先,我们考虑Domain Filtering,在计算滤波后图像的A点的像素值时,原图像中的各点的影响权重取决于它们到原图像中A点的几何距离。即:B和C点的权重是一样的,即使B和C点的像素值相差很大,也不会造成影响。而Range Filtering则不然,就算B和C点到A点的距离一致,哪个点的像素值与A点相差比较小,哪个点的影响权重就比较大。(这种方式相当于对原图像的色彩直方图进行了重新的加权平均,直接用文字表述可能不太直观,在后面我会给出处理结果进行对比。)
将两者结合在一起考虑,就得到了Bilateral Filter。从上面可以看出,Bilateral Filter的定义很简单,只要我们分别定义好两种距离(geometric closeness, photometric similarity),就可以根据这两种距离得出相应的Bilateral Filter。
下面给出以上三种滤波器的数学表示:
1.Domain Filter
其中,k的作用是归一化,使各权重因子的和为1。x代表中心像素点,f