一种改进Unet网络的遥感影像分割算法

时间:2023-09-10 15:35:11 来源:网友投稿

李娇娇,刘志强,宋 锐,李云松

(西安电子科技大学 综合业务网理论及关键技术国家重点实验室,陕西 西安 710071)

语义分割是计算机视觉中的一项基础技术,其目的是对图像中每个像素点的目标类别进行预测。该技术在很多具有挑战性的领域中被广泛应用,如医学影像病灶分析、精准农业地质检测、影视面部表情分析、时尚服装解析和自动驾驶等。

近年来,研究者们提出了很多基于全卷积网络(Fully Convolution Networks,FCN)的语义分割算法[1]。然而,由于遥感影像分割中目标具有复杂的几何拓扑结构以及基于网络的分割方法自身感受野有限,在遥感影像语义上下文内容建模时,存在对边缘语义信息利用不足的缺陷。为了弥补在语义上下文内容建模中的不足,部分研究者在上下文依赖关系上进行了广泛且深入探索[2-5],从而一定程度地改善了算法的分割效果。主要方法可以归纳为两类:一种是采用了金字塔模块;
另一种是从图像通道或空间方面对长距离的依赖关系进行适应性建模。采用金字塔结构主要是利用不同尺度的卷积和池化层来扩大模型的感受野,例如:Deeplab中的空洞空间卷积池化金字塔模块(Atrous Spatial Pyramid Pooling,ASPP)[2]和PSPNet中的金字塔池化模块(Pyramid Pooling Module,PPM)[3]。图像通道或空间建模主要是根据图像通道或空间各特征重要程度,增强或者抑制不同的通道或部分空间,例如,EncNet[4]在通道维度学习特征图的权重以及Non-local[5]模块利用注意力机制获得周边像素点的上下文信息。虽然这类算法在一定程度上获得了较好的分割结果,但是无论是以固定的方式还是以渐进式的学习方式聚集上下文信息,现有的这类算法的上下文内容聚合模块通常都缺乏对边缘先验信息的充分利用,造成目标区域的分割结果具有较大的误差,即同一分割目标被分割为不同对象,而不同分割目标被分割为同一类别。

为了解决缺乏明确边缘先验信息的前提下分割区域分割结果误差较大的问题,一些研究者也探索了将多尺度语义信息和上下文内容依赖关系导入到网络架构设计中。例如,MDCCNet[6]首先在整个网络结构中融合编码模块不同尺度的特征信息,然后通过捕捉到不同尺度的目标边缘来自适应地将其纳入到解码模块,提高了分割精度。文献[7]也提出了一种带有注意力机制的编解码架构,利用一种改进的残差模块用于捕获边缘部分的特征信息。尽管这类算法考虑了将边缘信息融入到网络结构的设计中,但是从分割的结果中分析可知,该类算法通常计算复杂度较高,其边缘分割的效果依然无法满足实际的应用需求。此外,上述方法在很大程度上依赖于编码阶段边缘提取的准确性,因此容易造成边缘区域被误分类。

考虑到物体的边缘区域容易被误分类,笔者研究了一种边缘二值化交叉熵损失函数用来改善遥感影像的分割性能。该方法只建模图像内部像素和边缘之间的依赖关系,因此能有效地解决类间依赖和类内模糊问题,使得分割结果的边缘更贴近真实图像中的目标边缘。笔者在研究中进一步注意到,传统的语义分割后处理模块将边缘作为有效信息加入到网络中可凸显分割目标边缘特征。针对遥感影像语义分割任务的特点和需求,笔者提出了基于改进Unet的端到端的遥感影像语义分割网络。文中主要贡献总结如下:

(1)为了充分利用遥感影像中边缘特征,设计了简单高效的边缘提取模块。通过主干网络中各层语义特征信息与Canny分支直接提取的影像边缘信息融合来提高网络对边缘的学习能力。

