【问题标题】:sub patch generation mechanism for training fully convolutional neural network用于训练全卷积神经网络的子补丁生成机制
【发布时间】:2017-06-14 19:41:18
【问题描述】:

我有一个图像集,由 300 个图像对组成,即原始图像和蒙版图像。典型的掩模图像如下所示。每个图像的大小为 800*800。我正在尝试为此图像集训练一个完全卷积神经网络模型来执行语义分割。我正在尝试从原始图像中生成小块(256*256)以构建训练集。对于这个补丁采样过程,有什么推荐的策略吗?自然,随机抽样是一种微不足道的方法。这里用黄色标记的区域,前景类,通常占整个图像集的整个图像区域的 25%。它往往反映了不平衡的数据集。

【问题讨论】:

  • 为什么要采样补丁?为什么不使用整个图像,并可能为损失采样像素?
  • 只有 300 个图像对,代表训练 FCN 的数据集太小。

标签: machine-learning tensorflow computer-vision deep-learning caffe


【解决方案1】:

如果你训练一个完全卷积的架构,假设800x800 输入和25x25 输出(在五个2x2 池化层之后,25=800/2^5)。尝试直接构建25x25 输出并直接对其进行训练。您可以在损失函数中为“正”标签添加更高的权重,以平衡它们与“负”标签。

我绝对不推荐采样,因为这将是一个昂贵的过程并且不是真正的完全卷积。

【讨论】:

  • 嗨 MZhm,你是什么意思直接在 25*25 输出上训练?如果我们不使用采样过程,我们只有 300 个图像对,这对于训练深度学习模型来说是不是一个太小的数据集?此外,对于基于 FCN 的语义分割,输出应与输入大小相同。
  • 对于上采样回到原始图像大小,我建议您阅读tf.nn.conv2d_transpose。对于采样,与对完整图像进行训练相比,这样做没有任何好处。 (请记住,输出不是单个预测,它是上例中 25x25 预测的空间网格)
  • 至于300是否足够的问题......只有一种方法可以检查 - 训练和测试它
猜你喜欢
  • 2018-05-01
  • 2019-01-14
  • 1970-01-01
  • 1970-01-01
  • 2016-07-21
  • 2017-07-26
  • 2020-09-10
  • 1970-01-01
  • 2017-08-31
相关资源
最近更新 更多