PlaceRecognition-LoopDetection

授权协议 MIT License
开发语言
所属分类 应用工具、 科研计算工具
软件类型 开源软件
地区 不详
投 递 者 龙越彬
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

Light-weight place recognition and loop detection using road markings

In order to reproduce results presented in the paper, follow the procedure below:

  1. Download the PlaceRecognition and LoopDetection datasets.The datasets structure are the following:
PlaceRecognition
│   stereo_params_sequence1.txt                 #stereo parameters for SLAM for Sequence1
|   stereo_params_sequence2.txt                 #stereo parameters for SLAM for Sequence2
|   SLAM_Poses_Sequence1.txt                    #poses of Sequence1 obtained by SLAM
|   SLAM_Poses_Sequence2.txt                    #poses of Sequence2 obtained by SLAM
│   road_marking_centroids_sequence1.txt        #road markings centroids&label of Sequence1 images  (not used for provided codes)
|   road_marking_centroids_sequence2.txt        #road markings centroids&label of Sequence2 images  (not used for provided codes)
|   road_marking_centroids_combined.txt         #road markings centroids&label of Sequence1 and Sequence2 images  (not used for provided codes)
|   road_marking_centroids_3Dposition.txt       #road markings centroids&label 3D position of both sequences (give path to this to run the codes)
└───Sequence1                                   #stores rectified images from Left and Right cameras 
│   └───Left
│   |       000000.png
│   |       000001.png
│   |       ...
│   └───Right
│           000000.png
│           000001.png
│           ...
│   
└───Sequence2                                   #stores rectified images from Left and Right cameras 
│   └───Left
│   |       000000.png
│   |       000001.png
│   |       ...
│   └───Right
│           000000.png
│           000001.png
│           ...
LoopDetection
│   stereo_params_sequence.txt                 #stereo parameters for SLAM for Sequence
|   SLAM_Poses_Sequence.txt                    #poses of Sequence obtained by SLAM
│   road_marking_centroids.txt                 #road markings centroids&label of Sequence images 
|   road_marking_centroids_3Dposition.txt      #road markings centroids&label 3D position of both sequences (give path to this to run the codes)
└───Sequence                                   #stores rectified images from Left and Right cameras 
│   └───Left
│   |       000000.png
│   |       000001.png
│   |       ...
│   └───Right
│           000000.png
│           000001.png
│           ...
  1. Provide paths to appropriate files:
  • set the following in AlgorithmCode/input_info.txt file ( make sure you do not have spaces in your path!):
    • search window size
    • path to road_marking_centroids_3Dposition.txt
    • path to image_matches.txt (the code creates this file by itself)
  • Matlab codes (LoopDetectionDrawPoses.m, VisualizeImageMatches.m, VisualizeMatchedRegionOnMap.m) in both PlaceRecognition and LoopDetection folders contain path parameters that have to be set appropriately.
  1. Compile main code code (written in cpp) in AlgorithmCode directory using cmake:
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release .. #for Release mode
cmake -DCMAKE_BUILD_TYPE=Debug .. #for Debug mode
make

To run the code ./Place_Recognition ../input_info.txt.Run Matlab codes from appropriate foldes (PlaceRecognition or LoopDetection) to visualize results.

Citation

If you use this code or dataset in your research, please cite:

@article{bailo2017light,
  title={Light-weight place recognition and loop detection using road markings},
  author={Bailo, Oleksandr and Rameau, Francois and Kweon, In So},
  journal={arXiv preprint arXiv:1710.07434},
  year={2017}
}

相关阅读

相关文章

相关问答

相关文档