DSAC++
Brachmann 2018 · Paper
One-line summary — “Learning less is more”: strips the DSAC pipeline down to a single learnable component — an FCN regressing scene coordinates — scored by a parameter-free soft inlier count, and shows it can be trained from RGB images and ground-truth poses alone, discovering scene geometry without any 3D model.
Problem
DSAC had three shortcomings. Its scoring CNN overfits — it memorizes where reprojection errors occur in the image, a pattern that does not generalize to unseen views. Its initialization requires scene coordinate ground truth from RGB-D data or a 3D scene model, which may not exist (especially outdoors, where reconstructions demand tedious parameter search). And its end-to-end training was unstable because pose-refinement gradients were computed by finite differences, giving high gradient variance. DSAC++ asks whether learning a single component of the localization pipeline suffices — and whether it can be learned from camera poses alone.
Method & architecture
The DSAC-style pipeline is kept — scene coordinate regression, hypothesis sampling via PnP from 4-tuples, probabilistic selection, refinement — but with only one learnable component:
- Fully convolutional coordinate network (VGG-style, ~30M params): maps a 640x480 image to 80x60 scene coordinates with 41x41 px receptive fields — dense predictions reusing computation, unlike DSAC’s independent patches.
- Soft inlier count replaces the Score CNN: hypothesis consensus is a sigmoid-smoothed inlier count over reprojection errors :
A hypothesis is selected via the softmax , where is auto-tuned by gradient descent on , with the Shannon entropy of — keeping the distribution broad so end-to-end training stays stable instead of collapsing.
- Three-step training: (1) initialize coordinates on targets — rendered from a 3D model if available, otherwise the constant-depth heuristic that merely disentangles camera views; (2) optimize reprojection error against ground-truth poses, — single-view constraints from which the network recovers true depth, i.e. discovers scene geometry with no 3D model; (3) end-to-end, minimizing the expected pose loss as in DSAC.
- Analytic refinement gradients: refinement is Gauss-Newton on inlier reprojection errors, , and its gradient is approximated by linearizing around the optimum : — replacing DSAC’s unstable finite differences.
Results
- 7Scenes (% frames within 5 cm / 5 deg, complete set): 76.1% with a 3D model — +13.6% over DSAC trained on RGB-D; DSAC trained from a rendered model drops another 6.6%, so DSAC++ without any 3D model (60.4%) still beats model-trained DSAC by 4.5%.
- 12Scenes: 96.4% with a 16.7% margin over DSAC; 60.9% without a 3D model, comparable to a SIFT+PnP baseline.
- Median errors: e.g. 7Scenes Chess 0.02 m / 0.5 deg; Cambridge King’s College 0.18 m / 0.3 deg, Great Court 0.40 m / 0.2 deg — roughly 10x better than the PoseNet variants on many scenes and about 2x better than feature-based Active Search; without a 3D model it still surpasses most model-based competitors (e.g. King’s College 0.23 m / 0.4 deg). Like DSAC, it fails on the order-of-magnitude larger Cambridge Street scene.
- Ablation: swapping only DSAC’s scoring CNN for the soft inlier count lifts 7Scenes 55.9% to 58.9% (Heads +19%, Stairs +8%) and 12Scenes 79.7% to 89.6% — score regression generalizes poorly, coordinate regression well.
Why it matters for SLAM
DSAC++ removed the biggest practical barrier to scene coordinate regression — the need for 3D ground truth — making the approach compatible with the output of any SLAM/SfM system that provides poses. Its recipe (single FCN + classical geometric solving, soft inlier scoring, analytic Gauss-Newton gradients, reprojection-based self-supervision) became the template adopted by DSAC* and the ACE family, and it demonstrated early that an implicit neural scene map can be discovered from single-view reprojection constraints alone — an idea that reappears throughout neural mapping.