低亮度图片增强方法:基于多图像融合的低亮度图片增强算法

这篇博客介绍两篇基于多图像融合的低亮度图片增强算法:

  • A fusion-based enhancing method for weakly illuminated images (multi_fusion)
  • A New Image Contrast Enhancement Algorithm Using Exposure Fusion Framework (EFF)

基于多图像融合的低亮度质量评价算法主要考虑融合多幅图片来进行低亮度图片的增强。

A fusion-based enhancing method for weakly illuminated images

multi_fusion的框架
  • 提出基于morphologically closing operation的图像亮度分量估计的算法
  • 提出从全局亮度提升、局部对比度增强和保持自然程度上增强亮度分量。
  • 提出基于融合的增强算法来增强亮度分量。
估计亮度分量

由Retinex理论:

S^{c}(x, y)=R^{c}(x, y) I(x, y)

其中I(x, y)是亮度分量,R^{c}(x, y)是RGB通道上的反射分量,S是待增强的分量。

首先,使用RGB通道上每个pixel的最大值最为亮度分量的一个估计值。

L(x, y)=\max _{c \in\{R, G, B\}} S^{c}(x, y)

因为图像的亮度分量一般是局部光滑的,所以文章中使用了形态学中的闭环操作来进一步估计亮度分量:

I=\frac{L \bullet P}{255}

公式中除以255是为了将亮度分量限制到了[0,1],文章中选取了disk作为结构元素。

亮度分量通过guided filter来保持the shape of large contours:

I_{i} \leftarrow \sum_{j} W_{i j}(g) I_{j}

W_{i j}(g)=\frac{1}{|\omega|^{2}} \sum_{k :(i, j) \in \omega_{k}}\left(1+\frac{\left(g_{i}-\mu_{k}\right)\left(g_{j}-\mu_{k}\right)}{\sigma_{k}^{2}+\varepsilon}\right)

\omega_k是中心在k上的窗口。

亮度分量的增强

multi_fusion融合了多幅增强的亮度分量:

  • 原始估计的亮度分量I
  • 全局亮度增强的亮度分量:
    文章中使用I的arc tangent变换作为全局的亮度增强的亮度分量:
    I_{2}(x, y)=\frac{2}{\pi} \arctan (\lambda I(x, y))
    其中\lambda是控制亮度程度的变量,对于亮度较低的像素,\lambda的值越大。
    \lambda=10+\frac{1-I_{\text {mean}}}{I_{\text {mean}}}
  • 局部对比度增强的亮度分量:
    由于全局亮度的增强会抑制局部的对比度,因此待融合的第三幅图是局部对比度增强的亮度分量。文中用的方法是CLAHE(contrast local adaptive histogram equalization)。

权重的估计

  • 亮度权重W_{B}
    亮度权重应当对于正常曝光的像素赋予较高的权重,对于过曝或是低亮度的图片应该赋予较低的权重。
    为此 ,作者统计了超过2000张正常曝光图片的像素分布,并用高斯分布来进行拟合,可以得到:
    W_{B, k}(x, y)=\exp \left\{-\frac{\left(I_{k}(x, y)-0.5\right)^{2}}{2(0.25)^{2}}\right\}

  • 色彩对比度权重W_{C}
    色彩对比度对于视觉质量评价很重要,为此,文章中计算色彩滤波公式作为W_{C}
    W_{C, k}(x, y)=I_{k}(x, y)(1+\cos (\alpha H(x, y)+\phi) S(x, y))
    其中HS为HSV空间中的H和S分量,\alpha用来保持color opponency,\phi是offset angle of the color wheel,文章将\alpha设置为2,\phi设置为250 degree。

最后,权重由以下公式表示:
W_{k}(x, y)=W_{B, k}(x, y) W_{C, k}(x, y)

W_{k} \overline(x, y)=\frac{W_{k}(x, y)}{\sum_{k} W_{k}(x, y)}

多尺度融合

文章中首先将各个亮度分量I_{k}通过Laplacian金字塔分解为多个尺度上特征图,将权重W_{k} \overline(x, y)使用高斯金字塔光滑过度的部分。

将第l金字塔层的图像进行融合:
F_{l}(x, y)=\sum_{k} G_{l}\left\{W_{k}(x, y)\right\} L_{l}\left\{I_{k}(x, y)\right\}

