589.5FPS实时分割网络:BCPNet | Bi-direction Context Propagation Network for Real-time Semantic Segmentation
迄今为止见过速度最快的分割网络,效果也还不错,属于Tiny型
论文地址:https://arxiv.org/pdf/2005.11034.pdf
Abstract:
空间细节和上下文相关性是语义分割的两种重要信息。通常,浅层倾向于包含更多的空间细节,而深层则具有丰富的上下文相关性。为了同时保持这两种优势,大多数当前方法选择将空间细节从浅层向前传播到深层,这在计算上是昂贵的,并且会大大降低模型的执行速度。为了解决这个问题,我们提出了利用空间和上下文信息的双向上下文传播网络(BCPNet)。与以前的方法不同,我们的BCPNet在其网络体系结构中建立双向路径,从而允许同时向后传播上下文和向前传播空间细节。此外,网络中的所有组件都保持轻量化。大量实验表明,我们的BCPNet在准确性和速度之间取得了良好的平衡。
对于准确性,我们的BCPNet在Cityscapes测试仪上已达到68.4%mIoU,在CamVid测试仪上已达到67.8%mIoU。对于速度,基于GeForce GTX TITAN X GPU卡,我们的BCPNet可以在360 X 640的尺寸下达到585.9 FPS(或每个图像1.7毫秒运行时间)。
Introduction:
语义分割的两个关键问题,1)保持空间细节;2)聚合上下文信息。
当前的大多数方法通过以下两种方法来实现这两个关键点:
1)在网络流程中保持高分辨率的特征图;
2)分别使用膨胀卷积
但是如上图所示,分割网络中保持的特征分辨率对FLOPS和SPEED影响较大。因此,本文区别于以往的单向浅层传播到深层,保持特征分辨率的方法。如下图(b)所示,使用分辨率逐层降低的结构,再结合反向由深层特征中的上下文信息传播到浅层特征这种方式,来实现浅层特征集合空间信息和上下文信息两个优点。因此,可以实现模型性能与FPS的最好权衡。
BCPNet:
网络结构如图所示,其中包含Backbone Net、BCP module、Classifier3个部分。
Backbone Net:与常规骨干网络的区别就是高层加了两个max pooling层,用于获得更大的感受野和上下文信息。
BCP module:包含了两个自上而下逐层融合,与一个自下而上融合的结构。其中,自上而下是将深层的上下文信息传播到浅层特征上。自下而上是将浅层空间信息传播到深层特征上。所以为双向上下文传播模块。
Classfier:使用layer3也就是输入图像1/8尺度特征,送入1x1卷积做像素分类。
Experiments:
1.SPEED:
2.Performance vs Params: