Keypoint detection underpins many vision tasks, including pose estimation, viewpoint recovery, and 3D reconstruction, yet modern neural models remain vulnerable to small input perturbations. Despite its importance, formal robustness verification for keypoint detectors is largely unexplored due to high-dimensional inputs and continuous coordinate outputs. We propose the first coupled robustness verification framework for heatmap-based keypoint detectors that bounds the joint deviation across all keypoints, capturing their interdependencies and downstream task requirements. Unlike prior decoupled, classification-style approaches that verify each keypoint independently and yield conservative guarantees, our method verifies collective behavior. We formulate verification as a falsification problem using a mixed-integer linear program (MILP) that combines reachable heatmap sets with a polytope encoding joint deviation constraints. Infeasibility certifies robustness, while feasibility provides counterexamples, and we prove the method is sound: if it certifies the model as robust, then the keypoint detection model is guaranteed to be robust. Experiments show that our coupled approach achieves high verified rates and remains effective under strict error thresholds where decoupled methods fail.
Figures & tables
Figure 1: Overview of the keypoint detection pipeline and the proposed verification framework. A thick red dashed line divides keypoint detection (above) and verification (below). A seed image \bbX0 where an airplane is parking at the airport is processed by the model to identify keypoints, which are marked as green dots. The verification framework takes as input the seed image \bbX0 and a set of perturbed images \bbX (with local perturbations indicated by red circles) that form the convex hull \ccalX , along with the keypoint error bound δ\ccalV . By checking the feasibility of the MILP that is derived from the reachable set \ccalZ of the model and the keypoint error bound δ\ccalV , the method returns whether the model is robust.
Figure 2: An illustration of dynamic indexing for the first keypoint: the green grid indicates the ground-truth keypoint location, while the red grid represents the perturbed keypoint position. The index deviation (1, -1) retrieves the value Z31 .
m
α=1.0
α=0.5
α=0.2
α=0.1
testing
ours
baseline
testing
ours
baseline
testing
ours
baseline
testing
ours
baseline
1
100.0% (200/200)
99.5% (199/200)
47.5% (95/200)
100.0% (198/198)
99.0% (196/198)
0.0% (0/198)
100.0% (190/190)
71.6% (136/190)
0.0% (0/190)
88.7% (86/97)
10.3% (10/97)
0.0% (0/97)
2
100.0% (200/200)
99.0% (198/200)
52.5% (105/200)
100.0% (198/198)
100.0% (198/198)
0.0% (0/198)
98.4% (187/190)
72.1% (137/190)
0.0% (0/190)
89.7% (87/97)
8.2% (8/97)
0.0% (0/97)
3
100.0% (200/200)
99.0% (198/200)
53.0% (106/200)
100.0% (198/198)
99.0% (196/198)
0.0% (0/198)
99.4% (189/190)
67.4% (128/190)
0.0% (0/190)
88.7% (86/97)
5.1% (5/97)
0.0% (0/97)
4
100.0% (200/200)
97.0% (194/200)
53.0% (106/200)
100.0% (198/198)
98.0% (194/198)
0.0% (0/198)
99.5% (189/190)
62.1% (118/190)
0.0% (0/190)
90.7% (88/97)
7.2% (7/97)
0.0% (0/97)
Table 1: Statistical results on verified rate for non-overlapping local perturbations.
m
α=1.0
α=0.5
α=0.2
α=0.1
testing
ours
baseline
testing
ours
baseline
testing
ours
baseline
testing
ours
baseline
1
100.0% (196/196)
95.4% (187/196)
50.0% (98/196)
100.0% (195/195)
93.3% (182/195)
0.0% (0/195)
96.3% (183/190)
64.2% (122/190)
0.0% (0/190)
76.3% (74/97)
6.2% (6/97)
0.0% (0/97)
2
100.0% (192/192)
77.1% (148/192)
41.1% (79/192)
100.0% (190/190)
78.9% (150/190)
0.0% (0/190)
96.7% (175/181)
43.6% (79/181)
0.0% (0/181)
79.1% (72/91)
3.3% (3/91)
0.0% (0/91)
3
100.0% (157/157)
64.3% (101/157)
33.1% (52/157)
100.0% (157/157)
64.3% (101/157)
0.0% (0/157)
96.0% (142/148)
30.4% (45/148)
0.0% (0/148)
73.9% (51/69)
1.4% (1/69)
0.0% (0/69)
4
100.0% (126/126)
51.6% (65/126)
31.0% (39/126)
100.0% (126/126)
46.8% (59/126)
0.0% (0/126)
89.0% (105/115)
20.9% (24/115)
0.0% (0/115)
67.9% (36/53)
1.9% (1/53)
0.0% (0/53)
Table 2: Statistical results on verified rate for overlapping local perturbations.
m
α=1.0
α=0.5
α=0.2
α=0.1
ours
baseline
ours
baseline
ours
baseline
ours
baseline
1
11.8 ± 7.4
7.6 ± 6.6
10.8 ± 5.2
13.0 ± 9.0
12.6 ± 16.1
20.4 ± 6.3
9.1 ± 12.4
26.4 ± 6.4
2
17.0 ± 15.2
12.4 ± 9.9
18.6 ± 29.5
19.2 ± 12.0
16.1 ± 12.4
26.7 ± 7.4
12.3 ± 16.4
33.0 ± 11.8
3
29.8 ± 71.0
17.2 ± 9.6
28.9 ± 79.2
22.5 ± 13.5
21.9 ± 17.9
29.8 ± 10.7
14.1 ± 18.1
35.6 ± 10.8
4
36.0 ± 73.6
21.5 ± 12.4
37.2 ± 77.4
28.0 ± 15.7
29.0 ± 23.5
34.7 ± 12.2
18.5 ± 23.3
39.2 ± 14.2
Table 3: Statistical results on verification time for non-overlapping local perturbations (seconds).
α
overlapping
pruning
binary
integer
continuous
constraints
1.0
✗
✗
9.42 ×104± 0.00 ×101
46.0 ± 0.0
1.89 ×105± 5.29 ×102
6.61 ×105± 1.06 ×103
✓
5.31 ×101± 4.29 ×101
46.0 ± 0.0
8.36 ×102± 7.48 ×102
1.95 ×103± 1.61 ×103
✓
✗
9.42 ×104± 0.00 ×101
46.0 ± 0.0
1.92 ×105± 6.64 ×103
6.67 ×105± 1.33 ×104
✓
8.18 ×102± 4.11 ×103
46.0 ± 0.0
5.07 ×103± 1.42 ×104
1.27 ×104± 4.06 ×104
Table 4: Statistical results of the MILP size, including the number of binary, integer, and continuous variables, as well as the number of constraints. These results vary with the pose error threshold α , the presence of object-airplane overlap, and the use of the pruning strategy. Results obtained with pruning are highlighted in gray for non-overlapping images and in orange for overlapping images.
m
α=1.0
α=0.5
α=0.2
α=0.1
ours
baseline
ours
baseline
ours
baseline
ours
baseline
1
40.3 ± 95.9
16.3 ± 17.8
44.0 ± 94.0
20.9 ± 16.6
23.9 ± 39.8
29.3 ± 14.2
29.3 ± 45.9
36.0 ± 19.5
2
113.0 ± 155.4
30.8 ± 27.3
105.9 ± 147.5
35.1 ± 23.6
76.9 ± 114.6
48.4 ± 37.0
54.8 ± 69.8
51.1 ± 40.2
3
170.2 ± 175.1
48.3 ± 47.7
166.1 ± 173.6
56.6 ± 53.7
99.2 ± 131.0
65.6 ± 60.2
74.4 ± 83.7
64.2 ± 30.4
4
230.8 ± 190.0
66.2 ± 55.8
252.6 ± 194.0
77.9 ± 60.4
140.9 ± 138.5
84.9 ± 65.1
151.2 ± 210.3
104.4 ± 95.3
Table 5: Statistical results on verification time for overlapping local perturbations (seconds).
c %
α=1.0
α=0.5
α=0.2
α=0.1
testing
ours
baseline
testing
ours
baseline
testing
ours
baseline
testing
ours
baseline
0.05
100.0% (200/200)
99.5% (199/200)
55.5% (111/200)
100.0% (198/198)
100.0% (198/198)
0.0% (0/198)
100.0% (190/190)
75.3% (143/190)
0.0% (0/190)
94.8% (92/97)
11.3% (11/97)
0.0% (0/97)
0.5
100.0% (200/200)
99.5% (199/200)
55.0% (110/200)
100.0% (198/198)
100.0% (198/198)
0.0% (0/198)
99.5% (189/190)
72.1% (137/190)
0.0% (0/190)
91.8% (89/97)
10.3% (10/97)
0.0% (0/97)
1
100.0% (200/200)
99.5% (199/200)
54.0% (108/200)
100.0% (198/198)
100.0% (198/198)
0.0% (0/198)
98.4% (187/190)
64.7% (123/190)
0.0% (0/190)
84.5% (82/97)
8.2% (8/97)
0.0% (0/97)
Table 6: Statistical results on verified rate for contrast.
c %
α=1.0
α=0.5
α=0.2
α=0.1
ours
baseline
ours
baseline
ours
baseline
ours
baseline
0.05
19.0 ± 2.8
16.1 ± 3.4
19.4 ± 2.7
123.3 ± 9.6
20.1 ± 3.6
29.1 ± 3.7
23.9 ± 3.5
34.7 ± 3.2
0.5
22.9 ± 2.9
19.3 ± 3.4
23.3 ± 2.9
26.9 ± 9.3
24.1 ± 3.7
33.0 ± 3.8
28.0 ± 3.4
38.9 ± 3.0
1
48.1 ± 9.4
45.0 ± 10.3
49.0 ± 9.7
53.3 ± 16.0
49.7 ± 9.8
58.9 ± 9.9
54.9 ± 9.8
65.6 ± 8.8
Table 7: Statistical results on verification time for contrast (seconds).
b
α=1.0
α=0.5
α=0.2
α=0.1
testing
ours
baseline
testing
ours
baseline
testing
ours
baseline
testing
ours
baseline
1
100.0% (200/200)
99.5% (199/200)
55.5% (111/200)
100.0% (198/198)
100.0% (198/198)
0.0% (0/198)
100.0% (190/190)
72.1% (137/190)
0.0% (0/190)
93.8% (91/97)
10.3% (10/97)
0.0% (0/97)
2
100.0% (200/200)
99.0% (198/200)
54.5% (109/200)
100.0% (198/198)
100.0% (198/198)
0.0% (0/198)
100.0% (190/190)
63.7% (121/190)
0.0% (0/190)
88.6% (86/97)
7.2% (7/97)
0.0% (0/97)
Table 8: Statistical results on verified rate for brightness.
b
α=1.0
α=0.5
α=0.2
α=0.1
ours
baseline
ours
baseline
ours
baseline
ours
baseline
1
33.4 ± 5.5
29.0 ± 5.6
33.9 ± 5.5
35.2 ± 9.8
34.3 ± 5.9
43.4 ± 6.4
39.6 ± 11.9
48.9 ± 5.4
2
65.6 ± 13.4
58.3 ± 11.2
67.6 ± 16.9
65.0 ± 15.1
66.2 ± 13.3
75.8 ± 11.6
72.1 ± 12.8
77.9 ± 11.0
Table 9: Statistical results on verification time for brightness (seconds).
Appendix figures & tables2 assets
Supplementary material from the paper’s appendix.
Appendix
Figure 3: (a) Ground-truth keypoints are shown in green. (b) Deviations from the ground-truth keypoints are illustrated in both the vertical (first element) and horizontal (second element) directions. (c) Decoupled keypoint errors as determined by the method in the baseline ( Luo et al., 2025 ) . (d) Eight scenarios of coupled keypoint errors are evaluated using our approach, where the error of the first keypoint is fixed and the feasible error combinations for the second keypoint are enumerated. For example, the top-left case shows the feasible δh2 and δw2 values when δh1=δw1=−1 . The bottom-right case illustrates cases where keypoint errors fall outside the polytope. Specifically, when the first keypoint deviates from the ground truth by 1 pixel in both directions, no feasible solution exists, even if the second keypoint aligns perfectly with the ground truth. Note that (c) and (d) are best interpreted with reference to (b) to evaluate satisfaction of the constraints in ( 10 ).
Figure 4: In the first scenario (a)-(c), the MILP is infeasible. Conversely, in the second scenario (d)-(f), the MILP is feasible, resulting in the identification of a counterexample.
This paper introduces RaCo, a lightweight neural network designed to learn robust and versatile keypoints suitable for a variety of 3D computer vision tasks. The model integrates three key components: the repeatable keypoint detector, a differentiable ranker to maximize matches with a limited number of keypoints, and a covariance estimator to quantify spatial uncertainty in metric scale. Trained on perspective image crops only, RaCo operates without the need for covisible image pairs. It achieves strong rotational robustness through extensive data augmentation, even without the use of computationally expensive equivariant network architectures. The method is evaluated on several challenging datasets, where it demonstrates state-of-the-art performance in keypoint repeatability and two-view matching, particularly under large in-plane rotations. Ultimately, RaCo provides an effective and simple strategy to independently estimate keypoint ranking and metric covariance without additional labels, detecting interpretable and repeatable interest points. The code is available at https://github.com/cvg/RaCo.
Abhiram Shenoi, Philipp Lindenberger, Paul-Edouard Sarlin +1
ETH Zurich · Google · Microsoft Mixed Reality & AI Lab
Keypoint detection plays a central role in geometric vision pipelines. Existing detectors exhibit complementary strengths across different scene structures and keypoint budgets, and reliance on a single detector often results in suboptimal keypoint distributions. Motivated by this observation, we propose Mixture of Detectors (MoD) for dense matching pipelines, a unified framework for complementary keypoint detection through the adaptive composition of heterogeneous detectors. MoD first distills heterogeneous detectors into a unified model, allowing diverse detection maps to be predicted efficiently within a single forward pass. Detector selection is subsequently formulated as a patch-wise, budget-conditioned decision process, in which a lightweight router assigns the most suitable detector to each local region. To avoid heuristic supervision, the router is trained with task-driven rewards derived from downstream matching quality, jointly capturing both keypoint quantity and precision. Extensive experiments on MegaDepth, ScanNet, and HPatches demonstrate that MoD consistently outperforms strong baselines across a wide range of keypoint budgets, demonstrating its effectiveness in improving keypoint distribution and downstream geometric performance.
Xiaoyong Lu, Guobao Xiao, Dong Liang +1
Southeast University · Tongji University · Nanjing University of Aeronautics and Astronautics
While formal robustness verification has seen significant success in image classification, scaling these guarantees to object detection remains notoriously difficult due to complex non-linear coordinate transformations and Intersection-over-Union (IoU) metrics. As a fundamental step towards verifying complete detection pipelines, we introduce IoUCert, a novel formal verification framework designed specifically to overcome these core mathematical bottlenecks. By isolating the object localisation task in single-object settings, we propose a coordinate transformation that circumvents precision-degrading relaxations of non-linear box prediction functions. This approach allows us to optimise bounds directly with respect to anchor box offsets, enabling a novel Interval Bound Propagation method that derives optimal IoU bounds. We demonstrate that IoUCert enables, for the first time, the robustness verification of foundational, anchor-based architectures including tractable variants of SSD, YOLOv2, and YOLOv3 against various input perturbations, providing a rigorous theoretical basis for future end-to-end detector verification.
Benedikt Brückner, Alejandro J. Mercado, Yanghao Zhang +2