低亮度圖片增強方法:基于Retinex理論的低亮度圖片增強算法1

Retinex理論是基于色彩恒常的一種代表性計算理論,全稱是視網膜皮層理論(Retinal-cortex theory)。Retinex理論認為人類知覺到的物體表色與物體表面的反射性質有著密切的關系。照度(illumination)引起的色彩變化一般是平緩的,通常表現為平緩的照明梯度,而由表面反射性質(reflection)引發(fā)的顏色變化效應則往往表現為突變形式。通過分辨這兩種變化形式,人們就能將圖像的照度變化作出區(qū)分,從而得知由照度變化引起的表色變化,使對表色的知覺保持橫常。

基于Retinex理論的低亮度圖片增強算法,通常把圖片分解為亮度分量(illumination)和反射分量(reflection),通過增強分解得到的亮度部分,最后將增強的亮度分量與反射分量融合得到增強后的低亮度圖片。

本文介紹兩種基于Retinex理論的低亮度增強算法:

  • A Probabilistic Method for Image Enhancement With Simultaneous Illumination and Reflectance Estimation (PLE)
  • A weighted variational model for simultaneous reflectance and illumination estimation(SRIE)

PLE

由Retinex理論,我們可以將觀測的圖像S分解成圖片的亮度I和圖片的反射部分R:
\mathbf{S} = \mathbf{R}.\mathbf{I}
S是8比特的圖像,其范圍在[0,255],R的范圍在[0,1],I的范圍也是[0,255],"."表示逐元素相乘。

