總結A Content-Aware Image Prior

一、論文總體結構

二、圖像特點

我們使用廣義高斯分佈來擬合圖像梯度

{\rm{p}}(\nabla x){\rm{ = }}\frac{{\gamma {\lambda ^{\frac{1}{\gamma }}}}}{{2\Gamma (\frac{1}{\gamma })}}\exp ( - \lambda {\left\| {\nabla x} \right\|^\gamma })

(1)

$\Gamma $是Gamma function,$\gamma , \lambda $是shape參數,$\gamma $$\lambda $分別決定圖像的峯值和寬度

我們假設${\nabla _{\rm{o}}}x{\nabla _{\rm{a}}}x$相互獨立,即:$p({\nabla _o}x,{\nabla _a}x) = p({\nabla _o}x)p({\nabla _a}x)$

2.1 空間變化的梯度統計

空間變化梯度分佈的兩個原因:圖像裏面的材料以及拍攝距離

例如:

  1. 建築與碎石路相比,建築會更加平滑
  2. 即使是同樣的碎石路,如果拍攝距離不一樣,那麼也會具有不一樣的梯度統計特徵

2.2在自然圖像裏面的$\gamma ,\lambda $分佈

不同的紋理有不同的$\gamma ,\lambda $,爲了研究這一特性,本文做了一個實驗,那就是從500幅高質量的圖像之中採樣了110000幅圖像塊,每一個圖像塊的大小爲,我們求解$\gamma $$ \lambda $的值來擬合每一個圖像塊的梯度分佈,具體$\gamma $$ \lambda $求解可以使用KL散度來求(KL散度可以度量兩個分佈之間的差異)

[\tilde \gamma ,\tilde \lambda ] = \arg \mathop {\min }\limits_{\gamma ,\lambda } {\rm{\{ - }}\frac{1}{{\rm{N}}}\sum\limits_{i = 1}^N {\ln (p(\nabla {x_i}))} {\rm{\} }}

(2)

上式就是KL散度的簡化版

三、自適應圖像先驗

3.1 圖像還原建模

{\rm{y}} = k \otimes x + n

(3)

K:模糊核  n:噪音  y:模糊圖像  x:清晰圖像

條件隨機場的恢復模型如下:

p(x|y,k,\eta ) \propto \frac{1}{M}\mathop \prod \limits_i^{} {\Phi _y}(x;{y_i},k,\eta ){\Phi _x}(x)

(4)

其中

{\Phi _y}(x;{y_i},k,\eta )\; \propto \;\exp ( - \frac{{{{({y_i} - {{(k \otimes x)}_i})}^2}}}{{2{\eta ^2}}})

(5)

{\Phi _{\rm{x}}}(x)\; \propto \;\exp ( - \lambda {\left\| {\nabla x} \right\|^\gamma })

(6)

上式(4)跟MAP很像。

爲了給隨着空間而變化的梯度建模,我們引入了一個額外的隱藏變量z,這個變量被稱爲紋理,z是用來控制圖像先驗的shape參數的:

{\rm{p}}(x,z|y,k,\eta ) = \frac{1}{M}\mathop \prod \limits_i^{} {\Phi _y}(x;{y_i},k,\eta ){\Phi _{x,z}}(x,z)

(7)

其中

{\Phi _{x,z}}(x,z) \propto \exp ( - \lambda (z){\left\| {\nabla x} \right\|^{\gamma (z)}})

(8)

由上式可知,$\gamma ,\lambda $已經變成了一個隨着紋理變化而變化的值,這樣就達到不同的紋理使用不同的梯度先驗(以前是使用一組$\gamma ,\lambda $來對整幅圖像進行恢復)。我們把z設置爲一個連續變量,因爲$[\gamma ,\lambda ]$是拖尾分佈並且不會形成緊密的羣。

我們最大化公式(4)可以估計出清晰的圖像,同時,我們令:

{\rm{p}}(x|y,k,\eta ) = \int_{\rm{z}}^{} {p(x,z|y,k,\eta )dz} \approx p(x,\tilde z|y,k,\eta )

(9)

這裏我們爲每一個像素都估計一個值。式(9)裏面的等式可以看成是邊緣概率分佈,邊緣概率分佈函數的公式如下:

