【交替方向乘子方法】ADOM: 基于ADMM的遥感图像条纹噪声去除优化模型(Matlab代码实现)

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

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

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

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

目录

💥1 概述

📚2 运行结果

🎉3 参考文献

🌈4 Matlab代码、数据、文章


💥1 概述

摘要:
遥感图像对于地球观测和气候变化等各种任务非常有用。然而,由于传感器系统的物理限制,遥感图像可能会受到条纹噪声的影响。因此,图像去条纹处理是必不可少的,因为条纹噪声可能在实际应用中造成严重问题。在本文中,我们将提出一种新的基于交替方向乘子方法(ADMM)的优化模型,称为ADOM,用于去除遥感图像中的条纹噪声。首先,我们为了去除条纹噪声而从观察图像中找到条纹噪声成分制定了一个优化函数,然后通过优化过程解决该优化函数以提取条纹噪声成分。在优化过程中,我们将提出一种基于权重的检测策略,以实现高效的条纹噪声成分捕捉,并提出一种基于ADMM的加速策略,以实现快速的条纹噪声去除。在基于权重的检测策略中,我们通过调整动量系数和残差参数生成的加权范数,有效地检测与图像细节相似的条纹噪声。在基于ADMM的加速策略中,我们通过使用两种控制策略加速优化过程:基于证据的起始点控制和基于动量的步长控制。前者为更准确地找到条纹噪声成分提供了一个起始点,后者利用动量系数加速收敛,同时通过利用阻尼系数提供优化稳定性。我们的实验结果表明,与其他去条纹模型相比,ADOM在模拟和真实图像数据集上均表现出更好的性能。

卫星或机载平台获取的遥感图像(RSI)为监测、森林砍伐、环境测量、气象观测、预警和自然灾害预测等各个领域的决策提供了丰富的信息。通过将传感器测量值调整为相应的实际地面真值,校准在RSI分析中起着至关重要的作用。然而,由于传感器系统中探测器之间存在相对增益和偏移的差距,校准后RSI中经常出现条纹噪声。图像中的条纹噪声可能对视觉质量产生负面影响,并可能在分类和目标检测等应用中造成严重问题。由于硬件升级可能无法完全解决这一问题,因此在RSI中开发条纹噪声去除的图像处理技术至关重要和必不可少。

图像去条纹是指从图像中去除条纹的过程,是图像处理领域的一个活跃研究课题。在过去几十年里,已经开发出了许多针对RSI的图像去条纹方法。它们大致可分为四类:基于滤波的方法、基于统计的方法、基于深度学习的方法和基于优化的方法。基于滤波的方法高效且易于实现,但由于过度滤波可能导致模糊伪影,因此有些结果可能会受到影响。另一方面,基于统计的方法通过利用图像的统计特性快速去除条纹噪声。然而,它们的性能通常受到限制,因为它们依赖于参考图像。基于深度学习的方法由于能够有效提取图像的关键特征而成为去除条纹噪声的热门解决方案。然而,这些方法的性能受到领域依赖性问题的限制,这一问题受到训练数据的数量和质量的影响,限制了它们的泛化能力。尽管致力于减少领域依赖性的影响,改进深度学习模型的性能仍然具有挑战性,因为缺乏可靠的真实数据。此外,开发深度学习模型需要大量实验,通常涉及大量计算资源,导致碳排放增加。换句话说,深度学习模型可能对环境产生负面影响,因为训练所需的大量计算资源会导致碳排放的增加。近年来,基于优化的方法在图像去条纹领域显示出了有希望的结果。这些方法将图像或条纹噪声的先验知识整合到目标函数中,以有效去除条纹噪声。与基于深度学习的方法相比,这些方法的优点在于可以在不需要大量训练数据的情况下执行条纹噪声去除。然而,现有的基于优化的方法在两个方面仍然存在限制。

首先,由于保留图像细节(如边缘和纹理)的限制,它们通常会导致去除条纹噪声的结果不准确。为了解决这个问题,一些现有的基于优化的方法使用了L0、L1和L2,1-范数等函数,这些函数表示了关于条纹方向和结构特征的先验知识。此外,加权范数也被用于有效地找到条纹。然而,现有方法往往会过度平滑图像,导致图像细节的丢失。此外,它们在准确找到条纹噪声成分方面存在局限性。因此,需要一种新的加权范数来在提高条纹噪声去除性能的同时有效保留图像细节。

其次,优化过程涉及迭代地寻求最佳解,直到达到令人满意的停止标准,这可能导致显著的计算开销。最近,交替方向乘子方法(ADMM)在图像去条纹中被广泛使用,通过将优化问题分解为较小的子问题,以有效地为目标函数导出最佳解。然而,由于随着解的接近收敛,更新变得不太变化,ADMM存在耗时的问题。因此,需要一种加速ADMM的方法,以快速去除图像中的条纹噪声。

在本文中,我们将提出一种新的基于ADMM的优化模型(ADOM)用于去除RSI中的条纹噪声。尽管现有的基于优化的方法主要集中于增强视觉质量,但我们将提出一种基于权重的检测策略,以有效捕获条纹噪声成分,并提出一种基于ADMM的加速策略,以实现快速去除条纹噪声。

详细文章见第4部分。

📚2 运行结果

部分代码:

addpath(genpath('./utils'));

% cuprite
load('cuprite_band10.mat');

