Initial upload: BPN deblur pipeline code (scripts, triangle-splatting, BAGS, EVSSM forks)
c75b162 verified | import os | |
| from argparse import ArgumentParser | |
| tnt_360_scenes = ['Truck'] | |
| tnt_large_scenes = [] | |
| parser = ArgumentParser(description="Full evaluation script parameters") | |
| parser.add_argument("--skip_training", action="store_true") | |
| parser.add_argument("--skip_rendering", action="store_true") | |
| parser.add_argument("--skip_metrics", action="store_true") | |
| parser.add_argument("--output_path", default="./eval/tnt") | |
| parser.add_argument('--TNT_data', "-TNT_data", required=True, type=str) | |
| args, _ = parser.parse_known_args() | |
| if not args.skip_metrics: | |
| parser.add_argument('--TNT_GT', required=True, type=str) | |
| args = parser.parse_args() | |
| if not args.skip_training: | |
| common_args = " --quiet --test_iterations -1 --depth_ratio 1.0 -r 2 --eval --max_shapes 2600000 --lambda_normals 0.005" # --lambda_dist 1000" | |
| for scene in tnt_360_scenes: | |
| source = args.TNT_data + "/" + scene | |
| print("python train_db_mesh.py -s " + source + " -m " + args.output_path + "/" + scene + common_args + ' --lambda_dist 100') | |
| os.system("python train_db_mesh.py -s " + source + " -m " + args.output_path + "/" + scene + common_args) | |
| for scene in tnt_large_scenes: | |
| source = args.TNT_data + "/" + scene | |
| print("python train_db_mesh.py -s " + source + " -m " + args.output_path + "/" + scene + common_args+ ' --lambda_dist 10') | |
| os.system("python train_db_mesh.py -s " + source + " -m " + args.output_path + "/" + scene + common_args) | |
| if not args.skip_rendering: | |
| all_sources = [] | |
| common_args = " --quiet --depth_ratio 1.0 " | |
| for scene in tnt_360_scenes: | |
| source = args.TNT_data + "/" + scene | |
| print("python render.py --iteration 30000 -s " + source + " -m " + args.output_path + "/" + scene + common_args + ' --num_cluster 1 --voxel_size 0.004 --sdf_trunc 0.016 --depth_trunc 3.0') | |
| os.system("python render.py --iteration 30000 -s " + source + " -m " + args.output_path + "/" + scene + common_args + ' --num_cluster 1 --voxel_size 0.004 --sdf_trunc 0.016 --depth_trunc 3.0') | |
| for scene in tnt_large_scenes: | |
| source = args.TNT_data + "/" + scene | |
| print("python render.py --iteration 30000 -s " + source + " -m " + args.output_path + "/" + scene + common_args + ' --num_cluster 1 --voxel_size 0.006 --sdf_trunc 0.024 --depth_trunc 4.5') | |
| os.system("python render.py --iteration 30000 -s " + source + " -m " + args.output_path + "/" + scene + common_args + ' --num_cluster 1 --voxel_size 0.006 --sdf_trunc 0.024 --depth_trunc 4.5') | |
| if not args.skip_metrics: | |
| script_dir = os.path.dirname(os.path.abspath(__file__)) | |
| all_scenes = tnt_360_scenes + tnt_large_scenes | |
| for scene in all_scenes: | |
| ply_file = f"{args.output_path}/{scene}/train/ours_{30000}/fuse_post.ply" | |
| string = f"OMP_NUM_THREADS=4 python {script_dir}/eval_tnt/run.py " + \ | |
| f"--dataset-dir {args.TNT_GT}/{scene} " + \ | |
| f"--traj-path {args.TNT_data}/{scene}/{scene}_COLMAP_SfM.log " + \ | |
| f"--ply-path {ply_file}" | |
| print(string) | |
| os.system(string) | |
| # python scripts/tnt_eval.py --TNT_data /gpfs/scratch/acad/telim/datasets/TNT_GOF/TrainingSet --TNT_GT /gpfs/scratch/acad/telim/datasets/tandt_gt |