(2)在边缘提取模块的基础上,设计了边缘引导上下文聚合模块,有效捕捉全局信息,增强网络在分割对象上类内的一致性。

(3)在边缘提取模块的基础上,设计了二值化交叉熵损失函数,在网络编码阶段进一步约束了遥感影像边缘,提高了网络对边缘特征信息的感知能力。

1.1 语义分割网络

近年来,基于卷积神经网络(Convolution Neural Network,CNN)的方法在语义分割领域占据主导地位。通过用卷积层取代全连接层的全卷积网络(FCN)[1]开创了CNN在语义分割中应用的先河。最近,许多研究集中在捕捉更丰富的上下文信息以增强特征表示,其中多尺度的金字塔模块[2]对性能有很大的提升。例如,文献[8]研究了PSPNet中的PPM来聚合不同尺度的上下文信息,而文献[2]则研究了ASPP模块来聚合不同尺度的上下文信息。此外,为了克服卷积核固定大小的限制,一些基于全局池化的方法[9-10]和基于图卷积的方法[11-12]被引入网络结构以感知全局环境。为了克服标记的训练数据的限制,文献[13]研究了一种半监督的方法并获得了比较先进的结果。笔者的研究也利用了上下文信息,但将边缘作为更有效且明确的约束。

1.2 语义分割中的边缘信息

边缘作为图像中的重要元素在计算机视觉各类任务中一直受到广泛的关注。在早期基于FCN的语义分割研究中,文献[14-17]利用边缘信息导入网络架构末端,以此来提高分割精度。近年来,一些研究者正开始明确地将边缘检测建模为一个独立的子任务,该子任务与分割主任务并行。例如,文献[13]和文献[14]在分割网络架构中专门设计了一个边缘分支,将边缘和语义建模这两个任务结合起来。文献[17]提出,物体边缘和目标本体对应于图像的高频和低频信息。在此基础上,他们对目标本体和边缘进行了解耦。与此同时,目标本体和边缘有不同的监督。文献[18]研究了边缘感知特征传播模块(Boundary aware Feature Propagation,BFP)来传播物体内部像素之间的信息。边缘感知特征传播模块在物体的内部像素中传播信息。然而,在BFP中一旦检测到边缘没有形成闭环,整个特征图就会变得过于平滑。因此,该方法大大降低了类间的区分度。与现有的研究不同,笔者的工作明确地利用边缘信息进行上下文聚合,用于进一步提高语义表征。

1.3 语义分割中的注意力机制

注意力机制已经在深度神经网络中得到了广泛而积极的利用。对于语义分割,文献[19]提出了一项开创性的工作,利用注意力对多尺度特征进行重新加权。受机器翻译中自我注意力模块的启发[20-22],文献[4]提出了Non-local模块,通过计算所有位置的像素的相关矩阵来捕捉全局依赖性,并应用它来生成新的特征表示。基于Non-local模块,许多方法[23-25]被提出用于更精确的语义分割。笔者的边缘上下文内容聚合模块也受到注意力机制的启发,在此基础上提出了一个不同但更有效的网络。该网络主要关注边缘区域的位置。当发生类内歧义时,这种解决方案比以前的方法能更有力地加强类内的相关性。

笔者所提出的方法明确地将边缘建模为上下文内容,确保同一物体的内部像素在上下文聚合后获得类似的增益。如图1所示,该方法采用了残差网络作为其主干[10],其原始卷积被空洞卷积所取代以扩大感受野。此外,笔者设计了多尺度边缘提取器,将边缘预测作为一个独立的子任务与主干网络特征学习一起建模分割过程。通过聚合骨干网各阶段的不同尺度的特征以捕捉具有不同语义的边缘信息。利用多尺度边缘提取模块提取的语义信息嵌入到边缘特征中以方便进行语义聚合。笔者在语义特征图中的每个像素和边缘特征之间建立关系以产生一个注意力图。该注意力图中同一类别的物体边缘区域被高度激活。通过沿着边缘聚合语境信息,同一类别的像素可以获得类似的收益,从而增强语义的一致性。

