神经网络可以对大图像进行分类吗?

机器算法验证 神经网络 深度学习
2022-04-16 10:14:56

我正在考虑使用 ReLU 或卷积深度学习网络对黑白 8.5"x11" 图像进行分类(带有一些精细的细节)。我看到的大多数 DNN 示例都在 28x28 像素的 MNIST 图像上进行了测试。我想我可以将图像缩小到 320x414 像素,并且仍然可以识别我的分类需求;进一步减少可能是有风险的,因为即使是人类也可能很难说出细节。但即使在这个分辨率下,也会有 132480 个像素,因此网络输入将是一个包含那么多元素的 32 位浮点数的向量。ReLU 或卷积网络会处理如此大的输入吗?减少输入大小的方法是什么?

2个回答

已经有用于视频的卷积网络224×224×10 (1),所以是的,它是可能的。

我强烈建议尽可能减少图像大小,同时在开始时使用非全连接层,减少优化问题的维数。

您可以尝试的另一种方法是使用滑动窗口而不是整个图像作为输入。通过这种方式,您可以获取任何预训练 ImageNet 网络的第一层的特征,这将显着减少您的训练时间。如果您使用的是 Torch7,您可以在此处(2)找到它们。

在这两种情况下,为了训练这样的卷积网络,您将需要大量的计算能力和(一些)非常好的 GPU。

原则上,您可以处理多大输入大小的唯一限制因素是 GPU 上的内存量。当然,更大的输入大小将需要更长的时间来处理。

EfficientNet在其最大设置中使用 600x600 像素的图像大小,以及分别执行对象检测和语义分割的Feature Pyramid Networks for Object DetectionMask R-CNN,调整输入图像的大小,使其比例(短边)为 800像素。

输入大小、网络深度(层数)和网络宽度(一层中特征图的数量)之间存在一个有趣的权衡,这就是为什么您通常只使用中等大小的输入大小的原因。在EfficientNet中分析和利用了这些参数之间的最佳平衡,从而产生了一系列新的卷积神经网络 (CNN),其图像分类性能优于以前的 CNN(见图)。

在此处输入图像描述