语义分割的解码器问题:依赖数据的解码使灵活的特征聚集成为可能

语义分割的解码器问题:依赖数据的解码使灵活的特征聚集成为可能

Decoders Matter for Semantic Segmentation: Data-Dependent Decoding Enables Flexible Feature Aggregation

摘要

【背景】最近的语义分割方法利用编码器-解码器结构产生了想要的像素级别的分割预测。解码器的最后一层通常是一个双线性上采样过程,以恢复最终的像素基本的预测。我们经验上表明,这个过于简单且独立于数据的双线性上采样可能导向次最优结果。

【本文工作】本文中,我们提出了依赖数据的上采样(data-dependent upsampling, DUpsampling)代替双线性插值。利用了标签空间中的冗余信息,能够从CNN的低分辨率输出中覆盖像素级别的预测。新的上采样层的主要优点在于,很低的分辨率(如 1 16 \frac{1}{16} 161或者 1 32 \frac{1}{32} 321),我们能达到甚至更好的分辨率,并显著减少计算复杂度。原因:(1)新的上采样层很大程度上改善了重建能力。更重要的是(2)基于解码器的灵活性的DUpsampling使用了几乎任意的CNN编码器特征的组合。

【试验】在PASCAL VOC数据集上的实验表明,计算量更少,我们的解码器是最先进的解码器。最终,没有任何后处理的情况下,装配有我们提出的解码器的框架在两个数据集上取得了最优的结果:在PASCAL VOC上88.1%的mIOU,比之前最佳模型少了30%的计算量。在PASCAL Context上是52.5%的mIOU

使用的框架

image-20190918141524775

将原来的上采样,换成下图这种作者自己设计的DUpsampling

image-20190918141555293

上采样率通常是16或者32.

F F F是CNN的输出, R R R是最终的图。W代表设计的上采样算法:

超越双线性:依赖数据的上采样

首先看一下最简单的解码器:

F ∈ R H ~ × W ~ × C ~ F\in\mathbb{R}^{\tilde{H}\times\tilde{W}\times\tilde{C}} FRH~×W~×C~:编码器CNN的最终输出

Y ∈ { 0 , 1 , 2 , ⋯   , C } H × W Y\in\{0,1,2,\cdots,C\}^{H\times W} Y{0,1,2,,C}H×Wground truth标签图

C C C:分割类别数目

C ~ \tilde{C} C~:最终输出的通道数

Y Y Y通常被编码成one-hot,即变成 Y ∈ { 0 , 1 } H × W × C Y\in\{0,1\}^{H\times W\times C} Y{0,1}H×W×C`,F通常是Y的16或32倍。

通常的损失函数是:
L ( F , Y ) = L o s s ( s o f t m a x ( b i l i n e a r ( F ) ) , Y ) L(F,Y)=Loss(softmax(bilinear(F)), Y) L(F,Y)=Loss(softmax(bilinear(F)),Y)
Loss通常就是交叉熵损失,通过使用atrous卷积(带孔卷积),尝试将 Y Y Y压缩成 Y ∈ R H ~ × W ~ × C ~ Y \in\mathbb{R}^{\tilde{H}\times\tilde{W}\times\tilde{C}} YRH~×W~×C~,然后计算 F F F Y Y Y之间的损失。

通过简单的线性投影(linear projecting)就可以完成这个压缩。
x = P v ; v ~ = W x , P ∈ R C ~ × N x=Pv;\tilde{v}=Wx,P\in \mathbb{R}^{\tilde{C}\times N} x=Pv;v~=Wx,PRC~×N
通过最小化 v v v v ~ \tilde{v} v~之间的重建误差得到 P P P W W W
P ∗ , W ∗ = arg ⁡ min ⁡ P , W ∑ v ∥ v − v ~ ∥ 2 = arg ⁡ min ⁡ P , W ∑ v ∥ v − W P v ∥ 2 \begin{array}{c}{\mathbf{P}^{*}, \mathbf{W}^{*}=\underset{\mathbf{P}, \mathbf{W}}{\arg \min } \sum_{v}\|\boldsymbol{v}-\tilde{\boldsymbol{v}}\|^{2}} \\ {=\underset{\mathbf{P}, \mathbf{W}}{\arg \min } \sum_{\boldsymbol{v}}\|\boldsymbol{v}-\mathbf{W} \mathbf{P} \boldsymbol{v}\|^{2}}\end{array} P,W=P,Wargminvvv~2=P,WargminvvWPv2
然后损失函数就变成了:
L ( F , Y ) = ∣ ∣ F − Y ~ ∣ ∣ 2 L(F,Y)=||F-\tilde{Y}||^2 L(F,Y)=FY~2
但是作者没有这样压缩,而是上采样了 F F F(❓❓❓),接着计算 F F F Y Y Y的像素分类损失:
L ( F , Y ) = L o s s ( s o f t m a x ( D U p s a m p l e ( F ) ) , Y ) L(F,Y)=Loss(softmax(DUpsample(F)), Y) L(F,Y)=Loss(softmax(DUpsample(F)),Y)
这个上采样,就是用一个1x1的卷积。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

MichaelToLearn

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值