【阅读笔记】低照度图像增强-《An Integrated Neighborhood Dependent ...
本文介绍的是一种比较实用的低照度图像增强算法,选自2004年Tao的一篇论文,名称是《An Integrated Neighborhood Dependent Approach for Nonlinear Enhancement of Color Images 》
概述
图像中暗区图像增强的基本机制是对图像的亮度进行动态范围压缩,但是图像的对比度会下降,输出图像看起来会变灰。为了提高图像的整体质量,必须应用对比度增强过程来恢复甚至增强原始图像的对比度信息。本文采用亮度提升和对比度增强两个独立模块分别处理。
1、通过使用非线性传递函数实现的亮度提升。可以手动或自动调整该传递函数以实现适当的亮度增强。
2、图像通过对比度增强进行处理,与传统技术不同,对比度增强是基于处理后(中心)像素及其周围相邻像素的强度信息的自适应过程。通过使用具有高斯核卷积来获得周围像素的亮度信息。具有相同亮度的像素可能根据其邻近像素具有不同的输出。可以最佳地增强图像对比度和细节,同时可以在不降低图像质量的情况下控制动态范围扩展。
算法过程
1、RGB图像 <script type="math/tex;mode=inline">I^{rgb}</script>I^{rgb} 转为灰度图像 <script type="math/tex;mode=inline">Y</script>Y ,并归一化为 <script type="math/tex;mode=inline">Y_{n}</script>Y_{n}
2、根据下式进行非线性转换
<script type="math/tex;mode=inline"> Y_{n}^{'}=\frac{(Y_{n}^{0.24}+(1-Y_{n})*0.5+Y_{n}^{2})}{2} </script> Y_{n}^{'}=\frac{(Y_{n}^{0.24}+(1-Y_{n})*0.5+Y_{n}^{2})}{2}
这种变换可以很大程度上提高暗像素(区域)的亮度,而亮像素(区域)的亮度增强较低,甚至是负增强。从而达到较好的效果。
3、对灰度图像 <script type="math/tex;mode=inline">Y</script>Y 进行不同尺度的高斯核函数卷积运算,得到模糊图像 <script type="math/tex;mode=inline">Y'</script>Y' ,卷积公式如下:
<script type="math/tex;mode=inline"> Y'(x, y) = Y(x, y) * G(x, y) </script> Y'(x, y) = Y(x, y) * G(x, y)
高斯卷积核 <script type="math/tex;mode=inline">G(x,y)</script>G(x,y) 如下:
<script type="math/tex;mode=inline"> G(x,y)=K*e^{(\frac{-(x^2+y^2)}{c^2})} </script> G(x,y)=K*e^{(\frac{-(x^2+y^2)}{c^2})}
其中, <script type="math/tex;mode=inline">K</script>K 函数
<script type="math/tex;mode=inline"> \iint K*e^{(\frac{-(x^2+y^2)}{c^2})}dxdy=1 </script> \iint K*e^{(\frac{-(x^2+y^2)}{c^2})}dxdy=1
其中, <script type="math/tex;mode=inline">c</script>c 是高斯函数尺度;
4、通过下式得到增强系数 <script type="math/tex;mode=inline">R</script>R
<script type="math/tex;mode=inline"> R(x,y) =255* Y_{n}^{'}(x,y)^{r(x,y)} </script> R(x,y) =255* Y_{n}^{'}(x,y)^{r(x,y)}
其中, <script type="math/tex;mode=inline">r(x,y)</script>r(x,y) 如下
<script type="math/tex;mode=inline"> r(x,y)=\frac{Y'(x, y)}{Y(x, y)} </script> r(x,y)=\frac{Y'(x, y)}{Y(x, y)}
中心像素的亮度可以根据 <script type="math/tex;mode=inline">R(x,y)</script>R(x,y) 是否大于或小于1(由较亮像素或较暗像素包围)而增加或减少。
5、为了获得最佳的图像增强效果,使用不同尺度的多个卷积结果进行对比度增强。最终的输出是基于多个尺度的对比度增强结果的线性组合
<script type="math/tex;mode=inline"> R(x,y)=\sum_{i}w_{i}R_{i}(x,y) </script> R(x,y)=\sum_{i}w_{i}R_{i}(x,y)
尺度选择5, 20 and 240,权重为取均值
6、RGB三通道等比例恢复
<script type="math/tex;mode=inline"> R_{j}(x,y)=R(x,y)*\frac{I_{j}((x,y)}{I((x,y)}*\lambda </script> R_{j}(x,y)=R(x,y)*\frac{I_{j}((x,y)}{I((x,y)}*\lambda
其中, <script type="math/tex;mode=inline">j</script>j 表示rgb三通道分量, <script type="math/tex;mode=inline">R_j</script>R_j 是增强图像。 <script type="math/tex;mode=inline">\lambda</script>\lambda 表示色调调节因子,通常取1也可,输出的彩色图像可以通过色彩饱和度和白平衡调整进一步细化。
效果对比
低照度图像1:
低照度图像1处理结果:
低照度图像2:
低照度图像2处理结果:

算法总结
算法本质是暗区提亮gamma曲线映射实现,亮区不处理或者轻微处理。后续对比度处理精细化增强系数,需要多尺度高斯核函数卷积。 非线性gamma曲线如图下蓝线,线性映射如黄色线:
