abtonmoy's picture
Add config.json
719934d verified
Raw
History Blame Contribute Delete
2.47 kB
{
"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"
}