<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Journal Articles | Chang Nie</title><link>https://changnie.top/publication_types/article-journal/</link><atom:link href="https://changnie.top/publication_types/article-journal/index.xml" rel="self" type="application/rss+xml"/><description>Journal Articles</description><generator>HugoBlox Kit (https://hugoblox.com)</generator><language>en-us</language><lastBuildDate>Wed, 13 May 2026 00:00:00 +0000</lastBuildDate><image><url>https://changnie.top/media/icon_hu_3dd7560279821d57.png</url><title>Journal Articles</title><link>https://changnie.top/publication_types/article-journal/</link></image><item><title>Voxelized 3D Gaussian Representation for Dense Visual SLAM on Embedded Vision System</title><link>https://changnie.top/publications/vcgs-slam/</link><pubDate>Wed, 13 May 2026 00:00:00 +0000</pubDate><guid>https://changnie.top/publications/vcgs-slam/</guid><description>&lt;h2 id="dense-mapping-and-storage-constraints"&gt;Dense Mapping and Storage Constraints&lt;/h2&gt;
&lt;p&gt;Sparse feature-based SLAM is accurate and its maps are too thin to be useful. Navigation, path planning and obstacle avoidance need surface information, not a cloud of keypoints, which is why dense mapping has been pursued for as long as it has.&lt;/p&gt;
&lt;p&gt;The dense alternatives each carry a cost. Classical dense fusion systems such as DTAM, Kintinuous and ElasticFusion are memory-hungry and slow, and their accuracy suffers for it. Neural radiance field SLAM produces better geometry but carries an implicit decoder, which means rendering is a network evaluation rather than a rasterization. 3D Gaussian splatting looked like the resolution: real-time rendering with high fidelity, no decoder, no volumetric integration.&lt;/p&gt;
&lt;p&gt;Then you try to deploy it. A Gaussian-splatting SLAM system typically needs more than 500 MB to represent a small room-sized scene. That number is the difference between a demonstration and something that runs on a robot, and it is where this work starts.&lt;/p&gt;
&lt;h2 id="the-redundancy-is-made-by-slam-not-by-gaussians"&gt;The redundancy is made by SLAM, not by Gaussians&lt;/h2&gt;
&lt;p&gt;The obvious conclusion would be that Gaussian primitives are simply expensive, and that the fix is compression. We do not think that is right, and the diagnosis is the part of this paper we would most want read.&lt;/p&gt;
&lt;p&gt;We looked at the Gaussian ellipsoids that these systems create and found that their geometric similarity is far higher than in the original 3D Gaussian splatting. Measuring similarity between normalized, mean-free Gaussians reduces to comparing their covariance, which isolates shape and size from position, and the distribution we see in SLAM systems is a tall narrow spike compared with the broad low curve of the offline method. These systems are storing near-duplicates of the same ellipsoid, over and over.&lt;/p&gt;
&lt;p&gt;The cause is not the primitive. It is the optimization schedule, and there are two structural differences that explain it.&lt;/p&gt;
&lt;p&gt;Offline 3D Gaussian splatting receives every image at once. It optimizes across all of them jointly, and when it selects keyframes it samples randomly from the entire set. A SLAM system receives frames in timestamp order. It waits for each frame&amp;rsquo;s training to finish before moving to the next, and it only ever optimizes selected keyframes. Same primitive, sequential and locally scoped optimization, and a very different resulting distribution. The online regime has, to a certain extent, exacerbated the geometric similarity.&lt;/p&gt;
&lt;p&gt;That distinction matters because it decides which existing tools are usable. The offline compression literature, including compact Gaussian representations, lightweight Gaussian pruning and self-organizing Gaussian grids, all assume you have every image, every pose and the corresponding point cloud available from the start. SLAM systems are incrementally optimized. Every one of those methods is disqualified by construction, however well it works offline.&lt;/p&gt;
&lt;p&gt;
&lt;figure id="figure-anchors-carry-structure-per-view-decoding-generates-gaussian-attributes"&gt;
&lt;div class="flex justify-center"&gt;
&lt;div class="w-full"&gt;&lt;img
alt="Redundancy is a property of the optimization schedule rather than the primitive."
srcset="https://changnie.top/publications/vcgs-slam/compact-representation_hu_6eb0b33932a9e09e.webp 320w, https://changnie.top/publications/vcgs-slam/compact-representation_hu_3be8a1f9d80cc63d.webp 480w, https://changnie.top/publications/vcgs-slam/compact-representation_hu_faf50de4fcd9bd9c.webp 768w, https://changnie.top/publications/vcgs-slam/compact-representation_hu_badbd3c07579d533.webp 1024w, https://changnie.top/publications/vcgs-slam/compact-representation_hu_fb571a920aec2d9a.webp 1080w"
sizes="(max-width: 480px) 100vw, (max-width: 768px) 90vw, (max-width: 1279px) 88vw, 928px"
src="https://changnie.top/publications/vcgs-slam/compact-representation_hu_6eb0b33932a9e09e.webp"
width="1080"
height="398"
loading="lazy"
data-zoomable&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;a class="paper-image-original" href="https://changnie.top/publications/vcgs-slam/compact-representation_hu_7da47ca4346135fd.webp" target="_blank" rel="noopener"&gt;View full-size image ↗&lt;/a&gt;
&lt;figcaption&gt;Anchors carry structure; per-view decoding generates Gaussian attributes.&lt;/figcaption&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 id="why-online-compaction-is-awkward"&gt;Why online compaction is awkward&lt;/h2&gt;
&lt;p&gt;Three things make the problem harder than compressing a finished map.&lt;/p&gt;
&lt;p&gt;Offline 3D Gaussian splatting seeds its Gaussians from a complete posed point cloud. In SLAM that cloud only exists for where the camera has already been, so the decision of where to add representational capacity has to be made from a partial map, online, without knowing what is coming.&lt;/p&gt;
&lt;p&gt;Deletion has to be causal. You cannot consult the full training set to decide whether a Gaussian is still needed, because the future views have not arrived.&lt;/p&gt;
&lt;p&gt;And opacity alone is the wrong criterion for removal. A Gaussian can carry low opacity and still be critical across multiple views, or occupy a useful volume while contributing little colour. Volume and opacity together are closer to what we want.&lt;/p&gt;
&lt;p&gt;There is also a failure mode specific to learning the decision. Our mask loss pushes mask values down, which is what a sparsity prior does, and if you leave it running without interruption the optimization will eventually eliminate every Gaussian in the map. A one-directional regularizer with no reset destroys the thing it is regularizing.&lt;/p&gt;
&lt;p&gt;Finally, compression here is not a post-processing step. In offline compression you quantize a finished artifact. Here the codebooks are learned jointly with attributes that are still being optimized, so the quantizer is chasing a moving target.&lt;/p&gt;
&lt;h2 id="fewer-anchors-then-fewer-bits"&gt;Fewer anchors, then fewer bits&lt;/h2&gt;
&lt;p&gt;Two layers of compaction, in that order.&lt;/p&gt;
&lt;p&gt;The first is structural. Instead of storing Gaussians, we store anchors. An anchor is a voxel centre together with a small learned feature, a scale, and a set of offsets. The Gaussian centres are generated as the voxel centre plus each offset scaled by that anchor&amp;rsquo;s scale, and the remaining attributes, opacity, rotation, scale and colour, are decoded from the anchor feature together with the current viewing distance and direction. Structure carries the representation rather than individual primitives, and because decoding is view-conditional, detail is generated per view rather than stored per Gaussian.&lt;/p&gt;
&lt;p&gt;The second is parametric, and it applies once the anchor count is under control. The offsets and scales are the geometry every anchor has to carry, so those are where the bits go. We compress them with cascaded residual vector quantization: the first codebook approximates the vector, and each subsequent stage quantizes only the residual the earlier stages left behind, with indices chosen by nearest-neighbour search against the running residual.&lt;/p&gt;
&lt;p&gt;The analogy comes from neural audio coding, and it is a good one. The first codebook gives a rough description of the number. Each later codebook describes only what is left over. The codebooks are shared across the whole scene the way a palette is shared across an image. We initialize them with K-means.&lt;/p&gt;
&lt;p&gt;Two tradeoffs are worth stating. More stages mean more residual levels to store and slower inference for gains that are only marginal. A larger codebook leaves many indices unused while still costing memory and training time, and a smaller one costs accuracy. The paper&amp;rsquo;s configuration uses six residual stages over a codebook of size 64, and the abbreviation is worth spelling out for readers who have met particle filters: residual vector quantization and particle swarm optimization have nothing to do with each other, and no particle filter appears anywhere in this work.&lt;/p&gt;
&lt;p&gt;
&lt;figure id="figure-each-stage-quantizes-only-what-the-previous-stages-left-behind"&gt;
&lt;div class="flex justify-center"&gt;
&lt;div class="w-full"&gt;&lt;img
alt="Anchor geometry is stored as short indices into shared codebooks."
srcset="https://changnie.top/publications/vcgs-slam/residual-codebook_hu_17d120a0fbe79fff.webp 320w, https://changnie.top/publications/vcgs-slam/residual-codebook_hu_8fdd47dc0e57dda.webp 480w, https://changnie.top/publications/vcgs-slam/residual-codebook_hu_f8dc67c5055c3d33.webp 768w, https://changnie.top/publications/vcgs-slam/residual-codebook_hu_447c353e71767f4b.webp 1024w, https://changnie.top/publications/vcgs-slam/residual-codebook_hu_ba36aed6d76c1656.webp 1080w"
sizes="(max-width: 480px) 100vw, (max-width: 768px) 90vw, (max-width: 1279px) 88vw, 928px"
src="https://changnie.top/publications/vcgs-slam/residual-codebook_hu_17d120a0fbe79fff.webp"
width="1080"
height="317"
loading="lazy"
data-zoomable&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;a class="paper-image-original" href="https://changnie.top/publications/vcgs-slam/residual-codebook_hu_febd3d8193dfc8e9.webp" target="_blank" rel="noopener"&gt;View full-size image ↗&lt;/a&gt;
&lt;figcaption&gt;Each stage quantizes only what the previous stages left behind.&lt;/figcaption&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 id="growing-where-the-optimizer-is-still-struggling"&gt;Growing where the optimizer is still struggling&lt;/h2&gt;
&lt;p&gt;With no structure-from-motion cloud to seed from, the question of where to put capacity has to be answered online. The signal we use is the gradient.&lt;/p&gt;
&lt;p&gt;A voxel whose constituent Gaussians keep producing large averaged gradients over a run of iterations is a place the optimizer is still fighting, which is a reasonable indication that the current representation cannot express what the data wants. If that averaged gradient exceeds a threshold and no anchor exists at that voxel centre yet, we plant one. Candidates are eliminated randomly to keep growth from exploding, and trivial anchors get removed by accumulating the opacity of their Gaussians.&lt;/p&gt;
&lt;p&gt;Three resolutions run in parallel, with voxel size shrinking by a factor of four at each level and the gradient threshold doubling. Coarse voxels absorb bulk geometry such as walls and floors. Fine voxels handle detail such as a chair leg. A single voxel size would force one choice to serve both, which is why the ladder exists.&lt;/p&gt;
&lt;p&gt;Initialization is separate: at map start, points are sampled where accumulated opacity is low or where the rendered depth disagrees with the measurement.&lt;/p&gt;
&lt;h2 id="the-mask-is-a-dimmer-not-a-switch"&gt;The mask is a dimmer, not a switch&lt;/h2&gt;
&lt;p&gt;Inside a sliding window, each Gaussian carries a learnable mask parameter, which a stop-gradient straight-through form turns into a binary mask. That mask multiplies the Gaussian&amp;rsquo;s scale and opacity before rendering, so a masked primitive fades out of the image rather than being deleted from the data structure. Removal happens later, at the window boundary, where we use hit frequency together with the learned mask.&lt;/p&gt;
&lt;p&gt;The window is short-term memory with a defined composition: the current frame, the keyframe it overlaps most, and the two earlier keyframes with the highest frustum overlap with the current depth point cloud. Everything outside the current view is frozen by frustum culling, which preserves past geometry and reduces the number of parameters being optimized. Masking runs on keyframes only.&lt;/p&gt;
&lt;p&gt;The reset is the detail that makes the mechanism safe. At the window boundary, once removals are applied, both the gradients and the masks are cleared so the system can relearn. Without that reset, the sparsity pressure described earlier runs unopposed and the map erases itself.&lt;/p&gt;
&lt;p&gt;Window size is a genuine tradeoff rather than a hyperparameter to tune casually. Too large a window masks away Gaussians that were doing useful work, which costs accuracy. Too small a window costs memory and optimization quality.&lt;/p&gt;
&lt;p&gt;
&lt;figure id="figure-masking-modulates-scale-and-opacity-removal-happens-at-the-window-boundary-after-which-the-masks-and-gradients-are-reset"&gt;
&lt;div class="flex justify-center"&gt;
&lt;div class="w-full"&gt;&lt;img
alt="Gaussians that stop earning their place fade out within a moving window."
srcset="https://changnie.top/publications/vcgs-slam/sliding-window-mask_hu_8cee7cb0ebdcdee8.webp 320w, https://changnie.top/publications/vcgs-slam/sliding-window-mask_hu_308658780aed5608.webp 480w, https://changnie.top/publications/vcgs-slam/sliding-window-mask_hu_4cccf8372ce76d89.webp 768w, https://changnie.top/publications/vcgs-slam/sliding-window-mask_hu_54201091216743be.webp 1024w, https://changnie.top/publications/vcgs-slam/sliding-window-mask_hu_4ad2fe597ea4c1dc.webp 1080w"
sizes="(max-width: 480px) 100vw, (max-width: 768px) 90vw, (max-width: 1279px) 88vw, 928px"
src="https://changnie.top/publications/vcgs-slam/sliding-window-mask_hu_8cee7cb0ebdcdee8.webp"
width="1080"
height="404"
loading="lazy"
data-zoomable&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;a class="paper-image-original" href="https://changnie.top/publications/vcgs-slam/sliding-window-mask_hu_da9790d4995859d4.webp" target="_blank" rel="noopener"&gt;View full-size image ↗&lt;/a&gt;
&lt;figcaption&gt;Masking modulates scale and opacity; removal happens at the window boundary, after which the masks and gradients are reset.&lt;/figcaption&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 id="tracking-depends-on-the-map-you-just-compacted"&gt;Tracking depends on the map you just compacted&lt;/h2&gt;
&lt;p&gt;Three signals drive tracking, and all of them come out of the same alpha-compositing pass. Colour, depth, and a silhouette channel that accumulates only the visibility weights. Because they share the rasterization, the silhouette is nearly free.&lt;/p&gt;
&lt;p&gt;Tracking minimizes squared colour error plus squared depth error over rays with valid depth, gated by the silhouette: only pixels where the renderer is confident it is actually covering something are trusted. An ICP term ties Gaussian centres to their nearest points across frames, on the reasoning that Gaussians are a point cloud and classical geometric association therefore applies to them. Pose is initialized by constant-velocity forward projection, which the ablation calls vital.&lt;/p&gt;
&lt;p&gt;The ablations here are the clearest argument that these components are load-bearing. With only the depth term, tracking fails outright. With only colour, tracking works at substantially worse error. Without the silhouette gate, tracking fails outright. A renderer-derived trust region turns out to be doing real work, and a photometric pipeline apparently needs both a geometry term and a region it can believe.&lt;/p&gt;
&lt;p&gt;Bundle adjustment runs at two scales. Local adjustment refines the recent window, and a global stage samples rays from a deliberately larger keyframe database to refine map and poses together, with an additional structural similarity term. The purpose is to bound accumulated drift over long trajectories and large scenes without touching every historical frame.&lt;/p&gt;
&lt;h2 id="evidence-and-the-shape-of-it"&gt;Evidence, and the shape of it&lt;/h2&gt;
&lt;p&gt;The system is evaluated on Replica, ScanNet and TUM RGB-D, on an embedded module and a laptop-class GPU, and on a multisensor mobile-robot dataset we collected ourselves with LiDAR, an inertial unit and a depth camera, covering scenes over a thousand square metres with high-quality trajectory ground truth. The dataset exists to answer a question the standard benchmarks cannot: whether the representation holds up when the map is being built on a moving robot rather than on a desk.&lt;/p&gt;
&lt;p&gt;The most useful evaluation is not a table. We inserted the compact representation into SplaTAM, MonoGS and Gaussian-SLAM and re-ran them. The same direction of improvement appeared in each. That is evidence about the diagnosis rather than about our system, since a representation that helps three different systems is addressing something those systems share.&lt;/p&gt;
&lt;p&gt;
&lt;figure id="figure-compactness-is-what-makes-on-robot-deployment-possible"&gt;
&lt;div class="flex justify-center"&gt;
&lt;div class="w-full"&gt;&lt;img
alt="The pipeline runs on laptop and embedded hardware."
srcset="https://changnie.top/publications/vcgs-slam/embedded-demo_hu_b67fdc482eb96c21.webp 320w, https://changnie.top/publications/vcgs-slam/embedded-demo_hu_4cbb071f25539270.webp 480w, https://changnie.top/publications/vcgs-slam/embedded-demo_hu_8a60b443b5fcb287.webp 768w, https://changnie.top/publications/vcgs-slam/embedded-demo_hu_e1c8c20647a174f8.webp 1024w, https://changnie.top/publications/vcgs-slam/embedded-demo_hu_244cf7b677229005.webp 1080w"
sizes="(max-width: 480px) 100vw, (max-width: 768px) 90vw, (max-width: 1279px) 88vw, 928px"
src="https://changnie.top/publications/vcgs-slam/embedded-demo_hu_b67fdc482eb96c21.webp"
width="1080"
height="810"
loading="lazy"
data-zoomable&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;a class="paper-image-original" href="https://changnie.top/publications/vcgs-slam/embedded-demo_hu_411cefe7e79372e.webp" target="_blank" rel="noopener"&gt;View full-size image ↗&lt;/a&gt;
&lt;figcaption&gt;Compactness is what makes on-robot deployment possible.&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;Diagnose the representation you inherited from the training regime before you build a compressor. The interesting move here was not designing a better quantizer. It was noticing that sequential online optimization produces a different and more redundant distribution than joint optimization, and measuring it before writing any code.&lt;/p&gt;
&lt;p&gt;Related to that, any module that needs the entire dataset is disqualified by construction in an incremental system, no matter how well it performs offline. That single constraint eliminates most of the available literature.&lt;/p&gt;
&lt;p&gt;Compact in two layers, structural and then parametric. Quantizing alone leaves millions of primitives to encode. Masking alone leaves a large per-primitive payload.&lt;/p&gt;
&lt;p&gt;Gradients are a capacity-allocation signal, not just an optimization artifact, and using them that way turns where should the map be detailed into a decision the system makes for itself.&lt;/p&gt;
&lt;p&gt;And any learned pruning pressure that only pushes in one direction needs a reset. That pattern generalizes well beyond this paper.&lt;/p&gt;
&lt;h2 id="what-it-does-not-handle"&gt;What it does not handle&lt;/h2&gt;
&lt;p&gt;Fast motion produces motion blur in both the colour and depth images, and tracking depends on exactly those losses, so rapid movement degrades it. Scenes with many dynamic objects produce artifacts and drift, and the system is still limited in dealing with highly dynamic environments.&lt;/p&gt;
&lt;p&gt;Loop closure and relocalization are not implemented, which bounds how well drift can be corrected on large loops. The system is RGB-D only, so there is no monocular or stereo path. And we owe the reader a clearer account of the reported memory figure: it is checkpoint size rather than peak memory footprint, and those are different numbers.&lt;/p&gt;
&lt;h2 id="why-embedded-matters"&gt;Why embedded matters&lt;/h2&gt;
&lt;p&gt;The paper&amp;rsquo;s claim is not that a compact map is an acceptable compromise. It is that a compact map is still a good map, and the same quality is available at a fraction of the storage. That claim only has teeth in a setting where the storage is a real constraint, which is why the embedded experiments are the ones we care about. A representation that fits on the robot is the one that gets used.&lt;/p&gt;</description></item><item><title>MID: A Self-Supervised Multimodal Iterative Denoising Framework</title><link>https://changnie.top/publications/mid/</link><pubDate>Thu, 30 Apr 2026 00:00:00 +0000</pubDate><guid>https://changnie.top/publications/mid/</guid><description>&lt;h2 id="the-clean-version-often-does-not-exist"&gt;The clean version often does not exist&lt;/h2&gt;
&lt;p&gt;Good data is the precondition for everything downstream, and acquisition noise is nearly universal: sensor limitations, transmission errors, environmental interference, and the stochastic nature of physical measurement itself. The usual response is to denoise first.&lt;/p&gt;
&lt;p&gt;Two practical facts make that harder than it sounds, and both shaped this paper.&lt;/p&gt;
&lt;p&gt;The first is that the noise that actually matters is rarely Gaussian. Poisson noise in low-light imaging, compression artifacts, and what we would call structured noise, such as a set of line segments that do not correspond to any real structure in the scene, all violate the assumptions that classical filters are built on. The second is more fundamental: for many of the domains we care about, the clean target simply does not exist. In clinical imaging and remote sensing there is frequently no noise-free reference to compare against, and no way to acquire one. The MRI experiments in the paper are scored with proxy measures precisely because clean ground truth is unavailable for those datasets.&lt;/p&gt;
&lt;p&gt;So the training signal has to come from somewhere other than a paired clean sample. That constraint is the whole problem.&lt;/p&gt;
&lt;h2 id="why-the-existing-answers-are-conditional"&gt;Why the existing answers are conditional&lt;/h2&gt;
&lt;p&gt;Classical model-based denoising, from filtering to transform-domain thresholding to non-local means, is tailored to specific noise models and data types. Its effectiveness falls away as soon as the noise statistics deviate from the assumption it was built on.&lt;/p&gt;
&lt;p&gt;Supervised deep denoising sidesteps the modelling assumption but needs large paired datasets of clean and noisy samples, which are costly or infeasible to collect in exactly the domains where denoising matters most.&lt;/p&gt;
&lt;p&gt;Self-supervised blind-spot methods were the natural answer, and the criticism we make of them is specific rather than general. They avoid pairing, and they carry hidden modality assumptions. The tricks that make a blind-spot network work, such as masking pixels and predicting them from neighbours, rely on spatial correlation in images. Point clouds are unordered, and amino acid sequences are discrete and unstructured. A method that assumes nothing about the data can travel to those settings. One that quietly assumes spatial smoothness cannot, and the observable symptoms are oversmoothing and loss of fine detail.&lt;/p&gt;
&lt;p&gt;Domain-specific specialists have their own conditionalities. Noise2Noise can oversmooth fine anatomical structures. Patch2Self exploits redundancy across volumes but requires training a separate model per volume, which risks spatial inconsistency between them. DDM2 is sensitive to the initial noise level and to modality-specific tuning. In surface electromyography, high-pass filtering removes the ECG interference and removes important low-frequency components of the signal along with it, because the two overlap in frequency; template subtraction assumes a rigid distributional form; and neural approaches can be unstable to train. For protein sequence curation, the standard greedy selection on average Hamming distance rests on a single criterion that does not capture sequence quality more broadly.&lt;/p&gt;
&lt;p&gt;We summarize the positioning as a capability matrix rather than a benchmark table. The question is which methods are self-supervised and work on images, signals and point sets at once. Most of the field manages two of the three.&lt;/p&gt;
&lt;h2 id="what-makes-it-hard"&gt;What makes it hard&lt;/h2&gt;
&lt;p&gt;The inverse of a nonlinear corruption has no usable closed form. Reversing Poisson noise, compression, or a set-structured nuisance directly is difficult, and our own ablation shows what happens if you try: a single-pass network leaves the data essentially unchanged. Networks struggle to learn a large jump from noisy to clean in one step. That result is not an implementation failure. It is the reason the method is shaped the way it is.&lt;/p&gt;
&lt;p&gt;You also do not know how corrupted the input is. Nothing about a noisy sample announces its position on a corruption trajectory, so there is no way to decide how much to remove or how many steps to take.&lt;/p&gt;
&lt;p&gt;Self-supervision has to be manufactured rather than found. Without pairs, the only available labels are ones you create yourself, and they have to serve two purposes: how far along the corruption the input sits, and what the next increment looks like.&lt;/p&gt;
&lt;p&gt;And sometimes the noise is not a value at all. An incorrect correspondence, an invalid line segment, or a redundant sequence is not a magnitude added to anything. It is a decision about an element. Before any of that can be subtracted, the nuisance has to be recast as a per-element property, which is why those tasks use a binary classification objective rather than a regression on residuals.&lt;/p&gt;
&lt;p&gt;Unordered and discrete data break the usual priors outright. A point cloud has no ordering and a multiple sequence alignment is a set of discrete strings, so weight sharing over a spatial grid and convolution are simply unavailable.&lt;/p&gt;
&lt;p&gt;There is also a tradeoff baked into the formulation. The first-order approximation underneath our method only holds if the increments are small. Small increments buy linearity, and then cost you a long inference loop.&lt;/p&gt;
&lt;h2 id="restore-by-adding-noise"&gt;Restore by adding noise&lt;/h2&gt;
&lt;p&gt;The idea we started from is counterintuitive enough to state plainly. To learn how to remove noise, you first add more of it.&lt;/p&gt;
&lt;p&gt;A noisy observation is not a degraded version of a clean sample sitting off to one side. It is one state on a corruption trajectory, and you can continue that trajectory yourself. Take the noisy input as the starting point, apply the corruption process again and again, and you now have a labelled ladder: at every rung you know exactly how much noise separates it from the rung below, because you put it there.&lt;/p&gt;
&lt;p&gt;The move that makes this usable is a local linearization. Writing the corruption as a general operator and expanding to first order,&lt;/p&gt;
$$
s_t \approx s_{t-1} + \Delta s_{t-1}.
$$&lt;p&gt;The step from one rung to the next is treated as additive, which means its inverse is a subtraction. The residual the noise network is asked to predict is nothing more than the difference between two consecutive states that we generated. This is an approximation, and we say so: it implicitly assumes the Jacobian is close to identity, or that its effect is absorbed into the learned mapping.&lt;/p&gt;
&lt;p&gt;Everything else follows from that. The reverse step becomes tractable, and the training signal is free.&lt;/p&gt;
&lt;h2 id="two-networks-two-different-questions"&gt;Two networks, two different questions&lt;/h2&gt;
&lt;p&gt;The framework asks two separate questions, and keeping them separate is what makes one recipe portable across domains.&lt;/p&gt;
&lt;p&gt;The first is: where am I? A step prediction network regresses the input&amp;rsquo;s position on the trajectory, with the step normalized and a mean-squared objective. This is necessary before any amount of subtraction can be chosen, and it is where the method differs most from diffusion. Diffusion trains against a noise prediction derived from a fixed forward schedule. Here the step is estimated from the data itself, without assuming a fixed forward process.&lt;/p&gt;
&lt;p&gt;The second question is: what should be removed? The noise prediction network takes the current state and the estimated step and predicts the increment. The two networks are trained jointly, and the decoupling is deliberate: one decides how far to walk back, the other decides what to take off at each step.&lt;/p&gt;
&lt;p&gt;At inference the loop is a few lines. Estimate the current step, then subtract predicted increments until the step count reaches zero. A lightly corrupted input takes fewer steps than a heavily corrupted one, so the iteration count adapts to the data without a schedule.&lt;/p&gt;
&lt;p&gt;The reason for iterating at all, rather than removing everything at once, is that many small corrections preserve detail better than one large one. Oversmoothing is what happens when a single pass has to guess the whole distance.&lt;/p&gt;
&lt;p&gt;
&lt;figure id="figure-a-step-predictor-and-a-noise-predictor-are-trained-jointly-and-used-in-sequence-at-inference"&gt;
&lt;div class="flex justify-center"&gt;
&lt;div class="w-full"&gt;&lt;img
alt="Two networks answer how corrupted the input is and what to subtract next."
srcset="https://changnie.top/publications/mid/network-architectures_hu_1566b4edae827ea6.webp 320w, https://changnie.top/publications/mid/network-architectures_hu_3d6688501d42a2bc.webp 480w, https://changnie.top/publications/mid/network-architectures_hu_4cd67fbab398dbcf.webp 768w, https://changnie.top/publications/mid/network-architectures_hu_28438aab418e51ef.webp 1024w, https://changnie.top/publications/mid/network-architectures_hu_553f0d9f760b7cb3.webp 1080w"
sizes="(max-width: 480px) 100vw, (max-width: 768px) 90vw, (max-width: 1279px) 88vw, 928px"
src="https://changnie.top/publications/mid/network-architectures_hu_1566b4edae827ea6.webp"
width="1080"
height="628"
loading="lazy"
data-zoomable&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;a class="paper-image-original" href="https://changnie.top/publications/mid/network-architectures_hu_fa4ee4d0eff5ad1d.webp" target="_blank" rel="noopener"&gt;View full-size image ↗&lt;/a&gt;
&lt;figcaption&gt;A step predictor and a noise predictor are trained jointly and used in sequence at inference.&lt;/figcaption&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;figure id="figure-the-reverse-self-supervised-restoration-loop-walks-a-corrupted-input-back-down-the-trajectory-one-increment-at-a-time"&gt;
&lt;div class="flex justify-center"&gt;
&lt;div class="w-full"&gt;&lt;img
alt="Iterative subtraction recovers structure that a single pass leaves untouched."
srcset="https://changnie.top/publications/mid/image-denoising_hu_38c013594a842bfe.webp 320w, https://changnie.top/publications/mid/image-denoising_hu_d4013d48629c4df3.webp 480w, https://changnie.top/publications/mid/image-denoising_hu_a6f726418260f453.webp 768w, https://changnie.top/publications/mid/image-denoising_hu_c9f67438bb7be97e.webp 1024w, https://changnie.top/publications/mid/image-denoising_hu_1c90a075f53d86f0.webp 1080w"
sizes="(max-width: 480px) 100vw, (max-width: 768px) 90vw, (max-width: 1279px) 88vw, 928px"
src="https://changnie.top/publications/mid/image-denoising_hu_38c013594a842bfe.webp"
width="1080"
height="259"
loading="lazy"
data-zoomable&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;a class="paper-image-original" href="https://changnie.top/publications/mid/image-denoising_hu_64541d9ad19c83fc.webp" target="_blank" rel="noopener"&gt;View full-size image ↗&lt;/a&gt;
&lt;figcaption&gt;The reverse self-supervised restoration loop walks a corrupted input back down the trajectory one increment at a time.&lt;/figcaption&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 id="denoising-is-a-way-of-framing-a-problem"&gt;Denoising is a way of framing a problem&lt;/h2&gt;
&lt;p&gt;The most interesting part of this work, for us, is not the image results. It is what happens when the same formulation is pointed at problems that nobody would call denoising.&lt;/p&gt;
&lt;p&gt;Image correspondences become a four-dimensional point cloud, where a match is a point with two image coordinates in each view. Wrong matches are points that do not belong to the structure, and the network learns the broader features of incorrect correspondences rather than relying on a match score alone. Line segments used for vanishing point estimation become an unordered point cloud, and the model is trained by iteratively adding random segments as noise. Multiple sequence alignments are handled by treating redundant sequences with low average Hamming distance as noise. In that last case, the noise consists of real amino acid sequences, which is a fair demonstration that the framework is evaluating data quality rather than a synthetic artifact.&lt;/p&gt;
&lt;p&gt;What this shows is that denoising is a task framing rather than a data type. Once the nuisance is expressed as something removable, outlier rejection in geometric estimation, correspondence pruning, line filtering and sequence subsampling turn out to be the same problem wearing different clothes.&lt;/p&gt;
&lt;p&gt;Two design details follow from the same insight. Multiplicative noise can be made additive in the log domain, which the paper notes and uses. And for point-set tasks the noise objective is a per-element binary cross-entropy, not an additional penalty term on top of a regression. The network is not asked how much to subtract from a wrong correspondence. It is asked whether that element should be there at all.&lt;/p&gt;
&lt;p&gt;
&lt;figure id="figure-the-same-formulation-that-removes-image-noise-also-identifies-incorrect-matches"&gt;
&lt;div class="flex justify-center"&gt;
&lt;div class="w-full"&gt;&lt;img
alt="Wrong correspondences become outliers in a four-dimensional point set."
srcset="https://changnie.top/publications/mid/correspondence-denoising_hu_384e7d642645887c.webp 320w, https://changnie.top/publications/mid/correspondence-denoising_hu_b86519a7e26fee12.webp 480w, https://changnie.top/publications/mid/correspondence-denoising_hu_48a0f8276de9c668.webp 768w, https://changnie.top/publications/mid/correspondence-denoising_hu_a5fdc047910ecfaa.webp 1024w, https://changnie.top/publications/mid/correspondence-denoising_hu_5b7e4b93230745b7.webp 1080w"
sizes="(max-width: 480px) 100vw, (max-width: 768px) 90vw, (max-width: 1279px) 88vw, 928px"
src="https://changnie.top/publications/mid/correspondence-denoising_hu_384e7d642645887c.webp"
width="1080"
height="620"
loading="lazy"
data-zoomable&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;a class="paper-image-original" href="https://changnie.top/publications/mid/correspondence-denoising_hu_c9d0cec14d99bfe6.webp" target="_blank" rel="noopener"&gt;View full-size image ↗&lt;/a&gt;
&lt;figcaption&gt;The same formulation that removes image noise also identifies incorrect matches.&lt;/figcaption&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 id="how-it-is-built"&gt;How it is built&lt;/h2&gt;
&lt;p&gt;For images and medical volumes, a CNN backbone handles the step predictor with fully connected layers on top, and a CNN encoder-decoder predicts the increments. For point sets and one-dimensional signals, including correspondences, line segments, amino acid sequences and surface EMG, both networks use fully connected layers with a Transformer encoder-decoder. The reason is the one given above: convolutions assume a spatial ordering that unordered sets do not have, so the architecture changes with the data rather than the other way around.&lt;/p&gt;
&lt;p&gt;None of the domains get a bespoke formulation. That was the point of building it this way. One method, applied to image speckle, MRI noise, muscle-signal contamination, geometric outliers, wrong correspondences, invalid line segments, and redundant protein sequences, with only the backbone changing.&lt;/p&gt;
&lt;p&gt;
&lt;figure id="figure-the-nuisance-here-consists-of-real-sequences-rather-than-synthetic-artifacts"&gt;
&lt;div class="flex justify-center"&gt;
&lt;div class="w-full"&gt;&lt;img
alt="Redundant sequences are treated as noise in an alignment."
srcset="https://changnie.top/publications/mid/protein-results_hu_f9ab750505dcc426.webp 320w, https://changnie.top/publications/mid/protein-results_hu_8401d6fafd7bea6d.webp 480w, https://changnie.top/publications/mid/protein-results_hu_b1d1879395a11d07.webp 768w, https://changnie.top/publications/mid/protein-results_hu_bc71e08d021ad784.webp 1024w, https://changnie.top/publications/mid/protein-results_hu_5742a2f6db1c7cf5.webp 1080w"
sizes="(max-width: 480px) 100vw, (max-width: 768px) 90vw, (max-width: 1279px) 88vw, 928px"
src="https://changnie.top/publications/mid/protein-results_hu_f9ab750505dcc426.webp"
width="1080"
height="512"
loading="lazy"
data-zoomable&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;a class="paper-image-original" href="https://changnie.top/publications/mid/protein-results_hu_69bfd938f8834507.webp" target="_blank" rel="noopener"&gt;View full-size image ↗&lt;/a&gt;
&lt;figcaption&gt;The nuisance here consists of real sequences rather than synthetic artifacts.&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;Supervision can be manufactured by continuing a corruption you can simulate, rather than by obtaining the clean endpoint. That single substitution is what makes the framework applicable where paired data does not exist.&lt;/p&gt;
&lt;p&gt;Local linearization plus iteration converts an intractable global inverse into a sequence of tractable local ones, and the ablation is the evidence. When the single-pass model fails, the right response is not a larger model. It is decomposition.&lt;/p&gt;
&lt;p&gt;Separating where am I from what should be removed is what makes one framework portable. That decoupling, more than any architectural choice, is the reusable part.&lt;/p&gt;
&lt;p&gt;Self-supervision strategies carry hidden modality assumptions, and it is worth auditing them. A formulation that asserts nothing about the structure of the data will travel further than one that quietly requires smoothness.&lt;/p&gt;
&lt;p&gt;And iteration is a detail-preservation mechanism, not just an optimization convenience.&lt;/p&gt;
&lt;h2 id="where-it-stops"&gt;Where it stops&lt;/h2&gt;
&lt;p&gt;Extreme noise is the stated failure mode. When the signal structure is almost entirely obscured, iterative subtraction has too little partial structure to work from, and generative priors are the direction we point to for future work.&lt;/p&gt;
&lt;p&gt;The second cost is time. Iterating is inherently slower than a single-pass denoiser, which is a bottleneck for real-time use. Knowledge distillation and more efficient sampling are the remedies we suggest.&lt;/p&gt;
&lt;p&gt;Two things are visible in the method that we did not fully characterize. The number of corruption steps and the magnitude of each increment are design choices rather than derived quantities, and we did not study the sensitivity to them. Errors in the estimated step also compound across the subtractions that follow, and that propagation deserves more attention than we gave it.&lt;/p&gt;
&lt;h2 id="what-kind-of-model-this-is"&gt;What kind of model this is&lt;/h2&gt;
&lt;p&gt;It is worth being explicit about one boundary, because it comes up in every conversation about this work. MID is not a generative model. Diffusion models minimize a noise prediction loss derived from a fixed forward schedule and can sample new data from the learned distribution. MID is an iterative, self-supervised noise subtractor that learns the structure of the noise present in its target domain and removes it. The output is a cleaner version of the input, not a new sample.&lt;/p&gt;
&lt;p&gt;That distinction is what keeps the framework honest about what it can promise. It removes what it was trained to recognize. Anything else is a different problem.&lt;/p&gt;</description></item><item><title>Towards the Vision-Sound-Language-Action Paradigm: The HEAR Framework for Sound-Centric Manipulation</title><link>https://changnie.top/publications/hear/</link><pubDate>Tue, 17 Mar 2026 03:22:30 +0000</pubDate><guid>https://changnie.top/publications/hear/</guid><description>&lt;h2 id="robots-that-cannot-hear-the-physics"&gt;Robots that cannot hear the physics&lt;/h2&gt;
&lt;p&gt;Current vision-language-action models see, understand language, and move. What they do not do is listen. They operate in what amounts to a silent world, even though the robot&amp;rsquo;s own environment is full of sound that encodes physical state the cameras cannot recover: liquid starting to sputter as it boils, the sharp click of a collision, the difference in timbre between a full container and an empty one, the moment a material stops flexing and starts cracking.&lt;/p&gt;
&lt;p&gt;Contact acoustics are the cheapest tactile sensor available. A microphone is a few dollars, it needs no contact, and it covers the whole workspace at once. The case for using it is not speculative. The problem is that nobody has built a policy that can.&lt;/p&gt;
&lt;h2 id="the-cue-is-gone-before-the-policy-is-asked"&gt;The cue is gone before the policy is asked&lt;/h2&gt;
&lt;p&gt;The difficulty is not a modelling problem, and framing it that way is why earlier approaches have not solved it. It comes from the control architecture that makes large VLA models practical.&lt;/p&gt;
&lt;p&gt;A large backbone cannot run at control frequency. So the standard design chunks actions: the model produces a short sequence of future commands, the robot executes them open-loop, and only then does the model get queried again. That gap is where the physics happens. A collision, a boil-over, a completed press: these are brief, non-repeatable acoustic events, roughly on the order of a hundred milliseconds, and they routinely fall entirely inside the interval where the policy is not looking. The average chunk at 30 Hz is about a second long.&lt;/p&gt;
&lt;p&gt;The consequence is worth stating precisely, because it is not what people usually assume. A late reaction would be a delay. What actually happens is that the evidence is destroyed. The audio arrives, nothing is listening, and by the time the policy is queried again, the window contains only silence. If an event occupies samples that end before the next window opens, the window does not contain a weak version of that event. It contains nothing. We call the interval between decisions the Blind Execution Interval, and the word blind is doing real work.&lt;/p&gt;
&lt;p&gt;There is a second failure that has nothing to do with timing. Look at a robot that has been waiting beside a running appliance. If the scene is quasi-static, the current image looks the same whether it has been waiting one second or ten. The expert demonstrations differ, because the right next action depends on elapsed time, but the observation does not. A snapshot policy has no way to tell those situations apart, so it either drifts or freezes. This is the aliasing problem that temporal context is supposed to solve, and without audio it is genuinely unobservable.&lt;/p&gt;
&lt;h2 id="what-earlier-attempts-leave-out"&gt;What earlier attempts leave out&lt;/h2&gt;
&lt;p&gt;Turning audio into text is the obvious first instinct, and it loses the thing we need. Speech recognition front ends discard non-speech cues and prosody entirely, and they compress timing into discrete tokens. A beep produces nothing at all. More subtly, an affirmative &amp;ldquo;Yes!&amp;rdquo; and a doubtful &amp;ldquo;Yes?&amp;rdquo; collapse into nearly identical token sequences, so the difference in pragmatic intent disappears while transcription accuracy looks perfect.&lt;/p&gt;
&lt;p&gt;Rendering the waveform as an image and treating it as another camera view is the second instinct. It captures amplitude changes, and it obscures spectral structure: frequency contours and timbre, which is where material and contact information live. It is also sensitive to where the event happens to land inside the rendered window, so performance changes for reasons that have nothing to do with the physics.&lt;/p&gt;
&lt;p&gt;A more recent line adds speech to VLA models and preserves prosody and speaker identity. That is real progress, and it targets explicit verbal commands rather than the ambient acoustic physics of manipulation, which is a different problem. The omni-modal systems are closer still, and the reservation is structural: they are built to listen before acting, using sound to establish context or infer intent around an action, rather than as low-level feedback during contact. None of them address the misalignment between transient events and chunked execution, which is the actual bottleneck.&lt;/p&gt;
&lt;p&gt;Audio foundation models such as CLAP and ImageBind were trained on fixed-length clips, offline and independently. Deployed statelessly, they carry no temporal context across clips. Compact audio-native policies run fast and can handle contact, but their scale makes long-horizon, multi-stage behavior brittle. Processing audio natively turns out to be necessary and not sufficient.&lt;/p&gt;
&lt;p&gt;The shortcut worth naming is faster replanning. Truncate the chunk, query more often, and the blind interval shrinks. We tried the variants. It helps less than it looks like it should, and it pays in motion quality: discontinuous, jerky trajectories that introduce localized action loops. It also cannot fix system latency, which no query rate eliminates. A cue lost to latency is lost regardless of how often you ask.&lt;/p&gt;
&lt;p&gt;And the benchmarks are no help, because every standard simulator is silent. RLBench and ManiSkill test spatial reasoning and visual control in environments with no acoustic channel at all. Navigation benchmarks that do use sound let the agent move its base to improve its listening geometry, which is not an option for a manipulator that has to keep working while generating its own mechanical noise.&lt;/p&gt;
&lt;h2 id="separate-the-sensing-rate-from-the-decision-rate"&gt;Separate the sensing rate from the decision rate&lt;/h2&gt;
&lt;p&gt;Our answer comes from noticing that this is a rate mismatch, not an information deficit. The sound is there. The policy is simply asked too rarely to catch it.&lt;/p&gt;
&lt;p&gt;So instead of making the policy faster, we stop tying the two rates together. A persistent memory is updated continuously from the audio stream, packet by packet, independently of when the policy is queried. When a decision is finally requested, the memory already contains everything that arrived, including events that happened during blind intervals. The robot is not reacting to the last window. It is reacting to the last second of listening, with the recent history summarized.&lt;/p&gt;
&lt;p&gt;That is the core move, and everything else in the architecture is bookkeeping around it. There is something that remembers, something that interprets, something that predicts what comes next acoustically, and something that acts. We named them accordingly.&lt;/p&gt;
&lt;p&gt;Two constraints shaped the design. The first is that the audio path has to be causal in the strict sense: nothing may look at samples that have not arrived, and the tokenizer must produce codes for a segment from that segment alone. The second is that the memory horizon has to be a target, not a hope. It needs to cover the worst-case decision gap plus the measured system latency, otherwise the guarantee is only statistical.&lt;/p&gt;
&lt;h2 id="the-four-modules"&gt;The four modules&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Historizer.&lt;/strong&gt; Between two decision boundaries, the robot may receive a long run of consecutive audio packets, each about forty milliseconds. The Historizer consumes them as they arrive and updates a streaming stateful Transformer memory. The memory is read out at decision times and never otherwise. Its entire justification is the evidence-vanishing argument above: a window-only interface cannot represent something that happened just before the window opened. We also tried a causal GRU and exponential moving average pooling over audio features; the streaming attention&amp;rsquo;s extra capacity earned its place. We chose a short window with a persistent summary over a very long window, because long windows mix distinct interaction phases together and make the result sensitive to exactly where the window boundary falls.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Envisioner.&lt;/strong&gt; Interpretation is hierarchical, because the two jobs have very different frequencies. A high-level model reads the multi-view images, the current acoustic window, the instruction, proprioception and the memory, and produces three things: a semantic latent, a key-value cache, and a short structured description of the current task stage, something like &lt;code&gt;{&amp;quot;stage&amp;quot;: &amp;quot;wait&amp;quot;, &amp;quot;subgoal&amp;quot;: &amp;quot;listen for beep&amp;quot;}&lt;/code&gt;. That stage text comes from the high-level model&amp;rsquo;s own text head. A smaller low-level model then reuses the cache with the current robot state to produce the control feature. The split keeps expensive semantic interpretation out of the fast path. The stage supervision matters more than it might appear: without it, tasks that require a quick behavioral shift suffer, because nothing forces the latent to name the phase it is in, and the phases that matter acoustically are often visually identical.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Advancer.&lt;/strong&gt; This one predicts the audio that will arrive between the current decision and the next one, as discrete codes from the streaming tokenizer, trained by cross-entropy. It is used only during training and is dropped at deployment, so it costs nothing at inference time. Its purpose is to give the latent a concrete sense of elapsed time and process progression. Pouring, boiling, an alarm, a conversation: each has a different acoustic future, and predicting it forces the shared representation to encode where in the process the robot currently is. Without it, the failures look different from the Historizer&amp;rsquo;s. They happen late. The robot keeps pouring after the sound has already told it to stop. That asymmetry is how we knew the two modules were solving different problems rather than duplicating each other.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Realizer.&lt;/strong&gt; Actions are generated by conditional flow matching from a Gaussian prior to the action chunk, integrated in a handful of Euler steps, conditioned on the control feature through adaptive normalization. We used flow matching rather than diffusion for the step count. The detail worth dwelling on is why smoothness matters here. Replacing the Realizer with direct regression produces jitter, and jitter injects mechanical self-noise into the microphone signal, which masks the brief cues the rest of the system is trying to hear. A perception failure caused by a control choice. The sharpest version of the claim is that a policy which listens while moving has to move in a way that makes listening possible. Sensing and control are not separable in this setting.&lt;/p&gt;
&lt;p&gt;
&lt;figure id="figure-the-historizer-keeps-cues-that-arrive-inside-a-blind-execution-interval"&gt;
&lt;div class="flex justify-center"&gt;
&lt;div class="w-full"&gt;&lt;img
alt="Streaming acoustic memory is updated between decisions, not at them."
srcset="https://changnie.top/publications/hear/historizer_hu_5775766af414d6a.webp 320w, https://changnie.top/publications/hear/historizer_hu_13f6c5b482f778fe.webp 480w, https://changnie.top/publications/hear/historizer_hu_c2043cf73939453.webp 768w, https://changnie.top/publications/hear/historizer_hu_571c9baa7055bd3b.webp 1024w, https://changnie.top/publications/hear/historizer_hu_7dc5b642df919551.webp 1080w"
sizes="(max-width: 480px) 100vw, (max-width: 768px) 90vw, (max-width: 1279px) 88vw, 928px"
src="https://changnie.top/publications/hear/historizer_hu_5775766af414d6a.webp"
width="1080"
height="377"
loading="lazy"
data-zoomable&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;a class="paper-image-original" href="https://changnie.top/publications/hear/historizer_hu_2b708e5b0ccd7030.webp" target="_blank" rel="noopener"&gt;View full-size image ↗&lt;/a&gt;
&lt;figcaption&gt;The Historizer keeps cues that arrive inside a blind execution interval.&lt;/figcaption&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;figure id="figure-a-high-level-model-produces-semantics-and-task-stage-a-low-level-model-produces-the-control-feature"&gt;
&lt;div class="flex justify-center"&gt;
&lt;div class="w-full"&gt;&lt;img
alt="Interpretation is split across two frequencies."
srcset="https://changnie.top/publications/hear/envisioner_hu_25efdc49c4b0ce28.webp 320w, https://changnie.top/publications/hear/envisioner_hu_e5e2e91b89c075b8.webp 480w, https://changnie.top/publications/hear/envisioner_hu_432220cd04fe3b52.webp 768w, https://changnie.top/publications/hear/envisioner_hu_5d4684697deb2a8.webp 1024w, https://changnie.top/publications/hear/envisioner_hu_5b4a043e470a3db2.webp 1080w"
sizes="(max-width: 480px) 100vw, (max-width: 768px) 90vw, (max-width: 1279px) 88vw, 928px"
src="https://changnie.top/publications/hear/envisioner_hu_25efdc49c4b0ce28.webp"
width="1080"
height="632"
loading="lazy"
data-zoomable&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;a class="paper-image-original" href="https://changnie.top/publications/hear/envisioner_hu_3d67c13584ab2b64.webp" target="_blank" rel="noopener"&gt;View full-size image ↗&lt;/a&gt;
&lt;figcaption&gt;A high-level model produces semantics and task stage; a low-level model produces the control feature.&lt;/figcaption&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;figure id="figure-the-advancer-is-used-only-during-training-and-is-removed-at-deployment"&gt;
&lt;div class="flex justify-center"&gt;
&lt;div class="w-full"&gt;&lt;img
alt="Predicting the near-future acoustics grounds the shared latent in time."
srcset="https://changnie.top/publications/hear/advancer_hu_2dd69770add3e46c.webp 320w, https://changnie.top/publications/hear/advancer_hu_31e0ee192dabe13.webp 480w, https://changnie.top/publications/hear/advancer_hu_adbad00a1a70109e.webp 768w, https://changnie.top/publications/hear/advancer_hu_955a3b5692d23ff2.webp 1024w, https://changnie.top/publications/hear/advancer_hu_2b7adb955b3e3f6b.webp 1080w"
sizes="(max-width: 480px) 100vw, (max-width: 768px) 90vw, (max-width: 1279px) 88vw, 928px"
src="https://changnie.top/publications/hear/advancer_hu_2dd69770add3e46c.webp"
width="1080"
height="515"
loading="lazy"
data-zoomable&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;a class="paper-image-original" href="https://changnie.top/publications/hear/advancer_hu_52d059a3da52f908.webp" target="_blank" rel="noopener"&gt;View full-size image ↗&lt;/a&gt;
&lt;figcaption&gt;The Advancer is used only during training and is removed at deployment.&lt;/figcaption&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;The three objectives are summed with weights that ramp in over the first part of fine-tuning, so the model learns imitation before it is asked to be temporally grounded.&lt;/p&gt;
&lt;h2 id="where-the-data-came-from-since-it-did-not-exist"&gt;Where the data came from, since it did not exist&lt;/h2&gt;
&lt;p&gt;No robot dataset contains synchronized audio. Open X-Embodiment has no microphones at all, real synchronized audio is noisy and hardware-specific and does not scale across labs, and no standard simulator models acoustics.&lt;/p&gt;
&lt;p&gt;We built both pieces. OpenX-Sound retrofits audio onto existing episodes from video, preserving every original signal, and we audited a sample of it by hand for synchronization and semantic relevance. We are explicit that this is a bootstrapping mechanism for representation learning and not a substitute for physical data: synthesized audio can omit subtle contact cues, shift event timing, or hallucinate a sound with no physical source. Every result in the paper fine-tunes an OpenX-Sound checkpoint on real task-specific demonstrations with real audio. The synthesized audio is what makes a pretrained acoustic prior possible, not what makes the behavior work.&lt;/p&gt;
&lt;p&gt;HEAR-Bench is the other half. Built on a dual-arm simulator, it runs an asynchronous audio thread that injects ambient noise and trigger clips at the exact sample index implied by the control cycle, and it scores success only if the geometric goal is reached after the cue. That timing rule is the whole contribution. Without it, pressing a button the instant the episode starts and pressing it when the alarm actually rings look identical.&lt;/p&gt;
&lt;h2 id="rigorous-real-robot-experiment-design-why-these-tasks"&gt;Rigorous Real-Robot Experiment Design: Why These Tasks?&lt;/h2&gt;
&lt;p&gt;When validating the acoustic manipulation capabilities of end-to-end multimodal Vision-Language-Action (VLA) foundation models, we deliberately avoided arbitrary toy benchmarks. Instead, we designed each real-world robotic evaluation specifically targeting the fundamental physical blind spots of vision-only policies:&lt;/p&gt;
&lt;h3 id="1-moka-pot-coffee-brewing-a-true-barista-robot-vs-superficial-button-pushing"&gt;1. Moka Pot Coffee Brewing: A True Barista Robot vs. Superficial Button-Pushing&lt;/h3&gt;
&lt;p&gt;The vast majority of existing demonstrations claiming &amp;ldquo;robot coffee brewing&amp;rdquo; merely involve a mechanical arm approaching a commercial capsule or fully automated pod coffee machine, executing an open-loop press on a static plastic button, and idly waiting while internal integrated circuits run a blind timer. Such setups require zero perception of the underlying physical state—they are glorified mechanical switch activators, indifferent to fluid dynamics, thermal phase changes, or culinary progression.&lt;/p&gt;
&lt;p&gt;In contrast, our setup places an authentic dual-chamber metal Italian moka pot on an active electric cooktop. The moka pot consists of fully opaque metal walls; the boiling pressurized water in the boiler, the compacted coffee puck in the funnel filter, and the ascending extraction column inside the collector chimney remain entirely concealed from view. External RGB cameras and infrared depth sensors cannot penetrate the metal shell to observe fluid levels or thermodynamic transitions.&lt;/p&gt;
&lt;p&gt;A seasoned master barista relies neither on stopwatches nor visual inspection; extraction cutoff is governed purely by ear:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Silent Heating Phase&lt;/strong&gt;: Water temperature climbs gradually with negligible acoustic emission beyond faint thermal conduction;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Smooth Boiling &amp;amp; Laminar Extraction Phase&lt;/strong&gt;: Saturated steam pressure forces water smoothly through the coffee puck, producing a continuous, gentle, muffled bubbling sound;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Violent Sputtering Phase (Cavitation &amp;amp; Steam Eruption)&lt;/strong&gt;: As boiler water nears depletion, high-temperature steam mixes with residual liquid to produce a violent, unmistakable high-frequency sputtering and hissing eruption through the extraction chimney.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;This acoustic inflection point is the decisive boundary in coffee extraction: removing the pot one second too early yields sour, under-extracted, watery coffee; leaving it on the heat two seconds too late causes dry-boil scorching, bitterness, and permanent thermal damage to the moka pot base.&lt;/p&gt;
&lt;p&gt;HEAR functions as a genuine barista robot: powered by the end-to-end VLA foundation model, it continuously analyzes high-frequency spectral transitions in real time. The moment the distinctive micro-sputtering signature emerges, the policy issues action chunks with millisecond-level responsiveness, smoothly lifting the moka pot away from the heating burner.&lt;/p&gt;
&lt;p&gt;
&lt;figure id="figure-contrasting-superficial-open-loop-button-pressing-with-hears-acoustic-monitoring-of-internal-thermodynamic-phase-transitions-inside-an-opaque-metal-moka-pot"&gt;
&lt;div class="flex justify-center"&gt;
&lt;div class="w-full"&gt;&lt;img alt="Conventional robot coffee vs HEAR acoustic barista" src="https://changnie.top/publications/hear/moka-contrast.svg" loading="lazy" data-zoomable&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;a class="paper-image-original" href="https://changnie.top/publications/hear/moka-contrast.svg" target="_blank" rel="noopener"&gt;View full-size image ↗&lt;/a&gt;
&lt;figcaption&gt;Contrasting superficial open-loop button pressing with HEAR&amp;rsquo;s acoustic monitoring of internal thermodynamic phase transitions inside an opaque metal moka pot.&lt;/figcaption&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h3 id="2-shaking-a-bottle-active-acoustic-probing"&gt;2. Shaking a Bottle: Active Acoustic Probing&lt;/h3&gt;
&lt;p&gt;In everyday physical environments, numerous pill bottles, opaque jars, and enclosed canisters conceal their contents entirely. Passive vision fails fundamentally in such settings—no matter how many camera viewpoints or lighting angles are deployed, the exterior surface remains completely static.&lt;/p&gt;
&lt;p&gt;To overcome this, the robot must exhibit &lt;em&gt;Active Exploration&lt;/em&gt;: it must grasp and shake the container to inject mechanical energy, exciting internal collisions. By decoding the resonant damping, impact frequencies, and high-frequency collision timbres of the internal objects against the container walls, the model disambiguates the presence, material properties, and fill level of the enclosed items. In our real-robot demonstration, we deploy an occupied container filled with loose objects, showing how the robot actively shakes the bottle, decodes transient collision acoustics, and executes informed downstream classification.&lt;/p&gt;
&lt;h3 id="3-real-alarm-clock-resolving-temporal-aliasing-under-quasi-static-vision"&gt;3. Real Alarm Clock: Resolving Temporal Aliasing Under Quasi-Static Vision&lt;/h3&gt;
&lt;p&gt;An alarm clock in its silent standby state and active ringing state can appear visually indistinguishable. Lacking acoustic feedback, naive end-to-end policies succumb to shortcut learning, prematurely hitting the stop button at the very start of the episode. Our benchmark enforces that the stop button must be actuated only after the acoustic trigger chime sounds, directly probing whether the multimodal VLA accurately aligns actions with transient acoustic timing cues.&lt;/p&gt;
&lt;h3 id="4-pouring-into-opaque-containers-and-answering-phone-calls"&gt;4. Pouring into Opaque Containers and Answering Phone Calls&lt;/h3&gt;
&lt;p&gt;Pouring water into an opaque cup represents the canonical scenario where sound is the sole observable state signal. Fluid levels are strictly occluded; the true decision variable is the continuous frequency drift rate of the pouring stream resonating within the shrinking acoustic cavity. Similarly, answering a phone call assesses multi-stage temporal state machines: the robot approaches upon hearing the ringing chime, remains stationary during the caller&amp;rsquo;s acoustic pauses, and docks the receiver only when the terminal dial tone registers.&lt;/p&gt;
&lt;section class="hear-video-gallery not-prose" aria-label="HEAR real-robot experiment videos"&gt;
&lt;div class="hear-video-gallery__heading"&gt;
&lt;h3&gt;Real-robot experiments&lt;/h3&gt;
&lt;p&gt;All demonstrations include their recorded audio. Select a video to play it.&lt;/p&gt;
&lt;/div&gt;
&lt;div class="hear-video-gallery__grid"&gt;&lt;figure class="hear-video-gallery__card"&gt;
&lt;video controls playsinline preload="none" poster="/media/hear/posters/moka-coffee.jpg" aria-label="Moka Coffee"&gt;
&lt;source src="https://changnie.top/media/hear/videos/moka_pot_all_web.mp4" type="video/mp4"&gt;
&lt;track kind="captions" src="https://changnie.top/media/hear/captions/moka-coffee.en.vtt" srclang="en" label="English"&gt;
&lt;/video&gt;
&lt;figcaption&gt;&lt;strong&gt;Moka Coffee&lt;/strong&gt;&lt;span&gt;The robot listens for the acoustic sputtering phase inside the opaque pot before removing it from heat.&lt;/span&gt;&lt;/figcaption&gt;
&lt;/figure&gt;&lt;figure class="hear-video-gallery__card"&gt;
&lt;video controls playsinline preload="none" poster="/media/hear/posters/answer-phone.jpg" aria-label="Answer Phone"&gt;
&lt;source src="https://changnie.top/media/hear/videos/telephone_all.mp4" type="video/mp4"&gt;
&lt;track kind="captions" src="https://changnie.top/media/hear/captions/answer-phone.en.vtt" srclang="en" label="English"&gt;
&lt;/video&gt;
&lt;figcaption&gt;&lt;strong&gt;Answer Phone&lt;/strong&gt;&lt;span&gt;Ringing, speech, and the end of a call distinguish visually similar task stages.&lt;/span&gt;&lt;/figcaption&gt;
&lt;/figure&gt;&lt;figure class="hear-video-gallery__card"&gt;
&lt;video controls playsinline preload="none" poster="/media/hear/posters/shake-bottle-occupied.jpg" aria-label="Shake Bottle"&gt;
&lt;source src="https://changnie.top/media/hear/videos/occupied_all.mp4" type="video/mp4"&gt;
&lt;track kind="captions" src="https://changnie.top/media/hear/captions/shake-occupied.en.vtt" srclang="en" label="English"&gt;
&lt;/video&gt;
&lt;figcaption&gt;&lt;strong&gt;Shake Bottle&lt;/strong&gt;&lt;span&gt;The robot actively shakes an opaque container, discerning internal contents from collision acoustics.&lt;/span&gt;&lt;/figcaption&gt;
&lt;/figure&gt;&lt;figure class="hear-video-gallery__card"&gt;
&lt;video controls playsinline preload="none" poster="/media/hear/posters/real-alarm-clock.jpg" aria-label="Real Alarm Clock"&gt;
&lt;source src="https://changnie.top/media/hear/videos/alarm_all.mp4" type="video/mp4"&gt;
&lt;track kind="captions" src="https://changnie.top/media/hear/captions/real-alarm-clock.en.vtt" srclang="en" label="English"&gt;
&lt;/video&gt;
&lt;figcaption&gt;&lt;strong&gt;Real Alarm Clock&lt;/strong&gt;&lt;span&gt;The robot waits for the alarm before pressing the stop button.&lt;/span&gt;&lt;/figcaption&gt;
&lt;/figure&gt;&lt;/div&gt;
&lt;/section&gt;
&lt;h2 id="core-insights-and-engineering-takeaways"&gt;Core Insights and Engineering Takeaways&lt;/h2&gt;
&lt;p&gt;Integrating high-frequency continuous acoustic feedback into end-to-end embodied foundation models (VLA) demands far more than appending an extra feature dimension to the visual tokenizer. Conventional paradigms treat sound as an auxiliary camera stream, yet the physics of sound is intrinsically event-driven, high-frequency, and transient. Grounding it in robotic action mandates resolving the fundamental architectural tension between continuous acoustic cadence and chunked control loops.&lt;/p&gt;
&lt;p&gt;This structural tension extends well beyond sound. Any physical contact modality that generates rapid, non-repeatable events faster than the policy&amp;rsquo;s replanning frequency—most notably high-frequency tactile arrays and micro-vibrations—encounters identical rate-mismatch bottlenecks. This asymmetry cannot be bypassed by merely optimizing the inference throughput of large foundation models.&lt;/p&gt;
&lt;p&gt;Artificially increasing the model&amp;rsquo;s query rate fails for structural reasons rather than tuning deficiencies: truncating action chunks trades long-horizon trajectory smoothness for erratic reactivity, injecting severe mechanical jitter and self-noise directly into the sensory stream. The only robust solution is decoupling perception cadence from decision loops via explicit streaming causal memory. Auxiliary acoustic future prediction objectives ground shared representations in physical time at zero inference overhead, while rigorously timed causal benchmarks transform &amp;ldquo;appearing visually plausible&amp;rdquo; into &amp;ldquo;authentically listening to the physical world.&amp;rdquo;&lt;/p&gt;
&lt;h2 id="what-it-cannot-do-yet"&gt;What It Cannot Do Yet&lt;/h2&gt;
&lt;p&gt;One workspace microphone means no source localization and no separation of overlapping events, which is functionally the cocktail party problem. We would want an array, or a base-plus-end-effector pair for beamforming. The system is trained purely by offline imitation, so its robustness is bounded by the diversity of noise and timing variation in the demonstrations; online fine-tuning or reinforcement learning in the deployed room is the obvious remedy. Audio and vision are processed as separate streams and fused at the representation level, and we suspect native audio-visual encoders that associate timbre with contact directly would do better. And unconstrained real-world cooking acoustics remain an open problem, with real deployment markedly harder than simulation.&lt;/p&gt;
&lt;h2 id="the-larger-frame"&gt;The Larger Frame&lt;/h2&gt;
&lt;p&gt;The tension we started from, between high-frequency transient sensory events and low-frequency delayed policy updates, is not specific to sound. It will show up for every physical modality that carries information in its timing. HEAR is our attempt to show that the fix is architectural, and to leave behind the pieces—the VSLA formulation, the pretraining corpus, and the benchmark—that let other researchers build further on this foundation.&lt;/p&gt;</description></item><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>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>