黄 聪,周 坤,安学刚
(1.兰州交通大学电子与信息工程学院,兰州 730070;2.国华卫星数据科技有限公司,兰州 730050)
近年来随着高分辨率对地观测技术的进步,各个国家认识到了高空间分辨率卫星遥感带来的巨大经济效益,并高度重视其发展。高分辨率遥感图像包含众多种类的语义场景信息和精细的空间尺度信息,可以清晰地表示地物的详细特征、纹理特征和几何结构,对于提升分割精度有很大的帮助,因此被广泛地应用在农业、林业、抢险救灾和环境保护等领域[1]。
语义分割是对高分辨率遥感图像处理过程中不可或缺的步骤。遥感图像的语义分割是针对每一个像素进行划分,在标注数据的时候给图像中每个目标区域的像素打上标签,进而区分出不同地物,在城市规划、环境监测、灾难评估等领域[2]有着广泛的应用。鉴于语义分割有着广泛的应用前景,国内外学者已提出了大量的方法来提高语义分割的性能。在众多方法中,基于深度学习的方法因能自动学习复杂数据内部的抽象特征而受到研究人员的青睐。文献[3]第1 次采用全卷积神经网络(fully convolutional networks,FCN)进行端到端的语义分割,但由于没有考虑到像素与像素之间的关系,因此分割结果不理想;随后,文献[4-8]提出Deep Lab系列模型,使用空洞卷积进行上下文信息提取,经过Deep-Lab V1到Deep Lab V3+的发展不断提升分割性能;文献[9]提出金字塔场景分析网络(pyramid scene parseing network,PSPNet),利用图像的全局上下文信息实现复杂场景下的图像分割;U-Net[10-11]网络采用编码器-解码器-跳跃链接,有效提高了小目标分割精度:但是,上述这些方法仍存在相邻地物之间边界难以区分、边界模糊现象。pix2pix[12]使用U-Net作为分割网络,并使用一种“PatchGAN”结构作为判别器,通过引入对抗学习框架可以显著提高模型的泛化能力,从而有效地提高了遥感图像的分割精度,比基于全卷积神经网络的语义分割方法具有更高的分割准度[13-14]。针对上述文献中出现的分割边界粗糙、错分和漏分割问题,本文提出一种改进的pix2pix模型:在特征提取阶段,在pix2pix 模型的编码器部分连接空洞空间金字塔池化(atrous spatial pyramid pooling,ASPP),以便通过提取多尺度信息来提高分割性能;同时为了更好地分割地物边界,在跳跃连接部分加入空间注意力机制(spatial attention mechanisms,SAM),以增强边缘信息,进一步优化分割边界的精度。
近年来,生成对抗网络(generative adversarial network,GAN)在计算机视觉技术领域表现优异,在高分辨率遥感图像分割中应用广泛。2014 年Goodfellow 等[15-16]受来自博弈论中的“二人零和博弈”启发提出GAN。GAN 模型包含两部分:生成模型(generative model,简称G)和判别模型(discriminative model,简称D)。生成模型G产生新的数据样本(它通过捕捉样本的数据分布提炼出真实数据样本的隐含信息来实现);判别模型D(实质就是一个二分类器)能把输入的数据巧妙地判断是真实的数据样本还是生成模型生成的数据样本,并给出样本训练数据的概率。生成模型和判别模型不断地更新权重值,使判别模型区分输入样本来源的能力不断提升,这将促使生成模型生成更逼真的样本来迷惑判别模型,而生成模型能力的提高又促使判别模型提高其判别能力。在相互对抗的过程中,两者共同进步,最终达到纳什均衡。二者间的竞争关系可由式(1)所示的损失函数表示。
其中:x为真实数据,z为生成器输入的随机向量,G为生成器,D为判别器,D(x)表示输入为真实数据时判别器的输出,D(G(z))表示输入为生成器生成的数据时判别器的输出。
由于传统的GAN 未假设样本数据的分布规律,当出现数据维度较高且分布复杂的样本时,无法控制GAN 的训练,因此,条件生成对抗网络(conditional generative adversarial nets,cGAN)[17]首次将条件标签引入GAN 模型,通过对模型增加条件(额外的信息)来指导生成数据过程。借鉴cGAN 的结构,使用成对的数据,文献[12]提出一种特殊的cGAN,即pix2pix,利用该网络解决了高质量的图像到图像的转换任务。cGAN 通过添加条件信息的方式对图像生成进行指导,如果把这个过程中的条件换成输入图像,那么通过对输入图像到输出图像之间的映射关系的学习,以及通过学习损失函数去训练这个映射,就能解决通用的图像到图像的转换问题。
pix2pix由1个生成器和1个判别器组成,实现原理如图1所示,其中:z为随机噪声,y为与x对应的真实实体图片样本,{y,x}和{G(z),y}为判别器D的输入。cGAN 的条件为y,生成器G输入为{y,z}时得到生成图像G(z)。
图1 pix2pix结构示意图Fig.1 Pix2pix structure diagram
pix2pix使用改进后cGAN 的目标函数,如式(2)所示。
L1损失函数用来约束生成图像G(z)和真实图像y之间的差异,表示为:
pix2pix的最终优化目标函数表示为:
即G需要通过多次迭代训练使目标函数尽量最小化,而D则是使目标函数最大化。这里使用L1损失函数的目的是希望降低生成图像的模糊度。
pix2pix采用U-Net充当生成器。U-Net是一个编码-解码结构,左边是编码器部分,负责特征提取,从而得到特征图,随后通过解码器恢复到输入时的分辨率。跳跃连接也是U-Net网络的一个关键特征。通过级联将解码器中的上采样图像和编码器中对应分辨率层的输出图像一同输入到解码器的下一层,从而融合低层特征和深层的语义信息,在提高网络表达图像信息能力的同时,又可以有效地训练网络,加快收敛速度。
由于遥感图像覆盖的区域动辄数十公里且场景复杂多变,针对地物复杂度高的植被、建筑物等对象的精确区分以及地物边缘的清晰分割仍存在挑战。经典的pix2pix模型在特征提取过程中采用池化操作,使特征图的长和宽均变小,从而丢失了部分像素的细节信息,导致上采样恢复的特征图边界分割精度较差。ASPP模块能够多尺度捕捉上下文特征信息,缩减训练的时间。SAM 能够在空间维度上加强有用的边界特征,并抑制无效特征,从而提高分割的准确性。基于此,本文模型的网络架构以第2 节pix2pix网络为基准模型进行改进。网络结构由分割网络和判别网络组成,如图2所示。
图2 改进的网络结构Fig.2 Improved network structure
在分割网络中,编码网络的每个下采样阶段使用2个相同的卷积层堆叠方式进行特征提取,将批量归一化操作和ReLU(rectified liner uints)激活函数用于每个卷积层后,而后采用ASPP 对特征图进行上下文特征的提取,其目的是将高级特征和低级特征更好地融合在一起,从而减少池化操作导致的空间和细节信息的丢失,保留更多有效的特征信息,提高特征提取准确度。在跳跃连接中加入空间注意力机制,通过多尺度的跳跃连接结构将深层和浅层信息充分结合,通过获得更清晰的定位和边缘信息来提高分割精度。
判别网络结构采用卷积层、批量归一化、LeakyRe-LU(leaky rectified liner uints)激活函数组成。以真实的语义分割标注图或分割网络分割的结果图像作为输入,输出的是一张置信图,它的每一个元素只有真或假2个选择。
在图像分割领域中,感受野是影响图像分割精度好坏的一个重要因素。空洞卷积[18](atrous convolutions)是针对图像语义分割问题中池化操作会降低图像分辨率、丢失信息而提出的一种卷积思路。通过在普通卷积核的每个像素之间填充值为0的像素,同时增加网络的扩张率(dilation rate),可以有效增大感受野且不增加模型参数或者计算量,使每个卷积都输出较大范围的信息。增大感受野可以令分割结果更加准确。感受野的大小受卷积核尺寸的制约,随着卷积核的尺寸增大,所提取的特征图包含的细节信息增多,从而提高网络的学习能力。
在进行特征提取时,利用ASPP结构能够充分提取图像的复杂特征,有效地捕获不同尺度下的特征点,从而提升卷积过程的效率。ASPP结构如图3所示。它借鉴了空间金字塔模型的思想,由不同大小的空洞卷积核组成。大扩张率的空洞卷积可以获得大范围的感受野,更有利于捕捉大尺度物体信息和全局信息,但局部信息容易丢失,此时局部信息可以靠小扩张率的空洞卷积来补偿,最后再将特征进行融合并输出。
图3 ASPP结构图Fig.3 ASPP structure diagram
在高分辨率遥感图像中,不同位置的空间信息在价值上存在差异。在低层特征图中不仅有边缘信息,也包含了很多不重要的背景,这些不重要的背景容易干扰物体边缘信息。空间注意力机制[18]通过为边缘信息特征值分配1个权重,修复图像像素的定位,精细化分割边界,使得低层特征图中很多不重要的背景信息得到抑制,引导网络选择有用特征。SAM 结构如图4所示。首先,将输入特征图每个通道中相同位置的元素进行全局池化,得到1个空间描述符,用以捕获目标图像的边缘信息(包含水平和垂直方向);接下来,使用该空间描述符进行卷积操作(7×7的卷积核),生成1张二维的空间注意力权重图;最后,为得到空间注意力加权图,把该权重图与原输入特征图的每个通道进行逐元素相乘。
图4 空间注意力机制Fig.4 Spatial attention mechanism
本文采用Vaihingen 和GID(Gaofen Image Dataset)2个公开数据集,其中Vaihingen数据集由ISPRS 提供,研究区域为德国的韦兴根地区(Vaihingen)。如图5(a)所示,该数据集由航空正射图像构成(共33张,尺寸不同),每幅图像具有对应于近红外(NIR)、红色(R)和绿色(G)波长的3个波段,图像分辨率为9 cm。在这些图像中,容纳了一部分手动标注的像素级标签数据。此数据集包含5类地物:建筑、低矮植被、树木、地表和汽车。GID数据集由武汉大学夏桂松团队制作(见图5(b))。该数据集由150张Gaofen-2(GF-2)的高分辨率图像(7 200像素×6 800像素)组成。这些图像覆盖了超过50 000 km2的地理区域,包括建筑物、农用地、公路、湖、工业用地和河等分类。
图5 Vaihingen数据集和GID数据集Fig.5 Vaihingen data set and GID data set
首先将图像转换为RGB三通道图像,然后利用移动滑窗的方法将Vaihingen图像和GID 图像的尺寸裁剪为768像素×768像素。裁剪后,Vaihingen数据集产生了1 182张768像素×768像素的图像,GID 数据集产生了5 440张768像素×768像素的图像。
本文实验中计算机配置为:Ubantu18.04操作系统,2 块Nvidia P4000 显卡,Intel(R)Xeon(R)Gold5115 CPU@2.40 GHz、2.39 GHz(2个处理器),128 GB内存。软件环境使用Python3.7,Pytorch框架。在本实验中,批量大小设置为1 000,程序运行的迭代次数设置为200,整个网络使用Adam 优化器进行优化。
为了更客观地验证本文方法的优势,采用精确率(P)、召回率(R)、F1-score(F1)和平均交并比(mean intersection over union,mIo U)作为评价指标。精确率用于衡量图像识别方法的精度,当干扰项在结果中越少时,精确率越高;召回率用于衡量在图像识别方法中对目标结果的覆盖情况,正确结果占总体目标的比例越高,召回率越大;F1-score是精确率和召回率的调和平均数。P、R、F1计算方法如下:
式中:TP为被模型预测为正类的正样本,FP为被模型预测为正类的负样本,FN为被模型预测为负类的正样本。
对于不止一宗类别的语义分割模型,往往使用平均交并比反映模型的识别精准度。分别对每个类计算交并比(真实标签和预测结果的交并比),然后再对所有类别的交并比求均值。其计算式如下:
式中:χmIoU为平均交并比;k为类别,这里假设包括无效类或背景在内有k+1个类;Pij为本属于类i但预测为类j的像素数量;Pii为真实正例的数量;Pij和Pji分别为错误正例和错误负例。
实验选取了目前主流的全监督语义分割模型FCN-8s[2]、Deeplabv3+和pix2pix与本文提出的语义分割网络进行对比,在Vaihingen数据集上的分割结果对比见图6。由图6可以明显地看出:本文算法分割结果中每类地物的边界较清晰,这是因为本文在编码器中加入了ASPP,同时在解码器的每层加入了SAM,这样做既能够提取到多尺度的上下文信息,又增强了边缘轮廓特征,因此对各类地物边缘的细节信息分割效果较好。其它模型都存在分割模糊现象:FCN-8s存在明显的欠分割和漏分割现象,主要表现为建筑物存在明显遗漏和错分割,这是因为FCN-8s网络存在多次下采样,导致目标特征大量丢失;Deeplabv3+虽然比FCN-8s提高了语义分割的能力,但也存在没有充分利用骨干网络中产生的多阶段高分辨率特征图的情况,从而导致特征图中边缘、轮廓信息丢失,使得分割效果较差。
图6 Vaihingen数据实验图Fig.6 Vaihingen data experiment diagram
表1列出了各方法在Vaihingen数据集上进行语义分割后所获得的精确率(P)、召回率(R)、F1-score(F1),其中FCN-8s和Deeplabv3+为常见的全监督学习语义分割算法。从表1中可以看出:相较于FCN-8s方法,本文方法的建筑物、公路、低矮植被、树木、汽车的精确率分别提高了7.32、12.87、8.60、11.28、22.90个百分点;相较于Deeplabv3+方法,本文方法的建筑物、树木、汽车的精确率分别提高了9.24、2.92、5.12个百分点;相较于pix2pix方法,本文方法的建筑物、公路、低矮植被、树木、汽车的精确率分别提高了9.72、2.11、0.62、6.43、7.68个百分点。表2 列举了本文方法与其它方法在Vaihingen数据集上进行语义分割后所获得的mIo U。由表2可以看出:本文方法的mIoU 为82.69%,相比于pix2pix算法高出8.17 个百分点。仿真结果表明:本文方法对高分辨率遥感图像地物分割表现最优。
表1 各实验方法的精确率、召回率和F1-score对比Tab.1 Comparison of precision,recall,and F1-score of various experimental methods%
表2 本文方法与其它方法的mIoUTab.2 MIoU of this method and other methods %
接着,在GID数据集上进一步验证本文方法的性能。本文方法与FCN-8s、Deeplabv3+、pix2pix方法在GID数据集上的实验结果对比见图7。由图7可以看出:本文方法对高分辨率遥感图像地物分割表现最优。
图7 GID数据实验图Fig.7 GID data experiment diagram
表3列出了各方法用于建筑物、农用地、公路、湖、工业用地、河流的精确率、召回率和F1-score。由表3可以看出:相较于使用FCN-8s方法,本文方法分割建筑物、农用地、公路、湖、工业用地、河流的精确率分别提高了6.53、12.17、1.18、7.63、12.85、5.73个百分点;相较于Deeplabv3+方法,本文方法分割农用地、公路、湖、河流的精确率分别提高了1.57、12.35、2.58、1.75个百分点;相较于使用pix2pix方法,本文方法分割建筑物、农用地、公路、湖、工业用地、河流的精确率分别提高了10.09、13.74、14.11、13.32、14.85、6.54个百分点。表4 列举了各方法在GID 数据集上对建筑物、农用地、公路、湖、工业用地、河流进行语义分割时所得到的mIo U。由表4可以看出:本文方法的mIoU 为81.27%,相比于pix2pix算法提高5.92个百分点。仿真结果表明:对于大多数地物来说,本文方法与其他常见主流方法的分割效果相比能够达到最优或次优,分割结果的完整性和正确性较高。
表3 本文方法与其它实验方法的精确率、召回率和F 1Tab.3 The precision,recall and F 1 of this method and other experimental methods%
表4 本文方法与其它方法的mIoUTab.4 MIoU of this method and other methods %
本文提出了一种改进的pix2pix模型用于遥感图像语义分割,通过引入ASPP,使多尺度特征融合时充分利用了上下文信息,提高了图像分割的准确性;通过加入SAM,增强了地物边缘的细节信息,提高了网络模型对地物的分割能力。仿真实验结果表明:本文方法相比其他经典方法分割效果显著,解决了遥感图像语义分割任务的错分、漏分及边界模糊等问题,提高了分割精度。此外,本文方法对高分辨率遥感图像在分割地物边界信息方面有特定的参考价值,为将深度学习应用于遥感图像语义分割提供了解决方案。