解码器用于语义分割:数据依赖的解码可以实现灵活的特征聚合

该文章提出了一种不同于双线性插值的上采样方法,能够更好的建立每个像素之间预测的相关性。得益于这个强大的上采样方法,模型能够减少对特征图分辨率的依赖,能极大的减少运算量。

论文写作目的

在之前的语义分割方法中,双线性插值通常作为其最后一步来还原特征图的分辨率,由于非线性差值不能建立起每个像素的预测之间的关系,因此为了得到精细的结果,对特征图的分辨率要求较高,同时带来了巨额的计算量。
为了解决这个问题,本工作提出了 Data-dependent Up-sampling (DUpsample),能够减少上采样操作对特征图分辨率的依赖,大量的减少计算量。同时得益于 DUpsample, Encoder 中的 low-level feature 能够以更小的运算量与 Decoder 中的 high-level feature 进行融合,模型结构如下所示:
在这里插入图片描述
我们可以看到,该网络将传统的非线性插值替换成 DUpsample,同时在 feature fuse 方面,不同于之前方法将 Decoder 中的特征上采样与 Encoder 特征融合,本工作将 Encoder 中的特征下采样与 Decoder 融合,大大减少了计算量 ,这都得益于 DUpsample。
语义分割领域最常用的编解码方案中, 上采样是一个重要的环节, 用来恢复分辨率. 常用的是, 双线性插值和卷积的配合. 相较于具有一定的棋盘效应的转置卷积, 双线性插值简单快捷, 而且配合后续卷积, 也可以实现和转置卷积类似的效果, 而其他的方法, 如外围补零, 则是会引入过多的冗余无用信息。
以当前最优秀的语义分割网络deeplabv3+的结构为例(结合扩张卷积与编解码结构的方案). 可以看见, 为了恢复经过下采样之后特征图, 使用了很多的双线性插值。
文章重点考虑了双线性插值所带来的问题: 过简单的双线性上采样的一个缺点是, 其在准确恢复像素预测方面的能力有限. 双线性上采样不考虑每个像素的预测之间的相关性,因为它是数据独立的.
因此,卷积解码器被需要来产生相对较高分辨率的特征图, 以便获得良好的最终预测. 但是这个需要也会导致两个问题:
(1):编码的整体步长必须通过使用多个扩张卷积来进行非常大的降低. 代价是更高的计算复杂性和内存占用,阻碍了大量数据的训练过程和实时应用的部署. 例如deeplabv3+就很慢. (扩张卷积的主要缺点是计算复杂度和更大的内存需求, 因为这些卷积核的大小以及结果的特征映射变得更大.)。
(2):解码器需要融合来自更低层级的特征. 由于双线性上采样能力的不足, 导致最终预测的精细程度, 主要由更低层级的特征的分辨率占据主导地位. 结果, 为了产生高分辨率预测, 解码器必须将高分辨率特征置于低级层次上, 这样的约束限制缩小了特征聚合的设计空间, 因此可能导致次优的特征组合在解码器中被聚合.
实验表明,在不考虑特征映射分辨率约束的情况下,可以设计出更好的特征聚合策略。虽然当前很多工作已经花费了很多精力来设计更好的解码器, 但到目前为止, 它们几乎都不能绕过对融合特征的分辨率的限制以及很难更好地进行特征聚合.

作者的贡献

为了处理这些问题, 文章提出了一个可学习的"上采样"模块: DUpsamling. 来替换被广泛使用的双线性插值上采样方法, 恢复特征图的分辨率. 来利用分割标签空间的冗余, 以及准确的恢复像素级预测. 减少了对卷积解码器的精确响应的需要. 因此, 编码器不再需要过度减少其整体步幅, 从而大大减少整个分割框架的计算时间和内存占用.
同时, 由于 DUpsampling 的有效性, 它允许解码器在合并之前将融合的特征降采样到特征映射的最低分辨率. 这种下行采样不仅减少了解码器的计算量, 更重要的是它将融合特征的分辨率和最终预测的分辨率解耦. 这种解耦使解码器能够利用任意特征聚合, 从而可以利用更好的特征聚合, 从而尽可能提高分割性能.
最后, DUpsampling可以通过标准的 1x1 卷积无缝地合并到网络中, 因此不需要ad-hoc编码. (也就是不需要专门为了使用它而设计网络)
对作者的贡献进行总结就是:
(1):提出了一种简单而有效的数据依赖上采样 (DUpsampling) 方法, 从卷积解码器的粗略输出中恢复像素级分割预测, 替换以前方法中广泛使用的效果较差的双线性.
(2):利用提出的 DUpsampling, 可以避免过度减少编码器的整体步幅, 显著减少了语义分割方法的计算时间和内存占用 3 倍左右.
(3):DUpsampling 还允许解码器将融合的特征在融合它们之前, 降采样到特征图的最低分辨率.下采样不仅减少了解码器的计算量, 大大扩大了特征聚合的设计空间, 使得解码器能够利用更好的特征聚合.

