Image CNN-图像大小与填充(是否保持纵横比?)

Image CNN-图像大小与填充(是否保持纵横比?),image,machine-learning,neural-network,computer-vision,conv-neural-network,Image,Machine Learning,Neural Network,Computer Vision,Conv Neural Network,虽然通常人们在训练CNN时倾向于简单地将任何图像调整为正方形(例如resnet拍摄了一张224x224正方形的图像),但这在我看来很难看,尤其是当纵横比不在1左右时 (事实上,这可能会改变基本事实,例如专家可能给出的扭曲图像的标签可能与原始图像不同) 因此,现在我将图像大小调整为224x160,保持原始比率,然后用0填充图像(将其粘贴到完全黑色的224x224图像中的随机位置) 我的方法在我看来并不新颖,但我找不到任何关于我的方法与“常规”方法的信息。 时髦 那么,哪种方法更好呢?为什么?(如果

虽然通常人们在训练CNN时倾向于简单地将任何图像调整为正方形(例如resnet拍摄了一张224x224正方形的图像),但这在我看来很难看,尤其是当纵横比不在1左右时

(事实上,这可能会改变基本事实,例如专家可能给出的扭曲图像的标签可能与原始图像不同)

因此,现在我将图像大小调整为224x160,保持原始比率,然后用0填充图像(将其粘贴到完全黑色的224x224图像中的随机位置)

我的方法在我看来并不新颖,但我找不到任何关于我的方法与“常规”方法的信息。 时髦


那么,哪种方法更好呢?为什么?(如果答案与数据有关,请分享您的想法,如果一个比另一个更可取的话。)

根据,填充一大块图像(64x160像素)将产生以下效果:CNN将必须了解图像的黑色部分不相关,并且无助于区分类(在分类设置中),因为黑色部分的像素和属于给定类别的像素之间没有相关性。由于您没有硬编码,CNN将不得不通过梯度下降来学习,这可能需要一些时间。因此,如果您有很多图像和计算能力,您可以这样做,但如果您在其中任何一个方面都有预算,调整大小应该会更好。

抱歉,现在已经晚了,但这个答案适用于任何面临相同问题的人

首先,如果通过更改纵横比进行缩放会影响一些重要特性,那么必须使用零填充

零填充不会使网络花费更长的时间来学习,因为黑色区域本身很大,但因为未添加的图像可能位于填充图像内部的不同位置,因为可以通过多种方式填充图像

对于像素为零的区域,卷积运算的输出为零。与最大或平均池相同。此外,如果在某些激活函数(如relu、sigmoid)下与权重相关的输入为零,则可以证明反向传播后权重未更新.因此,在这种意义上,大区域不会对权重进行任何更新

但是,未添加图像在填充图像中的相对位置确实会影响训练。这不是因为卷积或池层,而是最后一个完全连接的层。例如,如果未添加的图像位于填充图像内的左侧相对位置,且展平最后一个卷积或池层的输出为[1,0,0],且相同未添加图像但位于填充图像内右侧相对位置的输出为[0,0,1],则完全连接的层必须了解[1,0,0]和[0,0,1]对于分类问题也是一样的

P>因此,学习图像的不同可能位置的等方差是使训练花费更多的时间。如果你有1000000个图像,那么在调整大小之后,你将拥有相同数量的图像;另一方面,如果你垫了并且想考虑不同的可能位置(10个随机地为每个图像)然后你会有10000000张图片。也就是说,训练将花费10倍的时间


这就是说,这取决于你的问题和你想要达到的目标。而且,测试两种方法也不会有什么坏处。

我有完全相同的担心。奇怪的是,一个月后没有人回答。你试过在人工智能堆栈交换网站上发布这个问题吗?我也有完全相同的担心。不过,就我而言,由chang如果调整纵横比,我所有的图像都会或多或少地失真。我使用合成的、串联的NIST数字。在我的例子中,我认为这对数字分类没有多大区别。我能想到的唯一区别是,通过调整大小,我可以在卷积层上应用更大的步幅,而不会丢失像以前那样多的信息填充图像。因此,在从卷积层到完全连接层的交叉处,我需要较少的权重。这个答案最终帮助了我。听起来不错,所以我投票支持你,但是:假设你将所有像素标准化为[0,1].所以黑色像素都是0。所以在卷积过程中,任何内核都会为这些像素输出0。所以…它非常容易学习,而且也是自动的,对吗?我想我可以用它进行实验,因为我有大量的数据,但仍然如此。如果所有的图片下面都有黑色填充,这真的很容易。但是,如果其中一些图片我不太确定,如果你必须构造一个区分圆和椭圆的分类器,我就不确定了。一种可能是添加一个额外的颜色通道,它屏蔽了所有填充的像素或所有作为图像一部分的像素原始图像。这样,网络就不必“弄清楚”黑色的东西是否是原始图像的一部分,因此可能为网络节省了一些工作。对我来说,这对CNN来说并不一定是一件难学的事情。无论如何,还不清楚这是否比学习高度挤压的视觉特征更难。如果对这两种方法进行任何实证比较,我认为这将是最有用的。