【AI】高光谱图像分类 — HybridSN模型

本文详细解读了HybridSN模型,该模型结合3D和2D卷积处理高光谱图像,以提取空间和光谱特征。通过PCA降维和3D-2D卷积的结合,优化了计算效率和分类性能。文章还探讨了2D卷积、3D卷积的区别,以及注意力机制在高光谱图像分类中的应用和影响。
摘要由CSDN通过智能技术生成

前言

实验目的

  1. 阅读论文《HybridSN: Exploring 3-D–2-DCNN Feature Hierarchy for Hyperspectral Image Classification》,并思考3D卷积和2D卷积的区别;
  2. 阅读代码:https://gaopursuit.oss-cn-beijing.aliyuncs.com/202010/AIexp/10%20-%20HybridSN_GRSL2020.mhtml;
  3. 把代码在 Colab 运行,网络部分需要自己完成;
  4. 训练网络,然后多测试几次,会发现每次分类的结果都不一样,请思考为什么?
  5. 同时,思考问题,如果想要进一步提升高光谱图像的分类性能,可以如何使用注意力机制?
  • 本次博客关键词:高光谱分类(论文中的),注意力机制(自己加的)。

论文地址

论文下载地址1:https://ieeexplore.ieee.org/document/8736016
论文下载地址2:https://pan.baidu.com/s/1dK811oJrGdhUwDSlel9PZA 提取码:55ty

一、论文解读

1、这篇论文说了啥?

首先,介绍一下本论文的主角——高光谱图像(HyperSpectral Image,简称HSI):

  • 即包含光谱信息特别长的图像(包含红外线、紫外线等不可见光光谱),比如:普通照片只有三个通道,即RGB——红、绿、蓝。数据类型是一个 m ∗ n ∗ 3 m*n*3 mn3的矩阵,而高光谱图像则是 M ∗ N ∗ B M*N*B MNB(B是光谱的层数:3层RGB+其他光谱层…)。
  • 高光谱图像是一个立体的三维结构,x、y表示二维平面像素信息坐标轴,第三维是波长信息坐标轴。

之后,对于卷积网络,处理高光谱图像时,会有一些技术问题:

  • 2-D-CNN无法处理数据的第三维度——光谱信息(前两维度是图像本身的x轴和y轴)。
  • 传统的2D-卷积处理不好这种三维的高光谱图像;
  • 若只使用3D-卷积,虽然可以提取第三维——光谱维度的特征,能同时进行空间和空间特征表示,但数据计算量特别大,且对特征的表现能力比较差(因为许多光谱带上的纹理是相似的)

所以,作者:

  • 提出HybirdSN模型(全称是Hybrid SpectralNet——我大致翻译为:混合了2D、3D卷积的光谱网络):将空间光谱和光谱的互补信息分别以3D-CNN和2D-CNN层组合到了一起,从而充分利用了光谱和空间特征图,来克服以上缺点。
  • HybirdSN模型比3D-CNN模型的计算效率更高。在小的训练数据上也显示出了优越的性能。

2、实现步骤

(1)PCA主成分分析

在这里插入图片描述

  • 首先,对于输入的高光谱图像,进行了主成分分析(PCA),减少了第三维数据的一些光谱波段,只保留了对识别物体重要的空间信息;
  • 将数据的输入规范化为 M ∗ N ∗ B M*N*B MNB
(2)将数据划分为三维小块

在这里插入图片描述

  • 随后将数据划分为重叠的三维小块 S ∗ S ∗ B S*S*B SSB(“厚度”不变),小块的label由中心像素的label决定。
(3)三维卷积提取光谱维度特征

在这里插入图片描述

  • 之后,使用3D-卷积获取光谱维度和图像间的特征;
  • 三次三维卷积中,卷积核的尺寸依次为:
    • 8×3×3×7×1(8是他自己设计的卷积核的个数, 3 ∗ 3 ∗ 7 3*3*7 337是一个三维卷积核的大小,1是因为一共只有1组图,所以再乘个1)、
    • 16×3×3×5×8、
    • 32×3×3×3×16。
  • 在三维卷积中,生成第i层第j个feature map在空间位置(x, y,z)的激活值,记为 v i , j x , y , z v_{i,j}^{x,y,z} vi,jx,y,z公式2如下图所示:公式2
(4)二维卷积卷图像特征

在这里插入图片描述

  • 使用2D-卷积获取图像本身的特征;
  • 二维卷积中,卷积核的尺寸为64×3×3×576(576为二维输入特征图的数量)。
  • 在二维卷积中,第 i i i层第 j j j个feature map在空间位置(x, y)处的值,记为 v i , j x , y v_{i,j}^{x,y} vi,jx,y,其生成公式1如下:公式2
(5)全连接输出

在这里插入图片描述

  • 接下来是一个 flatten 操作(为了输出给全连接层,所以必须是一条二维数据),变为 18496 维的向量;
  • 接下来依次为256,128节点的全连接层,都使用比例为0.4的 Dropout(就是扔掉40%的数据,防止模型过拟合);
  • 最后输出为 16 个节点,是分类的种数(之所以是16类,是因为它选取的数据集,本身的标签最多就是16类,参见下面的表格)。

3、数据集来源

实验使用了三个公开的HSI数据集:Indian Pines (IP)、University of Pavia (UP)和Salinas Scene (SA)。

数据集 图像维数 波长范围 光谱波段个数 地面图像被划分为多少类
Indian Pines (IP) 145 ∗ 145 145 *145 145145 400 ~ 2500 nm 224 16
University of Pavia (UP) 610 ∗ 340 610 *340 610340 430~ 860 nm 103 9
Salinas Scene (SA) 512 ∗ 217 512 * 217 512217 360 ~2500 nm 224 16