图1 网络整体架构图

2.1 边缘提取模块

考虑到边缘特征被用来引导语义内容的聚合过程,并且它们与主干网络相互联系,因此边缘提取模块直接采用主干残差网络的中间表征作为其输入。笔者在主干网络和边缘网络之间增加了4层连接,以使低级的特征信息和高级的语义信息能够在支干网络中流动,从而使低层次的细节和高层次的语义都能得到充分利用。如图1所示,来自主干残差网络每个阶段的最后一个剩余块的特征图先被送入边缘提取器,然后经过一个3×3的卷积层以使其通道统一为256。由于边缘特征与主干残差网络相互流通,因此它们传达了语义相关的信息。为了使边缘区域更为突出,多尺度的特征直接受到从分割数据集中产生的二元边缘标签的监督。最后,多尺度特征和来自Canny算子及膨胀数学形态学操作的边缘特征通过拼接操作连接在一起,用于下文中的上下文聚合模块。

2.2 边缘引导上下文聚合模块

笔者利用边缘自身对分割的引导能力,将其作为上下文语义来加强类内一致性。受Non-local[5]在语义分割中成功建模的启发,笔者设计了一个基于注意力的模块,即边缘引导上下文聚合模块,以聚合主干网络多尺度语义信息和边缘提取支干的边缘信息。与原来计算自我注意力的Non-local模块不同,边缘特征作为边缘引导上下文聚合模块的关键,其使用了具有丰富语义的多尺度特征,并且只有边缘区域是突出的。因此,来自同一物体的像素会激活相似的注意力区域,而来自不同物体的像素则相似度较低。

2.3 分割算法损失函数

笔者提出的算法主要分为两个部分:主干网络和边缘提取支路。主干网络主要用来提取语义信息,边缘提取网络主要提取边缘信息。对应这两部分分别设计两个损失函数。对于主干分割网络,采用带权交叉熵损失函数Lseg,可表示为

(1)

(2)

其中,N表示总的像素个数;
Nc表示标注类别为c的像素数;
yc是一个one-hot向量,元素只有0和1两种取值,如果该类别相同就取1,否则取0;
Pc表示预测样本属于c的概率。

对于边缘提取分支,采用二值化交叉熵损失函数Ledge,可表示为

(3)

L=λ1Lseg+λ2Ledge。

(4)

由于训练过程中单独使用Lseg和Ledge在接近收敛时其结果的数量级不一致,因此通过系数加权的方式使其度量尺度保持一致。据文中3.1节的实验设置,带权交叉熵损失函数Lseg最终收敛于约0.02,而Ledge最终收敛于约0.002,因此文中根据实验结果,系数λ1和λ2分别设置为1和10。

3.1 数据集描述和实验基本设置

笔者在“天智杯”人工智能挑战赛、ISPRS Vaihingen和Potsdam基准中发布的数据集上,验证了文中提出的方法。“天智杯”数据集的标签包括5个不同的常见土地覆盖类别:农场、道路、水源、植被以及背景。ISPRS数据集包括6种最常见的土地覆盖类别:不可渗透表面、建筑物、低矮植被、树木、汽车和杂物/背景。

“天智杯”数据集包含23张分辨率为7 400×4 950的遥感影像(包括对应的标签)。每一幅图像包含3个通道:红、绿和蓝。根据“天智杯”人工智能挑战赛比赛说明,其数据集中12张用于训练,6张作为验证数据,其余的遥感图像用于测试。ISPRS Vaihingen挑战赛数据集包含各种独立建筑和小型多层建筑,涉及33个不同大小的正摄影像,由Vaihingen(德国)镇上空的近红外、红色、绿色和蓝色通道航空相机获取。每张图像的平均尺寸为2 494×2 064,空间分辨率为9 cm。笔者使用其中12张带标注的图像来训练网络,4张图像来验证模型性能,其余17张图像作为测试集来评估分割的准确性。ISPRS Potsdam挑战数据集包含38个正摄的同尺寸图像块,大小为6 000×6 000,空间分辨率为5 cm,覆盖Potsdam(德国)。该数据集提供了近红外、红色、绿色和蓝色通道,训练集有20张图片,验证集有4张图片,测试集有14张图片。

