如何处理不同的图像尺寸进行分类

时间:2019-06-04 12:35:51

标签: python deep-learning image-resizing

我正在解决一个问题,必须将图像分为不同的组。我是初学者,使用简单的序列模型与Keras一起工作。我应该如何在下面的代码中解决不同尺寸的图像的问题,例如有些图像的尺寸为2101583,而有些图像的尺寸为210603等。请提出建议。

model.add(Dense(100,input_dim = ?,activation= "sigmoid"))
model.add(Dense(100,input_dim = ?,activation= "sigmoid"))

1 个答案:

答案 0 :(得分:0)

对于Keras中的简单分类算法,输入应始终为相同大小。由于前馈神经网络由一个输入层,一对多的隐藏层和一个输出层组成,并且所有节点都已连接,因此每个输入节点上始终应具有一个输入。而且,神经网络的形状和其他超参数是静态的,因此您无法更改输入数量,因此无法更改一个神经网络中每个图像的大小。

针对您的情况的最佳做法是将所有图像缩小到最小图像的大小,或者将所有图像放大到最大图像的大小。

缩小尺寸 缩小尺寸后,您会主动从图像中删除像素,包括像素中包含的信息。这可能会导致过拟合,但也会减少计算时间。

升级 通过增大尺寸,您可以在不添加信息的情况下为图像添加像素。这样会增加计算时间,但是您将保留每个图像的信息。

作为一个好的开始,我建议您尝试将图像缩小到最小的图像。这也是科学界的普遍做法[1]。其中一个库是OpenCV,有关实现问题,请参考Stackoverflow上的多个问题:

Python - resize image

Opencv-Python-Resizing image