| | --- |
| | license: apache-2.0 |
| | pipeline_tag: robotics |
| | tags: |
| | - point-cloud |
| | - 3d-vision |
| | - pose-estimation |
| | - registration |
| | - flow-model |
| | - computer-vision |
| | --- |
| | |
| | # [NeurIPS'25] Rectified Point Flow: Generic Point Cloud Pose Estimation |
| |
|
| | [](https://rectified-pointflow.github.io/) |
| | [](https://arxiv.org/abs/2506.05282) |
| | [](https://github.com/GradientSpaces/Rectified-Point-Flow) |
| |
|
| |
|
| | **Rectified Point Flow (RPF)** is a unified model that formulates pairwise point cloud registration and multi-part shape assembly as a single conditional generative problem. Given unposed point clouds, the method learns a continuous point-wise velocity field that transports noisy points toward their target positions, from which part poses are recovered. |
| |
|
| |
|
| | ## Installation |
| | ```bash |
| | git clone https://github.com/GradientSpaces/Rectified-Point-Flow.git |
| | cd Rectified-Point-Flow |
| | conda create -n py310-rpf python=3.10 -y |
| | conda activate py310-rpf |
| | poetry install # or `uv sync`, `bash install.sh` |
| | ``` |
| |
|
| | ## Quick Start |
| | ```bash |
| | # Assembly Generation: |
| | python sample.py data_root=./demo/data |
| | |
| | # Overlap Prediction: |
| | python predict_overlap.py data_root=./demo/data |
| | ``` |
| | More details can be found in our [GitHub Repo](https://github.com/GradientSpaces/Rectified-Point-Flow). |
| |
|
| | ## Checkpoints |
| | - `RPF_base_full_*.ckpt`: Complete model checkpoint for assembly generation |
| | - `RPF_base_pretrain_*.ckpt`: Encoder-only checkpoint for overlap prediction |
| |
|
| | ## Training Data |
| | | Dataset | Task | Part segmentation source | Parts per sample | |
| | |---|---|---|---| |
| | | [**IKEA-Manual**](https://yunongliu1.github.io/ikea-video-manual/) | Shape Assembly | Defined by IKEA manuals | [2, 19] | |
| | | [**PartNet**](https://partnet.cs.stanford.edu/) | Shape Assembly | Human-annotated parts | [2, 64] | |
| | | [**BreakingBad-Everyday**](https://breaking-bad-dataset.github.io/) | Shape Assembly | Simulated fractures via [fracture-modes](https://github.com/sgsellan/fracture-modes#dataset) | [2, 49] | |
| | | [**Two-by-Two**](https://tea-lab.github.io/TwoByTwo/) | Shape Assembly | Annotated by human | 2 | |
| | | [**ModelNet-40**](https://github.com/GradientSpaces/Predator) | Pairwise Registration | Following [Predator](https://github.com/prs-eth/OverlapPredator) split | 2 | |
| | | [**TUD-L**](https://bop.felk.cvut.cz/datasets/) | Pairwise Registration | Real scans with partial observations | 2 | |
| | | [**Objverse**](https://objaverse.allenai.org/) | Overlap Prediction | Segmented by [SAMPart3D](https://github.com/GradientSpaces/SAMPart3D) | [3, 12] | |
| |
|
| | ## Citation |
| | ```bibtex |
| | @inproceedings{sun2025_rpf, |
| | author = {Sun, Tao and Zhu, Liyuan and Huang, Shengyu and Song, Shuran and Armeni, Iro}, |
| | title = {Rectified Point Flow: Generic Point Cloud Pose Estimation}, |
| | booktitle = {NeurIPS}, |
| | year = {2025}, |
| | } |
| | ``` |