超分辨率重建——病態、單應矩陣、高斯權重

我們經常會提到,超分辨率重建是一個病態問題,那麼這裏的病態該如何理解呢?

病態問題本身的定義是:對於一個數值問題本身,如果輸入數據有微小的擾動(即誤差),引起輸出數據(即問題的解)相對誤差很大,這就是病態問題。

設a爲輸入數據的相對誤差,b爲輸出數據的相對誤差,c爲條件數,c=b/a。自變量的相對誤差往往不會太大,如果c很大的話,將引起函數值相對誤差很大,這樣的問題就是病態問題。

對於超分辨率重建問題,輸入低分辨率圖像往往收到噪聲等干擾,在重建高分辨率的過程中,如果約束條件選取的不好,或者模型選擇不當的話,重建結果會有着很大的區別,所以可以看作病態問題。


另外最近還看到一個詞叫單應矩陣,這裏記錄一下:

說到單應矩陣,一般用於二維圖像中的變換,而這一變換是單應變換,有下面幾個概念(以下內容摘自知乎)

一、單應和齊次座標
給定一個3*3的單應矩陣H,給定一個點p1=[x1,y1,w1]T,H把p1變成一個新的點p2=[x2,y2,w2]T=Hp1,由於使用齊次座標,這兩個點對應圖像上的兩個點分別是(x1/w1,y1/w1)T,(x2/w2,y2/w2)T.

二、單應的自由度
如果給定一個單應H={hij},給它的元素乘上同一個數a,得到的的單應aHH作用相同,因爲新單應無非把齊次點p1變成了齊次點ap2,ap2和p2對應的圖像上的點相同。所以一個單應中只有8個自由元素,一般令右下角的那個元素h33=1來歸一化。

三、求解單應
8個未知數,需要8個方程來求解,之所以四對點能夠求解,是因爲一對點提供兩個方程。我們假設有兩個圖像上的點(x1,y1)T和(x2,y2
)T,它們的齊次座標爲:(x1,y1,1)T和(x2,y2,1)T帶到上面的推倒裏可以得到:
x2=(x1h11+y1h12+h13)/(x1h31+y1h32+1)
y2=(x1h21+y1h22+h23)/(x1h31+y1h32+1)

把這兩個式子重新組織一下,得到等價的矩陣形式:
Au=v
其中:
A=[x1 y1 1 0 0 0 -x1x2 -x2y1,0 0 0 x1 y1 1 -x1y2 -y1y2]
u=[h11 h12 h13 h21 h22 h23 h31 h32]
v=[x2 y2 ]T
如果有四對不共線匹配點對,這個方程組就能夠壘到8行,存在唯一解,如果多於四對點,比如有n對點,方程就壘到2n行,用最小二乘法或SVD分解就可以求解H

四、程序實現
由於點對中可能存在不少錯誤匹配,因此往往需要使用RANSAC算法剔除錯誤匹配點對,整個流程在OpenCV中已經集成爲函數 findhomography,輸入點對座標,輸出單應和一個標記哪些點是正確匹配哪些點是錯誤匹配的數組

作者:王小龍
鏈接:https://www.zhihu.com/question/23310855/answer/24931733
來源:知乎

最後一個問題,高斯權重:貼上一個鏈接,講的很好http://www.ruanyifeng.com/blog/2012/11/gaussian_blur.html


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章