Offer option to configure the size of the normal distribution that the target size is drawn from

This commit is contained in:
James Betker 2020-09-20 11:59:31 -06:00
parent 3138f98fbc
commit dab8ab8a8f

View File

@ -97,7 +97,12 @@ class FullImageDataset(data.Dataset):
target_sz = self.opt['min_tile_size'] target_sz = self.opt['min_tile_size']
h, w, _ = image.shape h, w, _ = image.shape
possible_sizes_above_target = h - target_sz possible_sizes_above_target = h - target_sz
square_size = int(target_sz + possible_sizes_above_target * min(np.abs(np.random.normal(scale=.17)), 1.0)) if 'fixed_size' in self.opt.keys() and self.opt['fixed_size']:
square_size = target_sz
else:
tile_expansion_dev = self.opt['tile_scale_normal_stddev'] if 'tile_scale_normal_stddev' in self.opt.keys() else .17
square_size = int(target_sz + possible_sizes_above_target * min(np.abs(np.random.normal(scale=tile_expansion_dev)), 1.0))
# Pick the left,top coords to draw the patch from # Pick the left,top coords to draw the patch from
left = self.pick_along_range(w, square_size, .3) left = self.pick_along_range(w, square_size, .3)
top = self.pick_along_range(w, square_size, .3) top = self.pick_along_range(w, square_size, .3)