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

相关文章
|
9天前
|
算法
基于GA遗传优化的混合发电系统优化配置算法matlab仿真
**摘要:** 该研究利用遗传算法(GA)对混合发电系统进行优化配置,旨在最小化风能、太阳能及电池储能的成本并提升系统性能。MATLAB 2022a用于实现这一算法。仿真结果展示了一系列图表,包括总成本随代数变化、最佳适应度随代数变化,以及不同数据的分布情况,如负荷、风速、太阳辐射、弃电、缺电和电池状态等。此外,代码示例展示了如何运用GA求解,并绘制了发电单元的功率输出和年变化。该系统原理基于GA的自然选择和遗传原理,通过染色体编码、初始种群生成、适应度函数、选择、交叉和变异操作来寻找最优容量配置,以平衡成本、效率和可靠性。
|
9天前
|
存储 算法
基于布谷鸟搜索的多目标优化matlab仿真
该程序运用布谷鸟搜索算法进行多目标优化,设置三个目标函数,生成三维优化曲面和收敛曲线。在MATLAB2022a中运行,显示了迭代过程中的优化结果图。算法基于布谷鸟的寄生繁殖和列维飞行行为,通过非支配排序和拥挤度计算处理多目标问题。迭代中,新解不断被评估、更新并加入帕累托前沿,最终输出帕累托前沿作为最优解集。
|
10天前
|
机器学习/深度学习 算法
基于鲸鱼优化的knn分类特征选择算法matlab仿真
**基于WOA的KNN特征选择算法摘要** 该研究提出了一种融合鲸鱼优化算法(WOA)与K近邻(KNN)分类器的特征选择方法,旨在提升KNN的分类精度。在MATLAB2022a中实现,WOA负责优化特征子集,通过模拟鲸鱼捕食行为的螺旋式和包围策略搜索最佳特征。KNN则用于评估特征子集的性能。算法流程包括WOA参数初始化、特征二进制编码、适应度函数定义(以分类准确率为基准)、WOA迭代搜索及最优解输出。该方法有效地结合了启发式搜索与机器学习,优化特征选择,提高分类性能。
|
5天前
|
机器学习/深度学习 存储 算法
基于SFLA算法的神经网络优化matlab仿真
**摘要:** 使用MATLAB2022a,基于SFLA算法优化神经网络,降低训练误差。程序创建12个神经元的前馈网络,训练后计算性能。SFLA算法寻找最优权重和偏置,更新网络并展示训练与测试集的预测效果,以及误差对比。SFLA融合蛙跳与遗传算法,通过迭代和局部全局搜索改善网络性能。通过调整算法参数和与其他优化算法结合,可进一步提升模型预测精度。
|
13天前
|
机器学习/深度学习 算法 数据可视化
m基于PSO-LSTM粒子群优化长短记忆网络的电力负荷数据预测算法matlab仿真
在MATLAB 2022a中,应用PSO优化的LSTM模型提升了电力负荷预测效果。优化前预测波动大,优化后预测更稳定。PSO借鉴群体智能,寻找LSTM超参数(如学习率、隐藏层大小)的最优组合,以最小化误差。LSTM通过门控机制处理序列数据。代码显示了模型训练、预测及误差可视化过程。经过优化,模型性能得到改善。
29 6
|
11天前
|
传感器 算法
ANC主动降噪理论及Matlab代码实现
ANC主动降噪理论及Matlab代码实现
|
13天前
|
算法 调度
基于变异混合蛙跳算法的车间调度最优化matlab仿真,可以任意调整工件数和机器数,输出甘特图
**摘要:** 实现变异混合蛙跳算法的MATLAB2022a版车间调度优化程序,支持动态调整工件和机器数,输出甘特图。核心算法结合SFLA与变异策略,解决Job-Shop Scheduling Problem,最小化总完成时间。SFLA模拟蛙群行为,分组进行局部搜索和全局信息交换。变异策略增强全局探索,避免局部最优。程序初始化随机解,按规则更新,经多次迭代和信息交换后终止。
|
3天前
|
算法
基于PSO粒子群优化的PID控制器参数整定算法matlab仿真
该文探讨了使用PSO(粒子群优化)算法优化PID控制器参数的方法。通过PSO迭代,不断调整PID控制器的Kp、Ki、Kd增益,以减小控制误差。文中提供了MATLAB2022a版本的核心代码,展示了参数优化过程及结果。系统仿真图像显示了参数随迭代优化的变化。PID控制器结合PSO算法能有效提升控制性能,适用于复杂系统的参数整定,未来研究可关注算法效率提升和应对不确定性。
|
3天前
|
算法
m基于GA遗传优化的高斯白噪声信道SNR估计算法matlab仿真
**MATLAB2022a模拟展示了遗传算法在AWGN信道中估计SNR的效能。该算法利用生物进化原理全局寻优,解决通信系统中复杂环境下的SNR估计问题。核心代码执行多代选择、重组和突变操作,逐步优化SNR估计。结果以图形形式对比了真实SNR与估计值,并显示了均方根误差(RMSE),体现了算法的准确性。**
10 0
|
3天前
|
算法 调度
基于PPNSA+扰动算子的车间调度最优化matlab仿真,可以任意调整工件数和机器数,输出甘特图
`MATLAB2022a`仿真实现PPNSA+扰动算子的车间调度优化,支持工件和机器数量调整,输出甘特图与收敛曲线。算法针对JSSP,采用启发式策略应对NP难问题,最小化最大完工时间。[图:算法流程示意图]

热门文章

最新文章