Frequency-Domain Scan Context for Robust LiDAR-based Place Recognition with Translation and Rotation Invariance.
This work is now accepted for ICARCV 2022.
Place recognition is a task expected to recognize a place when revisiting it using data from sensors like Camera or LiDAR. Existing works on hand-crafted global descriptors for LiDAR-based place recognition show remarkable performance, yet are usually viewpoint-dependent. The capibility of viewpoint invariance is important, as when revists occur, one cannot assure the new viewpoint around the same place does not deviate from the former one.
FreSCo is a novel global descriptor inspired by Scan Context and LiDAR Iris, but provides both translation invariance and rotation invariance at the same time.
Note that we separated the preprocessing part of the code from the project, and users may find more about how to preprocess the data from publicly available datasets (e.g. MulRan, KITTI, and Oxford Radar) at Point-Cloud-Preprocessing-Tools.
Make sure the <keyframes_root_dir>
directory is organized as follows:
<keyframes_root_dir>
├ ...
├ non_ground_point_cloud/ <- folder for ground-removed point clouds in pcd format
├ output_multi_bev/ <- folder for multi-layer BEV images(NOT used currently)
└ output_single_bev <- folder for single-layer BEV images
Check the bvm_dir
and gt_pose_filename
in ./fresco-matlab/test4XXX.m
.
XXX
is the sequence name, can be KASIT03
, KITTI08
or Oxford
.
Make sure they look like this:
bvm_dir = '<keyframes_root_dir>/output_single_bev/csv/';
gt_pose_filename = '<keyframes_root_dir>/keyframe_pose.csv';
Remember to replace <keyframes_root_dir>
with the actual directory path.
Now run this script. It first computes the descriptors (if not cached), then computes the similarities, and finally estimate the performance in different threshold settings.
After the computations are done, it visualizes the retrieval results on the trajectory and shows precision-recall curve.
Details can be found in the paper.
KAIST03 |
KITTI 08 |
Oxford |
---|
FreSCo |
Scan Context |
LiDAR Iris |
LiDAR ORB |
---|
FreSCo |
Scan Context |
LiDAR Iris |
LiDAR ORB |
---|
FreSCo |
Scan Context |
LiDAR Iris |
LiDAR ORB |
---|
If you find this work useful to your research, please cite our paper (PDF):
@article{fan2022fresco,
title={FreSCo: Frequency-Domain Scan Context for LiDAR-based Place Recognition with Translation and Rotation Invariance},
author={Fan, Yongzhi and Du, Xin and Luo, Lun and Shen, Jizhong},
journal={arXiv preprint arXiv:2206.12628},
year={2022}
}
- Re-implement the main framework in C++;
- Try creating the keys using VLAD / NetVLAD;
- Integrate the framework to popular LiDAR-Inertial SLAM projects.