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_path
according 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_path
including a xxx/out.txt, please copy the complete path of xxx/out.txt . -
In launch/run_osk.launch, set the
lidar_info_path
using xxx/out.txt generated before, and set theresult_save_path
using 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/ folder
run./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.py
and 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.