Color Balance and Fusion for Underwater Image Enhancement文章复现

写本文的目的是记录自己学习过或做过的一些东西,深化理解,理清思路,便于回忆。本人处于学习阶段,欢迎指出不对的地方。

本文算法由Codruta O. Ancuti , Cosmin Ancuti, Christophe De Vleeschouwer , and Philippe Bekaert,于IEEE TRANSACTIONS ON IMAGE PROCESSING, VOL. 27, NO. 1, JANUARY 2018,发表的Color Balance and Fusion for Underwater Image Enhancement一文提出,本文主要工作是对该文章提出的算法进行重现,并体现自己的思路与理解。

本文是本人按照作者发表的原文进行复现,在尽力的基础上由于本人水平有限,对作者一些想法的理解和结果的复现不一定正确,需要研究此算法的朋友,在看我文章的时候最好加入自己的判断,或者直接查看原文。欢迎各位指出我不对的地方,或者与我探讨交流!

原文摘要

We introduce an effective technique to enhance the images captured underwater and degraded due to the medium scattering and absorption. Our method is a single image approach that does not require specialized hardware or knowledge about the underwater conditions or scene structure. It builds on the blending of two images that are directly derived from a color compensated and white-balanced version of the original degraded image. The two images to fusion, as well as their associated weight maps, are defined to promote the transfer of edges and color contrast to the output image. To avoid that the sharp weight map transitions create artifacts in the low frequency components of the reconstructed image, we also adapt a multiscale fusion strategy. Our extensive qualitative and quantitative evaluation reveals that our enhanced images and videos are characterized by better exposedness of the dark regions, improved global contrast, and edges sharpness. Our validation also proves that our algorithm is reasonably independent of the camera settings, and improves the accuracy of several image processing applications, such as image segmentation and keypoint matching.

该文章提出了一种有效的水下图像增强技术,该技术能有效地增强由于介质散射和吸收而导致的图像质量下降。此方法是一个单一的图像方法,不需要专门的硬件或知识的水下条件或场景结构。它建立在两个图像的混合之上,这两个图像直接来自于原始退化图像的颜色补偿和白平衡版本。定义两幅融合图像及其相关的权重图,以促进边缘和颜色对比度向输出图像的传输。为了避免权值变换在重建图像的低频分量中产生伪影,我们还采用了多尺度融合策略。我们广泛的定性和定量评估表明,我们的增强图像和视频的特点是更好地暴露黑暗区域,改善全局对比度和边缘清晰度。我们的验证也证明了我们的算法是合理的独立于相机设置,并提高了一些图像处理应用的精度,如图像分割和关键点匹配。

背景知识简述

水下图像增强技术也是图像研究领域的方向之一,可以直接应用到海洋生物学研究,海底基础设施的安装和维护,水下机器人控制,考古,风景拍摄等方面。

水下图像与普通图像不同,水下图像由于光传播的衰减,主要是吸收和散射效应,导致能见度低,对比度低。表现为无法辨认颜色和雾状外观。

水下图像视觉效果的退化是由于乘性噪声和加性噪声共同作用的结果,因此许多传统增强技术的效果就不是特别好了。解决这个问题也可以使用专用的硬件设备来实现,不过也相应的增加了成本,降低了使用的广泛性。

海水中的粒子密度是正常大气中的数百倍。因此,海底水逐渐吸收不同波长的光。波长最长的红色首先被吸收,其次是橙色和黄色,所以海水中拍摄的图片普遍呈现蓝色或绿色,在5英尺深度拍摄的照片会有明显的红色损失。

综合研究表明,在水下介质中,入射到像面一般点上的总辐照度有三个主要分量:直接分量(direct component)、前向散射(forward scattering)和后向散射(back scattering)。 前向散射在实际模型中通常被忽视。

直接分量表达式:
在这里插入图片描述
其中J是物体的辐射度,d是观察者与物体之间的距离,η是衰减系数。指数项为通过水下介质的传输公式。

