| { |
| "name": "fusion-perception-1", |
| "version": "v0.1-preview", |
| "family": "Fusion Perception", |
| "capability": "landmark / place retrieval (global descriptor)", |
| "backbone": "facebook/dinov2-large", |
| "backbone_license": "apache-2.0", |
| "backbone_frozen": true, |
| "patch_size": 14, |
| "descriptor": { |
| "dim": 512, |
| "normalize": true, |
| "dtype_reference": "float16 on CUDA (the precision every reported number was produced at)" |
| }, |
| "preprocess": { |
| "scales": [ |
| 1.0, |
| 1.414, |
| 2.0 |
| ], |
| "base_short_side": 224, |
| "max_long_side": 1022, |
| "snap_multiple": 14, |
| "resample": "bicubic", |
| "mean": [ |
| 0.485, |
| 0.456, |
| 0.406 |
| ], |
| "std": [ |
| 0.229, |
| 0.224, |
| 0.225 |
| ], |
| "note": "per scale: short side = round(224*scale/14)*14, long side scaled by aspect, snapped to /14 and clamped to 1022; CLS token L2-normalized per scale, the three averaged, re-normalized -> 1024-d multi-scale CLS" |
| }, |
| "head": { |
| "architecture": "Linear(1024, 2048) -> GELU -> Linear(2048, 512, bias=False) -> BatchNorm1d(512) -> L2", |
| "trained_params": 3148800, |
| "training_objective": "ArcFace (margin 0.3, scale 32), label smoothing 0.1, class-balanced sqrt sampling, AdamW + cosine, batch 4096, 40 epochs, early stop patience 8", |
| "training_data": "Google Landmarks v2 clean (GLDv2-clean), classes with >= 3 images" |
| }, |
| "heads": { |
| "standard": { |
| "file": "heads/retrieval_head_standard.pt", |
| "train_images": 1570970, |
| "train_classes": 76563, |
| "note": "all GLDv2-clean classes, the same training data published systems use", |
| "safetensors": "model.safetensors", |
| "default": true |
| }, |
| "decon": { |
| "file": "heads/retrieval_head_decon.pt", |
| "train_images": 1568445, |
| "train_classes": 76478, |
| "note": "GLDv2-clean minus the 87 classes our audit matched to ROxford/RParis query landmarks", |
| "safetensors": "model_decon.safetensors" |
| } |
| }, |
| "default_head": "standard", |
| "reranking": { |
| "optional": true, |
| "method": "AMES (Suma et al., ECCV 2024) over frozen DINOv2-B local descriptors, top-1600 shortlist", |
| "ensemble": "score = lambda * global_cosine + (1 - lambda) * sigmoid(temp * ames_logit)", |
| "lambda": 0.55, |
| "temp": 0.3, |
| "script": "rerank.py", |
| "note": "this repo ships the first-stage global descriptor and rerank.py, which runs the second stage. The AMES code (Apache-2.0), checkpoint and local descriptors are the authors', are fetched from them on first use, are used unchanged, and are not redistributed here." |
| }, |
| "license": "cc-by-nc-4.0" |
| } |
|
|