GPA-VGGT: Geometry-Preserving Acceleration of VGGT
Organizations: Seoul National University
Abstract
Feed-forward geometry models such as VGGT recover camera parameters, depth maps, and point maps from one to hundreds of views in a single forward pass, making them powerful backbones for multi-view 3D perception. However, VGGT's global attention is quadratic in the number of frames and dominates end-to-end runtime on long sequences, which has motivated a range of training-free efficiency methods such as token merging. These methods, however, come with a drop in accuracy that makes them hard to use in place of VGGT. We propose GPA-VGGT, a training-free acceleration method that replaces global attention in early blocks with frame attention augmented by a shared cross-frame K/V set. In the remaining blocks, we merge only keys and values while preserving all queries, restore the attention mass of the tokens each merged key represents, and randomly project the matching metric to 128 dimensions to reduce matching cost. Across diverse multi-view geometry tasks, GPA-VGGT provides training-free acceleration at speedups comparable to prior work while preserving the information required for precise geometric estimation, retaining over 99% of VGGT's pose accuracy under AUC@3.
Figures & tables
| CO3D | RE10K | |||||||
|---|---|---|---|---|---|---|---|---|
| AUC@3 | AUC@5 | AUC@10 | AUC@30 | AUC@3 | AUC@5 | AUC@10 | AUC@30 | |
| vanilla VGGT | 57.49 | 68.88 | 80.66 | 91.71 | 44.78 | 56.67 | 70.79 | 85.76 |
| FastVGGT | 41.56 | 55.97 | 72.61 | 88.38 | 37.56 | 50.52 | 66.38 | 83.69 |
| FasterVGGT | 16.05 | 33.80 | 60.00 | 83.91 | 22.00 | 34.09 | 51.47 | 73.85 |
| AVGGT(2) | 51.87 | 64.55 | 78.02 | 90.65 | 44.68 | 56.49 | 70.66 | 85.70 |
| AVGGT(4) | 47.08 | 60.75 | 75.72 | 89.72 | 42.53 | 54.78 | 69.50 | 85.21 |
| AUC@3 | AUC@30 | |||||
|---|---|---|---|---|---|---|
| 64 | 100 | 200 | 64 | 100 | 200 | |
| vanilla VGGT | 62.57 | 62.45 | 61.47 | 92.58 | 92.59 | 92.42 |
| FastVGGT | 55.18 | 55.97 | 56.28 | 91.33 | 91.54 | 91.68 |
| FasterVGGT | 20.66 | 20.40 | 19.59 | 85.62 | 85.57 | 85.42 |
| AVGGT(2) | 58.49 | 58.59 | 57.71 | 91.94 | 92.03 | 91.85 |
| AVGGT(4) | 54.27 | 54.76 | 54.40 | 91.35 | 91.50 | 91.45 |
| NRGBD sparse | NRGBD dense | 7-Scenes sparse | 7-Scenes dense | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Acc | Comp | NC | Acc | Comp | NC | Acc | Comp | NC | Acc | Comp | NC | |
| vanilla VGGT | 0.0510 | 0.0665 | 0.8843 | 0.0144 | 0.0152 | 0.8743 | 0.0432 | 0.0557 | 0.7337 | 0.0215 | 0.0259 | 0.6673 |
| FastVGGT | 0.0560 | 0.0819 | 0.8601 | 0.0308 | 0.0328 | 0.8302 | 0.0510 | 0.0696 | 0.7215 | 0.0195 | 0.0235 | 0.6646 |
| FasterVGGT | 0.1551 | 0.2173 | 0.7749 | 0.0759 | 0.0642 | 0.7988 | 0.0994 | 0.1527 | 0.6637 | 0.0246 | 0.0254 | 0.6695 |
| AVGGT(2) | 0.0355 | 0.0396 | 0.8981 | 0.0154 | 0.0157 | 0.8562 | 0.0613 | 0.0765 | 0.7115 | 0.0210 | 0.0257 | 0.6653 |
| AVGGT(4) | 0.0465 | 0.0554 | 0.8818 | 0.0207 | 0.0182 | 0.8466 | 0.0656 | 0.0866 | 0.7063 | 0.0218 | 0.0248 | 0.6665 |
| number of input frames | ||||||
|---|---|---|---|---|---|---|
| time (s) | 10 | 32 | 64 | 100 | 200 | 500 |
| vanilla VGGT | 0.84 | 3.84 | 12.46 | 24.01 | 86.78 | 513.78 |
| FastVGGT | 0.85 | 2.81 | 6.46 | 11.71 | 33.91 | 169.43 |
| FasterVGGT | 0.78 | 2.66 | 6.18 | 11.29 | 32.27 | OOM |
| AVGGT(2) | 0.78 | 2.76 | 6.70 | 12.66 | 37.02 | 184.03 |
| AVGGT(4) | 0.76 | 2.51 | 5.58 | 9.86 | 25.82 | 111.74 |
| time | AUC@3 | ||
|---|---|---|---|
| f | CO3D | RE10K | |
| vanilla VGGT | 86.8 s | 57.49 | 44.78 |
| frame attention in early blocks | 59.1 s | 54.43 | 44.45 |
| pooled cross-frame broadcast | 59.8 s | 57.25 | 45.20 |
| query-preserving K/V merging | 40.1 s | 57.13 | 44.45 |
| on blocks 9–12 and 17–23 | |||
Appendix figures & tables11 assets
Supplementary material from the paper’s appendix.
Appendix
| frames | vanilla | FastVGGT | FasterVGGT | AVGGT | GPA-VGGT |
|---|---|---|---|---|---|
| 10 | 4.58 | 4.58 | 4.58 | 4.58 | 4.58 |
| 32 | 5.12 | 5.12 | 5.12 | 5.12 | 5.12 |
| 64 | 6.08 | 6.85 | 7.48 | 6.08 | 6.08 |
| 100 | 8.27 | 9.48 | 10.50 | 8.27 | 8.28 |
| 200 | 14.37 | 16.78 | 19.46 | 14.37 | 14.38 |
| 300 | 20.47 | 24.08 | 29.43 | 20.47 | 20.48 |
| vanilla | mean | stride | cluster | cluster-h | |
|---|---|---|---|---|---|
| CO3D AUC@3 | |||||
| vs. vanilla | – |
| preserve | output | CO3D | ||
| Q | bias | error | AUC@3 | |
| no merging | – | – | – | 57.25 |
| (Pooled Cross-Frame Broadcast only) | ||||
| neither component | – | – | 0.394 | 49.93 |
| query preservation only | ✓ | – | 0.374 | 51.09 |
| correction only | – | ✓ | 0.112 | 55.36 |
| dimension | 32 | 64 | 128 | 256 | 512 | 1024 |
|---|---|---|---|---|---|---|
| matching (ms) | 37 | 38 | 64 | 106 | 194 | 469 |
| same destination (%) | 54.4 | 67.1 | 76.6 | 82.8 | 87.9 | 100 |
| similarity loss (%) | 3.30 | 1.28 | 0.56 | 0.28 | 0.13 | 0 |
| CO3D AUC@3 | 56.47 | 56.48 | 56.94 | 56.87 | 56.89 | 57.09 |
| CO3D AUC@ | RE10K AUC@ | frames | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| time (s) | speedup | |||||||||||
| vanilla | ||||||||||||
| frame attention in early blocks | ||||||||||||
| pooled cross-frame broadcast | ||||||||||||
| query-preserving K/V merging, | ||||||||||||
| query-preserving K/V merging, | ||||||||||||
| CO3D AUC@ | RE10K AUC@ | frames | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| time (s) | speedup | |||||||||||
| vanilla | ||||||||||||
| frame attention in early blocks | ||||||||||||
| pooled cross-frame broadcast | ||||||||||||
| query-preserving K/V merging, | ||||||||||||
| query-preserving K/V merging, | ||||||||||||
Efficient Transformer Inference
Efficient Transformer Inference studies methods and systems that reduce the latency, memory, and energy needed to run Transformer models.
See all 121 papers