小图像 (80x80) 的最佳 CNN 架构?

Best CNN architectures for small images (80x80)?

我是计算机视觉领域的新手,希望您能帮助我解决有关 CNN 架构的一些基本问题。

我知道一些最著名的是: VGG网 ResNet 密网 启蒙网 Xception 网络

他们通常需要输入大约 224x224x3 的图像,我也看到了 32x32x3。

关于我的具体问题,我的目标是训练大小为 (80x80) 的生物医学图像进行 4-class class化 - 最后我将有一个 4 的密集层. 另外我的数据集很小(1000 张图片),我想使用迁移学习。

你能帮我解决以下问题吗?在我看来,它们没有单一的正确答案,但我需要了解什么才是正确的思考方式。如果您也能给我一些指点,我将不胜感激。

  1. 我应该缩放图像吗?相反并缩小到 32x32 输入怎么样?
  2. 我应该将 CNN 的输入更改为 80x80 吗?主要改什么参数?内核和参数有什么具体的比例吗?
  3. 我还有另一个问题,输入需要 3 个通道 (RGB),但我正在处理灰度图像。它会改变很多结果吗?
  4. 我应该填充周围环境(在 80x80 和 224x224 之间)作为背景而不是缩放吗?在这种情况下,图像应该居中吗?
  5. 对于选择什么架构,您有什么建议吗?
  6. 我已经看到这些架构对 3D/体积输入而不是 2D/图像进行了一些调整。我有一个与我在此处描述的问题类似的问题,但使用 3D 输入。选择 3D CNN 架构而不是 2D 时有什么共同的推理吗?

提前致谢!

我假设您具备使用 CNN 进行分类的基本知识

回答问题1~3

您出于多种目的缩放图像。图像越小,训练和推理时间越快。但是在缩小图像的过程中你会丢失重要的信息。没有唯一的正确答案,这完全取决于您的应用。实时过程重要吗?如果您的回答是否定的,请始终保持原始尺寸。

如果您打算重新训练预定义模型,您还需要调整图像大小以适应预定义模型的输入大小。但是,由于您的图像是灰度的,您需要找到以灰色训练的模型或创建一个 3 通道图像并将相同的值复制到所有 R、G 和 B 通道。这效率不高,但可以帮助您重用其他人训练的高质量模型。

我认为您处理此问题的最佳方法是从头开始训练所有内容。 1000 似乎是少量的数据,但由于您的领域是特定的并且只需要 4 类,因此从头开始训练似乎并不那么糟糕。

问题4

当大小不同时,总是缩放。填充周围会导致模型学习空白空间,这不是我们想要的。 还要确保推理期间的输入大小和格式与训练期间的输入大小和格式相同。

问题5

如果处理时间不是RESNET的问题。如果处理时间很重要,那么 MobileNet。

问题 6

6) 取决于您输入的数据。如果您有 3D 数据,则可以使用它。更多的输入数据通常有助于更好的分类。但是 2D 足以解决某些问题。如果您可以通过查看 2D 图像对图像进行分类,那么很可能 2D 图像就足以完成任务。

我希望这会解决您的一些问题并指导您找到合适的解决方案。