传统的卷积神经网络可以用不同的训练图像大小和比例正确训练吗?

数据挖掘 深度学习 计算机视觉
2022-03-04 07:43:06

例如转换任务,模型只包含卷积层和池化层,输入图像,输出特征图(损失 MSE,试图生成与标签中的特征图完全匹配的特征图)

前向传递可以采用任何图像大小并输出大小 = [w/(n_max_pooling*2), h/(n_max_pooling*2)] 的特征

因此,批量大小为 1时,当我们输入不同的图像大小、不同的比例时,不会出现“尺寸不匹配错误”。由于卷积层和最大池化层的性质,网络只输出一个特征图。

例如:(batch_size、通道、宽度、高度)

  • 样本 1:1x3x128x128 => 目标 64x64
  • 示例 2:1x3x768x1024 => 目标 368x512

……

我想知道在输入形状不一致的情况下,网络是否能够正确训练和更新它的权重?

1个回答

不要这样做。

您正在为算法提供示例,您的训练数据应符合相同的维度,否则您将使用不会像原始批次那样反映真正正面的替代示例来扭曲权重。

您的数据准备很重要,如果您有能力标准化大小,那么您应该在训练之前开始这样做。

如果您有一个要训练的图像库,它们的大小都不同;我建议您执行以下操作:

使用 opencv 进行以下操作 1)编写一个循环遍历图像的脚本 2)使用脚本在 x:y 轴上剪切图像,制作一个正方形 2b)您可以通过使用中心的单击点来自动执行此操作,然后剪切和保存新尺寸的图像

显然将所有文件保存在另一个目录中,但现在它们都应该标准化。