DeDoDe
Edstedt 2024 · Paper
One-line summary — DeDoDe (“Detect, Don’t Describe — Describe, Don’t Detect”) decouples keypoint detection from description, training the detector directly for 3D consistency from large-scale SfM tracks and the descriptor separately for mutual-nearest-neighbour matchability.
Problem
The core difficulty in learned keypoint detection is the learning objective: what makes a pixel a “good” keypoint? Previous learning-based methods (SuperPoint, DISK, SiLK) jointly learn descriptors with keypoints and treat detection as binary classification on descriptor mutual nearest neighbours — a proxy task that is “not guaranteed to produce 3D-consistent keypoints” and that ties the keypoints to one specific descriptor, complicating downstream usage. DeDoDe instead learns keypoints directly from 3D consistency, and gains compatibility (keypoints usable with arbitrary matchers) and modularity as side effects.
Method & architecture
Detector objective. A network outputs a log-density over the image, trained to maximize the likelihood of “good” keypoints:
The “ground truth” is SIFT detections that survived MegaDepth SfM reconstruction as 3D tracks. Since each image sees only a fraction of its tracks, pairs are sampled and the union of covisible detections (via MVS depth) is used.
Smooth two-view prior. Dirac deltas at track detections are blurred with a Gaussian ( px) plus a small uniform constant, warped across views with depth, and multiplied: — peaking on tracks detected in both images.
Semi-supervised posterior + top-k target. Because the base detector has insufficient recall, the prior is conditioned on the network’s own predictions, , letting DeDoDe discover keypoints SIFT missed. The target is binarized at the top detections (avoiding degenerate solutions), giving , plus a coverage regularizer with px so detections avoid unmatchable regions (e.g. sky). Inference simply takes the top- points, with no non-max suppression.
Descriptor, trained separately. A second network (no shared weights) maximizes the symmetric log-likelihood , where is a softmax over inner products of 256-dim normalized descriptions (temperature ) — evaluated at trained DeDoDe keypoints ( per image), so the intractable normalizer of joint methods disappears.
Architecture. Both nets use an ImageNet-pretrained VGG-19 encoder (strides 1–8, channels 64–512) with DKM-style depthwise-convolution refiner decoders that residually refine a dense logit/description grid across scales. DeDoDe-G adds frozen DINOv2 features at stride 14 with an extra decoder stage (dim 768). Detector: 100k steps, batch 8, 512×512, ~30 h on one A100; descriptor ~24 h; SotA evaluation at 784×784.
Results
- MegaDepth-1500 relative pose (MNN matching): DeDoDe-B 49.4 / 65.5 / 77.7 AUC@5°/10°/20° and DeDoDe-G 52.8 / 69.7 / 82.0 — vs DISK 35.0, SiLK 39.9, ALIKED 41.9, SuperPoint 31.7 at AUC@5° (gains of +17.8 over DISK, +12.9 over SiLK, +10.9 over ALIKED); DeDoDe-G matches LoFTR (52.8) with plain nearest-neighbour matching.
- IMC2022 (hidden test set, 30k keypoints): DeDoDe-B 72.9, DeDoDe-G 75.8 mAA@10 — vs DISK 64.8, SiLK 68.5 (+7.4), competitive with SuperPoint+SuperGlue (72.4).
- Detector repeatability (MegaDepth, 10k kpts, 0.1% threshold): DeDoDe 40.1 vs DISK* 32.6, ALIKED* 26.4, SiLK 21.2.
- Component swaps: SIFT/DeDoDe-B (41.1 AUC@5°) and DISK/DeDoDe-B (41.5) both beat the original SIFT (36.5) and DISK (35.0) pipelines — but trail full DeDoDe by ~8 points, showing detector and descriptor each contribute.
- Ablation: removing the coverage loss drops [email protected]% from 37.1 to 29.7; supervising directly on the prior (no posterior/top-k) drops it to 34.8.
Why it matters for SLAM
Keypoint quality bounds everything downstream in feature-based SLAM: triangulation, BA, relocalization. DeDoDe’s insight — supervise detection with 3D consistency rather than descriptor-matching proxies — gives keypoints that survive wide baselines and viewpoint change, which is exactly what long-term SLAM and mapping need. It also exemplifies the modern trend of decomposing the learned front-end into independently optimized, composable pieces that plug into matchers (e.g., LightGlue) and localization stacks.
Related
- SuperPoint
- DISK
- R2D2
- LightGlue
- RoMa — same group; frozen DINOv2 features used in DeDoDe-G
- Foundation models