(config, dataset, final_params, num_frames, eval_dir, sil_thres,
mapping_iters, add_new_gaussians, eval_every=1, save_frames=True)
| 170 | progress_bar.update(every_i) |
| 171 | |
| 172 | def eval(config, dataset, final_params, num_frames, eval_dir, sil_thres, |
| 173 | mapping_iters, add_new_gaussians, eval_every=1, save_frames=True): |
| 174 | print("Evaluating Final Parameters ...") |
| 175 | psnr_list = [] |
| 176 | rmse_list = [] |
| 177 | l1_list = [] |
| 178 | lpips_list = [] |
| 179 | ssim_list = [] |
| 180 | mIou_list = [] |
| 181 | miou_eval_list = [] |
| 182 | pixAcc_list = [] |
| 183 | pixAcc_eval_list = [] |
| 184 | |
| 185 | if save_frames: |
| 186 | render_rgb_dir = os.path.join(eval_dir, "rendered_rgb") |
| 187 | os.makedirs(render_rgb_dir, exist_ok=True) |
| 188 | render_depth_dir = os.path.join(eval_dir, "rendered_depth") |
| 189 | os.makedirs(render_depth_dir, exist_ok=True) |
| 190 | render_semantic_dir = os.path.join(eval_dir, "rendered_semantic") |
| 191 | os.makedirs(render_semantic_dir, exist_ok=True) |
| 192 | rgb_dir = os.path.join(eval_dir, "gt_rgb") |
| 193 | os.makedirs(rgb_dir, exist_ok=True) |
| 194 | depth_dir = os.path.join(eval_dir, "gt_depth") |
| 195 | os.makedirs(depth_dir, exist_ok=True) |
| 196 | semantic_dir = os.path.join(eval_dir, "gt_semantic") |
| 197 | os.makedirs(semantic_dir, exist_ok=True) |
| 198 | feature_dir = os.path.join(eval_dir, "feature") |
| 199 | os.makedirs(feature_dir, exist_ok=True) |
| 200 | mesh_dir = os.path.join(eval_dir, "mesh") |
| 201 | os.makedirs(mesh_dir, exist_ok=True) |
| 202 | |
| 203 | |
| 204 | gt_w2c_list = [] |
| 205 | seg_net = Segmentation(config) |
| 206 | |
| 207 | ##pre for mesh |
| 208 | pose_folder = os.path.join(config['data']['basedir'], config['data']['sequence']) |
| 209 | pose_path = os.path.join(pose_folder, "traj.txt") |
| 210 | with open(pose_path, "r") as f: |
| 211 | pose_lines = f.readlines() |
| 212 | first_pose_line = pose_lines[0] |
| 213 | first_pose_c2w = np.array(list(map(float, first_pose_line.split()))).reshape(4, 4) |
| 214 | first_pose_c2w = torch.from_numpy(first_pose_c2w).float() |
| 215 | first_pose_w2c = np.linalg.inv(first_pose_c2w.cpu().numpy()) |
| 216 | |
| 217 | # _, _, _, _, first_gt_pose = dataset[0] |
| 218 | # first_pose_w2c = np.linalg.inv(first_gt_pose.cpu().numpy()) |
| 219 | # print("herh2", first_pose_w2c) |
| 220 | |
| 221 | cam_cfg = load_dataset_config(config["data"]["gradslam_data_cfg"]) |
| 222 | W = cam_cfg["camera_params"]["image_width"] - 2 * cam_cfg["camera_params"]["crop_edge"] |
| 223 | H = cam_cfg["camera_params"]["image_height"]- 2 * cam_cfg["camera_params"]["crop_edge"] |
| 224 | fx = cam_cfg["camera_params"]["fx"] |
| 225 | fy = cam_cfg["camera_params"]["fy"] |
| 226 | cx = cam_cfg["camera_params"]["cx"] |
| 227 | cy = cam_cfg["camera_params"]["cy"] |
| 228 | |
| 229 | scale = 1.0 |
no test coverage detected