Refer to PointNetVlad and LPD-Net
- PyTorch 1.4.0
- tensorboardX
The benchmark datasets introdruced in this work can be downloaded here, which created by PointNetVLAD for point cloud based retrieval for place recognition from the open-source Oxford RobotCar. Details can be found in PointNetVLAD.
- All submaps are in binary file format
- Ground truth GPS coordinate of the submaps are found in the corresponding csv files for each run
- Filename of the submaps are their timestamps which is consistent with the timestamps in the csv files
- Use CSV files to define positive and negative point clouds
- All submaps are preprocessed with the road removed and downsampled to 4096 points
- 45 sets in total of full and partial runs
- Used both full and partial runs for training but only used full runs for testing/inference
- Training submaps are found in the folder "pointcloud_20m_10overlap/" and its corresponding csv file is "pointcloud_locations_20m_10overlap.csv"
- Training submaps are not mutually disjoint per run
- Each training submap ~20m of car trajectory and subsequent submaps are ~10m apart
- Test/Inference submaps found in the folder "pointcloud_20m/" and its corresponding csv file is "pointcloud_locations_20m.csv"
- Test/Inference submaps are mutually disjoint
Download the zip file of the benchmark datasets found here.
cd generating_queries/
# For training tuples in our baseline network
python generate_training_tuples_baseline.py
# For training tuples in our refined network
# python generate_training_tuples_refine.py
# For network evaluation
python generate_test_sets.py
python train_pointnetvlad.py --batch_num_queries=2 --pretrained_path=./pretrained/lpdnet.ckpt
python train_pointnetvlad.py --featnet=pointnet --batch_num_queries=1 --eval_batch_size=2 --pretrained_path=./pretrained/pointnet.ckpt --eval
python train_pointnetvlad.py --eval_batch_size=5 --eval --pretrained_path=./pretrained/lpdnet.ckpt
Take a look atinitPara for more parameters