在灰度图像网络上训练的 VGG16

Posted

技术标签:

【中文标题】在灰度图像网络上训练的 VGG16【英文标题】:VGG16 trained on grayscale imagenet 【发布时间】:2018-07-15 18:23:24 【问题描述】:

我发现 VGG16 网络在(彩色)imagenet 数据库(如 .npy)上进行了预训练。是否有在可用的 imagenet 数据库的灰度版本上预训练的 VGG16 网络?

(在灰色 1 通道输入上使用 conv1.1 层的 3 通道过滤器的通常“技巧”对我来说是不够的。我正在寻找网络性能的增量改进,所以我需要看看当预训练模型“查看”灰度输入时迁移学习的表现如何)。

谢谢!

【问题讨论】:

我认为没有可用的。您可以自己训练一个人使用 Floydhub 等云服务。 感谢卢克的回复。我自己还没有找到一个。我不知道我是否可以获得足够的资源来自己做。我希望有人已经这样做了。 你可以尝试微调预训练的 VGG16 是的,Luke,这就是我在执行迁移学习时所做的(这就是你的意思,对吧?)。但就我而言,正如我通常认为的那样,保持第一个卷积层的系数不变(不可训练)似乎更有效。然而,我希望在巨大的灰度图像网络上对这些(第一层)系数进行预训练。 很想知道您是否在训练时尝试冻结除第一个以外的所有层。然后,一旦稳定了,就开始训练。 【参考方案1】:

@GrimSqueaker 给了你这篇论文的代码:https://openaccess.thecvf.com/content_eccv_2018_workshops/w33/html/Xie_Pre-training_on_Grayscale_ImageNet_Improves_Medical_Image_Classification_ECCVW_2018_paper.html

但是,在其中训练的模型是 Inception v3 而不是 VGG16。

你有两个选择:

    使用彩色预训练 VGG16 模型并将一个通道复制到三个通道 在 ImageNet 灰度数据集上训练您的 VGG16 模型。

您可能会发现此链接很有用: https://github.com/zzangho/VGG16_grayscale

【讨论】:

【参考方案2】:

是的,有这个: https://github.com/DaveRichmond-/grayscale-imagenet

灰度 imagenet 训练模型,以及在 X 射线上微调的版本。他们表明,Imagenet 的性能几乎没有下降。

【讨论】:

以上是关于在灰度图像网络上训练的 VGG16的主要内容,如果未能解决你的问题,请参考以下文章

如何使用带有灰度图像的预训练神经网络?

在预训练模型前添加 Conv 层会产生 ValueError

TensorFlow Android Camera Demo - 灰度图像分类

matlab图像转灰度图像

训练首个神经网络:基本分类

python-PIL-16bit-灰度图像生成-tiff