def train_transform(rgb, sparse, target, rgb_near, args): # s = np.random.uniform(1.0, 1.5) # random scaling # angle = np.random.uniform(-5.0, 5.0) # random rotation degrees do_flip = np.random.uniform(0.0, 1.0) < 0.5 # random horizontal flip transform_geometric = transforms.Compose([ # transforms.Rotate(angle), # transforms.Resize(s), transforms.BottomCrop((oheight, owidth)), transforms.HorizontalFlip(do_flip) ]) if sparse is not None: sparse = transform_geometric(sparse) target = transform_geometric(target) if rgb is not None: brightness = np.random.uniform(max(0, 1 - args.jitter), 1 + args.jitter) contrast = np.random.uniform(max(0, 1 - args.jitter), 1 + args.jitter) saturation = np.random.uniform(max(0, 1 - args.jitter), 1 + args.jitter) transform_rgb = transforms.Compose([ transforms.ColorJitter(brightness, contrast, saturation, 0), transform_geometric ]) rgb = transform_rgb(rgb) if rgb_near is not None: rgb_near = transform_rgb(rgb_near) # sparse = drop_depth_measurements(sparse, 0.9) return rgb, sparse, target, rgb_near
def val_transform(rgb, sparse, target, rgb_near, args): transform = transforms.Compose([ transforms.BottomCrop((oheight, owidth)), ]) if rgb is not None: rgb = transform(rgb) if sparse is not None: sparse = transform(sparse) if target is not None: target = transform(target) if rgb_near is not None: rgb_near = transform(rgb_near) return rgb, sparse, target, rgb_near
def val_transform(rgb, sparse, target, position, args): oheight = args.val_h owidth = args.val_w transform = transforms.Compose([ transforms.BottomCrop((oheight, owidth)), ]) if rgb is not None: rgb = transform(rgb) if sparse is not None: sparse = transform(sparse) if target is not None: target = transform(target) if position is not None: position = transform(position) return rgb, sparse, target, position
def train_transform(rgb, sparse, target, position, args): # s = np.random.uniform(1.0, 1.5) # random scaling # angle = np.random.uniform(-5.0, 5.0) # random rotation degrees oheight = args.val_h owidth = args.val_w do_flip = np.random.uniform(0.0, 1.0) < 0.5 # random horizontal flip transforms_list = [ # transforms.Rotate(angle), # transforms.Resize(s), transforms.BottomCrop((oheight, owidth)), transforms.HorizontalFlip(do_flip) ] # if small_training == True: # transforms_list.append(transforms.RandomCrop((rheight, rwidth))) transform_geometric = transforms.Compose(transforms_list) if sparse is not None: sparse = transform_geometric(sparse) target = transform_geometric(target) if rgb is not None: brightness = np.random.uniform(max(0, 1 - args.jitter), 1 + args.jitter) contrast = np.random.uniform(max(0, 1 - args.jitter), 1 + args.jitter) saturation = np.random.uniform(max(0, 1 - args.jitter), 1 + args.jitter) transform_rgb = transforms.Compose([ transforms.ColorJitter(brightness, contrast, saturation, 0), transform_geometric ]) rgb = transform_rgb(rgb) # sparse = drop_depth_measurements(sparse, 0.9) if position is not None: bottom_crop_only = transforms.Compose( [transforms.BottomCrop((oheight, owidth))]) position = bottom_crop_only(position) # random crop #if small_training == True: if args.not_random_crop == False: h = oheight w = owidth rheight = args.random_crop_height rwidth = args.random_crop_width # randomlize i = np.random.randint(0, h - rheight + 1) j = np.random.randint(0, w - rwidth + 1) if rgb is not None: if rgb.ndim == 3: rgb = rgb[i:i + rheight, j:j + rwidth, :] elif rgb.ndim == 2: rgb = rgb[i:i + rheight, j:j + rwidth] if sparse is not None: if sparse.ndim == 3: sparse = sparse[i:i + rheight, j:j + rwidth, :] elif sparse.ndim == 2: sparse = sparse[i:i + rheight, j:j + rwidth] if target is not None: if target.ndim == 3: target = target[i:i + rheight, j:j + rwidth, :] elif target.ndim == 2: target = target[i:i + rheight, j:j + rwidth] if position is not None: if position.ndim == 3: position = position[i:i + rheight, j:j + rwidth, :] elif position.ndim == 2: position = position[i:i + rheight, j:j + rwidth] return rgb, sparse, target, position