4、分类效果对比

在这里插入图片描述

5、每层的参数及输出

在这里插入图片描述

在这里插入图片描述

二、工程实现

注意:

  • 本次的实验的运行环境为colab,需要科学上网。

1、数据准备+引入基本函数库

首先取得数据——Indian pines(这是论文中引用的三个数据集中的一个)

#数据准备

! wget http://www.ehu.eus/ccwintco/uploads/6/67/Indian_pines_corrected.mat
! wget http://www.ehu.eus/ccwintco/uploads/c/c4/Indian_pines_gt.mat
! pip install spectral
##引入基本函数库

import numpy as np
import matplotlib.pyplot as plt
import scipy.io as sio
from sklearn.decomposition import PCA
from sklearn.model_selection import train_test_split
from sklearn.metrics import confusion_matrix, accuracy_score, classification_report, cohen_kappa_score
import spectral
import torch
import torchvision
import torch.nn as nn
import torch.nn.functional as F
import torch.optim as optim

2、定义 HybridSN类

包括:

  • 三维卷积部分的定义(细节见 一.2.(3)部分)
  • 二维卷积的定义(细节见 一.2.(4)部分)
  • flatten 操作(细节见 一.2.(5)部分)
  • 全连接层(细节见 一.2.(5)部分)
  • 40%的 Dropout(细节见 一.2.(5)部分)
  • 最后输出为 16 个节点(细节见一.2.(5)部分)

代码实现:

##定义 HybridSN 类

class_num = 16

class HybridSN(nn.Module
  • 34
    点赞
  • 164
    收藏
    觉得还不错? 一键收藏
  • 15
    评论
### 回答1: 光谱图像分类是一个比较新的研究领域,目前的发展前景非常广阔。随着技术的不断改进,光谱图像分类技术将被广泛应用于农业、地质勘探、环境监测、医学影像分析等领域。例如,在农业领域,光谱图像分类技术可以用来分析农作物的健康状况,从而提农作物的生产效率。在地质勘探领域,光谱图像分类技术可以用来分析地质样本,从而提勘探的准确性。在医学影像分析领域,光谱图像分类技术可以用来分析医学图像,帮助医生更准确地诊断疾病。总的来说,光谱图像分类技术具有广泛的应用前景,将在许多领域发挥重要作用。 ### 回答2: 光谱图像分类是一种通过捕捉物体或地物在多个连续波段上的光谱信息,进行精细分类和识别的图像处理技术。随着遥感技术和光谱成像设备的不断发展,光谱图像分类具有广阔的发展前景。 首先,光谱图像分类在农业领域有着巨大的应用潜力。通过对农田进行光谱图像分类,可以实现对不同农作物的准确识别和监测,提作物生长质量和产量。此外,光谱图像分类还可以检测植被健康状况、土壤质量和河流水质等,为农业生产提供有效的决策支持。 其次,光谱图像分类在环境保护和资源管理中发挥重要作用。通过对城市和自然环境进行光谱图像分类,可以监测大气污染、水体质量和土地利用变化等环境问题,及时采取相应措施保护环境。光谱图像分类还可以用于矿产勘探和地质灾害监测,优化资源分配和提灾害预警能力。 此外,光谱图像分类还有广泛的应用前景,如生物医学图像处理、城市规划和交通管理等领域。在医学领域,光谱图像分类可用于肿瘤诊断和治疗等,提医疗水平和效率。在城市规划方面,光谱图像分类可用于土地分类和城市绿地管理,促进城市可持续发展。在交通管理方面,光谱图像分类可用于车辆和行人的识别,提供交通流量统计和道路交通安全保障。 总而言之,光谱图像分类的技术发展将在农业、环境保护、资源管理、医疗和城市规划等多个领域发挥重要作用。随着技术的进一步发展和应用的推广,光谱图像分类有望实现更的准确率和自动化程度,并为各个行业提供更加精细和智能的解决方案。 ### 回答3: 光谱图像分类是利用光谱遥感数据进行物体分类的一种技术。随着光谱遥感技术的快速发展,光谱图像分类的前景越来越广阔。 首先,光谱图像可以提供丰富的光谱信息,可以捕捉到物体在不同波段上的反射特性,因此具有更光谱分辨率。这使得光谱图像分类可以更准确地对不同物体进行分类和辨别。与传统的遥感图像相比,光谱图像能够提供更多的光谱信息,可以更好地区分相似的物体。因此,在农业、森林资源调查、环境监测等领域具有广泛的应用价值。 其次,光谱图像分类可以应用于遥感图像的自动解译与目标提取。通过利用光谱图像分类技术,可以快速、准确地识别和提取图像中的目标。例如,在城市规划中,可以利用光谱图像自动提取建筑物、道路等目标,从而节省人工解译的时间和成本。 此外,随着机器学习和深度学习技术的不断发展,光谱图像分类的准确性和效率也得到了提。通过应用深度学习算法,可以从光谱数据中自动学习和提取特征,避免了手动挑选特征的繁琐过程。这为光谱图像分类的自动化和智能化提供了新的可能。 总之,光谱图像分类具有广泛的应用前景。随着光谱遥感技术的不断发展和成熟,光谱图像分类在资源调查、环境监测、城市规划等领域的应用将会更加广泛,并且随着机器学习和深度学习技术的不断进步,光谱图像分类的准确性和效率也将进一步提

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值