后向散射表达式:
在这里插入图片描述
其中B∞是背散射光的颜色向量。

二者相加便是近似的水下成像模型。

算法实现

文章提出的图像增强方法采用两步策略,分别为白平衡和图像融合。白平衡的目的是补偿颜色随深度的选择性吸收而产生的颜色投射,而图像融合则被考虑用于增强场景的边缘和细节,以减轻由于后向散射而造成的对比度损失。

那么首先就来考虑白平衡。

白平衡

在日常拍提中,会遇到各种光源,光源不同,,色温也不同。有时,拍摄的画面会出现偏色,而白平衡就是用来解决这一问题的。传统的白平衡有很多种方法,比如灰色世界,灰色边缘,灰色阴影等,通过原文作者对各种白平衡方法进行比较,发现灰色世界法对于水下图像有良好的效果,但经过观察发现,这种方法存在严重的红色伪影。

灰色世界白平衡法假设对于一幅图像来说, RGB 三个分量的平均值趋于同一个灰度K。灰度K可以自己定义,也可以使用三个通道的平均值,之后使用K比上每一个通道的平均值,算出每一个通道的权重,若一个通道在图像中的成分过多,则权值会小于1,反之相反。最后再将各个通道依照此权重进行相加即可。

灰色世界白平衡法对水下图像的使用,产生的红色伪影很严重。因为按照其算法原理来分析,红色分量在水下图像(以蓝色或绿色为主题颜色)中,比重实在太小,导致权值过大,从而被极大地放大。那么调整红色的权重就很关键。

原文作者提出的红色补偿白平衡法的表达式如下:
在这里插入图片描述
其中,Ir,Ig表示图像I的红色和绿色通道,每个通道在通过其动态范围的上限进行标准化后处于区间[0,1]内。Ir bar和Ig bar表示Ir和Ig的平均值,α表示常数参数。在实际测试中表明,α=1的值适合于各种照明条件和采集设置。

这个式子究竟是什么意思呢,Irx代表红色分量,后面是它的补偿项,α通常为1,所以可以忽略,Ig bar和Ir bar相减形成一个系数,这个系数在红色分量整体越小时越大,整体越大时越小。(1-Irx)表示,若是这个点的红色成分越多则此项越小,若是这个点的红色成分越少则此项越大。最后的Igx表示图像的绿色分量,可以看出这个补偿项是将绿色成分的一步分拿来补偿红色了,另外也加入了图像整体红色分量的比重和各个像素点的红色分量比重,考虑的非常完备。

下面来看看效果,从上到下分别是原始退化图像,灰色世界白平衡图像,红色补偿白平衡图像:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
不过有的时候,因为水下过于浑浊或者微生物太多的原因,水下会呈现绿色而非蓝色,这个时候只需要再将蓝色通道进行相同方式的补偿即可,图片从上到下依次是原始退化图像,红蓝双补偿白平衡图像:
在这里插入图片描述
在这里插入图片描述

整个算法中的白平衡部分结束。

锐化

前面说过,白平衡的目的是补偿颜色随深度的选择性吸收而产生的颜色投射,而图像融合则用于增强场景的边缘和细节,以减轻由于后向散射而造成的对比度损失。所以接下来按照原文作者的思路,首先以上述算法处理之后得到的图像,进行锐化处理。

传统的锐化算法表达式:
在这里插入图片描述
I是要锐化的图像(白平衡图像),G*I表示对I进行高斯滤波,β是参数。在实际应用中,β的选择并不简单。较小的β不能锐化I,但过大的β会导致过饱和,具有较亮的高光和较暗的阴影。为了避免这个问题,新的锐化图像算法表达式如下:
在这里插入图片描述
N运算表示线性归一化运算,也是直方图拉伸运算。这种方法不需要再纠结于β值的选取,这种方法叫normalized unsharp masking,不是太懂怎么翻译。

