A2PM-SGAD: SGAD and SGAD++ checkpoints
SGAD matches semantic regions between images for the Area-to-Point Matching (A2PM) pipeline. SGAD++ uses DINOv3 visual features, RoPE region attention, and a soft-overlap BCE objective.
Checkpoints
| File | Model | Dataset |
|---|---|---|
weights/sgad_indoor_scannet.ckpt |
SGAD, fixed positional scale | ScanNet |
weights/sgad_outdoor_megadepth.ckpt |
SGAD, fixed positional scale | MegaDepth |
weights/sgadplusplus_bce_indoor_scannet.ckpt |
SGAD++ BCE | ScanNet |
weights/sgadplusplus_bce_outdoor_megadepth.ckpt |
SGAD++ BCE | MegaDepth |
Indoor corresponds to ScanNet; outdoor corresponds to MegaDepth. These are Lightning checkpoints, loaded with the project's training, evaluation, or inference entry points. SGAD uses DINOv2; SGAD++ uses DINOv3. The SGAD++ checkpoints were trained with single image normalization.
Download and use
Download the checkpoint needed for your dataset:
hf download MrWangChi/A2PM-SGAD weights/sgad_indoor_scannet.ckpt --local-dir checkpoints
hf download MrWangChi/A2PM-SGAD weights/sgad_outdoor_megadepth.ckpt --local-dir checkpoints
export A2PM_SGAD_WEIGHTS="$PWD/checkpoints/weights/sgad_indoor_scannet.ckpt"
export A2PM_SGAD_MEGADEPTH_WEIGHTS="$PWD/checkpoints/weights/sgad_outdoor_megadepth.ckpt"
The final A2PM benchmark configurations use SGAD. SGAD++ can be evaluated with the standalone entry point sgad/test.py. See the code repository for model configuration and commands.
In the MegaDepth standalone configuration, images are padded to 2000×2000. DINOv3 full-image feature extraction at this size is slow; resize images and scale bounding boxes together, then retrain at the chosen size to suit your accuracy and speed needs.