{{\rm{f}}_x}(x) = \int_{ - \infty }^{ + \infty } {f(x,y)dy{{\rm{f}}_y}(y) = \int_{ - \infty }^{ + \infty } {f(x,y)dx} }

(10)

3.2 估計紋理參數{\rm{\tilde z}}

零均值廣義高斯分佈(也就是我們用來擬合圖像先驗的分佈函數)的一個顯著的特點是:方差v和四階矩f完全決定了shape參數$[\gamma ,\lambda ]$:

v = \frac{{\Gamma (3/\gamma )}}{{{\lambda ^{\frac{2}{\gamma }}}\Gamma (1/\gamma )}},f = \frac{{\Gamma (5/\gamma )}}{{{\lambda ^{\frac{4}{\gamma }}}\Gamma (1/\gamma )}}

(11)

爲了利用這個關係,我們定義了將一個像素i周圍的局部紋理{\rm{\tilde z}}定義爲一個二維向量:

{{\rm{\tilde z}}_i} = [{v_i}(\nabla x),{f_i}(\nabla x)]

(12)

其中,梯度{v_i}(\nabla x)編碼了分佈的寬度,四階矩{f_i}(\nabla x)編碼了分佈的峯值,注意,我們很容易就能計算得到${v_i},{f_i}$,具體的方法是用一個窗口函數來與梯度圖像卷積,我們使用的高斯窗口的標準差爲4個像素。

一般來說我們應該使用清晰圖像來估計,但是因爲我們只有模糊圖像,那麼我可以先手動選擇一組參數,然後估計得到一個較爲合理的清晰圖像,進而估計{\rm{\tilde z}},我們選擇的參數爲$[{\gamma _o} = 0.8,{\lambda _o} = 6.5],[{\gamma _a} = 0.6,{\lambda _a} = 6.5]$。因爲使用固定的參數來重建圖像很可能會破壞圖像的梯度進而導致估計錯誤,爲了減少這種紋理估計誤差,我們對所有維度進行下采樣這個反捲積圖像(就是上一步使用固定先驗進行反捲積之後的圖像)2倍(下采樣後梯度分佈並不會改變,但是反捲積噪音會變少),執行這一步之後估計得到的通常能夠更加接近真實的。

3.3 從{\rm{\tilde z}}來估計shape參數$\gamma ,\lambda $

可以直接使用公式(11)來計算$[\gamma ,\lambda ]$,但是求逆的計算量非常大,而且對噪聲非常敏感,因此我們可以使用模糊核迴歸器來將紋理對數$\ln (\tilde z)$映射成爲$[\gamma ,\ln (\lambda )]$

爲了學習迴歸函數,我們從500幅高質量圖像中採樣了125000幅的圖像塊,我們用廣義高斯分佈函數來擬合每一個圖像塊。

我們使用收集到的數據和LibSVM算法來學習這個$[\ln (v),\ln (f)][\gamma ,\ln (\lambda )]$映射並且使用交叉驗證的方式來避免過擬合。

3.4 處理紋理邊界

爲了估計紋理邊界處的shape參數,我們使用高斯條件隨機場(GCRF)來對估計的shape參數進行正則化,我們想要平滑紋理邊界處的shape參數,我們利用了一個特點:用兩個不同大小的窗口來估計\tilde z會得到不同的值,小窗口橫跨同樣的紋理,大的窗口橫跨兩種不同的紋理,因此會產生不同的\tilde z。我們利用這個特點來平滑紋理邊界處的shape參數,通過在GCRF中將觀察噪音水平定義爲不同窗口大小得到的方差v和四階矩f的均值(這兩個不同窗口的大小的像素分別爲2個像素和4個像素)。

3.5 實現細節

最終我們最小化下面的式子來估計清晰圖像:

{\rm{\hat x = }}\arg \mathop {\min }\limits_x \left\{ {\frac{{{{(y - k \otimes x)}^2}}}{{2{\eta ^2}}} + w\sum\limits_{i = 1}^N {({\lambda _o}({{\tilde z}_i}){{\left\| {{\nabla _o}x(i)} \right\|}^{{\gamma _o}({{\tilde z}_i})}} + {\lambda _a}({{\tilde z}_i}){{\left\| {{\nabla _a}x(i)} \right\|}^{{\gamma _a}({{\tilde z}_i})}})} } \right\}

(13)

W是權重,在所有樣例中,我們設置w=0.025

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