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

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

  • LIME: Low-Light Image Enhancement via Illumination Map Estimation(LIME)

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

LIME

由 Retinex理论,一幅图像可分解为亮度分量和反射分量:

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

目标函数为:

其中:

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

文章使用alternating direction minimization technique方法进行目标函数的求解,将原目标函数改写为:


其中为矩阵的内积。为符号为正的惩罚算子,为lagrangian乘子。

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

  • 求解

    由最小二乘法可求解:
    \begin{aligned} & 2(\mathbf{T}-\hat{\mathbf{T}})+\mu^{(t)} \mathbf{D}^{T}\left(\mathbf{D} \mathbf{T}-\mathbf{G}^{(t)}\right)+\mathbf{D}^{T} \mathbf{Z}^{(t)}=0 \\ \Rightarrow &\left(2 \mathbf{I}+\mu^{(t)} \mathbf{D}^{T} \mathbf{D}\right) \mathbf{T}=2 \hat{\mathbf{T}}+\mu^{(t)} \mathbf{D}^{T}\left(\mathbf{G}^{(t)}-\frac{\mathbf{Z}^{(t)}}{\mu^{(t)}}\right) \end{aligned}
    文章中使用了快速傅立叶变换加速计算,这里不做详述,具体可见原文。

  • 求解

    由shrinkage operation可得:

  • 求解和:

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

的设计:

  • 与l2-norm一致:
  • 使用初始亮度分量作为权重:
  • 使用Relative Total Variation,权重为:


其中:

对亮度分量进行Gamma变换来增强亮度:

文中设置为0.8

增强后的图片为:

使用BM3D算法进行去噪:

其中是去躁后的结果,是最终恢复的效果。

算法实现

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

算法效果

低亮度图片增强方法:基于Retinex理论的低亮度图片增强算法2_第1张图片
低亮度图
低亮度图片增强方法:基于Retinex理论的低亮度图片增强算法2_第2张图片
增强效果图

参考文献

  1. https://ieeexplore.ieee.org/document/7782813

你可能感兴趣的:(低亮度图片增强方法:基于Retinex理论的低亮度图片增强算法2)