if max(I,[],'omitnan')>3000
    %peakval=4096;
    %peakval=16384;
    peakval=8192; % paviau_b103;
    %peakval=32768;
    %peakval=65536;
elseif max(I,[],'omitnan')>512
    peakval=2048;
else
    peakval=256;
end
[m,n] = size(I); % row, col


% % % % % case2 (Non-periodic stripes)
stripe_min = -40;        %%% min value
stripe_max = 40;         %%% max value
temp=(repmat((stripe_max - stripe_min).*rand(1,size(I,2)) + stripe_min,size(I,1),1));
vnoi=temp(1,:)/255;
rsel = randperm(n,round(n*0.40));
tnoise=zeros(m,n);
for i=1:size(rsel,2)
    tnoise(:,rsel(i))=vnoi(i);
end
Is = (I/peakval + tnoise).*peakval;

tic; [out, iteration] = destriping(Is,peakval); toc1=toc;


m = metric_ref(I,out.*peakval,peakval,toc1,'ADOM');

f1=im_export(I,'Clean')
f2=im_export(Is,'Noisy')
f3=im_export(out,'ADOM')

load('mycolor.mat')
f4=figure('Name','Clean','Renderer','Painters'), imshow(abs(I/peakval*255/60-I/peakval*255/60)); colormap(mycolor); caxis([0 1]);
f5=figure('Name','Noisy','Renderer','Painters'), imshow(abs(I/peakval*255/60-Is/peakval*255/60)); colormap(mycolor); caxis([0 1]);
f6=figure('Name','ADOM','Renderer','Painters'), imshow(abs(I/peakval*255/60-out*255/60)); colormap(mycolor); caxis([0 1]);
 

🎉3 参考文献

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

Namwon Kim, Seong-Soo Han, Chang-Sung Jeong (2023)

🌈4 Matlab代码、数据、文章

  • 25
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: 高光谱端元提取的算法包括: 1. 局部光谱分类器(LOC): LOC使用一种局部方法来分类每个像元的光谱信息。 2. 线性光谱分类器(LSC): LSC是一种分类器,它使用一组线性判别函数来将光谱信息分类为不同的类别。 3. 光谱块分类器(SBC): SBC是一种分类器,它使用固定大小的光谱块来分类光谱信息。 4. 光谱聚类分类器(SCC): SCC使用聚类方法来将光谱信息分类为不同的类别。 5. 光谱对比度分类器(SDC): SDC使用对比度测量来分类光谱信息。 6. 光谱支持向量机分类器(SVM): SVM是一种分类器,它使用支持向量机算法来将光谱信息分类为不同的类别。 ### 回答2: 高光谱端元提取是指从高光谱图像中提取出代表不同物质的纯净光谱端元的过程。常见的高光谱端元提取算法包括以下几种: 1. 目标端元提取算法:这种算法通过对已知目标进行建模来提取端元。例如,如果已知高光谱图像中包含多种植被,可以通过建模提取出代表不同种类植被的纯净光谱端元。 2. 统计学方法:这种算法利用高光谱图像中像素值的统计信息来提取端元。常见的统计学方法包括主成分分析(PCA)、最小平方误差匹配(LSMA)、自适应子空间检测(ADOM)等。 3. 线性混合模型:线性混合模型假设高光谱图像中每个像素的光谱是若干纯净光谱端元的线性组合。通过解线性方程组,可以提取出端元。 4. 直接匹配法:直接匹配法根据高光谱图像中像素的光谱与已知端元的光谱进行匹配,从而提取出纯净光谱端元。 5. 角度匹配法:角度匹配法通过计算高光谱图像中像素的光谱与端元之间的夹角,从而提取端元。常见的角度匹配法有Spectral Angle Mapper(SAM)。 以上仅是高光谱端元提取算法的几种常见方法,实际应用中还可以根据具体需求选择合适的算法。此外,高光谱端元提取是一个复杂的过程,需要综合考虑图像质量、噪声、光谱库等因素。 ### 回答3: 高光谱端元提取是高光谱遥感图像处理中的重要任务,它旨在从高光谱数据中提取出材料或物体的纯净光谱特征。常见的高光谱端元提取算法包括以下几种: 1. 直接法:直接法是最常用的高光谱端元提取算法之一。它通过计算高光谱数据矩阵的奇异值分解(SVD)来提取端元,其中主奇异向量对应于端元。直接法简单快速,但对数据质量有较高的要求。 2. 线性混合模型(LMM):线性混合模型是一种常见的端元提取算法,它假设高光谱像素由多个端元的线性组合而成。LMM通过最小二乘法或稀疏表示等方法来求解端元系数,进而提取端元。 3. 基于像素空间的方法:这类方法利用高光谱数据中像素的空间分布特征来提取端元。常见的方法包括像素聚类、像素邻域分析等。 4. 谱角度匹配法:谱角度匹配法是一种基于光谱相似性的高光谱端元提取算法。它通过计算每个像素与已知端元的光谱夹角来判断像素的成分,并提取出光谱相似性较高的纯净端元。 5. 统计学方法:统计学方法通过对高光谱数据进行统计分析,如均值、方差、相关性等,以提取端元。常见的方法有最大似然估计、贝叶斯分类等。 这些高光谱端元提取算法各有特点,可根据应用需求选择适合的算法进行端元提取。同时,不同算法可能会有不同的优劣势,需要综合考虑数据质量、计算复杂度、精度等因素进行选择。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

荔枝科研社

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

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

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

打赏作者

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

抵扣说明:

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

余额充值