Spaces:
Running
on
Zero
Running
on
Zero
| import argparse | |
| import sys | |
| sys.path.append(".") | |
| from pathlib import Path | |
| import subprocess | |
| import cv2 | |
| import numpy as np | |
| from tqdm import tqdm | |
| from datasets.kitti_360.kitti_360_dataset import Kitti360Dataset | |
| DRY_RUN = False | |
| def main(): | |
| parser = argparse.ArgumentParser("KITTI 360 Preprocessing") | |
| parser.add_argument("--data_path", "-d", type=str) | |
| parser.add_argument("--resolution", "-r", default=(192, 640)) | |
| parser.add_argument("--fisheye_rotation", "-f", default=(0, -15)) | |
| parser.add_argument("--only_fisheye", "-o", action="store_true") | |
| args = parser.parse_args() | |
| data_path = Path(args.data_path) | |
| resolution = args.resolution | |
| rotation = args.fisheye_rotation | |
| only_fisheye = args.only_fisheye | |
| print("Setting up dataset") | |
| dataset = Kitti360Dataset( | |
| data_path=data_path, | |
| pose_path=data_path / "data_poses", | |
| split_path=None, | |
| return_stereo=True, | |
| frame_count=1, | |
| fisheye_rotation=rotation, | |
| color_aug=False, | |
| return_segmentation=False, | |
| ) | |
| print("Setting up folders...") | |
| for i in tqdm(range(len(dataset))): | |
| sequence, id, is_right = dataset._datapoints[i] | |
| if is_right: | |
| continue | |
| image_00 = data_path / "data_2d_raw" / sequence / "image_00" / f"data_{resolution[0]}x{resolution[1]}" | |
| image_01 = data_path / "data_2d_raw" / sequence / "image_01" / f"data_{resolution[0]}x{resolution[1]}" | |
| image_02 = data_path / "data_2d_raw" / sequence / "image_02" / f"data_{resolution[0]}x{resolution[1]}_{rotation[0]}x{rotation[1]}" | |
| image_03 = data_path / "data_2d_raw" / sequence / "image_03" / f"data_{resolution[0]}x{resolution[1]}_{rotation[0]}x{rotation[1]}" | |
| img_id = dataset._img_ids[sequence][id] | |
| if (image_00 / f"{img_id:010d}.png").exists(): | |
| continue | |
| data = dataset[i] | |
| image_00.mkdir(exist_ok=True, parents=True) | |
| image_01.mkdir(exist_ok=True, parents=True) | |
| image_02.mkdir(exist_ok=True, parents=True) | |
| image_03.mkdir(exist_ok=True, parents=True) | |
| img_00 = (np.transpose(data["imgs"][0].numpy(), (1, 2, 0)) * .5 + .5) * 255. | |
| img_01 = (np.transpose(data["imgs"][1].numpy(), (1, 2, 0)) * .5 + .5) * 255. | |
| img_02 = (np.transpose(data["imgs"][2].numpy(), (1, 2, 0)) * .5 + .5) * 255. | |
| img_03 = (np.transpose(data["imgs"][3].numpy(), (1, 2, 0)) * .5 + .5) * 255. | |
| if not only_fisheye: | |
| cv2.imwrite(str(image_00 / f"{img_id:010d}.png"), cv2.cvtColor(img_00, cv2.COLOR_RGB2BGR)) | |
| cv2.imwrite(str(image_01 / f"{img_id:010d}.png"), cv2.cvtColor(img_01, cv2.COLOR_RGB2BGR)) | |
| cv2.imwrite(str(image_02 / f"{img_id:010d}.png"), cv2.cvtColor(img_02, cv2.COLOR_RGB2BGR)) | |
| cv2.imwrite(str(image_03 / f"{img_id:010d}.png"), cv2.cvtColor(img_03, cv2.COLOR_RGB2BGR)) | |
| if __name__ == "__main__": | |
| main() | |