语义分割中的上采样

Posted

技术标签:

【中文标题】语义分割中的上采样【英文标题】:Upsampling in Semantic Segmentation 【发布时间】:2018-04-17 10:57:28 【问题描述】:

我正在尝试实现一篇关于语义分割的论文,但我对如何对分割网络生成的预测图进行上采样以匹配输入图像大小感到困惑。

例如,我使用 Resnet101 的一个变体作为分割网络(论文中使用的)。使用这种网络结构,大小为 321x321 的输入(本文再次使用)会生成大小为 41x41xC 的最终预测图(C 是类数)。因为我必须进行像素级预测,所以我需要将其上采样到 321x321xC。 Pytorch 提供向上采样的功能,输出大小是预测图大小的倍数。所以,我这里不能直接使用那个方法。

因为这一步涉及到每个语义分割网络,我相信应该有一个标准的方法来实现它。

我将不胜感激任何指针。提前致谢。

【问题讨论】:

【参考方案1】:

也许您可以尝试的最简单的方法是:

上采样 8 次。然后你的 41x41 输入变成 328x328 执行中心裁剪以获得所需的 321x321 形状(例如,像这样的输入 [3:,3:,:-4,:-4])

【讨论】:

每次上采样后进行裁剪可能会更稳定,而不是最后一次。 是否有一种被广泛接受的方法来处理语义分割中的上采样?我想采用标准做法,因为我试图在 ICLR Reproducibility Challenge 的论文中重现结果,但他们没有提到他们的上采样策略。此外,我希望我的网络能够上采样到任意输入大小,这样我就不必担心在推理时对图像和标签应用转换(图像可以是任意大小)。有没有办法做到这一点? 您也可以尝试将反卷积作为上采样方法。但在实践中,仅 Nearest2D upsaming 效果很好 感谢 Egor Lakomkin 和 Shai。使用双线性插值和在每次上采样后进行裁剪的 3 次上采样操作效果最佳。我也尝试过转置卷积,但学习它们的权重结果很困难。

以上是关于语义分割中的上采样的主要内容,如果未能解决你的问题,请参考以下文章

基于深度学习的语义分割初探FCN以及pytorch代码实现

计算机视觉 - 语义分割

语义分割学习

UNET图像语义分割入门深度学习

聚类算法在语义分割管道中的作用?

Fast-SCNN语义分割网络详解