ICCV 2025:
Minkyun Seo*,
Hyungtae Lim*,
Kanghee Lee,
Luca Carlone,
Jaesik Park
Towards zero-shot and beyond! π
Official repository of BUFFER-X, a zero-shot point cloud registration method
across diverse scenes without retraining or tuning.
- ICCV 2025 (Highlight): BUFFER-X: Towards Zero-Shot Point Cloud Registration in Diverse Scenes. Minkyun Seo, Hyungtae Lim, Kanghee Lee, Luca Carlone, and Jaesik Park.
- TPAMI 2026 (journal extension): Toward Zero-Shot Point Cloud Registration Across Diverse Scales, Scenes, and Sensor Setups. Hyungtae Lim, Minkyun Seo, Luca Carlone, and Jaesik Park. IEEE Transactions on Pattern Analysis and Machine Intelligence, 48(11):15234β15251. Open-access version.
The journal extension expands evaluation to 12 datasets, covering object-scale, indoor, and outdoor scenes as well as heterogeneous LiDAR sensor setups. It also introduces BUFFER-X-Lite, combining adaptive early exit with a fast, robust pose solver to reduce total computation time by 43% relative to BUFFER-X while maintaining comparable accuracy in the reported experiments. The descriptor model is trained once and applied without target-domain retraining or parameter tuning.
See the heterogeneous evaluation instructions, KISS-Matcher integration, and early-exit configuration below.
git clone https://github.com/MIT-SPARK/BUFFER-X
cd BUFFER-X
conda create -n bufferx python=3.11 -y
conda activate bufferx
./scripts/install.sh --cuda cu124 --with-hubFor other CUDA versions and optional dependencies, see the installation guide.
Download the pretrained models from Hugging Face:
python scripts/download_pretrained_models.py --source hf --repo-id Hyungtae-Lim/BUFFER-XDownload the preprocessed benchmark data (approximately 130 GB):
./scripts/download_all_data.shThen run an evaluation:
python test.py --dataset 3DMatch TIERS Oxford MIT --experiment_id threedmatch --verboseTo evaluate all supported datasets:
./scripts/eval_all.sh <EXPERIMENT ID>For heterogeneous sensor settings:
./scripts/eval_all_hetero.sh <EXPERIMENT ID>Evaluation options and datasets
-
--dataset: The name of the dataset to test on. Must be one of:3DMatch3DLoMatchScannetpp_iphoneScannetpp_faroTIERSKITTIWODMITKAISTETHOxfordTIERS_heteroKAIST_hetero
-
--experiment_id: The ID of the experiment to use for testing. -
--pose_estimator: Pose estimation backend. Choices:ransac(default) orkiss_matcher. -
--gpu: GPU device index to use (default:0). -
--num_points_per_patch,--num_scales,--num_fps,--search_radius_thresholds: Override the corresponding config values for ablation studies.
For heterogeneous evaluation, additional arguments are:
--src_sensor: Source sensor name (e.g.,os0_128,Aeva).--tgt_sensor: Target sensor name (e.g.,os1_64,Avia).
e.g.,
python test.py --dataset TIERS_hetero --src_sensor os0_128 --tgt_sensor os1_64 --experiment_id threedmatch --verbose
See dataset/README.md for dataset-specific download and preprocessing instructions. ScanNet++ data cannot be redistributed.
Pretrained checkpoints are hosted at Hyungtae-Lim/BUFFER-X. Maintainer upload instructions are in INSTALL.md.
This branch adds support for KISS-Matcher as an alternative to RANSAC for the final pose estimation step.
Please follow the official Python installation instructions provided in the KISS-Matcher repository: https://github.com/MIT-SPARK/KISS-Matcher?tab=readme-ov-file#package-installation
Pass --pose_estimator kiss_matcher on the command line:
python test.py --dataset 3DMatch --experiment_id threedmatch --pose_estimator kiss_matcher --verboseTo use RANSAC (default behavior):
python test.py --dataset 3DMatch --experiment_id threedmatch --pose_estimator ransac --verboseYou can also set the pose estimator and its options directly in the config files (e.g., config/indoor_config.py):
cfg.match.pose_estimator = "kiss_matcher" # "ransac" or "kiss_matcher"
cfg.match.kiss_resolution = 0.3 # Voxel resolution for KISS-MatcherNote: If
kiss-matcheris not installed, the pipeline automatically falls back to RANSAC with a warning.
BUFFER-X-Lite, introduced in the TPAMI extension, uses an incremental multi-scale processing strategy that stops computing additional scales once the pose estimate is already confident enough. This reduces unnecessary descriptor extraction and speeds up inference.
The early exit is triggered when the number of RANSAC/KISS-Matcher inliers exceeds early_exit_min_inliers after the first scale.
cfg.match.enable_early_exit = False # Enable confidence-aware early exit (default: False)
cfg.match.early_exit_min_inliers = 50 # Minimum inlier count to trigger early exitAfter each test run, results are automatically saved:
- Per-sample
.txt: detailed per-frame metrics (success, RTE, RRE, inlier counts, timing) underper_sample_results/<exp_name>/. - Summary
.csv: aggregated statistics (recall, RTE/RRE mean Β± std, timing) saved to the root directory asfull_results/results_<exp_name>_<params>_<timestamp>.csv.
BUFFER-X supports training on either the 3DMatch or KITTI dataset. As un example, run the following command to train the model:
python train.py --dataset 3DMatch
If you find our work useful in your research, please consider citing the ICCV paper and its TPAMI journal extension:
@inproceedings{Seo_2025_ICCV,
title={BUFFER-X: Towards Zero-Shot Point Cloud Registration in Diverse Scenes},
author={Seo, Minkyun and Lim, Hyungtae and Lee, Kanghee and Carlone, Luca and Park, Jaesik},
booktitle={Proceedings of the IEEE/CVF International Conference on Computer Vision (ICCV)},
year={2025},
pages={3851--3862}
}@article{Lim_2026_TPAMI,
title={Toward Zero-Shot Point Cloud Registration Across Diverse Scales, Scenes, and Sensor Setups},
author={Lim, Hyungtae and Seo, Minkyun and Carlone, Luca and Park, Jaesik},
journal={IEEE Transactions on Pattern Analysis and Machine Intelligence},
year={2026},
volume={48},
number={11},
pages={15234--15251},
month=nov,
doi={10.1109/TPAMI.2026.3722524},
url={https://ieeexplore.ieee.org/document/11651365}
}This work was supported by IITP grant (RS-2021-II211343: AI Graduate School Program at Seoul National University) (5%), and by NRF grants funded by the Korea government (MSIT) (No. 2023R1A1C200781211 (65%) and No. RS-2024-00461409 (30%), respectively).
In addition, we appreciate the open-source contributions of previous authors, and especially thank Sheng Ao, the first author of BUFFER, for allowing us to use the term 'BUFFER' as part of the title of our study.
- 2026: The journal extension is published in IEEE TPAMI, introducing BUFFER-X-Lite and an expanded 12-dataset benchmark.
- 03/03/2026: Refactored evaluation/testing code for cleaner structure, improved logging, and more reliable result reporting.
- 28/02/2026: Added KISS-Matcher pose solver support and confidence-aware early exit for multi-scale processing.
- 06/01/2026: Extended version of the paper has been uploaded.
- 25/07/2025: This work is selected as a Highlight paper at ICCV 2025.
- 25/06/2025: This work is accepted by ICCV 2025.

