TensorFlow用于图像识别,图像大小

图像的大小如何影响此任务的模型训练?

我当前的训练集包含2880 X 1800的图像,但我担心这可能太大而无法训练。总的来说,我的样本量将在200到500张图像之间。

这是否意味着我在训练模型时需要更多的资源(GPU、RAM、分布式计算)?

如果这太大,我应该如何调整大小?——我想尽可能模拟真实世界的照片分辨率以获得更好的准确性。

编辑:

我还将使用TFRecord格式来存储图像文件


回答:

您的内存和处理需求将与图像的像素大小成比例。是否太大而无法高效处理,取决于您的硬件限制和您可用的时间。

关于调整图像大小,没有一个统一的答案,您需要考虑如何最好地保留算法从数据中学习所需的信息,同时去除无用的信息。减小输入图像的大小不一定对准确性有负面影响。考虑以下两种情况:

手写数字

在这里,图像可以大幅度缩小尺寸,并保持所有必要的结构信息以被正确识别。看看MNIST数据集,这些图像以28 x 28的分辨率分发,并且可以达到99.7%+的准确率

识别树种

想象一组树木的图像,其中单个叶子可以帮助识别树种。在这里,您可能会发现减小图像大小会以对模型有害的方式减少叶子形状的小细节,但您可能会发现,使用紧密裁剪(保留单个叶子)而不是调整图像大小可以获得相似的结果。如果是这样,您可能会发现从同一张图像创建多个裁剪可以为训练提供一个增强的训练数据集,这在您的训练集非常小的情况下可能会显著改善结果(如果可能的话,这是值得考虑的)。

深度学习模型在许多图像分类任务中已经达到了接近人类水平的结果:如果您自己难以识别这些图像,那么训练一个算法来识别它们就更不可能了。这通常是考虑适当缩放水平的一个有用起点。

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注