张 月 张 栋 赵伟强 杜晓刚 雷 涛
(1.陕西科技大学电子信息与人工智能学院 西安 710021)(2.陕西科技大学陕西省人工智能联合实验室 西安 710021)(3.中电科西北集团有限公司西安分公司 西安 710065)
遥感技术通过远程传感器检测从地球反射的能量来收集数据,以获取有关物体或区域的信息,近年来,遥感图像中所蕴含的语义信息越来越丰富得益于遥感技术的迅速发展,同时基于遥感影像的图像分割技术也逐渐成为地理大数据更新的关键[1]。遥感图像分割有着广泛的应用范围,涉及资源勘探、灾后评估、环境监测、地物分类分析等方面,尤其是在军事战争模拟方面,从遥感图像中分割出的语义信息,对于真实战场地形的快速生成、环境的快速搭建有着极其重要的作用。因此如何针对遥感图像进行快速而准确的语义分割,提取出重要的语义信息,并进行后期应用和开发,是一项重要的研究。
近几年来深度学习的飞速发展,让图像分割技术又迈进了一个新时代[2~4]。图像分割技术在深度学习领域的应用主要是依靠卷积神经网络技术,全卷积神经网络(Full Convolutional Neural Network,FCN)是最早的分割网络,它是基于卷积神经网络由Long等提出的[5],全卷积神经网络是后续许多分割网络的基石。例如2015年Olaf Ronneberger等基于全卷积神经网络的思想提出了U形网络(U Shape Network,U-Net)[6]架构,U-Net网络的提出获得了诸多学者的高度关注,U-Net网络是一种经典的编码-解码网络,在小数据集分割任务中性能出色,目前U-Net网络已经被广泛应用于医学及遥感等领域。之后陆续有了更多的语义分割网络被人们提出,如SegNet[7]、PSPNet[8]、Deeplab[9]等,但是目前人们对遥感影像分割的研究大多数还是基于U-Net网络,例如Wang等提出了一种基于U-Net网络的特征融合方法,该方法使用膨胀卷积获取更多的全局特征,从而提升图像分割模型整合多尺度信息的能力,实验结果表明改进后的网络模型对遥感图像有较好的分割效果[10]。Lyu等提出了一种基于改进型U-Net网络的高分辨率遥感影像建筑物提取方法,该方法将空洞卷积加入到原始网络中,利用不同尺度的空洞卷积对网络编码部分进行多尺度特征提取与特征融合,实验结果表明该方法具有良好的鲁棒性和精度,能从影像中准确地提取建筑物[11]。上述网络都是以提取更多的信息特征为手段来提升遥感影像的分割精度,忽略了浅层特征信息的冗余,因此网络的特征学习能力一般。同时这些网络为了追求更高的分割精度往往会消耗巨大的内存,依赖于性能较高的硬件设备,不利于网络在移动端的部署,因此轻量化也成了许多学者的研究方向[12]。
针对上述问题,本文提出了一种轻量级U型网络(Lightweight U-Net,LU-Net)。本文在经典的分割网络U-Net上进行改进。我们在网络的跳跃连接部分添加注意力机制模块,让网络学习到很多有用的知识,减少无关信息的影响,同时将网络中的常规卷积全部用深度可分离卷积代替,减少网络参数量,在保证分割精度的同时实现网络轻量化。在ISPRS Vaihingen 2D Semantic Labeling Dataset数据集上进行了实验,结果表明我们提出的网络不仅在分割精度上有所提升,同时在内存和计算开销上也明显降低。
U-Net网络结构图如图1所示,它是一种经典的编解码结构。网络的编码部分主要是对输入图像进行特征信息提取,解码部分主要是对编码部分输出的特征图进行上采样,还原特征图尺寸。由于整个网络结构呈现U型结构,所以称其为U-Net网络。
图1 U-Net网络结构图
在网络编码部分,每进行两次卷积操作,就对特征图进行一次下采样,编码部分总共进行了四次下采样,相当于下采样了16倍;解码部分,每进行两次卷积操作,就进行一次上采样,与编码部分对称,解码部分进行了4次上采样,可以将特征图恢复成与输入相同尺寸。从网络结构图可以看出,U-Net网络主要进行了跳跃连接操作,网络将编码部分每层的输出都与解码部分上采样之后得到的特征图进行拼接融合,使用维度拼接的特征融合方法可以补全图像的边界信息,提高网络对图像边缘信息检测的精度。
LU-Net的整体网络结构如图2所示。原始的U-Net网络只是单纯的把同层的下采样层的特征直接连接到上采样层中,添加注意力机制模块之后,对下采样层同层和上采样层上一层的特征图进行处理后再和上采样后的特征图进行连接,同时将网络中的普通卷积全部替换成深度可分离卷积(注意力机制模块中的卷积不进行改变)。
图2 LU-Net网络结构图
在U-Net网络中,跳跃连接是为了避免在解码部分丢失大量的空间精确细节信息,但是由于网络刚开始提取的浅层特征有很多的冗余信息或者说刚开始提取的特征信息并不是很有效,这些相似的浅层特征信息不应该被重复提取。因此针对此问题,本文将注意力机制添加到网络的解码部分[13],该机制网络学习时,能够抑制背景像素的干扰,增加网络学习与目标区域有关的部分,即让网络集中注意力学到更加有用的信息。
注意力机制的内部原理如图3所示,该模块有两个输入,一是网络每次下采样得到的特征图g(Fg×Hg×Wg),另一个是上采样之前输出的特征图xl(Fi×Hx×Wx),两者首先经过1×1卷积运算分别得到,然后将得到的结果进行相加再通过ReLU激活函数得到随后再次进行1×1卷积运算并通过Sigmoid激活函数和上采样最终得到注意力系数,即
图3 注意力机制内部原理图
其中,Fg、Fi分别表示第g、i层的特征图数量,、为权重,bg、bψ代表偏置项,ψ代表大小为1×1的卷积核。
普通卷积是一组卷积核与输入特征图进行卷积运算得到最后的输出,而深度可分离卷积的本质是分组卷积[14],它将普通的卷积分解成深度卷积和1×1逐点卷积。深度卷积是对输入图像的每个通道应用一个固定大小卷积核用于学习每个通道的空间特征,1×1逐点卷积则是学习图像中每个像素点的特征信息,进行通道信息融合。
图4是普通卷积分解成深度可分离卷积的过程,图4(a)是普通卷积,图4(b)是深度卷积,图4(c)是逐点卷积。图中假设卷积核的大小为DK×DK,输入的特征图的大小为DF×DF,M和N分别表示输入特征图与输出特征图的通道数,普通卷积的参数量和计算量分别如式(3)与式(4)所示。
图4 普通卷积分解成深度可分离卷积过程图示
深度卷积的参数量与计算量分别如式(5)与式(6)所示。
逐点卷积的参数量与计算量分别如式(7)与式(8)所示。
故深度可分离卷积的总体参数量与计算量分别为式(9)与式(10)所示。
相比于传统卷积,深度可分离卷积的参数量与计算量均减少了:
通过计算发现深度可分离卷积可以有效降低网络参数量,本次实验使用深度可分离卷积代替U-Net网络中的常规卷积,减少模型参数量,实现网络轻量化,并且又在每一层卷积之后加入批归一化[15],防止过拟合,提高模型的鲁棒性。具体操作如图5所示。
图5 深度可分离卷积替换常规卷积操作
本次实验环境为处理器Intel(R)Xeon(R)CPU E5-1620 v4@3.50GHz,显卡NVIDIA GeForce GTX 1080,内存64GB,Windows64位系统;GPU加速库为CUDA 11.0;深度学习框架为PyTorch,版本:torch 1.7.1;开发环境为PyCharm,版本:2019.3.3;编程语言为Python 3.7;可视化工具为TensorboardX 2.4;python库NumPy 1.19.5。
本次实验选取ISPRS Vaihingen 2D Semantic Labeling Dataset遥感影像数据集[16],此数据集是在德国的Vaihingen上空距离地面9cm拍摄的。该数据集官方提供了16张影像的真实标签数据用于模型的训练、验证与测试。本次实验将遥感影像数据集划分为训练集、验证集和测试集,选择13张影像作为训练集,再从13张训练集里面选择3张作为验证集,剩余3张作为测试集。
原始的遥感影像尺寸较大,且数量较少,我们对数据集进行随机裁剪,裁剪成10000张256×256大小的训练集、2000张256×256大小的验证集,2000张256×256大小的测试集。同时为了确保数据集能够训练出有效的网络模型,使其具有鲁棒性,对训练集和验证集进行随机角度旋转、翻转、伽马变换以及添加噪声等数据增强的方式增强数据集。经过对原始遥感影像进行预处理操作,最终形成了10000张原图和对应标签构成的训练集、2000张原图和对应标签构成的验证集和2000张原图和对应标签构成的测试集,至此实验所需数据集建立完成。
图6 原图与标签图进行预处理后的训练集图像(部分)
为了定量评估模型在遥感影像中进行分割的效果,引入两个分割评价指标,分别为平均交并比(MIoU)和准确率Accuracy,计算形式如下:
图像分割的目标通常有很多类别,因此我们需要把每个分类得出的分数进行平均计算,得到Mean IoU,即MIoU。假设有k+1类(0...k),0通常表示背景类,则平均交并比(MIoU)的计算公式如式13所示。
其中k+1为图像中总的类别数,IoU为每个类别的交并比。
其中,TP代表样本为正,预测结果为正;FP代表样本为负,预测结果为正;FN代表样本为正,预测结果为负;TN代表样本为负,预测为负。
本次实验选用交叉熵损失函数(Cross Entropy loss function)和Adam优化器来对网络模型进行前向传播以及参数更新,超参数批数量(Batch)设置为2,迭代次数(Epoch)为200,学习率(Learning Rate)为0.0001,最终loss逐渐收敛,如图7所示,从图中可以看出,LU-Net网络的收敛速度明显快于U-Net网络,证明了加入注意机制模块后可以有效地加快网络的学习速度。
图7 loss曲线对比图
为了验证本文提出的深度学习网络模型在遥感图像分割任务中的有效性,将实验结果与U-Net网络模型进行分割结果对比,实验中使用相同的训练样本和验证样本,结果如表1所示。
表1 不同分割模型性能指标对比
表1展示了不同分割模型的性能,从结果可以看出LU-Net网络模型在验证集上的MIoU达到了69.85%,准确率达到了82.92%,相比于U-Net网络模型的MIoU提高了2.81%,准确率提升了0.94%;同时,LU-Net网络模型参数量仅有9.835M,计算量仅有26.028GFlops,相比于U-Net网络模型参数量减小了68.32%,计算量减小了52.45%。实验结果表明LU-Net网络模型无论是在分割精度和准确率上,还是模型大小和计算量上,都远远优于U-Net网络模型。
为了更加直观地反映出LU-Net网络模型的分割效果,本文选取小区域的图像进行可视化。如图8所示,从图中可以看出,LU-Net网络的分割效果明显优于U-Net网络,表明网络的注意力机制模块可以让网络很好地学习有用的知识,同时抑制背景信息,提升分割精度。
图8 不同分割网络下的结果图对比
本文设计了一种新的用于遥感影像分割的轻量化网络——LU-Net。本文在首先在网络的跳跃连接部分添加注意力机制模块,减少网络的信息冗余,提高网络的学习能力,其次,为了加快网络计算速度,消耗较少资源,本文使用深度可分离卷积代替常规卷积以减少网络参数量,实现网络轻量化,在保证网络对遥感影像分割精度的同时提升网络的泛化能力。实验结果表明,LU-Net的网络模型参数量明显减少,同时分割精度相比于U-Net网络有一定的提升。但是整个网络结构尚有很大的改进空间,在一些更为细致的分割目标上还存在问题,未来重点将对网络架构进行优化,进一步提升分割精度和速度。