CityGuard: Graph-Aware Private Descriptors for Bias-Resilient Identity Search Across Urban Cameras
Organizations: Independent Researcher
Abstract
City-scale person re-identification across distributed cameras must handle severe appearance changes from viewpoint, occlusion, and domain shift while complying with data protection rules that prevent sharing raw imagery. We introduce CityGuard, a topology-aware transformer for privacy-preserving identity retrieval in decentralized surveillance. The framework integrates three components. A dispersion-adaptive metric learner adjusts instance-level margins according to feature spread, increasing intra-class compactness. Spatially conditioned attention injects coarse geometry, such as GPS or deployment floor plans, into graph-based self-attention to enable projectively consistent cross-view alignment using only coarse geometric priors without requiring survey-grade calibration. Differentially private embedding maps are coupled with compact approximate indexes to support secure and cost-efficient deployment. Together these designs produce descriptors robust to viewpoint variation, occlusion, and domain shifts, and they enable a tunable balance between privacy and utility under rigorous differential-privacy accounting. Experiments on Market-1501 and additional public benchmarks, complemented by database-scale retrieval studies, show consistent gains in retrieval precision and query throughput over strong baselines, confirming the practicality of the framework for privacy-critical urban identity matching.
Figures & tables
| Configuration | Market R1 | Market mAP | MARS R1 | MARS mAP |
| Baseline (Swin-T) | 87.6 | 79.5 | 84.2 | 78.3 |
| + ACT Loss | 91.2 | 82.4 | 87.1 | 81.4 |
| + Geo-Attention | 89.8 | 81.1 | 86.5 | 80.1 |
| + OT Loss | 94.5 | 93.2 | 94.1 | 89.3 |
| Full CityGuard (perfect calibration) | 97.5 | 96.5 | 95.7 | 91.6 |
| Full CityGuard (w/ coarse GPS noise =5m) ⋆ | 97.1 | 96.2 | 95.4 | 91.1 |
| Method | MARS-mAP (%) | MARS-R1 (%) | Market-R1 (%) | Market-mAP (%) |
| AuxIMD [ 56 ] | 78.5 | 87.0 | 80.9 | 72.4 |
| STE-NVAN [ 57 ] | 82.3 | 88.5 | 90.0 | 82.8 |
| HMN [ 58 ] | 85.1 | 90.1 | 93.1 | 83.3 |
| STA [ 59 ] | 85.1 | 89.8 | 86.3 | 80.8 |
| COSAM [ 60 ] | 82.9 | 90.2 | 86.9 | 87.4 |
| GLTR [ 61 ] | 85.8 | 90.0 | 87.0 | 78.5 |
| Method | Market-1501 | MSMT17 | ||||
| Clean | FGSM | PGD-20 | Clean | FGSM | PGD-20 | |
| Rank-1/mAP | Rank-1/mAP | Rank-1/mAP | Rank-1/mAP | Rank-1/mAP | Rank-1/mAP | |
| TransReID [ 5 ] | 95.2/89.5 | 12.3/5.1 | 3.7/1.2 | 83.5/64.4 | 15.8/6.9 | 5.4/2.1 |
| OAT [ 68 ] | 95.7/89.9 | 18.4/7.3 | 6.2/2.4 | 91.2/82.3 | 19.1/8.5 | 7.1/2.9 |
| FED [ 74 ] | 95.0/86.3 | 22.7/9.8 | 8.9/3.7 | 86.3/79.3 | 24.5/10.2 | 9.3/3.8 |
| CityGuard (Ours) | 97.5/96.5 | 68.7/52.4 | 45.2/31.8 | 94.9/90.1 | 71.3/55.1 | 48.9/35.3 |
Appendix figures & tables21 assets
Supplementary material from the paper’s appendix.
Appendix
| Method | Occluded-REID | Partial-REID | Partial-iLIDS | |||
| Rank-1 | mAP | Rank-1 | mAP | Rank-1 | mAP | |
| DSR [ 55 ] | 72.8 | 62.8 | 73.7 | 68.1 | 64.3 | 58.1 |
| PCB [ 77 ] | 66.3 | 63.8 | 56.3 | 54.7 | 46.8 | 40.2 |
| HOReID [ 78 ] | 80.3 | 70.2 | 85.3 | - | 72.6 | - |
| QPM [ 79 ] | 81.7 | - | - | - | 77.3 | - |
| RTGAT [ 80 ] | 71.8 | 51.0 | - | - | - | - |
| Rank-1 | mAP | |||
| 0.3 | 0.0 | 0.0 | 94.2 | 91.8 |
| 0.4 | 0.0 | 0.0 | 95.1 | 93.2 |
| 0.5 | 0.0 | 0.0 | 94.8 | 92.9 |
| 0.3 | 0.2 | 1.0 | 96.3 | 94.5 |
| 0.4 | 0.2 | 1.0 | 97.5 | 96.5 |
| 0.5 | 0.2 | 1.0 | 97.1 | 95.8 |
| Setting | Rank-1 | mAP |
| 82.1 | 79.3 | |
| 87.2 | 84.5 | |
| 85.3 | 82.1 | |
| 84.7 | 81.6 | |
| 95.8 | 94.2 | |
| 96.3 | 95.1 |
| Model | Params (M) | Latency | GFLOPS |
| Swin-T | 29.0 | 10.2 ms | 4.3 |
| PMT | 33.5 | 12.7 ms | 5.1 |
| CityGuard | 31.2 | 11.2 ms | 4.7 |
| Sparse variant | 24.1 | 8.9 ms | 3.9 |
| Method | SYSU-MM01 (All-Search) | RegDB | ||||
| Rank-1 | mAP | mINP | Rank-1 | mAP | mINP | |
| AGW [ 94 ] | 47.50 | 47.65 | 35.30 | 70.05 | 66.37 | 50.19 |
| CIL [ 95 ] | 45.41 | 47.64 | 38.15 | 74.96 | 69.75 | 55.68 |
| DGTL [ 96 ] | 57.34 | 55.13 | 42.55 | 83.92 | 73.78 | 59.17 |
| DART [ 97 ] | 68.72 | 66.29 | 53.26 | 83.60 | 75.67 | 60.60 |
| DEEN [ 98 ] | 74.70 | 71.80 | 59.06 | 91.10 | 85.10 | 67.01 |
| Method | Rank-1 (%) | mAP (%) | mINP (%) | Transfer Gap ‡ |
| ResNet-50 (Baseline) | 54.2 0.4 | 40.1 0.3 | 18.5 0.2 | – |
| TransReID [ 5 ] | 58.3 0.3 | 45.2 0.3 | 22.1 0.2 | – |
| AGW [ 94 ] | 60.5 0.3 | 47.8 0.3 | 24.3 0.2 | – |
| HOSNet [ 101 ] | 61.2 0.3 | 48.5 0.3 | 25.1 0.2 | – |
| CityGuard (w/o geometry) | 62.4 0.3 | 48.9 0.3 | 26.2 0.2 | 35.1 |
| CityGuard (full) | 65.1 0.3 | 52.3 0.3 | 29.4 0.2 | 32.4 |
| Privacy Budget | Rank-1 | Rank-1 | mAP | mAP |
| (%) | (%) | (%) | (%) | |
| (Baseline) | 97.5 0.3 | – | 96.5 0.2 | – |
| 100 | 97.3 0.3 | 0.2 | 96.2 0.2 | 0.3 |
| 50 | 97.1 0.3 | 0.4 | 95.9 0.2 | 0.6 |
| 20 | 96.5 0.4 | 1.0 | 95.1 0.3 | 1.4 |
| 10 | 95.8 0.4 | 1.7 | 93.9 0.3 | 2.6 |
| Configuration | Prec. (%) | Adv. (%) | |
| Non-private baseline | 81.5 | 63.0 | |
| Weak protection | 8.0 | 68.2 | 36.4 |
| Moderate protection | 4.0 | 61.5 | 23.0 |
| Strong protection (Ours) | 2.0 | 54.3 | 8.6 |
| Very strong protection | 1.0 | 51.2 | 2.4 |
| Attribute | Model | DPD | DEOdds | AUC | ES-AUC | Group-wise AUC |
| Race | CLIP | 5.3 | 14.0 | 77.3 | 72.4 | 79.74/73.60/77.82 |
| CLIP-FT | 4.0 | 9.6 | 80.3 | 74.7 | 82.19/75.67/81.20 | |
| BLIP2 | 9.4 | 10.6 | 73.8 | 68.9 | 76.28/69.55/74.22 | |
| BLIP2-FT | 8.3 | 10.9 | 80.1 | 73.8 | 82.09/74.43/80.97 | |
| CityGuard | 2.2 | 6.8 | 98.5 | 95.3 | 97.82/96.45/98.93 | |
| Gender | CLIP | 1.1 | 5.2 | 77.3 | 72.5 | 74.25/80.88 |
| Config | Latency (ms) | Index (GB) | GPU Mem (MB) | mAP |
| PostgreSQL + SeqScan | 1420 | 0 | 0 | 0.712 |
| PG-Strom + ResNet50 | 380 | 22.1 | 1480 | 0.823 |
| PG-Strom + CityGuard | 210 | 8.7 | 890 | 0.859 |