BiSeNet V2来了!156 FPS,72.6%mIoU!让语义分割飞起来!

2020 年 4 月 14 日 CVer

点击上方“CVer”,选择加"星标"或“置顶”

重磅干货,第一时间送达

本文转载 自:AI深度视线

精彩介绍

做实时分割的同学一定对BiseNetv1比较熟悉,是2018年旷视提出的综合精度和速度比较好的一个网络。时隔两年,又看到这个熟悉的名字。

BiseNetv2出来了!在Cityscapes可达 72.6%mIoU,速度为156 FPS!性能优于DFANet、SwiftNet等网络。

文章链接:

https://arxiv.org/abs/2004.02147

代码即将开源:

https://github.com/ycszen/BiSeNet



一、先bai huo两句 :摘个要


low-level细节和high-level语义都是语义分割任务所必需的。但是,为了加快模型推理,当前的方法几乎总是牺牲low-level细节,这会导致精度显著下降。该文提出了一种高效且有效的体系结构,在速度和准确性之间进行了很好的权衡,这被称为双边分割网络(BiSeNet V2), 分别处理这些空间细节和分类语义,以实现实时语义分割的高精度和高效率


该架构涉及:

(i)一个细节分支,具有宽通道和浅层,以捕获low-level细节并生成高分辨率特征表示;
(ii)语义分支,具有狭窄的通道和较深的层,以获取高级语义上下文。由于减少了信道容量和快速下采样策略,语义分支是轻量级的。
(iii)设计了一个引导聚合层,以增强相互连接并融合两种类型的要素表示。
(iv)还设计了一种增强训练策略来提高分割性能,而无需任何额外的推理成本。
大量的定量和定性评估表明,与几种最新的实时语义分割方法相比,所提出的体系结构具有良好的性能。具体来说, 对于2048x1,024的输入,BiseNet2在Cityscapes测试集中的平均IoU达到72.6%,在一张NVIDIA GeForce GTX 1080 Ti卡上的速度为156 FPS,这比现有方法要快得多,而且可以实现更好的分割精度

有没有流口水...


下面就来一探究竟!



二、犹抱琵琶半遮面——相关核心概念

:题目还挺押韵!



2.1 Detail Branch 细节分支

细节分支负责空间细节

该分支需要丰富的信道容量来编码丰富的空间细节信息。同时,因为细节分支只关注底层细节,所以可以为这个分支设计一个小跨度的浅层结构。总体而言,细节分支的关键概念是使用wide宽通道和shallow浅层来处理空间细节。

此外,该分支的特征表示具有较大的空间尺寸和较宽的信道。因此,最好不要采用residual连接,这样会增加内存访问成本,降低速度


2.2 Semantic Branch 语义分支


语义分支旨在捕获高级语义

语义分支和细节分支的比率为λ(λ< 1),这使得这个分支量级比较轻。语义分支可以是任意一种轻量级的卷积模式,同时采用快速下采样策略,提高特征表示的层次,快速扩大感受野。高级语义需要较大的感受野,因此,语义分支使用全局平均池来嵌入全局上下文响应


2.3 Aggregation Layer

细节分支和语义分支的特征表示是互补的,其中一个分支不知道另一个分支的信息。因此,设计了一个聚合层来合并这两种类型的特性表示。

由于快速向下采样策略,语义分支的输出空间维数小于细节分支因此需要对语义分支的输出特征图进行上采样,以匹配细节分支的输出

融合信息有几种方式,例如简单的求和、连接和一些精心设计的操作。在考虑精度和效率的前提下,作者采用了双向聚合的方法,如图3所示。



三、天不早了 该入正题了——BiseNet快现原形


3.1 Detail Branch


表1中细节分支的实例化包含三个阶段,每一层都是卷积层,然后是批处理归一化和激活函数。每个阶段的第一层的步长为2,而同一阶段的其他层具有相同数量的过滤器和输出特征映射大小。因此,这个分支提取的输出特征映射是原始输入的1/8。由于信道容量大,这一细节分支编码了丰富的空间细节。由于信道容量大,空间维度大,resnet结构将增加内存访问成本。因此,该分支主要遵循VGG网的原理进行分层。

