【图像分类】基于卷积神经网络和主动学习的高光谱图像分类(Matlab代码实现)

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

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

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

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

目录

[💥1 概述](#💥1 概述)

[📚2 运行结果](#📚2 运行结果)

[🎉3 参考文献](#🎉3 参考文献)

[🌈4 Matlab代码实现](#🌈4 Matlab代码实现)


💥1 概述

文献来源:

深度神经网络最近已广泛应用于高光谱图像(HSI)分类。然而,它的成功在很大程度上归功于许多标记样品,这些样品的采集需要花费大量的时间和金钱。为了在降低标注成本的同时提高分类性能,本文提出了一种用于HSI分类的主动深度学习方法,该方法将主动学习和深度学习集成到一个统一的框架中。首先,我们训练一个具有有限数量的标记像素的卷积神经网络(CNN)。接下来,我们主动从候选池中选择信息量最大的像素进行标记。然后,使用通过合并新标记的像素构建的新训练集对CNN进行微调。此步骤与上一步一起迭代执行。最后,利用马尔可夫随机场(MRF)来增强类标签平滑度,以进一步提高分类性能。与其他最先进的传统和基于深度学习的HSI分类方法相比,我们提出的方法在三个基准HSI数据集上实现了更好的性能,标记样本明显更少。

原文摘要:

Abstract--- Deep neural network has been extensively applied to hyperspectral image (HSI) classification recently. However, its success is greatly attributed to numerous labeled samples, whose acquisition costs a large amount of time and money. In order to improve the classification performance while reducing the labeling cost, this article presents an active deep learning approach for HSI classification, which integrates both active learning and deep learning into a unified framework. First, we train a convolutional neural network (CNN) with a limited number of labeled pixels. Next, we actively select the most informative pixels from the candidate pool for labeling. Then, the CNN is fine-tuned with the new training set constructed by incorporating the newly labeled pixels. This step together with the previous step is iteratively conducted. Finally, Markov random field (MRF) is utilized to enforce class label smoothness to further boost the classification performance. Compared with the other state-of-the-art traditional and deep learning-based HSI classification methods, our proposed approach achieves better performance on three benchmark HSI data sets with significantly fewer labeled samples. Index Terms--- Active learning (AL), convolutional neural network (CNN), deep learning, hyperspectral image (HSI) classification, Markov random field (MRF).

📚 2 运行结果

部分代码:

%% Parameters for data

data.NameFolder = {'IndianPines', 'PaviaU', 'PaviaCenter'};

data.NameMat = {'GT.mat', 'Feature.mat'};

data.SizeOri = {[145, 145, 220], [610, 340, 103], [400, 300, 102]};

data.SizeWin = 8;

data.NumClass = {16, 9, 8};

data.IndBand = {[10, 80, 200], [12, 67, 98], [10, 60, 90]}; % to generate false RGB, which should be less contaminated bands

%data.flagPCA = true;

%data.ReducedDim = 10;

% Three datasets:

% data.flagSet = 1, Indian Pines;

% = 2, Pavia University;

% = 3, Pavia Center.

data.flagSet = 1;

data.NameFolder = data.NameFolder{data.flagSet};

data.SizeOri = data.SizeOri{data.flagSet};

data.NumClass = data.NumClass{data.flagSet};

data.IndBand = data.IndBand{data.flagSet};

%% Parameters for algorithm

alg.SampleSty = 'Rd'; % out of {'Rd', 'Classwise'}

alg.CountSty = 'Num'; % out of {'Num', 'Ratio'}

alg.NumTrn1st = {250, 107, 58};

alg.NumTrn1st = alg.NumTrn1st{data.flagSet};

% if alg.CountSty == 'Ratio'

%alg.RatioTrn1st = {0.02, 0.0025, 0.0025};

%alg.RatioTrn1st = alg.RatioTrn1st{data.flagSet};

alg.CrossVal = 0.05;

alg.NumAlAugPerIte = {[250, 150, 100, 50], [107, 107, 107], [26, 20]}; % The training samples added in each iteration keeps the same ratio with the training sample number of the first iteration

alg.NumAlAugPerIte = alg.NumAlAugPerIte{data.flagSet};

alg.NumIter = length(alg.NumAlAugPerIte)+1;

alg.AlStra = 'BvSB'; % out of {'BvSB', 'RS', 'EP'};

🎉3 参考文献

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

1\] Xiangyong Cao, Jing Yao, Zongben Xu, Deyu Meng. Hyperspectral Image Classification with Convolutional Neural Network and Active Learning. IEEE Transactions on Geoscience and Remote Sensing, 2020. \[2\] H. Bi, F. Xu, Z. Wei, Y. Xue, and Z. Xu, An active deep learning approach for minimally supervised polsar image classification. IEEE Transactions on Geoscience and Remote Sensing, 2019. ## [🌈](https://mp.weixin.qq.com/mp/appmsgalbum?__biz=Mzk0MDMzNzYwOA==&action=getalbum&album_id=2591810113208958977#wechat_redirect "🌈")****4 Matlab代码实现****

相关推荐
2303_Alpha1 天前
SpringBoot
笔记·学习
萘柰奈1 天前
Unity学习----【进阶】TextMeshPro学习(三)--进阶知识点(TMP基础设置,材质球相关,两个辅助工具类)
学习·unity
沐矢羽1 天前
Tomcat PUT方法任意写文件漏洞学习
学习·tomcat
好奇龙猫1 天前
日语学习-日语知识点小记-进阶-JLPT-N1阶段蓝宝书,共120语法(10):91-100语法+考え方13
学习
Billy_Zuo1 天前
人工智能深度学习——卷积神经网络(CNN)
人工智能·深度学习·cnn
IT古董1 天前
【第五章:计算机视觉-项目实战之图像分类实战】1.经典卷积神经网络模型Backbone与图像-(4)经典卷积神经网络ResNet的架构讲解
人工智能·计算机视觉·cnn
向阳花开_miemie1 天前
Android音频学习(十八)——混音流程
学习·音视频
工大一只猿1 天前
51单片机学习
嵌入式硬件·学习·51单片机
c0d1ng2 天前
量子计算学习(第十四周周报)
学习·量子计算
Hello_Embed2 天前
STM32HAL 快速入门(二十):UART 中断改进 —— 环形缓冲区解决数据丢失
笔记·stm32·单片机·学习·嵌入式软件