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

简介: 基于视觉显著性图和加权最小二乘优化的红外与可见光图像融合(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代码实现

相关文章
|
7月前
|
算法
MATLAB|【免费】融合正余弦和柯西变异的麻雀优化算法SCSSA-CNN-BiLSTM双向长短期记忆网络预测模型
这段内容介绍了一个使用改进的麻雀搜索算法优化CNN-BiLSTM模型进行多输入单输出预测的程序。程序通过融合正余弦和柯西变异提升算法性能,主要优化学习率、正则化参数及BiLSTM的隐层神经元数量。它利用一段简单的风速数据进行演示,对比了改进算法与粒子群、灰狼算法的优化效果。代码包括数据导入、预处理和模型构建部分,并展示了优化前后的效果。建议使用高版本MATLAB运行。
|
7月前
|
编解码 算法
基于双树复小波变换和稀疏表示的多光谱和彩色图像融合算法matlab仿真
基于双树复小波变换和稀疏表示的多光谱和彩色图像融合算法matlab仿真
|
7月前
|
算法
基于稀疏表示的小波变换多光谱图像融合算法matlab仿真
基于稀疏表示的小波变换多光谱图像融合算法matlab仿真
|
传感器 算法 自动驾驶
基于uwb和IMU融合的三维空间定位算法matlab仿真
基于uwb和IMU融合的三维空间定位算法matlab仿真
|
机器学习/深度学习 传感器 算法
【红外图像】利用红外图像处理技术对不同制冷剂充装的制冷系统进行性能评估(Matlab代码实现)
【红外图像】利用红外图像处理技术对不同制冷剂充装的制冷系统进行性能评估(Matlab代码实现)
|
机器学习/深度学习 传感器 算法
【视频去噪】基于全变异正则化最小二乘反卷积是最标准的图像处理、视频去噪研究(Matlab代码实现)
【视频去噪】基于全变异正则化最小二乘反卷积是最标准的图像处理、视频去噪研究(Matlab代码实现)
|
4月前
|
安全
【2023高教社杯】D题 圈养湖羊的空间利用率 问题分析、数学模型及MATLAB代码
本文介绍了2023年高教社杯数学建模竞赛D题的圈养湖羊空间利用率问题,包括问题分析、数学模型建立和MATLAB代码实现,旨在优化养殖场的生产计划和空间利用效率。
226 6
【2023高教社杯】D题 圈养湖羊的空间利用率 问题分析、数学模型及MATLAB代码
|
4月前
|
存储 算法 搜索推荐
【2022年华为杯数学建模】B题 方形件组批优化问题 方案及MATLAB代码实现
本文提供了2022年华为杯数学建模竞赛B题的详细方案和MATLAB代码实现,包括方形件组批优化问题和排样优化问题,以及相关数学模型的建立和求解方法。
142 3
【2022年华为杯数学建模】B题 方形件组批优化问题 方案及MATLAB代码实现
|
4月前
|
数据采集 存储 移动开发
【2023五一杯数学建模】 B题 快递需求分析问题 建模方案及MATLAB实现代码
本文介绍了2023年五一杯数学建模竞赛B题的解题方法,详细阐述了如何通过数学建模和MATLAB编程来分析快递需求、预测运输数量、优化运输成本,并估计固定和非固定需求,提供了完整的建模方案和代码实现。
111 0
【2023五一杯数学建模】 B题 快递需求分析问题 建模方案及MATLAB实现代码
|
7月前
|
数据安全/隐私保护
耐震时程曲线,matlab代码,自定义反应谱与地震波,优化源代码,地震波耐震时程曲线
地震波格式转换、时程转换、峰值调整、规范反应谱、计算反应谱、计算持时、生成人工波、时频域转换、数据滤波、基线校正、Arias截波、傅里叶变换、耐震时程曲线、脉冲波合成与提取、三联反应谱、地震动参数、延性反应谱、地震波缩尺、功率谱密度

热门文章

最新文章