裁剪/缩放ImageNet图像

Fro*_*bot 3 crop neural-network imagenet

ImageNet图像的大小均不同,但是神经网络需要固定大小的输入。

一种解决方案是采用以图像的中心点为中心的,适合图像大小的裁切大小。这可行,但有一些缺点。通常,图像中感兴趣的对象的重要部分会被切掉,甚至在某些情况下,正确的对象会完全丢失,而另一个属于不同类别的对象可见,这意味着您的模型将被错误地训练为该图像。

另一种解决方案是使用整个图像,并将其零填充到每个图像具有相同尺寸的位置。但是,这似乎会干扰训练过程,并且该模型将学会在图像边缘附近寻找垂直/水平的黑色斑点。

通常做什么?

Mat*_*gro 5

有几种方法:

  • 多种作物。例如,AlexNet最初接受5种不同作物的培训:中部,左上,右上,左下,右下。
  • 随机农作物。只需从图像中获取一些随机作物,并希望神经网络不会受到偏见。
  • 调整大小和变形。在不考虑纵横比的情况下将图像调整为固定大小。这将使图像内容变形,但会保留,但是现在您可以确定没有内容被剪切。
  • 可变大小的输入。不要使用可变金字塔池之类的东西来裁剪和训练可变大小的图像上的网络,以提取固定大小的特征向量,该向量可以与完全连接的图层一起使用。

您可以看看如何训练最新的ImageNet网络,例如VGG和ResNet。他们通常会详细描述此步骤。