def make_scene(scene_info): (raster_uri, label_uri) = scene_info raster_uri = join(raw_uri, raster_uri) label_uri = join(processed_uri, label_uri) if test: crop_uri = join(processed_uri, 'crops', os.path.basename(raster_uri)) save_image_crop(raster_uri, crop_uri, label_uri=label_uri, size=600) raster_uri = crop_uri aoi_uri = join(raw_uri, aoi_path) id = os.path.splitext(os.path.basename(raster_uri))[0] background_class_id = 2 label_raster_source = rv.RasterSourceConfig.builder(rv.RASTERIZED_SOURCE) \ .with_vector_source(label_uri) \ .with_rasterizer_options(background_class_id) \ .build() label_source = rv.LabelSourceConfig.builder(rv.SEMANTIC_SEGMENTATION) \ .with_raster_source(label_raster_source) \ .build() return rv.SceneConfig.builder() \ .with_task(task) \ .with_id(id) \ .with_raster_source(raster_uri) \ .with_label_source(label_source) \ .with_aoi_uri(aoi_uri) \ .build()
def make_scene(scene_info): (raster_uri, label_uri) = scene_info raster_uri = join(raw_uri, raster_uri) label_uri = join(processed_uri, label_uri) aoi_uri = join(raw_uri, aoi_path) if test: crop_uri = join( processed_uri, 'crops', os.path.basename(raster_uri)) save_image_crop(raster_uri, crop_uri, label_uri=label_uri, size=600, min_features=20) raster_uri = crop_uri id = os.path.splitext(os.path.basename(raster_uri))[0] label_source = rv.LabelSourceConfig.builder(rv.CHIP_CLASSIFICATION) \ .with_uri(label_uri) \ .with_ioa_thresh(0.5) \ .with_use_intersection_over_cell(False) \ .with_pick_min_class_id(True) \ .with_background_class_id(2) \ .with_infer_cells(True) \ .build() return rv.SceneConfig.builder() \ .with_task(task) \ .with_id(id) \ .with_raster_source(raster_uri) \ .with_label_source(label_source) \ .with_aoi_uri(aoi_uri) \ .build()
def make_scene(id): raster_uri = join( raw_uri, '4_Ortho_RGBIR/top_potsdam_{}_RGBIR.tif'.format(id)) label_uri = join(processed_uri, 'labels', 'all', 'top_potsdam_{}_RGBIR.json'.format(id)) if test: crop_uri = join(processed_uri, 'crops', os.path.basename(raster_uri)) save_image_crop(raster_uri, crop_uri, label_uri=label_uri, size=1000, min_features=5) raster_uri = crop_uri label_source = rv.LabelSourceConfig.builder(rv.CHIP_CLASSIFICATION) \ .with_uri(label_uri) \ .with_ioa_thresh(0.5) \ .with_use_intersection_over_cell(False) \ .with_pick_min_class_id(True) \ .with_background_class_id(2) \ .with_infer_cells(True) \ .build() return rv.SceneConfig.builder() \ .with_id(id) \ .with_task(task) \ .with_raster_source(raster_uri, channel_order=[0, 1, 2]) \ .with_label_source(label_source) \ .build()
def make_scene(id): image_uri = os.path.join(base_uri, '{}.jpg'.format(id)) label_uri = os.path.join(base_uri, '{}.geojson'.format(id)) # aoi_uri = join(raw_uri, aoi_path) if test: crop_uri = join(processed_uri, 'crops', id + '.jpg') save_image_crop(image_uri, crop_uri, label_uri=label_uri, size=600, min_features=1) img_uri = crop_uri label_source = rv.LabelSourceConfig.builder(rv.CHIP_CLASSIFICATION) \ .with_uri(label_uri) \ .with_ioa_thresh(0.5) \ .with_use_intersection_over_cell(False) \ .with_pick_min_class_id(True) \ .with_background_class_id(2) \ .with_infer_cells(True) \ .build() # .with_aoi_uri(aoi_uri) \ return rv.SceneConfig.builder() \ .with_task(task) \ .with_id(id) \ .with_raster_source(image_uri) \ .with_label_source(label_source) \ .build()
def make_scene(id): raster_uri = join( raw_uri, '4_Ortho_RGBIR/top_potsdam_{}_RGBIR.tif'.format(id)) label_uri = join( processed_uri, 'labels', 'all', 'top_potsdam_{}_RGBIR.json'.format(id)) if test: crop_uri = join( processed_uri, 'crops', os.path.basename(raster_uri)) save_image_crop(raster_uri, crop_uri, label_uri=label_uri, size=1000, min_features=5) raster_uri = crop_uri return rv.SceneConfig.builder() \ .with_id(id) \ .with_task(task) \ .with_raster_source(raster_uri, channel_order=[0, 1, 2]) \ .with_label_source(label_uri) \ .build()
def make_scene(scene_info): (raster_uri, label_uri) = scene_info raster_uri = join(raw_uri, raster_uri) label_uri = join(processed_uri, label_uri) if test: crop_uri = join(processed_uri, 'crops', os.path.basename(raster_uri)) save_image_crop(raster_uri, crop_uri, size=600, min_features=5) raster_uri = crop_uri id = os.path.splitext(os.path.basename(raster_uri))[0] label_source = rv.LabelSourceConfig.builder(rv.OBJECT_DETECTION) \ .with_uri(label_uri) \ .build() return rv.SceneConfig.builder() \ .with_task(task) \ .with_id(id) \ .with_raster_source(raster_uri) \ .with_label_source(label_source) \ .build()
def make_scene(id): id = id.replace('-', '_') raster_uri = '{}/4_Ortho_RGBIR/top_potsdam_{}_RGBIR.tif'.format( raw_uri, id) label_uri = '{}/5_Labels_for_participants/top_potsdam_{}_label.tif'.format( raw_uri, id) if test: crop_uri = join(processed_uri, 'crops', os.path.basename(raster_uri)) save_image_crop(raster_uri, crop_uri, size=600) raster_uri = crop_uri # Using with_rgb_class_map because label TIFFs have classes encoded as RGB colors. label_source = rv.LabelSourceConfig.builder(rv.SEMANTIC_SEGMENTATION) \ .with_rgb_class_map(task.class_map) \ .with_raster_source(label_uri) \ .build() # URI will be injected by scene config. # Using with_rgb(True) because we want prediction TIFFs to be in RGB format. label_store = rv.LabelStoreConfig.builder(rv.SEMANTIC_SEGMENTATION_RASTER) \ .with_rgb(True) \ .build() scene = rv.SceneConfig.builder() \ .with_task(task) \ .with_id(id) \ .with_raster_source(raster_uri, channel_order=channel_order) \ .with_label_source(label_source) \ .with_label_store(label_store) \ .with_stats_transformer() \ .build() return scene