【问题标题】:Is it possible to use grayscale images to existing model?是否可以将灰度图像用于现有模型?
【发布时间】:2018-02-06 22:29:29
【问题描述】:

来自tensorflow's object recognition (R-CNN)

我正在使用新类别重新训练现有模型:衣服的类型(牛仔裤、裤子、衬衫等)。由于我们不需要颜色来确定用户穿着的衣服类型,我想用灰度图像重新训练它。是否可以使用灰度图像来训练现有模型(使用彩色图像进行训练)?

我很担心,因为他们用彩色图像训练他们的模型。

模型是否仅将灰度图像视为彩色图像?它仍然有效吗? :)

p.s 我正在生成 XML 和 csv 文件来放置用于训练和测试的数据。

【问题讨论】:

    标签: opencv tensorflow deep-learning keras conv-neural-network


    【解决方案1】:

    是的,您可以,但是您需要在您的 1 通道灰度输入图像中添加另外 2 个通道,只需将您的灰度图像克隆 3 次,然后将它们合并为 3 通道图像。无论如何,您需要 3 通道输入图像才能使用经过彩色图像训练的模型。

    【讨论】:

    • 在我的例子中,我正在生成 XML 和 csv 文件来放置用于训练和测试的数据。所以在我的理解中,我不能再添加两个频道了..我正在关注这个视频......! youtube.com/watch?v=kq2Gjv_pPe8
    • 您的回答是正确的,但我认为我的问题并不具体。我可以再问你一次这个问题吗? :)
    • 模型是否只将灰度图像视为彩色图像?它仍然有效吗? :)
    • 我认为在您想要用作基础的模型的训练集中不仅呈现全彩色图像,而且还呈现灰色,因此使用您的彩色图像对现有网络进行微调可能会更快灰色图像。但是网络输入适用于 3 个通道,无论如何您都需要相应地转换数据集。是的,我认为它应该有效。但如果您只想使用 1 个通道图像,则需要更改输入层,并从头开始重新训练整个网络。
    • 说得通!谢谢!
    【解决方案2】:

    您可以通过tf.tile将灰度图像的1个通道克隆到其他2个通道,这是一些代码示例:

    images = tf.tile(images, [1, 3])
    summary_images = tf.transpose(tf.reshape(images, [-1, 3, 28, 28]), (0, 2, 3, 1))
    

    images 是张量,尺寸 N * 784 N 是批量大小,图像原点大小为 28 * 28

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-11-23
      • 2020-02-12
      • 1970-01-01
      • 1970-01-01
      • 2019-02-08
      • 2010-09-28
      • 1970-01-01
      • 2013-01-29
      相关资源
      最近更新 更多