【多光谱滤波器阵列设计的最优球体填充】使用MSFA设计方法进行各种重建算法时,图像质量可以提高至多2 dB,并在光谱相似性方面实现了显著提升(Matlab代码实现)

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

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

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

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

目录

💥1 概述

📚2 运行结果

🎉3 参考文献

🌈4 Matlab代码、数据、文章


💥1 概述


多光谱成像(MSI)收集场景的空间-光谱信息数据立方体。许多光谱成像的采集方法使用扫描,限制了其在动态场景中的广泛应用。另一方面,常规的彩色滤波阵列(CFA)方法通常用于采样彩色图像,也已经扩展到使用多光谱滤波器阵列(MSFA)进行快照式多光谱成像,它是放置在焦平面阵列(FPA)上的选择性光谱滤波器的马赛克。然而,即使是最先进的MSFA编码模式也会在重建的光谱图像中产生伪影和失真,这可能是由于光谱滤波器的非最优分布所致。为了减少伪影的出现并提供用于优化MSFA设计的工具,本文提出了一种使用球体填充(SP)方法设计MSFA的新型数学框架。假设每个采样滤波器可以在离散数据立方体中用球体表示,SP在一个立方体容器中组织相等大小且不重叠的球体中心的位置。我们的方法被称为最优球体填充的多光谱滤波器阵列(MSFA-OSP),它寻求最大化球体中心之间最小距离的滤波器位置。模拟结果显示,在使用我们提出的MSFA设计方法进行各种重建算法时,图像质量可以提高至多2 dB,并在光谱相似性方面实现了显著提升。此外,MSFA-OSP显著减少了伪色和拉链效应伪影的出现,这些效应通常在使用最先进的解马赛克算法时会出现。使用合成和实际数据的实验证明,所提出的MSFA-OSP在空间和光谱保真度方面优于最先进的MSFA。

多光谱图像是具有两个空间维度和多个光谱波段的3D信号。多光谱成像(MSI)在遥感中有着突出的应用,可以对城市和农村地区的地面、植被和建筑物等材料进行分类。在医学上,MSI提供有关组织形态和生理学的诊断信息,可以检测异常如癌症肿瘤。然而,捕获多光谱图像的常规方法依赖于扫描-无论是空间扫描还是光谱扫描-来对整个数据立方体进行采样,同时需要更大的带宽和存储。扫描也耗时且需要复杂的硬件,无法处理动态场景。

相反,受彩色滤波阵列(CFA)启发的新型快照方法可以在单次采集中部分采样数据立方体,假设整个数据立方体可以通过插值或更复杂的算法来重建,这些算法利用了空间和光谱的相关性。

CFA在2D焦平面阵列(FPA)中获取三色光谱源的子采样版本。然后,捕获的灰度马赛克图像由解马赛克算法用于重建潜在的RGB图像的近似。类似地,多光谱滤波器阵列(MSFA)是一种光谱选择性滤波器的马赛克,通常是窄带,它将CFA方法扩展到了快照式MSI。具体而言,MSFA捕获多光谱场景的单个灰度马赛克快照,其中每个像素捕获相应空间位置的特定光谱响应;这种快照方法由于其紧凑性、低成本和实时特性而独特。然而,作为CFA的一种推广,设计和使用MSFA面临着几个挑战。随着考虑更多的滤波器,每个通道的采样率会急剧减少,使得传统的CFA解马赛克算法向MSFA解马赛克复杂化。与许多采用Ad-Hoc设计的CFA不同,例如旨在模拟人类视觉系统的Bayer滤波器,2008年提出了设计CFA的早期数学模型,该模型利用傅里叶域中的二维球体填充思想,以最大化亮度和色度通道的半径,以实现完美重建。尽管这种方法最初是针对少量光谱滤波器进行彩色成像的,但后来通过使用傅里叶变换光谱学,将其扩展到了MSFA,从而导致了一种有效的多光谱感知模式,通过利用复用的正弦滤波器减少了阿里亚欠采样,从而设计出最多具有16种不同滤波器的4×4核。尽管进行了设计工作,但常规的MSFA,如基于二叉树的边缘感知(BTES)、Interuniversity Microelectronics Centre(IMEC)等,将MSFA的条目排列为任意的采样模式,通常会导致重建的数据立方体中出现伪影。

📚2 运行结果

部分代码:

%% Generate figures of the paper: Demosaicking Multispectral Images Based on Sphere Packing Filter Design
addpath(genpath('./Dataset'));
addpath(genpath('./codes'));
addpath(genpath('./RGB'));
addpath(genpath('./src'));
addpath(genpath('./Fig'));
addpath(genpath('./Pattern'));
addpath(genpath('./Results'));

clear all;
clc;

NF = 25;
N = 256;

set(groot, 'defaultFigureUnits', 'centimeters', 'defaultFigurePosition', [0 0 100.86 30.8]);
fontsize = 18;
fig=figure(12);
cd=[5,7];
%t = tiledlayout(1,2,'TileSpacing','Compact','Padding','Compact');
x = ["                                        (a)","                                        (b)"];
for i=1:2
    code = cd(i); % 2 Brauers, 4 Uniform
    [G] = codedPatterns(N,NF,code);
    [textcode] =checkCode2(code);
    G = G(1:NF,1:NF);
    [T] = distance(G);
    minimum = min(T(:));
    radius = minimum/2;
    [density,diameter]= ComputeDensity(minimum,NF,G);
    density = round(density,2);
    minimum = round(minimum,2);
    %nexttile
    showSphereGeneral(G,radius,fontsize);
    title("d="+num2str(minimum)+" \rho="+num2str(density), 'FontSize', fontsize,'Fontname','Times');
    xlabel(['X',x(i)], 'FontSize', fontsize,'Fontname','Times');
    ylabel('Y', 'FontSize', fontsize,'Fontname','Times');
    zlabel('\lambda', 'FontSize', fontsize,'Fontname','Times');
    axis equal;
    colormap jet;
    hold on
    %view(40,35)
    grid on;
    set(gca,'FontSize',fontsize,'Fontname','Times')
end
orient(fig,'landscape')

🎉3 参考文献

文章中一些内容引自网络,会注明出处或引用为参考文献,难免有未尽之处,如有不妥,请随时联系删除。

Nelson Diaz, Alejandro Alvarado, Pablo Meza, Felipe Guzman, Esteban Vera (2023)

🌈4 Matlab代码、数据、文章

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值