作者:晟沚
编辑:晟沚
前 言
目前语义分割中,有很多方法可以提升性能。如下图中a应用多个分支来执行多尺度提取并保留图像空间细节,这种的主要问题是仅仅使用卷积层来融合特征, 此外,并行分支之间的特征缺乏交互,高分辨率图像上的附加分支限制了速度的提升。另外,还有下图b中的做法,利用空间金字塔池化(SPP)模块处理高级特征,提取高级语义上下文并增加感受野,实现multi-scale功能,但是问题在于实现空间金字塔模块通常很耗时。01
概述
DFANet首先通过对网络的输出特征进行上采样并用另一个子网络精炼特征图来替换高层次的操作,与SPP模块不同,特征图在更大的分辨率上被提炼,并且同时学习子像素细节,如下图中c所示。
然而,随着整个结构深度的增加,高维特征和感受野通常会因为特征流是单一路径而导致精度损失,更进一步,作者提出了stage-level方法如下图中d所示,以便将低级特征和空间信息传递给语义理解。由于所有这些子网具有相似的结构,因此可以通过concat具有相同分辨率的特征层来实现阶段级的精炼,从而生成multi-stage的上下文。
02
网络结构
总的来说DFANet主要是通过sub network和sub stage来聚合判别特征,极大地减少了参数的数量,但仍然获得了足够的感受野并提高了模型的学习能力,并在速度和分割性能之间取得了平衡。
Cross-level特征聚合,作者首先重复使用从骨干网络中提取的高级特征来弥合语义信息和结构细节之间(此处指空间结构,如边缘、形状等)的差距。其次,作者将网络体系结构处理路径中不同阶段的特征结合起来,以增强特征表示能力,主要的网络结构如下图所示。
03
实验部分
骨干网是限制模型加速的主要因素之一,然而,太小的骨干网络导致分割准确性的严重降低。Xception采用轻量级架构设计,可以实现更好的速度准确性折衷。作者使用了两个修改的Xception网络(XceptionA,XceptionB),其计算复杂度更低,以达到比较高的推理速度。下表是这两种模型的详细架构。
下表展示了整体速度比较。速度是算法的一个重要因素,作者尝试在相同的状态下通过测试来比较模型,此处应用网络inference时间来研究有效性, 所有实验都是在单个Titan X GPU卡的虚拟机上进行。对于所提出的方法,作者使用报告的性能最佳的网络从Cityscapes运行所有测试图像的平均时间,同时还列出了输入图像的分辨率,以便在表格中进行比较。
04
可视化效果
下图显示了堆叠三个骨架网络的结果,可以看出,第一个骨干的预测有很多噪声,然后在下一个阶段变得更平滑,空间细节损坏。该结果证明,在sub-stage学习之后,感受野被扩大并引入全局上下文信息。然后,由第三个聚合骨干网络处理,结果细节在结果中变得更精确。在第三次改进之后,细节和上下文信息都被组合在预测结果中。作者认为,聚合sub-stage带来了多尺度信息的组合, 基于级联模型,学习了更多的判别特征,并逐步处理子像素学习。
END
往期回顾之作者晟沚
【1】目标检测新技能!引入知识图谱:Reasoning-RCNN
【2】 MaskConnect: 探究网络结构搜索中的Module间更好的连接
【3】 tensorboard 指南
【4】 network sliming:加快模型速度同时不损失精度
机器学习算法工程师
一个用心的公众号
长按,识别,加关注
进群,学习,得帮助
你的关注,我们的热度,
我们一定给你学习最大的帮助