渐进式多尺度因果干预航拍图像分割
2023-02-21周峰杭仁龙徐超刘青山杨国为
周峰,杭仁龙,徐超,刘青山*,杨国为, 3
1. 南京审计大学计算机学院,南京 211815; 2. 南京信息工程大学计算机与软件学院,南京 210044;3. 青岛大学电子信息学院,青岛 266071
0 引 言
随着传感器技术的发展,航拍图像的空间分辨率可以达到厘米级(Zhou等,2021)。得益于超高分辨率的空间信息,航拍图像成功应用于城市规划(余帅和汪西莉,2021)、土地利用、环境监测、水体检测(李鑫伟 等,2021)和军事等领域。航拍图像分割任务作为实现上述应用的重要步骤,一直在遥感领域受到广泛关注。航拍图像分割旨在为航拍图像中每个像素点分配对应的语义标签。然而在复杂的遥感场景中,物体外观呈现的多样性为航拍图像分割带来挑战。
近些年,深度学习尤其是深度卷积神经网络(deep convolutional neural network, DCNN)在遥感图像领域取得了突破性进展(Ding等,2021;Long 等,2017;Mou等,2017;Zheng等,2021)。DCNN通过多层非线性映射,能够自动地从输入图像中学习具有判别性的特征。Long等人(2015)将DCNN中的全连接层替换成卷积层,提出一个端到端的全卷积网络(fully convolutional network,FCN),极大提升了航拍图像的分割精度(Sun和Wang,2018;Volpi和Tuia,2017)。FCN的分割结果是通过对卷积特征进行32倍率的空间上采样得到的,但高倍率的上采样极易丢失空间细节信息,因此仅基于FCN无法取得更好的分割结果。Ronneberger等人(2015)提出对称的编码—解码网络结构U-Net,将输入图像逐尺度地下采样编码,然后逐尺度地上采样解码得到最终的分割结果。同时,U-Net使用跨层连接将编码器中每个尺度的特征与解码器中对应尺度的特征融合,达到捕获空间位置信息的目的。Badrinarayanan等人(2017)提出的编码—解码网络SegNet将编码器中池化索引值用于解码器中的上采样,以保留边缘信息。这3个经典的分割模型通过固定大小的卷积核学习上下文信息,成功地将深度学习应用到分割领域,但受限于卷积核感受野的局限性,仅能捕获单一尺度且为局部的上下文信息,对航拍图像分割任务中的两个问题无法应对。第1个问题是遥感场景中物体(例如车)尺度多变。第2个问题是不同类物体(例如道路和楼顶)之间呈现较小的差异性。
研究表明,提取多尺度上下文能够很好地解决第1个问题。基于此,金字塔场景解析网络(pyramid scene parsing network,PSPNet)(Zhao等,2017)和DeepLabv3+(Chen等,2018b)相继提出。PSPNet中的金字塔池化模块(pyramid pooling module,PPM)使用多个尺度(1 × 1、2 × 2、3 × 3、6 × 6)的池化核提取多尺度上下文,并进行融合。DeepLabv3+引入由多个空洞卷积构成的空洞空间金字塔池化(atrous spatial pyramid pooling,ASPP)模块,通过不同空洞率的空洞卷积大幅增加感受野范围,有效获取不同尺度下的上下文。与DeepLabv3+类似,韩彬彬等人(2020)使用ASPP提取不同尺度目标及其边缘。除此之外,Audebert等人(2016)将不同尺度下的航拍图像输入到编码—解码结构的DCNN中,得到对应的分割结果。为了融合多尺度上下文信息,将不同尺度的分割结果相加得到最终结果。Liu等人(2018)提出基于U-Net的自级联网络结构,使用不同空洞率的空洞卷积提取多尺度上下文,并以自级联方式进行融合。
针对第2个问题,局部上下文信息不足以帮助区分易混淆物体,如果能够引入更多场景信息(即全局上下文信息),就可以抑制与场景不相容的物体。Zhang等人(2018)提出一个上下文编码模块,旨在捕获场景的语义上下文信息,用于增强相关类别物体的特征,抑制其他物体特征。随着自注意力方法的发展,研究者尝试用其提取全局上下文信息。Fu等人(2019)提出双注意力网络(dual attention network, DANet),通过加权对应域内所有像素点特征,构成目标像素点的上下文表示。其中,每个像素点对应的权重是与目标像素点的特征相似度。与DANet类似,Mou等人(2019)提出空间和通道自注意力模块,用于捕获对应维度的全局上下文信息。然而,自注意力需要考虑所有像素点对目标像素点的影响,非常消耗计算资源。Huang等人(2020)提出十字交叉网络(criss-cross network, CCNet),仅使用目标像素点的垂直和水平方向内像素点计算上下文,大幅降低了计算资源的消耗。
自注意力方法能够自适应地集成局部特征与全局依赖性,而基于多尺度上下文信息的方法忽略了上下文信息中特征之间的依赖关系。因此,基于自注意力机制的全局上下文信息能够帮助模型获得更好的分割性能。但上述方法都忽视了数据集中固有的偏置问题。首先,遥感场景中任何物体都不是单一存在的,有极大概率与特定物体同时出现。例如,大多数航拍图像中,树和草地经常相邻出现,分割模型会误以为树和草地必须作为整体出现,导致树和草地之间的边界模糊,如图1第1行所示。其次,由于遥感场景中车辆外观的多样性,容易出现车身部分外观(颜色与形状)与周围建筑物楼顶相似的情况,如图1第2行所示。这种情况下,分割模型只能将受环境影响较小,即车辆最具有判别性的部位(车头)准确识别。上述现象中,树和车的先验分布分别引入草地和建筑物两种混杂因子,一般的分割模型只捕获到它们之间的伪相关性,忽略了因果关系。具体地说,对树而言,草地与它并无因果关系,但由于它们在数据集中的分布呈现正相关(大概率同时出现),导致分割模型将二者建立了联系。而对车而言,具有因果关系的车头和车身受建筑物干扰被分割模型分离。为了解决数据集中的偏置问题,本文提出使用因果干预的方式抑制由混杂因子带来的伪相关性,提升目标物体的分割精度。同时,使用深层特征得到的分割结果指导浅层特征,以渐进式分割的方式更有效地利用多尺度上下文信息。基于这两个思想,本文构建了渐进式多尺度因果干预模型。
图1 分割结果对比
本文主要贡献如下:1)提出渐进式多尺度因果干预模型(progressive multi-scale causal intervention model,PM-SCIM),通过对特征进行逐尺度的因果干预,解决数据集的偏置问题,提高航拍图像分割性能。2)为了能够抑制混杂因子对目标物体的干扰,提出一个解混杂模块(de-confounded module, DCM),通过因果干预的方式建模目标物体在所有混杂因子下的分布情况,消除特定混杂因子的干扰。3)提出一个融合模块(fusion module, FM),能够使用深层特征得到的分割结果,指导浅层分割结果的预测,从而更好地利用多尺度上下文信息。4)在ISPRS(International Society for Photogrammetry and Remote Sensing)提供的Potsdam和Vaihingen数据集上与相关的深度学习方法和公开的基准方法进行对比。实验结果表明,PM-SCIM能够获得具有竞争力的分割性能。
1 渐进式多尺度因果干预模型
渐进式多尺度因果干预模型的网络结构如图2所示。该网络主要由骨干网络、解混杂模块和融合模块构成。首先,使用ResNet18(He等,2016)作为骨干网络,提取输入航拍图像的卷积特征。然后,将每个尺度的卷积特征都输入解混杂模块,通过因果干预方式将卷积特征分解,以消除某些混杂因子对目标物体的干扰。为了能够有效利用所有尺度下的信息,将深层解混杂特征通过1 × 1卷积核得到分割结果,再经过融合模块,引导浅层解混杂特征得到分割结果。然后,逐尺度地进行该过程,直至得到所有尺度的分割结果。最后,使用加权求和的方式自适应地融合所有尺度的结果,得到最终分割结果。
图2 PM-SCIM网络结构
1.1 解混杂模块
航拍图像中的物体通常出现在特定场景下,这些场景对目标物体识别的影响具有两面性。例如树木总是和草地相邻出现,造成树木和草地的正相关性,分割模型错误地将二者建立联系。但是,Zhou等人(2021)提出的类别引导特征解耦网络(class-guided feature decoupling network, CGFDN)利用车辆和道路的共生关系,帮助区分与车辆具有高度相似性的建筑物。先前的深度学习方法并没有考虑这个问题,都是将航拍图像的卷积特征X输入模块P(Y|X),得到包含丰富上下文信息的特征Y,直接用于预测分割结果。整个过程忽略了场景中混杂因子对目标物体的干扰。为了解决这个问题,本文提出解混杂模块,使用P(Y|do(X))替换P(Y|X)。do操作旨在排除混杂因子带来的干扰,找到X与Y之间的因果关系。
首先,构建如图3所示的结构因果模型,定义X和Y之间的因果关系,并找出混杂因子干扰的原因。图中的箭头代表由起因指向结果的因果关系。假设图中的B代表的是常识(数据集中大多数图像体现的规律),如树木和草地一般相邻出现。B→X表示在该常识下,模型提取的关于树木的图像特征;X→M表示X受到偏置B影响之后变换为特征M。即使树木与草地本身没有关系,B也会将它们关联起来,形成特征M。M→Y表示将掺杂草地信息的树木特征用于分割,导致分割结果中树木和草地的边缘难以区分。常规的分割模型只关注了X→Y,而忽视了后门通道X←B→M→Y对最终结果Y的影响。通过对图3分析,发现B通过后门通道是可以影响树木和草地(混杂因子)的关系,导致最终学习到的特征中草地和树木难以区分。本文的目的就是通过因果干预来消除混杂因子的影响。
图3 因果关系示意图
基于因果干预的思想,本文提出解混杂模块,使用P(Y|do(X))建模X和Y之间的因果关系。得到P(Y|do(X))最理想的方法应该是物理干预,即收集目标物体在所有场景下的图像,以此捕获它与所有混杂因子的关系。但是,实现物理干预是不现实的,所以解混杂模块通过后门调整(Wang 等,2020)的方式虚拟地得到干预结果。后门调整的主要过程包括两步,首先切断X和B之间的联系,然后将B拆分成集合{b},每个元素代表一种混杂因子。基于此,B和X不再有直接联系,可以间接衡量X在不同混杂因子{b}干扰下,对Y的平均因果影响。具体方式为
(1)
为了使用深度网络实现式(1),本文使用归一化加权几何平均(normalized weighted geometric mean,NWGM)(Yang 等,2021)的方法将这个过程近似为
(2)
图4 解混杂模块
解混杂模块使用后门调整,抑制了卷积特征X中混杂因子的影响,得到解混杂特征Y。接下来,需要借助融合模块将解混杂特征进行渐进式的多尺度分割预测。
1.2 融合模块
航拍图像的高空间分辨率带来的另一个挑战是场景内物体尺度不一的问题。尤其是车辆这种小尺度目标会增加分割难度。为解决这个问题,提出了融合模块,进行渐进式的多尺度分割结果预测。深层的特征包含更加丰富精准的语义信息,即场景中出现物体的类别信息,而浅层的特征则包含更多的空间位置信息。利用深层的语义信息确定场景中包含的物体类别,通过渐进式地指导浅层特征,确定不同类别物体出现的空间位置。
为了能够在多个尺度下进行预测,首先将ResNet18每一个尺度的卷积特征输入解混杂模块得到对应的解混杂特征。然后,将最后一个尺度的解混杂特征经过一层1 × 1卷积,得到分割结果。同时,将其输入如图5所示的融合模块中,进行2倍的上采样操作,与上一尺度的解混杂特征进行通道维度的串联。最后,将串联特征输入到一个4层的网络中,得到上一尺度下的分割结果。通过循环上述过程,可以依次得到所有尺度下的分割结果。
图5 融合模块
1.3 损失函数
(3)
式中,可学习参数αi为第i个尺度预测分割结果的权重。最终,PM-SCIM的损失函数定义为
(4)
2 实验结果分析
2.1 数据集及指标
2.1.1 数据集
为了验证PM-SCIM的有效性,与相关深度学习方法及公开基准方法在ISPRS Potsdam和Vaihingen数据集上进行对比实验。
Potsdam数据集包含38幅空间分辨率为5 cm的图像。所有图像的空间尺寸都为6 000 × 6 000像素。每幅图像由4个通道组成,分别是近红外、红、绿和蓝。数据集还提供了对应的数字地面模型(digital surface model,DSM)结果,包含地表物体的高度信息。这些图像中所有像素点都标注了对应的语义标签,包含不透水表面(impervious surface)、建筑物(building)、低植被(low vegetation)、树(tree)、车(car)和背景(background)等6类物体。根据官网给出的实验设置,实验时,使用24幅图像用于训练,剩下的14幅图像用于测试。PM-SCIM仅使用由近红外、红和绿3个通道构成的图像作为输入,没有使用任何额外数据。
Vaihingen数据集包含33幅空间分辨率为9 cm的图像。图像的平均空间尺寸为2 494 × 2 064像素。每幅图像由3个通道构成,分别是近红外、红和绿。与Potsdam数据集类似,该数据集也包含不透水表面、建筑物、低植被、树、车和背景等6种地物。按照官网划分数据集的设置,将16幅图像用于训练,剩下的17幅用于测试。针对该数据集,PM-SCIM仅使用上述三通道的图像作为输入,没有使用DSM等额外数据。
图6是两种数据集的图像示例。
图6 Potsdam和Vaihingen数据集示例
2.1.2 评价指标
本文使用总体准确率(overall accuracy,OA)和F1分数评估分割结果的精度。OA衡量正确分类的像素点个数占总像素点个数的比例。F1分数定义为精确率(precision,P)和召回率(recall, R)的调和平均数。具体为
(5)
式中,TP代表模型分类正确的正样本,FP代表模型分类错误的负样本,FN代表模型分类错误的正样本。
2.2 实验细节
由于目前的显卡无法直接处理高分辨率的航拍图像,使用一个256 × 256像素的滑动窗口以步长为64的跨度从原始航拍图像中裁剪训练图像块。在测试阶段,同样使用滑动窗口的方式从原始图像裁剪出测试图像依次输入到模型中,然后按照输入的顺序拼接成原图大小。在拼接过程中,重叠的部分使用平均值作为预测结果。
本文使用PyTorch在一台64位的计算机上实现PM-SCIM。该计算机配备i7-4790 CPU、32 GB运行内存和1块GTX TITAN X显卡。同时,使用随机梯度下降(stochastic gradient descent, SGD)优化PM-SCIM。基础学习率设置为0.01,动量设置为0.9,权重衰减设置为0.000 01,并采用poly学习率衰减策略(Liu 等,2015)。每次迭代后,初始的学习率乘以(1-i/t)0.9进行衰减。其中,i为当前迭代次数,t为总迭代次数。训练周期设置为200。
2.3 消融实验
2.3.1 定量分析
PM-SCIM包含解混杂模块(DCM)和融合模块(FM)。为了验证这两个模块的有效性,首先测试基础网络ResNet18在ISPRS Potsdam和Vaihingen数据集上的分割性能。然后,在ResNet18上分别单独附加两个模块测试其性能,如表1所示。可以看出,加入解混杂模块后,PM-SCIM在Potsdam和Vaihingen数据集上的OA分别提升了2%和4.8%。同时,使用融合模块进行渐进式的多尺度因果干预, ResNet18在Potsdam和Vaihingen数据集上的OA分别提升了1.6%和4.7%。将两个模块同时连接到ResNet18,PM-SCIM在Potsdam和Vaihingen数据集上的OA分别提升到89.7%和90.3%。最后,测试了加权求和是否会对最终的分割结果有影响。通过加权求和操作能够自适应地融合多尺度分割结果,模型的分割性能提升了0.6%和0.5%。
表1 不同设置下PM-SCIM的性能对比
2.3.2 定性分析
首先,为了更好地理解解混杂模块如何帮助模型提升分割性能,使用网络的中间特征进行可视化分析。图7展示了树和车两组个例。baseline表示仅使用ResNet18作为分割模型,PM-SCIM表示在ResNet18基础上附加解混杂模块。图中的类别特征是通过将ResNet18输出的卷积特征与用于预测分割结果的1 × 1卷积参数相乘得到。从图7第1行可以看出,虽然树木和草地外观差异明显,但baseline仍然难以区分它们,导致baseline得到的树木特征边缘模糊。造成这种现象的原因是数据集中存在偏置问题,即树和草地同时相邻出现在大量样本中。通过因果干预,解混杂模块成功抑制了草地和树的伪相关性,使PM-SCIM能够获得清晰的边缘。从图7第2行可以看出,由于车身与周围建筑物非常相似,导致baseline只能识别出受环境影响较小的车头和车尾。而PM-SCIM通过因果干预保留了车头、车身和车尾之间的因果关系,抑制了建筑物的干扰信息,将车辆完整地识别并定位。融合模块的作用如图8所示,该模块能够有效识别并定位场景中的小目标,例如车辆。
图7 解混杂模块(DCM)的影响
图8 融合模块(FM)的影响
2.4 性能对比实验
2.4.1 与相关深度学习方法对比
表2和表3分别为PM-SCIM与目前流行的基于多尺度上下文信息和全局上下文信息的深度学习方法的对比结果。具体地说,选取PSPNet(Zhao 等,2017)、DeepLabv3+(Chen等,2018b)、S-RA-FCN(serial relation augmented fully convolutional network)(Mou等,2019)、DANet(Fu等,2019)、CCNet(Huang等,2019)和CGFDN(Zhou等,2021)作为对比方法。为了实验的公平性,对比方法都采用ResNet18作为骨干网络。可以看出,DANet在Potsdam和Vaihingen数据集上的OA和meanF1分数优于DeepLabv3+和PSPNet。这是因为DANet考虑了上下文内部特征之间的依赖关系。CCNet由于简化了DANet中的自注意力操作,丢失了空间上部分像素点的信息,导致最终的分割结果略低于DANet。而PM-SCIM通过因果干预缓解了数据集中的偏置问题,与DANet相比,在Potsdam和Vaihingen数据集上的OA分别提高了0.6%和0.8%、meanF1分数分别提高了0.7%和1%。值得注意的是,CGFDN与PM-SCIM在Potsdam数据集上取得了几乎相同的OA和MeanF1分数。其原因是Potsdam数据集中存在的偏置问题,主要体现为车辆和建筑物部分外观相似,导致车辆难以精确识别。而该问题通过引入车辆和道路的共生关系能够很好地缓解。因此,基于共生关系的CGFDN能与PM-SCIM达到相同的效果。而Vaihingen数据集中,主要由另一种现象带来偏置问题,即树与草地相邻出现,导致边界模糊。而共生关系无法应对这类问题。借助因果干预,本文方法能够成功抑制偏置问题。所以,PM-SCIM的OA和MeanF1分数分别比CGFDN高0.2%和0.3%。
表2 相关深度学习方法在Potsdam数据集上的分割结果
表3 相关深度学习方法在Vaihingen数据集上的分割结果
深度学习方法对比实验的可视化结果如图9和图10所示。可以看出,本文提出的PM-SCIM能够精确地识别整个车辆,保证车辆内部的语义一致性;同时,PM-SCIM的分割结果在易混淆邻近物体的边缘细节上优于其他深度学习方法。
图9 不同深度学习方法在Potsdam数据集上的可视化对比结果
图10 不同深度学习方法在Vaihingen数据集上的可视化对比结果
表4列出了相关深度学习方法的空间和时间复杂度,即模型参数量和运行时间。表中运行时间为对比方法使用GTX TITAN X显卡测试100个图像块(尺寸为256 × 256)的时间。与PSPNet、S-RA-FCN、DANet和CCNet相比,PM-SCIM仅增加了至多10 MB左右参数量和6.5 s运行时间,将总体准确率提升了至少0.6%。PM-SCIM虽然运行时间比DeepLabv3+多了1.5 s,但参数量实际低了近32 M,且总体准确率提升至少1.1%。同样,相对于CGFDN,PM-SCIM虽然延长了运行时间,但减少了近7 M参数量,并能更全面地考虑偏置问题,在Vaihingen数据集上取得了更好的分割性能。
表4 相关深度学习方法的时间和空间复杂度对比
2.4.2 与基准方法对比
为了进一步验证PM-SCIM的有效性,与7个公开的基准方法进行对比,包括CVEO*(Chen等,2018a)、UFMG_4(Nogueira等,2019)、RIT_L*(Liu 等,2017)、UZ_1(Volpi和Tuia,2017)、SVL_*(Gerke,2015)、KLab_2(Kemker等,2018)和DLR_10(Marmanis等,2018)。所有方法在Potsdam数据集的分割结果如表5所示。可以看出,本文提出的PM-SCIM的分割结果在OA和meanF1两项指标上均超过了其他公开基准方法。具体地说,PM-SCIM将次好的模型CVEO2的OA值从89.0%提升至90.3%,meanF1从90.1%提升至91.3%。主要是因为这些基准方法只关注如何提取多尺度上下文信息,忽略了数据集中的偏置问题。而PM-SCIM通过因果干预的方式有效缓解了数据集中偏置带来的混杂因子问题。图11展示了所有方法在Potsdam测试图像上的分割结果,几乎所有基准方法得到的车辆分割结果都含有噪声。它们将部分车身错分成建筑物,破坏了车身之间的因果关系。PM-SCIM通过因果干预的方式,成功保留了整辆车与部分车身之间的因果关系,抑制了对车具有干扰性的建筑物信息。表6为本文方法与基准方法在Vaihingen数据集上的对比结果。可以看出,PM-SCIM取得了最好的OA和meanF1分数。与次好的模型DLR_10相比,OA从90.3%提升到90.8%,meanF1从88.3%提升到88.7%。图12为本文方法与基准方法在Vaihingen数据集上的可视化对比结果。可以看出,PM-SCIM能够准确识别出其他基准方法漏分的建筑物。
表5 本文方法与基准方法在Potsdam数据集上的对比结果
图11 本文方法与基准方法在Potsdam的可视化对比结果
表6 本文方法与基准方法在Vaihingen数据集上的对比结果
图12 本文方法与基准方法在Vaihingen数据集上的可视化对比结果
图13展示了本文提出的PM-SCIM和基准方法在Potsdam和Vaihingen数据集上的分割精度和模型的参数量。可以看出,PM-SCIM能够在很小的参数量情况下,获得比对比基准方法更好的分割性能。表明PM-SCIM能够在分割精度和复杂度两者之间取得很好的平衡。
图13 PM-SCIM与基准方法的参数量
3 结 论
针对航拍图像数据集中存在的偏置问题,即场景中的上下文先验对识别物体的干扰,本文提出一种基于渐进式多尺度因果干预模型的分割方法,在ResNet18结构上添加解混杂模块和融合模块。通过解混杂模块中的后门调整操作,将卷积特征分解成多个与特定的混杂因子相关的子特征。然后将所有混杂因子的子特征融合,以此抑制与目标物体伪相关但无因果关系的干扰物体。同时为了能够充分利用不同尺度的上下文信息,本文首先将ResNet18每个尺度的卷积特征经过解混杂模块得到解混杂特征,然后利用最小尺度的解混杂特征得到分割结果,并通过融合模块指导预测上一尺度分割结果。逐尺度循环该过程得到每个尺度对应的分割结果。最后将所有尺度的预测结果进行加权求和得到最终的分割结果。实验结果表明,与相关的深度学习方法相比,渐进式多尺度因果干预模型能够有效提升分割性能,解决类似树和草地边缘模糊、车和建筑物难以区分的问题。同时,提出的模型能够得到优于大量基准方法的分割结果,进一步验证了在航拍图像分割领域的有效性。
本文方法能够缓解数据集偏置带来干扰信息的问题,但无法处理一些特殊场景。例如混杂因子是场景中已标注类别以外的物体。未来的工作主要是考虑通过无监督学习的方式,自适应地从数据集中提取存在的所有混杂因子,并使用本文方法进行分割结果预测。