由于我們的目標是通過觀察到的圖像S得到圖像的亮度分量I和反射分量R,則根據貝葉斯理論,可以得到:
p(\mathbf{I}, \mathbf{R} | \mathbf{S}) \propto p(\mathbf{S} | \mathbf{I}, \mathbf{R}) p(\mathbf{I}) p(\mathbf{R})
其中p(\mathbf{I}, \mathbf{R} | \mathbf{S})是后驗概率,p(\mathbf{S} | \mathbf{I}, \mathbf{R})是似然函數,p(\mathbf{I})p(\mathbf{R}是先驗概率。

為了減少計算的復雜度,之前的方法通常對等式的兩邊采取了對數操作,將乘法變成了加法,而且,對數轉換的操作有利于增強圖像暗部區(qū)域的對比度。然而對數操作的副作用會造成很多低亮度區(qū)域不需要恢復的結構也被恢復出來,導致恢復出錯誤的圖像。

為此,該文章并沒有采用對數轉換,依然在線性域上去求解R和I。

首先,文章先分析了似然函數與先驗概率:

  • likelihood p(\mathbf{S} | \mathbf{I}, \mathbf{R})
    假設估計的誤差\boldsymbol{\varepsilon}=\mathbf{S}-\mathbf{\mathbf { R }} \cdot \mathbf{I}符合均值為0,方差為\zeta_{1}^{2}高斯分布的獨立同分布隨機變量:
    p(\mathbf{S} | \mathbf{I}, \mathbf{R})=N\left(\varepsilon | 0, \zeta_{1}^{2} \mathbf{1}\right)

  • prior p(\mathbf{R})
    基于反射分量包含的邊緣信息是分段連續(xù)的(piece-wise continuous),所以反射分量的梯度分布滿足拉普拉斯分布:
    p(\mathbf{R})=L\left(\nabla \mathbf{R} | 0, \zeta_{2} \mathbf{1}\right)

  • prior p(\mathbf{I})
    基于亮度分量的梯度分布在空域上是光滑的:
    p_{1}(\mathbf{I})=N\left(\nabla \mathbf{I} | 0, \zeta_{3}^{2} \mathbf{1}\right)
    基于亮度分量在數值上是顯著區(qū)別與反射分量,因此需要一個正則項來限制亮度分量的數值范圍:
    p_{2}(\mathbf{I})=N\left(\mathbf{I} | I_{0}, \zeta_{4}^{2} \mathbf{1}\right)
    I_{0}是高斯分布的均值,在這篇文章里,I_{0}用圖像S的平均值來替代。
    最后:
    p(\mathbf{I})=p_{1}(\mathbf{I}) p_{2}(\mathbf{I})

為了有效地同時估計圖像亮度和反射分量,最大后驗概率估計(MAP)問題被轉化成能量最小化問題,即:
E(\mathbf{I}, \mathbf{R})=-\log (p(\mathbf{I}, \mathbf{R} | \mathbf{S}))

將以上的先驗和似然概率考慮其中,可以得到以下的目標函數:
\begin{aligned} E(\mathbf{I}, \mathbf{R})=&\|\mathbf{R} \cdot \mathbf{I}-\mathbf{S}\|_{2}^{2}+\alpha\|\nabla \mathbf{I}\|_{2}^{2} \\ &+\beta\|\nabla \mathbf{R}\|_{1}+\gamma\left\|\mathbf{I}-I_{0}\right\|_{2}^{2} \quad \text { s.t. } \mathbf{S} \leq \mathbf{1} \end{aligned}

其中,\alpha、\beta 、\gamma為正的參數,\| \|_{p}為p-norm操作。

\left(\|\mathbf{R} \cdot \mathbf{I}-\mathbf{S}\|_{2}^{2}\right)是為了保證分解后圖像的L2的保真度,即最小化 \mathbf{R} \cdot \mathbf{I}\mathbf{S}的歐式距離。
\|\nabla \mathbf{I}\|_{2}^{2}是為了保證亮度分量在空間域上的光滑性。
\|\nabla \mathbf{R}\|_{1}是對應于TV反射稀疏性,為了保證反射分量的piece-wise continuous.
\left\|\mathbf{I}-I_{0}\right\|_{2}^{2}是為了限制亮度分量的數值。

這這篇文章中使用了交替方向乘子算法(alternating direction method of multipliers,ADMM)來求解目標函數的極值點,由于L1-norm難以求解,文章中引入了輔助的參數,目標函數被改寫為:
\begin{aligned} E(\mathbf{I}, \mathbf{R}, \mathbfu0z1t8os, \mathbf)=&\|\mathbf{R} \cdot \mathbf{I}-\mathbf{S} \mathbf{I}\|_{2}^{2}+\alpha\|\nabla \mathbf{I}\|_{2}^{2} \\ &+\beta\left\{\|\mathbfu0z1t8os\|_{1}+\lambda\|\nabla \mathbf{R}-\mathbfu0z1t8os+\mathbf\|_{2}^{2}\right\} \\ &+\gamma\left\|\mathbf{I}-I_{0}\right\|_{2}^{2} \quad \text { s.t. } \mathbf{S} \leq \mathbf{I} \end{aligned}

由ADMM理論,原目標函數被分為三個子優(yōu)化問題迭代求解,在第j次迭代過程中,三個子優(yōu)化問題分別是:
(P 1) \quad \mathbfu0z1t8os^{j}=\underset{\mathbfu0z1t8os}{\arg \min }\|\mathbfu0z1t8os\|_{1}+\lambda\left\|\nabla \mathbf{R}^{j-1}-\mathbfu0z1t8os+\mathbf^{j-1}\right\|_{2}^{2}

\begin{aligned}(P 2) & \mathbf{R}^{j}=\underset{\mathbf{R}}{\arg \min }\left\|\mathbf{R}-\frac{\mathbf{S}}{\mathbf{I}^{j-1}}\right\|_{2}^{2}+\beta \lambda\left\|\nabla \mathbf{R}-\mathbfu0z1t8os^{j}+\mathbf^{j-1}\right\|_{2}^{2} \\ \mathbf^{j} &=\mathbf^{j-1}+\nabla \mathbf{R}^{j}-\mathbfu0z1t8os^{j} \end{aligned}

(P 3) \quad \mathbf{I}^{j}=\underset{\mathbf{I}}{\arg \min }\left\|\mathbf{I}-\frac{\mathbf{S}}{\mathbf{R}^{j}}\right\|_{2}^{2}+\alpha\|\nabla \mathbf{I}\|_{2}^{2}+\gamma\left\|\mathbf{I}-I_{0}\right\|_{2}^{2}

具體求解過程可參考原文,這里不做過多解釋。

得到R和I后,使用Gamma矯正來增強亮度分量I:
\mathbf{I}^{\prime}=W\left(\frac{\mathbf{I}}{W}\right)^{\frac{1}{\gamma^{\prime}}}
其中W是255,參數\gamma^{\prime}設置為2.2。

增強后的圖片可有以下公式得到:
\mathbf{S}_{\text {enhanced}}=\mathbf{R} \cdot \mathbf{I}^{\prime}

SRIE

之前討論到在求解亮度和反射分量的過程中,通常會使用對數操作來減少計算量,但是對數操作的副作用會造成很多低亮度區(qū)域不需要恢復的結構也被恢復出來,導致恢復出錯誤的圖像。這里先介紹為什么會出現這種情況。

由Retinex理論,我們可以將觀測的圖像S分解成圖片的亮度I
和圖片的反射部分R:
\mathbf{S} = \mathbf{R}.\mathbf{I}
S是8比特的圖像,其范圍在[0,255],R的范圍在[0,1],I的范圍也是[0,255],"."表示逐元素相乘。

采用對數變換后,可以得到:
\mathbf{s}=\mathbf{r}+\mathbf{l}
其中\mathbf{s}=\log (\mathbf{S}), \mathbf{r}=\log (\mathbf{R}) \text { and } \mathbf{l}=\log (\mathbf{L})。

與上篇文章類似,可以得到以下的目標優(yōu)化函數:
\begin{aligned} E(\mathbf{r}, \mathbf{l})=&\|\mathbf{I}+\mathbf{r}-\mathbf{s}\|_{2}^{2}+\lambda_{1}\|\nabla \mathbf{I}\|_{2}^{2}+\lambda_{2}\|\nabla \mathbf{r}\|_{1} \\ & \text { s.t. } \mathbf{r} \leq 0 \text { and } \mathbf{s} \leq \mathbf{l} \end{aligned}

在對數域上,對于一個給定的信號x,梯度的變化為:
\nabla(\log (x))=\frac{1}{x} \nabla x

因此,當信號x很小的時候,\nabla(\log (x))的值會變得很大,從而暫居主導地位。即在恢復圖像的過程中,目標函數會更加傾向于恢復圖像暗部區(qū)域,導致很多不該恢復出的細節(jié)恢復出來,而圖像的亮度區(qū)域則無法恢復出較出真實的結構。

對數變換比較

上圖顯示了原圖和對數域圖以及他們相對應的梯度圖,可以明顯的觀察到在對數域的梯度圖,很多背景區(qū)域上的細節(jié)被放大。

為了解決這個問題,上篇文章PLE沒有采用對數變換,而這篇文章則采用了一個補償的方式,來彌補在對數域上梯度過于放大暗部區(qū)域的問題。

文章中采用的目標函數是:
\begin{aligned} E(\mathbf{r}, \mathbf{l})=&\|\mathbf{r}+\mathbf{l}-\mathbf{s}\|_{2}^{2}+c_{1}\left\|e^{\mathbf{r}} \cdot \nabla \mathbf{r}\right\|_{1}+c_{2}\left\|e^{\mathbf{l}} \cdot \nabla \mathbf{l}\right\|_{2}^{2} \\ & \text { s.t. } \mathbf{r} \leq 0 \text { and } \mathbf{s} \leq \mathbf{l} \end{aligned}

即在梯度部分直接乘上了一個‘x’來彌補對數梯度上‘\frac{1}{x}’的影響。

在求解過程中,文章中直接使用了前次迭代結果的RL來代替e^{\mathbf{r}}e^{\mathbf{l}},即:

\begin{aligned} E\left(\mathbf{r}^{k}, \mathbf{l}^{k}\right) &=\left\|\mathbf{r}^{k}+\mathbf{l}^{k}-\mathbf{s}\right\|_{2}^{2}+c_{1}\left\|\mathbf{R}^{k-1} \cdot \nabla \mathbf{r}^{k}\right\|_{1} \\ &+c_{2}\left\|\mathbf{L}^{k-1} \cdot \nabla \mathbf{I}^{k}\right\|_{2}^{2} \\ & \text { s.t. } \mathbf{r}^{k} \leq 0 \text { and } \mathbf{s} \leq \mathbf{l}^{k} \end{aligned}

與前篇文章類似,引入了新的變量來解決L1-norm難以求解的問題:

\begin{array}{c}{E\left(\mathbf{r}^{k}, \mathbf{l}^{k}, \mathbfu0z1t8os^{k}, \mathbf^{k}\right)=\left\|\mathbf{r}^{k}+\mathbf{l}^{k}-\mathbf{s}\right\|_{2}^{2}+c_{2}\left\|\mathbf{L}^{k-1} \cdot \nabla \mathbf{l}^{k}\right\|_{2}^{2}} \\ {+c_{1}\left\{\left\|\mathbfu0z1t8os^{k}\right\|_{1}+\lambda\left\|\mathbf{R}^{k-1} \cdot \nabla \mathbf{r}^{k}-\mathbfu0z1t8os^{k}+\mathbf^{k}\right\|_{2}^{2}\right\}} \\ {\text { s.t. } \mathbf{r}^{k} \leq 0 \text { and } \mathbf{s} \leq \mathbf{l}^{k}}\end{array}

同樣地使用了ADMM算法將原問題分為三個子優(yōu)化問題:
\begin{aligned}(P 1) \mathbfu0z1t8os^{k} &=\underset{\mathbfu0z1t8os}{\arg \min }\|\mathbfu0z1t8os\|_{1} \\ &+\lambda\left\|\mathbf{R}^{k-1} \cdot \nabla \mathbf{r}^{k-1}-\mathbfu0z1t8os+\mathbf^{k-1}\right\|_{2}^{2} \end{aligned}

\begin{aligned}(P 2) \mathbf{r}^{k} &=\underset{\mathbf{r}}{\arg \min }\left\|\mathbf{r}+\mathbf{l}^{k-1}-\mathbf{s}\right\|_{2}^{2} \\ &+c_{1} \lambda\left\|\mathbf{R}^{k-1} \cdot \nabla \mathbf{r}-\mathbfu0z1t8os^{k}+\mathbf^{k-1}\right\|_{2}^{2} \\ \mathbf^{k} &=\mathbf^{k-1}+\mathbf{R}^{k} \cdot \nabla \mathbf{r}^{k}-\mathbfu0z1t8os^{k} \end{aligned}

(P 3) \mathbf{l}^{k}=\underset{1}{\arg \min }\left\|\mathbf{I}+\mathbf{r}^{k}-\mathbf{s}\right\|_{2}^{2}+c_{2}\left\|\mathbf{L}^{k-1} \cdot \nabla \mathbf{l}\right\|_{2}^{2}

具體求解過程也與前篇文章類似,具體可參考原文,這里不做過多解釋。

得到R和I后,使用Gamma矯正來增強亮度分量I:
\mathbf{I}^{\prime}=W\left(\frac{\mathbf{I}}{W}\right)^{\frac{1}{\gamma^{\prime}}}
其中W是255,參數\gamma^{\prime}設置為2.2。

增強后的圖片可有以下公式得到:
\mathbf{S}_{\text {enhanced}}=\mathbf{R} \cdot \mathbf{I}^{\prime}

算法實現

PLE: https://xueyangfu.github.io/paper/2015/TIP/Matlab_code.zip
SRIE: https://xueyangfu.github.io/paper/2016/cvpr/Matlab_implementation.zip

結果比較

低亮度圖片
增強后的低亮度圖片_PLE
增強后的低亮度圖片_SRIE

參考文獻

  1. http://psychology.wikia.com/wiki/Retinex_theory
  2. https://ieeexplore.ieee.org/document/7229296
  3. https://ieeexplore.ieee.org/document/7780673
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容