ADR: Real-Time and Robust 3D Place Recognition with Adaptive Data Reorganization and Geodesic-Constrained Plane Suppression
Project description
ADR: Real-Time and Robust 3D Place Recognition with Adaptive Data Reorganization and Geodesic-Constrained Plane Suppression
[NOTE]
This document may be out of date. See adr_code for the latest document.
This source code was based on STD: A Stable Triangle Descriptor for 3D place recognition.
💡 News
- September 2025: Accepted at RA-L
🍝 Install with pip
-
Install dependencies
sudo apt update \ && sudo apt install libgoogle-glog-dev \ libgflags-dev \ libatlas-base-dev \ libeigen3-dev \ libpcl-dev \ libtbb-dev
-
Install python package
pip install relocal_adr
🎼 Usage
-
Init place recognition object
from relocal_adr import ADR, Feature from yaml import safe_load cfg = safe_load(open("config_kitti.yaml", "r")) adr = ADR(cfg)
-
Extract Descriptor from points
# It is recommended to use dense point clouds frame_num = 10 # Select the data loading method independently according to the data set # Load points in world frame, !!! NOT LOCAL FRAME !!! points: np.ndarray = dataloader.get(start_id, frame_num, frame.WORLD) # Extract feature from raw points feature: Feature = adr.extract(points)
-
Query matching results
ress = adr.query(feature) # Print results if ress[0] >= 0: print(f"current frame match frame[{id}] in database, score is: {score}")
-
Update the feature to the database
adr.update(feature)
-
For detailed usage, see demo.py
🐋 Develop in Docker
-
Build docker image
docker compose build --pull -
Attach the service with VSCode
- Install
ms-vscode-remote.remote-containersin vscode extension marketplace - Press
F1, search "reopen in container" - Click it, and all settings are complete
- Install
-
Install local package
uv sync uv pip install ./relocal_adr
🔗 Datasets
The demo sample uses the kitti_odom_2012_dataloader to load data. Similar data loaders include
- kaist-dataloader
- nclt-dataloader
- wild-dataloader
can be installed directly using pip
📝 Citation
@ARTICLE{wang2025adr,
author={Wang, Chengmin and Zhuang, Yan and Yan, Fei and Zhang, Xuetao},
journal={IEEE Robotics and Automation Letters},
title={Real-Time and Robust 3D Place Recognition With Adaptive Data Reorganization and Geodesic-Constrained Plane Suppression},
year={2025},
volume={10},
number={11},
pages={11251-11258},
doi={10.1109/LRA.2025.3609614}
}
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file relocal_adr-0.1.1.tar.gz.
File metadata
- Download URL: relocal_adr-0.1.1.tar.gz
- Upload date:
- Size: 52.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4b296829cd40ed69718c2c64db5cca94496b75ef1dbcb1674d1ff15f69d6b2f7
|
|
| MD5 |
6e7d65f190a1d4c2e8e51bc3994c5e57
|
|
| BLAKE2b-256 |
1c6b043149c6dc4f2f6a6ca07d069cf26ae9d35353293e3c89ebdeb1ab521538
|
File details
Details for the file relocal_adr-0.1.1-cp38-cp38-manylinux_2_31_x86_64.whl.
File metadata
- Download URL: relocal_adr-0.1.1-cp38-cp38-manylinux_2_31_x86_64.whl
- Upload date:
- Size: 14.9 MB
- Tags: CPython 3.8, manylinux: glibc 2.31+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e2ad45dce29ac4d50d50754b971de88c7b5964e1ffab7da716593039e61fda60
|
|
| MD5 |
f45c1154db3a2f83e4ad8691aec6dfd7
|
|
| BLAKE2b-256 |
84f6ade9a94442d309831222cce281806784231d08a8fa4060a8690e68d1e3dc
|