peterWon / GLoc3D

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

GlobalLoc3D

Implementation of our paper "Global Localization in Large-scale Point Clouds via Roll-pitch-yaw Invariant Place Recognition and Low-overlap Global Registration" (https://ieeexplore.ieee.org/document/10275135) in PyTorch.

Setup

Dependencies

  1. PyTorch
  2. Faiss
  3. scipy
  4. tensorboardX

Usage

  • Data preparation

    • Get into the folder of 'registration'

      • mkdir build && cd build && make -j8
    • Download KITTI Odometry and KITTI raw

    • Set 'root_dir' in 'kitti_i2i.py' to your own directory that saves KITTI raw

    • Set 'odometry_dir' in 'kitti_i2i.py' to your own directory that saves KITTI odometry

    • Generate index files using 'gen_index_files.py'

    • Run ./registration/build/save_probability_img YOUR_KITTI_RAW_DIR . You can find two folders saving processed images on the same directory of your root directory of KITTI raw.

  • Training

    • Check arguments in main.py and run:
      • python main.py --mode=cluster --dataset=kitti --pooling=netvlad_fc
      • python main.py --mode=train --dataset=kitti --pooling=netvlad_fc
  • Test

    • Place recognition
      • python main.py --mode=test --dataset=kitti --pooling=netvlad_fc --resume=YOUR_TRAINING_DIR --ckpt=best
    • Global localization
      • python main.py --mode=save_pt --dataset=kitti --pooling=netvlad_fc --resume=YOUR_TRAINING_DIR --ckpt=best
      • registration/build/global_localization VALSET_FILENAME GT_POSE_FILENAME MODEL_FILENAME

Acknowledgements

license

Following licenses of the above acknowledged repositories.

About


Languages

Language:C++ 67.4%Language:Python 32.2%Language:CMake 0.5%