【问题标题】:What should be the 5th dimension for the input to 3D-CNN while working with hyper-spectral images?在处理高光谱图像时,3D-CNN 输入的第 5 维应该是多少?
【发布时间】:2018-11-05 18:14:16
【问题描述】:

我有一个尺寸为S * S * L 的高光谱图像,其中S*S 是空间大小,L 表示光谱带的数量。

现在我的 X(图像数组)的形状是:(1, 145, 145, 200) 其中 1 是示例数,145 是图像的长度和宽度,200 是没有。图像的通道数。

我想将此图像的这个小窗口(具有像 W * W * L;W (batch, length, width, depth, channels)。

在我看来,我缺少一个空间维度,如何将图像数组转换为 5 维数组而不丢失任何信息?

我在上面使用 python 和 Keras。

【问题讨论】:

    标签: python keras conv-neural-network


    【解决方案1】:

    如果你想沿着你的通道维度进行卷积,你应该在通道的位置添加一个单一维度。如果您不想沿通道维度进行卷积,则应使用 2D CNN。

    【讨论】:

    • 添加一个单一维度是否意味着将其重塑为(1, 145, 145, 200,1)
    • 是的,或者你可以使用tf.expand_dims(X, axis=4)
    【解决方案2】:

    您需要的是 2D CNN,而不是 3D。 2D CNN 已经支持多个通道,因此将它与高光谱图像一起使用应该没有问题。

    【讨论】:

    • 不,实际上我正在尝试实现一篇研究论文,所以我特别希望使用 3D CNN 来完成这项工作,因为根据论文,它具有一些优势。因此,我想实现建议的方法,看看它是如何工作的!我已经按照您的建议使用 2D CNN 完成了一次。
    • @gopalkrizna 究竟是什么论文?可能是这篇论文提到了 3D 卷积,但实际上和 Keras 的 2D 卷积是一样的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-04-17
    • 1970-01-01
    • 1970-01-01
    • 2019-03-31
    • 1970-01-01
    • 2019-12-29
    • 2017-01-25
    相关资源
    最近更新 更多