Occupancy set key is a LiDAR based place recognition algorithm had been accepted by IEEE TIM.
demo video: https://www.youtube.com/watch?v=4yEeCB2dhWg
- Introducing set based location descriptor, and using locality sensitive hashing trick, we convert the 3D environment around the landmark into several unique hash values.
- A simple but effective landmark selection strategy and by using RANSAC, algorithm can provide approximate 3DoF pose
We use point cloud download from Semantic KITTI
Download Data: LiDAR, calib&time, pose
-
In script/gt_kitti.py, set four path:
lidar_folder_path(lidar .bin file's folder),timestamp_path,calib_cam_to_velo_path,cam0_to_world_pathaccording to the dataset's path on your computer. Then create a folder and assign its path tooutput_folder_path.After these change run this python script, you will get some output file under
output_folder_pathincluding a xxx/out.txt, please copy the complete path of xxx/out.txt . -
In launch/run_osk.launch, set the
lidar_info_pathusing xxx/out.txt generated before, and set theresult_save_pathusing an arbritrary xxx.txt file path:<param name="lidar_info_path" type="string" value="xxx/out.txt" /> <param name="result_save_path" type="string" value="xxx.txt" /> -
in
shell/ folderrun./run.sh. The result will be saved inresult_save_path
Official website of KITTI360. Please download Raw Velodyne Scans, Calibrations and Vechicle Poses
- The only difference with Run on KITTI is step 1, Please use
script/gt_kitti360.pyand set the four path according to your dataset's path.
You can evaluate the performance(such as Precision-Recall) using the python script:
In script/evaluation.py, set the file_gt_sens_poses using xxx/out.txt and set file_outcome_osk using the result_save_path then run this python script.

