TensorFlow - 在Cifar10示例中,random_crop是做什么的?

时间:2016-07-15 13:36:40

标签: machine-learning computer-vision neural-network tensorflow

在TensorFlow示例中的Cifar10示例中,他们使用裁剪,翻转,增亮,对比和美白的随机组合扭曲图像。这个概念是有道理的,除了裁剪对我来说有点奇怪。图像需要与网络的尺寸相同,裁剪代码如下所示:

  height = IMAGE_SIZE
  width = IMAGE_SIZE

  # Image processing for training the network. Note the many random
  # distortions applied to the image.

  # Randomly crop a [height, width] section of the image.
  distorted_image = tf.random_crop(reshaped_image, [height, width, 3])

由于高度和宽度都是基于图像尺寸,这实际上是做什么的?

1 个答案:

答案 0 :(得分:2)

在示例中,IMAGE_SIZE设置为24。所以这个代码基本上是选择一个随机选择的偏移并提取24 X 24补丁。它可能确保选择偏移的方式是可以提取补丁而不会有任何环绕或其他奇怪的边界条件,或者它可以填充它(应该很容易检查)。

我猜IMAGE_SIZE可以更好地命名为PATCH_SIZE或其他东西。请注意,原始CIFAR 10输入图像为32 x 32