跳转到内容

引導影像濾波器:修订间差异

维基百科,自由的百科全书
删除的内容 添加的内容
Uniericuni留言 | 贡献
Uniericuni留言 | 贡献
无编辑摘要
第68行: 第68行:
'''輸出:''' 輸出圖片 <math>q</math>
'''輸出:''' 輸出圖片 <math>q</math>


1: <math>mean_{I}</math> = <math>f_{mean}(I)</math>
1:<math>mean_{I}</math> = <math>f_{mean}(I)</math>


<math>mean_{p}</math> = <math>f_{mean}([)</math>
<math>mean_{p}</math> = <math>f_{mean}([)</math>
<math>corr_{I}</math> = <math>f_{mean}(I.*I)</math>


<math>corr_{I}</math> = <math>f_{mean}(I.*I)</math>
<math>corr_{Ip}</math> = <math>f_{mean}(I.*p)</math>


<math>corr_{Ip}</math> = <math>f_{mean}(I.*p)</math>
2:<math>var_{I}</math> = <math>corr_{I} - meat_{I.} * mean_{I}</math>


2: <math>var_{I}</math> = <math>corr_{I} - meat_{I.} * mean_{I}</math>
<math>cov_{Ip}</math> = <math>corr_{Ip} - meat_{I.} * mean_{p}</math>


<math>cov_{Ip}</math> = <math>corr_{Ip} - meat_{I.} * mean_{p}</math>
3:<math>a</math> = <math>cov_{Ip}./(var_{I} + \epsilon)</math>


3: <math>a</math> = <math>cov_{Ip}./(var_{I} + \epsilon)</math>
<math>b</math> = <math>mean_{p} - a. * mean+{I}</math>


<math>b</math> = <math>mean_{p} - a. * mean+{I}</math>
4:<math>mean_{a}</math> = <math>f_{maean}(a)</math>


4: <math>mean_{a}</math> = <math>f_{maean}(a)</math>
<math>mean_{b}</math> = <math>f_{maean}(b)</math>


<math>mean_{b}</math> = <math>f_{maean}(b)</math>
5:<math>q</math> = <math>mean_{a.} * I + mean_{b}</math>


/*<math>f_{mean}</math> 是一個有線性計算複雜度的平均濾波器(mean filter)*/
5: <math>q</math> = <math>mean_{a.} * I + mean_{b}</math>

/*<math>f_{mean}</math> 是一個有線性計算複雜度的平均濾波器(mean filter)*/


==特性==
==特性==

2015年7月2日 (四) 13:57的版本

圖像處理上,引導影像濾波器(英語:Guided Image Filter)是一種能使影像平滑化的非線性濾波器。

雙邊濾波器(Bilateral Filter)相同,這個影像濾波器同樣能夠在清楚保持影像邊界的情況下,達到讓影像平滑的效果。

但不同於雙邊濾波器,引導影像濾波器有兩個優點:首先,雙邊濾波器有非常大的計算複雜度,但引導影像濾波器因為並未用到過於複雜的數學計算,有線性的計算複雜度。再來,雙邊濾波器因為數學模型的緣故,在某些時候會發生梯度反轉(gradient reverse)的狀況,出線影像失真;而在引導影像濾波器,因為這個濾波器在數學上以線性組合為基礎出發,輸出圖片(Output Image)必與引導圖片(Guidance Image)的梯度方像一致,並不會出現梯度反轉的問題。

原理

為了達到將影像平滑化、即去除雜訊的效果,我們首先定義輸出的結果圖片是輸入圖片減去雜訊後的結果;同時,為了讓輸出的圖片符合引導圖片的影像邊界,我們將輸出圖片定為引導圖片的線性組合。

以下為引導影像濾波器的機處模型:


(1)  

(2)  


在上述公式中,是第i個輸出的像素是第i個輸入的像素,是第i個輸入像素的雜訊成分,是第i個引導圖片的像素,則是用來衡量輸入權重的參數。


定義為線性組合(Linear Combination)的原因在於,一物件的邊界與其梯度(Gradient)相關,而在線性組合的定義下,輸出圖片之梯度必與引導圖片之梯度成對比(微分時高冪次係數保留而常數項則被去除),故可以達到保留梯度的效果、保留影像邊界的目的。

為了導出上述線性組合的參數,將(1)及(2)相減得到公式(3);同時,定義一個代價方程式(cost function)(4):


(3)  

(4)  


在上式中, 是一用來懲罰(penalize)過大的 的參數, 是以第 個像素為中心點的窗格(window)。

在這個方程式中可以看到,我們希望同時讓最終的輸出圖片做到讓雜訊減少以及讓引導圖片在輸出圖片的影響減小(引導圖片的係數項)兩件事,遂定義每個像素雜訊和係數項的平方總合為我們的最後須付出的價值項(cost)。並

且,基於讓價值項最小化的原則,我們可以將(4)以線性回歸(linear regression)的方法找出它的線性模型,從而求得、使得出它的價值方程式有最小解的到以下兩參數


(5)  

(6)  


在這裡, 分別是引導圖片 在窗格 平均數(mean)和標準差(variance),而 是在窗格 中像素的平均值;這兩項係數,換句話說,即是一以輸入圖片為考慮計算權重之平均濾波器(weighted mean)。

演算法

依據上式,我們可以列出此濾波器之演算法:


Algorithm 1. 引導圖片濾波器

輸入: 輸入圖片 ,引導圖片 ,窗格半徑 ,修正項

輸出: 輸出圖片

1: =

  = 
 
  = 
  = 

2: =

  = 

3: =

  = 

4: =

  = 

5: =

 /* 是一個有線性計算複雜度的平均濾波器(mean filter)*/

特性

引導圖片濾波器保留邊界的特性,其實也可以被理解為是保留梯度的特性。由下圖我們可以看到,我們可以將一張圖分為細節圖層和基底圖層兩層,基底圖層的能量並無小幅度的升降,只有大幅度諸入梯度的能量升降;而細節圖層,只有雜訊式的小幅度能量升降。 而引導圖片濾波器所作的,其實就是將細節層和基底層分離並保留基底層,也就是保留梯度而去除雜訊,大到平滑效果。

延伸功能

由引導圖片濾波器的特性,我們可以延伸出除了原先的平滑化外的幾項功能

細節加強

當一影像圖同時為輸出圖片和引導圖片時,可知我們最終得到的會是以該圖片的邊界為依據的基底層和細節層;因此,若要加強依影像之細節,我們可以將細節層的能量放大n倍後再次疊加回基底層,以達到增強細節的效果。

深度圖修整

無論是利用光場(light field])技術或是焦點合成(focal-stack)所製作的深度圖(depth map),在出製作完成時往往都會有一些坑洞(holo);而這時若使用引導影像濾波器,以原始影像為引導圖片、以深度圖為輸入圖片,便可得到一完整、無坑洞的深度圖。