예제 #1
0
def visualize_data(img, line_conf, img_dir):
    line_conf = gaussian_filter(line_conf, 25)
    img = img[7110:7500, 6880:7420, :]
    line_conf = line_conf[7110:7500, 6880:7420]
    visualize_utils.compare_figures((img, line_conf), (1, 2), show_axis=False, fig_size=(24, 10), show_fig=False)

    save_dir = os.path.join(img_dir, 'demo_save')
    if not os.path.exists(save_dir):
        os.makedirs(save_dir)

    plt.savefig(os.path.join(save_dir, 'demo.png'))
예제 #2
0
def check_annotations():
    data_dir = r'/home/lab/Documents/bohao/data/transmission_line/raw2'
    csv_files_temp = natsorted(glob(os.path.join(data_dir, '*.csv')))
    csv_files = []
    for c in csv_files_temp:
        if 'NZ' in c:
            if 'resize' in c:
                csv_files.append(c)
        else:
            csv_files.append(c)
    rgb_files = natsorted(glob(os.path.join(data_dir, '*.tif')))
    for cn, rn in zip(csv_files, rgb_files):
        if 'Dunedin' in cn:
            rgb = ersa_utils.load_file(rn)
            h, w = rgb.shape[:2]
            gt = np.zeros((h, w), dtype=np.uint8)
            for label, y, x in read_polygon_csv_data(cn):
                gt[y, x] = ENCODER[label]
            visualize_utils.compare_figures([rgb, gt], (1, 2), fig_size=(12, 5), show_axis=False)
예제 #3
0
def clean_conf_map(pred):
    kernel = np.ones((25, 25), np.uint8)
    pred = cv2.morphologyEx(pred, cv2.MORPH_OPEN, np.ones((10, 10), np.uint8))
    visualize_utils.compare_figures([rgb, gt, conf, pred], (2, 2), fig_size=(10, 8), show_axis=True)
    pred = cv2.morphologyEx(pred, cv2.MORPH_CLOSE, kernel, iterations=2)
    return pred
예제 #4
0
for city_idx in range(3, 4):#range(len(city_list)):
    model_name = 'UnetCrop_lines_city{}_pw{}_0_PS(572, 572)_BS5_EP50_LR0.0001_DS30_DR0.1_SFN32'.format(city_idx, weight)
    results_dir = os.path.join(r'/hdd/Results', ds_name, model_name, ds_name+'_tw1', 'pred')
    conf_dir = os.path.join(task_dir, 'confmap_uab_{}'.format(model_name))
    raw_data_dir = r'/home/lab/Documents/bohao/data/transmission_line/raw'
    rgb_files = natsorted([a for a in glob(os.path.join(raw_data_dir, '*.tif'))
                           if 'multiclass' not in a])
    '''gt_files = natsorted([a for a in glob(os.path.join(raw_data_dir, '*.tif'))
                          if 'multiclass' in a])'''
    gt_files = natsorted(glob(os.path.join(r'/media/ei-edl01/data/uab_datasets/lines_tw1/data/Original_Tiles',
                                           '*_GT.png')))
    pred_files = natsorted(glob(os.path.join(conf_dir, '*.png')))

    for conf_file in pred_files:
        city_with_id = os.path.basename(conf_file)[:-4]
        city_name = ''.join([a for a in city_with_id if not a.isdigit()])
        city_id = ''.join([a for a in city_with_id if a.isdigit()])

        if city_name == city_list[city_idx]:
            rgb_file = [a for a in rgb_files if city_name in a and city_id in a][0]
            gt_file = [a for a in gt_files if city_name in a and city_id in a][0]
            pred_file = os.path.join(results_dir, '{}{}.png'.format(city_name, city_id))

            rgb = ersa_utils.load_file(rgb_file)
            gt = ersa_utils.load_file(gt_file)
            conf = ersa_utils.load_file(conf_file)
            pred = ersa_utils.load_file(pred_file)

            visualize_utils.compare_figures([rgb, gt, conf, pred], (2, 2), fig_size=(10, 8), show_axis=True)
