论文笔记-3D convolutional siamese network for few-shot hyperspectral classification

本文主要介绍了在小样本条件下进行高光谱分类的方法,通过contrastive learning的方法,使用两步训练的方法,是的网络能够通过自监督学习的方式生成具有强区分能力的latent feature,而后对lantent feature 进行分类,从而得到更好的分类结果

0. 基本信息

  • 引用信息

Cao Z, Li X, Jiang J, et al. 3D convolutional siamese network for few-shot hyperspectral classification[J]. Journal of Applied Remote Sensing, 2020, 14(4): 048504.

  • bibtex
1
2
3
4
5
6
7
8
9
10
11
12
13
@article{10.1117/1.JRS.14.048504,
author = {Zeyu Cao and Xiaorun Li and Jianfeng Jiang and Liaoying Zhao},
title = {{3D convolutional siamese network for few-shot hyperspectral classification}},
volume = {14},
journal = {Journal of Applied Remote Sensing},
number = {4},
publisher = {SPIE},
pages = {1 -- 20},
keywords = {deep learning, hyperspectral imaging, few-shot learning, siamese network},
year = {2020},
doi = {10.1117/1.JRS.14.048504},
url = {https://doi.org/10.1117/1.JRS.14.048504}
}

1. 研究背景

一个传统的问题,基于深度学习的高光谱分类方法,虽然能够达到极高的分类精度,但是这需要大量的训练数据的支撑,但是带标签的数据是难以获取或者成本高昂的(In real circumstances, labeled data are hard and expensive to acquire)。因此为了解决该问题,许多学者利用半监督或者自监督的方法,来对数据进行预处理,而后在进行分类。

2. 本文方法

本文的创新主要有三点:

  1. 提出一种针对训练的数据增强方法,只需要少量的数据,就可以扩充足够多的训练样本

由于本文采用的Siamese网络结构,需要成对的数据作为输入,因此本文开发了一种数据增强方法来生成训练所需的成对数据。

假设整个训练集共包含 \(c\) 类的 \(k\) 个样本,那么总计可以生成 \(k \times (k-1)\) 对输入,作为contrastive learning的输入。

输入数据采用 \(25 \times 25\) 大小的窗口,样本的标签由中心像素标签确定。

由于本文针对的小样本条件下学习,因此在训练集划分时,每个类只随机选择3个样本作为训练集,其余均作为测试集。

  1. 提出一种Siamese网络,能够在contrastive loss和classification loss的联合监督下进行训练

训练时采用一种特殊的训练策略,对于每一轮训练,分为两个阶段:

  • contrastive learning阶段:对成对的数据,使用siamese网络,生成对应的表示向量,通过最小化contrastive loss来优化网络参数;
  • classification阶段:使用每个样本的预测标签与真值标签计算交叉熵,从而优化网络参数

通过contrastive learning阶段可以引导网络优化到一个更加易于分类的latent space,从而使得不同类别样本更容易区分,从而得到更优的匹配结果。

  1. 在siamese 网络结果中,通过一个mlp block来提高分类精度

并没有使用contrative learning输出的latent feature直接进行分类,而是在encoder网络后添加了一个mlp block进行分类,得到分类结果。

3. 结果

3.1 Indian Pine数据集

Indian Pine数据集分类精度
Indian Pine数据集分类结果

3.2 University Pavia数据集

University Pavia数据集分类精度
University Pavia数据集分类结果

3.3 Salinas 数据集

Salinas 数据集分类精度
Salinas 数据集分类结果