卷积神经网络可以将不同大小的图像作为输入图像吗?


10

我正在开发用于图像识别的卷积网络,我想知道是否可以输入不同大小的图像(尽管差别不大)。

关于此项目:https : //github.com/harvardnlp/im2markup

他们说:

and group images of similar sizes to facilitate batching

因此,即使经过预处理,图像仍然具有不同的大小,这是有道理的,因为它们不会切掉公式的某些部分。

使用不同尺寸会有任何问题吗?如果有,我应该如何解决此问题(因为公式无法完全适合相同的图像大小)?

任何输入将不胜感激

Answers:


2

使用不同尺寸会有任何问题吗?如果有,我应该如何解决此问题(因为公式无法完全适合相同的图像大小)?

这取决于神经网络的架构。有些架构假定所有图像都具有相同的尺寸,而其他架构(例如im2markup)则不做这样的假设。我相信im2markup允许不同宽度的图像这一事实不会带来任何问题,因为它们使用了RNN来扫描卷积层的输出。

在此处输入图片说明

相似大小的组图像以方便批处理

通常,这是通过避免添加过多的填充来加快处理速度。


2

您是否考虑过在预处理阶段仅缩放图像?凭直觉,面对缩放图像的人仍然可以识别相同的特征和对象,并且没有明显的理由使CNN不能在缩放图像上执行相同的操作。

我认为将图像缩放到相同大小可能比尝试使卷积网络处理不同大小的图像更容易,而我认为这会在“原始研究”领域中出现。您当然可以使convnet的conv层处理任何大小的图像,而无需重新训练。但是,卷积网络的输出通常是某种分类器,如果您输入不同大小的输入,这可能效果不佳。

另一种方法是仅将图像填充零。但是,凭直觉想象一下,您正在看的是填充有黑色边框的小照片,还是可以放大,因此它在您的视野中呈现出合理的弧度。你会怎么做?哪个更容易看到?


缩放不会降低图像的质量,从而引入误差和变形特征,如果图像已经是低分辨率,则缩放会将图像的质量降低到甚至人类都无法识别的程度,但是未缩放的图像可能可以被识别。
Vikram Bhat

1
您是否有一个人类可以识别的图像示例,除非您应用缩放比例然后变得无法识别?
休·帕金斯

我也想知道。当尝试使用来自keras的现有训练模型时,我在想可以将图像放大到适合InceptionV3接口(32x32中的299x299-> CIFAR10)。我认为缩放会降低质量。但是我认为这样做的合适方法是排除输出FC,并将输入形状指定为32x32。我认为这将需要重新培训,因为输入层的权重将是随机的。
乔伊·卡森

缩放会降低质量,但有助于泛化:许多论文指出,训练应用高斯模糊时,识别率会显着提高。直观地,您有更多不同的输入样本,它们类似于单个“模糊”图像,因此使分类更加稳健。
Matthieu
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.