笔者实验的硬件和系统配置为别为GeForce GTX2080Ti和Ubuntu16.04。实验的基本软件包括Python 3.6、CUDA 9.0、Pytorch 1.1.0等。为了提高笔者提出方法的泛化性能,在数据增强中随机采用了一些图像增强操作,如旋转、翻转等。此外,由于数据集的样本不平衡,笔者引入了样本均衡化来提高训练过程的有效性。一方面通过亮度调整、噪声添加等数据增强操作,增加了样本中占比较少的道路元素的数量;
另一方面随机从占比较多的植被、农场和水源的图像中抽取与占比较少的道路元素图像数量相当的数据组合成训练集进行模型训练。为了避免硬件资源限制造成的问题,图像被裁剪成512×512分辨率的图块,其中行和列的跨度都是256像素。在训练过程中,Adam优化采用批大小为8,学习率初始化为0.000 02且以系数1.5的多项式函数作为衰减策略。

3.2 实验评估指标

笔者提出的算法的性能由以下3个指标衡量:总体准确度(Overall Accuracy,OA)、平均交并比(mean Intersection over Union,mIoU)以及F1得分。

总体准确度作为语义分割直观的评价指标,计算出正确分类的像素数量与总像素数量的比率,代表了总体像素的一般评估结果。总体准确度ROA可以按以下方式计算:

(5)

其中,Pii表示将第i类分成第i类的像素数量(正确分类的像素数量),Pij表示将第i类分成第j类的像素数量(所有像素数量)。

平均交并比通过对除背景之外的所有标签类别的交并比进行平均而得到。假设总共有k+1个类别(从0到k,0代表背景),平均交并比RmIoU可以计算如下:

(6)

F1得分被定义为召回率和精确度的调和平均值,其计算方式如下:

(7)

其中,Rrecall和Rprecision分别代表召回率和精确度。

3.3 模型消融实验结果对比

本实验是在“天智杯”数据集上测试的结果。表1中,方法a代表骨干网络Unet;
方法b代表不加入Canny算子和膨胀数学形态学操作分支的边缘模块与边缘引导上下文聚合模块共同构建的方法;
方法c为使用完整边缘提取模块和边缘引导上下文聚合模块共同构建的方法;
方法d在方法c的基础上添加了损失函数Ledge。由表1中结果可知,与骨干网络Unet的结果相比,使用文中提出的模块均能有效提升遥感影像分割的性能,方法b,c,d与方法a相比,RmIoU值分别提升了的0.61%,1.11%,2.34%。分析可知,方法c比方法b提升更为显著的主要原因在于Canny算子和膨胀数学形态学操作能增加更细致的边缘信息。而方法d效果最为明显,说明损失函数Ledge的加入进一步加强了对遥感影像的边缘约束。可视化结果如图2所示,其结果与量化分析结果一致。

表1 模型消融实验量化实验结果对比

图2 模型消融实验可视化结果对比图

3.4 与经典语义分割网络对比

本实验是在“天智杯”数据集上测试的结果。表2中第2列至第5列分别表示分割算法在各类别中的分割IoU结果。从表2的结果可知,笔者的算法在农场和道路上的分割效果与其他经典算法相比是最佳的;
在水源和植被上的分割效果上与最佳分割算法相比,其结果具有一定的竞争力。从最后的统计结果分析可知,在ROA和RmIoU上均达到最佳,分别为84.5%和68.6%。可视化结果如图3所示,其结果与量化分析结果一致。

