基于二叉空间划分的航空影像语义分割
1 特征向量与解码器
对于每个图像块,我们都有一个特征向量,其长度由特征图的深度(即特征数量)决定。为了保持这种解释,使用了两个解码器,它们由多个核大小为 1×1 的卷积层组成。实际上,这意味着每个区域的特征向量由一个多层感知机处理。两个解码器具有相同的整体结构,但各自有可训练的参数。
- 形状解码器 :仅处理形状特征图,输出二叉空间划分(BSP)树内部节点的参数,从而预测分割的形状。
- 纹理解码器 :仅处理纹理特征图,输出 BSP 树叶子节点的参数,从而预测每个分割的类别。
所有添加到模型中的卷积层后面都依次跟着批量归一化层和激活函数。由于每个空间单元对应输入图像中的一个小图像块,因此实际上为每个小图像块预测一个单独的 BSP 树。BSP 渲染器以可微的方式从预测的 BSP 树计算最终的语义分割,这使得可以进行端到端训练,而无需预先定义任何 BSP 树,这些树是通过学习得到的。与编码器和解码器不同,BSP 渲染器没有可训练的参数。
2 可微 BSP 树渲染
BSP 树是一种与分辨率无关的语义分割表示。每个内部节点定义一条线,将当前分割(最初是整个区域)划分为两部分,叶子节点不再进一步划分分割,而是定义每个分割的内容。
为了确定像素位置 p 对应的叶子节点,需要计算有符号距离函数:
[f(p) = n \cdot p - d]
其中,n 是根节点线的法线,d 是该线到原点的距离。f(p) 的符号决定了要前往的子节点,因为该符号编码了 p 在线的哪一侧。f(p) = 0 表示 p 正好在