《Deep Feature Extraction and Classification of Hyperspectral Images Based on Convolutional Neural Networks》
摘要 -- 本文提出了一个基于3-D CNN的特征提取的方法去提取HSI中的光谱-空间特征;而且列出了两种创造虚拟样本的方法(图像增强);HSI图像中有两个特点:1. 高纬度 2. 有限的标记样本,这两个特点会造成过拟合的现象产生,所以使用L2 Regularization 和 Dropout来解决过拟合的问题
1. Introduction
HSI不同于一般图像,它包含了上百条光谱带,丰富的光谱信息能够提升分类的准确度。为了解决HSI的光谱带太多造成的维度灾难的情况,特征提取(FE)是HSI处理中重要的一步。光谱信号的空间变换使得HSI FE仍然是一个挑战。在早期的研究中,只考虑到spectral-based方面,应用PCA、ICA、线性判别分析等方法。这些方法通过应用线性变换来提取新域中可能更好的输入数据特征,但是对于自然对象(植被等)的光散射机制,本质上来说HSI数据是非线性的,盲目使用线性变换的方法对于这些数据来说是不合适的。
2000年,两篇关于流形学习(manifold learning)的文章在*Science *杂志上发表,在HSI上应用流形学习成为一个热点。流形学习的目的:流形学习试图找到非线性分布数据的内在结构,这对高光谱FE具有很高的实用价值
同时,非线性的问题还可以用核方法(Kernel-Based algorithm)来解决,和方法的目的:将原始数据映射到高维的维希尔伯特****空间中,将一个非线性的问题转化为一个线性的问题。
最近的研究:将空间信息整合到单一的光谱分析的系统中。由于高光谱传感器可以提供很高的空间分辨率,那么细节的空间信息获取变得容易。基于空间-光谱信息的特征提取方法实现了更高的分类性能。
来自其他物体的散射可能会想使检测的物体的光谱特性发生变形。此外,不同的大气散射条件和类内差异性等因素使得高光谱数据的特征提取非常困难。为了解决这些问题,深度体系结构被认为是一个很有前途的选择,因为它可能在高层上学习到更抽象的特性,这些特性通常是健壮的和不变的。
CNN可以应用其局部连接的的特性去提取空间信息;权重共享有效地减少参数量。为了同时提取光谱-空间特征,提出了3-D CNN,而且为了解决由于训练样本少所导致的过拟合的现象,应用了ReLU、L2 regularization和dropout以达到更好的模型泛化。
本文的主要贡献:
- 3-D CNN来提取空间-光谱特征,使得分类性能更好
- 使用 L2 Regularization 和 dropout 方法来解决样本不足所带来的过拟合现象。
- 为了更进一步的提升性能。虚拟样本增强(virtual sample enhanced method)的方法来创建新的训练样本。
- 对从HSI中提取的不同深度的分层特征进行可视化和分析
- 将所提出的方法应用于三个HSI数据集上,并对不同的方法进行不同角度的对比,比如:分类精度、复杂度分析、运行时间等等
2. 基于1-D CNN的HSI的特征提取和分类
高层特征可以从低级特征中学习得到 → 能够提取出抽象不变的特征,有利于分类和目标检测等多种任务
A:1-D CNN
从Hubel的早期工作中(提出了感受野的概念),我们知道人类视觉系统皮质中的细胞对小区域敏感。感受野内细胞的反应具有很强的能力去利用图像中局部空间相关性。所以有两种细胞:
- 普通细胞 → 检测局部特征
- 复杂细胞 → 聚合邻域内的普通细胞的输出。
换句话说:简单细胞对其感受域内特定的边缘模式敏感,而复杂细胞具有较大的感受域,并且它们是局部不变的。
其与CNN相类似,CNN有 局部连接 和 共享权重 两个特点:
-
局部连接:
-
共享权重:
B:HSI分类之光谱特征提取
使用1-D CNN提取光谱信息,该架构图如下:
- FE 阶段,LR使用反向传播来调整权重和偏重。
- CLassification阶段,在FE阶段学习到的特征使用LR、KNN、SVM等方法进行分类。
架构详情图:
该架构包含两个卷积和两个池化层和一个LR层,在第一层卷积之后,形成三个feature maps,在第二层卷积之后形成了六个feature maps。在经历了多个卷积池化操作之后,输入的像素向量转化成了特征向量,这些特征向量在输入的像素中获取到了光谱特征。
CNN的性能依靠着网络的连接(权重),所以一个网络需要设计一个合理的权重系数。梯度反向传播是所有神经网络中基础的算法。模型参数可以通过随机初始化来获得。用mini-batch的交叉熵作为损失函数
C:L2 Regularization of CNN
过拟合:在训练集上分类结果准确,但是在测试集上结果误差很大。训练样本不足很容易出现这样的问题。
L2正则化目的:使得参数的平方和小,这可以添加到最小化代价函数的学习算法中。将式(4)修改为
3. 基于2-D CNN的HSI的特征提取和分类
2-D 卷积是1-D 卷积的扩展,网络某层中的值计算如下:
(前一层的值 * 权重)的累加和 + 偏置 → 将结果应用于激活函数之上,得到这一层的某个神经元的值。池化层和1-D CNN中的相同。
架构图4所示:
我们选择当前像素的 K * K 邻域作为2-D CNN模型的输入。然后,我们构建深度CNN来提取有用的特征。CNN的每一层都包含二维卷积和池化。当图像的空间分辨率不是很高时,可以选择 4 * 4 kernel或 5 * 5 kernel来执行卷积操作,选择 2 * 2 kernel来执行池化操作。经过多层卷积和池化后,输入图像可以用一些特征向量表示,这些特征向量捕获了输入像素 K * K 的邻域内包含的空间信息。然后,将学习到的特征输入LR进行分类。
4. 基于3-D CNN的HSI的特征提取和分类
A:3-D CNN
- 1-D CNN:spectral features
- 2-D CNN:local spatial features
- 3-D CNN:local spatial + spectral features
2-D vs. 3-D
在讨论卷积核(kernel)维度的时候,是不把channel维度加进去的(卷积核的维度指的是进行滑动窗口操作的维度,而滑动窗口不是在channel维度上进行的,因为每个channel共享同一个滑窗位置, 但每个channel上的卷积核权重是独立的)。一个卷积核(Kernel)只能得到一个feature map,
2-D 卷积核其实是(),3-D 卷积核就是(),其中就是多出来的第三维度,根据具体应用,在视频应用各种就是时间维度,在HSI中就是Band维度。
2-D CNN
2D卷积操作如图1所示,为了解释的更清楚,分别展示了单通道和多通道的操作。且为了画图方便,假定只有1个filter,即输出图像只有一个chanel。
- 针对单通道,输入图像的channel为1,即输入大小为(1, height, weight),卷积核尺寸为 (1, k_h, k_w),卷积核在输入图像上的的空间维度(即(height, width)两维)上进行进行滑窗操作,每次滑窗和 (k_h, k_w) 窗口内的values进行卷积操作(现在都用相关操作取代),得到输出图像中的一个value。
- 针对多通道,假定输入图像的channel为3,即输入大小为(3, height, weight),卷积核尺寸为 (3, k_h, k_w), 卷积核在输入图像上的的空间维度(即(height, width)两维)上进行进行滑窗操作,每次滑窗与3个channels上的 (k_h, k_w) 窗口内的所有的values进行相关操作,得到输出图像中的一个value。
3-D CNN
3D卷积操作如图2所示,同样分为单通道和多通道,且只使用一个filter,输出一个channel。
- 针对单通道,与2D卷积不同之处在于,输入图像多了一个 depth 维度,故输入大小为(1, depth, height, width),卷积核也多了一个k_d维度,因此卷积核在输入3D图像的空间维度(height和width维)和depth维度上均进行滑窗操作,每次滑窗与 (k_d, k_h, k_w) 窗口内的values进行相关操作,得到输出3D图像中的一个value。
- 针对多通道,输入大小为(3, depth, height, width),则与2D卷积的操作一样,每次滑窗与3个channels上的 (k_d, k_h, k_w) 窗口内的所有values进行相关操作,得到输出3D图像中的一个value。
总结:
通过3-D CNN可以同时提取HSI的光谱-空间特征,这学习到的特征有助于下一步的操作。
B:提取空间-光谱的框架
C:基于稀疏约束的正则化
高维度和有限数量的训练样本会导致过拟合的现象产生,特别是当输入是三维立方体时。很容易获得输入数据的高维度可能导致过度拟合的情况。为了处理3-D CNN的问题,开发了一种基于稀疏约束的组合正则化策略,其包括ReLU和dropout,并在完全连接层中应用dropout。
可以使用不同类型的ReLU。在本文中,采用的ReLU是一个简单的非线性运算,如果它是正的则接受神经元的输入,而如果输入是负的则它返回0。在许多应用中,CNN中的ReLU可以改善性能[42]。
Dropout也是一种处理过拟合的方法。它将一些隐藏层的神经元的输出设置为零,这意味着丢弃的神经元在前向传递中没有贡献,并且它们不用于反向传播过程。在不同的训练时期,深度CNN通过随机丢弃神经元形成不同的神经网络。dropout方法可以防止复杂的co-adaptations[43]。
通过使用ReLU和Dropout,许多神经元的输出为0。我们在多个层使用多个ReLU和Dropout来实现深层网络的强大的基于稀疏的正则化,并解决HSI分类中的过度拟合问题。
5. 虚拟样本增强CNN
- 通过在将训练样乘以随机因子,再加上随机高斯噪声,得到新的虚拟样本:
是光强度干扰,β是随机高斯噪声的权重
- 由于物体与传感器之间的距离较远,混叠现象在遥感中十分常见。受这一现象的启发,可以从两个给定的具有适当比例的同类样本生成一个虚拟样本:
根据一个类的高光谱特征在一定范围内变化的事实,可以合理地假设在这个范围内的混合图像的结果仍然属于同一类。因此,在这里,我们将相同的训练样本标签分配给虚拟样本。
通过以上两种方法都可以得到增强的样本,然后将真实的训练样本和虚拟的训练样本结合起来作为训练样本,得到网络中合适的权值。虽然有许多其他方法可以生成虚拟样本,但改变辐射和基于混合的方法是简单而有效的方法。