| { |
| "dataset": "sintel", |
| "data_root": "/root/vepfs/Infinity/data", |
| "partition": "val", |
| "pn": "1M", |
| "max_samples": 0, |
| "input_dir": "/root/vepfs/Infinity/outputs/normal_eval/2026-06-17/12-38-50/sintel/_eval_set/images", |
| "eval_set_dir": "/root/vepfs/Infinity/outputs/normal_eval/2026-06-17/12-38-50/sintel/_eval_set", |
| "source_eval_set_dir": "", |
| "eval_image": "", |
| "methods": [ |
| "ours" |
| ], |
| "ours_checkpoints": [ |
| "/root/vepfs/Infinity/outputs/normal_estimation/2026-06-11/04-33-27/checkpoints/step_0003500_val_ar_nyu_deg_103.7338.pth" |
| ], |
| "normal_tokenizer_ckpt": "/root/vepfs/Infinity/outputs/results/checkpoints/original_tokenizer_infinity_vae_d32reg.pth", |
| "visible_cuda_devices": [ |
| "0", |
| "1", |
| "2", |
| "3" |
| ], |
| "parallel_shards": "auto", |
| "compare_inference_time": true, |
| "timing_warmup": 3, |
| "timing_repeats": 5, |
| "ours_kv_cache_fast": false, |
| "inference_time_protocol": "Batch-size-1 per-image model inference latency measured inside each predictor with time.perf_counter and CUDA synchronization around the model-call section only. Each image uses unmeasured warmup iterations followed by measured repeats. Model loading, process startup, dataset export, image file I/O, metric computation, visualization writing, and result serialization are excluded.", |
| "normal_conventions": { |
| "canonical": "camera_left_up_backward", |
| "dataset_targets": { |
| "nyuv2": { |
| "name": "nyuv2_raw_right_forward_up", |
| "to_eval_perm": [ |
| 0, |
| 2, |
| 1 |
| ], |
| "to_eval_signs": [ |
| -1, |
| 1, |
| -1 |
| ], |
| "description": "NYUv2 parquet normals. Canonical mapping: (x, y, z) -> (-x, z, -y)." |
| }, |
| "hypersim": { |
| "name": "camera_left_up_backward", |
| "to_eval_perm": [ |
| 0, |
| 1, |
| 2 |
| ], |
| "to_eval_signs": [ |
| 1, |
| 1, |
| 1 |
| ], |
| "description": "Canonical metric convention: +x left, +y up, +z backward." |
| }, |
| "scannet": { |
| "name": "camera_left_up_backward", |
| "to_eval_perm": [ |
| 0, |
| 1, |
| 2 |
| ], |
| "to_eval_signs": [ |
| 1, |
| 1, |
| 1 |
| ], |
| "description": "Canonical metric convention: +x left, +y up, +z backward." |
| }, |
| "ibims": { |
| "name": "camera_left_up_backward", |
| "to_eval_perm": [ |
| 0, |
| 1, |
| 2 |
| ], |
| "to_eval_signs": [ |
| 1, |
| 1, |
| 1 |
| ], |
| "description": "Canonical metric convention: +x left, +y up, +z backward." |
| }, |
| "sintel": { |
| "name": "camera_left_up_backward", |
| "to_eval_perm": [ |
| 0, |
| 1, |
| 2 |
| ], |
| "to_eval_signs": [ |
| 1, |
| 1, |
| 1 |
| ], |
| "description": "Canonical metric convention: +x left, +y up, +z backward." |
| } |
| }, |
| "model_outputs": { |
| "ours": { |
| "name": "ours_model_xyz", |
| "to_eval_perm": [ |
| 0, |
| 1, |
| 2 |
| ], |
| "to_eval_signs": [ |
| 1, |
| 1, |
| 1 |
| ], |
| "description": "Infinity normal output already matches the exported eval convention." |
| }, |
| "marigold": { |
| "name": "marigold_normals_xyz", |
| "to_eval_perm": [ |
| 0, |
| 1, |
| 2 |
| ], |
| "to_eval_signs": [ |
| -1, |
| 1, |
| 1 |
| ], |
| "description": "Marigold normals_npy output. Canonical mapping: (x, y, z) -> (-x, y, z)." |
| }, |
| "geowizard": { |
| "name": "geowizard_normal_xyz", |
| "to_eval_perm": [ |
| 0, |
| 1, |
| 2 |
| ], |
| "to_eval_signs": [ |
| 1, |
| 1, |
| 1 |
| ], |
| "description": "GeoWizard normal_npy output already matches the canonical convention." |
| }, |
| "stablenormal": { |
| "name": "stablenormal_xyz", |
| "to_eval_perm": [ |
| 0, |
| 1, |
| 2 |
| ], |
| "to_eval_signs": [ |
| 1, |
| 1, |
| 1 |
| ], |
| "description": "StableNormal output already matches the canonical convention." |
| }, |
| "lotusg": { |
| "name": "lotus_g_xyz", |
| "to_eval_perm": [ |
| 0, |
| 1, |
| 2 |
| ], |
| "to_eval_signs": [ |
| 1, |
| 1, |
| 1 |
| ], |
| "description": "Lotus-G output already matches the canonical convention." |
| }, |
| "lotusd": { |
| "name": "lotus_d_xyz", |
| "to_eval_perm": [ |
| 0, |
| 1, |
| 2 |
| ], |
| "to_eval_signs": [ |
| 1, |
| 1, |
| 1 |
| ], |
| "description": "Lotus-D output already matches the canonical convention." |
| }, |
| "dsine": { |
| "name": "dsine_xyz", |
| "to_eval_perm": [ |
| 0, |
| 1, |
| 2 |
| ], |
| "to_eval_signs": [ |
| 1, |
| 1, |
| 1 |
| ], |
| "description": "DSINE output already matches the canonical convention." |
| }, |
| "metric3dv2": { |
| "name": "metric3d_v2_xyz", |
| "to_eval_perm": [ |
| 0, |
| 1, |
| 2 |
| ], |
| "to_eval_signs": [ |
| -1, |
| -1, |
| -1 |
| ], |
| "description": "Metric3D v2 output. Canonical mapping: (x, y, z) -> (-x, -y, -z)." |
| }, |
| "omnidata_v2": { |
| "name": "omnidata_v2_xyz", |
| "to_eval_perm": [ |
| 0, |
| 1, |
| 2 |
| ], |
| "to_eval_signs": [ |
| 1, |
| 1, |
| 1 |
| ], |
| "description": "Omnidata V2 adapter output already matches the canonical convention." |
| }, |
| "marigold_e2eft": { |
| "name": "marigold_e2eft_xyz", |
| "to_eval_perm": [ |
| 0, |
| 1, |
| 2 |
| ], |
| "to_eval_signs": [ |
| 1, |
| 1, |
| 1 |
| ], |
| "description": "Marigold E2E-FT output already matches the canonical convention." |
| } |
| }, |
| "display_from_eval": { |
| "perm": [ |
| 0, |
| 1, |
| 2 |
| ], |
| "signs": [ |
| 1, |
| 1, |
| 1 |
| ], |
| "description": "Direct normal-map display: RGB = (canonical normal + 1) / 2." |
| } |
| } |
| } |