示例#1
0
 def process_empty_map(self, map_feature):
     # In the returned empty map, 1 represents empty space
     empty_map = np.atleast_3d(decode_image(map_feature))
     ones, zeros = np.ones_like(empty_map), np.zeros_like(empty_map)
     empty_map = np.where(np.greater(empty_map, 1), ones, zeros)
     empty_map = np.transpose(empty_map, axes=[1, 0, 2])
     return empty_map
示例#2
0
def raw_images_to_array(images):
    """
    Decode and normalize multiple images from tfrecord data
    :param images: list of images encoded as a png in a string
    :return: a numpy array of size (N, 56, 56, channels), normalized for training
    """
    image_list = []
    for image_str in images:
        image = decode_image(image_str, (56, 56))
        image = scale_observation(np.atleast_3d(image.astype(np.float32)))
        image = remove_depth_noise(image)
        image_list.append(image)

    return np.stack(image_list, axis=0)
示例#3
0
 def process_roomtype_map(self, map_feature):
     output = np.atleast_3d(decode_image(map_feature))
     # transpose and invert
     output = np.transpose(output, axes=[1, 0, 2])
     return output
示例#4
0
 def process_roomid_map(self, roomidmap_feature):
     # this is not transposed, unlike other maps
     roomidmap = np.atleast_3d(decode_image(roomidmap_feature))
     return roomidmap
示例#5
0
 def process_door_map(self, map_feature):
     wall_map = np.atleast_3d(decode_image(map_feature))
     wall_map = np.transpose(wall_map, axes=[1, 0, 2])
     wall_map = wall_map.astype(np.float32) * (1.0 / 255.0)
     return wall_map