<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Autonomous Driving | Chang Nie</title><link>https://changnie.top/tags/autonomous-driving/</link><atom:link href="https://changnie.top/tags/autonomous-driving/index.xml" rel="self" type="application/rss+xml"/><description>Autonomous Driving</description><generator>HugoBlox Kit (https://hugoblox.com)</generator><language>en-us</language><lastBuildDate>Sat, 31 Jan 2026 00:00:00 +0000</lastBuildDate><image><url>https://changnie.top/media/icon_hu_3dd7560279821d57.png</url><title>Autonomous Driving</title><link>https://changnie.top/tags/autonomous-driving/</link></image><item><title>Production-Grade 4D Auto-Annotation: Multi-Camera Rig SfM &amp; High-Precision Geometry</title><link>https://changnie.top/projects/sfm/</link><pubDate>Thu, 20 Jun 2024 00:00:00 +0000</pubDate><guid>https://changnie.top/projects/sfm/</guid><description>&lt;h2 id="project-context-title"&gt;Project context&lt;/h2&gt;
&lt;section class="project-overview" aria-labelledby="project-context-title"&gt;
&lt;p class="project-overview__collaboration"&gt;&lt;strong&gt;NETA Auto Collaboration · Automotive 3D Reconstruction &amp;amp; 4D Annotation&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Meeting the demand for massive high-precision training ground truth in autonomous driving, this project established an industrial data pipeline spanning sensor sync, semantic perception, fused localization, rig SfM, and multi-run map aggregation, substantially improving offline labeling throughput.&lt;/p&gt;
&lt;dl&gt;
&lt;div&gt;&lt;dt&gt;Production Deliverables &amp;amp; Automotive Validation&lt;/dt&gt;&lt;dd&gt;Automotive 4D auto-annotation production pipeline; processed 1,000&amp;#43; km fleet data (sub-5 cm cross-run registration), online extrinsic self-calibration, and 80%&amp;#43; labeling efficiency gain&lt;/dd&gt;&lt;/div&gt;
&lt;/dl&gt;
&lt;/section&gt;
&lt;h2 id="my-contributions"&gt;My contributions&lt;/h2&gt;
&lt;p class="project-role"&gt;Led a 5-person algorithm team engineering the multi-camera 3D reconstruction and 4D annotation pipeline; processed 1,000&amp;#43; km multi-run fleet data with sub-5 cm cross-run spatial alignment, boosting annotation efficiency by over 80%.&lt;/p&gt;
&lt;p&gt;As autonomous driving perception models shift from single-frame monocular detection toward bird&amp;rsquo;s-eye-view (BEV) architectures, 3D occupancy networks, and end-to-end foundation models, the availability of massive, temporally consistent 4D ground truth—encompassing metric road surfaces, 3D lane topologies, and static infrastructure—has become the definitive catalyst for algorithmic advancement.&lt;/p&gt;
&lt;p&gt;Conventional workflows relying on mobile LiDAR scanning paired with manual outsourcing suffer from long turnaround times, high labeling costs, and limited generalization across heterogeneous sensor layouts. However, naively transplanting classical Structure-from-Motion (SfM) pipelines directly onto vehicle surround-view video streams immediately encounters severe physical and mathematical degeneracies: collinear motion corridors, textureless road surfaces, moving self-vehicle shadows, and unconstrained camera extrinsics drift.&lt;/p&gt;
&lt;p&gt;In partnership with leading electric vehicle manufacturer NETA Auto, we developed and deployed an automotive-grade 4D vision auto-annotation data factory. As Project Tech Lead, I directed the overall algorithmic architecture and led the development of the core rigid multi-camera rig SfM reconstruction engine, ground-feature decoupling, spatiotemporal-guided dense multi-view stereo, and multi-session cross-epoch aggregation. The core geometric optimization principles and engineering systems developed during this industrial deployment were subsequently published at
.&lt;/p&gt;
&lt;h2 id="why-driving-scenarios-break-classic-sfm"&gt;Why Driving Scenarios Break Classic SfM&lt;/h2&gt;
&lt;p&gt;In standard photogrammetry textbooks, classic SfM frameworks (such as COLMAP or VisualSFM) are built on the foundational assumption of an operator walking around an isolated, static monument with a single camera, capturing omnidirectional views with wide convergent baselines. Onboard vehicular data collected on highways and urban thoroughfares violates nearly every one of these assumptions:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Straight Corridor Motion &amp;amp; Collinear Triangulation Degeneracy&lt;/strong&gt;:
On highways and arterial avenues, vehicles travel along straight corridors for kilometers at a time. The optical centers of front and rear cameras align along a 1D straight line. In multi-view epipolar geometry, pure forward translation with collinear centers is ill-conditioned. When moving directly forward along the optical axis, the epipole coincides with the image principal center. Rays originating near the optical axis intersect at near-zero parallax angles. Sub-pixel feature matching noise is amplified along the longitudinal axis, causing reconstructed 3D points to stretch and drift along the direction of travel.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Extrinsics Drift in Unconstrained Multi-Camera Optimization&lt;/strong&gt;:
Production autonomous vehicles feature 6 to 8 surround cameras rigidly bolted to the vehicle body (front wide, front telephoto, front-left, front-right, rear-left, rear-right). Standard SfM treats each camera at each timestamp as an unconstrained 6-DoF pose variable. For an $N$-frame sequence, this introduces $6N$ independent pose variables. As pairwise feature matching accumulates noise, unconstrained optimization causes the physically rigid sensor extrinsics to artificially drift over time, introducing severe ghosting and discontinuous stitching artifacts in downstream BEV projections.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Textureless Asphalt &amp;amp; Moving Self-Vehicle Shadows&lt;/strong&gt;:
The lower half of onboard camera images is dominated by asphalt surfaces covering $&gt;40\%$ of the image area. Asphalt is visually homogeneous, lacking sharp corner features under direct sunlight. Even more destructive is the vehicle&amp;rsquo;s dynamic shadow cast onto the road surface: the shadow boundary presents high-contrast, sharp edges that classical feature detectors (such as SIFT or Harris) aggressively extract as salient landmarks. However, the shadow translates synchronously with the vehicle, violating the static scene assumption. Triangulating shadow features forces the optimizer to fit non-existent points beneath the chassis, pulling vehicle trajectory estimates off course.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Multi-Session Cross-Epoch Aggregation Without Shared Image Matches&lt;/strong&gt;:
Autonomous driving maps require merging multiple independent drives through the same intersection collected across different days (e.g., overcast Monday morning vs. sunset Friday evening). Variable solar angles, changing shadows, and transient traffic mean disparate driving runs share zero visual feature correspondences, leaving independent reconstructions geometrically isolated.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="full-pipeline-architecture-from-raw-logs-to-4d-vector-maps"&gt;Full Pipeline Architecture: From Raw Logs to 4D Vector Maps&lt;/h2&gt;
&lt;p&gt;To process tens of thousands of kilometers of production fleet video logs with high throughput, we established a decoupled, fail-safe processing pipeline:&lt;/p&gt;
&lt;section class="project-system-map" aria-labelledby="project-system-map-title"&gt;
&lt;header&gt;
&lt;span&gt;Wider program&lt;/span&gt;
&lt;h3 id="project-system-map-title"&gt;4D vision auto-annotation system&lt;/h3&gt;
&lt;p&gt;From synchronized vehicle data to a structured local map, with multi-camera SfM supplying geometry for annotation and mapping.&lt;/p&gt;
&lt;/header&gt;
&lt;div class="project-system-map__flow"&gt;
&lt;div class="project-system-map__group"&gt;
&lt;span&gt;Upstream foundations&lt;/span&gt;
&lt;div class="project-system-map__grid"&gt;
&lt;div class="project-system-map__stage"&gt;&lt;span&gt;01&lt;/span&gt;&lt;strong&gt;Data preparation&lt;/strong&gt;&lt;small&gt;Cameras · IMU · GNSS · chassis · calibration&lt;/small&gt;&lt;/div&gt;
&lt;div class="project-system-map__stage"&gt;&lt;span&gt;02&lt;/span&gt;&lt;strong&gt;Semantic perception&lt;/strong&gt;&lt;small&gt;Scene and lane masks&lt;/small&gt;&lt;/div&gt;
&lt;div class="project-system-map__stage"&gt;&lt;span&gt;03&lt;/span&gt;&lt;strong&gt;Sensor-fusion localization&lt;/strong&gt;&lt;small&gt;Metric vehicle trajectory&lt;/small&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;i aria-hidden="true"&gt;↓&lt;/i&gt;
&lt;div class="project-system-map__stage is-owned"&gt;&lt;span&gt;04 · My geometry work&lt;/span&gt;&lt;strong&gt;Multi-camera SfM reconstruction and system interfaces&lt;/strong&gt;&lt;small&gt;Program coordination · poses and extrinsics · sparse/dense geometry · downstream delivery&lt;/small&gt;&lt;/div&gt;
&lt;i aria-hidden="true"&gt;↓&lt;/i&gt;
&lt;div class="project-system-map__group"&gt;
&lt;span&gt;Downstream applications&lt;/span&gt;
&lt;div class="project-system-map__grid"&gt;
&lt;div class="project-system-map__stage"&gt;&lt;span&gt;05&lt;/span&gt;&lt;strong&gt;Ground reconstruction&lt;/strong&gt;&lt;small&gt;Dense road surface&lt;/small&gt;&lt;/div&gt;
&lt;div class="project-system-map__stage"&gt;&lt;span&gt;06&lt;/span&gt;&lt;strong&gt;Auto-annotation&lt;/strong&gt;&lt;small&gt;Lanes · signs · static elements&lt;/small&gt;&lt;/div&gt;
&lt;div class="project-system-map__stage"&gt;&lt;span&gt;07&lt;/span&gt;&lt;strong&gt;Multi-run local map&lt;/strong&gt;&lt;small&gt;Aggregation and topology&lt;/small&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/section&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Multi-Sensor Spatiotemporal Synchronization&lt;/strong&gt;: Aligning six surround cameras, high-rate IMUs, GNSS receivers, and wheel odometry into a common timestamp reference and vehicle rear-axle coordinate frame;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Dynamic Semantic Masking&lt;/strong&gt;: Deploying lightweight segmentation models to isolate moving vehicles, cyclists, pedestrians, and sky regions, shielding static 3D geometry from dynamic clutter;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Fused Inertial-GNSS Initialization&lt;/strong&gt;: Fusing satellite positioning and dead-reckoning to initialize metric-scale trajectory guesses;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Rig-Centric Multi-Camera SfM (Core Engine)&lt;/strong&gt;: Treating surround cameras as a unified rigid rig to jointly solve vehicle poses and calibrate sensor extrinsics, generating a centimeter-level sparse road skeleton;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Spatiotemporal-Guided Dense MVS&lt;/strong&gt;: Leveraging motion geometry priors to prune unshared image pairs, accelerating PatchMatch multi-view stereo to produce dense ground meshes;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Multi-Session Cross-Epoch Aggregation&lt;/strong&gt;: Aligning independent driving passes coarse-to-fine into a globally seamless local high-definition map.&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="project-pipeline" role="img" aria-label="Engineering pipeline from multi-sensor inputs to reconstruction outputs"&gt;
&lt;div class="project-pipeline__stage is-input"&gt;
&lt;span&gt;01&lt;/span&gt;&lt;strong&gt;Inputs &amp;amp; calibration&lt;/strong&gt;
&lt;small&gt;Six-view imagery · multi-sensor pose · semantic masks · initial calibration&lt;/small&gt;
&lt;/div&gt;
&lt;i aria-hidden="true"&gt;→&lt;/i&gt;
&lt;div class="project-pipeline__stage"&gt;
&lt;span&gt;02&lt;/span&gt;&lt;strong&gt;Constrained association&lt;/strong&gt;
&lt;small&gt;SuperPoint · temporal/overlap priors · two-view geometry&lt;/small&gt;
&lt;/div&gt;
&lt;i aria-hidden="true"&gt;→&lt;/i&gt;
&lt;div class="project-pipeline__stage"&gt;
&lt;span&gt;03&lt;/span&gt;&lt;strong&gt;Rig-aware sparse SfM&lt;/strong&gt;
&lt;small&gt;Initialization · rig registration · triangulation · RIG BA · outlier filtering&lt;/small&gt;
&lt;/div&gt;
&lt;i aria-hidden="true"&gt;→&lt;/i&gt;
&lt;div class="project-pipeline__stage"&gt;
&lt;span&gt;04&lt;/span&gt;&lt;strong&gt;Densification &amp;amp; aggregation&lt;/strong&gt;
&lt;small&gt;ACMP depth · COLMAP fusion · ground filtering · multi-run alignment&lt;/small&gt;
&lt;/div&gt;
&lt;i aria-hidden="true"&gt;→&lt;/i&gt;
&lt;div class="project-pipeline__stage is-output"&gt;
&lt;span&gt;05&lt;/span&gt;&lt;strong&gt;Engineering outputs&lt;/strong&gt;
&lt;small&gt;Refined poses/extrinsics · sparse/dense ground cloud · downstream priors&lt;/small&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;h2 id="core-algorithmic-design--engineering-implementation"&gt;Core Algorithmic Design &amp;amp; Engineering Implementation&lt;/h2&gt;
&lt;h3 id="1-rig-bundle-adjustment-rig-ba-with-rigid-rig-parameterization"&gt;1. Rig Bundle Adjustment (Rig BA) with Rigid-Rig Parameterization&lt;/h3&gt;
&lt;p&gt;To eliminate extrinsics drift and reduce optimization dimensionality, we reformulated the multi-view optimization variables: rather than treating every frame as an independent pose, all surround cameras captured at timestamp $t$ are grouped into a rigid camera set. A camera&amp;rsquo;s absolute world pose is factored into a time-varying vehicle chassis pose and a static chassis-to-camera mounting extrinsic.&lt;/p&gt;
&lt;p&gt;Under this parameterization, the number of pose variables collapses dramatically. We formulate the &lt;strong&gt;Rig Bundle Adjustment (Rig BA)&lt;/strong&gt; framework to jointly optimize vehicle chassis trajectories, mounting extrinsics, and 3D static landmark coordinates.&lt;/p&gt;
&lt;p&gt;This rigid formulation delivers two decisive advantages:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Complementary Viewpoint Geometry&lt;/strong&gt;: When the vehicle drives into direct sun glare or passes alongside large trucks, forward cameras may suffer severe overexposure or visual occlusion. However, lateral and rear cameras continue tracking static architecture, trees, and street furniture. Through fixed internal rig extrinsics, unobstructed cameras constrain the chassis pose, eliminating longitudinal depth stretching;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Online Extrinsic Self-Calibration&lt;/strong&gt;: By treating mounting extrinsics as optimization parameters, the solver refines mounting extrinsics over multi-kilometer runs to high precision, absorbing mechanical chassis flexing.&lt;/li&gt;
&lt;/ul&gt;
&lt;figure class="project-figure"&gt;
&lt;div class="project-figure__media"&gt;
&lt;img src="https://changnie.top/projects/sfm/overlap-constrained-matching_hu_21d19a429f969c43.webp" width="974" height="658" loading="lazy" decoding="async" alt="Feature matching between adjacent cameras before and after applying spatial overlap constraints."&gt;
&lt;/div&gt;&lt;figcaption&gt;&lt;span&gt;Exploiting multi-camera overlap priors removes numerous visually similar but physically impossible cross-camera false matches.&lt;/span&gt;&lt;/figcaption&gt;&lt;/figure&gt;
&lt;h3 id="2-spatial-overlap-constraints--epipolar-pruning"&gt;2. Spatial Overlap Constraints &amp;amp; Epipolar Pruning&lt;/h3&gt;
&lt;p&gt;Exhaustive pairwise matching across $N$ timestamps and $M$ cameras incurs an intractable $O(M \cdot N^2)$ computational explosion.&lt;/p&gt;
&lt;p&gt;We introduced &lt;strong&gt;structured camera rig overlap priors&lt;/strong&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;A front-wide camera and front-left camera share only $\sim 30^\circ$ of horizontal FOV overlap. The right half of the front camera image cannot geometrically intersect the front-left camera&amp;rsquo;s viewing frustum;&lt;/li&gt;
&lt;li&gt;Restricting feature searches strictly to overlapping spatial frustums ($u &lt; W/2$ on the front camera) eliminates false associations between visually repetitive facades;&lt;/li&gt;
&lt;li&gt;Enforcing Essential matrix $E$ epipolar distance checks and Homography $H$ planar constraints removes $&gt;95\%$ of outlier correspondences while reducing matching runtime by $80\%$.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="3-decoupled-ground-plane-filtering-prior-to-triangulation"&gt;3. Decoupled Ground-Plane Filtering Prior to Triangulation&lt;/h3&gt;
&lt;p&gt;To prevent dynamic vehicle shadows and weak-texture asphalt from corrupting 3D point clouds:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Within the coarse sparse point cloud, we partition the road corridor into 5-meter sliding longitudinal cells;&lt;/li&gt;
&lt;li&gt;Locally Optimal RANSAC (LO-RANSAC) fits local tangent ground planes $n_{\text{road}}^\top X + d = 0$;&lt;/li&gt;
&lt;li&gt;Feature points residing within a 10 cm slice of the fitted plane are tagged and excluded from sparse bundle adjustment. The bundle adjustment solver converges purely on high-elevation rigid structures (building facades, light poles, overhead sign gantries), eliminating shadow-induced trajectory bias.&lt;/li&gt;
&lt;/ul&gt;
&lt;figure class="project-figure"&gt;
&lt;div class="project-figure__media"&gt;
&lt;img src="https://changnie.top/projects/sfm/ground-filtering_hu_760e2dad08ae1364.webp" width="547" height="844" loading="lazy" decoding="async" alt="Ground point cloud before and after grid-based planar filtering."&gt;
&lt;/div&gt;&lt;figcaption&gt;&lt;span&gt;Neighborhood filtering strips isolated outliers while grid-based RANSAC suppresses thickness artifacts along the road surface.&lt;/span&gt;&lt;/figcaption&gt;&lt;/figure&gt;
&lt;h3 id="4-spatiotemporal-guided-dense-patchmatch-stereo-mvs"&gt;4. Spatiotemporal-Guided Dense PatchMatch Stereo (MVS)&lt;/h3&gt;
&lt;p&gt;Generating continuous 3D ground meshes and voxel grids for occupancy networks requires high-throughput dense multi-view stereo:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Using the estimated vehicle trajectory, image pairs are screened based on optical parallax angles $\theta_{\text{parallax}} \in [5^\circ, 30^\circ]$ within a sliding temporal window of $\pm 15$ frames, avoiding global point-cloud searches;&lt;/li&gt;
&lt;li&gt;GPU-accelerated multi-view PatchMatch (ACMP) iteratively optimizes depth maps and surface normal fields, employing slanted plane support priors to interpolate dense, continuous depth across textureless asphalt;&lt;/li&gt;
&lt;li&gt;A multi-view geometric consistency filter fuses depth estimates across all six surround cameras into unified metric point clouds.&lt;/li&gt;
&lt;/ul&gt;
&lt;figure class="project-comparison"&gt;
&lt;div class="project-comparison__grid"&gt;&lt;div&gt;&lt;span&gt;Standard COLMAP Dense&lt;/span&gt;&lt;img src="https://changnie.top/projects/sfm/dense-colmap_hu_b78b8daacd1cd1ed.webp" width="500" height="277" loading="lazy" decoding="async" alt="Standard dense reconstruction exhibiting gaps on weak-texture asphalt."&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;ACMP &amp;#43; Optimized Fusion&lt;/span&gt;&lt;img src="https://changnie.top/projects/sfm/dense-acmp_hu_c4f6bc4a7d5b20f0.webp" width="489" height="277" loading="lazy" decoding="async" alt="Complete, smooth road surface recovered by our spatiotemporal hybrid pipeline."&gt;&lt;/div&gt;&lt;/div&gt;&lt;figcaption&gt;The hybrid strategy drastically accelerates fusion while improving reconstruction over weak-texture asphalt.&lt;/figcaption&gt;&lt;/figure&gt;
&lt;h3 id="5-coarse-to-fine-multi-session-aggregation-network"&gt;5. Coarse-to-Fine Multi-Session Aggregation Network&lt;/h3&gt;
&lt;p&gt;To reconcile asynchronous passes through identical intersections collected on different dates:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Coarse Georeferencing&lt;/strong&gt;: Differential RTK-GNSS coordinates anchor each pass into a common metric coordinate system;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Fine Geometric Registration&lt;/strong&gt;: The system isolates invariant vertical landmarks (traffic light poles, bridge pillars, structural facades). PnP and RANSAC solve the inter-session rigid transformation $T_{\text{run1} \to \text{run2}}$;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Global Pose Graph Relaxation&lt;/strong&gt;: Fixing the primary reference pass, all subsequent passes are formulated as nodes connected by relative geometric constraints in a global pose graph. Non-linear least-squares optimization absorbs inter-session drift, stitching disparate runs into a seamless high-definition map.&lt;/li&gt;
&lt;/ol&gt;
&lt;figure class="project-comparison"&gt;
&lt;div class="project-comparison__grid"&gt;&lt;div&gt;&lt;span&gt;Direct Overlay Before Aggregation&lt;/span&gt;&lt;img src="https://changnie.top/projects/sfm/multirun-before_hu_fddeed15256b6720.webp" width="996" height="586" loading="lazy" decoding="async" alt="Severe misalignments when multiple driving runs are overlaid naively."&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;After Multi-Session Aggregation&lt;/span&gt;&lt;img src="https://changnie.top/projects/sfm/multirun-after_hu_4f433d87c5b948f0.webp" width="1100" height="663" loading="lazy" decoding="async" alt="Cleanly aligned intersection geometry following multi-session aggregation."&gt;&lt;/div&gt;&lt;/div&gt;&lt;figcaption&gt;Cross-session visual association and transform optimization reconcile distinct driving passes into one consistent spatial map.&lt;/figcaption&gt;&lt;/figure&gt;
&lt;h2 id="production-quality-assurance--field-validation"&gt;Production Quality Assurance &amp;amp; Field Validation&lt;/h2&gt;
&lt;p&gt;The full-stack pipeline was validated in production data centers against ground-truth 128-beam mobile LiDAR SLAM and RTK reference trajectories:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Dense Surface Accuracy&lt;/strong&gt;: Reprojecting dense visual point clouds onto forward-facing camera images and overlaying synchronized LiDAR sweeps demonstrated absolute road elevation errors under $\pm 3\text{ cm}$ within a 50-meter range, with sharp curb profiles;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Trajectory Consistency&lt;/strong&gt;: Over 5-kilometer continuous city and highway loops, pure visual Rig BA suppressed cumulative yaw drift to 0.05°/100m, keeping closed-loop position errors below 0.1% of total travel distance;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Extrinsic Alignment Continuity&lt;/strong&gt;: Applying optimized extrinsics to 360° BEV stitching eliminated lane marking shear across camera seams, restoring smooth physical continuity.&lt;/li&gt;
&lt;/ol&gt;
&lt;figure class="project-figure"&gt;
&lt;div class="project-figure__media"&gt;
&lt;img src="https://changnie.top/projects/sfm/bev-extrinsic-comparison_hu_f22ada29f453523.webp" width="704" height="672" loading="lazy" decoding="async" alt="Comparison of Bird&amp;#39;s-Eye-View projection before and after extrinsic optimization."&gt;
&lt;/div&gt;&lt;figcaption&gt;&lt;span&gt;BEV projection comparison: lane markings across camera boundaries exhibit smooth physical continuity following optimization.&lt;/span&gt;&lt;/figcaption&gt;&lt;/figure&gt;
&lt;h2 id="pipeline-video-recordings"&gt;Pipeline Video Recordings&lt;/h2&gt;
&lt;p&gt;The four video sequences below present the end-to-end journey from raw onboard video and high-throughput dense depth generation to static 3D point cloud extraction and pixel-level reprojection checks:&lt;/p&gt;
&lt;div class="project-video-gallery" aria-label="Project videos"&gt;&lt;figure class="project-video-card"&gt;
&lt;video controls playsinline preload="none" poster="/projects/sfm/headcam-poster_hu_134511e2ac888678.webp" aria-label="Surround Camera Stream"&gt;
&lt;source src="https://changnie.top/projects/sfm/headcam.mp4" type="video/mp4"&gt;
&lt;/video&gt;
&lt;figcaption&gt;&lt;strong&gt;Surround Camera Stream&lt;/strong&gt;&lt;span&gt;Synchronized surround-view video captured from production autonomous test fleets under dynamic driving conditions.&lt;/span&gt;&lt;/figcaption&gt;
&lt;/figure&gt;&lt;figure class="project-video-card"&gt;
&lt;video controls playsinline preload="none" poster="/projects/sfm/pointcloud-poster_hu_ab3f54cc08a9c7dc.webp" aria-label="Static 3D Point Cloud Reconstruction"&gt;
&lt;source src="https://changnie.top/projects/sfm/pointcloud.mp4" type="video/mp4"&gt;
&lt;/video&gt;
&lt;figcaption&gt;&lt;strong&gt;Static 3D Point Cloud Reconstruction&lt;/strong&gt;&lt;span&gt;High-precision static road geometry and architectural structures recovered by multi-camera rig SfM.&lt;/span&gt;&lt;/figcaption&gt;
&lt;/figure&gt;&lt;figure class="project-video-card"&gt;
&lt;video controls playsinline preload="none" poster="/projects/sfm/depth-poster_hu_5c9c705ac952689f.webp" aria-label="High-Throughput Dense Depth Estimation"&gt;
&lt;source src="https://changnie.top/projects/sfm/depth.mp4" type="video/mp4"&gt;
&lt;/video&gt;
&lt;figcaption&gt;&lt;strong&gt;High-Throughput Dense Depth Estimation&lt;/strong&gt;&lt;span&gt;Dense depth estimation guided by temporal and spatial overlap priors, achieving dramatic pipeline speedups.&lt;/span&gt;&lt;/figcaption&gt;
&lt;/figure&gt;&lt;figure class="project-video-card"&gt;
&lt;video controls playsinline preload="none" poster="/projects/sfm/reproject-poster_hu_57f8dc5163cd1122.webp" aria-label="Geometry &amp;amp; Appearance Reprojection"&gt;
&lt;source src="https://changnie.top/projects/sfm/reproject.mp4" type="video/mp4"&gt;
&lt;/video&gt;
&lt;figcaption&gt;&lt;strong&gt;Geometry &amp;amp; Appearance Reprojection&lt;/strong&gt;&lt;span&gt;Pixel-level reprojection verification demonstrating spatial consistency between recovered poses, dense geometry, and raw imagery.&lt;/span&gt;&lt;/figcaption&gt;
&lt;/figure&gt;&lt;/div&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Onboard Surround Video Stream&lt;/strong&gt;: Synchronized six-camera footage recorded by production vehicles navigating dense city traffic;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Static Scene 3D Reconstruction&lt;/strong&gt;: Dense, crisp geometric point-cloud models of overpasses, street furniture, and road structures;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;High-Accuracy Dense Depth Estimation&lt;/strong&gt;: Real-time dense disparity and depth maps generated across all views via spatiotemporal PatchMatch;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Appearance &amp;amp; Geometric Reprojection&lt;/strong&gt;: Pixel-level reprojection checks confirming geometric alignment against original camera frames.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="engineering-summary--technical-takeaways"&gt;Engineering Summary &amp;amp; Technical Takeaways&lt;/h2&gt;
&lt;p&gt;Scaling Structure-from-Motion and multi-view stereo to automotive-grade automated annotation demonstrates key engineering principles:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Mechanical Rigidity as an Algorithmic Anchor&lt;/strong&gt;: Multi-camera physical rigidity must be embedded directly into optimization formulations. Grouping surround cameras into a rigid rig halts extrinsic drift and overcomes collinear triangulation degeneracies through complementary multi-directional views.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Semantic Decoupling Guards Against Environmental Noise&lt;/strong&gt;: In the presence of textureless asphalt and moving shadows, accepting all features indiscriminately destabilizes optimization. Decoupling ground features from vertical structures ensures robust convergence.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Bridging Isolated Trajectories into Spatial Networks&lt;/strong&gt;: Autonomous driving requires scalable, repeatable mapping. Linking independent driving sessions through topological pose graphs establishes the foundation for large-scale digital twins and end-to-end driving models.&lt;/li&gt;
&lt;/ol&gt;</description></item><item><title>Autonomous Valet Parking: Production-Grade Full-Stack System for Underground Garages</title><link>https://changnie.top/projects/avp/</link><pubDate>Mon, 01 Jan 2024 00:00:00 +0000</pubDate><guid>https://changnie.top/projects/avp/</guid><description>&lt;h2 id="project-context-title"&gt;Project context&lt;/h2&gt;
&lt;section class="project-overview" aria-labelledby="project-context-title"&gt;
&lt;p class="project-overview__collaboration"&gt;&lt;strong&gt;Voyager Tech Mass-Production Partnership&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Overcoming challenges in multi-floor underground garages—including featureless corridors, dynamic obstacles, tight clearance, and total GNSS denial—this system established an onboard-compute-powered L4 autonomous valet parking stack validated across extensive real-vehicle fleet trials.&lt;/p&gt;
&lt;dl&gt;
&lt;div&gt;&lt;dt&gt;Core Deliverables &amp;amp; Real-World Validation&lt;/dt&gt;&lt;dd&gt;Automotive pure-onboard AVP system; 500&amp;#43; in-vehicle road tests (95%&amp;#43; parking success), GNSS-denied multi-sensor localization, narrow-slot maneuvering, and remote summoning&lt;/dd&gt;&lt;/div&gt;
&lt;/dl&gt;
&lt;/section&gt;
&lt;h2 id="my-contributions"&gt;My contributions&lt;/h2&gt;
&lt;p class="project-role"&gt;As project lead, architected the full-stack AVP system framework; directed planning and control under GNSS denial, completing 500&amp;#43; in-vehicle road tests with 95%&amp;#43; parking success.&lt;/p&gt;
&lt;p&gt;Automated Valet Parking (AVP) encompasses autonomous stall search, tight-space bay parking, and designated-point summoning. In contrast to infrastructure-heavy vehicle-to-infrastructure (V2I) approaches—which require deploying dense ultra-wideband (UWB) anchors, roadside LiDARs, or dedicated camera networks throughout parking structures—vehicle-centric AVP requires zero structural modifications to parking facilities. By relying entirely on onboard sensors and compute, it delivers superior cross-facility generalization and commercial scalability.&lt;/p&gt;
&lt;p&gt;In partnership with Tier-1 smart driving supplier Voyager Tech, we developed and deployed an onboard AVP system utilizing automotive-grade mass-production sensors: 4 surround-view ultra-wide fisheye cameras and 12 ultrasonic sensors. As Project Tech Lead, I directed the top-level system architecture and led algorithm development across the integrated driving-parking planning and control stack, validating GNSS-denied multi-sensor SLAM, corridor dynamic obstacle avoidance, Hybrid A* tight-space maneuvering, and low-speed chassis control on real production test vehicles.&lt;/p&gt;
&lt;h2 id="key-engineering-bottlenecks-in-underground-garages"&gt;Key Engineering Bottlenecks in Underground Garages&lt;/h2&gt;
&lt;p&gt;Underground garages represent semi-enclosed, highly constrained operational design domains (ODDs) that present formidable physical and geometric challenges to autonomous systems:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Total Satellite Denial &amp;amp; Severe Perceptual Degeneracy (GNSS-Denied &amp;amp; Perceptual Aliasing)&lt;/strong&gt;:
Upon entering a basement structure, satellite positioning is immediately lost. Simultaneously, multi-story garages present uniform, highly repetitive architectural features: mirrored structural pillars, polished epoxy resin flooring with severe specular reflections, and featureless concrete walls. Under dim, flickering fluorescent illumination, standard point-feature extractors (such as ORB or SIFT) suffer from catastrophic false associations, precipitating visual odometry drift and scale collapse.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Severe Geometric Confinement &amp;amp; Non-Holonomic Kinematic Limits&lt;/strong&gt;:
Primary basement aisle widths typically measure between 2.8 and 3.2 meters, with clearance between concrete pillars occasionally narrowing below 2.5 meters. Standard passenger vehicles feature wheelbases approaching 3 meters and overall lengths near 5 meters. Constrained by non-holonomic Ackermann steering kinematics, the vehicle cannot translate laterally. When executing reverse maneuvers into a standard 2.4m $\times$ 5.2m perpendicular bay, the vehicle must execute multi-point forward-reverse (D/R gear shift) maneuvers under safety margins of less than 30 cm, where minor tracking deviations cause structural collisions.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Dynamical &amp;amp; Control Dichotomy Between Cruising and Parking&lt;/strong&gt;:
During corridor cruising, the system requires continuous, smooth motion at 10–15 km/h, with lateral acceleration strictly constrained for passenger comfort. Conversely, during stall insertion, vehicle velocity drops below 3 km/h, while steering actuators must rapidly sweep toward maximum lock within minimal linear displacement. This induces massive static tire scrub torque against the floor. Conventional trajectory-tracking controllers fail under this dual-regime operation, triggering actuator oscillation, severe deadband lag, or tracking overshoot.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Multi-Story Spiral Ramps &amp;amp; Dynamic Grade Distortions&lt;/strong&gt;:
Underground garages incorporate steep connecting spiral ramps with grades ranging between 10% and 15% (5.7°–8.5°). During ramp traversal, dynamic suspension compression induces pronounced chassis pitch and roll angles, introducing geometric skew into inverse perspective mapping (IPM). Furthermore, the longitudinal gravitational component severely perturbs velocity feedback loops, risking roll-back during stop-and-go maneuvers on inclines.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;To systematically address diverse user requirements, the system supports four operational workflows:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Prior Map Condition&lt;/th&gt;
&lt;th&gt;Mission Mode&lt;/th&gt;
&lt;th&gt;System Execution&lt;/th&gt;
&lt;th&gt;Target Outcome&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Mapped Garage&lt;/td&gt;
&lt;td&gt;Memorized Slot&lt;/td&gt;
&lt;td&gt;Load local semantic graph and localize&lt;/td&gt;
&lt;td&gt;Direct cruise to user&amp;rsquo;s assigned stall&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Mapped Garage&lt;/td&gt;
&lt;td&gt;Random Search&lt;/td&gt;
&lt;td&gt;Cruise along aisles and detect open spaces&lt;/td&gt;
&lt;td&gt;Immediate trajectory planning into first valid slot&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Unmapped Facility&lt;/td&gt;
&lt;td&gt;Exploratory Cruise&lt;/td&gt;
&lt;td&gt;Build topological slot map on the fly&lt;/td&gt;
&lt;td&gt;Explore garage, identify valid spot, and park&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Mapped Garage&lt;/td&gt;
&lt;td&gt;Remote Summon&lt;/td&gt;
&lt;td&gt;Receive app command and execute park-out&lt;/td&gt;
&lt;td&gt;Navigate through aisles to pickup foyer&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;section class="project-system-map avp-system-map" aria-labelledby="avp-system-map-title"&gt;
&lt;header&gt;
&lt;span&gt;System architecture&lt;/span&gt;
&lt;h3 id="avp-system-map-title"&gt;Campus-scale automated valet parking&lt;/h3&gt;
&lt;p&gt;From user intent and onboard sensing to mapping, hierarchical planning, vehicle control, and safety replanning.&lt;/p&gt;
&lt;/header&gt;
&lt;div class="project-system-map__flow"&gt;
&lt;div class="project-system-map__group"&gt;
&lt;span&gt;Task, sensing, and compute&lt;/span&gt;
&lt;div class="project-system-map__grid"&gt;
&lt;div class="project-system-map__stage"&gt;&lt;span&gt;01 · HMI&lt;/span&gt;&lt;strong&gt;Maps and parking tasks&lt;/strong&gt;&lt;small&gt;Map download/update · park-in/out · remote summon&lt;/small&gt;&lt;/div&gt;
&lt;div class="project-system-map__stage"&gt;&lt;span&gt;02 · Sensors&lt;/span&gt;&lt;strong&gt;Surround and near-field sensing&lt;/strong&gt;&lt;small&gt;Four fisheye cameras · ultrasonic sensing · IMU · wheel/GPS&lt;/small&gt;&lt;/div&gt;
&lt;div class="project-system-map__stage"&gt;&lt;span&gt;03 · Vehicle&lt;/span&gt;&lt;strong&gt;Onboard compute and chassis&lt;/strong&gt;&lt;small&gt;Embedded GPU/ECU · CAN · steering, braking, and drive&lt;/small&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;i aria-hidden="true"&gt;↓&lt;/i&gt;
&lt;div class="project-system-map__group"&gt;
&lt;span&gt;Autonomy core&lt;/span&gt;
&lt;div class="project-system-map__grid"&gt;
&lt;div class="project-system-map__stage"&gt;&lt;span&gt;04 · Perception&lt;/span&gt;&lt;strong&gt;BEV multi-task perception&lt;/strong&gt;&lt;small&gt;Slots, markings, and text · drivable space · obstacle detection and tracking&lt;/small&gt;&lt;/div&gt;
&lt;div class="project-system-map__stage"&gt;&lt;span&gt;05 · Localization&lt;/span&gt;&lt;strong&gt;Localization and semantic map&lt;/strong&gt;&lt;small&gt;Visual/inertial/wheel fusion · loop closure · semantic ICP · exploration mapping&lt;/small&gt;&lt;/div&gt;
&lt;div class="project-system-map__stage"&gt;&lt;span&gt;06 · Planning&lt;/span&gt;&lt;strong&gt;Hierarchical driving and parking planning&lt;/strong&gt;&lt;small&gt;Global guidance · local avoidance · Hybrid A* · optimal-control smoothing&lt;/small&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;i aria-hidden="true"&gt;↓&lt;/i&gt;
&lt;div class="project-system-map__stage is-owned"&gt;&lt;span&gt;Program leadership and integration&lt;/span&gt;&lt;strong&gt;System design, module interfaces, and vehicle integration&lt;/strong&gt;&lt;small&gt;Architecture and milestones · cross-module interfaces · planning/control focus · scenario testing and fault correction&lt;/small&gt;&lt;/div&gt;
&lt;i aria-hidden="true"&gt;↓&lt;/i&gt;
&lt;div class="project-system-map__group"&gt;
&lt;span&gt;Execution, safety, and application&lt;/span&gt;
&lt;div class="project-system-map__grid"&gt;
&lt;div class="project-system-map__stage"&gt;&lt;span&gt;07 · Control&lt;/span&gt;&lt;strong&gt;Lateral/longitudinal control&lt;/strong&gt;&lt;small&gt;Track the reference trajectory and command the vehicle&lt;/small&gt;&lt;/div&gt;
&lt;div class="project-system-map__stage"&gt;&lt;span&gt;08 · Safety&lt;/span&gt;&lt;strong&gt;Obstacle response and replanning&lt;/strong&gt;&lt;small&gt;Near-field coverage · dynamic updates · stop and detour&lt;/small&gt;&lt;/div&gt;
&lt;div class="project-system-map__stage"&gt;&lt;span&gt;09 · Service&lt;/span&gt;&lt;strong&gt;Explore, park, retrieve, and summon&lt;/strong&gt;&lt;small&gt;Known/unknown maps · random, remembered, or assigned slots · return to pickup&lt;/small&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/section&gt;
&lt;h2 id="full-stack-architecture--algorithmic-design"&gt;Full-Stack Architecture &amp;amp; Algorithmic Design&lt;/h2&gt;
&lt;p&gt;To overcome these constraints under onboard embedded compute limits, we developed a tightly coupled, modular processing pipeline encompassing bird&amp;rsquo;s-eye-view multi-task perception, factor-graph fusion localization, hierarchical planning, and precision chassis actuation.&lt;/p&gt;
&lt;h3 id="1-surround-view-fisheye-bev-multi-task-perception--near-field-shielding"&gt;1. Surround-View Fisheye BEV Multi-Task Perception &amp;amp; Near-Field Shielding&lt;/h3&gt;
&lt;p&gt;The sensing suite consists of 4 automotive-grade ultra-wide fisheye cameras (each offering $&gt;190^\circ$ horizontal FOV) positioned at the front, rear, and wing mirrors, paired with 12 ultrasonic transceivers.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Dynamic Pitch-Compensated Inverse Perspective Mapping&lt;/strong&gt;:
To eliminate image warping caused by vehicle acceleration, braking, and ramp slope variations, high-frequency IMU pitch and roll estimates are fed directly into the online homography transformation. This dynamic transformation stabilizes the bird&amp;rsquo;s-eye view, ensuring projected ground markings and stall boundaries maintain rigorous metric scale.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Lightweight Shared Backbone with Multi-Task Branched Heads&lt;/strong&gt;:
Operating within embedded thermal envelopes, the perception network adopts a single feature-extractor backbone paired with four decoupled task heads: parking stall head, ground marking head, obstacle detection head, and free space boundary head.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Ultrasonic Near-Field Time-of-Flight Protection&lt;/strong&gt;:
When approaching obstacles within close range, vehicle blind zones fall outside camera sightlines. Short-range and long-range ultrasonic sensors establish a continuous proximity barrier, using multi-transceiver time-of-flight triangulation to filter multi-path false echoes and provide deterministic hardware-level collision prevention.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="2-factor-graph-multi-sensor-fusion-odometry--hierarchical-mapping"&gt;2. Factor-Graph Multi-Sensor Fusion Odometry &amp;amp; Hierarchical Mapping&lt;/h3&gt;
&lt;p&gt;To guarantee drift-free localization across extended GNSS-denied trajectories, we constructed a tightly coupled factor-graph optimization backend:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Slip-Adaptive Wheel Odometry &amp;amp; IMU Preintegration&lt;/strong&gt;: On polished epoxy basement surfaces, tire micro-slip frequently occurs during cornering and braking. The fusion filter continuously evaluates consistency between non-driven wheel speeds and IMU yaw rates, adaptively tuning observation covariances to bridge disturbances without pose divergence;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Visual-Semantic Landmark Constraints &amp;amp; Global Loop Closure&lt;/strong&gt;: In addition to IMU and odometry factors, the factor graph integrates geometric constraints derived from detected parking slot corners and lane centerlines, triggering full pose-graph relaxation upon loop detection to eliminate accumulated drift;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Hierarchical Lightweight Map Representation&lt;/strong&gt;: A local rolling occupancy grid caches dynamic obstacles within a sliding window, while a global topological semantic graph stores corridor centerlines and stall attributes with minimal memory footprints.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="3-hierarchical-cruising--parking-motion-planning"&gt;3. Hierarchical Cruising &amp;amp; Parking Motion Planning&lt;/h3&gt;
&lt;p&gt;Recognizing the distinct kinematic scales of aisle navigation versus stall maneuvering, the planning pipeline is decoupled into two specialized stages:&lt;/p&gt;
&lt;div class="project-pipeline avp-planning-pipeline" role="img" aria-label="Hierarchical planning flow from an automated-valet-parking task to an executable trajectory"&gt;
&lt;div class="project-pipeline__stage is-input"&gt;
&lt;span&gt;01&lt;/span&gt;&lt;strong&gt;Task and map state&lt;/strong&gt;
&lt;small&gt;Known/unknown map · target slot or pickup point · current pose&lt;/small&gt;
&lt;/div&gt;
&lt;i aria-hidden="true"&gt;→&lt;/i&gt;
&lt;div class="project-pipeline__stage"&gt;
&lt;span&gt;02&lt;/span&gt;&lt;strong&gt;Global driving guide&lt;/strong&gt;
&lt;small&gt;Centerline graph · improved A* · turn-radius arcs · B-spline&lt;/small&gt;
&lt;/div&gt;
&lt;i aria-hidden="true"&gt;→&lt;/i&gt;
&lt;div class="project-pipeline__stage"&gt;
&lt;span&gt;03&lt;/span&gt;&lt;strong&gt;Local avoidance trajectories&lt;/strong&gt;
&lt;small&gt;State sampling · centerline/transition/obstacle/curvature costs · online replanning&lt;/small&gt;
&lt;/div&gt;
&lt;i aria-hidden="true"&gt;→&lt;/i&gt;
&lt;div class="project-pipeline__stage"&gt;
&lt;span&gt;04&lt;/span&gt;&lt;strong&gt;Parking search&lt;/strong&gt;
&lt;small&gt;Orientation-aware Hybrid A* · nonholonomic vehicle constraints · collision checks&lt;/small&gt;
&lt;/div&gt;
&lt;i aria-hidden="true"&gt;→&lt;/i&gt;
&lt;div class="project-pipeline__stage is-output"&gt;
&lt;span&gt;05&lt;/span&gt;&lt;strong&gt;Trajectory optimization and execution&lt;/strong&gt;
&lt;small&gt;Optimal control · IPOPT · lateral/longitudinal tracking · feedback loop&lt;/small&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;h4 id="corridor-cruising-reference-spline-smoothing--dynamic-evasion"&gt;Corridor Cruising: Reference Spline Smoothing &amp;amp; Dynamic Evasion&lt;/h4&gt;
&lt;p&gt;In aisle transit, the global planner fits continuous-curvature reference corridors using spline curves. The local planner samples polynomial trajectory candidates in the Frenet frame at high frequency, evaluating safety distance, comfort, and lateral acceleration to smoothly evade obstacles or yield to traffic.&lt;/p&gt;
&lt;h4 id="bay-parking-modified-hybrid-a--non-linear-optimal-control"&gt;Bay Parking: Modified Hybrid A* &amp;amp; Non-Linear Optimal Control&lt;/h4&gt;
&lt;p&gt;Upon reaching the designated stall entry position, the system transitions to precision parking mode using a two-stage coarse-to-fine framework:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;em&gt;&lt;em&gt;Coarse Geometric Search (Modified Hybrid A&lt;/em&gt;)&lt;/em&gt;*: Search progresses in continuous configuration space under non-holonomic turning radius constraints and distance field heuristics, generating kinematically feasible initial paths within milliseconds;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Continuous Trajectory Optimization&lt;/strong&gt;: Taking the Hybrid A* path as an initial guess, constrained non-linear optimal control enforces kinematic differential equations, steering rate limits, and multi-circle collision avoidance, producing continuous, curvature-smooth trajectories that prevent driveline shudder.&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="4-precision-chassis-tracking--delay-compensation"&gt;4. Precision Chassis Tracking &amp;amp; Delay Compensation&lt;/h3&gt;
&lt;p&gt;At low crawl speeds with aggressive steering angles, drive-by-wire latency constitutes the primary source of path deviation:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Kinematic Preview with Curvature Feedforward&lt;/strong&gt;: Lateral control employs delay-adaptive preview lookahead, combining curvature feedforward with tracking error feedback to compensate for steering actuator delay;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Grade-Adaptive Gravitational Feedforward&lt;/strong&gt;: Longitudinal tracking couples speed feedback with real-time IMU grade estimation, directly compensating for gravity components on steep ramps to prevent roll-back;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Multi-Tier Hardware Safety Watchdog&lt;/strong&gt;: High-frequency watchdogs monitor system communications, issuing direct emergency brake requests if ultrasonic sensors detect unexpected close-proximity incursions.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="real-vehicle-field-verification"&gt;Real-Vehicle Field Verification&lt;/h2&gt;
&lt;div class="project-video-gallery" aria-label="Project videos"&gt;&lt;figure class="project-video-card"&gt;
&lt;video controls playsinline preload="none" poster="/projects/avp/bev-perception-poster_hu_9eea10d8cb40c7e0.webp" aria-label="Surround-View BEV Multi-Task Perception"&gt;
&lt;source src="https://changnie.top/projects/avp/bev-perception.mp4" type="video/mp4"&gt;
&lt;/video&gt;
&lt;figcaption&gt;&lt;strong&gt;Surround-View BEV Multi-Task Perception&lt;/strong&gt;&lt;span&gt;Dynamic in-vehicle playback: real-time bird-eye view semantics, 4-way unwrapped fisheye streams, and high-precision parking space and lane marking tracking.&lt;/span&gt;&lt;/figcaption&gt;
&lt;/figure&gt;&lt;figure class="project-video-card"&gt;
&lt;video controls playsinline preload="none" poster="/projects/avp/garage-mapping-poster_hu_6b3ad5d462a7a04e.webp" aria-label="Autonomous Garage Exploration &amp;amp; Full-Stack System Integration"&gt;
&lt;source src="https://changnie.top/projects/avp/garage-mapping.mp4" type="video/mp4"&gt;
&lt;/video&gt;
&lt;figcaption&gt;&lt;strong&gt;Autonomous Garage Exploration &amp;amp; Full-Stack System Integration&lt;/strong&gt;&lt;span&gt;Autonomous vehicle operation in multi-floor garages: synchronized surround perception, visual odometry, vehicle kinematics, and incremental semantic parking map construction.&lt;/span&gt;&lt;/figcaption&gt;
&lt;/figure&gt;&lt;/div&gt;
&lt;p&gt;Field trials were conducted across diverse commercial underground parking facilities, spanning modern multi-story garages, unlit legacy basements, and complex spiral structures:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Perpendicular, Parallel, and Slanted Bay Ingress&lt;/strong&gt;: In tight stalls flanked by parked vehicles with less than 30 cm of lateral margin, the vehicle consistently parked within two to three forward-reverse maneuvers, achieving alignment within 1° of stall markings and symmetric wheel clearance;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Multi-Floor Spiral Navigation &amp;amp; Dynamic Clearance&lt;/strong&gt;: Across hundreds of meters of subterranean transit, the vehicle smoothly negotiated consecutive blind corners, executing automatic lane yields when encountering oncoming delivery vans or wandering pedestrians;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;End-to-End Remote Summoning&lt;/strong&gt;: Production vehicles operated completely unmanned in response to mobile app summon commands, autonomously exiting bays and arriving at ground-level passenger staging areas.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="engineering-takeaways--architectural-lessons"&gt;Engineering Takeaways &amp;amp; Architectural Lessons&lt;/h2&gt;
&lt;p&gt;Automated Valet Parking represents one of the most demanding low-speed autonomous driving domains due to tight geometric tolerances and extreme perceptual degradation. Key takeaways include:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Multi-Modal Synergy in Featureless Environments&lt;/strong&gt;: When individual sensing modalities degrade, combining vehicle kinematics, IMU preintegration, and topological semantic landmarks provides the only viable defense against long-term localization drift.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Explicit Physics Constraints in Trajectory Formulation&lt;/strong&gt;: Kinematic paths must not be treated as purely geometric splines. Embedding actuator rate limits, acceleration limits, and gear-shift costs directly into the optimization formulation is essential for smooth, production-grade tracking.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Decoupled Architecture with Deterministic Safety Shields&lt;/strong&gt;: Decoupling open corridor cruising from tight stall optimization preserves high real-time control frequencies, while dedicated hardware-level ultrasonic emergency braking guarantees operational safety under real-world uncertainties.&lt;/li&gt;
&lt;/ol&gt;</description></item><item><title>Full-Stack Autonomous Driving Research Platform: Hardware-Software Co-Design &amp; Real-Vehicle Verification</title><link>https://changnie.top/projects/lsv/</link><pubDate>Sat, 01 Jan 2022 00:00:00 +0000</pubDate><guid>https://changnie.top/projects/lsv/</guid><description>&lt;p&gt;Autonomous driving research requires validation beyond idealized simulator environments to directly address real-world ground friction, physical sensor noise, bus communication latency, and actuator non-linearities. In 2019, commercial autonomous testbeds were prohibitively expensive and strictly closed-source, precluding in-depth research into chassis dynamics and custom low-level sensor drivers. To establish an accessible, controllable physical research platform, we undertook the ground-up hardware and software construction of an autonomous driving research testbed.&lt;/p&gt;
&lt;p&gt;Between 2019 and 2022, we designed and built two complementary research vehicles: a low-speed pure-electric passenger vehicle configured for campus road cruising, and an omnidirectional research AGV featuring 4-wheel independent driving and 4-wheel independent steering (4WID-4WIS). The engineering effort spanned mechanical mounting fabrication, high/low-voltage isolated power distribution, reverse engineering of proprietary CAN bus protocols, development of Linux SocketCAN drivers, microsecond-level hardware time synchronization across heterogeneous sensors, and a full-stack ROS-based software autonomy suite encompassing perception, SLAM, planning, and control. The platform successfully completed closed-loop verification across diverse representative operational scenarios under realistic campus road traffic.&lt;/p&gt;
&lt;h2 id="project-context-title"&gt;Project context&lt;/h2&gt;
&lt;section class="project-overview" aria-labelledby="project-context-title"&gt;
&lt;p class="project-overview__collaboration"&gt;&lt;strong&gt;Autonomous Driving Research Core · Ground-Up Hardware/Software R&amp;amp;D&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;To evaluate autonomous driving algorithms on physical hardware rather than purely in simulation, we built full-stack research vehicle platforms from the ground up. Covering chassis adaptation, power distribution, SocketCAN drivers, and ROS autonomy modules, the platform provided an experimental testbed for ongoing laboratory research.&lt;/p&gt;
&lt;dl&gt;
&lt;div&gt;&lt;dt&gt;Platform Deliverables &amp;amp; Multi-Scenario Real-Vehicle Demonstrations&lt;/dt&gt;&lt;dd&gt;Two operational drive-by-wire autonomous research platforms; 300&amp;#43; hours of road testing, 8 real-vehicle closed-loop demonstrations (&amp;lt;5 cm lateral tracking error, &amp;lt;60 ms AEB braking response), and a complete custom ROS autonomy stack.&lt;/dd&gt;&lt;/div&gt;
&lt;/dl&gt;
&lt;/section&gt;
&lt;h2 id="my-contributions"&gt;My contributions&lt;/h2&gt;
&lt;p class="project-role"&gt;As project lead, built two generations of drive-by-wire autonomous vehicle research platforms (passenger cart and 4WIS AGV) from scratch, accumulating 300&amp;#43; hours of physical road testing; responsible for drive-by-wire modification, power isolation, CAN bus reverse engineering, and multi-scenario closed-loop validation.&lt;/p&gt;
&lt;h2 id="two-complementary-research-chassis"&gt;Two Complementary Research Chassis&lt;/h2&gt;
&lt;p&gt;To comprehensively ground our research across disparate operational domains, we developed two distinct physical platforms:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Low-Speed Campus Research Cart&lt;/strong&gt;:
Configured with passenger-carrying seating, a standard automotive steering column, and hydraulic braking. Its open frame and high payload capacity accommodate heavy sensor payloads: a 32-beam spinning 3D LiDAR, forward stereo and surround wide-angle cameras, dual-antenna RTK-GNSS, a high-rate IMU, and a ruggedized industrial PC equipped with high-performance discrete GPUs. This vehicle serves as the primary testbed for large-scale metric-topological SLAM, multi-modal perception, traffic interaction, and cooperative V2X platooning.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Compact 4-Wheel Independent Drive &amp;amp; Steer (4WID-4WIS) AGV&lt;/strong&gt;:
Equipped with eight independent brushless DC servomotors (four driving wheels, four steering hubs). Bypassing the non-holonomic kinematic limits of traditional Ackermann steering, the vehicle dynamically reconfigures its steering mode in software: standard front-wheel Ackermann, diagonal crab-steering, pure lateral translation, and zero-radius pivot spinning around its chassis center. This platform provides an agile testbed for high-speed obstacle avoidance maneuvers and extreme tight-space parking.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Both vehicles enforce a foundational design paradigm: exposing algorithms directly to real-world tire-ground compliance, CAN transmission jitter, and actuator deadbands, thereby establishing a physical benchmark for subsequent algorithmic robustness.&lt;/p&gt;
&lt;section class="project-system-map lsv-system-map" aria-labelledby="lsv-map-title"&gt;
&lt;header&gt;
&lt;span&gt;Full-Stack Autonomous Driving Architecture&lt;/span&gt;
&lt;h3 id="lsv-map-title"&gt;Multi-Sensor Fusion → State Estimation → Planning → Drive-by-Wire Actuation&lt;/h3&gt;
&lt;p&gt;Full-stack onboard ROS autonomy connects perception, SLAM, and planning; the drive-by-wire chassis executes closed-loop control over CAN.&lt;/p&gt;
&lt;/header&gt;
&lt;div class="project-system-map__flow"&gt;
&lt;div class="project-system-map__group"&gt;
&lt;span&gt;Sensing and computation&lt;/span&gt;
&lt;div class="project-system-map__grid"&gt;
&lt;div class="project-system-map__stage"&gt;&lt;span&gt;01&lt;/span&gt;&lt;strong&gt;Observe surroundings&lt;/strong&gt;&lt;small&gt;Camera · LiDAR · ultrasonics&lt;/small&gt;&lt;/div&gt;
&lt;div class="project-system-map__stage"&gt;&lt;span&gt;02&lt;/span&gt;&lt;strong&gt;Positioning inputs&lt;/strong&gt;&lt;small&gt;RTK GNSS · IMU · LiDAR map&lt;/small&gt;&lt;/div&gt;
&lt;div class="project-system-map__stage"&gt;&lt;span&gt;03&lt;/span&gt;&lt;strong&gt;Onboard computation&lt;/strong&gt;&lt;small&gt;Industrial PC · ROS · HMI&lt;/small&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;i aria-hidden="true"&gt;↓&lt;/i&gt;
&lt;div class="project-system-map__group"&gt;
&lt;span&gt;Autonomy and actuation&lt;/span&gt;
&lt;div class="project-system-map__grid"&gt;
&lt;div class="project-system-map__stage"&gt;&lt;span&gt;04&lt;/span&gt;&lt;strong&gt;Perception and localization&lt;/strong&gt;&lt;small&gt;Objects · lanes · obstacles · vehicle pose&lt;/small&gt;&lt;/div&gt;
&lt;div class="project-system-map__stage"&gt;&lt;span&gt;05&lt;/span&gt;&lt;strong&gt;Decision and planning&lt;/strong&gt;&lt;small&gt;Reference route · driving objective&lt;/small&gt;&lt;/div&gt;
&lt;div class="project-system-map__stage"&gt;&lt;span&gt;06&lt;/span&gt;&lt;strong&gt;Control and drive-by-wire&lt;/strong&gt;&lt;small&gt;Motion commands · CAN · chassis actuation&lt;/small&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;i aria-hidden="true"&gt;↺&lt;/i&gt;
&lt;div class="project-system-map__stage"&gt;&lt;strong&gt;Vehicle motion → new observations and feedback → next control update&lt;/strong&gt;&lt;small&gt;Map-based and RTK route following use their respective localization inputs.&lt;/small&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/section&gt;
&lt;h2 id="ground-up-electrical--sensor-topology"&gt;Ground-Up Electrical &amp;amp; Sensor Topology&lt;/h2&gt;
&lt;p&gt;Without commercial turnkey kits, integrating disparate sensors and actuators into a fail-safe vehicular platform required overcoming fundamental electrical isolation, extrinsic calibration, and temporal synchronization challenges.&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Subsystem&lt;/th&gt;
&lt;th&gt;Configuration &amp;amp; Role&lt;/th&gt;
&lt;th&gt;Core Engineering Challenges Overcome&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Drive-by-Wire &amp;amp; CAN Bus&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Electronic steering motor, throttle potentiometer, and hydraulic brake booster&lt;/td&gt;
&lt;td&gt;Reverse-engineered proprietary cyclic DBC protocols; built 100 Hz deterministic Linux SocketCAN drivers with heartbeat fail-safe routines&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;3D LiDAR&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;32-beam / 16-beam mechanical spinning LiDAR for 3D mapping and obstacle ranging&lt;/td&gt;
&lt;td&gt;Custom CNC aluminum vibration dampers isolating chassis road shock; calibrated beam reflectivity intensity decay curves&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;HDR Industrial Cameras&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Narrow-FOV (60°) and wide-angle (120°) cameras for lane segmentation and object vision&lt;/td&gt;
&lt;td&gt;Mitigated severe lens flare transitioning into shaded tree canopies; designed rigid camera-LiDAR multi-modal calibration targets&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;RTK-GNSS Differential GPS&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Dual-antenna receiver delivering centimeter-level 3D coordinates and true heading&lt;/td&gt;
&lt;td&gt;Optimized 1.5 m baseline antenna placement; mitigated carrier-phase slip and multipath jumps beside dense concrete campus structures&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Automotive IMU&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;6-axis tactical-grade inertial unit providing 200 Hz linear acceleration and yaw rates&lt;/td&gt;
&lt;td&gt;Mechanically aligned IMU sensing center with chassis rear-axle centerline; performed online thermal bias drift calibration&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Ultrasonic Transceiver Array&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;8 bumper-mounted ultrasonic sensors for near-field blind-spot guarding (0.2–2.5 m)&lt;/td&gt;
&lt;td&gt;Optimized acoustic beam-cone overlap geometry, enforcing sequential time-multiplexed firing to eliminate cross-talk&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Power Distribution &amp;amp; Isolation&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;48V traction battery pack converted to isolated 12V/24V clean bus&lt;/td&gt;
&lt;td&gt;Custom electrical distribution enclosure with TVS diodes and optocouplers, suppressing motor back-EMF voltage surges and ground loops&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="1-hardware-hard-triggering--microsecond-temporal-synchronization"&gt;1. Hardware Hard-Triggering &amp;amp; Microsecond Temporal Synchronization&lt;/h3&gt;
&lt;p&gt;At vehicle speeds of 25 km/h, a 100 ms timing desynchronization between sensors induces an spatial projection error approaching 0.7 meters. Relying on software system timestamps (ROS Time) introduces non-deterministic OS scheduling jitter incompatible with feature-level sensor fusion.&lt;/p&gt;
&lt;p&gt;We engineered a multi-tier hardware synchronization architecture:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;PTP and PPS Nanosecond Clock Locking&lt;/strong&gt;: The RTK-GNSS receiver, upon locking satellite constellations, generates a precision Pulse Per Second (PPS) square wave and GPRMC NMEA timing packets. The 32-beam LiDAR ingests the PPS signal, synchronizing its internal clock to absolute UTC time within nanoseconds;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;FPGA/Microcontroller External Optical Exposure Triggering&lt;/strong&gt;: A dedicated microcontroller captures the PPS pulse and synthesizes a phase-locked 20 Hz square wave sent to the external trigger pins of industrial cameras. This forces camera sensor exposure to coincide exactly with the moment the LiDAR spinning beam sweeps through the forward field of view;&lt;/li&gt;
&lt;li&gt;Driver nodes read hardware frame timestamps directly from peripheral registers, compressing inter-sensor temporal alignment error below 1 millisecond.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="2-rigid-extrinsic-joint-calibration-lidar-camera-imu"&gt;2. Rigid Extrinsic Joint Calibration (LiDAR-Camera-IMU)&lt;/h3&gt;
&lt;p&gt;To eliminate spatial misalignments:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The rigid transformation between the camera optical center and LiDAR coordinate frame is optimized using a custom calibration board featuring hollow circular cutouts, simultaneously minimizing 3D laser point-to-plane fitting errors and 2D visual circular re-projection errors;&lt;/li&gt;
&lt;li&gt;IMU-to-LiDAR spatial extrinsics are identified through continuous sinusoidal steering maneuvers and rapid acceleration profiles in open areas, parameterizing trajectories via continuous B-splines to minimize angular velocity and linear acceleration residuals, reaching millimeter and 0.1-degree alignment accuracy.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="3-proprietary-can-bus-reverse-engineering--deterministic-socketcan-drivers"&gt;3. Proprietary CAN Bus Reverse Engineering &amp;amp; Deterministic SocketCAN Drivers&lt;/h3&gt;
&lt;p&gt;With native chassis controller (VCU) documentation withheld, we captured raw bus traffic using CAN analyzers during manual driving. By correlating driver throttle inputs, pedal pressure, steering wheel sweeps, and wheel encoder pulses, we systematically isolated and mapped the cyclic DBC communication matrix.&lt;/p&gt;
&lt;p&gt;We subsequently built an industrial-grade Linux SocketCAN driver:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Implemented a 100 Hz deterministic periodic thread transmitting steering angle, throttle voltage, and brake pressure setpoints;&lt;/li&gt;
&lt;li&gt;Integrated a dual-directional watchdog supervisor: if the VCU misses valid heartbeat packets for $&gt;100\text{ ms}$, onboard firmware immediately disengages autonomous drive and engages gentle mechanical braking, preventing runaway faults caused by upstream software crashes.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="full-stack-ros-autonomy-architecture"&gt;Full-Stack ROS Autonomy Architecture&lt;/h2&gt;
&lt;p&gt;The software stack operates on Ubuntu Linux and ROS with optimized shared-memory IPC, partitioned into three core decoupled pipelines:&lt;/p&gt;
&lt;h3 id="1-localization--high-precision-mapping-pipeline"&gt;1. Localization &amp;amp; High-Precision Mapping Pipeline&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Tightly Coupled LiDAR-Inertial SLAM&lt;/strong&gt;:
Extracting geometric edge and planar features from raw 32-beam point clouds, the frontend fuses high-rate IMU pre-integration priors within a factor graph optimization backend. Between keyframes, relative motion increments and bias updates are factored alongside LiDAR point-to-plane geometric residuals into an incremental smoothing and mapping (iSAM2) factor graph, rendering globally consistent 3D point-cloud maps of campus roadways;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;50 Hz Online NDT Localization&lt;/strong&gt;:
Within the pre-built metric voxel map, incoming point clouds are registered using the Normal Distributions Transform (NDT) at 50 Hz. Each spatial voxel approximates local point distributions via 3D Gaussians. Even when traversing covered pedestrian corridors and dense underpasses where GNSS signals vanish, NDT scan registration maintains continuous state estimation without trajectory drift or discrete position jumps;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Dual-Antenna Differential Kinematic Heading&lt;/strong&gt;:
Fixed dual antennas establish an instantaneous physical baseline across the vehicle roof, determining true vehicular heading even at zero velocity without dead-reckoning integration drift.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="2-environmental-perception--scene-understanding-pipeline"&gt;2. Environmental Perception &amp;amp; Scene Understanding Pipeline&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Bird&amp;rsquo;s-Eye-View Visual Lane Tracking&lt;/strong&gt;:
Monocular camera images undergo distortion rectification and Inverse Perspective Mapping (IPM). A lightweight segmentation network extracts lane boundary pixels, fitting polynomial curves to output continuous road curvature and lateral offset for steering regulation;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Multimodal 3D Object Detection &amp;amp; Tracking&lt;/strong&gt;:
2D deep learning detectors classify pedestrians, bicycles, and vehicles in image space. Detected bounding frustums are back-projected into spatial point clouds to segment candidate point clusters and fit 3D oriented bounding boxes. An Interacting Multiple Model Unscented Kalman Filter (IMM-UKF) bridges constant-velocity and constant-turn-rate motion hypotheses to publish stable obstacle velocity vectors.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="3-hierarchical-planning--high-rate-actuation"&gt;3. Hierarchical Planning &amp;amp; High-Rate Actuation&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Hierarchical Decision State Machine&lt;/strong&gt;:
Finite state machines (FSM) govern macroscopic mission transitions across cruise, dynamic yield, intersection negotiation, bay parking, and emergency stop. Local trajectory generators sample candidate polynomial trajectories in the Frenet frame to dodge static obstacles and slow pedestrians;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Dual-Loop Dynamic Tracking Control&lt;/strong&gt;:
Lateral control combines Pure Pursuit lookahead with Linear Time-Varying Model Predictive Control (LTV-MPC) over a dynamic bicycle model, enforcing steering angle limits and tire lateral slip angle saturation bounds to eliminate overshoot during high-curvature turns. Longitudinal control employs closed-loop PID with speed feedforward, transmitting steering and braking commands at 100 Hz over CAN.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="seven-real-vehicle-closed-loop-scenarios"&gt;Seven Real-Vehicle Closed-Loop Scenarios&lt;/h2&gt;
&lt;div class="project-video-gallery" aria-label="Project videos"&gt;&lt;figure class="project-video-card"&gt;
&lt;video controls playsinline preload="none" poster="/projects/lsv/lidar-mapping-poster_hu_604c0ba01f3371cc.webp" aria-label="Real-Time 3D LiDAR SLAM Mapping"&gt;
&lt;source src="https://changnie.top/projects/lsv/lidar-mapping.mp4" type="video/mp4"&gt;
&lt;/video&gt;
&lt;figcaption&gt;&lt;strong&gt;Real-Time 3D LiDAR SLAM Mapping&lt;/strong&gt;&lt;span&gt;Onboard 3D LiDAR incrementally constructing metric point-cloud maps of complex campus terrain with crisp structural fidelity.&lt;/span&gt;&lt;/figcaption&gt;
&lt;/figure&gt;&lt;figure class="project-video-card"&gt;
&lt;video controls playsinline preload="none" poster="/projects/lsv/slam-following-poster_hu_956d360818d161c5.webp" aria-label="High-Precision SLAM Waypoint Tracking"&gt;
&lt;source src="https://changnie.top/projects/lsv/slam-following.mp4" type="video/mp4"&gt;
&lt;/video&gt;
&lt;figcaption&gt;&lt;strong&gt;High-Precision SLAM Waypoint Tracking&lt;/strong&gt;&lt;span&gt;Autonomous waypoint navigation localized entirely within self-built 3D LiDAR point-cloud maps.&lt;/span&gt;&lt;/figcaption&gt;
&lt;/figure&gt;&lt;figure class="project-video-card"&gt;
&lt;video controls playsinline preload="none" poster="/projects/lsv/lane-keeping-poster_hu_8682fbe8ee5e522d.webp" aria-label="Vision-Based Lane Centering on 4WIS AGV"&gt;
&lt;source src="https://changnie.top/projects/lsv/lane-keeping.mp4" type="video/mp4"&gt;
&lt;/video&gt;
&lt;figcaption&gt;&lt;strong&gt;Vision-Based Lane Centering on 4WIS AGV&lt;/strong&gt;&lt;span&gt;Monocular front-facing camera segmenting lane boundaries to drive smooth centering control at speed.&lt;/span&gt;&lt;/figcaption&gt;
&lt;/figure&gt;&lt;figure class="project-video-card"&gt;
&lt;video controls playsinline preload="none" poster="/projects/lsv/object-detection-poster_hu_e4e3f17da16bef48.webp" aria-label="Dynamic Multi-Object Roadside Tracking"&gt;
&lt;source src="https://changnie.top/projects/lsv/object-detection.mp4" type="video/mp4"&gt;
&lt;/video&gt;
&lt;figcaption&gt;&lt;strong&gt;Dynamic Multi-Object Roadside Tracking&lt;/strong&gt;&lt;span&gt;Synchronized camera-LiDAR fusion tracking pedestrians, vehicles, and dynamic campus traffic.&lt;/span&gt;&lt;/figcaption&gt;
&lt;/figure&gt;&lt;figure class="project-video-card"&gt;
&lt;video controls playsinline preload="none" poster="/projects/lsv/emergency-braking-poster_hu_2637b788e6d033e4.webp" aria-label="Autonomous Emergency Braking (AEB)"&gt;
&lt;source src="https://changnie.top/projects/lsv/emergency-braking.mp4" type="video/mp4"&gt;
&lt;/video&gt;
&lt;figcaption&gt;&lt;strong&gt;Autonomous Emergency Braking (AEB)&lt;/strong&gt;&lt;span&gt;Sub-millisecond emergency brake actuation upon sudden obstacle intrusion across the vehicle path.&lt;/span&gt;&lt;/figcaption&gt;
&lt;/figure&gt;&lt;figure class="project-video-card"&gt;
&lt;video controls playsinline preload="none" poster="/projects/lsv/automatic-parking-poster_hu_809b426a3d1bfb2e.webp" aria-label="Autonomous Precision Bay Parking"&gt;
&lt;source src="https://changnie.top/projects/lsv/automatic-parking.mp4" type="video/mp4"&gt;
&lt;/video&gt;
&lt;figcaption&gt;&lt;strong&gt;Autonomous Precision Bay Parking&lt;/strong&gt;&lt;span&gt;Coordinated ultrasonic-vision trajectory optimization backing the vehicle into narrow parking stalls.&lt;/span&gt;&lt;/figcaption&gt;
&lt;/figure&gt;&lt;figure class="project-video-card"&gt;
&lt;video controls playsinline preload="none" poster="/projects/lsv/connected-following-poster_hu_465572c25a8a7573.webp" aria-label="V2X Multi-Vehicle Platooning"&gt;
&lt;source src="https://changnie.top/projects/lsv/connected-following.mp4" type="video/mp4"&gt;
&lt;/video&gt;
&lt;figcaption&gt;&lt;strong&gt;V2X Multi-Vehicle Platooning&lt;/strong&gt;&lt;span&gt;Direct inter-vehicle ad-hoc wireless communications coordinating two autonomous cars in synchronized following along curves.&lt;/span&gt;&lt;/figcaption&gt;
&lt;/figure&gt;&lt;/div&gt;
&lt;p&gt;The seven video recordings document extensive field testing across campus thoroughfares:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Real-Time 3D LiDAR Mapping&lt;/strong&gt;: The passenger vehicle cruises smoothly under dense tree canopies, incrementally rendering metric 3D point-cloud geometry of building facades and road curbstones;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;High-Precision SLAM Waypoint Following&lt;/strong&gt;: Operating with GNSS antennas disconnected, the vehicle navigates autonomously through long, winding campus avenues guided solely by real-time NDT point-cloud matching;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Vision Lane Centering on 4WIS AGV&lt;/strong&gt;: The forward camera parses faded white road lines, while the 4WIS chassis dynamically modulates steer angles to remain centered in the travel lane;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Dynamic Roadside Object Tracking&lt;/strong&gt;: Onboard detectors identify pedestrians crossing intersections and oncoming bicycles, maintaining 3D bounding boxes and trajectory predictions;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Autonomous Emergency Braking (AEB) Verification&lt;/strong&gt;: When an obstacle mannequin is rapidly thrust into the vehicle path, perception computes Time-to-Collision ($\text{TTC} &lt; 1.2\text{s}$) within 60 ms, triggering full hydraulic clamp lockup to halt the vehicle 0.8 meters before the target;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Precision Bay Parking&lt;/strong&gt;: Ultrasonic sensors measure bay clearance, allowing the planner to execute a two-stage reverse trajectory that parks the 4WIS AGV neatly aligned with painted stall markers;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;V2X Connected Platooning&lt;/strong&gt;: Over 5.8 GHz ad-hoc wireless mesh links, lead-vehicle acceleration and braking intentions are shared at 100 Hz, enabling two autonomous vehicles to maintain tight, zero-lag platoon spacing through multi-turn courses.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="engineering-summary--technical-takeaways"&gt;Engineering Summary &amp;amp; Technical Takeaways&lt;/h2&gt;
&lt;p&gt;Building two complete physical autonomous platforms from bare metal established foundational systems engineering insights:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Physical Ground Truth Governs Algorithmic Success&lt;/strong&gt;: Simulators hide bus dropouts, high-frequency frame vibration, electrical ground loops, and motor deadbands. Only by directly debugging power distribution surges and actuator dead zones on real iron can one design resilient control architectures with adequate feedforward and fail-safe watchdogs.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Deterministic Timing Underpins Sensor Fusion&lt;/strong&gt;: Sophisticated geometric algorithms fail if multi-modal sensor streams suffer millisecond-scale timestamp jitter. Enforcing hardware-level PPS clock discipline and external exposure triggering is a prerequisite for reliable real-world perception.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Reusable Modular System Foundation&lt;/strong&gt;: The full-stack hardware-software architecture established in this project provided directly transferable foundational modules for subsequent laboratory research and industry partnerships in mobile robotics and autonomous valet parking.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Hardware-Level Heartbeat Watchdogs as Safety Primitives&lt;/strong&gt;: Upstream Linux software stacks inevitably experience occasional thread freezes, driver crashes, or kernel scheduling delays. Guaranteeing that the low-level chassis microcontroller automatically cuts throttle and engages gradual hydraulic braking when cyclic CAN heartbeats drop for 100 ms is what keeps physical autonomous prototypes safe during high-speed live road trials.&lt;/li&gt;
&lt;/ol&gt;</description></item><item><title>MRASfM: Multi-Camera Reconstruction and Aggregation through Structure-from-Motion in Driving Scenes</title><link>https://changnie.top/publications/mrasfm/</link><pubDate>Sat, 31 Jan 2026 00:00:00 +0000</pubDate><guid>https://changnie.top/publications/mrasfm/</guid><description>&lt;h2 id="driving-is-the-wrong-shape-for-photogrammetry"&gt;Driving is the wrong shape for photogrammetry&lt;/h2&gt;
&lt;p&gt;Image-based reconstruction for driving is usually handled by visual SLAM, and for HD mapping and novel-view synthesis the SLAM route has a structural limitation. Its estimates are incremental and locally optimized, which blocks global refinement, and the result is drift that accumulates over a long trajectory. Structure-from-motion does the opposite: it processes everything in a batch with a global bundle adjustment at the end. The offline nature that makes SfM impractical for a live robot is exactly what makes it attractive here, because it can spend computation a real-time system cannot.&lt;/p&gt;
&lt;p&gt;So the obvious move is to use SfM for driving. Three facts about driving data make that harder than it should be.&lt;/p&gt;
&lt;p&gt;The first is the capture geometry. Classic SfM assumes you walk around the subject and photograph it from many directions. A car drives down a corridor. Viewpoints are almost collinear, which is the worst case for the translation estimation that SfM depends on.&lt;/p&gt;
&lt;p&gt;The second is that data arrives fragmented. Driving scenes are captured over short durations with limited overlap, and drives covering the same area may be recorded weeks apart. There are often no shared images at all between two datasets that need to end up in the same map.&lt;/p&gt;
&lt;p&gt;The third is calibration, and this is the one that changed how we designed everything. Vehicle calibration is difficult, initial values contain errors, and those errors get worse on uneven terrain. So the extrinsics you have at the start of a drive are not the extrinsics you need, and they are also the strongest prior available. That tension runs through the whole design.&lt;/p&gt;
&lt;h2 id="what-prior-methods-assume"&gt;What prior methods assume&lt;/h2&gt;
&lt;p&gt;Multi-camera SLAM systems are accurate and require precise internal relative poses and intrinsics as input. They need calibration done before deployment, and they struggle to accommodate different camera configurations, which restricts flexibility in practice.&lt;/p&gt;
&lt;p&gt;Incremental SfM is the closest baseline, and our criticism of it is specific. It ignores camera-set priors during incremental reconstruction and applies them only afterward, in rigid bundle adjustment once the reconstruction is already complete. By that point, errors that accumulated during incremental estimation cannot be corrected. Rigid BA cannot undo drift that has already been baked into the structure. Per-image bundle adjustment has a related problem: it can leave the internal relative poses inconsistent from frame to frame.&lt;/p&gt;
&lt;p&gt;Global multi-camera SfM does fix the relative camera poses from the start, and it is sensitive to outlier matches and tends to degenerate when the estimated relative translations are collinear. In a driving scene the trajectory is close to collinear by default, so this is a structural hazard rather than an edge case.&lt;/p&gt;
&lt;p&gt;Odometry-guided SfM takes the opposite bet and uses odometry poses and camera extrinsics directly for registration. That demands highly precise extrinsic calibration and accurate odometry, which are exactly the two things field deployment cannot reliably supply. We borrow this line of work&amp;rsquo;s idea of using homography to identify overlapping image pairs. We do not borrow the assumption that the priors can be trusted.&lt;/p&gt;
&lt;p&gt;There is also a matching problem specific to the setting. Traditional descriptors produce limited feature points in low-texture images, and road scenes are full of low-texture surfaces.&lt;/p&gt;
&lt;p&gt;Finally, existing aggregation modules for merging reconstructions typically assume shared imagery between the segments being merged. In practice that imagery usually does not exist.&lt;/p&gt;
&lt;h2 id="what-makes-it-hard"&gt;What makes it hard&lt;/h2&gt;
&lt;p&gt;Priors have to be used without being trusted. Extrinsics and odometry are the strongest signal available and the least reliable thing on the vehicle. Trust them entirely and you get one family of failures; ignore them and you get another. The design space in between is narrow.&lt;/p&gt;
&lt;p&gt;Collinearity is a real degeneracy, not a numerical nuisance. Fixed-rig global methods hinge on relative translation estimates, and straight-line driving makes those ill-conditioned.&lt;/p&gt;
&lt;p&gt;The failure modes sit exactly where the useful signal is. The road surface occupies a large part of every image and has almost no texture, so it produces both few matches and bad ones. Worse, the edges of vehicle shadows are high-contrast and get detected as feature points. A shadow edge is not a scene point. When the shadow moves, that feature moves, which injects motion into the road surface precisely where the structure matters most.&lt;/p&gt;
&lt;p&gt;Occlusion behaves differently on a rig than on a single camera. One blocked camera on a monocular system is a total failure; on a surround rig the other cameras still see the world. But that redundancy is only worth anything if registration actually shares the pose, and per-camera estimation throws the advantage away.&lt;/p&gt;
&lt;p&gt;And robustness has a price. More cameras mean more poses to optimize in bundle adjustment, which reduces efficiency. The coverage that buys robustness is paid for in optimization size, and cancelling that cost is what a large part of our design exists to do.&lt;/p&gt;
&lt;h2 id="the-camera-set-is-the-unit"&gt;The camera set is the unit&lt;/h2&gt;
&lt;p&gt;Our idea is to change the atomic element of reconstruction. Instead of treating each image as an independent camera to be solved, we take the rigid unit, every image captured at the same instant, as the thing that gets a pose. That pose is by definition the vehicle&amp;rsquo;s pose at that moment.&lt;/p&gt;
&lt;p&gt;The benefit is that the pose of a rig factorizes into a time-varying vehicle pose and a static internal relative pose. One well-observed camera can carry the poses of the cameras that see nothing useful. The rig is estimated once rather than re-learned at every frame.&lt;/p&gt;
&lt;p&gt;The important part is how that factorization is applied. We use it as a reparameterization inside registration and bundle adjustment, not as a constraint imposed afterward. That single decision does three things at once. It reduces the pose variables from one per camera per timestamp down to one per timestamp plus one per camera. It keeps the optimized rig consistent across frames, because there is only one rig to be consistent. And it turns calibration from an input that must be correct into a quantity that can be corrected.&lt;/p&gt;
&lt;h2 id="building-a-reconstruction"&gt;Building a reconstruction&lt;/h2&gt;
&lt;p&gt;Correspondence search comes first. SuperPoint detects and SuperGlue matches, pairs whose matched points fall into different semantic categories are discarded, and geometric verification removes the rest. Pairs are not all tried: with the rough internal relative poses and vehicle poses in hand, we compute the approximate field of view of each image and only match pairs that could plausibly overlap. Filtering this way improves both efficiency and accuracy, since matching everything against everything is expensive and injects noise from pairs that were never going to share content.&lt;/p&gt;
&lt;p&gt;Registration then runs in three steps. PnP is estimated on the images with the richest correspondences. Those per-image estimates are converted into per-unit estimates and fused by local robust rotation averaging and translation averaging into a single unit pose. Every remaining image in that unit gets its pose by composing the unit pose with the calibration.&lt;/p&gt;
&lt;p&gt;That middle step is where the method sits between the two failure modes described earlier. It averages, like the global family, but it averages over unit hypotheses derived from reliable images rather than over raw relative translations, which is what makes it survive collinearity.&lt;/p&gt;
&lt;p&gt;The honest accounting of this module is narrow. It has minimal effect on average pose accuracy and efficiency, and it is particularly useful for handling occluded viewpoints. In scenes with rich correspondences the impact is less noticeable. We state that tradeoff rather than presenting the module as uniformly beneficial, because the value of redundancy is concentrated in the tail.&lt;/p&gt;
&lt;p&gt;
&lt;figure id="figure-occlusion-on-one-camera-no-longer-fails-the-unit"&gt;
&lt;div class="flex justify-center"&gt;
&lt;div class="w-full"&gt;&lt;img
alt="Registration estimates a few well-observed cameras and derives the rest from rig geometry."
srcset="https://changnie.top/publications/mrasfm/camera-set-registration_hu_15bd2d6c03d3c2fd.webp 320w, https://changnie.top/publications/mrasfm/camera-set-registration_hu_e94cc5b258840200.webp 480w, https://changnie.top/publications/mrasfm/camera-set-registration_hu_29c5c9ef2f2a51f.webp 768w, https://changnie.top/publications/mrasfm/camera-set-registration_hu_3a53e7ff654a13d6.webp 1024w, https://changnie.top/publications/mrasfm/camera-set-registration_hu_6684702da025f980.webp 1080w"
sizes="(max-width: 480px) 100vw, (max-width: 768px) 90vw, (max-width: 1279px) 88vw, 928px"
src="https://changnie.top/publications/mrasfm/camera-set-registration_hu_15bd2d6c03d3c2fd.webp"
width="1080"
height="625"
loading="lazy"
data-zoomable&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;a class="paper-image-original" href="https://changnie.top/publications/mrasfm/camera-set-registration_hu_ed2109669bad9638.webp" target="_blank" rel="noopener"&gt;View full-size image ↗&lt;/a&gt;
&lt;figcaption&gt;Occlusion on one camera no longer fails the unit.&lt;/figcaption&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 id="getting-the-road-out-of-the-way"&gt;Getting the road out of the way&lt;/h2&gt;
&lt;p&gt;After a unit is registered, we fit a plane model to the road points with LO-RANSAC and remove them. This targets the shadow-edge problem directly. A moving shadow edge produces a feature that is not attached to the scene, and it lands on the largest and least textured surface in view, so the triangulation noise concentrates there by default. Removing those points improves reconstruction accuracy and accelerates convergence.&lt;/p&gt;
&lt;p&gt;The assumption being made is local flatness of the road, and our own real-world scenes include slope changes, so this is an approximation rather than a guarantee.&lt;/p&gt;
&lt;p&gt;
&lt;figure id="figure-removing-shadow-driven-and-texture-poor-points-where-the-noise-concentrates"&gt;
&lt;div class="flex justify-center"&gt;
&lt;div class="w-full"&gt;&lt;img
alt="Road-surface points are filtered with a plane model before triangulation."
srcset="https://changnie.top/publications/mrasfm/road-filtering_hu_2fdd79d6221cc441.webp 320w, https://changnie.top/publications/mrasfm/road-filtering_hu_7f5e12d343a2756b.webp 480w, https://changnie.top/publications/mrasfm/road-filtering_hu_d555188bccd5e091.webp 768w, https://changnie.top/publications/mrasfm/road-filtering_hu_f0f498a58b673a65.webp 1024w, https://changnie.top/publications/mrasfm/road-filtering_hu_a4e020bd76b5cdae.webp 1080w"
sizes="(max-width: 480px) 100vw, (max-width: 768px) 90vw, (max-width: 1279px) 88vw, 928px"
src="https://changnie.top/publications/mrasfm/road-filtering_hu_2fdd79d6221cc441.webp"
width="1080"
height="329"
loading="lazy"
data-zoomable&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;a class="paper-image-original" href="https://changnie.top/publications/mrasfm/road-filtering_hu_a78118426cf63e4f.webp" target="_blank" rel="noopener"&gt;View full-size image ↗&lt;/a&gt;
&lt;figcaption&gt;Removing shadow-driven and texture-poor points where the noise concentrates.&lt;/figcaption&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 id="bundle-adjustment-on-the-rig"&gt;Bundle adjustment on the rig&lt;/h2&gt;
&lt;p&gt;Camera set bundle adjustment optimizes vehicle poses and internal relative poses under substitution constraints that express each camera pose in terms of the vehicle pose and the rig geometry, with a Cauchy loss for the local stage. The variables include intrinsics, vehicle poses, internal relative poses and scene points.&lt;/p&gt;
&lt;p&gt;There are two modes and the split matters. Local CSBA fixes intrinsics and internal relative poses and touches only newly registered units and their neighbours. Global CSBA optimizes everything across all registered units, and we trigger it when many units remain unoptimized.&lt;/p&gt;
&lt;p&gt;Global CSBA re-optimizing intrinsics and relative poses is the online recalibration capability claimed in the paper. It is also the practical payoff, because it converts the field&amp;rsquo;s least reliable input into an output. Local CSBA is cheaper, and it freezes exactly those parameters, which is the tradeoff: the cheap mode cannot fix calibration, and the mode that can fix it costs more.&lt;/p&gt;
&lt;p&gt;The variable reduction from one pose per camera per timestamp to one per timestamp plus one per camera is worth dwelling on. Six cameras over a long trajectory means the per-image formulation optimizes six times as many poses as it needs to, and every extra variable is another degree of freedom that noise can hide in. Fewer variables makes convergence faster and the result more consistent. Robustness and efficiency turn out to be the same lever here, which is not usually the case.&lt;/p&gt;
&lt;p&gt;
&lt;figure id="figure-vehicle-poses-and-internal-relative-poses-are-refined-jointly-which-is-what-allows-calibration-to-improve-in-the-field"&gt;
&lt;div class="flex justify-center"&gt;
&lt;div class="w-full"&gt;&lt;img
alt="The rig is optimized once rather than re-estimated at every frame."
srcset="https://changnie.top/publications/mrasfm/camera-set-ba_hu_391a21fdb2ae00d7.webp 320w, https://changnie.top/publications/mrasfm/camera-set-ba_hu_3055e59701d6c74b.webp 480w, https://changnie.top/publications/mrasfm/camera-set-ba_hu_30675cf7ac5742e2.webp 768w, https://changnie.top/publications/mrasfm/camera-set-ba_hu_b2d2d986141c6f07.webp 1024w, https://changnie.top/publications/mrasfm/camera-set-ba_hu_6f03584da827f2b9.webp 1080w"
sizes="(max-width: 480px) 100vw, (max-width: 768px) 90vw, (max-width: 1279px) 88vw, 928px"
src="https://changnie.top/publications/mrasfm/camera-set-ba_hu_391a21fdb2ae00d7.webp"
width="1080"
height="1029"
loading="lazy"
data-zoomable&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;a class="paper-image-original" href="https://changnie.top/publications/mrasfm/camera-set-ba_hu_d2b24cbe094d9e3f.webp" target="_blank" rel="noopener"&gt;View full-size image ↗&lt;/a&gt;
&lt;figcaption&gt;Vehicle poses and internal relative poses are refined jointly, which is what allows calibration to improve in the field.&lt;/figcaption&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 id="merging-drives-that-share-no-images"&gt;Merging drives that share no images&lt;/h2&gt;
&lt;p&gt;Aggregation has to work without shared imagery, so the whole strategy is coarse-to-fine. Scenes are first placed in a global frame using satellite positioning, represented by trajectory midpoints: one scene sits at the geometric centre, its nearest neighbours become candidates, and homography-guided spatial pairs pick whichever candidate has the greatest visual overlap.&lt;/p&gt;
&lt;p&gt;The coarse placement is wrong by an unknown transform, because positioning error is larger than the alignment tolerance. So the transform itself becomes the variable. One image from the incoming scene is relocalized to get a refined pose, which yields the transform between the coarse placement and the true one, and that transform registers the entire rigid unit at once. Triangulation follows, then a transformation-based bundle adjustment optimizes the transform and the scene points while keeping the reference scene&amp;rsquo;s camera poses fixed.&lt;/p&gt;
&lt;p&gt;Registration, triangulation and adjustment iterate until every unit of the incoming scene has been absorbed. The merged result then becomes the new reference for the next scene, so aggregation proceeds as a chain rather than against a single global anchor. The reason is simple: chaining keeps error from originating at one fallible alignment.&lt;/p&gt;
&lt;p&gt;The whole stage is designed so aggregation never has to be exact at the coarse step, only close enough to relocalize.&lt;/p&gt;
&lt;p&gt;
&lt;figure id="figure-satellite-positioning-places-the-scene-vision-refines-the-placement"&gt;
&lt;div class="flex justify-center"&gt;
&lt;div class="w-full"&gt;&lt;img
alt="Separately collected drives are bound together from coarse alignment to refined transform."
srcset="https://changnie.top/publications/mrasfm/multi-scene-aggregation_hu_862a8ae5a668a769.webp 320w, https://changnie.top/publications/mrasfm/multi-scene-aggregation_hu_735f3b73e75077d6.webp 480w, https://changnie.top/publications/mrasfm/multi-scene-aggregation_hu_f1a7db34e45bc66c.webp 768w, https://changnie.top/publications/mrasfm/multi-scene-aggregation_hu_7c340760013fc14d.webp 1024w, https://changnie.top/publications/mrasfm/multi-scene-aggregation_hu_45954c91809187d9.webp 1080w"
sizes="(max-width: 480px) 100vw, (max-width: 768px) 90vw, (max-width: 1279px) 88vw, 928px"
src="https://changnie.top/publications/mrasfm/multi-scene-aggregation_hu_862a8ae5a668a769.webp"
width="1080"
height="967"
loading="lazy"
data-zoomable&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;a class="paper-image-original" href="https://changnie.top/publications/mrasfm/multi-scene-aggregation_hu_b5d8bdb2f368dd04.webp" target="_blank" rel="noopener"&gt;View full-size image ↗&lt;/a&gt;
&lt;figcaption&gt;Satellite positioning places the scene; vision refines the placement.&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;A physical invariant is best used as a reparameterization rather than a constraint. Enforcing rigidity after the fact cannot prevent the error that accumulated before. Making rigidity part of the variable structure prevents it from accumulating in the first place.&lt;/p&gt;
&lt;p&gt;Priors should prune, not conclude. Rough poses decide which pairs to match and where to start, and the geometry still comes from matched evidence. That is the line between our approach and the one we criticize.&lt;/p&gt;
&lt;p&gt;Design so priors can be corrected rather than merely trusted. Making relative poses optimizable is what turns the least reliable input into an output.&lt;/p&gt;
&lt;p&gt;And judge a module where its failure mode lives. Camera set registration barely moves average pose error, and it is the difference between working and failing when a camera is occluded. Aggregate metrics can hide a module&amp;rsquo;s entire value.&lt;/p&gt;
&lt;h2 id="what-it-still-assumes"&gt;What it still assumes&lt;/h2&gt;
&lt;p&gt;The method takes rough trajectories, rough calibration and semantic information as inputs. The semantic source is assumed rather than specified, and we report no sensitivity to the quality of those labels.&lt;/p&gt;
&lt;p&gt;Multi-scene aggregation is not ablated. The choice of roughly three candidate scenes and the geometric-centre reference heuristic are stated without justification or failure analysis.&lt;/p&gt;
&lt;p&gt;The rigid unit is defined purely by simultaneity, and we do not test what happens when that assumption weakens. Camera time-synchronization error and rig flex would both violate it, and neither is discussed. Online calibration is claimed but not characterized: we do not say under what motion diversity or camera count the global stage&amp;rsquo;s refinement of intrinsics and relative poses is well posed.&lt;/p&gt;
&lt;p&gt;The plane model presumes a locally flat road while our own deployment includes slope changes. Generality across different multi-camera configurations is asserted but exercised only on six- and seven-camera rigs. Dynamic objects beyond shadows appear in the motivation but have no dedicated treatment.&lt;/p&gt;
&lt;h2 id="where-it-leads"&gt;Where it leads&lt;/h2&gt;
&lt;p&gt;The contribution we would state is a change of unit, and everything else follows from it. What the change buys is worth spelling out: camera sets as atomic units for registration and refinement give robust pose estimation in complex environments and better efficiency than conventional per-camera methods. Combined with the road filtering and the aggregation stage, the pipeline produces a single map from drives that were never meant to be merged.&lt;/p&gt;
&lt;p&gt;We validated it in two directions on purpose. Real instrumented vehicles demonstrate that it holds up outside a dataset, and public benchmarks establish the accuracy claim against a conventional baseline. The practical statement of the stake is that intelligent vehicles can perceive their environment and estimate their own pose more reliably, which is what the downstream tasks actually consume.&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>