论文简介
abstract
- 语义分割任务中同时需要丰富的空间信息与很大的感受野,用来提升性能,当前的方法为了达到实时,都损失了空间信息,因此性能也会也比较大的下降。
- 论文中使用
spatial path
与small stride
,在保留了空间信息的同时,也生成了high-resolution的features;此外,使用了context path
,获取更加充足的感受野。 - 基于
spatial path
与context path
,提出了Feature Fusion Module
,实现图像特征的有效提取。 - 在cityscape的2048X1024分辨率图像上的mIOU达到了68.4%(ESPNet才60%),同时速度达到了105fps(基于Xception39)。
introdution
- 当前语义分割加速的方法主要有裁剪网络或者使用U型结构形成直连path,但是前者会损失信息,后者会加大计算量。本文结合了
spatial path
与context path
,网络结构如下
contribution
- 提出了具有
spatial path
与context path
的BiSeNet模型。 - 设计
FFM(Feeature Fusion Module)与ARM(Attention Refinement Module)
,在保持快速分割的同时,进一步提升了模型的准确度。 - 在多个数据集上验证了模型的泛化性能与速度。
related work
- 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来初步提取特征,因此计算量其实是很小的。
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。