在图像处理上,引导影像滤波器(Guided Image Filter)是一种能使影像平滑化的非线性滤波器。
定义在图像处理上,引导影像滤波器与双边滤波器(Bilateral Filter)相同,这个影像滤波器同样能够在清楚保持影像边界的情况下,达到让影像平滑的效果。但不同于双边滤波器,引导影像滤波器有两个优点:首先,双边滤波器有非常大的计算复杂度,但引导影像滤波器因为并未用到过于复杂的数学计算,有线性的计算复杂度。再来,双边滤波器因为数学模型的缘故,在某些时候会发生梯度翻转(gradient reverse)的状况,出现影像失真;而在引导影像滤波器,因为这个滤波器在数学上以线性组合为基础出发,输出图片(Output Image)必与引导图片(Guidance Image)的梯度方向一致,并不会出现梯度反转的问题。
原理为了达到将影像平滑化、即去除杂讯的效果,首先定义输出的结果图片是输入图片减去杂讯后的结果;同时,为了让输出的图片符合引导图片的影像边界,将输出图片定为引导图片的线性组合。
以下为引导影像滤波器的基础模型1:
在上述公式中,qi是第i个输出的像素,pi是第i个输入的像素,ni是第i个输入像素的杂讯成分,Ii是第i个引导图片的像素,a,b则是用来衡量输入权重的参数。
定义为线性组合(Linear Combination)的原因在于,一物件的边界与其梯度(Gradient)相关,而在线性组合的定义下,输出图片之梯度必与引导图片之梯度成对比(微分时高幂次系数保留而常数项则被去除),故可以达到保留梯度的效果、保留影像边界的目的。
为了导出上述线性组合的参数,将(1)及(2)相减得到公式(3);同时,定义一个代价方程式(4):
在上式中, ϵ是一用来惩罚(penalize)过大的 ak的参数, ωk是以第 k{\displaystyle k} 个像素为中心点的窗格(window)。在这个方程式中可以看到,希望同时让最终的输出图片做到让杂讯减少以及让引导图片在输出图片的影响减小(引导图片的系数项)两件事,遂定义每个像素杂讯和系数项的平方总合为最后须付出的价值项(cost)。并且,基于让价值项最小化的原则,可以将(4)以线性回归(linear regression)的方法找出它的线性模型,从而求得、使得出它的价值方程式有最小解的到以下两参数 ak和 bk:
特性引导图片滤波器保留边界的特性,其实也可以被理解为是保留梯度的特性。由下图可以看到,可以将一张图分为细节图层和基底图层两层,基底图层的能量并无小幅度的升降,只有大幅度诸入梯度的能量升降;而细节图层,只有杂讯式的小幅度能量升降。而引导图片滤波器所作的,其实就是将细节层和基底层分离并保留基底层,也就是保留梯度而去除杂讯,达到平滑效果2。
延伸由引导图片滤波器的特性,可以延伸出除了原先的平滑化外的几项功能。
细节加强当一影像图同时为输出图片和引导图片时,可知最终得到的会是以该图片的边界为依据的基底层和细节层;因此,若要加强依影像之细节,可以将细节层的能量放大n倍后再次叠加回基底层,以达到增强细节的效果。
深度图修整无论是利用光场(light field)技术或是焦点合成(focal-stack)所制作的深度图(depth map),在出制作完成时往往都会有一些坑洞(holo);而这时若使用引导影像滤波器,以原始影像为引导图片、以深度图为输入图片,便可得到一完整1、无坑洞的深度图。
本词条内容贡献者为:
何星 - 副教授 - 上海交通大学