Özellikle random_image_scale olmak üzere nesne algılama API'sinin veri büyütme özelliklerini kullanmaya çalışıyorum.Nesne algılama API'sinde veri büyütme: random_image_scale
Biraz araştırma yapmak, onu uygulayan işlevi buldum (aşağıya yapıştırılmış). Bir şey özlüyorum ya da kutuların zemin gerçekliği burada tedavi edilmiyor mu? Etrafa baktım ve hiçbir şey bulamadım. Eğer zemin gerçekliği, görüntüye yapılan ölçeklendirmeye göre değiştirilmezse, eğitilmiş olan modelle karıştırılacak, değil mi?
Lütfen bir şeyi kaçırıyorsam veya ağımın eğitimini almak için bu özellikten kaçınmalıyım.
dosya
def random_image_scale(image,
masks=None,
min_scale_ratio=0.5,
max_scale_ratio=2.0,
seed=None):
"""Scales the image size.
Args:
image: rank 3 float32 tensor contains 1 image -> [height, width, channels].
masks: (optional) rank 3 float32 tensor containing masks with
size [height, width, num_masks]. The value is set to None if there are no
masks.
min_scale_ratio: minimum scaling ratio.
max_scale_ratio: maximum scaling ratio.
seed: random seed.
Returns:
image: image which is the same rank as input image.
masks: If masks is not none, resized masks which are the same rank as input
masks will be returned.
"""
with tf.name_scope('RandomImageScale', values=[image]):
result = []
image_shape = tf.shape(image)
image_height = image_shape[0]
image_width = image_shape[1]
size_coef = tf.random_uniform([],
minval=min_scale_ratio,
maxval=max_scale_ratio,
dtype=tf.float32, seed=seed)
image_newysize = tf.to_int32(
tf.multiply(tf.to_float(image_height), size_coef))
image_newxsize = tf.to_int32(
tf.multiply(tf.to_float(image_width), size_coef))
image = tf.image.resize_images(
image, [image_newysize, image_newxsize], align_corners=True)
result.append(image)
if masks:
masks = tf.image.resize_nearest_neighbor(
masks, [image_newysize, image_newxsize], align_corners=True)
result.append(masks)
return tuple(result)
Farklı döndürmeler kullanarak verileri büyütmek için kod yok mu? –