数据依赖上采样

这里提出的方法相同于在空间维度上应用1x1卷积(可以使用空间上的1x1卷积实现), 卷积核存储在W里, 也就是前面优化目标函数中的反变换矩阵.
除了上面提出的线性上采样, 文章还使用非线性自编码器进行了上采样实验. 对自编码器的训练也是为了最大限度地减少重建损失, 并且比线性情况下更通用. 经验上观察到最终的**语义预测精度几乎与使用更简单的线性重建手段是相同的. 因此文章主要关注与线性重建方法.

自适应温度Softmax

虽然可以通过1x1卷积操作实现DUpsampling, 但直接将其合并到框架中会遇到优化困难, 文章认为, 因为W是利用one-hot编码后的Y来计算的, 原始softmax和提出的DUpsample的计算, 很难产生较为锐利的激活.结果导致交叉熵损失在训练中被卡住, 使得训练过程收敛很慢.
为了解决这个问题, 这里使用了Hinton著名论文 Distilling the knowledge in a neural network 里提到的"温度"的概念. 对softmax添加了一个"温度"T的参数, 来锐利/软化softmax的激活.这个参数T可以再反向传播中自动学习, 无需调整.

灵活的集成策略

先对生成的特征图进行上采样, 再结合较低层级的高分辨率特征信息. 这样的设计主要有两个问题:
(1):f(CNN计算)在上采样之后计算, 由于f的计算量依赖于输入的空间大小, 这样的安排会导致解码器计算上的抵效, 此外,计算开销阻碍了解码器利用低层级的特征.
(2):融合的低级特征的分辨率与F的分辨率相等, 由于无法使用双线性产生最终像素预测, 因此通常约为最终预测的1/4分辨率. 为了获得高分辨率预测, 解码器只能选择具有高分辨率低级特征的特征聚合。
相反, 在提出的框架中, 恢复全分辨率预测的责任在很大程度上已经转移到DUpsampling.因此, 可以安全地下采样要使用的任何级别的低层特征到最后一个特征图Flast的分辨率(特征图的最低分辨率), 然后融合这些特性以产生最终的预测。

实验对比

本次实验使用以下两种数据集:PASCAL VOC 2012 和 PASCAL Context benchmark。
首先作者设计实验说明双线性插值的上限远远低于 DUpsample。首先我们搭建一个简易网络实现 auto-encoder,其中上采样方式分别使用双线性插值与 DUpsample, 输入分别为 ground_truth,得到下表中的 mIOU*,这个指标代表上采样方法的上限。同时使用 ResNet50 作为主干网络,输入为 raw image 去实现语义分割,得到下表中的 mIOU:
在这里插入图片描述通过上表可以发现:

  1. 在相同条件下,DUpsampling 效果优于 bilinear。
    2)DUpsampling 在 output_stride=32 的情况下效果与 bilinear 在 output_stride=16 的情况下结果相当。
    接下来作者设计实验说明融合不同的 low-level 特征对结果的影响,如下表所示:
    在这里插入图片描述
    值得说明的是,并不是所有与 low-level feature 的融合都会提升结果,例如 conv1_3,因为其结果不够鲁棒。因此和什么 low-level feature 相结合对语义分割的结果有很大的影响。
    接下来设计实验与双线性插值进行比较:
    在这里插入图片描述
    可以看到作者的方法优于传统的双线性插值上采样方法。同时验证了不同的 softmax 对结果的影响,在没有使用 softmax with tenperature 的情况下只有 69.81 的 mIOU(这里没设置消融实验有些疑惑,感觉不同的 softmax 对实验结果影响挺大的)。
    最后将作者的方法与最新的模型进行比较,结果如下(分别为 PASCAL VOC 与 PASCAL context):
    在这里插入图片描述
    在这里插入图片描述
    可以看出作者的方法在只用 deeplabv3+ 30% 的计算量的情况下,超越了当前所有的方法。

总结

提出了一种灵活、轻便的语义图像分割方案. 这种新型解码器采用提出的数据依赖上采样产生像素预测.
这消除了从底层 CNNs 计算效率低下的高分辨率特征图的需要, 并将融合的低级特征和最终预测的分辨率分离.这种解耦扩展了解码器特征聚集的设计空间, 使得几乎任意的特征聚集被利用来尽可能提高分割性能.同时, 本文提出的解码器避免了将低分辨率高级特征图向上采样回高分辨率低层特征映射的空间大小, 大大降低了解码器的计算量.

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值