LowLight Image

低亮度图片增强方法:基于Retinex理论的低亮度图片增强算法2

2019-06-08  本文已影响0人  GreatSun

本文介绍另外一篇基于Retinex理论的低亮度图片增强算法:

关于Retinex理论的介绍和其他基于Retinex理论的低亮度图片增强算法见前篇博客。

LIME

由 Retinex理论,一幅图像可分解为亮度分量和反射分量:
\mathbf{L}=\mathbf{R} \circ \mathbf{T}

不同于之前介绍的两篇文章,LIME仅估计亮度分量\mathbf{T}.

目标函数为:
\min _{\mathbf{T}}\|\hat{\mathbf{T}}-\mathbf{T}\|_{F}^{2}+\alpha\|\mathbf{W} \circ \nabla \mathbf{T}\|_{1}

其中:
\hat{\mathbf{T}}(x) \leftarrow \max _{c \in\{R, G, B\}} \mathbf{L}^{c}(x)

\mathbf{W}是权重矩阵,\alpha用于平衡两项表达式,\nabla \mathbf{T}\mathbf{T}的一阶导数,第一项表达式用于限制估计的亮度分量\mathbf{T}与初始亮度分量\hat{\mathbf{T}}的距离,第二项考虑亮度分量结构的光滑性。

文章使用alternating direction minimization technique方法进行目标函数的求解,将原目标函数改写为:
\min _{\mathbf{T}, \mathbf{G}}\|\hat{\mathbf{T}}-\mathbf{T}\|_{F}^{2}+\alpha\|\mathbf{W} \circ \mathbf{G}\|_{1} \quad \text { s.t. } \quad \nabla \mathbf{T}=\mathbf{G}

\mathcal{L}=\|\hat{\mathbf{T}}-\mathbf{T}\|_{F}^{2}+\alpha\|\mathbf{W} \circ \mathbf{G}\|_{1}+\Phi(\mathbf{Z}, \nabla \mathbf{T}-\mathbf{G})

\Phi(\mathbf{Z}, \nabla \mathbf{T}-\mathbf{G})=\frac{\mu}{2}\|\nabla \mathbf{T}-\mathbf{G}\|_{F}^{2}+\langle\mathbf{Z}, \nabla \mathbf{T}-\mathbf{G}\rangle
其中\langle\cdot, \cdot\rangle为矩阵的内积。\mu为符号为正的惩罚算子,Z为lagrangian乘子。

通过ALM算法,可改目标函数分解为三个子优化问题:

剩余求解过程和加速算法不做详述,具体可见原文。

W的设计:

\mathbf{W}_{v}(x) \leftarrow \sum_{y \in \Omega(x)} \frac{G_{\sigma}(x, y)}{\left|\sum_{y \in \Omega(x)} G_{\sigma}(x, y) \nabla_{v} \hat{\mathbf{T}}(y)\right|+\epsilon}
其中:
G_{\sigma}(x, y) \propto \exp \left(-\frac{\operatorname{dist}(x, y)}{2 \sigma^{2}}\right)

对亮度分量进行Gamma变换来增强亮度:
\mathbf{T} \leftarrow \mathbf{T}^{\gamma}
文中\gamma设置为0.8

增强后的图片为:
\mathbf{L}=\mathbf{R} \circ \mathbf{T}

使用BM3D算法进行去噪:
\mathbf{R}_{f} \leftarrow \mathbf{R} \circ \mathbf{T}+\mathbf{R}_{d} \circ(\mathbf{1}-\mathbf{T})
其中\mathbf{R}_{d}是去躁后的结果,\mathbf{R}_{f}是最终恢复的效果。

算法实现

https://drive.google.com/open?id=0BwVzAzXoqrSXb3prWUV1YzBjZzg

算法效果

低亮度图 增强效果图

参考文献

  1. https://ieeexplore.ieee.org/document/7782813
上一篇下一篇

猜你喜欢

热点阅读