此处要注意的是,直方图拉伸并不等于直方图均衡化。得到的锐化图像:
在这里插入图片描述
仔细观察铜像胸前的纹路和潜水员的轮廓,可以稍微直观的感觉出效果。

接下来就是图像融合部分了,太不容易了。

权重计算

图像融合肯定是要依靠一定的权重的,原文作者提供了如下几个权重:Laplacian contrast weight(拉普拉斯对比度权重)、Saliency weight(显著性权重)、Saturation weight(饱和权重)

每个权重都要对白平衡后的图像和锐化后的图像做。

Laplacian contrast weight,主要是针对亮度通道进行拉普拉斯滤波而来的。首先把rgb图像转化为hsv图像,提取亮度层,然后进行拉普拉斯滤波便可。(具体方法很简单,不再赘述)

结果如下,从上到下分别是白平衡图像的拉普拉斯对比度权重,锐化图像的拉普拉斯对比度权重:在这里插入图片描述在这里插入图片描述

要进行Saliency weight,首先要将图像从RGB转化到LAB,L是明度,a、b是两种颜色。然后计算三个通道各个的平均值,记为ml、ma、mb,再计算各个通道的均方差,最后进行加和,表达式如下:
在这里插入图片描述
得到的结果如下,从上到下分别是对白平衡图像的显著性权重,对锐化图像的显著性权重:
在这里插入图片描述
在这里插入图片描述
第三个权重是Saturation weight,主要是利用RGB三个通道与亮度的偏差来计算的。聚义表达式如下:
在这里插入图片描述
其中R、G、B分别代表红绿蓝三个通道,l代表亮度通道。得到的结果如下,分别是对白平衡图像进行的饱和度权重、对锐化图像进行的饱和度权重:
在这里插入图片描述
在这里插入图片描述
计算权重部分结束。

图像融合

作者在这里依靠的是高斯金字塔和拉普拉斯金字塔来实现图像融合的。

首先,图像金字塔其实就是由一组不同尺寸的图像组成的,把尺寸小的图像放在最上层,把尺寸大的图像放在最下层,这样看起来就像一座金字塔,这是最直观的解释。但是这一组不同尺寸的图片可不能是随意组成的,他们都是由最底层的原始图像,经过滤波然后隔行隔列采样而来,所以每个上一层的图像的尺寸是下一层图像尺寸的四分之一。而他之所以叫高斯金字塔,是因为他的滤波过程选择的是高斯低通滤波器,这样构成的图像金字塔就是高斯金字塔了,而拉普拉斯金字塔是用来重建高斯金字塔的,就是高斯金字塔的逆过程。

作者将白平衡图像的三个权重和锐化图像的三个权重看成两个整体,再将二者进行归一化处理,用两个归一化权重来构建高斯金字塔,再使用锐化后的白平衡图像和进行过gamma变换的白平衡图像建立拉普拉斯金字塔。这里使用gamma变换是将图像做一个非线性的变换(幂函数映射),是一种简单的图像增强方法,为的是提升图像的视觉效果。

接下来就是将权重金字塔的对应层与图像金字塔的对应层相乘,形成一个新的加入权重的图像金字塔,最后再对这个新的金字塔进行融合就大功告成了。表达式如下:
在这里插入图片描述
其中k代表金字塔的层数,Gwb为对白平衡图像归一化权重的高斯金字塔,Lwb为白平衡图像的拉普拉斯金字塔,Gs为对锐化图像归一化权重的高斯金字塔,Ls为锐化图像的拉普拉斯金字塔。

结果

原始图像与增强后的图像对比:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
需要matlab代码,关注vx公众号:快学图像处理 ,回复 水下图像增强 即可。

  • 12
    点赞
  • 64
    收藏
    觉得还不错? 一键收藏
  • 29
    评论
评论 29
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值