예제 #5
0
rgbs = natsorted(glob(os.path.join(data_dir, '*.tif')))
gts = natsorted(glob(os.path.join(data_dir, '*.png')))

img_dir, task_dir = sis_utils.get_task_img_folder()
save_dir = os.path.join(img_dir, 'bihar_patch_preds')
ersa_utils.make_dir_if_not_exist(save_dir)

with tf.Session() as sess:
    model.load(model_dir, sess)
    for rgb_file, gt_file in zip(rgbs, gts):
        rgb = ersa_utils.load_file(rgb_file)
        gt = ersa_utils.load_file(gt_file)

        X_batch = np.expand_dims(rgb - img_mean, axis=0)
        pred = sess.run(model.output,
                        feed_dict={
                            model.inputs['X']: X_batch,
                            model.trainable: False
                        })
        pred = np.argmax(pred[0, :, :, :], axis=-1)

        save_name = os.path.join(
            save_dir, 'cmp_{}.png'.format(os.path.basename(rgb_file)[:-4]))
        visualize_utils.compare_figures([rgb.astype(np.uint8), gt, pred],
                                        (1, 3),
                                        fig_size=(15, 5),
                                        show_fig=False)
        plt.savefig(save_name)
        plt.close()
예제 #6
0
            road = add_lines(road, road_reader)

            rgb = down_sample(rgb, resize_factor).astype(np.uint8)
            building = down_sample(building, resize_factor)
            road = down_sample(road, resize_factor)

            rgb_save_name = os.path.join(save_dir, '{}{}_RGB.tif'.format(city_name, city_id+1))
            building_save_name = os.path.join(save_dir, '{}{}_BGT.png'.format(city_name, city_id+1))
            road_save_name = os.path.join(save_dir, '{}{}_RGT.png'.format(city_name, city_id+1))

            ersa_utils.save_file(rgb_save_name, rgb.astype(np.uint8))
            ersa_utils.save_file(building_save_name, building.astype(np.uint8))
            ersa_utils.save_file(road_save_name, road.astype(np.uint8))

            if check_result:
                visualize_utils.compare_figures([rgb, building, road], (1, 3), fig_size=(12, 4))

        if make_uab:
            blCol = uab_collectionFunctions.uabCollection(city_name)
            blCol.readMetadata()
            img_mean = blCol.getChannelMeans([0, 1, 2])

    '''save_dir = r'/media/ei-edl01/data/uab_datasets/AIOI/data/Original_Tiles'
    rgb_files = natsorted(glob(os.path.join(save_dir, '*_RGB.tif')))
    bui_files = natsorted(glob(os.path.join(save_dir, '*_BGT.png')))
    roa_files = natsorted(glob(os.path.join(save_dir, '*_RGT.png')))

    for i, b, r in zip(rgb_files, bui_files, roa_files):
        im = ersa_utils.load_file(i)
        bm = ersa_utils.load_file(b)
        rm = ersa_utils.load_file(r)
예제 #7
0
import os
import matplotlib.pyplot as plt
from glob import glob
from natsort import natsorted
import sis_utils
import ersa_utils
from visualize import visualize_utils

img_dir, task_dir = sis_utils.get_task_img_folder()

data_dir = r'/media/ei-edl01/data/uab_datasets/bihar_building/data/Original_Tiles'
rgb_files = natsorted(glob(os.path.join(data_dir, '*.tif')))
gt_files = natsorted(glob(os.path.join(data_dir, '*.png')))
save_dir = os.path.join(img_dir, 'annotation_cmp')
ersa_utils.make_dir_if_not_exist(save_dir)

for cnt, (rgb_file, gt_file) in enumerate(zip(rgb_files, gt_files)):
    rgb = ersa_utils.load_file(rgb_file)
    gt = ersa_utils.load_file(gt_file)
    visualize_utils.compare_figures([rgb, gt], (1, 2),
                                    fig_size=(12, 5),
                                    show_fig=False)
    plt.savefig(os.path.join(save_dir, '{}.png'.format(cnt)))
    plt.close()