【问题标题】:Resolution preserving Fully Convolutional Network保留分辨率的全卷积网络
【发布时间】:2020-04-12 23:54:06
【问题描述】:

我是 ML 和 Pytorch 的新手,遇到以下问题:

我正在寻找 Pytorch 中的全卷积网络架构,以便输入为 RGB 图像(HxWxC 或 480x640x3),输出为单通道图像(HxW 或 480x640)。换句话说,我正在寻找一个能够保持输入分辨率(HxW)并且会丢失通道维度的网络。我遇到的所有网络(ResNet、Densenet、...)都以完全连接的层结束(没有任何上采样或反卷积)。这是有问题的,原因有两个:

  1. 我受限于输入尺寸 (HxWxC) 的选择。
  2. 这与我期望获得的输出(单通道图像 HxW)无关。

我错过了什么?为什么还有FC层?为什么没有上采样,或者特征提取后有一些反卷积层?是否有任何内置的 torchvision.model 可能适合我的要求?我在哪里可以找到这样的 pytorch 架构?正如我所说,我是这个领域的新手,所以我真的不喜欢从头开始构建这样一个网络的想法。

谢谢。

【问题讨论】:

标签: conv-neural-network pytorch


【解决方案1】:

您可能遇到过用于分类的网络。所以他们最终会得到一个池化层和一个全连接层来产生固定数量的分类输出。

看看 Unet https://lmb.informatik.uni-freiburg.de/people/ronneber/u-net/

注意:原来的 unet 实现使用了很多技巧。 您可以简单地下采样,然后对称上采样来完成这项工作。

【讨论】:

    【解决方案2】:

    您的任务属于密集分类任务,例如分割。在这些任务中,我们使用全卷积网络(原始论文参见here)。在 FCN 中,您没有任何全连接层,因为在应用全连接层时,您会丢失密集预测所需的空间信息。也看看U-Net paper。所有最先进的架构都使用某种扩展的编码器-解码器架构,例如使用金字塔池模块。

    在pytorch模型动物园here中有一些实现。也可以在 Github 上搜索其他网络的 pytorch 实现。

    【讨论】:

      猜你喜欢
      • 2019-02-11
      • 2016-11-13
      • 2018-01-30
      • 2019-01-13
      • 2018-05-20
      • 2021-02-14
      • 1970-01-01
      • 2016-08-19
      • 1970-01-01
      相关资源
      最近更新 更多