AWS run code: run_toys4k300.sh summarize fix + abl ssonly; SS-only ablation row; 512 eval wrappers; official Pixal3D MV runner (GT poses); results tools
a542139 verified Download forgebench/code/eval/eval512.py from Ronaldo-GOAT/bert_simpson: direct link, hf CLI and curl.
- Browser
- Download file 1.8 kB
-
https://huggingface.co/Ronaldo-GOAT/bert_simpson/resolve/main/forgebench/code/eval/eval512.py
- Command line
-
hf download hf://Ronaldo-GOAT/bert_simpson/forgebench/code/eval/eval512.py
-
curl -L -o eval512.py https://huggingface.co/Ronaldo-GOAT/bert_simpson/resolve/main/forgebench/code/eval/eval512.py
1.8 kB
| #!/usr/bin/env python | |
| """eval_final.py (imported, NOT modified) with every appearance comparison done at 512x512. | |
| The only change: eval_final.appearance_metrics(pred_rgba, ref_rgba) -- called once per IV / NV view with the masked | |
| crops -- now receives both images composited over white (exactly as appearance_metrics does internally) and resized | |
| to 512x512 (cv2 INTER_AREA when downsampling, INTER_LINEAR when upsampling), passed on as opaque RGBA. | |
| Rendering, masks, coverage, view selection and geometry are unchanged. | |
| Usage: python eval512.py fb150 <eval_final.py args> | |
| python eval512.py rest658 <eval_rest658_wrapper.py args> | |
| """ | |
| import os, sys, runpy | |
| HERE = os.path.dirname(os.path.abspath(__file__)) | |
| sys.path.insert(0, HERE); sys.path.insert(0, os.path.join(HERE, "appeval")) | |
| import numpy as np, cv2 | |
| import eval_final as EF | |
| from appearance import composite_white | |
| S = int(os.environ.get("EVAL_IMG_SIZE", "512")) | |
| _orig = EF.appearance_metrics | |
| def _to_s(x): | |
| rgb = composite_white(np.asarray(x, np.float32)) | |
| h, w = rgb.shape[:2] | |
| interp = cv2.INTER_AREA if (h >= S and w >= S) else cv2.INTER_LINEAR | |
| rgb = cv2.resize(rgb, (S, S), interpolation=interp).astype(np.float32) | |
| return np.concatenate([np.clip(rgb, 0, 1), np.ones((S, S, 1), np.float32)], -1) | |
| def appearance_metrics_512(pred_rgba, ref_rgba): | |
| return _orig(_to_s(pred_rgba), _to_s(ref_rgba)) | |
| EF.appearance_metrics = appearance_metrics_512 | |
| mode = sys.argv.pop(1) | |
| if mode == "fb150": | |
| sys.argv[0] = os.path.join(HERE, "eval_final.py"); EF.main() | |
| elif mode == "rest658": | |
| sys.argv[0] = os.path.join(HERE, "eval_rest658_wrapper.py") | |
| runpy.run_path(os.path.join(HERE, "eval_rest658_wrapper.py"), run_name="__main__") # imports the patched EF | |
| else: | |
| sys.exit("mode must be fb150 or rest658") | |