person_reid_siglip2_naflex_512d
Image-to-image person re-identification. Crops in, 512-d unit-norm vectors out; compare with a dot product (cosine similarity).
Crops are consumed at their natural aspect ratio — no fixed 256×128 resize.
Benchmarks
mAP / rank-1 under the standard re-ID protocol (gallery entries sharing both identity and camera with the query are dropped as junk; queries left with no true match are skipped). Best per row in bold.
| benchmark | this model | CLIP-ReID ViT-B/16 | NVIDIA ReID Transformer swin_base | FastReID BoT-R50 |
|---|---|---|---|---|
| Real-camera surveillance set (200q / 598g) | 0.9230 / 0.9750 | 0.8169 / 0.8900 | 0.6808 / 0.7550 | 0.5861 / 0.6600 |
| Mixed-domain gallery (600q / 13,980g) | 0.7949 / 0.9100 | 0.5858 / 0.7583 | 0.5139 / 0.6383 | 0.4257 / 0.5300 |
| ENTIRe-ID | 0.3981 / 0.3903 | 0.3021 / 0.3099 | 0.1875 / 0.1899 | 0.1069 / 0.1116 |
| Market-1501 | 0.7360 / 0.8694 | 0.7784 / 0.9026 | — | — |
| MSMT17 | 0.4681 / 0.7117 | 0.1503 / 0.3831 | — | — |
| VC-Clothes (clothes-changing) | 0.4756 / 0.6820 | 0.4838 / 0.6997 | — | — |
Notes:
- The real-camera surveillance set is an in-house benchmark of fixed-camera captures — the closest proxy to deployment conditions. On its 200 queries the top-1 match is wrong 5 times for this model and 22 times for CLIP-ReID.
- The mixed-domain gallery pools three public test splits into one gallery, so most distractors are out-of-domain relative to any given query. It penalises models that collapse away from their home domain.
- ENTIRe-ID is unseen by every model in the table.
- FastReID BoT-R50 and NVIDIA ReID Transformer are the publicly released weights. The FastReID column uses the Market-trained release; its MSMT17-trained release scores 0.2197 / 0.2197 on ENTIRe-ID.
- Table figures are measured at the model's native 768-d width. The published 512-d projection retains 99.8% of embedding variance and measures within noise: 0.9180 / 0.9700 on the real-camera set.
Files
| file | use |
|---|---|
person_reid_siglip2_naflex_512d.onnx | ONNX Runtime (opset 17) |
person_reid_siglip2_naflex_512d.pth | torch bundle — {config, backbone, neck_scale, neck_shift, proj_weight, proj_bias} |
ONNX interface — three inputs, one output:
pixel_values (B, 256, 768) float32 patch sequence, padded
pixel_attention_mask (B, 256) int64 1 = real patch, 0 = padding
spatial_shapes (B, 2) int64 per-image patch grid (rows, cols)
→ embedding (B, 512) float32 L2-normalized in-graph
Preprocessing: RGB, natural aspect ratio, patch-16 tokenisation to at most 256 patches, mean/std 0.5, BILINEAR. Guards: minimum side 32 px, aspect ratio capped at 5:1.