<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Computer Vision | Chang Nie</title><link>https://changnie.top/tags/computer-vision/</link><atom:link href="https://changnie.top/tags/computer-vision/index.xml" rel="self" type="application/rss+xml"/><description>Computer Vision</description><generator>HugoBlox Kit (https://hugoblox.com)</generator><language>en-us</language><lastBuildDate>Sat, 14 Sep 2024 10:33:19 +0000</lastBuildDate><image><url>https://changnie.top/media/icon_hu_3dd7560279821d57.png</url><title>Computer Vision</title><link>https://changnie.top/tags/computer-vision/</link></image><item><title>Robust Multi-Model Fitting through Learning Neighbor Regions</title><link>https://changnie.top/publications/lnr/</link><pubDate>Sat, 14 Sep 2024 10:33:19 +0000</pubDate><guid>https://changnie.top/publications/lnr/</guid><description>&lt;h2 id="combinatorial-explosion-in-multi-model-fitting-why-blind-random-sampling-fails"&gt;Combinatorial explosion in multi-model fitting: Why blind random sampling fails&lt;/h2&gt;
&lt;p&gt;Multi-model fitting addresses a universal challenge across robotic navigation, 3D scene reconstruction, and spatial computing: real physical environments rarely contain a single clean geometric structure. Instead, dozens of intersecting planar walls, ground surfaces, and boundaries co-exist simultaneously, deeply corrupted by sensor noise and unassociated outliers.&lt;/p&gt;
&lt;p&gt;In classical robust estimation, instantiating a candidate geometric hypothesis requires only a minimal sample set of cardinality $m$—for example, $m=2$ points for fitting a 2D line, $m=3$ points for a 3D plane, or $m=8$ correspondences for an epipolar fundamental matrix.&lt;/p&gt;
&lt;p&gt;When researchers apply naive random sampling (as in standard RANSAC) to multi-structure scenes, the mathematical foundation of uniform sampling breaks down catastrophically. With dozens of structures co-existing under heavy background outliers, picking two points at random almost invariably draws points from two entirely different physical objects, or samples pure noise. The probability of randomly drawing $m$ points that all belong to the exact same physical structure collapses exponentially as the number of models grows. Yet under classical pipelines, every invalid sample pair is still fed into algebraic solvers and scored across the entire dataset. Computational budgets are overwhelmingly consumed by solving and evaluating hypotheses that were doomed from the start.&lt;/p&gt;
&lt;p&gt;Conversely, extending single-model fitters greedily—such as Sequential RANSAC, which fits one model, strips away its inliers, and repeats—introduces hard-assignment clustering distortions. Real structures often share points along intersections and boundaries; greedily stripping inliers deprives adjacent structures of necessary geometric support, causing severe model under-counting and missed detections.&lt;/p&gt;
&lt;p&gt;Three further constraints shaped what we built. The method has to work without being told how many models are present, which rules out a family of approaches that take that count as input. It has to run at a usable speed. And it has to transfer across tasks, because a multi-model fitter that has to be re-engineered per problem is not a general tool.&lt;/p&gt;
&lt;p&gt;
&lt;figure id="figure-learning-sits-at-the-two-decision-points-in-an-otherwise-classical-pipeline"&gt;
&lt;div class="flex justify-center"&gt;
&lt;div class="w-full"&gt;&lt;img
alt="A coarse stage screens minimal sets before the solver sees them, and a fine stage refines and scores what survives."
srcset="https://changnie.top/publications/lnr/pipeline_hu_be90a93e669e40d2.webp 320w, https://changnie.top/publications/lnr/pipeline_hu_f73f8df08ced02a8.webp 480w, https://changnie.top/publications/lnr/pipeline_hu_1c5eca38f8c6937b.webp 768w, https://changnie.top/publications/lnr/pipeline_hu_e2e0b360bb520386.webp 1024w, https://changnie.top/publications/lnr/pipeline_hu_5d3bdd6acc180ebc.webp 1080w"
sizes="(max-width: 480px) 100vw, (max-width: 768px) 90vw, (max-width: 1279px) 88vw, 928px"
src="https://changnie.top/publications/lnr/pipeline_hu_be90a93e669e40d2.webp"
width="1080"
height="561"
loading="lazy"
data-zoomable&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;a class="paper-image-original" href="https://changnie.top/publications/lnr/pipeline_hu_2f7965245a0e0ae8.webp" target="_blank" rel="noopener"&gt;View full-size image ↗&lt;/a&gt;
&lt;figcaption&gt;Learning sits at the two decision points in an otherwise classical pipeline.&lt;/figcaption&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 id="the-four-things-that-actually-go-wrong"&gt;The four things that actually go wrong&lt;/h2&gt;
&lt;p&gt;We organize the problem around four failure modes, and each component of the method answers one of them.&lt;/p&gt;
&lt;p&gt;The first is insufficient utilization of geometric features. Existing methods either rely on hand-designed criteria that only look at part of the geometry, or they are neural networks that never see it explicitly.&lt;/p&gt;
&lt;p&gt;The second is inefficient optimization caused by noise. Solver calls are spent on hypotheses that were hopeless from the start.&lt;/p&gt;
&lt;p&gt;The third is model overlap, which is the fundamental difference between fitting one model and fitting several, and which most formulations cannot even represent.&lt;/p&gt;
&lt;p&gt;The fourth is the non-differentiable pipeline. Discrete minimal-set sampling and the task-specific minimal solver both sit in the middle of the process, and neither has a gradient. Challenges arise in incorporating learning-based methods precisely because of this, and the two available escape routes are both unattractive: replace the exact solver with a differentiable relaxation and lose it, or use policy-gradient estimation and accept the variance.&lt;/p&gt;
&lt;h2 id="what-competing-methods-leave-unresolved"&gt;What competing methods leave unresolved&lt;/h2&gt;
&lt;p&gt;Greedy single-model extensions carry the hard-assignment problem described above. MultiRANSAC fits K models per iteration instead of one, which requires K as prior knowledge and becomes computationally inefficient as K grows, because finding several good models in a single iteration is genuinely difficult.&lt;/p&gt;
&lt;p&gt;Iterative hypothesis generators are the more sophisticated family, and their shared defect is temporal coupling. Because each new model is built on the results of previous iterations, errors accumulate through model overlap as the process proceeds. Our own ablation is honest about the tradeoff here: substituting a stronger learned sampler into LNR raises accuracy and makes the whole process considerably slower. We chose the cheaper option deliberately and we report what it costs.&lt;/p&gt;
&lt;p&gt;Clustering-style methods, including preference-set clustering and networks that classify minimal sets as valid or invalid, work well on the problems they target and ignore the reuse of data. Information gathered while evaluating one hypothesis is not carried into the evaluation of another.&lt;/p&gt;
&lt;p&gt;Another family replaces sampling heuristics with a global energy function over geometric errors and cluster regularity, or a convex relaxation of the assignment energy, or hypergraph mode-seeking. These formulations handle overlap by construction, and they rely on cost functions complex enough that they may not fully exploit the geometric information actually present in the data. That limits how well they carry across diverse and complex scenes.&lt;/p&gt;
&lt;p&gt;Efficient sampling methods that exploit parallel computation are strong, and they need the number of instances as prior information, which limits where they can be applied.&lt;/p&gt;
&lt;p&gt;Finally, end-to-end deep methods achieve good accuracy and operate as black boxes. That is a real obstacle to reliable deployment, and it is the specific thing we did not want to build.&lt;/p&gt;
&lt;h2 id="learn-at-the-decisions-condition-on-the-points"&gt;Learn at the decisions, condition on the points&lt;/h2&gt;
&lt;p&gt;Our approach is to keep the classical pipeline exactly as it is and put learning only where a decision is being made: before solving, to decide which minimal sets deserve a solver call, and after solving, to decide how each hypothesis should move and how good it is.&lt;/p&gt;
&lt;p&gt;The critical design choice is what the network is conditioned on. The learned quantities are functions of the geometric features of data points, not of the hypothesis parameters. That is what allows the sampler and the solver to stay in the pipeline as non-differentiable black boxes in the forward pass. No gradient has to pass through either of them.&lt;/p&gt;
&lt;p&gt;A precise statement is worth making, because it is easy to overstate. The solver is used during training: the labels for both classifiers come from comparing a solved hypothesis against the ground-truth instance, and the coarse labels come from solving the sampled sets. What does not happen is differentiation through the solver or the sampler. They are used forward-only.&lt;/p&gt;
&lt;p&gt;Each point is lifted by a Fourier feature mapping to improve spatial frequency encoding, passed through shared multilayer perceptrons implemented as point-wise convolutions, and max-pooled into a global descriptor. Point-wise and global features are concatenated into a 256-dimensional vector, so every point carries both its own local geometry and a summary of the scene. The coarse module needs that holistic view. The fine module, as it turns out, does not.&lt;/p&gt;
&lt;p&gt;
&lt;figure id="figure-overlap-is-representable-because-a-point-can-contribute-to-several-hypotheses"&gt;
&lt;div class="flex justify-center"&gt;
&lt;div class="w-full"&gt;&lt;img
alt="Some observations belong to two models at once, and the representation has to allow that."
srcset="https://changnie.top/publications/lnr/multi-line-results_hu_4c7c5dbbe18069f4.webp 320w, https://changnie.top/publications/lnr/multi-line-results_hu_96860f218d372428.webp 480w, https://changnie.top/publications/lnr/multi-line-results_hu_785cd933f1a76fc1.webp 768w, https://changnie.top/publications/lnr/multi-line-results_hu_5cb6560ba450474a.webp 1024w, https://changnie.top/publications/lnr/multi-line-results_hu_b8b95fb407a4088f.webp 1080w"
sizes="(max-width: 480px) 100vw, (max-width: 768px) 90vw, (max-width: 1279px) 88vw, 928px"
src="https://changnie.top/publications/lnr/multi-line-results_hu_4c7c5dbbe18069f4.webp"
width="1080"
height="793"
loading="lazy"
data-zoomable&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;a class="paper-image-original" href="https://changnie.top/publications/lnr/multi-line-results_hu_a16899d588b41d7a.webp" target="_blank" rel="noopener"&gt;View full-size image ↗&lt;/a&gt;
&lt;figcaption&gt;Overlap is representable because a point can contribute to several hypotheses.&lt;/figcaption&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 id="screening-before-solving"&gt;Screening before solving&lt;/h2&gt;
&lt;p&gt;The coarse module draws a large number of minimal sets at random, deliberately more than needed to ensure broad coverage, and predicts a confidence for each. Only the top-scoring sets reach the solver.&lt;/p&gt;
&lt;p&gt;Two things about this are worth dwelling on. The first is why the sampling stays random rather than becoming iterative. Random sampling avoids the error accumulation that iterative generators suffer from, and it preserves coverage across the whole observation set. It is a pragmatic choice rather than an optimal one, and we say so.&lt;/p&gt;
&lt;p&gt;The second is that the confidence is trained as a binary classification problem, which means the module learns to select promising minimal sets without any explicit degeneracy test. Classical pipelines hand-code checks to reject degenerate configurations. Here that rejection is learned from solved hypotheses compared against ground truth. We replaced a hand-written rule with a learned one, and the benefit is that it adapts to the data rather than to the person who wrote it.&lt;/p&gt;
&lt;p&gt;Removing the coarse module hurts significantly, because the fine network cannot cope with the resulting candidate volume. Pretraining the coarse module separately instead of training the two jointly also does worse, and the reason is the most interesting thing in the training design.&lt;/p&gt;
&lt;h2 id="judging-a-hypothesis-by-its-neighbourhood"&gt;Judging a hypothesis by its neighbourhood&lt;/h2&gt;
&lt;p&gt;For each surviving hypothesis we define a neighbour region: the data points within some range under a task-specific distance. Euclidean distance for lines, a directional distance for vanishing points, reprojection error for planes, the normalized epipolar constraint for motion. The points in that region are encoded, each point&amp;rsquo;s residual to the hypothesis is concatenated to its features, short regions are zero-padded so they can be batched, and two heads read the result.&lt;/p&gt;
&lt;p&gt;One head predicts an increment rather than a model. For a line it predicts a small change to each endpoint. For a vanishing point, a homography or a fundamental matrix it predicts a corresponding adjustment, and that adjustment is added to the coarse hypothesis. The network never invents a model from scratch. Verifying and correcting a guess is easier than generating one, so the classical solver generates and the network corrects.&lt;/p&gt;
&lt;p&gt;The other head predicts a score. This is where the paper takes a position that surprises people: consensus maximization does not favour the best model. Counting inliers is the standard proxy for hypothesis quality, and when models overlap it is the wrong proxy. Learning the score from the data around the hypothesis is what replaces it.&lt;/p&gt;
&lt;p&gt;The region representation is also what makes overlap representable at all. Two crossing lines have a shared neighbourhood near their intersection, and the points there sit inside both regions and count as evidence for both hypotheses. No hard assignment is made anywhere.&lt;/p&gt;
&lt;p&gt;And the fine module deliberately discards the global context that the coarse module relies on. Local details are more relevant for refining an individual hypothesis, and global information can introduce many irrelevant details that hinder the process. The same feature that helps screening hurts refinement. That asymmetry is a reusable coarse-to-fine principle, and it is the reason the two modules are not simply the same network applied twice.&lt;/p&gt;
&lt;p&gt;
&lt;figure id="figure-the-fine-module-scores-hypotheses-from-the-observations-around-them-rather-than-from-their-parameters-alone"&gt;
&lt;div class="flex justify-center"&gt;
&lt;div class="w-full"&gt;&lt;img
alt="Vanishing points are scored on the sphere, where geometric closeness means similarity."
srcset="https://changnie.top/publications/lnr/vanishing-points_hu_b356f243a44d4b97.webp 320w, https://changnie.top/publications/lnr/vanishing-points_hu_270d6fb37b9afbac.webp 480w, https://changnie.top/publications/lnr/vanishing-points_hu_f7d8b847151d73e0.webp 768w, https://changnie.top/publications/lnr/vanishing-points_hu_270eeae10cd1a56f.webp 1024w, https://changnie.top/publications/lnr/vanishing-points_hu_f2af219f03304c8.webp 1080w"
sizes="(max-width: 480px) 100vw, (max-width: 768px) 90vw, (max-width: 1279px) 88vw, 928px"
src="https://changnie.top/publications/lnr/vanishing-points_hu_b356f243a44d4b97.webp"
width="1080"
height="409"
loading="lazy"
data-zoomable&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;a class="paper-image-original" href="https://changnie.top/publications/lnr/vanishing-points_hu_f9346589774999e3.webp" target="_blank" rel="noopener"&gt;View full-size image ↗&lt;/a&gt;
&lt;figcaption&gt;The fine module scores hypotheses from the observations around them rather than from their parameters alone.&lt;/figcaption&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 id="deciding-how-many-models-there-are"&gt;Deciding how many models there are&lt;/h2&gt;
&lt;p&gt;The scored hypotheses are redundant. Several of them will describe the same structure, and the answer should mention it once. We adapted non-maximum suppression from object detection to this setting, replacing intersection-over-union with a geometric notion of similarity: endpoint distance and angle for lines, proximity on the Gaussian sphere for vanishing points, and similarity between the per-point distance vectors for homographies and fundamental matrices.&lt;/p&gt;
&lt;p&gt;This is also the mechanism that decides how many models the scene contains. The count is an output of suppression rather than an input to the method, which is what we wanted from the start.&lt;/p&gt;
&lt;h2 id="how-the-two-modules-train-each-other"&gt;How the two modules train each other&lt;/h2&gt;
&lt;p&gt;Three losses. The coarse confidence and the fine score are both binary cross-entropy against labels derived from similarity to the ground-truth instance. The refinement head is trained with a smooth L1 objective on the parameter increments.&lt;/p&gt;
&lt;p&gt;The coupling is the part worth explaining. The fine-level loss back-propagates into the coarse-level module, so the selector learns to prioritize hypotheses that the fine module is able to work with, rather than simply matching a predefined label. The two modules share the encoded region features, which is what makes the gradient path exist. Training jointly beats pretraining the coarse module, and the reason is that the fine signal reshapes what good means at the coarse stage.&lt;/p&gt;
&lt;p&gt;One further observation from the ablations that we did not expect. Training only on harder scenes, with more lines present, matched or beat training on easier ones, and we attribute this to the greater data variability acting as a regularizer. The same effect appeared more weakly for the baseline sampler we compared against.&lt;/p&gt;
&lt;h2 id="what-we-take-from-this"&gt;What we take from this&lt;/h2&gt;
&lt;p&gt;Decouple learning from non-differentiable components by changing what you condition on rather than by making them differentiable. That refusal is the strongest methodological statement in this work, and it is what preserves the exact solver.&lt;/p&gt;
&lt;p&gt;Optimize a selector for downstream compatibility rather than for its own proxy label. Pre-training loses information that joint training keeps.&lt;/p&gt;
&lt;p&gt;Consensus is not quality. When models overlap, inlier counting is the wrong measure, and assuming it is right is what causes models to be under-counted.&lt;/p&gt;
&lt;p&gt;The value of a feature depends on the stage. Global context helps screening and hurts refinement.&lt;/p&gt;
&lt;p&gt;And model the multiplicity structurally. If the interface forces each point into one model, no amount of training will represent two.&lt;/p&gt;
&lt;h2 id="what-it-assumes"&gt;What it assumes&lt;/h2&gt;
&lt;p&gt;The classifiers need supervision in the form of ground-truth instances. Behaviour in a domain with no ground-truth models is not something we characterize.&lt;/p&gt;
&lt;p&gt;The region radius and the sampling budget are task-dependent quantities that we do not specify how to set beyond that they vary, and the suppression thresholds are not stated either.&lt;/p&gt;
&lt;p&gt;Transfer across tasks means re-deriving four task-specific pieces: the region distance metric, the solver, the refinement parameterization, and the suppression similarity. That is real per-task engineering, and we do not claim zero-shot adaptation.&lt;/p&gt;
&lt;p&gt;Zero-padding is our only mechanism for variable-size neighbourhoods, and whether it dilutes the encoding for regions with few points is not something we examined.&lt;/p&gt;
&lt;p&gt;And random sampling is a tradeoff rather than an optimum. Our own ablation shows a better sampler would improve accuracy, and we did not resolve whether a cheap learned sampler could get both.&lt;/p&gt;
&lt;h2 id="why-keep-the-two-step-pipeline"&gt;Why keep the two-step pipeline&lt;/h2&gt;
&lt;p&gt;We kept the established two-step strategy for a specific reason: interpretability. Numerical methods have inherent interpretability and clearly defined application scopes, and they struggle to fully exploit the geometric features of the data. End-to-end deep methods perform well and cannot tell you how they got there.&lt;/p&gt;
&lt;p&gt;Because LNR keeps the pipeline, its outputs are explicit geometric models. The network accepts generic unordered data points, covering image correspondences, 3D point clouds and pixel coordinates, and the loss operates on geometric features rather than on hypotheses. That is what maintains compatibility with a broad spectrum of solvers and sampling processes, differentiable or not.&lt;/p&gt;
&lt;p&gt;The stated ambition is modest by design. We hope this introduces a new idea for approaching multi-model fitting in a learned way, and we would rather have a method whose behaviour can be interrogated than one whose accuracy we cannot explain.&lt;/p&gt;</description></item><item><title>DiffSAC: Diffusion-guided Sampling for Consensus-based Robust Estimation</title><link>https://changnie.top/publications/diffsac/</link><pubDate>Sat, 31 Aug 2024 11:15:11 +0000</pubDate><guid>https://changnie.top/publications/diffsac/</guid><description>&lt;h2 id="the-expensive-part-is-not-the-sampling"&gt;The expensive part is not the sampling&lt;/h2&gt;
&lt;p&gt;Sample consensus is the standard answer to robust estimation, and it has one structural property worth stating before anything else: a candidate set is not just proposed, it is spent. Every minimum set has to be solved into a model and then scored against all the observations before you know whether it was any good. With a few thousand points and a budget of a few thousand iterations, almost all of that work goes into combinations that were never going to produce the right model.&lt;/p&gt;
&lt;p&gt;In geometric estimation, a minimal sample set is the smallest subset of observations required to compute model parameters uniquely: fitting a spatial line requires $s=2$ points, fitting a 3D plane requires $s=3$ points, estimating a homography requires $s=4$ correspondence pairs, and solving for a two-view fundamental matrix using the normalized 8-point algorithm requires $s=8$ pairs (or $s=7$ for the non-linear algebraic variant). Standard RANSAC draws these samples uniformly at random. According to binomial probability, if the dataset contains an outlier ratio $\epsilon \in (0, 1)$, the theoretical number of random sampling iterations $K$ required to ensure with confidence probability $p$ (typically $p=0.99$) that at least one clean, all-inlier minimal set is drawn is given by:&lt;/p&gt;
$$K = \frac{\ln(1 - p)}{\ln\left(1 - (1 - \epsilon)^s\right)}$$&lt;p&gt;Under moderate outlier contamination, $K$ remains tractable. However, in challenging unconstrained robotic environments featuring severe visual repetition, reflective surfaces, or extreme dynamic clutter, outlier ratios frequently exceed $\epsilon = 0.8$ or $0.9$. Under these conditions, the combinatorial denominator collapses catastrophically. When estimating an 8-point fundamental matrix ($s=8$) with $\epsilon = 0.8$, the probability of drawing an all-inlier minimal set in a single random trial is merely $(1 - \epsilon)^s = (0.2)^8 \approx 2.56 \times 10^{-6}$. To guarantee a 99% success rate, the system theoretically mandates over &lt;strong&gt;1.8 million iterations&lt;/strong&gt;. Even when practitioners enforce an empirical cap of several thousand iterations, the overwhelming majority of computational cycles are expended solving algebraically ill-conditioned models and calculating residual distances across thousands of points for hypotheses that were physically doomed from inception.&lt;/p&gt;
&lt;p&gt;Furthermore, uniform random sampling is entirely oblivious to geometric conditioning. Two feature correspondences situated in close spatial proximity may be individually accurate, but numerically they span a near-zero spatial baseline, yielding a degenerate or numerically unstable model. Similarly, planar coplanar correspondences in two-view geometry induce fundamental matrix degeneracies. Uniform random sampling cannot evaluate the joint compatibility of a set of points as an integrated geometric entity; it merely aggregates independent random draws.&lt;/p&gt;
&lt;h2 id="critical-analysis-of-prior-heuristics"&gt;Critical Analysis of Prior Heuristics&lt;/h2&gt;
&lt;p&gt;Over the past two decades, extensive research has attempted to inject intelligence into sample generation, broadly bifurcating into three methodologies:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Prioritized Sampling and Local Neighborhood Heuristics&lt;/strong&gt;: PROSAC sorts correspondence pairs by local matching metrics (such as nearest-neighbor distance ratios), drawing preferentially from top-ranked candidates. NAPSAC and Progressive NAPSAC assume inliers exhibit spatial proximity in image space, drawing samples within localized spatial balls. While effective in benign settings, these heuristics exhibit distinct failure modes: high feature similarity does not prevent geometric degeneracy, and restricting samples to tight local balls sacrifices wide-baseline triangulation geometry, collapsing when structural textures (e.g., repeating window grids or tiled floors) form locally coherent yet globally false matches.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Post-Hypothesis Refinement and Local Optimization&lt;/strong&gt;: Algorithms such as LO-RANSAC, GC-RANSAC, and MAGSAC++ focus on the opposite phase of the estimation pipeline. Rather than altering how initial minimal sets are drawn, they accept standard random sampling and optimize the model once a promising candidate emerges—via graph-cut spatial clustering, iteratively reweighted least-squares, or marginalizing across continuous noise thresholds. These post-refinement tools are highly effective, and we actively integrate them into our downstream pipeline; however, they leave the primary bottleneck unaddressed: the astronomical cost of discovering that very first high-quality hypothesis within extreme outlier regimes.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;End-to-End Differentiable RANSAC (DSAC Frameworks)&lt;/strong&gt;: DSAC and its successors relax the discrete hypothesis selection step into a continuous, differentiable probabilistic formulation, enabling end-to-end backpropagation. While theoretically elegant, direct policy gradient estimators behave as opaque black boxes in mission-critical robotics. When an autonomous vehicle or SLAM frontend experiences an unexpected trajectory jump, engineers cannot trace which specific correspondences caused the degenerate estimate. Differentiable models lack the modular, verifiable audit trail that production systems demand.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;These limitations prompted our foundational inquiry: &lt;strong&gt;Can we reformulate minimal set sampling from passive, stochastic trial-and-error into goal-directed, conditional probabilistic generation?&lt;/strong&gt; Instead of attempting to replace proven closed-form algebraic solvers with neural networks, we task a generative model with the hardest component of the problem: directly sampling high-quality, mutually compatible minimal sets.&lt;/p&gt;
&lt;h2 id="generating-candidate-sets-instead-of-guessing"&gt;Generating Candidate Sets Instead of Guessing&lt;/h2&gt;
&lt;p&gt;DiffSAC reconceptualizes hypothesis generation as reverse sampling from a Geometry-Conditioned Diffusion Model. If a neural network can model the posterior probability distribution of minimal sets that reliably yield correct models given an input observation cloud, inference reduces to generating a compact batch of candidate sets (e.g., 10 to 20 candidates). Every candidate is mathematically guaranteed to exhibit high all-inlier probability and stable numerical conditioning, which are subsequently resolved by deterministic classical solvers and evaluated via consensus scoring.&lt;/p&gt;
&lt;p&gt;This paradigm establishes a direct conceptual parallel to text-to-image diffusion models. In text-to-image synthesis, a single conditioning prompt generates multiple diverse, photorealistic images from different random noise seeds, enabling users to select the most coherent realization. DiffSAC applies identical reasoning to geometric estimation: given an identical cloud of noisy correspondences, injecting independent Gaussian noise vectors into the reverse diffusion chain yields a small portfolio of diverse, non-degenerate minimal sets in parallel.&lt;/p&gt;
&lt;p&gt;Critically, this formulation completely bypasses the computational latency that traditionally burdens generative diffusion models in robotics. In image generation, diffusion models denoise high-dimensional tensors containing millions of continuous pixels across dozens of autoregressive steps. In DiffSAC, by contrast, the generative target is merely a one-dimensional continuous confidence scalar per observation. For a typical visual keypoint set containing 2,000 matches, the total state vector is only 2,000 dimensions. Coupled with high-order ODE solvers, the complete reverse diffusion chain executes in 10 to 15 milliseconds on modern GPUs—an overhead that is dramatically outweighed by the computational savings achieved by eliminating hundreds of thousands of full-dataset model evaluations.&lt;/p&gt;
&lt;p&gt;The pivotal theoretical abstraction centers on the definition of confidence: &lt;strong&gt;we define confidence not as an isolated measure of whether an individual point is an inlier, but as a joint set-level property measuring whether an observation belongs to a well-conditioned, mutually consistent minimal set&lt;/strong&gt;.&lt;/p&gt;
&lt;h2 id="conditional-diffusion-process-and-mathematical-formulation"&gt;Conditional Diffusion Process and Mathematical Formulation&lt;/h2&gt;
&lt;p&gt;Let the input geometric observation set be denoted by $\chi = \{x_i, d_i\}_{i=1}^N$, where $x_i \in \mathbb{R}^d$ represents spatial coordinates (e.g., 2D image coordinates or 3D point positions) and $d_i \in \mathbb{R}^{d_f}$ denotes local appearance feature descriptors (e.g., SuperPoint or SIFT embeddings).&lt;/p&gt;
&lt;p&gt;Let $\boldsymbol{c}_0 \in [0, 1]^N$ represent the ideal target confidence field over the observation cloud. In continuous-time diffusion formulations, the forward corruption process is governed by an Ito Stochastic Differential Equation (SDE) that progressively diffuses $\boldsymbol{c}_0$ into standard Gaussian white noise over continuous time $t \in [0, 1]$:&lt;/p&gt;
$$\mathrm{d}\boldsymbol{c}_t = \boldsymbol{f}(\boldsymbol{c}_t, t)\mathrm{d}t + g(t)\mathrm{d}\boldsymbol{w}$$&lt;p&gt;The corresponding reverse denoising trajectory is defined by the Probability Flow Ordinary Differential Equation (ODE):&lt;/p&gt;
$$\mathrm{d}\boldsymbol{c}_t = \left[ \boldsymbol{f}(\boldsymbol{c}_t, t) - \frac{1}{2} g(t)^2 \nabla_{\boldsymbol{c}_t} \log p_t(\boldsymbol{c}_t \mid \chi) \right] \mathrm{d}t$$&lt;p&gt;Where the conditional score function $\nabla_{\boldsymbol{c}_t} \log p_t(\boldsymbol{c}_t \mid \chi)$ is approximated by a parameterized neural denoiser $\boldsymbol{s}_\theta(\boldsymbol{c}_t, t, \chi)$. Denoising is strictly conditioned on the empirical geometric observations $\chi$, anchoring the trajectory to actual epipolar geometry constraints rather than unconstrained prior hallucinations.&lt;/p&gt;
&lt;p&gt;During supervised training, ground-truth geometry provides the supervisory signal $\boldsymbol{c}_0$: given a known true model, the system samples a minimal set of verified inliers that yields a well-conditioned algebraic solve, setting their target confidence to 1 while assigning all remaining points 0. The denoiser is trained via an $x_0$-prediction formulation to predict the clean confidence field $\hat{\boldsymbol{c}}_\theta(\boldsymbol{c}_t, t, \chi)$ directly, minimizing the Mean Squared Error (MSE) objective:&lt;/p&gt;
$$\mathcal{L}_{\text{diff}}(\theta) = \mathbb{E}_{t, \boldsymbol{c}_0, \boldsymbol{\epsilon}}\left[ \left\| \hat{\boldsymbol{c}}_\theta(\boldsymbol{c}_t, t, \chi) - \boldsymbol{c}_0 \right\|_2^2 \right]$$&lt;p&gt;This objective forces the network to learn which subsets of observations cooperatively eliminate algebraic singularities under varying noise corruptions.&lt;/p&gt;
&lt;p&gt;
&lt;figure id="figure-forward-corruption-supplies-training-targets-reverse-diffusion-generates-candidate-minimum-sets"&gt;
&lt;div class="flex justify-center"&gt;
&lt;div class="w-full"&gt;&lt;img
alt="A noisy confidence field is refined into a geometry-conditioned sampling proposal."
srcset="https://changnie.top/publications/diffsac/confidence-diffusion_hu_3f620701b2327d9.webp 320w, https://changnie.top/publications/diffsac/confidence-diffusion_hu_fa0a8302f25b041d.webp 480w, https://changnie.top/publications/diffsac/confidence-diffusion_hu_2130be9b289377d0.webp 768w, https://changnie.top/publications/diffsac/confidence-diffusion_hu_860b9b1743435fa.webp 1024w, https://changnie.top/publications/diffsac/confidence-diffusion_hu_6e66f8d99f34dc0e.webp 1080w"
sizes="(max-width: 480px) 100vw, (max-width: 768px) 90vw, (max-width: 1279px) 88vw, 928px"
src="https://changnie.top/publications/diffsac/confidence-diffusion_hu_3f620701b2327d9.webp"
width="1080"
height="394"
loading="lazy"
data-zoomable&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;a class="paper-image-original" href="https://changnie.top/publications/diffsac/confidence-diffusion_hu_54febe50a7d8c53c.webp" target="_blank" rel="noopener"&gt;View full-size image ↗&lt;/a&gt;
&lt;figcaption&gt;Forward corruption supplies training targets; reverse diffusion generates candidate minimum sets.&lt;/figcaption&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 id="permutation-invariant-transformer-denoiser-architecture"&gt;Permutation-Invariant Transformer Denoiser Architecture&lt;/h2&gt;
&lt;p&gt;In geometric perception, the ordering of feature points in an input array is entirely arbitrary. Imposing fixed coordinate orderings or 1D convolutions introduces spurious sequential biases and prevents models from handling varying numbers of observations $N$.&lt;/p&gt;
&lt;p&gt;To preserve physical validity, we construct the denoiser as a &lt;strong&gt;Transformer without positional encodings&lt;/strong&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Feature Embedding&lt;/strong&gt;: Each observation combines geometric coordinates $x_i$, appearance descriptors $d_i$, and the current noisy confidence scalar $c_{t, i}$ into a unified vector, projected through a multi-layer perceptron (MLP) into a latent representation $z_i^{(0)} \in \mathbb{R}^D$;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;All-to-All Self-Attention&lt;/strong&gt;: Latent tokens pass through stacked self-attention and cross-attention blocks. The self-attention matrix:
$$\boldsymbol{A} = \text{Softmax}\left(\frac{\boldsymbol{Q}\boldsymbol{K}^T}{\sqrt{d_k}}\right)$$
enables every observation to adjust its confidence dynamically based on the geometric distances, disparity gradients, and appearance similarities of all other candidates in the cloud. This global receptive field is precisely what evaluates multi-point geometric compatibility;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Strict Permutation Equivariance&lt;/strong&gt;: By omitting positional encodings, the network satisfies formal equivariance: for any permutation matrix $\boldsymbol{P} \in \mathbb{R}^{N \times N}$, $\hat{\boldsymbol{c}}_\theta(\boldsymbol{P}\boldsymbol{c}_t, t, \boldsymbol{P}\chi) = \boldsymbol{P}\hat{\boldsymbol{c}}_\theta(\boldsymbol{c}_t, t, \chi)$. Shuffling the input array guarantees an identical, co-permuted confidence output.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Ablation benchmarks confirm that replacing the Transformer with PointNet++ or k-NN graph convolutions (DGCNN) severely degrades wide-baseline generalization, proving that all-to-all attention is essential for resolving long-range geometric dependencies across wide camera baselines.&lt;/p&gt;
&lt;p&gt;
&lt;figure id="figure-no-positional-encoding-is-used-preserving-permutation-invariance"&gt;
&lt;div class="flex justify-center"&gt;
&lt;div class="w-full"&gt;&lt;img
alt="The Transformer denoiser jointly reasons over observations and current confidence."
srcset="https://changnie.top/publications/diffsac/denoiser-network_hu_ea5b71ebca90a769.webp 320w, https://changnie.top/publications/diffsac/denoiser-network_hu_4c856720a55419a1.webp 480w, https://changnie.top/publications/diffsac/denoiser-network_hu_1b6e5e5ba01bc28f.webp 768w, https://changnie.top/publications/diffsac/denoiser-network_hu_e90a9425104ed78b.webp 1024w, https://changnie.top/publications/diffsac/denoiser-network_hu_723c31d7d52ab7c1.webp 1080w"
sizes="(max-width: 480px) 100vw, (max-width: 768px) 90vw, (max-width: 1279px) 88vw, 928px"
src="https://changnie.top/publications/diffsac/denoiser-network_hu_ea5b71ebca90a769.webp"
width="1080"
height="494"
loading="lazy"
data-zoomable&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;a class="paper-image-original" href="https://changnie.top/publications/diffsac/denoiser-network_hu_11f3c3ff9a25477b.webp" target="_blank" rel="noopener"&gt;View full-size image ↗&lt;/a&gt;
&lt;figcaption&gt;No positional encoding is used, preserving permutation invariance.&lt;/figcaption&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 id="fast-inference-batch-parallel-diffusion-and-consensus-verification"&gt;Fast Inference: Batch-Parallel Diffusion and Consensus Verification&lt;/h2&gt;
&lt;p&gt;At test time, DiffSAC executes an efficient, highly parallelized pipeline:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Batch Parallel Initialization&lt;/strong&gt;: The observation cloud $\chi$ is replicated $B$ times in GPU memory (typically $B=20$). Each batch replica is initialized with an independent standard Gaussian noise vector $\boldsymbol{c}_1^{(b)} \sim \mathcal{N}(\mathbf{0}, \boldsymbol{I})$;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;High-Order Numerical ODE Solvers&lt;/strong&gt;: Invoking DPM-Solver++ compresses the reverse trajectory from hundreds of steps down to 10 to 15 discrete evaluation steps, executing concurrently across all $B$ replicas within 12 milliseconds;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Top-k Hard Extraction&lt;/strong&gt;: From each refined confidence field $\boldsymbol{c}_0^{(b)}$, the system selects the $s$ observations with the highest confidence values via a hard &lt;code&gt;Top-k&lt;/code&gt; operator, yielding $B$ candidate minimal sets $\mathcal{S}^{(b)}$;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Deterministic Algebraic Solves &amp;amp; Consensus Scoring&lt;/strong&gt;: Closed-form solvers (e.g., SVD for line and plane fitting, normalized 8-point algorithm for fundamental matrices) solve for hypotheses $\mathcal{M}^{(b)}$. Each model is scored against all observations using standard consensus metrics (such as MSAC or truncated M-estimator residuals), selecting the hypothesis with the highest inlier support. Finally, the winning model is refit over its entire consensus set.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;This split—stochasticity at initialization, determinism at selection—is fundamental. Independent noise seeds allow the diffusion process to explore distinct modal basins of the conditional distribution. If one candidate encounters a localized singularity, alternative parallel chains provide robust, non-degenerate solutions, eliminating single-point failure modes.&lt;/p&gt;
&lt;p&gt;
&lt;figure id="figure-the-generated-confidence-changes-which-observations-enter-the-minimum-set"&gt;
&lt;div class="flex justify-center"&gt;
&lt;div class="w-full"&gt;&lt;img
alt="Confidence refinement for a line-fitting proposal."
srcset="https://changnie.top/publications/diffsac/line-refinement_hu_5130d92e6e9da1b9.webp 320w, https://changnie.top/publications/diffsac/line-refinement_hu_c8a9d4cb00ff108c.webp 480w, https://changnie.top/publications/diffsac/line-refinement_hu_5f05ced6ab802c5a.webp 768w, https://changnie.top/publications/diffsac/line-refinement_hu_89b554dcc7a6f73.webp 1024w, https://changnie.top/publications/diffsac/line-refinement_hu_88f055b6fe127156.webp 1080w"
sizes="(max-width: 480px) 100vw, (max-width: 768px) 90vw, (max-width: 1279px) 88vw, 928px"
src="https://changnie.top/publications/diffsac/line-refinement_hu_5130d92e6e9da1b9.webp"
width="1080"
height="487"
loading="lazy"
data-zoomable&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;a class="paper-image-original" href="https://changnie.top/publications/diffsac/line-refinement_hu_97511452ae75c998.webp" target="_blank" rel="noopener"&gt;View full-size image ↗&lt;/a&gt;
&lt;figcaption&gt;The generated confidence changes which observations enter the minimum set.&lt;/figcaption&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;figure id="figure-conditioned-confidence-proposals-feed-the-classical-two-view-geometry-pipeline"&gt;
&lt;div class="flex justify-center"&gt;
&lt;div class="w-full"&gt;&lt;img
alt="Image correspondences selected through diffusion refinement."
srcset="https://changnie.top/publications/diffsac/fundamental-refinement_hu_5cf73ed0f1f7d777.webp 320w, https://changnie.top/publications/diffsac/fundamental-refinement_hu_615c8bc942db4a78.webp 480w, https://changnie.top/publications/diffsac/fundamental-refinement_hu_3889868ed7c93f0f.webp 768w, https://changnie.top/publications/diffsac/fundamental-refinement_hu_c2c03c2619d9878f.webp 986w"
sizes="(max-width: 480px) 100vw, (max-width: 768px) 90vw, (max-width: 1279px) 88vw, 928px"
src="https://changnie.top/publications/diffsac/fundamental-refinement_hu_5cf73ed0f1f7d777.webp"
width="986"
height="1080"
loading="lazy"
data-zoomable&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;a class="paper-image-original" href="https://changnie.top/publications/diffsac/fundamental-refinement_hu_a818e5d600642638.webp" target="_blank" rel="noopener"&gt;View full-size image ↗&lt;/a&gt;
&lt;figcaption&gt;Conditioned confidence proposals feed the classical two-view geometry pipeline.&lt;/figcaption&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 id="the-decisive-ablation-why-iterative-diffusion-is-irreplaceable"&gt;The Decisive Ablation: Why Iterative Diffusion Is Irreplaceable&lt;/h2&gt;
&lt;p&gt;When evaluating DiffSAC, a natural skepticism arises: Why employ an iterative diffusion process? Why not train a feedforward regression network to predict the confidence vector directly in a single forward pass?&lt;/p&gt;
&lt;p&gt;To resolve this question definitively, we conducted a direct ablation: retaining the identical Transformer backbone, loss function, and training dataset, but eliminating the noise schedule and training the network to regress confidence values $\hat{\boldsymbol{c}}$ from clean observations $\chi$ in a single step.&lt;/p&gt;
&lt;p&gt;The empirical disparity was stark:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The single-step feedforward regressor produced diffuse, poorly separated confidence distributions. It consistently failed to establish sharp contrast between true inliers and degenerate near-inliers, resulting in candidate sets heavily contaminated by outliers;&lt;/li&gt;
&lt;li&gt;In contrast, the iterative reverse diffusion process exhibited systematic self-correcting dynamics: early steps leveraged global attention to purge obvious outlier matches; intermediate steps pruned geometrically degenerate configurations (such as collinear points or negligible parallax); and terminal steps rapidly polarized confidence into a sharp, decisive set of high-leverage inlier landmarks.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This comparison isolates the true driver of performance: &lt;strong&gt;iterative diffusion succeeds not because of added stochasticity, but because it decomposes an intractable high-order combinatorial search problem into a sequence of smooth, gradient-guided trajectory refinements&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Furthermore, because DiffSAC preserves standard algebraic solvers and consensus scoring, it integrates seamlessly with existing local optimization frameworks. Feeding DiffSAC candidate hypotheses into LO-RANSAC for secondary graph-cut refinement produces compounding accuracy improvements, uniting generative global sampling with classical local convergence.&lt;/p&gt;
&lt;h2 id="comprehensive-benchmark-evaluation-and-system-boundaries"&gt;Comprehensive Benchmark Evaluation and System Boundaries&lt;/h2&gt;
&lt;p&gt;We validated DiffSAC across synthetic stress tests and extensive real-world benchmarks, including ScanNet, MegaDepth, and PhotoTourism. Tasks encompassed line fitting, 3D planar segmentation, fundamental/essential matrix estimation, and homography recovery:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Under extreme 80% synthetic outlier contamination, classical RANSAC achieved less than 15% estimation success within 5,000 iterations. DiffSAC achieved a 94% success rate with only 20 candidate evaluations, reducing average rotation and translation errors by an order of magnitude;&lt;/li&gt;
&lt;li&gt;In real-world wide-baseline scenes with repetitive architectural textures, DiffSAC dramatically suppressed degenerate models, outperforming PROSAC, NG-RANSAC, and MAGSAC++ in pose estimation AUC metrics.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;We also explicitly state the system&amp;rsquo;s operational boundaries:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Model Specialization vs. Universality&lt;/strong&gt;: Current models are trained for specific geometric degrees of freedom (e.g., separate network weights for homographies versus essential matrices). Developing a single unified foundation model capable of conditioning on arbitrary geometric constraints remains an active frontier;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Computational Hardware Requirements&lt;/strong&gt;: While DPM-Solver++ reduces inference to 10-15 steps, all-to-all attention across thousands of points requires GPU tensor parallelism. On resource-constrained micro-controllers or low-power embedded platforms lacking GPU acceleration, running Transformer diffusion chains requires model pruning and INT8 quantization.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="engineering-philosophy-reclaiming-auditability-in-learned-geometry"&gt;Engineering Philosophy: Reclaiming Auditability in Learned Geometry&lt;/h2&gt;
&lt;p&gt;The core thesis of DiffSAC is an intentional defense of modular engineering in deep learning: &lt;strong&gt;assign neural networks to solve difficult, high-dimensional pattern recognition and combinatorial sampling, while entrusting deterministic classical algorithms with well-understood algebraic solving and residual consensus verification&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Discovering well-conditioned inlier subsets among tens of thousands of noisy correspondence candidates is a non-convex, combinatorial search problem where deep learning excels. Conversely, calculating model parameters from a minimal set and measuring reprojection residuals are analytical, closed-form operations that neural networks should never approximate.&lt;/p&gt;
&lt;p&gt;This disciplined separation delivers exceptional estimation accuracy while preserving absolute engineering interpretability. Whenever an anomaly occurs, practitioners can inspect the confidence field, examine the condition number of the minimal set matrix, and verify the algebraic consensus curve, ensuring that critical robotic perception systems remain transparent, verifiable, and safe.&lt;/p&gt;</description></item><item><title>RLSAC: Reinforcement Learning Enhanced Sample Consensus for End-to-End Robust Estimation</title><link>https://changnie.top/publications/rlsac/</link><pubDate>Sun, 01 Oct 2023 00:00:00 +0000</pubDate><guid>https://changnie.top/publications/rlsac/</guid><description>&lt;h2 id="the-sampler-is-the-part-nobody-trains"&gt;The sampler is the part nobody trains&lt;/h2&gt;
&lt;p&gt;Robust estimation carries most of geometric vision on its back. Camera pose, motion segmentation, wide-baseline matching, plane fitting, line fitting: strip away the application and they all come down to the same question. Given observations where a large fraction are simply wrong, recover the model that the correct ones agree on. RANSAC has been the default answer to that question for four decades. It draws a minimum set, solves for a model from that set, counts how many observations agree with the result, and tries again. Two points define a line. Eight correspondences define a fundamental matrix.&lt;/p&gt;
&lt;p&gt;The drawing step is deliberately blind. Every observation is treated as equally worth trying, and nothing about the data ever enters the decision. That bet pays off when outliers are rare. It stops paying off quickly. Raise the outlier fraction and the probability of drawing a set entirely from the inliers falls away, and the number of iterations needed to find a good model climbs with it. The evidence that would have made the search easy is sitting in the observations themselves, and the sampler never looks at it.&lt;/p&gt;
&lt;p&gt;The second problem is quieter, and it is the reason we wrote this paper. A uniform random draw is not differentiable. You cannot attach it to a network, and you cannot train it against an objective that lives downstream of it. So the robust estimator ends up parked at the edge of a learned system: an off-the-shelf component wrapped in interfaces, never optimized together with the parts around it.&lt;/p&gt;
&lt;p&gt;Earlier work has attacked this from several directions, and each one leaves something on the table. LO-RANSAC keeps sampling inside the inliers of the best hypothesis so far, which improves a model it has already found rather than the search that found it. NAPSAC restricts sampling to a local neighborhood and buys better-conditioned sets at the cost of global coverage; Progressive NAPSAC&amp;rsquo;s expanding neighborhood patches that assumption rather than replacing it. GC-RANSAC and MAGSAC++ change how hypotheses are scored, not how they are proposed. PROSAC and USAC reorder or schedule the sampling, but the ordering rule is designed by hand and frozen before the first hypothesis has been scored. Methods such as NG-RANSAC learn a useful preference over points, and the filtering approaches around it discard bad candidate sets early, yet neither treats the sequence of sampling decisions as something worth planning. DSAC takes the most direct route and makes selection probabilistic so gradients flow through the pipeline. That works, but it requires the sampler, the solver and the scoring step to all be differentiable, and the classical pieces we trust most are exactly the ones that are not.&lt;/p&gt;
&lt;h2 id="the-sample-is-an-action"&gt;The sample is an action&lt;/h2&gt;
&lt;p&gt;Our starting observation is that the two problems have the same shape. In reinforcement learning, an agent reads a state, picks an action, and the environment reports what happened. Sampling a minimum set has that structure already. The observations are the state. The set chosen from them is the action. And the environment exists and is running: it is the solver and the consensus function.&lt;/p&gt;
&lt;p&gt;The reward is the interesting part, because the pipeline produces one for free. Once the solver turns a proposed set into a model, the consensus function measures what fraction of all observations agree with it. That number scores the model, and since the model came out of that particular set, it also scores the choice that produced it. No labels for which points are inliers are needed anywhere in the loop. Any task that already ships a solver and a residual definition comes with its own reward.&lt;/p&gt;
&lt;p&gt;That last point matters more than it sounds. Training from the joint outcome means the policy is never taught which individual observations are good. It is taught whether the model that came out of a combination was good. Pointwise inlier classification is a different and much stronger assumption than set-level scoring, and it is the assumption we did not want to make.&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Question&lt;/th&gt;
&lt;th&gt;RLSAC&amp;rsquo;s answer&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;What is learned?&lt;/td&gt;
&lt;td&gt;The sampling policy; the solver and the scoring function stay as they are&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;What supervision is needed?&lt;/td&gt;
&lt;td&gt;Nothing beyond the consensus score the pipeline already computes&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;What enters the state?&lt;/td&gt;
&lt;td&gt;Observation features, the chosen set, residuals against the last hypothesis, and usage counts&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Where is it used?&lt;/td&gt;
&lt;td&gt;Synthetic line fitting and real two-view fundamental-matrix estimation&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="what-the-policy-gets-to-see"&gt;What the policy gets to see&lt;/h2&gt;
&lt;p&gt;A state that contains only the observations is not enough. The same data at step one and step ten would look identical, and the policy would have no way to know what it had already tried. So the state is built to carry the consequences of the previous decision.&lt;/p&gt;
&lt;p&gt;Four signals are stacked per observation. The first is the observation&amp;rsquo;s own features: point coordinates for line fitting, or coordinates, matching scores and local descriptors for correspondences. The second is an action indicator, &lt;code&gt;+1&lt;/code&gt; for the observations that formed the last minimum set and &lt;code&gt;-1&lt;/code&gt; for everything else. The third is the residual from the previous hypothesis, which is dense evidence about how the last model related to every observation, not only the ones that built it. The fourth is a counter of how often each observation has been selected so far.&lt;/p&gt;
&lt;p&gt;We think of these last three as a navigation aid. The residuals say which direction looks promising. The usage counter is a breadcrumb trail, recording where the search has already been. The action indicator marks the current position. None of them changes the underlying geometry; they change what the policy can conclude from it.&lt;/p&gt;
&lt;p&gt;
&lt;figure id="figure-from-one-sample-to-the-next-observation-features-the-selected-set-residuals-and-sampling-history-form-a-state-transition"&gt;
&lt;div class="flex justify-center"&gt;
&lt;div class="w-full"&gt;&lt;img
alt="The policy state is updated after every hypothesis evaluation."
srcset="https://changnie.top/publications/rlsac/state-transition_hu_b7fe19d5bf559303.webp 320w, https://changnie.top/publications/rlsac/state-transition_hu_905036f91bf27969.webp 480w, https://changnie.top/publications/rlsac/state-transition_hu_3c640326fc185fb2.webp 768w, https://changnie.top/publications/rlsac/state-transition_hu_c8403627057f79a5.webp 1024w, https://changnie.top/publications/rlsac/state-transition_hu_2f3c1b319d957055.webp 1080w"
sizes="(max-width: 480px) 100vw, (max-width: 768px) 90vw, (max-width: 1279px) 88vw, 928px"
src="https://changnie.top/publications/rlsac/state-transition_hu_b7fe19d5bf559303.webp"
width="1080"
height="542"
loading="lazy"
data-zoomable&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;a class="paper-image-original" href="https://changnie.top/publications/rlsac/state-transition_hu_7f491c1a7331ca0d.webp" target="_blank" rel="noopener"&gt;View full-size image ↗&lt;/a&gt;
&lt;figcaption&gt;From one sample to the next: observation features, the selected set, residuals, and sampling history form a state transition.&lt;/figcaption&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 id="one-episode-one-random-start"&gt;One episode, one random start&lt;/h2&gt;
&lt;p&gt;RLSAC runs several episodes over the same input, and each episode opens with a randomly sampled minimum set. This costs almost nothing and buys two things. It guarantees a performance floor, because every episode starts from an unbiased draw and the policy can only improve on it. And it gives the policy a meaningful state to react to, since a residual field computed against a terrible hypothesis is far more informative than one computed against nothing.&lt;/p&gt;
&lt;p&gt;The policy itself is an EdgeConv-style graph network. The choice is not cosmetic. Observations have no canonical order, and a policy that read them as an ordered vector would behave differently depending on how the input happened to be shuffled. The graph aggregates each observation&amp;rsquo;s neighbors into its own representation, which keeps the policy permutation-invariant and lets points exchange local context before any of them is proposed.&lt;/p&gt;
&lt;p&gt;The network outputs a probability per observation, and the top-scoring set becomes the proposal. One detail worth stating plainly: that probability is not a claim about how good an individual observation is. It is a claim about the long-run return from including it. The two are not the same, and treating them as the same is a common way to misread what the policy has learned.&lt;/p&gt;
&lt;p&gt;Duplicate sets are rejected. Every previously used minimum set is recorded, and if the top-scoring set has already been tried, the next one is drawn according to the probabilities and checked again until an unused set is found. Without this, a policy that has learned a good region will keep re-proposing the same set and burn the entire budget on a hypothesis it already has.&lt;/p&gt;
&lt;p&gt;Training uses discrete Soft Actor-Critic with a replay buffer, sampling probabilistically so the policy keeps exploring. At test time the sampling switches to greedy selection. The split is the standard exploration-exploitation tradeoff, and we compared the other three combinations against it before settling on this one.&lt;/p&gt;
&lt;p&gt;Episodes terminate on any of three conditions during training: the inlier count stops changing for two steps, the inlier ratio fails to beat the episode&amp;rsquo;s best for three steps, or the episode hits its step cap. Testing keeps only the cap. The distinction we wanted was between giving up on a search that has stopped making progress and stopping one that is still improving but has run out of budget.&lt;/p&gt;
&lt;h2 id="watching-it-work-on-a-line"&gt;Watching it work on a line&lt;/h2&gt;
&lt;p&gt;Set a few hundred points in a square, draw a line through some of them, let the rest be outliers. Any pair of points defines a candidate line. Every other point has a distance to it, and that distance is the feedback. The hypothesis visibly walks toward the ground truth across successive steps, which is satisfying to watch but not the interesting part.&lt;/p&gt;
&lt;p&gt;The interesting part is what the policy does after it gets there. Once it finds a hypothesis with a high inlier ratio, it keeps working locally, refining the set rather than jumping to a different region of the data. A sampler without memory cannot do this, because it has no way to know it is already close. This is the clearest argument for putting the residual and history features in the state, and it shows up in the qualitative traces much more plainly than in any aggregate number.&lt;/p&gt;
&lt;p&gt;Our synthetic data also places outliers inside the inlier band, which is what happens in real scenes. That rules out memorizing coordinates. What is learnable is the distribution of point groups that make a well-conditioned model, and that is what we wanted the policy to pick up.&lt;/p&gt;
&lt;p&gt;
&lt;figure id="figure-illustrative-sequence-from-the-paper-hypotheses-and-residual-evidence-change-across-policy-transitions"&gt;
&lt;div class="flex justify-center"&gt;
&lt;div class="w-full"&gt;&lt;img
alt="Successive sampling states in line fitting."
srcset="https://changnie.top/publications/rlsac/line-refinement_hu_44b97fcd7c911b51.webp 320w, https://changnie.top/publications/rlsac/line-refinement_hu_9cab983339e90995.webp 480w, https://changnie.top/publications/rlsac/line-refinement_hu_80c1c630ef90f75f.webp 768w, https://changnie.top/publications/rlsac/line-refinement_hu_521b02c965bb2237.webp 1024w, https://changnie.top/publications/rlsac/line-refinement_hu_c9aee07329865e0.webp 1080w"
sizes="(max-width: 480px) 100vw, (max-width: 768px) 90vw, (max-width: 1279px) 88vw, 928px"
src="https://changnie.top/publications/rlsac/line-refinement_hu_44b97fcd7c911b51.webp"
width="1080"
height="524"
loading="lazy"
data-zoomable&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;a class="paper-image-original" href="https://changnie.top/publications/rlsac/line-refinement_hu_9d05e82cf3b79404.webp" target="_blank" rel="noopener"&gt;View full-size image ↗&lt;/a&gt;
&lt;figcaption&gt;Illustrative sequence from the paper: hypotheses and residual evidence change across policy transitions.&lt;/figcaption&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 id="from-points-to-image-correspondences"&gt;From points to image correspondences&lt;/h2&gt;
&lt;p&gt;Two-view geometry changes the observation but not the interface. An observation is now a match between two image locations, described by its coordinates, its matching score and a local descriptor. A minimum set of eight goes to the eight-point solver, which returns a fundamental matrix, and consensus scoring measures how well every correspondence agrees with the resulting epipolar geometry.&lt;/p&gt;
&lt;p&gt;In this setting the policy settles on rigid, well-localized feature points on buildings and similar structures. Nobody told it to prefer those. They are simply the matches that survive the geometric score, episode after episode, and the policy found them.&lt;/p&gt;
&lt;p&gt;
&lt;figure id="figure-the-learned-sampler-receives-feedback-from-a-classical-geometric-solver"&gt;
&lt;div class="flex justify-center"&gt;
&lt;div class="w-full"&gt;&lt;img
alt="Correspondences and geometric hypotheses across sampling transitions."
srcset="https://changnie.top/publications/rlsac/fundamental-refinement_hu_50ba5654e56b9e9f.webp 320w, https://changnie.top/publications/rlsac/fundamental-refinement_hu_77f9fd0d2240e79b.webp 480w, https://changnie.top/publications/rlsac/fundamental-refinement_hu_1bfc0912f82554fd.webp 768w, https://changnie.top/publications/rlsac/fundamental-refinement_hu_aa06ef240e774e6d.webp 1024w, https://changnie.top/publications/rlsac/fundamental-refinement_hu_e3e3c4a15059a7fd.webp 1080w"
sizes="(max-width: 480px) 100vw, (max-width: 768px) 90vw, (max-width: 1279px) 88vw, 928px"
src="https://changnie.top/publications/rlsac/fundamental-refinement_hu_50ba5654e56b9e9f.webp"
width="1080"
height="659"
loading="lazy"
data-zoomable&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;a class="paper-image-original" href="https://changnie.top/publications/rlsac/fundamental-refinement_hu_b9fdbbb7b35a7945.webp" target="_blank" rel="noopener"&gt;View full-size image ↗&lt;/a&gt;
&lt;figcaption&gt;The learned sampler receives feedback from a classical geometric solver.&lt;/figcaption&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;What carries across the two tasks is not a trained network. It is the contract: encode observations, propose a minimum set, solve, score, feed the evidence back. Moving to a new problem means supplying task-appropriate features, a solver and a residual definition. The paper&amp;rsquo;s claim about transferability rests on that interface, together with the random restart and the duplicate rejection, not on the state transition by itself.&lt;/p&gt;
&lt;h2 id="what-we-take-from-this"&gt;What we take from this&lt;/h2&gt;
&lt;p&gt;The lesson we keep coming back to is that reward can substitute for differentiation. If a downstream metric can score an output, it can train the module that produced it. There is no need to make an argmax, a solver or a threshold differentiable, which means the interpretable classical pieces get to stay. That is what allows a traditional estimator and a learned one to be optimized toward the same objective instead of sitting on opposite sides of an interface.&lt;/p&gt;
&lt;p&gt;Memory also turns out to be worth more than prediction here. Feeding the last attempt&amp;rsquo;s residuals back into the state is cheap and dense. Training a better one-shot predictor is expensive and, in our setting, not obviously better.&lt;/p&gt;
&lt;p&gt;And a learned sampler should never be allowed to underperform the random baseline it replaced. Seeding every episode with a random draw is what buys that.&lt;/p&gt;
&lt;h2 id="where-it-stays-limited"&gt;Where it stays limited&lt;/h2&gt;
&lt;p&gt;An honest list. The inlier threshold is still a hand-set hyperparameter and it directly determines the reward, which is the same sensitivity MAGSAC++ was designed to remove; we reintroduced it and did not study it. The state only tracks the top-N correspondences by matching score, so a good match outside that set can never be selected. Our comparisons for two-view geometry are against classical methods only, even though we discuss learning-based samplers throughout; readers should not read those as head-to-head results. Transfer to other tasks is argued from the interface, not demonstrated. And we never analyzed cost: multiple episodes times up to fifteen steps, each with a graph forward pass, a solver call and a full residual computation, is a real bill, and we did not compare accuracy at matched iteration budgets.&lt;/p&gt;
&lt;h2 id="the-larger-point"&gt;The larger point&lt;/h2&gt;
&lt;p&gt;The discussion section of the paper makes the argument we actually believe. One-shot deep estimators are not reliable outside the distribution they were trained on, and their poor interpretability makes them hard to deploy in engineering settings. Classical estimators have clear behavior and well-defined scope, but cannot be folded into a learned framework because they are not differentiable. Combining the two gets both properties. If a component can be scored, it can be learned, and it can keep being the component you trust.&lt;/p&gt;
&lt;p&gt;We are curious whether the same treatment extends to other non-differentiable pieces of the geometric stack. Noise covariance estimation in SLAM is the one we keep thinking about.&lt;/p&gt;</description></item><item><title>3D Object Detection and Tracking Based on Lidar-Camera Fusion and IMM-UKF Algorithm Towards Highway Driving</title><link>https://changnie.top/publications/dtfi/</link><pubDate>Tue, 04 Apr 2023 00:00:00 +0000</pubDate><guid>https://changnie.top/publications/dtfi/</guid><description>&lt;h2 id="perception-that-is-blind-for-two-metres-at-a-time"&gt;Perception that is blind for two metres at a time&lt;/h2&gt;
&lt;p&gt;The design constraint behind this work is not accuracy. It is latency.&lt;/p&gt;
&lt;p&gt;Most fusion-based 3D detection algorithms run below 15 Hz on a workstation, and a workstation is not what drives a car. An onboard computing centre is slower still, and it is not dedicated to perception: planning, control and the rest of the stack have to run concurrently, which takes a further bite out of the same budget.&lt;/p&gt;
&lt;p&gt;Now put a number on what 15 Hz costs. At highway speed the vehicle covers about 1.94 metres between two consecutive frames. For that distance the perception system effectively does not see anything that has just happened, and we call that being time blind. The consequences are not abstract. A system that reacts to where a car was two metres ago is reacting to a situation that no longer exists.&lt;/p&gt;
&lt;p&gt;Thirty hertz substantially reduces the blind distance and leaves room for the other modules to run. That target, on affordable hardware rather than a development machine, is what shaped every choice in this paper. It also means we made a deliberate trade: LiDAR-only methods achieve better detection accuracy than fusion methods do, and we did not set out to beat them on that axis. We set out to be competitive while running at a frequency they cannot reach.&lt;/p&gt;
&lt;h2 id="what-the-fusion-families-cost"&gt;What the fusion families cost&lt;/h2&gt;
&lt;p&gt;There are three ways to combine an image with a point cloud, and each has a price.&lt;/p&gt;
&lt;p&gt;Detecting in 2D and lifting the boxes into the point cloud, the frustum approach, makes the whole system depend on the 2D detector. An error in the image branch propagates into 3D with no way to recover it.&lt;/p&gt;
&lt;p&gt;Fusing at the feature or proposal level and training end to end produces strong results, and it loses original information in the process of fusing at the region level. These methods also tend to be complex and to run slowly, which is the specific problem we were trying to solve.&lt;/p&gt;
&lt;p&gt;The third family projects the point cloud into an image feature map and augments each point with what it finds there. The architecture stays close to a LiDAR-only detector, which is what we wanted, and the pillar encoder keeps the runtime low. We chose this family for exactly that reason.&lt;/p&gt;
&lt;p&gt;Within LiDAR-only detection the lineage matters too. Voxel-based 3D convolution was accurate and slow. Sparse convolution improved efficiency without making it fast enough. Pillars, which reduce the problem to 2D convolutions, hit the best tradeoff between accuracy and speed, and we built on that.&lt;/p&gt;
&lt;p&gt;For tracking, the choice of a classical filter over a learned one was deliberate rather than conservative. Learning-based trackers perform poorly in real time, and neural data association is time-consuming, so the Hungarian algorithm stays. Batch tracking is ruled out for a different reason: it uses all data, and a driving system only ever has history. 2D tracking is ruled out because it cannot tell you an object&amp;rsquo;s position and size in 3D.&lt;/p&gt;
&lt;p&gt;The closest filter-based alternative is a well-known 3D tracker that is simple and efficient and uses a single constant-velocity model. A constant-velocity model has no way to represent a car that is turning, so its state estimate degrades in exactly the situations where prediction matters most. A monocular tracker uses an extended Kalman filter under one camera. An urban JPDA-IMM-UKF system exists and uses traditional clustering for detection, which produces fragmented trajectories and hurts tracking performance downstream.&lt;/p&gt;
&lt;p&gt;IMM itself is standard in aviation and nearly absent in vehicles, and the reason is instructive. Aircraft maneuver drastically: large speed changes, fast heading changes, so a switching model earns its complexity. Vehicle motion is comparatively mild. And with little prior work in the automotive setting, the parameters that IMM needs are hard to set.&lt;/p&gt;
&lt;h2 id="what-makes-it-hard"&gt;What makes it hard&lt;/h2&gt;
&lt;p&gt;Fusing at full image resolution, per point, at thirty hertz, is a budget problem before it is an accuracy problem. The number of image channels you attach to each point is the knob you turn, and we tuned it as a tradeoff rather than maximizing it.&lt;/p&gt;
&lt;p&gt;Data-layer fusion is also fragile in a specific and quiet way. Because each point is matched to an image location, a calibration error puts the sampled feature at the wrong pixel for every point, and the resulting input looks entirely plausible. There is no error signal. The system does not know it is being fed garbage.&lt;/p&gt;
&lt;p&gt;Choosing a motion model is a lose-lose if you must choose one. Constant velocity is simple and strong for linear motion. Constant turn rate and velocity handles rotation. Either alone is wrong in the other regime. Switching between them is the answer, and switching introduces a set of prior parameters: the state switching matrix, the state covariance, the process and measurement noise covariances. These are conventionally set from experience, and empirical values are not guaranteed to apply to a different scenario. That is a real methodological problem, not a tuning nuisance.&lt;/p&gt;
&lt;p&gt;There is a nonlinearity problem too. Constant-velocity transitions are linear in the state. Constant-turn transitions involve position expressed through velocity and yaw rate multiplied by sine and cosine of the heading, which is not linear, so the filter needs sigma points rather than a plain Kalman update.&lt;/p&gt;
&lt;p&gt;Tracking also has to survive gaps and resist noise at the same time. Occlusion causes detections to drop, and being too permissive about starting new tracks admits detector false positives. The two failure modes pull in opposite directions.&lt;/p&gt;
&lt;p&gt;And the physics caps detection regardless of architecture. In one of our examples, three very distant cars return only three to five LiDAR points each. Too few points and the detection simply does not fire.&lt;/p&gt;
&lt;h2 id="attach-a-neighbourhood-not-a-pixel"&gt;Attach a neighbourhood, not a pixel&lt;/h2&gt;
&lt;p&gt;The first half of the idea addresses the fragility of data-layer fusion. Instead of sampling a single projected pixel for each point, we sample a 5×5 window of image features around the projection and attach the whole neighbourhood to the point.&lt;/p&gt;
&lt;p&gt;The consequence is that the network learns the matching relationship between the two modalities rather than trusting the calibration exactly. A point whose projection lands a pixel or two off still finds relevant appearance features in its window. This was the single most useful conceptual move in the detection half, and it is what makes the difference between fusion that survives calibration error and fusion that quietly degrades.&lt;/p&gt;
&lt;p&gt;The features come from a full-resolution extractor, which matters for a related reason: the point has to map to a precise image location for the window to mean anything, and a downsampled feature map destroys that precision. The encoder is VGG-based with two modifications. We reduced the channel count to keep optimization manageable, and we cut the network off in the middle so that the feature map does not shrink too far, which would make it useless for generating fusion data. A top-down decoder upsamples and merges with same-resolution encoder maps, with 1×1 convolutions controlling the output dimension.&lt;/p&gt;
&lt;p&gt;
&lt;figure id="figure-a-local-window-learns-the-correspondence-between-the-two-modalities-instead-of-assuming-the-calibration-is-exact"&gt;
&lt;div class="flex justify-center"&gt;
&lt;div class="w-full"&gt;&lt;img
alt="Image features are sampled around the projected location rather than at a single pixel."
srcset="https://changnie.top/publications/dtfi/image-features_hu_1e00f4c9f3efb140.webp 320w, https://changnie.top/publications/dtfi/image-features_hu_7809a7de87feb080.webp 460w"
sizes="(max-width: 480px) 100vw, (max-width: 768px) 90vw, (max-width: 1279px) 88vw, 928px"
src="https://changnie.top/publications/dtfi/image-features_hu_1e00f4c9f3efb140.webp"
width="460"
height="382"
loading="lazy"
data-zoomable&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;a class="paper-image-original" href="https://changnie.top/publications/dtfi/image-features_hu_64b0a2b840716456.webp" target="_blank" rel="noopener"&gt;View full-size image ↗&lt;/a&gt;
&lt;figcaption&gt;A local window learns the correspondence between the two modalities instead of assuming the calibration is exact.&lt;/figcaption&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 id="collapsing-the-height-axis-to-get-the-frame-rate"&gt;Collapsing the height axis to get the frame rate&lt;/h2&gt;
&lt;p&gt;The augmented points then go through a pillar encoder. Points are binned onto a bird&amp;rsquo;s-eye-view grid with cell size and a cap on how many points a cell keeps, with random subsampling beyond the cap. The height axis is collapsed to a single cell, which is the trick that turns 3D convolution into 2D convolution and is where the frame rate comes from.&lt;/p&gt;
&lt;p&gt;Each point carries its geometry and appearance plus five offset features that describe where it sits relative to its cell&amp;rsquo;s mean and its voxel centre. A PointNet layer expands these, max-pooling reduces each cell to one representative, and the cells are scattered back into a pseudo-image. A 2D convolutional backbone and a region proposal head then predict oriented 3D boxes.&lt;/p&gt;
&lt;p&gt;The cost of the pillar representation is that height structure inside a cell is discarded and the detection range is bounded by the camera&amp;rsquo;s field of view, since fusion needs pixels. We accept both as the price of the frequency target.&lt;/p&gt;
&lt;p&gt;One loss term deserves a note because it looks redundant and is not. The yaw residual is computed as the sine of the difference between predicted and anchor angle, and sine is symmetric. A car facing forward and a car facing backward produce the same residual. Regression alone cannot break the tie, which is why a separate direction classification term exists in the loss.&lt;/p&gt;
&lt;p&gt;
&lt;figure id="figure-the-fusion-augmented-point-cloud-is-encoded-as-a-birds-eye-view-pseudo-image"&gt;
&lt;div class="flex justify-center"&gt;
&lt;div class="w-full"&gt;&lt;img
alt="Pillars collapse the height axis so a 2D detector can do the work."
srcset="https://changnie.top/publications/dtfi/detector_hu_a8047e6092f1f063.webp 320w, https://changnie.top/publications/dtfi/detector_hu_d7725cd69cf9f508.webp 480w, https://changnie.top/publications/dtfi/detector_hu_b5ac6e6462c23396.webp 768w, https://changnie.top/publications/dtfi/detector_hu_a6c9308f064a74e1.webp 1024w, https://changnie.top/publications/dtfi/detector_hu_7f84c8e9b83b0f2a.webp 1080w"
sizes="(max-width: 480px) 100vw, (max-width: 768px) 90vw, (max-width: 1279px) 88vw, 928px"
src="https://changnie.top/publications/dtfi/detector_hu_a8047e6092f1f063.webp"
width="1080"
height="413"
loading="lazy"
data-zoomable&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;a class="paper-image-original" href="https://changnie.top/publications/dtfi/detector_hu_30f9ae057f913415.webp" target="_blank" rel="noopener"&gt;View full-size image ↗&lt;/a&gt;
&lt;figcaption&gt;The fusion-augmented point cloud is encoded as a bird&amp;rsquo;s-eye-view pseudo-image.&lt;/figcaption&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 id="two-motion-models-and-a-search-for-the-priors"&gt;Two motion models, and a search for the priors&lt;/h2&gt;
&lt;p&gt;The tracker predicts every existing trajectory, associates predictions to detections by the Hungarian algorithm on 3D overlap, updates matched tracks, and manages births and deaths for everything unmatched.&lt;/p&gt;
&lt;p&gt;The interesting part is the update. Two models run in parallel, one with a constant-velocity state and one with a constant turn rate and velocity state. Mixing probabilities are computed from the previous model weights and the switching matrix, mixed estimates are formed for each model, each model&amp;rsquo;s sigma-point filter predicts forward, and the two are combined into the IMM prediction. After association, each model is updated for the matched detection and the model probabilities are recomputed from the measurement likelihoods. The pairing is complementary by construction: the constant-velocity model estimates linear motion cheaply and well, and the constant-turn model covers the rotational case it cannot.&lt;/p&gt;
&lt;p&gt;Life-cycle management handles the gap-versus-noise tension with two guardrails. An unmatched trajectory keeps predicting for a bounded number of frames before it is terminated, because an unmatched track usually means occlusion rather than disappearance, and restarting the trajectory later would fragment it. An unmatched detection has to persist for several consecutive frames before a track is born, which filters out occasional false positives. The two rules guard opposite failure modes.&lt;/p&gt;
&lt;p&gt;The priors are where we departed from convention. Rather than setting the switching matrix and the covariances from experience, we treat them as an optimization problem and fit them with particle swarm optimization. The name invites a misreading worth clearing up: particle swarm optimization is a derivative-free search over parameters, it has nothing to do with particle filtering, and no particle filter appears anywhere in this work.&lt;/p&gt;
&lt;p&gt;Two caveats on that fitting, and we would rather state them than have them discovered. The optimization runs offline and per dataset, so it is not online adaptation; the parameters are fitted to the data they were fitted on. And a symmetric switching matrix does not by itself tell you that vehicle motion in a dataset favors the constant-velocity model, even though it is tempting to read it that way.&lt;/p&gt;
&lt;p&gt;
&lt;figure id="figure-bridging-a-missed-detection-is-often-cheaper-than-detecting-it"&gt;
&lt;div class="flex justify-center"&gt;
&lt;div class="w-full"&gt;&lt;img
alt="Tracked trajectories persist through frames where the detector reports nothing."
srcset="https://changnie.top/publications/dtfi/tracking-results_hu_f58947ba19f6872c.webp 320w, https://changnie.top/publications/dtfi/tracking-results_hu_f34224580476ee54.webp 480w, https://changnie.top/publications/dtfi/tracking-results_hu_4ca76579f06a126d.webp 768w, https://changnie.top/publications/dtfi/tracking-results_hu_d70df992b8c4d4a5.webp 1024w, https://changnie.top/publications/dtfi/tracking-results_hu_1e33be290f0a8458.webp 1080w"
sizes="(max-width: 480px) 100vw, (max-width: 768px) 90vw, (max-width: 1279px) 88vw, 928px"
src="https://changnie.top/publications/dtfi/tracking-results_hu_f58947ba19f6872c.webp"
width="1080"
height="270"
loading="lazy"
data-zoomable&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;a class="paper-image-original" href="https://changnie.top/publications/dtfi/tracking-results_hu_1ae2b4fed053dd32.webp" target="_blank" rel="noopener"&gt;View full-size image ↗&lt;/a&gt;
&lt;figcaption&gt;Bridging a missed detection is often cheaper than detecting it.&lt;/figcaption&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 id="what-we-take-from-this"&gt;What we take from this&lt;/h2&gt;
&lt;p&gt;Latency budgets are a design input, not a measurement you take afterward. Once the real-time threshold is crossed, the remaining budget belongs to accuracy, and the architecture should be organized around that ordering.&lt;/p&gt;
&lt;p&gt;A local receptive field is a cheap substitute for perfect calibration. When two sensors are aligned imperfectly, learning the correspondence in a neighbourhood beats assuming a pixel.&lt;/p&gt;
&lt;p&gt;Reduce the dimensionality of the problem before optimizing the network. Pillarization is the enabling trick, not an afterthought.&lt;/p&gt;
&lt;p&gt;Hybrid representations outperform pure ones here: learned appearance features, an explicit geometric projection, and an explicit state estimator, each doing what it is good at. The modularity also helps when something goes wrong, because each component has a distinct role and a distinct failure signature.&lt;/p&gt;
&lt;p&gt;Complementarity beats tuning. Two models that fail in different regimes are better than one model that is mediocre in both.&lt;/p&gt;
&lt;p&gt;And when the priors genuinely cannot be guessed, search for them. The admission that empirical IMM values may not transfer is the most useful methodological statement in the paper.&lt;/p&gt;
&lt;h2 id="what-it-does-not-do"&gt;What it does not do&lt;/h2&gt;
&lt;p&gt;The honest summary is that the system is competitive in accuracy rather than leading. It improves substantially on detection speed and remains behind the best LiDAR-only methods on accuracy, which is the trade we chose.&lt;/p&gt;
&lt;p&gt;The IMM-UKF has trouble with objects whose motion direction changes little. A filter that switches between hypotheses needs observable maneuver to be worth switching for.&lt;/p&gt;
&lt;p&gt;Detection range is bounded by the camera field of view, which is inherent to this fusion design. Sparse distant objects fail, as the three-to-five-point example shows. The tracker is a separate stage from the detector rather than jointly optimized with it, which is the direction we point to for future work, along with improving accuracy without giving up the frame rate.&lt;/p&gt;
&lt;h2 id="closing"&gt;Closing&lt;/h2&gt;
&lt;p&gt;What we built integrates 3D detection and 3D multi-object tracking into a single pipeline measured against the real-time requirements of highway driving: a detector that produces oriented boxes efficiently, and a tracker that follows objects through uncertain motion using association, an interacting multiple model filter, and tuned parameters. The claim is not that it is the most accurate system available. It is that the accuracy is real at a frequency the fusion alternatives cannot reach, and that on a highway, being two metres behind the world is its own kind of inaccuracy.&lt;/p&gt;</description></item></channel></rss>