DCReg
DCReg: Decoupled Characterization for Efficient Degenerate LiDAR Registration
Install / Use
/learn @JokerJohn/DCRegREADME
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>

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 |
| ------------------------------------------------------------ | ------------------------------------------------------------ |
|
|
|
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

|
|
|
| ------------------------------------------------------------ | ------------------------------------------------------------ |
Baseline and dataset
|
|
| ------------------------------------------------------------ |
|
|
|
| ------------------------------------------------------------ | ------------------------------------------------------------ |
Video demo

| Scenarios | Characterization Example | Features |
| ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ |
|
|
| <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> |
|
|
| <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> |
|
|
| <span style="font-size:12px;">narrow passage, <br/>r0-t0 or r0, depends <br/>on your<br/> measurements.</span> |
|
|
| <span style="font-size:12px;">rich features but <br/>within narrow <br/>environments. <br/>r0-t0 or r0.</span> |
Controlled Simulation Analysis
|
|
| ------------------------------------------------------------ |
|
|
|
|
|
| ------------------------------------------------------------ | ------------------------------------------------------------ |
Real-world Performance Evaluation
localization and mapping

|
|
|
| ------------------------------------------------------------ | ------------------------------------------------------------ |
Degeneracy Characterization
|
|
| ------------------------------------------------------------ |
|
|
Degeneracy Detection


|
|
|
| ------------------------------------------------------------ | ------------------------------------------------------------ |
Ablation and Hybrid Analysis
|
|
|
| ------------------------------------------------------------ | ------------------------------------------------------------ |
Run-time analysis
|
|
|
| ------------------------------------------------------------ | ------------------------------------------------------------ |
Parameter
<div align="center">
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
