在训练有利于CNN之前挤压图像?

时间:2018-02-20 18:08:25

标签: image-processing tensorflow neural-network keras conv-neural-network

每当我在将数据输入CNN之前对数据进行预处理时,总会出现一个非常大的问题。当我将图像调整到正确的大小时,我总是以某种方式挤压它们。

我见过很多人都做同样的事情,我到处寻找答案,但他们都没有真正满足我,所以我的问题是:这对训练有用吗?在现实生活中测试网络会对网络造成多大的影响?

2 个答案:

答案 0 :(得分:2)

您的模型需要固定尺寸的输入尺寸。调整图像大小的替代方法是填充数据或训练多个模型。对于填充,有各种方法可以产生新问题。 不同尺寸的多个模型太昂贵,因为对于每个模型,您需要匹配的数据集。

调整大小时出现的问题取决于您的问题和拉伸因素。卷积NN仅在很小程度上是不变的,因此在很多情况下拉伸图像应该可以达到一定程度。

要找到问题的答案,您可以训练两个模型并比较性能:一个用填充,一个用缩放。

答案 1 :(得分:0)

我最好的建议是不要改变图像的原始比例。在这种情况下,您需要做的是调整图像大小(保持相同的比例),使得两个维度都小于或等于请求的输入大小,然后填充它。 例如。让我们说你对网络的输入是160x120,你有一个500x500的图像。在这种情况下,请将图像调整为120x120,然后将其填充到160x120。