CNN 的图像大小调整和填充

数据挖掘 机器学习 深度学习 图像分类 预处理 图像识别
2021-10-05 00:48:09

我想训练一个 CNN 进行图像识别。用于训练的图像没有固定大小。例如,我希望 CNN 的输入大小为 50x100(高 x 宽)。当我将一些小尺寸图像(例如 32x32)调整为输入尺寸时,图像的内容水平拉伸太多,但对于一些中等尺寸的图像,它看起来还可以。

在避免内容被破坏的同时调整图像大小的正确方法是什么?

(我正在考虑在将图像调整到一定程度保持宽度和高度的比率后用 0 填充图像以完成大小。这种方法可以吗?)

3个回答

stackoverflow 上的这个问题可能会对您有所帮助。总而言之,一些深度学习研究人员认为填充图像的很大一部分并不是一个好的做法,因为神经网络必须学习填充区域与分类无关,如果你例如,使用插值。

你有几个选择:

对于小图像:

  • 通过插值上采样
  • 使用零填充图像

如果您无法通过上采样保持纵横比,您可以上采样并裁剪最大尺寸的多余像素。当然,这会导致数据丢失,但您可以反复移动作物的中心。这将有助于您的模型更加健壮。


对于大图像:

  • 下采样
  • 裁剪到您的输入大小

最后,如果您使用的是全卷积网络 (FCN),则无需调整图像大小。

TL;博士:

是的,用零填充是一个有效的选项。

您可以执行以下操作首先将图像调整到一定程度,然后从各个方面填充图像,这有助于保持图像中的特征。