【问题标题】:Is squeezing images before training good for CNN?在训练之前压缩图像对 CNN 有好处吗?
【发布时间】:2018-07-31 04:35:26
【问题描述】:

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

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

【问题讨论】:

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


【解决方案1】:

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

【讨论】:

  • 这是一个很好的解决方案,但是我认为网络会偏向于填充图像,并且它无法识别没有填充的真实图像
  • @LukeDinh - 不幸的是,我目前没有任何经验数据来支持我的案例,但对我来说,这种方法提供了所有其他可能性中最好的结果。
【解决方案2】:

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

调整大小引起的问题取决于您的问题和拉伸因素。卷积神经网络仅在很小程度上具有尺度不变性,因此在许多情况下拉伸图像应该可以达到一定程度。

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

【讨论】:

    猜你喜欢
    • 2011-02-05
    • 1970-01-01
    • 2021-06-16
    • 1970-01-01
    • 1970-01-01
    • 2016-08-23
    • 2018-12-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多