Instructions to use phi-lab-rice/GRADE with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Diffusers
How to use phi-lab-rice/GRADE with Diffusers:
pip install -U diffusers transformers accelerate
import torch from diffusers import DiffusionPipeline # switch to "mps" for apple devices pipe = DiffusionPipeline.from_pretrained("phi-lab-rice/GRADE", dtype=torch.bfloat16, device_map="cuda") prompt = "Astronaut in a jungle, cold color palette, muted colors, detailed, 8k" image = pipe(prompt).images[0] - Notebooks
- Google Colab
- Kaggle
|
Download README.md from phi-lab-rice/GRADE: direct link, hf CLI and curl.
- Browser
- Download file 6.37 kB
-
https://huggingface.co/phi-lab-rice/GRADE/resolve/main/README.md
- Command line
-
hf download hf://phi-lab-rice/GRADE/README.md
-
curl -L -o README.md https://huggingface.co/phi-lab-rice/GRADE/resolve/main/README.md
6.37 kB
| # GRADE | |
| **Single-Frame Generative Radar Depth Estimation Under Visual Degradation** | |
| Bin Zhao, Patrick Chiou, Nakul Garg β Rice University | |
| ACM MobiCom 2026 Β· Austin, TX | |
| Dense 3D depth perception fails under smoke, fog, and darkness because optical sensors cannot | |
| penetrate airborne particulates. mmWave radar works in these conditions but its limited angular | |
| resolution gives depth that is metrically grounded yet structurally incomplete. GRADE grounds | |
| pretrained generative priors in single-frame radar geometry to recover high-fidelity metric depth β | |
| without SAR and without a reliable camera. | |
| Trained and evaluated on ~95K synchronized frames across 12 buildings with real smoke using | |
| leave-building-out splits, GRADE reaches an MAE of 0.303 m in clear conditions and 0.313 m under | |
| smoke, ahead of every baseline on all reported metrics. | |
| ## Project page | |
| <https://phi-lab-rice.github.io/GRADE/> | |
| Served from [`docs/`](docs/) via GitHub Pages. | |
| ## Code and artifacts | |
| The evaluation code is included directly in this repository under | |
| [`evaluation/`](evaluation/) and [`src/`](src/). It includes inference, metric | |
| computation, saved-result reproduction, and the evaluation configuration. | |
| The [complete Hugging Face model repository](https://huggingface.co/phi-lab-rice/GRADE) | |
| contains the executable code, all model checkpoints, and the complete | |
| reference results. Download it with `hf download phi-lab-rice/GRADE --local-dir | |
| grade-models` and run the commands below from `grade-models`. | |
| ### Artifact evaluation reproduction | |
| After installing `environment.txt`, the CPU-only E1 command is: | |
| ```bash | |
| python evaluation/reproduce_paper.py --mode saved | |
| ``` | |
| The GitHub checkout contains pointer files in place of some large reference | |
| `.npz` assets. If running the GitHub source, pass | |
| `--reference-root /path/to/grade-models/evaluation/reference_results` to use | |
| the downloaded model package without changing the checkout. E1 writes regenerated | |
| results under `evaluation/reproduced_results/saved/`. | |
| For E2, run inference and metrics for each required model, then reproduce from | |
| the fresh merged CSVs: | |
| ```bash | |
| python evaluation/run_inference.py --model grade --gpuid 0 | |
| python evaluation/run_metrics.py --model grade --workers 1 | |
| python evaluation/reproduce_paper.py --mode local | |
| ``` | |
| `--mode local` includes the available model rows in Tables 2β6 and skips a | |
| table or figure when none of its required inputs exist. The output lists each | |
| skip. Table 7 states its source in the generated report: if | |
| `evaluation/metric_results/sampling_step/sampling_step_ablation_pooled.csv` | |
| exists, it uses that fresh file; otherwise it uses the released reference | |
| sampling-step results. Ordinary E2 model runs do not recompute Table 7. | |
| Use `--workers 1` for the 3D metric stage. Multiple workers have deadlocked on | |
| at least one evaluation host and are not validated for this release. The 2D | |
| stage does not use this setting. | |
| The LPIPS metric may download the AlexNet weights (about 233 MB) from | |
| `download.pytorch.org` on first use. For an offline metric run, populate the | |
| TorchVision weight cache before disconnecting; running the LPIPS metric once | |
| online in the same environment is sufficient. Set `TORCH_HOME` to keep that | |
| cache in a known location. | |
| Anonymous downloads of the many small Smoke-Eval files may be rate limited by | |
| Hugging Face. Log in with `hf auth login` on the download host, or set `HF_TOKEN` | |
| through the shell's secure credential mechanism, before `hf download`. The | |
| repositories are public; authentication only increases download reliability. | |
| ### Dataset | |
| The synchronized raw dataset is shared through | |
| [Hugging Face](https://huggingface.co/datasets/phi-lab-rice/GRADE_Dataset). Please | |
| follow its access and usage terms. The dataset-processing scripts are available | |
| in [`processing_code/`](processing_code/) here and in that dataset repository. | |
| The raw dataset repository is organized as follows: | |
| ```text | |
| GRADE Dataset/ | |
| βββ processing_code/ # dataset-processing scripts | |
| βββ GRADE_Eval_Raw/ # evaluation data | |
| βββ GRADE_Train_Raw/ # training data | |
| ``` | |
| For the artifact evaluation checkpoints and processed Smoke-Eval inputs, use the | |
| [complete model repository](https://huggingface.co/phi-lab-rice/GRADE) and the | |
| separate [evaluation dataset](https://huggingface.co/datasets/mypersonalsharingspot11/evaluation_dataset). | |
| The model package includes release-relative checkpoint configurations. | |
| To use the processing scripts locally from this repository: | |
| ```bash | |
| cd processing_code | |
| # Full radar + ZED + DJI processing | |
| python processor.py --dataset /path/to/raw_dataset | |
| # RGB/depth-only processing | |
| python processor_rgb.py --dataset /path/to/raw_dataset | |
| # Radar point-cloud extraction | |
| python processor_pcd.py --dataset /path/to/raw_dataset | |
| ``` | |
| Each processor accepts `--sequences` to process selected sequences. The | |
| generated files are written under `processed/<sequence_name>/`, including | |
| synchronized timestamps and the processed radar, RGB, depth, or point-cloud | |
| outputs appropriate to the selected pipeline. See the docstrings in the | |
| processing scripts for optional modality skips and split-file arguments. | |
| For reproducible evaluation, install the dependencies from | |
| [`environment.txt`](environment.txt) before running the evaluation code. A | |
| typical setup is: | |
| ```bash | |
| python3.11 -m venv grade-venv | |
| source grade-venv/bin/activate | |
| python -m pip install --upgrade pip | |
| python -m pip install -r environment.txt | |
| ``` | |
| After preparing the environment, follow the command-line help and docstrings | |
| in the scripts under [`evaluation/`](evaluation/). Full evaluation also | |
| requires downloading the checkpoints and the required Smoke-Eval directories | |
| from the artifact repositories linked above. | |
| ## Citation | |
| ```bibtex | |
| @inproceedings{zhao2026grade, | |
| title = {GRADE: Single-Frame Generative Radar Depth Estimation Under Visual Degradation}, | |
| author = {Zhao, Bin and Chiou, Patrick and Garg, Nakul}, | |
| booktitle = {Proceedings of the 32nd Annual International Conference on | |
| Mobile Computing and Networking (MobiCom '26)}, | |
| year = {2026}, | |
| doi = {10.1145/3795866.3844478} | |
| } | |
| ``` | |
| ## Acknowledgement | |
| The project page is based on the [Nerfies](https://nerfies.github.io/) template | |
| (CC BY-SA 4.0), with the layout adapted from our | |
| [RadarSFD project page](https://github.com/phi-lab-rice/RadarSFD/tree/main/docs). | |