有关水下图像增强的论文
4.21 TEBCF:Real-World Underwater Image Texture Enhancement Model Based on Blurriness and Color Fusion
基于模糊和颜色融合的现实水下图像纹理增强模型
2022年的一篇文章,基于传统方法,基于不同的色彩方法构建了两个新的融合输入。一个输入致力于通过基于对比度的暗通道先验去雾方法在RGB模型中提高图像的清晰度。另一个输入是基于多重形态学操作和CIELAB模型中对立颜色的色彩补偿设计的。该输入用于增强对比度亮度并调整颜色分布。将这两个输入的主要特征进行融合。因此,融合输出的对比度会自适应增强,以得到最终的增强结果。
第一个输入在DCP模型中,引入了CCI的方法,因为DCP模型中,是单一的patch,在局部操作中容易带来局限性。小尺寸的图像块可能导致局部场景中的辐射过度增强,而大尺寸的图像块容易出现强度不连续的块状伪影,因此自适应图像块尺寸更适合不同大小的图像。所以引入了CCI(Contrast Code Image),是一种基于标准差分配图像块大小的策略。
第二个输入就是通过恢复由吸收导致的丢失的辐射强度来关注局部目标纹理。将原始图像从 RGB 颜色模型转换为 CIELAB 颜色模型。从亮度通道和色度通道两方面增强。
整篇文章没有细读,只是略读。
4.23 Underwater Image Enhancement via Weighted Wavelet Visual Perception Fusion
摘要:1.提出了由衰减图引导的颜色校正策略——校正水下图像的颜色失真
2.应用最大信息熵优化的全局对比度策略应用在颜色校正后的图片——全局对比度增强
3.应用快速积分优化的局部对比度策略应用在颜色校正后的图片——局部对比度增强
4.加权小波视觉感知融合策略——融合不同尺度图像的高低频
一:衰减图引导的颜色校正
受到灰色世界假设的启发,图像的每个通道在衰减前具有相似的灰度均值和直方图分布。那什么是灰色世界假设呢?
1.灰色世界假设
该假设认为:对于一幅有着大量色彩变化的图像,其红(R)、绿(G)、蓝(B)三个色彩分量的平均值趋于同一灰度值1。从物理意义上讲,它假设自然界景物对于光线的平均反射的均值在总体上是个定值,这个定值近似地为 “灰色”。
基于灰度世界假设的白平衡算法,就是将这一假设强制应用于待处理图像,通过分别计算图像中红、绿、蓝通道的平均值,然后根据每个通道与平均灰度值的差异来计算增益,再将增益应用于图像的每个通道,从而从图像中消除环境光的影响,获得原始场景图像,使白色还原成纯白色,保证在各种光线条件下,成像色彩跟物体真实的色彩保持一致。
假设输入图像 image
的形状为 (100, 100, 3)
,也就是高度为 100 像素,宽度为 100 像素,有 3 个颜色通道。而 gain_b = 1.2
、gain_g = 1.0
、gain_r = 0.8
,那么 cv2.multiply
函数会将图像中蓝色通道的每个像素值乘以 1.2,绿色通道的每个像素值乘以 1.0,红色通道的每个像素值乘以 0.8,最终得到校正后的图像。
import cv2
import numpy as npdef gray_world(image):"""基于灰度世界假设实现自动白平衡:param image: 输入的图像:return: 处理后的图像"""# 计算每个通道的平均值avg_b, avg_g, avg_r = np.mean(image, axis=(0, 1))# 计算平均灰度值gray_value = (avg_b + avg_g + avg_r) / 3# 计算每个通道的增益gain_b = gray_value / avg_bgain_g = gray_value / avg_ggain_r = gray_value / avg_r# 应用增益balanced_image = cv2.multiply(image, np.array([gain_b, gain_g, gain_r], dtype=np.float32))# 确保像素值在0-255范围内balanced_image = np.clip(balanced_image, 0, 255).astype(np.uint8)return balanced_image# 读取图像
image = cv2.imread('example.jpg')# 应用灰度世界假设进行白平衡处理
balanced_image = gray_world(image)# 显示原始图像和处理后的图像
cv2.imshow('Original Image', image)
cv2.imshow('Balanced Image', balanced_image)# 等待按键退出
cv2.waitKey(0)
cv2.destroyAllWindows()
左边是原图,中间是灰度世界假设,最后是本文提出的方法,代码是自己根据论文的意思编写的
zhttps://blog.csdn.net/leonardohaig/article/details/109697886
水对不同波长光吸收率不同,红光波长较长,在水中最先被吸收 ,蓝光、绿光相对衰减慢。水下图像原本就因红光缺失偏蓝绿。灰度世界假设试图平衡色彩,但场景色彩信息本就失衡,算法会错误增强本就缺失的红色通道,导致发红 。比如浅海图像中,算法会过度补偿红光,使图像偏红。
在蓝光通道下,会过度补偿红光。
回到原文
但灰度世界出现颜色过度校正的问题,作者将最大像素强度的通道重新定义为亮度通道,也称为参考通道,来有效补偿由水介质对光的吸收而导致的红色、绿色、蓝色通道的衰减。
计算每个像素通道的平均像素强度:
将亮度通道的均值补偿红色、绿色、蓝色通道:
上述补偿策略使水下图像满足每个通道的平均灰度值大致相等的灰度世界假设,但不满足具有相似直方图分布的要求。
为了进一步扩展每个通道的动态范围,使其满足每个通道具有相似直方图分布的灰度世界假设,采用了线性拉伸方法来校正经过颜色补偿的水下图像。
可以看出拉伸之后,波动更加频繁,出现较多尖峰。相比前者,各通道在灰度级上的分布范围似乎有所扩展,不同通道曲线在部分灰度级区间有更多重叠。
但灰度世界假设仅考虑了各个颜色通道的平均灰度值和直方图分布,没有充分考虑水下图像与波长相关的光吸收效应。因此。作者充分利用不同光线的衰减特性,并利用衰减图来引导水下图像和颜色转移图像的融合,来获得颜色校正后的水下图像。为了确保每个颜色通道的光衰减能够得到良好的补偿,使用最大衰减图作为引导融合图像,其定义如下:
之后,使用衰减图逐像素地融合水下图像和颜色转移图像,获得颜色校正后的水下图像:
二:优化全局对比度
使用最大信息熵优化全局对比度策略提高颜色校正后图像的全局对比度。图像熵可以衡量图像直方图的均匀分布。
图像熵:
图像熵源于信息论,由克劳德・香农提出,用于衡量图像中信息的复杂程度和不确定性 。它表示为图像灰度级集合的比特平均数,单位是比特 / 像素,描述了图像信源的平均信息量。
从直观角度理解,熵越大,说明图像中像素值的分布越分散、越随机,图像包含的信息越丰富,画面越 “繁忙”;熵越小,像素值分布越集中、规律,图像信息越单一 。比如细节丰富的自然风景照熵值较高,纯色背景图熵值较低。
图像熵可以衡量直方图分布,是因为图像直方图展示了图像中各个灰度级出现的频率,而图像熵的计算依赖于灰度级的概率分布(即直方图所反映的信息 )。通过计算熵,可以从统计角度量化直方图所呈现的灰度分布情况,评估图像灰度分布的聚集或分散特性。
- H(X) 是图像的熵。
- n 是图像中不同灰度级的数量(如 8 位灰度图像 n=256 )。
- p(xi) 是图像中第 i 个灰度值出现的概率,计算方式是该灰度值出现的次数除以图像总像素数。
回到原文:
数学中,信息熵的定义:
直方图均衡化会导致图像的直方图数据整合,这可能会降低图像的熵,导致图像细节丢失,因此,根据信息熵的量来衡量直方图中灰度级的合并情况,从而确保图像的全局对比度得到增强。利用最大信息熵作为优化双直方图全局对比度的指标。
在优化全局对比度时,首先定义直方图数据分离阈值Iht和动态范围分离阈值Idt。
双直方图全局对比度
通常基于将图像的灰度值分布信息进行拆分或对比来考量。比如把图像的前景和背景分别统计灰度分布,得到两个直方图。通过分析这两个直方图之间的差异、重叠程度等,来确定图像的全局对比度情况。具体而言,可从灰度级的范围、各灰度级出现的频率等维度对比两个直方图 。若两个直方图差异大,意味着图像中不同部分(如前景与背景 )灰度差异明显,全局对比度高;反之,若两个直方图相似、重叠度高,图像全局对比度低。
直方图数据分离阈值
- 含义:直方图数据分离阈值是用于对图像直方图进行分割的一个灰度值界限。图像的直方图展示了图像中各个灰度级别的像素数量分布情况。通过设定Iht,可以将直方图划分为两个或多个部分,每个部分对应不同的像素集合。
- 作用:在对比度优化中,它有助于区分图像中的不同区域,例如前景和背景。比如,当图像中存在明显的亮部和暗部区域时,通过Iht可以将直方图分离,进而对不同区域采用不同的对比度增强策略。对于低于Iht 的灰度区域和高于Iht的灰度区域,可以分别进行直方图均衡化或者其他对比度调整操作,以达到更好的对比度增强效果。
动态范围分离阈值
- 含义:动态范围指的是图像中最小灰度值到最大灰度值的跨度。动态范围分离阈值Idt 是一个用于将图像动态范围进行分割的界限。它可以将图像的灰度动态范围划分为不同的子范围。
- 作用:在优化对比度时,图像的动态范围可能会影响对比度增强的效果。如果图像的动态范围过大,可能会导致增强后的图像出现过亮或过暗的区域;如果动态范围过小,图像可能会显得模糊、缺乏对比度。通过Idt分离动态范围,可以针对不同的子范围采用不同的对比度调整方式,例如对低动态范围的子区域进行更强烈的拉伸,对高动态范围的子区域进行适当的压缩,从而使整个图像的对比度更加均衡。
回到原文
目前,大多数双直方图方法是将这个这两个阈值设置为相等,但这限制了双直方图方法的应用。因此提出了一种最大熵优化全局对比度增强策略,该策略在寻找最佳动态分离阈值方面存在困难。具体来说,动态阈值Idt在整个灰度范围内进行遍历。在每次遍历中,该方法对阈值左右两侧的直方图进行拉伸操作。接下来,该方法计算并求和左右直方图的信息熵,直到求解左右信息熵之和的最大值,对应的分离阈值点即为最有动态分离阈值Ibest。当两个直方图均衡化后的图像信息熵最大时,从颜色校正后的水下图像中获得全局对比度增强的水下图像.
三:优化局部对比度
在本节中,作者使用快速积分优化局部对比度增强策略提高颜色校正后图像。考虑到在CIELAB颜色模型中亮度和颜色通道是独立的,因此将颜色校正后的水下图像从RGB颜色模型转换为CIELAB颜色模型。同时,在不同通道采用不同的校正策略。
近年来,充分利用局部特征信息在局部对比度增强方面逐渐显示出有效性。受局部对比度的启发,采用积分图像快速统计图像局部块的均值。同时,我们充分利用这些局部均值来增强颜色校正后的图像的局部对比度。对于亮度通道L,首先统计其局部积分图像。
然后计算局部块的灰度均值,利用图像块的局部均值增强亮度通道的对比度。图像中的低频分量表示图像中较平坦的区域,而图像中的高频分量表示图像中的边缘和纹理。在局部对比度增强中,将局部图像块的均值近似为低频分量,并从原始局部图像块中减去低频分量来获得高频分量。在实际应用中,适当增强高频分量以获得高质量的图像。因此,本节引入增强控制因子,自适应调整高频分量的增强程度。增强过程定义为:
四:加权小波融合
作者采用加权小波视觉感知融合策略来整合不同尺度的高频和低频分量,以获得高质量的水下图像。小波变换具有多分辨率、多尺度和多时间的特点。
小波变化
图像小波变换是一种多分辨率分析方法,它将图像分解为不同尺度和方向上的子图像。与传统的傅里叶变换不同,小波变换在时域和频域都具有良好的局部化特性,能够同时提供图像的空间信息和频率信息。
二维离散小波变换过程
对于二维图像,通常使用二维离散小波变换(2D DWT)。其基本步骤如下:
-
水平滤波:对图像的每一行进行一维小波变换,通过低通滤波器(h)和高通滤波器(g)得到近似系数(低频部分)和细节系数(高频部分)。低通滤波器提取图像的低频信息,代表图像的大致轮廓;高通滤波器提取图像的高频信息,代表图像的边缘和细节。
-
垂直滤波:对水平滤波后的结果的每一列进行一维小波变换,同样使用低通滤波器和高通滤波器。这样,经过一次二维小波变换后,图像被分解为四个子带:
- LL 子带:低频 - 低频子带,包含图像的主要能量和整体轮廓信息。
- LH 子带:低频 - 高频子带,包含水平方向的边缘和细节信息。
- HL 子带:高频 - 低频子带,包含垂直方向的边缘和细节信息。
- HH 子带:高频 - 高频子带,包含对角方向的边缘和细节信息。
-
多级分解:可以对 LL 子带继续进行小波变换,得到更精细的多分辨率表示。每一级分解都会将图像的低频部分进一步细分。
逆小波变换
逆小波变换(Inverse Discrete Wavelet Transform,IDWT)是小波变换的逆过程,用于从分解后的子带系数重构原始图像。通过将各级子带系数进行逆滤波和上采样操作,逐步恢复出原始图像。
回到原文
首先通过一阶小波变换获得每个增强版本的近似低频分量以及垂直、水平和对角高频分量,利用小波分解策略通过下采样操作将每个分量分解为四层金字塔。小波分解用于从各种增强图像版本中提取低频和高频分量。低频分量携带图像的主要信息和结构,而高频分量包含更精细的细节。因此,小波逆变换用于对分解后的低频和高频分量进行上采样,以重建增强的水下图像。但没有充分考虑增强高频分量。因此,作者为每个高频分量引入一个加权因子,来改善图像的纹理细节。平均梯度是评估图像细节水平的一个指标,值越高表明图像包含的细节越多。作者使用平均梯度设计加权因子。增强后的图像具有令人满意的视觉效果。