每个阶段S包含一个或多个操作opr(例如,Conv2d、Stem、GE、CE)。每个操作有一个大小为k的内核,步长s和输出通道c,重复r次。扩展因子e用于扩展操作的通道数。这里的通道比λ= 1/4。 在和细节分支的对应的stage,绿色字体标志着语义分支的通道更少

注:conv2d表示卷积层,后面是一个批处理的归一化层和relu激活函数。Stem表示Stem块。GE代表采集-扩展层。CE是上下文嵌入块。


3.2 Semantic Branch

考虑到感受野大同时计算量大,作者重新设计了语义分支,其主要特征如下:

  • Stem Block
采用Stem块作为语义分支的第一阶段,如图4所示。它使用两种不同的向下采样方式来缩小特征表示,然后将两个分支的输出特性串联起来作为输出。 该结构具有高效的计算成本和有效的特征表达能力


  • Context  Embedding  Block

语义分支需要大的感受野来捕获高级语义。因此设计了上下文嵌入块。该块使用全局平均池和剩余连接有效地嵌入全局互文信息,如图4b所示。


  • Gather-and-Expansion Layer
为了利用深度卷积的优点,提出了集合-扩展层,如图5所示。采集-扩展层包括:
(i) 一个3×3的卷积,有效地对特征响应进行聚合并扩展到高维空间;
(ii) 在膨胀层的每个单独的输出通道上独立进行3×3深度卷积;
(iii) 以1×1的卷积作为投影层,将深度卷积的输出投影到一个低信道容量空间 。当stride=2时,采用2个3×3的深度卷积,进一步扩大了感受野,1个3×3的可分离卷积作为shortcut。
在这一层, 作者用两个3×3深度卷积代替可分离变量卷积中的5×5深度卷积,这两个3×3深度卷积有更少的FLOPs,感受野相同


3.3 Bilateral Guided Aggregation


该层利用语义分支的上下文信息来指导细节分支的特征响应。通过不同的尺度指导,可以捕获不同的尺度特征表示。同时,与简单的组合方式相比,这种引导方式可以使两个分支之间进行有效的通信。



3.4 Booster Training Strategy


为了进一步提高分割精度,提出了一种增强训练策略。顾名思义,它类似于火箭助推器:它可以在训练阶段增强特征表示,在推理阶段可以丢弃。在推理阶段增加的计算复杂度很小。如图3所示,可以将辅助分割head插入到语义分支的不同位置。图7显示了分割head的详细信息。





四、是骡子是马拉出来遛遛——实个验


  •  Ablative Evaluation on Cityscapes 消融实验


(1)细节分支:

图8为详细分支的不同阶段的可视化,显示了对细节分支的空间细节的逐渐关注。

(2)语义分支:

语义分支的通道容量、语义分支的Block、扩展ratio


(3)Bilateral Guided Aggregation layer


  • Generalization Capability 和现有模型的比较:
(1)CITYSCAPE:

(2)CamVid:

(3)实际效果:



五、必须来个 华丽的总结


  • 与BiseNetv1的比较:


(1)简化了原始结构,提出了一种高效的实时语义分割体系结构。 去掉了原来版本中耗时的跨层连接 ,得到了更清晰、更简单的架构。
(2)重新设计了整体架构,网络结构更加紧凑,组件设计更加合理。具体来说, 深化细节路径来编码更多细节,设计了基于深度卷积的轻量级语义路径组件 。同时,提出了一个高效的汇聚层来增强这两条路径之间的相互连接。

  • 主要贡献如下:

  • 提出了一种有效的双通道结构,称为双边分割网络,用于实时语义分割,它分别处理空间细节和范畴语义。

  • 在语义分支上,设计了一个新的基于深度卷积的轻量级网络来增强接受域和获取丰富的互文信息

  • 在不增加推理代价的前提下,引入了增强训练策略,进一步提高了分割性能

  • 在Cityscapes测试集上获得了72.6%的平均IoU,在一张NVIDIA GeForce GTX 1080Ti卡上获得了156 FPS的速度


