--- 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).