SkillAgentSearch skills...

DCReg

DCReg: Decoupled Characterization for Efficient Degenerate LiDAR Registration

Install / Use

/learn @JokerJohn/DCReg

README

<div align="center"> <h1>DCReg: Decoupled Characterization for Efficient Degenerate LiDAR Registration</h1>

Xiangcheng Hu<sup>1</sup> · Xieyuanli Chen<sup>2</sup> · Mingkai Jia<sup>1</sup> · Jin Wu <sup>3*</sup> <br> Ping Tan<sup>1</sup>· Steven L. Waslander<sup>4†</sup>

<sup>1</sup>HKUST   <sup>2</sup>NUDT   <sup>3</sup>USTB    <sup>4</sup>U of T <br> †Project lead *Corresponding author

<a href="https://arxiv.org/abs/2509.06285"><img src='https://img.shields.io/badge/arXiv-2509.06285-b31b1b' alt='arXiv'></a>videoGitHub Stars GitHub Issues

</div>

image-20250923182814673

DCReg (Decoupled Characterization for ill-conditioned Registration) is a principled framework that addresses ill-conditioned point cloud registration problems, achieving 20% - 50% accuracy improvement and 5-100 times speedup over state-of-the-art methods.

  • Reliable ill-conditioning detection: Decouples rotation and translation via Schur complement decomposition for ill-conditioning detection,eliminating coupling effects that mask degeneracy patterns.
  • Quantitative characterization: Maps mathematical eigenspace to physical motion space, revealing which and to what extent specific motions lack constraints
  • Targeted mitigation: Employs targeted preconditioning that stabilizes only degenerate directions while preserving observable information.

DCReg seamlessly integrates with existing registration pipelines through an efficient PCG solver with a single interpretable parameter.

Timeline

2026/03/12: Conditional Accept, we should explain the future work and some metrics.

2025/12/15: Submit the revision.

2025/10/30: Major revision, we foucs on polishing the logic of this paper.

2025/09/23: the baseline codes and data released, including ME-SR/ME-TSVD/ME-TReg/FCN-SR/O3D/XICP/SuperLoc!! This codes will help you deeply into the ICP process. Next we will show how to integrate these methods in your own SLAM systems.

2025/09/09: the preprint paper is online, baseline codes will be published first!

Quick Start

Dependency (Test on Unbuntu 20.04)

| Open3D 0.15.1 | Ceres 2.1.0 | yaml-cpp 0.6.2 | Eigen 3.3.7 | OpenMP 201511 | TBB 2020.1 | PCL 1.10.0 | | ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ | ------------- | ----------- | ---------- |

Install

mkdir build
cd build
cmake ..
make -j8

set the file path and parametes in icp.yaml, but if you want to do iterative experments, e.g. iterative for 5000, just use the icp_iter.yaml. if you want to test on the real-world data, just use the icp_pk01.yaml, like Figure.16 in the paper.

./icp_test_runner

For other settings, you can see the notes in the yaml. Note that, the impelment of SuperLoc and XICP has also verified using autodiff or NumericDiff methods. Finally you can get the output:

| output files | results summary | | ------------------------------------------------------------ | ------------------------------------------------------------ | | image-20250923174833727 | image-20250923174918310 |

If you want to plot the statistics results like the figures in our papers, we will provide later. If you want to integrate theses methods in your SLAM system, just make sure the degenercy handling only in the first iteration.

Test data: Cylinder and Parkinglot frames.

Methods

image-20250923182954540

| image-20250923183115035 | image-20250923183019366 | | ------------------------------------------------------------ | ------------------------------------------------------------ |

Baseline and dataset

| image-20250909214128111 | | ------------------------------------------------------------ |

| image-20250908194514540 | image-20250908194526477 | | ------------------------------------------------------------ | ------------------------------------------------------------ |

Video demo

image-20250910212340395

| Scenarios | Characterization Example | Features | | ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ | | pk01_dcreg_seg | image-20250910213549613 | <span style="font-size:12px;">Planar degeneracy, <br/>t0-t1-r2 degenerate,<br/> the main <br/>components<br/> of motion <br/>sources are <br/> X-Y-Yaw. e.g.<br/> t0 = 90.0% X <br/>+ xx %Y + xx% Z. <br/>the related <br/>angles of<br/> X with t0 <br/>is 4.5 deg, that <br/>means X<br/> should be the <br/>main reason. <br/>see figure 16. </span> | | | image-20250910213208822 | <span style="font-size:12px;">narrow stairs, spares<br/> features cause this <br/>degeneracy. sometimes<br/> t2, sometimes r0-r1. <br/>see <br/>figure 17.</span> | | corridor_dcreg_x5 | image-20250910213259165 | <span style="font-size:12px;">narrow passage, <br/>r0-t0 or r0, depends <br/>on your<br/> measurements.</span> | | dcreg_x50 | image-20250910213415142 | <span style="font-size:12px;">rich features but <br/>within narrow <br/>environments. <br/>r0-t0 or r0.</span> |

Controlled Simulation Analysis

| image-20250908194819193 | | ------------------------------------------------------------ | | image-20250908194834002 |

| image-20250908194848247 | image-20250908194901218 | | ------------------------------------------------------------ | ------------------------------------------------------------ |

Real-world Performance Evaluation

localization and mapping

image-20250908195036175

| image-20250908195103021 | image-20250908195117064 | | ------------------------------------------------------------ | ------------------------------------------------------------ |

Degeneracy Characterization

| image-20250908195356150 | | ------------------------------------------------------------ | | image-20250908195410597 |

Degeneracy Detection

image-20250908195304202

<div align="center">

image-20250908195247186

</div>

| image-20250908195226346 | image-20250908195236593 | | ------------------------------------------------------------ | ------------------------------------------------------------ |

Ablation and Hybrid Analysis

| image-20250908195458538 | image-20250908195511133 | | ------------------------------------------------------------ | ------------------------------------------------------------ |

Run-time analysis

| image-20250908195549384 | image-20250908195600116 | | ------------------------------------------------------------ | ------------------------------------------------------------ |

Parameter

<div align="center">

image-20250913000546827

</div>

Important Issue

What you can get from the baseline codes?

  • the efftect of different pose parameterization method for ICP, like SE(3), R3*SO(3), S3 and Eular.
  • different implement of optimization, like
View on GitHub
GitHub Stars217
CategoryDevelopment
Updated18h ago
Forks16

Languages

Python

Security Score

85/100

Audited on Apr 3, 2026

No findings