遥感影像语义分割论文笔记(二)Category Boundary Detection Network

A semantic segmentation method with category boundary for Land Use and Land Cover (LULC) mapping of Very-High Resolution (VHR) remote sensing image

论文链接

目录

      • A semantic segmentation method with category boundary for Land Use and Land Cover (LULC) mapping of Very-High Resolution (VHR) remote sensing image
  • 前言
  • 一、方法
  • 二、实现代码


前言

已有工作利用整体嵌套边缘检测技术进行边界检测,并进一步将边界信息融合到不同的CNN模型中进行集成学习。在端到端训练方案中,边界检测显著提高了CNN的语义分割。然而,在将边界信息整合到CNN的过程中,目前大多数方法将所有图像边界视为同一类型的对象,称为全局边界(Global Boundary,GB)。事实上,在CNN中融合GB进行语义分割和LULC映射会导致有价值的信息的丢失。一方面,遥感图像的边界具有实际的物理意义。边界的像素包含多个类别的混合特征,其属性随着组成类别的变化而显著变化(例如,人工物体之间的过渡少,自然物体之间的过渡更多)。此外,在高分辨率遥感图像中,对象的边界往往伴随着阴影,导致异常图像属性的出现。另一方面,GB信息只能作为一个中间特征图使用,并且可以在输入部分或中间部分与CNN集成。因此,单个类别GB很难直接与多类别结果进行交互并实现具有边界校正的理想分类结果。GB的这个缺点表明,边界不能被平等地对待。因此,在遥感图像分类和LULC映射中,将边界与类别联系起来至关重要


一、方法

在本文中提出了一种具有类别边界(CB)的LULC语义映射分割方法(LULC_CB)。其基本思想是,在分类任务(也包括LULC映射)中,提供更有效的信息(如DSM信息、时间序列信息、边界信息等)能产生更好的分类结果。该方法可分为三部分。首先,利用类别边界检测网络(CBDN)提取图像的CB。其次,VHR图像和CB一起为初始语义分割提供输入。最后,将CB与初始语义分割结果(ISSR)进一步融合,得到最终的LULC图,损失函数包括显式融合和边界注意两部分。
遥感影像语义分割论文笔记(二)Category Boundary Detection Network_第1张图片
图1.论文提出的基于CB的LULC映射语义分割方法的体系结构。在模块A中提取CB;在模块B中,对CB和VHR图像进行初始语义分割;在模块C中,将A和B的结果融合,输出最终的LULC图。

CBDN由5个卷积组和相应的类别边界特征提取操作组成,如图2所示。CBDN的输入是光谱数据(在图2中,有近红外、红色和绿色(NIRRG)三个通道)和地形数据(在图2中,有两个通道的DSM和归一化数字表面模型nDSM)。利用5个卷积组提取不同尺度上的图像特征,并进一步利用这些特征提取类别边界特征。在不同的尺度下,将类别边界特征进行融合,最终输出完整和连续的CB。
遥感影像语义分割论文笔记(二)Category Boundary Detection Network_第2张图片
图2.CBDN

无类别属性的边界检测是一种二值分类任务,而类别边界检测是一种多重分类任务。用于类别边界提取的输入是上一组卷的特征图。这些特征图使用1×1卷积到c维,其中c是总类别的数量,结果被称为类别边界特征图(CBFM)。在CBFM中,每个通道表示一个特定类别的边界信息。对CBFM中的每个通道进行元素加法,得到一个单通道特征图,该图表示所有类别的边界信息,与传统的GB信息一致,称为全局边界特征图(GBFM)。在训练过程中,使用CBFM构建边界分类损失函数,使网络能够从卷积特征图中提取不同类别的边界;GBFM完全由CBFM推导出来,是全局CBFM的表示,用于构造边界密度损失函数。

边界信息具有明显的尺度效应,而单一尺度上的边界信息并不全面。深度监督策略已被证明可以更有效地整合多尺度图像信息。深度监督策略的一个特点是,为了利用不同尺度的信息,在不同深度或尺度上的信息产生的输出不仅是融合后而且还是是融合前的每一个特征的结果。在此基础上,对不同尺度的卷积特征图进行类别边界特征提取,获得多尺度的CBFM。通过upsampling、concatenation和1 × 1 convolution,可以融合多尺度CBFM,命名为CB,进一步还可以确定GB。需要注意的是,为了最大限度地利用多尺度信息,无论是不同深度的CBFM还是多尺度CBFM融合结果CB,都参与训练过程(即由CBFM和CB导出的GBFM和GB一起构建损失函数)。然而,只有多尺度融合结果CB是CBDN的最终输出(图2中的类别边界)。

Loss function of CBDN 比较重要的是损失函数的构建。这里再梳理一下。如图2 所示,输入经过一系列的卷积组,在每一卷积组上得到特定尺度的特征图(CBFM);对所有尺度的特征图(CBFM)通过上采样、拼接和1*1卷积可以对齐宽高进行融合得到CB(应该也是c个通道);对每个尺度上的特征图CBFM在类别通道上做元素加法( 论文中为 element-wise addition)得到该尺度下的单通道特征图GBFM;同样地对CB(c个通道)进行加法操作也能得到全局的单通道特征图GB。

损失函数分为两部分,一个是边界类别的分类损失,一个是边界位置的回归损失(用来限制边界的粒度,可以理解成边界粗细)。论文中强调,由于类别边界的模糊性和过渡性,因此对粒度损失采用回归的形式。
L C B = − 1 N ∑ i = 1 N ∑ c = 1 C l i , c ∗ l o g ( p i , c ) L_{CB}=-\frac 1N\sum_{i=1} ^N\sum_{c=1}^C l_{i,c}* log(p_{i,c}) LCB=N1i=1Nc=1Cliclog(pic)
L G B = 1 N ∑ i = 1 N ( l i − p i ) 2 L_{GB}=\frac 1N\sum_{i=1}^N(l_i-p_i)^2 LGB=N1i=1N(lipi)2
其中 N N N为像素总数, C C C为类别总数, l i , c l_{i,c} lic p i , c p_{i,c} pic分别为one-hot编码和像素 i i i属于类别c的概率, L C B L_{CB} LCB即为常用的交叉熵损失, l i l_{i} li p i p_{i} pi为分别为像素 i i i对应的二值编码(二值边界图,非0即1)和属于全局边界的概率 。

每个尺度上表示一个多任务网络。在多任务网络中,多个任务同时被训练并相互影响。在训练过程中,不同任务之间的收敛速度和损失函数的大小表现出显著差异,导致网络学习一些主导任务而忽略其他任务。因此,为了平衡和融合每个深度的多个任务,论文设计了一个动态加权融合策略。融合的多任务损失定义为 L M u l t i L_{Multi} LMulti
图3
论文中的公式如上所示。注意这里论文应该给错了,按论文中的描述,比值式应该加上一个取整符号,不然就等价于某个损失的两倍。加上取整符号后是近似等于,来平衡两者的相对大小。这个损失就是希望同时去学习边界的位置和类别,注意论文中给出的参与损失计算的包括不同尺度的特征图以及最后融合的特征图,这也是前面提到的深度监督方法的体现。

二、实现代码

在看懂了论文之后,就可以开始复现这一个CBDN啦。(先放一周,后续会更新实现代码)。欢迎评论交流

你可能感兴趣的:(语义分割论文笔记,计算机视觉,深度学习,人工智能)