DSSNet: A Simple Dilated Semantic Segmentation Network for Hyperspectral Imagery Classifification
DSSNet: A Simple Dilated Semantic Segmentation Network for Hyperspectral Imagery Classifification
DSSNet:一种简单膨胀语义分割网络应用于高光谱图像分类
Note:
- pixel-wise字面上的理解一样,一张图片是由一个个pixel组成的,这个是图像的基本单位,像素级别的
- image-wise图像级别,比如一张图片的标签是狗,是对整个图片的标注
- patch-wise介于像素级别和图像级别的区域,也就是块,每个patch都是由好多个pixel组成的*
摘要:
基于深度学习的方法在HSIC领域展示了很好的应用前景。然而,进来提出的方法将HSIC看作patchwise图片分类问题,解决方法是给出围绕某像素的patch的标签。本文提出了语义分割网络,可以通过端到端的方式直接标记每个像素点。与patchwise模型相比,我们的方法很好地改善了训练效果、减少了参数。在HSCI中另一个挑战是高光谱图像的空间分辨率非常低,池化操作可能导致分辨率和覆盖损失。为解决此问题,我们引入膨胀卷积,构建了膨胀语义分割网络(DSSNet)。DSSNet为不具备复杂结构的HSCI而设计,不需要预训练模型。联合空谱信息可以通过端到端的方式提取。因此,避免了预处理和后处理操作。
一.介绍
HSI由成百上千的连续波段组成,具有丰富的光谱信息。很高的光谱分辨率使得地物材料非常具有可区分性。HSIC:指的是标记HSI中每个像素点,这属于语义分割技术。
- 【2】-【6】之前的研究,直接采用patchwise策略,将CNN应用于特征提取。
最近,基于深度学习语义分割网络被应用于HSCI任务中。
- 【7】FCNs(全卷积网络):将预先训练好的网络转移到HSCI中,通过加权策略将提取的特征与光谱向量结合。
- 【8】通过多尺度卷积核残差学习完善FCN
- 【13】Con-deconv网络被提出,应用于无监督空谱特征学习。
- 【14】DeepLab通过迁移学习引入,其中输入HSI数据被简化为三个通道。
- 【15】针对基于FCN的HSCI问题,一种新的初始化策略被提出。
HSCI网络需要克服的两个缺点:
- CNN网络中的池化操作会降低HSI数据的分辨率;由于HSI的低分辨率,一些细节可能只在很少的像素中体现,通过几次池化操作,这些细节可能消失。这会损害分类精确度。
- 为了能使用一些预训练模型,HSI的维度需要减少至三个通道,这会导致光谱信息损失。
DSSNet动机:
- 避免池化导致的分辨率损失,从而保存HSI数据的细节。
- 无需通过迁移学习进行网络训练。
DSSNet主要贡献:
- 使用膨胀卷积策略避免了分辨率降低的影响,从HSI数据中聚合了多尺度的上下文信息。
- 构建了结构简单、端到端训练方式的语义分割网络,可以充分利用HSI数据中丰富的光谱信息。
二.方法详细阐述
A.膨胀卷积
池化操作在离散卷积中广泛使用。
第(l+1)层的第i个特征图描述如下:
f(.)----非线性函数
--------第(l+1)层的第i个卷积核、sl-------------第 l层的特征图数量;
池化操作:
kp×kp-----------------池化窗口的尺寸
KP---------------------尺寸为kp×kp的全为1的矩阵
Stride=kp
语义分割是稠密预测任务,其最终输出应该和输入的尺寸相同。因此,需要去卷积一类的操作。然而,HSI数据的空间分辨率有限,经过多层的池化操作后,一些细节可能消失,我们采取膨胀卷积来避免此问题。
-------------通过膨胀卷积获取到的第l层的第i个特征图
因此:
------------第(l+1)层的第i个卷积核
n-------膨胀因子,决定0元素在KD中的个数;
例如,2-dilated conv:
在(4)中,Wij是可学习参数,n-dilated conv指的是在Wij和W(i+1)j/Wi(j+1)之间存在(n-1)个0;例如(4)是2-dilated conv,W11和W13/W21之间只存在一个0元素。
Fig1:离散卷积和膨胀卷积的差别
输出层感受野的计算公式:
rout------------输出层的感受野;
rin--------------输入层的感受野;
Fig(a):卷积核尺寸3×3;池化尺寸2×2;conv stride=1;pool stride=2;
计算卷积后输出的感受野大小为(1 - 1) × 1 + 3 = 3;池化后输出的感受野大小为(3 - 1) × 2 + 2 = 6;
Fig(b):膨胀卷积核计算公式为:Kd = n×2+1;
输出层感受野计算公式:
所以输出的感受野大小为(1–1)×1 + (2 × 2 + 1) = 5。
结论:
膨胀卷积可以拓宽感受野,且不增加学习参数。同时,没有引入池化操作,意味着不存在分辨率损失,我们可以简单提取多尺度深层特征的同时保存HSI数据的细节。
B.DSSNet结构
如Fig2所示,由四个卷积层和两个全连接层组成。
- 卷积层包含操作:convolution、BN、ReLU;被描述为kernel size-----filters
number----dilation
factor;例如,conv-3-32-2,表示卷积核包含3×3非零权重,又因为dilation
factor为2,所以卷积核实际大小为5×5,滤波器组数为32组; Padding operation:使得输入输出的尺寸相同;
r--------------------感受野大小; - 全连接层操作:两个全连接层FC1、FC2,通过1×1卷积实现。FC1为所有像素生成512维的特征,FC2生成的维度数与类别数目一致。为减小过拟合风险,采取0.5 dropout操作。
- 输出与优化:输出通过softmax层映射到[0,1]之间,
--------------------------------------像素p经过FC2的输出向量
C----------------------------------------类别数
Xp©------------------------------------Xp中第c个元素
(8)式计算XP属于c类的概率;
选择交叉熵作为损失函数,动量随机梯度下降法作为优化策略,权值衰减(L2)进行正则化。基于Fig2,计算需要优化的参数数目,总共有199k个参数,需要778k的内存。
C.分析DSSNet
设计了PSSNet与DSSNet进行对比。
两者的参数、结构很相似,区别在于PSSNet中,每个卷积层的最后都设置了最大池化层(2×2,数)。即,PSSNet采用池化层扩展感受野,但DSSNet使用膨胀卷积扩展感受野。
Fig3对两者在PU数据集上得到的特征图进行了对比。Fig. 3(a)–© 是DSSnet得到的特征图, Fig. 3(b)–(d) 是PSSNet得到的特征图。我们可以观察到PSSNet得到的特征图有点模糊,而DSSNet则包含了更多细节。主要原因是DSSNet采取膨胀卷积代替了池化操作,从而避免了对HSI数据细节的损害,从而充分地利用HSI丰富的光谱信息。
三.实验
A.对比实验
采用数据集:Indian Pines (IndianP) and Pavia University (PaviaU);
Table1:DSSNet的超参数;
Table2:几种算法在Indian Pines (IndianP) 上的分类准确度对比;
Table3:几种算法在Pavia University (PaviaU) 上的分类准确度对比;
Fig4:几种算法的分类图;
B.消融实验
DSSNet网络的四种变形如下:
- net1:删除一个卷积层;
- net2:增加一个卷积层;
- net3:将膨胀卷积与池化操作结合;
- net4:增加FC层的神经元数目。
结论:对结果影响不大,浅层网络可能缺少表征能力(net1),增加神经元数目(net4)可能引入更多参数从而引起过拟合问题。
四.结论
提出的DSSNet充分利用了HSI特征,完整的HSI数据即网络的输入。为克服分辨率损失,引入膨胀卷积,实验证明有效。不同于一些需要预处理和后处理策略的联合空谱方法,DSSNet是端到端的网络。