将使用 ImageNet 预训练的过滤器转换为灰度?

数据挖掘 机器学习 深度学习 图像分类
2022-02-28 14:30:47

我想知道如何将使用 ImageNet(彩色图片)训练的 caffe 参考模型转换为灰度图像以节省内存并加快速度。

caffe 卷积层中的过滤器对于 RGB 是不同的,但例如可以将其平均以形成一个通道过滤器。

由于我的数据是灰度数据并且测试速度(预测)对我来说很重要,这可能会有所帮助。

我当然可以将我的灰度图像转换为 RGB 表示,以原样重复使用预训练的卷积层。但如果可能的话,我想避免它。

我的问题是:

这可能吗?

究竟应该如何组合过滤器?(平均的?)

过滤器转换后,conv层之间的权重需要重新训练吗?

2个回答

我怀疑您提出的任何一种方法都行得通,这些卷积层会学习颜色之间的各种关系,这些关系在灰度中不存在,将其上采样到 RGB 会使您的输入空间与 ImageNet 训练的输入空间非常不同,并且对经过训练的 ImageNet 模型的这些过滤器进行平均会产生很多不太可能成立的假设。第二种方法似乎比第一种更有希望,所以如果你想测试一种方法,我会选择第二种方法。它可能至少比随机初始化更好。我认为无论如何你最终都会需要大量的数据和计算,所以从你自己的网络形状开始并从头开始可能会更好。

预训练你自己的灰度 Imagenet 模型怎么样?创建单通道 resnet 架构并在已转换为灰度的图像上对其进行训练。在 Imagenet 上从头开始训练模型似乎是一项艰巨的任务,但如今它可以快速且廉价地完成。