调整图像大小以使用 Mobilenets 进行训练

数据挖掘 机器学习 Python 神经网络 深度学习 美国有线电视新闻网
2022-02-15 06:52:16

我有一个下载图像的脚本,但是图像的分辨率不同,所以我编写了一个脚本来缩小图像。我有两个选择:

size=(224,224)

与 cv2

cv2.resize(img,size,interpolation=cv2.INTER_AREA)

与 PIL

img.thumbnail(size,Image.ANTIALIAS)

保存它们后,我看到 cv2 不保持原始比率,而 PIL 保持比率。

我的问题 :

  1. 保持纵横比是否重要。

  2. 如果是(224,224)是一个不错的选择,或者我应该将其设置为更高的分辨率。

对不起,如果这个问题很幼稚,我是图像处理的新手。

1个回答

保持纵横比是否重要。

是的,在大多数情况下这真的很重要。正如你可以从这里读到的,为什么纵横比很重要?这完全与主要主体与框架两侧的关系以及主体周围的空白空间量有关。了解特定相机的纵横比特征可以帮助您构图更好的图像。它还可以帮助您识别何时裁剪为不同的纵横比会改善图像的构图。

在深度学习任务中,这取决于您希望如何向网络提供数据。最好用真实数据训练你的网络。因此,如果您要面对具有标准纵横比的数据,您也必须在训练期间保留它。

如果是(224,224)是一个不错的选择,或者我应该将其设置为更高的分辨率。

取决于你的任务224可能好与不好。在典型的分类网络中,它是一个可以接受的大小,就像AlexNetVGG的输入以及这样的习惯网络。对于本地化任务,并非如此。例如,YOLO 的输入高度和宽度大于1