实时语义分割学习笔记05 SFNet
- 一、提出的问题:
- 二、研究进展
- 1、解决细节丢失等问题
- 2、FCN最后几层中应用空洞卷积会带来那些问题? 如何解决?
- 三、相关工作
- 1、 第一范式
- 2、第二范式:
- 3、第其他方法以及比较
- 四、论文方法
- 1、场景解析
- 2、流对齐模块
- 3. 语义流生成
- 4. 语义流场映射
- 5. 特征图扭曲
一、提出的问题:
空洞卷积和特征金字塔融合,要么计算量大,要么效率低下。全卷积网络(FCN)构建深度网络以实现强大的语义表示,但由于降采样层的使用,通常缺乏详细的物体边界信息。
解决:
受相邻视频帧之间运动对齐的光流的启发,提出了一个流对齐模块(FAM)来学习相邻级别特征映射之间的语义流,并有效地将高级别特征广播到高分辨率特征。集成到一个常见的特征金字塔结构中,即使在轻量级骨干网络(如ResNet-18)上,也比其他实时方法表现出更好的性能。
二、研究进展
1、解决细节丢失等问题
a. 为什么存在这样的问题?
深度全卷积网络(FCN)其中应用降采样层的使用,已经大量的卷积层的使用(金字塔结构),会导致特征图的分辨率持续的下降,带来的问题就是细节信息的丢失,通常缺乏详细的物体边界信息。
b. 如何解决?
结合上面几篇论文的学习,其中较为典型的处理方法,包括空洞卷积、残差连接、全局池化等。比较典型的算法Deeplab采用的空洞卷积,BiseNet的双分支结构,U-Net采用的则是反卷积或者上采样的方式来恢复分表率也能起到一定的作用。
2、FCN最后几层中应用空洞卷积会带来那些问题? 如何解决?
作者认为,虽然空洞卷积能够很好的保持空间细节。但是,不可避免地需要密集的额外计算,因为最后几层的特征图可以达到FCN中的特征图的64倍。如:ResNet-18作为骨干网络的FCN对于1024 × 2048图像的帧速率为57.2 FPS,在对网络应用atrous卷积后,修改后的网络仅具有8.7 FPS的帧速率。
a. 当时的一些解决办法,
设计一个网络结构,类似于 FPN,其中包含横向路径(lateral connections),以便从深层特征图传播信息到浅层特征图。横向路径的目标是加强具有高分辨率的浅层特征。
b. 作者采用的方法
作者提出,Semantic Flow概念:它与光流(optical flow)不同。光流主要用于表示视频中物体、表面和边缘的视觉运动模式,而Semantic Flow则是针对不同级别的特征图之间的差异进行评估,找到一个适当的流场,以有效地对齐这两个特征图。
Flow Alignment Module (FAM): 为了利用Semantic Flow,作者设计了一个新的网络模块,该模块的作用是在场景解析任务中利用Semantic Flow。可以有效地传递深层特征图到浅层特征图,使得特征图既具有丰富的语义信息又包含丰富的空间信息。
三、相关工作
场景解析中有两种主要的预测高分辨率语义地图的范式。一种范式试图沿着主要网络路径保持空间和语义信息,而另一种范式将空间和语义信息分配给网络中的不同部分,然后通过不同的策略融合它们。
1、 第一范式
主要依赖于一些网络操作来在后续网络阶段保留高分辨率特征图。通过设计复杂的头部网络来捕获上下文信息。例如,PSPNet使用金字塔池化模块(PPM)建模多尺度上下文,而DeepLab系列使用空洞空间金字塔池化(ASPP)。
2、第二范式:
其中高级语义由低分辨率特征图表示。常见策略是融合多级特征图以获得高分辨率空间性和强烈语义。例如,ICNet使用多尺度图像作为输入,DFANet使用轻量级骨干网络以加快速度并提出交叉级别特征聚合来提高准确性。
3、第其他方法以及比较
一些方法,通过将低分辨率图像用作高级语义的输入来进一步加快速度,再通过大幅度上采样将它们还原。然而,使用大的上采样因子的直接结果是性能降级,特别是对于小物体和物体边界。语义和分辨率之间存在信息差距。作者将相邻级别的特征图对齐,并使用特征金字塔框架进一步增强特征图,从而在高准确性和快速速度之间取得了最先进的性能。
四、论文方法
作者,参考视频中光流,借鉴帧间相似性,提出语义流。
1、场景解析
a. 场景解析任务:
输入图像:表示为 ,即具有高度 H、宽度 W 和三个通道(RGB)的图像。
输出语义地图:表示为 ,其中 ,C 是预定义语义类别的数量。这是一个映射任务,旨在将输入图像映射到相同空间分辨率的具有语义信息的地图。
b. FPN框架:
属于网络的一个阶段。这里和表示相应特征图的高度和宽度。最粗糙的特征图:来自深层,具有最强语义。通常,FCN模型直接在 上进行预测,但结果可能会过于平滑,缺乏细节。
FPN融合:为了改进预测,FPN采用自上而下的路径,逐渐融合高级别和低级别的特征图。这通过2×双线性上采样实现,原始上采样方法在空间上较小但在语义上更强的特征图上进行操作。然而,这种双线性上采样只能处理一种固定和预定义的不对齐类型。
c. 问题:特征图之间的不对齐问题:
由于残差连接、反复的下采样和上采样,导致特征图之间的不对齐问题变得复杂。
解决方法:需要明确且动态地建立特征图之间的位置对应关系,以解决实际的不对齐问题。
2、流对齐模块
为了更灵活和动态地对齐,我们彻底研究了光流的思想,光流在视频处理任务中对齐两个相邻视频帧特征非常有效和灵活。对齐模块(FAM),通过在网络内部预测流场来对齐两个相邻级别的特征图。它在特征金字塔中的不同级别之间生成。
图a. 展示了Flow Alignment Module (FAM)的细节。我们将经过变换的高分辨率特征图和低分辨率特征图结合,生成语义流场,用于将低分辨率特征图变形到高分辨率。
图b. 展示了FAM模块的变形过程。高分辨率特征图的值通过对低分辨率特征图中相邻像素进行双线性插值得到,邻域由学到的语义流场定义。
图c. 概述了我们提出的SFNet。采用ResNet-18骨干网络,包含四个阶段。SFNet整体结构嵌入了多个Flow Alignment Modules (FAMs)。同时,引入金字塔池化模块(Pyramid Pooling Module,PPM)。
3. 语义流生成
。这个流场被定义为一个大小为 的三维张量,其中 和
数学表达式:
表示将 和 沿通道维度连接起来,
4. 语义流场映射
后,将上一层次的每个位置 映射到当前层次的位置 。这个映射通过简单的加法完成,具体如下:
表示上一层次中的空间位置,
5. 特征图扭曲
在映射之后,采用可微的双线性采样机制,通过对当前层次的特征图进行线性插值,得到最终的扭曲特征图 。
具体表达式:
这里, 表示扭曲点 的邻居,
这整个过程在网络中用于解决特征金字塔网络中特征图对齐的问题,提高了场景解析的准确性。