表2 与经典分割网络量化实验结果对比 %

图3 与经典网络可视化实验结果对比图

3.5 不同数据集分割结果

本实验是在ISPRS数据集上测试的结果。表3为不同分割网络在ISPRS Vaihingen挑战赛数据集上量化实验结果对比。从表3可知,笔者的算法在不可渗透表面、树木和汽车类别分别达到93.4%、90.2%和89.6%最佳F1值。另外,CASIA2和BKHN10在建筑物类别上达到最佳F1值96%。而笔者的算法与最佳结果仅仅相差0.1%。因此,笔者的算法在建筑物类别的分割上获得了具有竞争力的效果。最终,笔者的算法在ROA和F1均值两个指标上均取得最佳结果。不同分割网络在ISPRS Vaihingen挑战赛数据集上可视化结果如图4所示,其结果与量化分析结果一致。

表3 不同分割网络在ISPRS Vaihingen挑战赛数据集上量化实验结果对比 %

图4 不同分割网络在ISPRS Vaihingen挑战赛数据集上实验结果可视化对比图

表4为不同分割网络在ISPRS Postdam挑战赛数据集上量化实验结果对比。从表4可知,笔者的算法在低矮植被、树木和汽车3个类别分别达到89.0%、89.6%和96.3%最佳F1值。在不可渗透类别和建筑物类别上依然获得具有竞争力的结果。最终,笔者的算法在F1值上达到93.1%的最佳F1值。不同分割网络在ISPRS Postdam挑战赛数据集上可视化结果如图5所示,其结果与量化分析结果一致。

表4 不同分割网络在ISPRS Potsdam挑战赛数据集上量化实验结果对比 %

图5 不同分割网络在ISPRS Postdam挑战赛数据集上实验结果可视化对比图

从以上量化结果和可视化结果分析可知,笔者提出的算法充分利用了遥感影像中边缘特征并增强了分割对象类内的一致性,其分割结果相比其他算法更贴近真实分割结果。尤其在图像目标边缘处的分割结果相比其他算法更为精细和准确。尽管在一些类别上的分割结果未达到最佳分割精度,但是其分割效果确保了语义分割的整体改进。

针对现有遥感影像分割算法对自身边缘信息获取的不足,笔者搭建了改进Unet网络的语义分割网络。通过边缘特征提取模块,增强了网络对遥感影像边缘的学习能力;
利用边缘引导上下文聚合模块捕获了边缘区域的像素和物体内部的像素之间的长距离依赖关系;
改良了网络损失函数,引入了二值化交叉熵损失函数,在网络编码器部分对遥感影像边缘加强了约束。实验表明,相比于经典的语义分割算法,笔者提出的算法显著地提高了遥感影像的分割精度,为遥感影像领域提供了新的参考。由于实际的遥感影像场景复杂、目标尺度多变,算法的处理效率距离实际工程需求仍有一定差距。如何优化算法的时间复杂度,提升运算效率,将成为日后主要的研究目标。

猜你喜欢边缘语义像素像素前线之“幻影”2000小哥白尼(军事科学)(2022年2期)2022-05-25语言与语义开放教育研究(2020年2期)2020-03-31“像素”仙人掌红领巾·萌芽(2019年8期)2019-08-27ÉVOLUTIONDIGAE Style de vie tactile中国与非洲(法文版)(2017年10期)2017-11-23一张图看懂边缘计算通信产业报(2016年44期)2017-03-13批评话语分析中态度意向的邻近化语义构建中国修辞(2017年0期)2017-01-31“社会”一词的语义流动与新陈代谢中国社会历史评论(2016年2期)2016-06-27“吃+NP”的语义生成机制研究长江学术(2016年4期)2016-03-11高像素不是全部CHIP新电脑(2016年3期)2016-03-10在边缘寻找自我雕塑(1999年2期)1999-06-28

推荐访问:遥感 算法 分割