【问题标题】:Dividing an image into subparts using keras使用 keras 将图像划分为子部分
【发布时间】:2020-02-03 21:14:23
【问题描述】:

我想做一个this paper 的实现。

为此,我想将图像划分为如图所示的 64x64 子正方形区域。(例如,256x256 大小的图像将被划分为 64x64 大小的 16 个部分。)

我已经能够将其作为预处理的一个步骤,但我希望在推理时完成这项工作。 我做了一些研究,似乎可以使用 lambda 层来做到这一点。但是,我仍然无法意识到这一点。 我必须承认,我仍然无法理解这一切是如何运作的。

【问题讨论】:

    标签: python image keras lambda layer


    【解决方案1】:

    您可以使用tf.image.extract_patches 函数来做到这一点。

    out = Lambda(
        lambda x: tf.split(
            tf.image.extract_patches(x, [1,16,16,1], [1,16,16,1], [1,1,1,1], padding="VALID"),
            256, axis=3)
        )(inp)
    

    这将产生256(即16 x 16)、[batch_size, 16, 16, 3] 补丁。

    PS:但是,我认为您也可以使用数据处理管道来实现这一点。不应有任何东西阻止您在推理期间使用您用于训练的数据处理管道。

    【讨论】:

    • 看来这就是我所需要的,一旦完成这项工作,我将编辑我的问题。谢谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-19
    • 2011-11-04
    相关资源
    最近更新 更多