封存 Archive
封存 Archive
科普系列 - 數學與圖像修復(四)
- 取得連結
- X
- 電子郵件
- 其他應用程式
用平均值修復圖像的問題
返回圖像處理的問題。我們希望修復回來的圖像是比較清晰,而不是模糊的。所以如果我們假設在邊界上只有兩種顏色,在圖像一邊是全黑(用力代表顏色),令一面是同一種灰色(在前面的例子我們用128代表),我們就會希望修復回來的圖像的象素點都只有全黑或者是在邊界上面的那一種灰色。可是,另外一個橢圓形偏微分方程的特性,就是說所有找回來的答案都會是順滑的(Smooth)。所以,我們就可以知道用這個平均值方式找回來的顏色將會分布在零跟128之間。就是說,即使在邊界上只有兩種顏色,使用平均值的方法來修復圖像總是會出現新的顏色。這兩個效果,在圖像修復的應用上都會令人非常失望,因為修復回來的圖像跟我們腦海中認知和希望找到的都非常不一樣。
當然,要解決非線性方程組也不是沒有辦法的。如果有修讀數值方法的,就知道牛頓也創造了一個用微積分方法找方程式的根的辦法 [1]。可是要使用這牛頓法,我們就必須要計算方程式的導數(Derivative)。而眾數及中位數這兩個函數,卻是不可微分(Non-differentiable)的。所以一般的牛頓法並不適合解決這兩個問題。
那有什麼辦法呢?其中一個方法,就是將這些問題重寫,將他們變成一個優化問題處理。
三個優化問題
我們先從比較簡單的情況討論。最簡單的情況,就是一個3×3圖像找回中間一個像素點顏色的問題。對用平均值定義「類似」的方法,我們可以將它寫成以下的優化問題。假設我們已知附近的m個數值為a(1), a(2), 直到a(m)。我們定義函數
f(x)=(a(1)-x)²+ (a(2)-x)²+…+ (a(m)-x)²
然後希望找這個函數的最小值。這個函數裏面每一個項(Term),都在計算x跟每一個已知數差距的平方。假如沒有了平方,有些時候x比a(1)大也可能比a(1)少,所以當我們找這個函數的最小值時候,f就很可能是一個非常負的負數。為了要把這個非常負的答案拿走,我們通常都會將距離用平方表示。所以找出來的x,就「差不多」距離每一個已知數都非常接近。注意的是,由於我們優化的並不是真的距離(而是他的平方),所以這個代表着m個已知數的代表x,並不一定是最接近這個數值集的數字。
我們特別喜愛平方的函數,由於每一項都是可以微分的。所以要優化這個函數,我們可以用微積分的辦法,計算f的導數。做一點計算,我們就可以發現,要優化這個函數, x就會是這些已知數的平均值。由於f是一個凹函數(Concave Up),平均值可以得到這個函數的最小值。所以,總結一下,要找出一些已知數的平均值,我們其實可以用那些已知數,用平方的辦法構造一個函數,再把它優化。聽起來好像繞了一大圈,做了很多「無謂」的事情。可是,以後我們就會看見,根據這個方法我們就可以把找眾數和中間數的問題寫成一些最小化問題,然後就可以用很多優化的技巧處理。
- 取得連結
- X
- 電子郵件
- 其他應用程式
留言
發佈留言