2

我想从我的张量流模型中的输入图像中提取图像补丁。假设输入图像是[batch, in_width, in_height, channels],我想输出[no_patches, patch_width, patch_height, channels]no_patches是可以从中提取的补丁总数input_image

我发现tf.extract_image_patches可以完成这项工作。但是,我不明白论点stridesrates.

有人可以解释如何使用上述功能来完成这项工作吗?

4

1 回答 1

1

strides是关于数据窗口的移动。

rates是关于窗口是如何“展开”的。

例如,如果您使用strides = [1,5,5,1]窗口在第 1 维和第 2 维中跳跃 5 个像素。如果您使用rates = [1,1,1,1]的窗口是“紧凑的”,则意味着所有像素都是连续的。如果您使用rates = [1,1,2,1],那么您的窗口会在 2nd 维度上展开,并且每 2 个像素取一个像素。

示例ksizes = [1,3,2,1](暂时忽略步幅):在左侧我们使用 , rates = [1,1,1,1],在中间我们使用rates = [1,1,2,1],在右侧我们使用rates = [1,2,2,1]

*  *  3  4  5          *  2  *  4  5          *  2  *  4  5 
*  *  8  9  10         *  7  *  9  10         6  7  8  9  10
*  *  13 14 15         *  12 *  14 15         *  12 *  14 15
16 17 18 19 20         16 17 18 19 20         16 17 18 19 20
21 22 23 24 25         21 22 23 24 25         *  22 *  24 25
于 2017-09-14T04:53:43.417 回答