【遥感影像云检测】从粗到细的无监督遥感影像云检测方法(Matlab代码实现)

【遥感影像云检测】从粗到细的无监督遥感影像云检测方法(Matlab代码实现)个人主页 研学社的博客 欢迎来到本博客 博主优势 博客内容尽量做到思维缜密

大家好,我是讯享网,很高兴认识大家。

 👨‍🎓个人主页:研学社的博客    

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

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

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

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

目录

💥1 概述

📚2 运行结果

🎉3 参考文献

🌈4 Matlab代码实现



讯享网

💥1 概述

文献来源:

该文提出一种从粗到细的无监督遥感影像云检测方法。首先,利用颜色变换、暗通道估计、Gabor滤波和局部统计分析方法提取遥感影像的颜色、纹理和统计特征;然后,通过对堆叠特征执行支持向量机(SVM)来获得初始云检测图,其中SVM使用一组样本进行训练,这些样本通过处理原始图像的暗通道进行多次阈值和形态学操作。最后,采用引导滤波细化初始检测图中的边界,进一步提高了云检测精度。在几张真实遥感影像上进行的实验表明,与近期提出的几种云检测方法相比,所提方法在定量和视觉比较方面表现出更好的检测性能。

原文摘要:

Abstract:

In this letter, a coarse-to-fine unsupervised method is proposed for cloud detection in remote sensing images. First, the color, texture, and statistical features of the remote sensing images are extracted with the color transform, dark channel estimation, Gabor filtering, and local statistical analysis methods. Then, an initial cloud detection map can be obtained by performing the support vector machines (SVM) on the stacked features, in which the SVM is trained with a set of samples automatically labeled by processing the dark channel of the original image with several thresholding and morphological operations. Finally, guided filtering is used to refine the boundaries in the initial detection map, which further improves the cloud detection accuracy. Experiments performed on several real remote sensing images demonstrate that the proposed method show better detection performances with respect to several recently proposed cloud detection methods in terms of both quantitative and visual comparisons.

遥感影像广泛应用于环境监测、军事侦察、救灾、气象勘探等诸多领域。然而,遥感影像的缺点是这些影像的某些区域可能被云层遮挡,从而导致以下处理和分析困难,如目标检测[1],[2],图像可视化[3]和分类[4]-[6]。因此,云检测成为遥感影像分析必不可少的预处理步骤。例如,如果已经识别出云,则更容易从航空图像中识别物体[7]。

在过去的10年中,已经提出了许多用于自动云检测的方法。Zhang和Xiao [8]提出了一种渐进式细化方案(PRS)来检测云区域。首先根据强度和色相两个特征的划分得到粗云检测图,然后进行阈值运算。然后,通过假设非云区域通常包含更多图像详细信息,从候选云区域中删除非云区域。维沃内等. [9] 在经典的极大后验概率-马尔可夫随机场方法中引入一种新的惩罚项,可有效降低靠近云边的像素的高误分类率。李等. [10] 提出一种基于支持向量机(SVM)的云图像检测方法。首先将遥感影像划分为小块,利用影像块的亮度特性和纹理特征来区分云与遥感影像。An和Shi [11]提出了一种基于“场景学习”(SL)的云检测方法。该方案中,遥感影像中同时包含云区和非云区的所有像素都用于训练云探测器。然后,通过使用经过训练的检测器对测试图像的每个像素执行检测过程来获得检测结果。谢等. [12] 介绍了一种基于深度学习的新型多级云检测(MCD)方法,该方法不仅可以检测云,还可以区分薄云和厚云。尽管已经提出了许多云检测方法,但仍存在一些挑战。

  1. 在某些场景中,云区和背景物体,如雪地和明亮的建筑物,由于颜色外观相似,不易被区分。基于像素级特征的云检测方法在处理此类图像时表现不佳。
  2. 许多云检测方法,如[11]中提出的方法,在检测过程中依赖于人类用户的监督。此要求还限制了现有云检测方法的应用。

与之前的工作不同,在这封信中,提出了一种名为粗到细无监督云检测的方法。首先,提取遥感影像的颜色、纹理和统计特征并堆叠在一起;然后,对堆叠特征执行SVM,以获得初始云检测图。具体来说,SVM 使用一组样本进行训练,这些样本通过在原始图像的暗通道上执行阈值和形态学操作进行标记。最后,通过引导滤波操作细化初始检测图中的边界,有利于更准确地检测云的边界。这封信的主要贡献可以总结如下。

  1. 在所提出的云检测方法中首次引入了暗通道先验。暗通道的应用对提高云的探测精度具有重要作用。
  2. 该方法不是用人工标记的样本训练检测模型,而是基于先验知识获得SVM的训练样本,从而使所提方法在实际应用中更具实用性。

📚2 运行结果

 

 

 部分代码:

addpath(genpath('.\functions'));
addpath(genpath('.\test_imgs'));
addpath(genpath('.\libsvm-3.20'));
%%read iamges from files
ii=61;
% I=imread([num2str(ii),'.png']);
I=imread([num2str(ii),'.jpg']);
figure,imshow(I)
%%
I_gray=rgb2gray(I);
[m,n,d]=size(I);
[h,w,s]=size(I);
R=I(:,:,1);
G=I(:,:,2);
B=I(:,:,3);
%% get the dark channel 
dark_I=zeros(h,w);
for i=1:h                 
    for j=1:w
        dark_I(i,j)=min(I(i,j,:));
    end
end
%% extract features
% extract HSI feature
[H, S ,Ih]=RGB2HSI(I);
Hsi_feature(:,:,1)=scale_func255(H);
Hsi_feature(:,:,2)=scale_func255(S);
Hsi_feature(:,:,3)=scale_func255(Ih);
%  extract the statistical  features 
g_1=stdfilt(R,ones(9,9));
g_1=uint8(Normalize(g_1));
g_2=stdfilt(R,ones(3,3));
g_2=uint8(Normalize(g_2));
g_3=stdfilt(R,ones(5,5));
g_3=uint8(Normalize(g_3));
g_4=stdfilt(R,ones(7,7));
g_4=uint8(Normalize(g_4));
std_feature=cat(3,g_1,g_2);
std_feature_1=cat(3,std_feature,g_3,g_4);

🎉3 参考文献

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

[1]X. Kang, G. Gao, Q. Hao and S. Li, "A Coarse-to-Fine Method for Cloud Detection in Remote Sensing Images," in IEEE Geoscience and Remote Sensing Letters, vol. 16, no. 1, pp. 110-114, Jan. 2019, doi: 10.1109/LGRS.2018..

🌈4 Matlab代码实现

小讯
上一篇 2025-02-20 11:12
下一篇 2025-02-25 14:02

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/46213.html