Git Product home page Git Product logo

afcarl / placerecognition-loopdetection Goto Github PK

View Code? Open in Web Editor NEW

This project forked from bailool/placerecognition-loopdetection

0.0 1.0 0.0 23 KB

Light-weight place recognition and loop detection using road markings

Home Page: https://www.researchgate.net/publication/320557008_Light-weight_place_recognition_and_loop_detection_using_road_markings

License: GNU General Public License v3.0

CMake 2.21% C++ 39.88% MATLAB 57.91%

placerecognition-loopdetection's Introduction

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}
}

placerecognition-loopdetection's People

Contributors

bailool avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.