IDSet3D-IDHead / README.md
wolfkingttf's picture
Link the GitHub repository
1f5f6ec verified
|
Raw History Blame Contribute Delete
3.31 kB
---
license: cc-by-nc-4.0
library_name: pytorch
tags:
- 3d-reconstruction
- selective-prediction
---
# ID-Head checkpoints
ID-Head decides, for every ray of a query view, whether the depth that a frozen VGGT-1B reconstruction gives on that ray should be answered or withheld. It is a U-Net with three downsamplings (0.35M parameters) that maps the 18×90×160 feature map of a query view to one logit per ray, and it never changes the depth itself. Code and documentation are in the [IDSet-3D GitHub repository](https://github.com/tonggeshuaiqiwudizuijunlang/IDSet3D); the model is defined in `code/idhead/c76/c76_train.py` (`ThreeDownUNet`) and evaluated by `code/pool/c83_method.py`.
## Files
| File | Content |
|---|---|
| `pool/training/c76_v1b_seed2026102{5,6,7,8,9}.pt` | ID-Head, one checkpoint per training seed (the five registered checkpoints) |
| `pool/training/c79b_rebuild/no_evidence_seed2026102{5,6,7}.pt` | the same model trained without the predicted-evidence features (registered comparison) |
| `pool/training/gbdt_v0.joblib` | gradient-boosted-tree control on the same features (scikit-learn `HistGradientBoostingClassifier`) |
| `pool/training/c83_validation_thresholds.json` | answer thresholds fixed on the validation windows |
| `pool/training/**/*.json` | training logs of the files above |
| `pool/training/c79b_rebuild/{evidence_only,full_n25,full_n50}_seed2026102{5,6,7}.pt` | validation ablations: evidence features only, and 25 or 50 training windows; `c79b_rebuild/suite.json` and `c80_unified_evaluation.json` hold their validation results |
## Download and load
The scripts read the checkpoints from `pool/training/` under the repository root, so download into a clone of the GitHub repository:
```bash
pip install -U huggingface_hub
python - <<'EOF'
from huggingface_hub import snapshot_download
skip = ["README.md", ".gitattributes"] # keep the GitHub repository's README.md and .gitattributes
snapshot_download("wolfkingttf/IDSet3D-IDHead", local_dir=".", ignore_patterns=skip)
EOF
sha256sum -c checksums/IDSet3D-IDHead.sha256
```
Skipping `README.md` and `.gitattributes` keeps the files of the GitHub repository from being replaced.
```python
import torch
ck = torch.load("pool/training/c76_v1b_seed20261025.pt", map_location="cpu", weights_only=False)
state_dict = ck["model"] # weights of ThreeDownUNet
```
The checkpoints are pickled Python dictionaries, and loading a pickle can run code. Compare the SHA256 with `checksums/IDSet3D-IDHead.sha256`, and for the registered files with `prereg/IDSET_PREREGISTRATION_v1.2.json` in the GitHub repository, before loading them. The files were written with PyTorch 2.7.1; the GBDT control with scikit-learn 1.7.2 and joblib 1.6.0, and other scikit-learn versions may fail to load it.
## Inputs
The 18 features of `code/pool/features.py`, computed from the predictions of VGGT-1B (`facebook/VGGT-1B`, revision `860abec7937da0a4c03c41d3c269c366e82abdf9`) on the eight input views of a window. The answer on a ray is the VGGT-1B readout depth scaled by 1.0096. Features and labels of the benchmark are in the dataset repository `wolfkingttf/IDSet3D`.
## License
CC BY-NC 4.0. The checkpoints were trained on labels derived from MatrixCity (CC BY-NC 4.0) and on features of VGGT-1B predictions (CC BY-NC 4.0).