首先强调一下,cross bilateral filter 也就是 joint bilateral filter。仅有几篇论文用cross bilateral filter来表示这种滤波技术。
与双边滤波一样,交叉双边滤波在不平滑边缘的情况下,同时考虑了相邻像素的灰度相似性和几何贴近度,但它使用一幅图像寻找核,另一幅图像进行滤波。
双边滤波 双边滤波是一种局部的、非线性的、非迭代的滤波技术,它将经典的低通滤波器与边缘停止函数相结合,当像素之间的强度差较大时,边缘停止函数会衰减滤波器的核心。由于同时考虑了相邻像素的灰度相似度和几何贴近度,滤波器的权值不仅依赖于欧氏距离,而且还依赖于灰度/颜色空间中的距离。该滤波器的优点是,它平滑的图像,同时保留边缘使用相邻像素。数学上,对于图像A,像素位置p处的BF输出计算如下:
是几何贴近度函数
是灰度相似/边缘停止函数
表示的是欧氏距离
是归一化系数
交叉双边滤波 CBF同时考虑图像A中相邻像素的灰度相似性和几何贴近度来形成滤波核,并对图像B进行滤波:
是灰度相似/边缘停止函数
然后可以进行其他处理。
比如我们在做光线追踪的时候,可以先渲染出物体,再渲染出没有物体的光照量:
然后对光照量进行滤波,再乘到物体本来的颜色上,得到:
不过结果也并不是很好,尤其是在兔子表面,因为颜色一样,所以比较糊,边界处效果还可以。
提取场景物体的法向量,然后用法向量图作为引导图来滤波:
这样效果就好点了,光的效果比较自然。