zoukankan      html  css  js  c++  java
  • [文献阅读]基于卷积神经网络的高光谱图像深度特征提取与分类

    Deep Feature Extraction and Classification of Hyperspectral Images Based on Convolutional Neural Networks


    使用3-D CNN提取空-谱信息

    主要内容

    1. 基于CNN设计了三种FE(Feature Extraction) 结构,分别提取空间,光谱和空-谱特征。其中设计了3-D CNN能够有效的提取空-谱特征,提高了分类的效果。
    2. 在训练过程中使用L2 正则化,和 Dropout 来解决训练样本太少导致的过拟合问。题
    3. 在影像预处理过程中使用了一种虚拟样本来创造训练样本。
    4. 首次从HSI中提取了不同深度的层次特征,并对其进行了分析。
    5. 所提出的方法应用于三个著名的高光谱数据集。

    3-D convolution

    Markdown

    在位置(x,y,z) 处第(j) 个特征图的神经元(v_{ij}^{xyz}) 的值为

    [v_{ij}^{xyz} = g(sum_m sum_{p=0}^{P_i -1} sum_{q=0}^{Q_i -1} sum_{r=0}^{R_i -1} w_{ijm}^{pqr} v_{(i-1)m}^{(x+p)(y+p)(z+r)}+b_{ij}) ]

    其中(m)是连接到当前第(j)层特征图在第((i-1))层的特征映射,(P_i)(Q_i)是空间卷积核的高和宽。(R_i)是沿着光谱维的核的大小(w_{ijm}^{pqr})是第(m)个特征图在位置((p,q,r))处的值,(b_{ij})

    3-D CNN的体系结构

    选择$K×K×B $大小的邻近像素作为3-D CNN的输入,包含卷积层和池化层,然后用逻辑回归作为输出层

    Markdown

    创建虚拟样本

    包括高光谱成像在内的遥感通常包含一个大区域,而同一类别的不同位置的物体受不同辐射的影响。

    A. Changing Radiation-Based Virtual Samples

    虚拟样本可以通过模拟成像过程来创建。新的虚拟样本(y_n)通过乘以随机因子并将随机噪声添加到训练样本(x_m)来获得

    [y_n = alpha_m x_m +eta_m ]

    其中,(x_m)是一个立方体,它包括被分类像素的光谱信息和空间信息。

    (alpha_m)表示光强度的干扰,它可能受很多种因素的影响,例如季节和大气。

    (eta) 控制高斯噪音的权重,由相邻像素和仪器误差决定。

    B. Mixture-Based Virtual Samples

    由于物体与传感器之间的距离很长,所以混合物在遥感中是很常见的。受这种现象的启发,可以从两个给定样本中生成具有适当比率的虚拟样本(y_k)

    [y_k = frac{alpha_ix_i+alpha_jx_j}{alpha_i+alpha_j}+eta_n ]

    基于一个类别的高光谱特征在一定范围内变化这一事实,可以合理地假设该范围内的混合结果仍然属于同一类别。

    具体操作

    将样本按1:9划分为测试集和训练集。

    使用27 × 27 × 200,27 × 27 × 103和27 × 27 ×176 分别作为

    Indian Pines, University of Pavia, 和 KSC 数据集 的输入。

    输入的影像被归一化到[-0.5,0.5]

    结构和参数

    Markdown

    mini-batch(批大小) :100 learning rate(学习率):0.003 epoch(迭代次数):400

    添加dropout,使用ReLU激活函数

    使用虚拟样本

    方法A(alpha_m)是[0.9,1.1]之间的均匀随机数,(eta)是噪音权重设置维(1/25)

    方法B:(α_i)(α_j)是区间[0,1]上均匀分布的随机数,而(x_i)(x_j)是从同一类中随机选择的。

  • 相关阅读:
    【MySQL】MySQL Workbench 8.0 CE 界面汉化
    【SQLite】批处理脚本BAT读取SQLite数据
    UnityShader顶点着色器输入的语义
    Unity-Editor按钮和菜单显示
    unity使用文件流操作streamingassets下的文件
    DOTween Sequence的使用
    Luaframework中关于按钮点击事件监听时按钮名称不能重复的问题
    LUA中判断GameObject是否被Destory
    关于多线程并发同时使用lock时的疑问
    FairyGUI合并进Luaframework使用框架的LUA例子
  • 原文地址:https://www.cnblogs.com/Chen-rd/p/9031330.html
Copyright © 2011-2022 走看看