水下图像融合增强(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥

🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。

⛳️座右铭:行百里者,半于九十。

📋📋📋本文目录如下:🎁🎁🎁

目录

💥1 概述

一、定义与基本原理

二、关键技术及方法

三、最新研究进展

四、实际应用案例

五、主要挑战

六、权威研究机构与学者

七、未来研究方向

结论

📚2 运行结果

🎉3 参考文献

🌈4 Matlab代码实现


💥1 概述

针对水下光的吸收和散射作用,水下图像往往存在颜色失真、对比度低、细节模糊等现象,提出了一种新的水下图像增强算法。首先,以颜色校正的方式改进了一种基于暗通道先验(DCP)的水上图像增强方法,使其可以更好地用于水下图像,并将增强后的图像作为图像融合的一个输入。然后,利用非锐化掩蔽(USM)增强图像的纹理特征,并将再次增强的图像作为图像融合的另一个输入。最后,采用小波融合的方式对以上两个输入图像进行融合,进一步提升图像质量。与其他方法的比较结果表明,利用所提方法增强的图像具有更自然的外观、更高的清晰度、更多的细节和边缘信息,所提方法对水下图像有良好的增强效果。基于颜色校正方法对水下图像进行颜色均衡化预处理;对亮度分量L进行Gamma校正,获得对比度提升的亮度图像;对两个亮度分量进行三层小波分解,提出对分解所得的低频分量及高频分量分别采用线性融合和自适应融合策略进行融合。多尺度融合保证了增强图像细节的丰富性,自适应融合策略体现了融合过程的可控性。实验结果表明,增强的水下图像呈现出高对比度和清晰的细节。

一、定义与基本原理

水下图像融合增强是一种通过多算法协同处理单幅退化图像,生成多个增强版本后加权融合以提升图像质量的技术。其核心在于结合不同算法的优势,综合解决水下环境特有的颜色失真、对比度低、细节模糊等问题。例如,Yuan等人(2022)通过暗通道先验去雾和CIELAB颜色空间形态学操作生成两个输入图像,分别优化清晰度和颜色分布,最终通过权重融合实现视觉感知和饱和度的显著提升。

二、关键技术及方法
  1. 颜色校正与白平衡

    • 采用改进的灰度世界算法或自适应通道补偿技术,抑制蓝绿偏色。例如,Ancuti等人通过白平衡预处理消除颜色偏移,Zhao等人(2023a)利用自适应通道补偿校正色彩失真。
  2. 对比度增强与细节锐化

    • 局部自适应直方图均衡化(CLAHE)和伽马校正常用于提升对比度。萤火虫算法优化CLAHE参数(如瓷砖大小和裁剪限制)进一步改善效果。改进的拉普拉斯锐化则用于增强边缘细节。
  3. 多尺度融合策略

    • 输入生成:通常生成两幅互补图像,一幅用于颜色校正,另一幅用于对比度增强。
    • 权重图设计:基于对比度、显著性、饱和度和曝光度定义权重图,例如拉普拉斯对比度权重图突出高频细节,显著性权重图聚焦关键区域。
    • 金字塔分解与融合:采用拉普拉斯金字塔和高斯金字塔进行多尺度融合,结合权重图逐层合成最终图像。
  4. 小波融合技术

    • 结合小波变换与像素级信息融合,例如对白平衡处理后的图像进行小波分解,融合高频(细节)和低频(结构)分量,提升整体质量。
  5. 深度学习融合方法

    • WaterNet通过门控融合网络结合输入与置信图优化增强效果;双注意力变换器(如U-Transformer)利用自注意力机制动态调整特征权重,增强退化不均区域的恢复。
三、最新研究进展
  1. 传统方法的优化

    • 多阶段融合:Yin等人(2023)提出分阶段融合策略,先通过白平衡抑制色偏,再结合自适应直方图均衡化提升全局对比度。
    • 参数自适应:基于萤火虫算法优化CLAHE参数,避免人工调参的局限性。
  2. 深度学习融合创新

    • 注意力机制:Vision Transformer(ViT)通过多头自注意力聚焦关键区域,提升复杂水下场景的细节恢复。
    • 生成对抗网络(GAN) :使用CycleGAN生成合成水下图像作为训练数据,缓解真实配对数据不足的问题。
    • 轻量化设计:如Cross-Scale Deep Distillation网络,通过跨尺度特征蒸馏减少计算量,实现实时处理。
四、实际应用案例
  1. 核电站水下检测

    • 梁秀满等人的多尺度融合算法有效解决色偏和雾化问题,提升核反应堆内部结构的可视性。
  2. 水下视觉测量

    • 张文博团队基于自适应增强的多帧图像拼接方法,在深水环境中成功匹配特征点,扩展了水下机器人作业的视场范围。
  3. 海洋生物监测

    • Fusion模型在深海视频质量评估中表现优异,通过白平衡和对比度增强提升生物识别准确率。
五、主要挑战
  1. 冗余特征与噪声干扰
    融合过程中可能引入冗余特征,导致色偏或噪声放大。例如,传统融合方法在极深水域难以平衡细节保留与噪声抑制。

  2. 泛化能力不足
    现有算法对复杂水下环境(如浑浊度、光照变化)的适应性有限。例如,基于物理模型的方法依赖特定水型参数,难以迁移。

  3. 实时性要求
    尽管多尺度融合算法在普通硬件上可接近实时处理(如30fps视频),但深度学习模型的计算复杂度仍制约其在移动设备上的应用。

  4. 数据获取难题
    真实水下配对数据稀缺,依赖合成数据可能导致模型泛化性能下降。

六、权威研究机构与学者
  1. Ancuti团队(比利时鲁汶大学)

    • 提出经典多尺度融合框架,通过颜色校正和对比度增强双输入结合权重图,成为后续研究的基础。
  2. 周玲团队(中国研究机构)

    • 系统综述水下图像融合增强技术,总结分解-融合策略及深度学习应用。
  3. Chen Yan团队

    • 开发多路融合深度聚合网络(MFDAN),通过通道注意力模块减少冗余特征,提升融合效率。
七、未来研究方向
  1. 多模态融合
    结合声呐、激光雷达等多源数据,弥补光学图像的局限性。

  2. 自适应算法设计
    开发浊度、深度自适应的融合策略,例如基于图像直方图的动态参数调整。

  3. 跨域迁移学习
    利用陆上图像增强技术(如去雾、低光增强)迁移至水下场景,结合领域适应方法提升模型鲁棒性。

结论

水下图像融合增强技术通过多算法协同与多层次特征融合,在颜色校正、对比度提升和细节恢复方面展现出显著优势。然而,复杂水下环境中的泛化能力、实时性及噪声控制仍是关键挑战。未来研究需进一步结合深度学习与传统方法,探索轻量化、自适应和跨域融合的新范式,以满足海洋探测、生态监测等领域的多样化需求。

📚2 运行结果

部分代码:

clc;
clear all;
close all;


im = imread('./image/8.jpg');
figure,imshow(im),xlabel('origin image');

% red channel recover
im1 = redCompensate(im,5);
figure, subplot(2,2,1)
imshow(im1);
xlabel('red channel compensate');

% blue channel recover
% In murky waters or high water levels or the presence of plankton in abundance that causes the blue channel to attenuate strongly,Supplement the blue channel
% im1 = blueCompensate(im1);
% subplot(2,3,3)
% imshow(im1);
% xlabel('blue channel compensate')

% white balance enhancement
im2 = simple_color_balance(im1);
subplot(2,2,2)
imshow(im2);
xlabel('white balance');

% gamma correction
input1 = gammaCorrection(im2,1,1.2);
subplot(2,2,3)
imshow(input1);
xlabel('gamma correction');

% sharpen
input2 = sharp(im2);
subplot(2,2,4)
imshow(input2);
xlabel('sharp');

%.................................................%
% calculate weight
%.................................................%
lab1 = rgb_to_lab(input1);
lab2 = rgb_to_lab(input2);
R1 = double(lab1(:, :, 1)/255);
R2 = double(lab2(:, :, 1)/255);

% 1. Laplacian contrast weight (Laplacian filiter on input luminance channel)
WL1 = abs(imfilter(R1, fspecial('Laplacian'), 'replicate', 'conv')); 
WL2 = abs(imfilter(R2, fspecial('Laplacian'), 'replicate', 'conv')); 

% 2. Saliency weight
WS1 = saliency_detection(input1);
WS2 = saliency_detection(input2);

% 3. Saturation weight
WSat1 = Saturation_weight(input1);
WSat2 = Saturation_weight(input2);

% normalized weight
[W1, W2] = norm_weight(WL1, WS1, WSat1, WL2 , WS2, WSat2);

%.................................................%
% image fusion
% R(x,y) = sum G{W} * L{I}
%.................................................%
level = 3;

% weight gaussian pyramid
Weight1 = gaussian_pyramid(W1, level);
Weight2 = gaussian_pyramid(W2, level);

% image laplacian pyramid
% input1
r1 = laplacian_pyramid(double(double(input1(:, :, 1))), level);
g1 = laplacian_pyramid(double(double(input1(:, :, 2))), level);
b1 = laplacian_pyramid(double(double(input1(:, :, 3))), level);
% input2
r2 = laplacian_pyramid(double(double(input2(:, :, 1))), level);
g2 = laplacian_pyramid(double(double(input2(:, :, 2))), level);
b2 = laplacian_pyramid(double(double(input2(:, :, 3))), level);

% fusion
for i = 1 : level
    R_r{i} = Weight1{i} .* r1{i} + Weight2{i} .* r2{i};
    G_g{i} = Weight1{i} .* g1{i} + Weight2{i} .* g2{i};
    B_b{i} = Weight1{i} .* b1{i} + Weight2{i} .* b2{i};
end

% pyramin reconstruct
R = pyramid_reconstruct(R_r);
G = pyramid_reconstruct(G_g);
B = pyramid_reconstruct(B_b);

fusion = cat(3, R,G,B);
uiqm = UIQM(fusion)
uciqe = UCIQE(fusion)

figure,imshow(fusion),title("fusion image");

🎉3 参考文献

部分理论来源于网络,如有侵权请联系删除。

[1]刘志强,朱大奇.一种新型小波图像融合的水下目标增强算法[J].控制工程,2022,29(12):2235-2243.DOI:10.14107/j.cnki.kzgc.20210128.

[2]李秋实. 基于像素级图像融合增强的全局式水下多视图重建[D].吉林大学,2022.DOI:10.27162/d.cnki.gjlin.2022.001192.

🌈4 Matlab代码实现

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

荔枝科研社

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值