《Spatial-Spectral T ransformer for Hyperspectral Image Classification》论文笔记
论文题目《Spatial-Spectral T ransformer for Hyperspectral Image Classification》
论文作者:Xin He 1 , Yushi Chen 1,* and Zhouhan Lin 2
论文发表年份:2021
模型简称:SST
发表期刊:Remote Sensing
Motivation
基于cnn的方法具有空间特征提取的优点,但它们难以处理带有序列的数据,且不善于建模远程依赖关系。而HSI的光谱是一种序列数据,通常包含数百个波段。因此,cnn很难很好地处理HSI。另一方面,基于注意机制的Transformer模型已经证明了它在处理顺序数据方面的优势。为了解决在长距离捕获HSI中序列光谱关系的问题,本研究采用Transformer对HSI进行分类。具体而言,本研究提出了一种新的HSI分类框架——空间-光谱转换器(SST)。
Contribution
(1)提出了一种改进的DenseTransformer,它利用密集连接来解决Transformer中的梯度消失问题。
(2)将CNN、DenseTransformer和多层感知器(MLP)相结合,提出了一种新的HSI分类框架,即spatial-spectral Transformer (SST)。在该SST中,利用精心设计的CNN提取HSI的空间特征,利用DenseTransformer捕获HSI的序列光谱关系,利用MLP完成分类任务。
(3)进一步提出了动态特征增强(feature augmentation)方法,以缓解过拟合问题,从而更好地推广模型,并将其加入到SST中,形成一种新的HSI分类方法(即SST- FA)。
(4)提出了一种新的分类框架,即transferring spatial-spectral Transformer(T-SST),以进一步提高HSI分类的性能。提出的T-SST使用预先训练的大型数据集上的类VGG模型作为SST中使用的CNN的初始化。因此,在有限训练样本的情况下,提高了HSI分类精度。
(5)最后,为了缓解过拟合问题,提高分类精度,将标签平滑引入到基于Transformer的分类中。将标签平滑与T-SST相结合,形成了一种新的HSI分类方法T-SST-L。
Method
(1)Spatial-Spectral Transformer(SST)
①VGG部分:本文使用改进的VGGNet(2D-CNN)分别提取每个波段的特征(主要提取空间特征),并将提取的特征输入到Transformer中去学习长程依赖。在进入Transformer之前首先要对最后一层CNN提取的特征做位置编码,以捕获不同波段的位置信息。
②Transformer部分:Transformer编码器共包含d个编码器块,每个编码器块由一个多头注意和一个MLP层组成,并加上层归一化和残差连接。Transformer编码器的目的是通过根据全局上下文信息对每个波段进行编码来捕获所有n个HSI波段之间的相互作用。注意力的输出定义如下:
Note: d_k:防止未来求softmax梯度消失。
下图是为缓解梯度消失问题和增进特征传播改进的Transformer示意图(DenseTransformer)
Note: 此处改进与DenseNet 特征复用类似。
③MLP部分:MLP的体系结构包括两个具有GELU操作的完全连接层,其中最后一个完全连接层(即softmax层)旨在生成HSI分类的最终结果。对于一个输入向量R,输入属于i类的概率可以估计如下:
(2)SST-FA(SST+Feature Augmentation)
动态特征增强(正则化方法):由于VGG提取的空间特征维数较高(即512维),容易对Transformer模型进行过拟合。提出SST-FA 利用mask来避免过拟合问题。首先在特征中随机选择一个坐标,然后在坐标周围放置一个掩码,它决定将多少特征设置为零。注意,坐标在训练期间动态地改变w.r.t. epoch,这确保Transformer模型接收到不同的特征。
(3)Transferring Spatial-Spectral Transformer(T-SST)
为了解决训练样本有限的问题,将迁移学习与SST相结合(原VGG模型经过预训练后再进行HSI特征提取),以提高目标任务的分类性能。 分类过程分为基于迁移CNN的空间特征提取、基于Transformer的空间光谱特征提取和基于MLP的分类。就是利用VGGNet在ImageNet数据集上学到的权重初始化HSI分类的网络,然后对HSI分类任务上的权重进行微调,因为前几层通常提取底层特征(即斑点、角和边缘),而底层特征通常在图像分类任务中是常见的。
两个数据集的异构问题:因为大规模数据集(即源数据集)有三个通道,而HSI(即目标数据集)包含数百个通道。为了解决异构迁移学习带来的问题,使用映射层来处理两个数据集的通道数(即波段数)不同的问题。VGG的输入则由原来ImageNet的RGB三通道图片转变为HSI的单波段patch输入,那么需要把HSI单波段patch通过Mapping Layer映射为类似RGB三通道的patch,这样就与预训练网络的输入结构相同了。具体的映射方式原为只给了一个式子(O∈RW×H、O' ∈ RW×H×3、α ∈ R3×1):O' = O × α
(4)]T-SST-L(T-SST + Label Smoothing)
为了解决T-SST中的过拟合问题,引入了标签平滑。ex:在分类中,每个训练样本x都有对应的标签y∈{1,2,…C}。C是类的数量,δk,y表示离散的狄拉克函数,当k = y时等于1,否则为0。
yk = δk,y
如果我们将所有的真实标签都指定为“硬标签”(即δk,y),则模型将努力将标签的预测分布推向硬标签。此外,如果适当地平滑标记,即在δk,y的零点上分配微小的概率质量,就可以有效地缓解这种情况。直观地说,这是因为模型对其预测过于自信。因此,标签平滑的机制就是来使模型不那么自信,从而获得更好的性能。标签平滑使原标签yk变为y'k,定义如下:ε是平滑因子,
标签平滑机制通过简化模型来学习每个训练样本的全概率标签,可以以简单的形式缓解过拟合问题,提高模型的泛化能力。
Experimental Result
实验首先介绍了对VGGNet改进的细节参数及网络结构,随后对多头注意力头数、模型深度、标签平滑因子参数做了实验,当分别设置2、2、0.9时,效果最好。
SST与SST-FA及其它网络做对比(Pavia):
T-SST与T-SST-L及其它网络做对比(Pavia):
可视化类图比较(Pavia):
运行时间比较:
Conclusion
提出了DenseTransformer,该方法利用密集连接来缓解Transformer训练中的梯度消失问题。本文提出的基于SST的HSI分类方法,充分利用CNN获取二维patch的空间特征,并充分利用DenseTransformer获取谱域的长距离关系。此外,为了解决过拟合问题,提出了SST-FA,以Mask部分特征的形式训练。提出的T-SST结合了迁移学习和SST,进一步提高了分类性能。为了在ImageNet数据集上使用预训练的模型,设计了一个异构映射层,用于将模型从源域(即ImageNet数据集)映射到目标域(即HSI)。在基于Transformer的HSI分类中,标签平滑是一种有效的正则化方法。与SST、SST- FA、T-SST等方法相比,提出的T-SST-L具有更高的性能。基于Transformer的HSI分类还处于早期阶段。在今后的工作中,我们可以利用Transformer的各种改进,为HSI的精确分类开辟新的窗口。
《Spatial-Spectral T ransformer for Hyperspectral Image Classification》论文笔记的更多相关文章
- 《Vision Permutator: A Permutable MLP-Like ArchItecture For Visual Recognition》论文笔记
论文题目:<Vision Permutator: A Permutable MLP-Like ArchItecture For Visual Recognition> 论文作者:Qibin ...
- [place recognition]NetVLAD: CNN architecture for weakly supervised place recognition 论文翻译及解析(转)
https://blog.csdn.net/qq_32417287/article/details/80102466 abstract introduction method overview Dee ...
- 论文笔记系列-Auto-DeepLab:Hierarchical Neural Architecture Search for Semantic Image Segmentation
Pytorch实现代码:https://github.com/MenghaoGuo/AutoDeeplab 创新点 cell-level and network-level search 以往的NAS ...
- 论文笔记——Rethinking the Inception Architecture for Computer Vision
1. 论文思想 factorized convolutions and aggressive regularization. 本文给出了一些网络设计的技巧. 2. 结果 用5G的计算量和25M的参数. ...
- 论文笔记:Fast Neural Architecture Search of Compact Semantic Segmentation Models via Auxiliary Cells
Fast Neural Architecture Search of Compact Semantic Segmentation Models via Auxiliary Cells 2019-04- ...
- 论文笔记:ProxylessNAS: Direct Neural Architecture Search on Target Task and Hardware
ProxylessNAS: Direct Neural Architecture Search on Target Task and Hardware 2019-03-19 16:13:18 Pape ...
- 论文笔记:DARTS: Differentiable Architecture Search
DARTS: Differentiable Architecture Search 2019-03-19 10:04:26accepted by ICLR 2019 Paper:https://arx ...
- 论文笔记:Progressive Neural Architecture Search
Progressive Neural Architecture Search 2019-03-18 20:28:13 Paper:http://openaccess.thecvf.com/conten ...
- 论文笔记:Auto-DeepLab: Hierarchical Neural Architecture Search for Semantic Image Segmentation
Auto-DeepLab: Hierarchical Neural Architecture Search for Semantic Image Segmentation2019-03-18 14:4 ...
- 论文笔记系列-DARTS: Differentiable Architecture Search
Summary 我的理解就是原本节点和节点之间操作是离散的,因为就是从若干个操作中选择某一个,而作者试图使用softmax和relaxation(松弛化)将操作连续化,所以模型结构搜索的任务就转变成了 ...
随机推荐
- identity server4 授权成功页面跳转时遇到错误:Exception: Correlation failed. Unknown location的解决方法
一.异常信息描述 错误信息,看到这个页面是否耳熟能详担又不知道怎么解决 ,坑死个人不偿命,,,,,,,, 二.处理方法 1.在web项目中增加类SameSiteCookiesServiceCollec ...
- 【C语言】超详讲解☀️指针是个什么针?(一次性搞定指针问题)
目录 前言 一. 什么是指针? 引例 计算机是怎么对内存单元编号的呢? 内存空间的地址如何得到 想存地址怎么办? 本质目的不是为了存地址 二.指针和指针类型 为什么有不同类型的指针 1.指针的解引 ...
- ExpressionChangedAfterItHasBeenCheckedError详细解释
一个angular组件,他的生命周期是这样的 update bound properties for all child components/directives call ngOnInit, On ...
- StringBuilder的原理
StringBuilder类 字符串拼接问题 由于String类的对象内容不可改变,所以每当进行字符串拼接的时候,总是会在内存中创建一个新的对象.例如: class Test{ public stat ...
- html的基础01
1.什么是网页 2.常用的浏览器有哪些 3.web标准是什么 1.什么是网页 2.常用的浏览器 360.百度那些都是国产浏览器,内核一样,以上六个都是国际浏览器,不同厂商生产(但IE和Edge都是 ...
- MMDetection 使用示例:从入门到出门
前言 最近对目标识别感兴趣,想做一些有趣目标识别项目自己玩耍,本来选择的是 YOLOV5 的,但无奈自己使用 YOLOV5 环境训练模型时,不管训练多少次 mAP 指标总是为 0,而其它 pytorc ...
- MYSQL(进阶篇)——一篇文章带你深入掌握MYSQL
MYSQL(进阶篇)--一篇文章带你深入掌握MYSQL 我们在上篇文章中已经学习了MYSQL的基本语法和概念 在这篇文章中我们将讲解底层结构和一些新的语法帮助你更好的运用MYSQL 温馨提醒:该文章大 ...
- Charles自动保存响应数据
本文所有教程及源码.软件仅为技术研究.不涉及计算机信息系统功能的删除.修改.增加.干扰,更不会影响计算机信息系统的正常运行.不得将代码用于非法用途,如侵立删! 操作环境 win10 nexus5x c ...
- 面试突击72:输入URL之后会执行什么流程?
在浏览器中输入 URL 之后,它会执行以下几个流程: 执行 DNS 域名解析: 封装 HTTP 请求数据包: 封装 TCP 请求数据包: 建立 TCP 连接(3 次握手): 参数从客户端传递到服务器端 ...
- 【喜讯】新一代大数据任务调度 - Apache DolphinScheduler 社区荣获OSCHINA年度 “最佳技术团队”...
新一代大数据任务调度 - Apache DolphinScheduler 继 11 月 19 日由 InfoQ 举办.在 300+ 参评项目中脱颖而出获得 "2020 年度十大开源新锐项目 ...