融合多个金字塔层的图像:
I_{\text {final}}(x, y)=\sum_{l} U_{d}\left(F_{l}(x, y)\right)
其中U_d是上采样操作。

最后增强的图片由下式得到:
S_{\text {enhanced}}^{c}(x, y)=R^{c}(x, y) I_{\text {final}}(x, y)

A New Image Contrast Enhancement Algorithm Using Exposure Fusion Framework

EFF考虑融合同一场景下不同曝光程度的图片来增强低亮度图片。

Exposure Fusion Framework

为了得到完美曝光的图片,Exposure Fusion框架融合了不同曝光的图片:
\mathbf{R}^{c}=\sum_{i=1}^{N} \mathbf{W}_{i} \circ \mathbf{P}_{i}^{c}
其中\mathbf{P}_{i}^{c}是各个颜色通道上的不同曝光率下的图片,\mathbf{W}_{i}为对应的权重。

由之前基于相机响应模型的低亮度图片增强算法,我们可以得到同一场景下,不同曝光率的图片间的转换公式:

\mathbf{P}_{i}=g\left(\mathbf{P}, k_{i}\right)

在这篇文章中,作者只考虑了两种曝光率的图片,第一种是低亮度下的图片,另一种是低亮度下的图片使用曝光增强后的图片。

\mathbf{R}^{c}=\mathbf{W} \circ \mathbf{P}^{c}+(\mathbf{1}-\mathbf{W}) \circ g\left(\mathbf{P}^{c}, k\right)

权重的设计

由于需要将曝光完好的像素赋予更大的权重,所以文章中使用图片的亮度分量作为权重:
\mathbf{W}=\mathbf{T}^{\mu}
其中\mu用来调节增强的程度

对于亮度分量的求解可参考原文或是之前介绍基于相机响应模型的低亮度图片增强算法的博客。

相机的相应模型

与之前介绍基于相机响应模型的低亮度图片增强算法的博客中一致:
g(\mathbf{P}, k)=\beta \mathbf{P}^{\gamma}=e^{b\left(1-k^{a}\right)} \mathbf{P}^{\left(k^{a}\right)}

除了原图外另一幅带融合图的曝光比的求解

文章中首先排除了原图中曝光较好的像素点:
\mathrm{Q}=\{\mathbf{P}(x) | \mathbf{T}(x)<0.5\}
其中\mathrm{Q}只包含了曝光不足的像素点。

\mathrm{Q}的亮度部分定义为:
\mathbf{B} :=\sqrt[3]{\mathbf{Q}_{r} \circ \mathbf{Q}_{g} \circ \mathbf{Q}_{b}}

则对于曝光率增强后的亮度分量有:
\begin{aligned} \mathbf{B}^{\prime} & :=\sqrt[3]{\mathbf{Q}_{r}^{\prime} \circ \mathbf{Q}_{g}^{\prime} \circ \mathbf{Q}_{b}^{\prime}} \\ &=\sqrt[3]{\left(\beta \mathbf{Q}_{r}^{\gamma}\right) \circ\left(\beta \mathbf{Q}_{g}^{\gamma}\right) \circ\left(\beta \mathbf{Q}_{b}^{\gamma}\right)}=\beta\left(\sqrt[3]{\mathbf{Q}_{r} \circ \mathbf{Q}_{g} \circ \mathbf{Q}_{b}}\right)^{\gamma} \\ &=\beta \mathbf{B}^{\gamma} \end{aligned}

将曝光不足的像素点转化为曝光正常的像素点后,可以提供的信息应该变大,所以,这里使用了图片墒最大化来求解曝光比:

\mathcal{H}(\mathbf{B})=-\sum_{i=1}^{N} p_{i} \cdot \log _{2} p_{I}

\hat{k}=\underset{k}{\operatorname{argmax}} \mathcal{H}(g(\mathbf{B}, k))

则由
\mathbf{R}^{c}=\mathbf{W} \circ \mathbf{P}^{c}+(\mathbf{1}-\mathbf{W}) \circ g\left(\mathbf{P}^{c}, k\right)
可得到增强后的图片。

代码实现

https://xueyangfu.github.io/projects/sp2016.html
https://baidut.github.io/OpenCE/caip2017.html

效果比较

低亮度图

增强图_multi_fusion
增强图_EFF

参考文献

  1. https://www.sciencedirect.com/science/article/pii/S0165168416300949
  2. https://link.springer.com/chapter/10.1007/978-3-319-64698-5_4
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容