基于视觉显著性图和加权最小二乘优化的红外与可见光图像融合(Matlab代码实现)

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

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

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

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

💥1 概述

📚2 运行结果

🎉3 参考文献

🌈4 Matlab代码实现

💥1 概述

随着红外成像技术快速发展,红外目标识别系统在导弹精确制导、夜间导航等方面发挥着越来越重要的作用。红外小目标识别算法是红外成像检测系统的核心之一。红外小目标信噪比低,往往淹没于自然背景和系统噪声之中,如何快速、精确地识别红外小目标非常重要。红外与可见光图像融合的目标是获得具有完整场景表达能力的高质量融合图像。由于深度特征具有良好的泛化性、鲁棒性和发展潜力,很多基于深度学习的融合方法被提出,在深度特征空间进行图像融合,并取得了良好的效果。此外,受传统基于多尺度分解的融合方法的启发,不同尺度的特征有利于保留源图像的更多信息。红外与可见光图像融合技术充分利用不同传感器的优势,在融合图像中保留了原图像的互补信息以及冗余信息,提高了图像质量。近些年,随着深度学习方法的发展,许多研究者开始将该方法引入图像融合领域,并取得了丰硕的成果。根据不同的融合框架对基于深度学习的红外与可见光图像融合方法进行归类、分析、总结,并综述常用的评价指标以及数据集。另外,选择了一些不同类别且具有代表性的算法模型对不同场景图像进行融合,利用评价指标对比分析各算法的优缺点。最后,对基于深度学习的红外与可见光图像融合技术研究方向进行展望,总结红外与可见光融合技术,为未来研究工作奠定基础。本文章将用Matlab实现基于视觉显著性图和加权最小二乘优化的红外与可见光图像融合。

📚2 运行结果

部分代码:

% This code is in association with the following paper
% "Ma J, Zhou Z, Wang B, et al. Infrared and visible image fusion based on visual saliency map and weighted least square optimization[J].
% Infrared Physics & Technology, 2017, 82:8-17."
% Authors: Jinlei Ma, Zhiqiang Zhou, Bo Wang, Hua Zong

clear all
close all

% I1 is a visible image, and I2 is an infrared image.
I1 = double(imread('images\Road_IR.jpg'))/255; I2 = double(imread('images\Road_Vis.jpg'))/255;

figure;imshow(I1);
figure;imshow(I2);

fused = WLS_Fusion(I1,I2);

figure;imshow(fused);

function fused = WLS_Fusion(I1,I2)

%% multi-scale decomposition using RGF and Gaussian filter
nLevel = 4; % levels
G1 = cell(1, nLevel + 1);
L1 = cell(1, nLevel + 1);
G1{1} = I1;
sigma_s = 2;
sigma_r = [0.05 0.05 0.05 0.05];
iteration = [4 4 4 4];
for i = 2 : nLevel
    G1{i} = RollingGuidanceFilter_Guided(G1{i-1},sigma_s,sigma_r(i-1),iteration(i-1));
    L1{i-1} = G1{i-1} - G1{i};
    sigma_s = 2 * sigma_s;
end
sigma_s = 2;
G1{nLevel + 1} = gaussFilter(G1{nLevel},sigma_s);
L1{nLevel} = G1{nLevel} - G1{nLevel + 1};
L1{nLevel+1} = G1{nLevel+1};


G2 = cell(1, nLevel + 1);
L2 = cell(1, nLevel + 1);
G2{1} = I2;
sigma_s = 2;
sigma_r = [0.05 0.05 0.05 0.05];
for i = 2 : nLevel
    G2{i} = RollingGuidanceFilter_Guided(G2{i-1},sigma_s,sigma_r(i-1),iteration(i-1));
    L2{i-1} = G2{i-1} - G2{i};
    sigma_s = 2 * sigma_s;
end
sigma_s = 2;
G2{nLevel + 1} = gaussFilter(G2{nLevel},sigma_s);
L2{nLevel} = G2{nLevel} - G2{nLevel + 1};
L2{nLevel+1} = G2{nLevel+1};

%% base layer fusion
weight1 = Visual_Weight_Map(I1);
weight2 = Visual_Weight_Map(I2);
BF = (0.5+0.5*(weight1-weight2)).*L1{nLevel+1} + (0.5+0.5*(weight2-weight1)).*L2{nLevel+1};

%% detail layer fusion
sigma0 = 2;
w = floor(3*sigma0);
C_0 = double(abs(L1{1}) < abs(L2{1}));
DF = C_0.*L2{1} + (1-C_0).*L1{1};

for i =  nLevel : -1 : 2
    
    w = floor(3*sigma0);
    h = fspecial('gaussian', [2*w+1, 2*w+1], sigma0);   
    C_0 = double(abs(L1{i}) < abs(L2{i}));
    C_0 = imfilter(C_0, h, 'symmetric');
    M = C_0.*L2{i} + (1-C_0).*L1{i};
    
    lambda = 0.01;  
    dd = Solve_Optimal(M,L1{i},L2{i},lambda);

    DF = DF + dd;
end
%% fused image
fused = BF + DF;
end

🎉3 参考文献

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

[1]王警予. 基于视觉显著性的红外弱小目标检测[D].电子科技大学,2020.DOI:10.27005/d.cnki.gdzku.2020.002558.

[2]王贤涛. 基于多尺度分解红外和可见光图像融合算法研究[D].中国科学院大学(中国科学院长春光学精密机械与物理研究所),2023.DOI:10.27522/d.cnki.gkcgs.2023.000001.

[3]邱德粉,胡星宇,梁鹏伟,刘贤明,江俊君.红外与可见光图像渐进融合深度网络[J].中国图象图形学报,2023,28(01):156-165.

🌈4 Matlab代码实现

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值