import matplotlib.pyplot as plt from utils import * from PIL import Image import imutils from vispy_utilities import * from CameraModels.Sphere import Sphere import vispy data_path_gt = "/home/kike/Documents/Dataset/ICCV_dataset/evaluation/Visualization/reasonable_image_MP3D" data_path_est = "/home/kike/Documents/Dataset/ICCV_dataset/evaluation/Visualization/evaluation/ASW_MP3D/eval" dir_disp_gt = os.path.join(data_path_gt, "disp_up_gt") dir_disp_est = os.path.join(data_path_est, "disp_up_est") dir_rgb_map = os.path.join(data_path_gt, "image_up") list_disp_gt = list_directories(dir_disp_gt) list_disp_est = list_directories(dir_disp_est) list_rgb_maps = list_directories(dir_rgb_map) i = 0 disp_gt = np.load(os.path.join(dir_disp_gt, list_disp_gt[i])) mask_range = disp_gt > 67.5 disp_gt[mask_range] = 0 im = Image.open(os.path.join(dir_disp_est, list_disp_est[i])) imarray = np.array(im) * (-1) disp_est = imutils.rotate_bound(imarray, 90) * 180 / 512 mask = disp_gt > 0 disp_est[(mask * (-1) + 1).astype(np.bool)] = 0
|--- image_up |--- imag_down """ report_name = "MP3D_StereoMatching_disp_range.csv" data_path_gt = "/home/kike/Documents/Dataset/ICCV_dataset/MP3D/test" # report_name = "SF3D_StereoMatching_disp_range.csv" # data_path_gt = "/home/kike/Documents/Dataset/ICCV_dataset/SF3D/test" dir_disp_gt = os.path.join(data_path_gt, "disp_up") dir_depth_gt = os.path.join(data_path_gt, "depth_up") dir_rgb_map_up = os.path.join(data_path_gt, "image_up") dir_rgb_map_down = os.path.join(data_path_gt, "image_down") list_disp_gt = list_directories(dir_disp_gt) list_depth_gt = list_directories(dir_depth_gt) list_rgb_map_up = list_directories(dir_rgb_map_up) list_rgb_map_down = list_directories(dir_rgb_map_down) global_disp_range_1 = 0 global_disp_range_2 = 0 global_disp_range_3 = 0 report = [] stereo = StereoMatching() tbar = tqdm(total=len(list_disp_gt)) for i in range(len(list_disp_gt)): disp_gt = np.load(os.path.join(dir_disp_gt, list_disp_gt[i]))
|--- asw_estimation : disparity estimation |--- disp_up: GT disparity |--- depth_up: GT depth map |--- image_up |--- imag_down """ report_name = "MP3D_StereoMatching.csv" data_path_gt = "/home/kike/Documents/Dataset/ICCV_dataset/MP3D/test" data_path_est = "/home/kike/Documents/Dataset/ICCV_dataset/evaluation/Whole_estimations/MP3D/ASW" dir_disp_gt = os.path.join(data_path_gt, "disp_up") dir_disp_est = os.path.join(data_path_est, "disp_up_est") dir_depth_gt = os.path.join(data_path_gt, "depth_up") dir_rgb_map = os.path.join(data_path_gt, "image_up") list_disp_gt = list_directories(dir_disp_gt) list_disp_est = list_directories(dir_disp_est, key="_pp") list_depth_gt = list_directories(dir_depth_gt) list_rgb_map = list_directories(dir_rgb_map) global_rmse_disp = 0 global_mae_disp = 0 global_rmse_depth = 0 global_mae_depth = 0 tbar = tqdm(total=len(list_disp_est)) for i in range(len(list_disp_est)): disp_gt = np.load(os.path.join(dir_disp_gt, list_disp_gt[i])) mask = disp_gt > 67.5 disp_gt[mask] = 0
|--- depth_up: GT depth map |--- image_up |--- imag_down """ report_name = "MP3D_subpixels.csv" data_path_gt = "/home/kike/Documents/Dataset/ICCV_dataset/MP3D/test" data_path_est = "/home/kike/Documents/Dataset/ICCV_dataset/evaluation/Whole_estimations/MP3D/subpixel" dir_disp_gt = os.path.join(data_path_gt, "disp_up") dir_disp_est = os.path.join(data_path_est, "disp_up_est") dir_depth_gt = os.path.join(data_path_gt, "depth_up") dir_depth_est = os.path.join(data_path_est, "depth_up_est") dir_rgb_map = os.path.join(data_path_gt, "image_up") list_disp_gt = list_directories(dir_disp_gt) list_disp_est = list_directories(dir_disp_est) list_depth_gt = list_directories(dir_depth_gt) list_depth_est = list_directories(dir_depth_est) list_rgb_map = list_directories(dir_rgb_map) global_rmse_disp = 0 global_mae_disp = 0 global_rmse_depth = 0 global_mae_depth = 0 report = [] tbar = tqdm(total=len(list_disp_est)) for i in range(len(list_disp_est)): try:
# set depth output for this x,y location to the best match disp[y, x] = best_offset save_obj("disp_1", disp) tbar.close() return disp if __name__ == '__main__': data_path = "/home/kike/Documents/Dataset/ICCV_dataset/MP3D/test" dir_depth_map = os.path.join(data_path, "depth_up") dir_rgb_map_up = os.path.join(data_path, "image_up") dir_rgb_map_down = os.path.join(data_path, "image_down") list_depth_maps = list_directories(dir_depth_map) list_rgb_maps_up = list_directories(dir_rgb_map_up) list_rgb_maps_down = list_directories(dir_rgb_map_down) i = 0 depth_map = np.load(os.path.join(dir_depth_map, list_depth_maps[i]))[:, :, 0] rgb_map_up = cv2.imread(os.path.join(dir_rgb_map_up, list_rgb_maps_up[i])) rgb_map_down = cv2.imread( os.path.join(dir_rgb_map_down, list_rgb_maps_down[i])) img_up = cv2.cvtColor(rgb_map_up, cv2.COLOR_BGR2GRAY) img_down = cv2.cvtColor(rgb_map_down, cv2.COLOR_BGR2GRAY) baseline = 0.2 stereo_match(img_up, img_down, 6, 70)
angle2[j, i] = baseline * math.cos(theta_T) mask = disp > 0 depth = np.zeros_like(disp).astype(np.float) depth[mask] = (angle[mask] / np.tan(disp[mask] / 180 * math.pi)) + angle2[mask] return depth data_path = "/home/kike/Documents/Dataset/ICCV_dataset/MP3D/test" rgb_map_dir = os.path.join(data_path, "image_up") disp_map_gt_dir = os.path.join(data_path, "disp_up") disp_map_est_dir = os.path.join(data_path, "asw_estimation") rgb_maps = list_directories(rgb_map_dir) disp_maps_gt = list_directories(disp_map_gt_dir) disp_maps_est = list_directories(disp_map_est_dir, key="_pp") for i in range(len(disp_maps_est)): # i = 1 rgb_map = cv2.imread(os.path.join(rgb_map_dir, rgb_maps[i])) disp_gt = np.load(os.path.join(disp_map_gt_dir, disp_maps_gt[i])) mask = disp_gt > 192 disp_gt[mask] = 0 im = Image.open(os.path.join(disp_map_est_dir, disp_maps_est[i])) imarray = np.array(im) * (-1) disp_asw = imutils.rotate_bound(imarray, 90) * 180 / 512
import os import numpy as np from file_utilities import list_directories import cv2 import matplotlib.pyplot as plt from vispy_utilities import * from CameraModels.Sphere import Sphere import vispy data_path = "/home/kike/Documents/Dataset/ICCV_dataset/evaluation/SSD" depth_map_dir = os.path.join(data_path, "depth_up") rgb_map_dir = os.path.join(data_path, "image_up") estimation_dir = os.path.join(data_path, "est") depth_maps = list_directories(depth_map_dir) rgb_maps = list_directories(rgb_map_dir) estimation_maps = list_directories(estimation_dir) i = 0 depth_map = np.load(os.path.join(depth_map_dir, depth_maps[i]))[:, :, 0] rgb_map = cv2.imread(os.path.join(rgb_map_dir, rgb_maps[i])) estimation_map = np.load(os.path.join(estimation_dir, estimation_maps[i])) plt.figure(1) plt.imshow(depth_map, cmap='RdYlBu') plt.colorbar() plt.figure(2) plt.imshow(estimation_map, cmap='RdYlBu') plt.colorbar() plt.figure(3) # mask = depth_map > 0
import os import numpy as np from file_utilities import list_directories import cv2 import imutils import matplotlib.pyplot as plt from PIL import Image from tqdm import tqdm data_path = "/home/kike/Documents/Dataset/ICCV_dataset/MP3D/test" dir_image_up = os.path.join(data_path, "image_up_rotated") dir_image_down = os.path.join(data_path, "image_down_rotated") list_image_up = list_directories(dir_image_up) list_image_down = list_directories(dir_image_down) assert len(list_image_down) == len(list_image_up) tbar = tqdm(total=len(list_image_up)) for i in range(len(list_image_up)): image_up = cv2.imread(os.path.join(dir_image_up, list_image_up[i])) imarray = np.array(image_up) rotated = imutils.rotate_bound(imarray, -90) cv2.imwrite(os.path.join(dir_image_up, list_image_up[i]), rotated) image_down = cv2.imread(os.path.join(dir_image_down, list_image_down[i])) imarray = np.array(image_down) rotated = imutils.rotate_bound(imarray, -90) cv2.imwrite(os.path.join(dir_image_down, list_image_down[i]), rotated) tbar.update(1) tbar.close()