DS-SAC: Deterministic Density Search Consensus
- The paper introduces DS-SAC, a deterministic framework for robust estimation that replaces random minimal sampling with a dense residual search strategy.
- It employs a dual-residual approach using both distance metrics and signed residuals to partition data and refine model hypotheses via local and global exploration.
- Empirical evaluations on homography, fundamental, and essential matrix estimation demonstrate improved AUC, reduced pose error, and faster runtimes compared to random sampling methods.
Searching arXiv for the specified DS-SAC and related papers to ground the article in current sources. Density Search Sample Consensus (DS-SAC) is a deterministic robust estimation framework for geometric model fitting in computer vision that avoids repeated random minimal sampling by searching dense residual regions (Thapa et al., 4 Jul 2026). Introduced for homography, fundamental matrix, and essential matrix estimation, DS-SAC adheres to the standard consensus-maximization objective but replaces stochastic hypothesis generation with a procedure that starts from an initial model estimated from the available points, performs local exploration via forward and backward search, and then recursively partitions the point set using signed residuals to support global exploration (Thapa et al., 4 Jul 2026). In the cited literature, the name is distinct from DSAC, the differentiable counterpart of RANSAC for camera localization (Brachmann et al., 2016), and from DGSAC, a density-guided multi-model fitting pipeline based on Kernel Residual Density (Tiwari et al., 2020).
1. Definition and problem formulation
DS-SAC is designed for robust geometric model estimation from point correspondences, where the goal is to recover a parameter vector —such as a homography , a fundamental matrix , or an essential matrix —that explains as many input correspondences as possible despite outliers (Thapa et al., 4 Jul 2026). The method follows the consensus-maximization formulation
where is the inlier threshold and the indicator counts inliers whose residual falls within (Thapa et al., 4 Jul 2026).
Its primary score is inlier count. As a tie-breaker between hypotheses that yield the same inlier count, DS-SAC uses MSAC’s truncated residual score
$C_{\mathrm{MSAC}(\theta)=\sum_{i=1}^{n}\max\left(1-\frac{d^2(x_i,\theta)}{T^2},\,0\right),$
where is the task-specific distance and is the inlier threshold (Thapa et al., 4 Jul 2026). Final model selection is therefore the lexicographic maximum of inlier count and MSAC score (Thapa et al., 4 Jul 2026).
A central distinction is that DS-SAC needs two residual-related quantities. It uses a distance 0 for scoring, selecting inliers, and least-squares fitting, and a signed residual 1 for splitting the set into two partitions during global exploration (Thapa et al., 4 Jul 2026). The sign of 2 determines on which side of the partition each point lies. This suggests that DS-SAC is organized around a dual view of residuals: one metric for robust support measurement and one signed quantity for deterministic search-space decomposition.
2. Residual models for homography, fundamental matrix, and essential matrix
For homography estimation, DS-SAC considers homogeneous points 3 and 4 under the constraint
5
(Thapa et al., 4 Jul 2026). The method uses the reprojection error as distance,
6
while also noting the symmetric transfer error variant
7
(Thapa et al., 4 Jul 2026). For partitioning, DS-SAC uses a linearized algebraic signed residual derived from
8
namely
9
For the fundamental matrix, DS-SAC uses the epipolar constraint
0
with 1 of rank two (Thapa et al., 4 Jul 2026). The scoring distance is the Sampson distance,
2
and the signed residual is
3
(Thapa et al., 4 Jul 2026). The paper states that DS-SAC estimates 4 with the normalized eight-point algorithm for percentile-point optimization and applies bundle refinement thereafter (Thapa et al., 4 Jul 2026).
For the essential matrix, the epipolar constraint is again
5
with 6 of rank two and singular values 7 (Thapa et al., 4 Jul 2026). DS-SAC uses
8
(Thapa et al., 4 Jul 2026). It uses the eight-point algorithm with rank enforcement for percentile-point updates and the five-point solver for inlier optimization, both on normalized points (Thapa et al., 4 Jul 2026). Pose recovery decomposes 9 via SVD as 0, generates four 1 candidates using the canonical matrices 2 and 3, and selects the one with maximum points in front of both cameras by cheirality (Thapa et al., 4 Jul 2026).
3. Deterministic density search algorithm
The algorithmic framework eliminates random minimal sampling and instead combines local density search with recursive partitioning (Thapa et al., 4 Jul 2026). In a current partition 4, initially all points, the method first estimates
5
by least squares over the partition (Thapa et al., 4 Jul 2026). For homography this uses DLT; for the fundamental matrix, normalized eight-point; and for the essential matrix, normalized eight-point with rank enforcement, all with data normalization for stability (Thapa et al., 4 Jul 2026).
The forward search performs local inward exploration. Starting at 6, it progressively shrinks the percentile 7 by 8 until 9 (Thapa et al., 4 Jul 2026). At each percentile, it computes distances, selects the 0 smallest-residual points, re-estimates the model by least squares on that set, and scores the result using inlier count and MSAC score (Thapa et al., 4 Jul 2026). It then performs inlier optimization by reselecting inliers under threshold 1, enlarging the set to the top 2 closest points if necessary, and accepting a refined model if the score improves (Thapa et al., 4 Jul 2026). The best local model and the percentile at which it occurs are tracked as 3 and 4 (Thapa et al., 4 Jul 2026).
Backward search provides local outward exploration. It initializes the current model with 5, then increases the percentile from 6 to 7, for example 8, in steps of 9 (Thapa et al., 4 Jul 2026). The same percentile-points optimization and inlier optimization steps are repeated to search for wider support around the dense residual core discovered in forward search (Thapa et al., 4 Jul 2026). The paper characterizes this as balancing precision and recall: forward search shrinks support to a dense residual core, improving precision, while backward search expands around that core to recover additional inliers, improving recall (Thapa et al., 4 Jul 2026).
Global exploration is implemented by recursive signed-residual partitioning. Using 0, DS-SAC divides the partition into
1
and recurses on each valid child partition whose relative size satisfies 2 (Thapa et al., 4 Jul 2026). A global best model 3 is updated whenever a local best model improves the global score (Thapa et al., 4 Jul 2026). The implementation also includes boundary handling: if the best split would place the partition boundary outside the current search space, the method re-scans forward without inlier optimization and picks the smallest-kernel model whose boundary lies within 4, falling back to 5 if necessary (Thapa et al., 4 Jul 2026).
Post-tuning starts from 6 and progressively tightens thresholds using a schedule 7 with 8 (Thapa et al., 4 Jul 2026). For each threshold, the method forms inliers, re-fits the model, and accepts the update only if the score improves (Thapa et al., 4 Jul 2026). This sharpening step is described as improving geometry without sacrificing consensus (Thapa et al., 4 Jul 2026).
4. Complexity, parameters, and implementation characteristics
The paper analyzes the recursion as a binary tree over partitions and states that DS-SAC has polynomial complexity with respect to the number of points (Thapa et al., 4 Jul 2026). In the worst case of highly imbalanced splits, the tree height is approximately 9, and with 0 the total iteration count is bounded by
1
which for 2 yields 3, giving 4 complexity (Thapa et al., 4 Jul 2026). In the balanced case, the height is approximately 5, and the total iteration count is bounded by
6
hence 7 (Thapa et al., 4 Jul 2026).
Per-iteration cost is dominated by distance evaluation, selecting the 8 smallest distances, and least-squares re-fitting (Thapa et al., 4 Jul 2026). Distance evaluation is 9; selecting the smallest distances is $C_{\mathrm{MSAC}(\theta)=\sum_{i=1}^{n}\max\left(1-\frac{d^2(x_i,\theta)}{T^2},\,0\right),$0 with sorting or $C_{\mathrm{MSAC}(\theta)=\sum_{i=1}^{n}\max\left(1-\frac{d^2(x_i,\theta)}{T^2},\,0\right),$1 with selection; and DLT or eight-point re-fitting is $C_{\mathrm{MSAC}(\theta)=\sum_{i=1}^{n}\max\left(1-\frac{d^2(x_i,\theta)}{T^2},\,0\right),$2 for linear systems, while five-point inlier optimization incurs polynomial root finding and bundle updates add small constant factors in practice (Thapa et al., 4 Jul 2026). The paper notes that precomputation of linear terms reduces repeated work (Thapa et al., 4 Jul 2026).
The reported default parameters are $C_{\mathrm{MSAC}(\theta)=\sum_{i=1}^{n}\max\left(1-\frac{d^2(x_i,\theta)}{T^2},\,0\right),$3, $C_{\mathrm{MSAC}(\theta)=\sum_{i=1}^{n}\max\left(1-\frac{d^2(x_i,\theta)}{T^2},\,0\right),$4, and $C_{\mathrm{MSAC}(\theta)=\sum_{i=1}^{n}\max\left(1-\frac{d^2(x_i,\theta)}{T^2},\,0\right),$5 (Thapa et al., 4 Jul 2026). Thresholds are derived from chi-square statistics with expected noise $C_{\mathrm{MSAC}(\theta)=\sum_{i=1}^{n}\max\left(1-\frac{d^2(x_i,\theta)}{T^2},\,0\right),$6: for epipolar geometry, $C_{\mathrm{MSAC}(\theta)=\sum_{i=1}^{n}\max\left(1-\frac{d^2(x_i,\theta)}{T^2},\,0\right),$7, and for homography, $C_{\mathrm{MSAC}(\theta)=\sum_{i=1}^{n}\max\left(1-\frac{d^2(x_i,\theta)}{T^2},\,0\right),$8 (Thapa et al., 4 Jul 2026). Minimal solver sizes are four points for homography, eight points for the fundamental matrix, and five points for essential-matrix inlier optimization together with eight points for percentile optimization (Thapa et al., 4 Jul 2026). A plausible implication is that DS-SAC is parameterized to behave more like a deterministic search schedule than like an iteration-budgeted sampler.
The paper also reports that practical runtimes are competitive due to a few hundred iterations on average, approximately 465–490 across tasks (Thapa et al., 4 Jul 2026). This is presented as one reason the polynomial search remains practical.
5. Empirical evaluation and comparative performance
The evaluation covers ScanNet1500, PhotoTourism (IMC’20 validation), LaMAR CAB, 7Scenes, ETH3D (13 training scenes), and KITTI VO, totaling 39,592 image pairs spanning indoor, outdoor, driving, and AR scenarios (Thapa et al., 4 Jul 2026). Features and matches are produced by SuperPoint and LightGlue (Thapa et al., 4 Jul 2026). Hartley normalization is used for homography and fundamental matrix estimation, while for the essential matrix the pipeline uses camera normalization followed by Hartley normalization for the eight-point step (Thapa et al., 4 Jul 2026).
Relative pose error is defined as $C_{\mathrm{MSAC}(\theta)=\sum_{i=1}^{n}\max\left(1-\frac{d^2(x_i,\theta)}{T^2},\,0\right),$9, where 0 is the rotation angle difference and 1 is the angle between translation directions (Thapa et al., 4 Jul 2026). The reported metrics are AUC at 2, 3, and 4, median 5, average inliers, and runtime (Thapa et al., 4 Jul 2026). AUC is defined as the area under the recall-versus-threshold curve,
6
All baselines are evaluated with a fixed budget of 1000 iterations, whereas DS-SAC reports its average iterations (Thapa et al., 4 Jul 2026).
| Task | DS-SAC summary | Comparison stated in the paper |
|---|---|---|
| Homography | AUC@5°=26.74, AUC@10°=40.90, AUC@20°=56.38, median 7=3.87°, inliers=55.68, time=0.007 s | Improves significantly in AUC and median 8, and is fastest |
| Fundamental matrix | AUC@5°=44.38, AUC@10°=57.29, AUC@20°=68.68, median 9=2.06°, inliers=283.29, time=0.008 s | Improves AUC and median 0 while being faster than GC-RANSAC |
| Essential matrix | AUC@5°=51.29, AUC@10°=63.87, AUC@20°=74.35, median 1=1.72°, inliers=275.46, time=0.015 s | Highest AUC at all thresholds and much lower runtime; GC-RANSAC has slightly lower median 2 |
For homography, the best baselines reported are LO-RANSAC with AUC@10°=34.89 and GC-RANSAC with AUC@20°=50.35, while DS-SAC reaches 40.90 and 56.38, respectively, with median 3 and runtime 0.007 s (Thapa et al., 4 Jul 2026). For the fundamental matrix, GC-RANSAC is reported as the strongest baseline with AUC@10°=55.42, AUC@20°=66.38, median 4, and time 0.032 s, compared with DS-SAC’s 57.29, 68.68, 2.06°, and 0.008 s (Thapa et al., 4 Jul 2026). For the essential matrix, DS-SAC achieves the highest AUC at all thresholds and much lower runtime, while GC-RANSAC attains a slightly lower median pose error of 1.39° compared with DS-SAC’s 1.72° (Thapa et al., 4 Jul 2026).
Sensitivity studies report that smaller 5 and smaller 6 allow finer search and slightly higher AUC but increase iterations, while iterations decrease nearly linearly with increasing 7 and also drop with larger 8 (Thapa et al., 4 Jul 2026). Ablations show that removing backward search improves speed, for example to 0.005 s for the fundamental matrix, with marginal AUC drop, but essential matrix estimation loses more accuracy without backward search (Thapa et al., 4 Jul 2026). Without post-tuning, AUC and median 9 are slightly worse for the fundamental and essential matrix, while homography is largely unchanged (Thapa et al., 4 Jul 2026).
6. Relation to RANSAC, DSAC, and DGSAC
DS-SAC is presented as an alternative to stochastic robust estimators such as RANSAC, LO-RANSAC, MAGSAC, and GC-RANSAC (Thapa et al., 4 Jul 2026). Those methods repeatedly draw random minimal samples and rely on the probability of obtaining all-inlier samples, which deteriorates with higher outlier ratios and larger minimal sample sizes (Thapa et al., 4 Jul 2026). By contrast, DS-SAC is deterministic: it uses no random sampling, no iteration budget linked to outlier ratio, systematic local refinement via percentile-based residual selection and inlier optimization, and global coverage via recursive signed-residual partitioning (Thapa et al., 4 Jul 2026). The paper characterizes deterministic progression as reducing variance across runs (Thapa et al., 4 Jul 2026).
This deterministic DS-SAC should be distinguished from DSAC, introduced as “Differentiable SAmple Consensus,” a differentiable counterpart of RANSAC for deep learning pipelines (Brachmann et al., 2016). DSAC replaces deterministic hypothesis selection with a probabilistic selection over hypotheses using a softmax over scores, allowing optimization of expected task loss through REINFORCE-style gradients (Brachmann et al., 2016). The similarity in acronym can create confusion, but the underlying mechanisms are different: DS-SAC searches dense residual regions deterministically, whereas DSAC preserves a single-hypothesis selection paradigm while making it differentiable for end-to-end camera localization (Brachmann et al., 2016).
DS-SAC also differs from DGSAC, “Density Guided Sampling and Consensus,” which addresses robust multiple-model fitting using Kernel Residual Density, guided sampling, explanation scores, and model selection algorithms (Tiwari et al., 2020). DGSAC remains sampling-based, though guided and automatically stopped, whereas DS-SAC explicitly avoids repeated random minimal sampling and instead performs deterministic density search plus recursive signed-residual partitioning (Tiwari et al., 2020, Thapa et al., 4 Jul 2026). This suggests that the three similarly named methods occupy different methodological niches: differentiable robust selection in deep pipelines, density-guided multi-model fitting, and deterministic single-model consensus search.
7. Limitations, failure cases, and scope
The reported limitations of DS-SAC center on threshold sensitivity, partition quality, and geometric degeneracy (Thapa et al., 4 Jul 2026). Although MSAC tie-breaking mitigates threshold dependence, too-small 00 lowers recall and too-large 01 admits many outliers and hurts precision (Thapa et al., 4 Jul 2026). The signed-residual partitioning can also fail to isolate dense inlier modes when residual signs are largely random due to noise or severe mismatches, though the method mitigates this by choosing 02 after local optimization and by checking partition-boundary validity (Thapa et al., 4 Jul 2026).
For essential matrix estimation, the paper explicitly notes that GC-RANSAC achieved slightly lower median pose error, while DS-SAC optimized AUC and runtime (Thapa et al., 4 Jul 2026). It further states that incorporating spatial coherence could further improve DS-SAC’s median (Thapa et al., 4 Jul 2026). In highly degenerate geometries or when inlier support is very sparse, DS-SAC relies on residual density, and if no dense mode exists, both DS-SAC and RANSAC variants are challenged (Thapa et al., 4 Jul 2026).
The method’s scope is broad within single-model robust geometric estimation. The experiments cover homography, fundamental matrix, and essential matrix estimation on six large datasets (Thapa et al., 4 Jul 2026). The core ingredients—distance-based scoring, signed-residual partitioning, percentile-point optimization, inlier optimization, and recursive search—indicate a general-purpose deterministic alternative to stochastic consensus-based methods for problems where an appropriate signed residual can be defined (Thapa et al., 4 Jul 2026). A plausible implication is that the method’s applicability depends less on a specific minimal solver than on whether the residual structure admits stable density search and meaningful sign-based partitioning.