论文下载

在CVer公众号后台回复:BiSeNet,即可下载本论文

重磅!CVer-图像分割 微信交流群已成立


扫码添加CVer助手,可申请加入CVer-图像分割 微信交流群,目前已汇集1300人!涵盖语义分割、实例分割和全景分割等。互相交流,一起进步!


同时也可申请加入CVer大群和细分方向技术群,细分方向已涵盖:目标检测、图像分割、目标跟踪、人脸检测&识别、OCR、姿态估计、超分辨率、SLAM、医疗影像、Re-ID、GAN、NAS、深度估计、自动驾驶、强化学习、车道线检测、模型剪枝&压缩、去噪、去雾、去雨、风格迁移、遥感图像、行为识别、视频理解、图像融合、图像检索、论文投稿&交流、TensorFlow和PyTorch等群。


一定要备注:研究方向+地点+学校/公司+昵称(如图像分割+上海+上交+卡卡),根据格式备注,可更快被通过且邀请进群

▲长按加群


▲长按关注我们

麻烦给我一个在看!

登录查看更多
13

相关内容

语义分割,在机器学习上,多指对一段文本或者一张图片,提取其中有意义的部分,我们将这些有意义的部分称为语义单元,将这些语义单元提取出来的过程,称为语义分割。
【ICLR-2020】网络反卷积,NETWORK DECONVOLUTION
专知会员服务
37+阅读 · 2020年2月21日
专知会员服务
41+阅读 · 2020年2月20日
DRN - 扩张残留网络(图像分类和语义分割)
AI科技评论
18+阅读 · 2019年8月19日
PyTorch语义分割开源库semseg
极市平台
25+阅读 · 2019年6月6日
一文带你读懂 DeconvNet 上采样层(语义分割)
AI研习社
26+阅读 · 2019年3月16日
《pyramid Attention Network for Semantic Segmentation》
统计学习与视觉计算组
44+阅读 · 2018年8月30日
BiSeNet:双向分割网络进行实时语义分割
统计学习与视觉计算组
22+阅读 · 2018年8月23日
特征金字塔网络FPN的直觉与架构
论智
11+阅读 · 2018年8月6日
DeepLabv3+:语义分割领域的新高峰
极市平台
4+阅读 · 2018年3月3日
S4Net: Single Stage Salient-Instance Segmentation
Arxiv
10+阅读 · 2019年4月10日
Arxiv
7+阅读 · 2018年12月10日
Arxiv
8+阅读 · 2018年5月17日
Arxiv
6+阅读 · 2018年3月29日
VIP会员
相关VIP内容
【ICLR-2020】网络反卷积,NETWORK DECONVOLUTION
专知会员服务
37+阅读 · 2020年2月21日
专知会员服务
41+阅读 · 2020年2月20日
相关资讯
DRN - 扩张残留网络(图像分类和语义分割)
AI科技评论
18+阅读 · 2019年8月19日
PyTorch语义分割开源库semseg
极市平台
25+阅读 · 2019年6月6日
一文带你读懂 DeconvNet 上采样层(语义分割)
AI研习社
26+阅读 · 2019年3月16日
《pyramid Attention Network for Semantic Segmentation》
统计学习与视觉计算组
44+阅读 · 2018年8月30日
BiSeNet:双向分割网络进行实时语义分割
统计学习与视觉计算组
22+阅读 · 2018年8月23日
特征金字塔网络FPN的直觉与架构
论智
11+阅读 · 2018年8月6日
DeepLabv3+:语义分割领域的新高峰
极市平台
4+阅读 · 2018年3月3日
Top
微信扫码咨询专知VIP会员