【问题标题】:How to make a neural network with batches with different input shapes如何使用具有不同输入形状的批次制作神经网络
【发布时间】:2019-04-15 17:57:37
【问题描述】:

我想制作一个可以将灰度图像作为输入并输出彩色图像的 CNN 或 FCN。对我来说,图像的大小可以变化是非常重要的。我听说我只能在制作 FCN 并用一个尺寸的图像拍摄一批,用另一种尺寸的图像拍摄另一批时才能做到这一点。但我不知道如何在 Tensorflow Keras(Python 版本)中提出这个概念,我想知道您是否可以提供一些示例代码或伪代码?我很感激。谢谢!

【问题讨论】:

  • 重新缩放所有输入图像,使其具有相同的纵横比、宽度和高度、值分布等,然后将它们提供给您的模型。谷歌image preprocessing.
  • 但我不想缩小图像。我真的需要它们保持原来的大小
  • 我不熟悉这种方法,从未听说有人这样做。尝试在https://scholar.google.com搜索相关论文
  • 您是否尝试过提取补丁并仅向网络提供补丁?

标签: python tensorflow machine-learning deep-learning conv-neural-network


【解决方案1】:

我知道您想让它们都保持原来的大小,但这是不可能的。不过不要担心,因为调整大小可以在图像被输入模型时进行(在内存中);图像永远不会被触摸,除非被阅读。

Here's a great example 我经常引用!

【讨论】:

  • 您知道,输出图像与原始图像大小相同对我来说很重要。这真的不可能吗?
  • 啊!一点都不!输出图像绝对可以是原始大小。不同的架构以不同的方式处理这个问题,但考虑一下:图像被调整大小,通过网络,产生边界框坐标和类预测。然后将这些坐标缩放到原始图像大小/比例,并在原始图像上布局(以其原始大小/比例)。这有意义吗?
  • 但是这是无损的吗?
  • 谢谢。这很有帮助!
  • 嘿,更具体一点(因为我忘了你一直在谈论灰度到彩色图像),这个过程本质上是有损的,但你可以通过单独保存预测来执行损耗较小的版本(如前所述),然后将它们应用于图像而不改变像素亮度。这意味着使用预测的颜色值作为原始图像像素的权重,进行缩放以使像素亮度总和(跨所有三个通道)保持不变。不过,这不一定是网络。之后只是一些数学运算。
猜你喜欢
  • 1970-01-01
  • 2020-12-28
  • 1970-01-01
  • 2017-07-30
  • 2017-08-31
  • 2020-05-26
  • 1970-01-01
  • 2017-12-05
  • 2017-04-24
相关资源
最近更新 更多