语义分割之BiSeNet

论文简介

abstract

  • 语义分割任务中同时需要丰富的空间信息与很大的感受野,用来提升性能,当前的方法为了达到实时,都损失了空间信息,因此性能也会也比较大的下降。
  • 论文中使用spatial pathsmall stride,在保留了空间信息的同时,也生成了high-resolution的features;此外,使用了context path,获取更加充足的感受野。
  • 基于spatial pathcontext path,提出了Feature Fusion Module,实现图像特征的有效提取。
  • 在cityscape的2048X1024分辨率图像上的mIOU达到了68.4%(ESPNet才60%),同时速度达到了105fps(基于Xception39)。

introdution

  • 当前语义分割加速的方法主要有裁剪网络或者使用U型结构形成直连path,但是前者会损失信息,后者会加大计算量。本文结合了spatial pathcontext path,网络结构如下

Fig. 1.

contribution

  • 提出了具有spatial pathcontext path的BiSeNet模型。
  • 设计FFM(Feeature Fusion Module)与ARM(Attention Refinement Module),在保持快速分割的同时,进一步提升了模型的准确度。
  • 在多个数据集上验证了模型的泛化性能与速度。
  • spatial information:DUC、PSPNet、DeepLab v2与v3等方法都使用了dilated convolution来维护feature map的尺寸,使用global convolution network来增大感受野。
  • U-shape method:U-Net等方法将high-level与对称的low-level feature map进行concatenate,提升网络的位置敏感性。
  • context information:context information可以提升语义分割的准确度,当前主要的方法就是增大感受野或者对不同的context information进行融合。PSPNet中提出了PSP模块,融合了不同尺度的信息。DeepLab v3中也设计了ASPP模块,使用全局平均池化捕捉图像的全局context information。
  • attention mechanism:它可以使用high level information来辅助网络的前向过程。
  • real time segmentation:SegNet使用小网络,结合skip-connection的结构,达到实时分割;ENet设计了轻量级的网络,实现了快速分割。与前面不同的是,本文的BiSeNet使用了轻量级的网络,同时也提供了充足的感受野的大小,此外,使用了shallow but wide network来捕捉空间信息。

BiSeNet

  • 网络具体结构如下图,包括ARM与FFM等。注意这里只使用了3个convolution layer来初步提取特征,因此计算量其实是很小的。

Fig. 2.

Spatial path

  • 之前在feature extraction的过程中,很多都是使用了dilated convolution,这增大了感受野,但是减少了空间信息。因此在spatial path中,只使用3个conv+bn+RELU的结构,conv的stride为2,最终feature map为原图的$1/8$大小,空间信息没有太多损失。

context path

  • spatial path是保留了空间信息,context path是增大感受野,并且使用ARM模块将感受野扩大到整个feature map。ARM在这里主要是服context path输出的feature map做refinement,它没有采用上采样策略,耗时可以忽略不计。

FFM

  • 将spatial path与context path使用FFM进行concatenate经过CNN,输出最后的结果。

loss function

  • 网络最终的输出可以有softmax loss,此外,作者也在loss function中引入了xception阶段中产生的loss(FFM模块中使用)。最终训练时刻的loss只使用了xception model中的loss。

experiment

  • 在这里就不贴图了,基本结果就是在很多数据上,速度吊打其他方法,精度达到state-of-art。