{"id":18076049,"url":"https://github.com/bailool/placerecognition-loopdetection","last_synced_at":"2025-06-26T12:34:24.252Z","repository":{"id":90854431,"uuid":"95639724","full_name":"BAILOOL/PlaceRecognition-LoopDetection","owner":"BAILOOL","description":"Light-weight place recognition and loop detection using road markings","archived":false,"fork":false,"pushed_at":"2021-03-12T08:55:51.000Z","size":29,"stargazers_count":57,"open_issues_count":0,"forks_count":24,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-06-04T10:07:24.324Z","etag":null,"topics":["computer-vision","cpp11","loop-detection","matlab","place-recognition","road-markings"],"latest_commit_sha":null,"homepage":"https://www.researchgate.net/publication/320557008_Light-weight_place_recognition_and_loop_detection_using_road_markings","language":"MATLAB","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/BAILOOL.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2017-06-28T07:07:15.000Z","updated_at":"2024-10-11T06:42:07.000Z","dependencies_parsed_at":null,"dependency_job_id":"56a6b663-3cc2-4c2e-bf68-83a253a78d26","html_url":"https://github.com/BAILOOL/PlaceRecognition-LoopDetection","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/BAILOOL/PlaceRecognition-LoopDetection","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BAILOOL%2FPlaceRecognition-LoopDetection","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BAILOOL%2FPlaceRecognition-LoopDetection/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BAILOOL%2FPlaceRecognition-LoopDetection/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BAILOOL%2FPlaceRecognition-LoopDetection/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/BAILOOL","download_url":"https://codeload.github.com/BAILOOL/PlaceRecognition-LoopDetection/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BAILOOL%2FPlaceRecognition-LoopDetection/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262068630,"owners_count":23253841,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["computer-vision","cpp11","loop-detection","matlab","place-recognition","road-markings"],"created_at":"2024-10-31T11:08:34.936Z","updated_at":"2025-06-26T12:34:24.246Z","avatar_url":"https://github.com/BAILOOL.png","language":"MATLAB","readme":"# Light-weight place recognition and loop detection using road markings\n\n[![View PlaceRecognition-LoopDetection on File Exchange](https://www.mathworks.com/matlabcentral/images/matlab-file-exchange.svg)](https://uk.mathworks.com/matlabcentral/fileexchange/88718-placerecognition-loopdetection)\n\nIn order to reproduce results presented in the [paper](https://www.researchgate.net/publication/320557008_Light-weight_place_recognition_and_loop_detection_using_road_markings), follow the procedure below:\n1. Download the [PlaceRecognition](https://cloud.frameau.xyz/index.php/s/qn7cNaS6sg4XTnJ) and [LoopDetection](https://cloud.frameau.xyz/index.php/s/XZb6aqRrj9YDE83) datasets.\nThe datasets structure are the following:\n```\nPlaceRecognition\n│   stereo_params_sequence1.txt                 #stereo parameters for SLAM for Sequence1\n|   stereo_params_sequence2.txt                 #stereo parameters for SLAM for Sequence2\n|   SLAM_Poses_Sequence1.txt                    #poses of Sequence1 obtained by SLAM\n|   SLAM_Poses_Sequence2.txt                    #poses of Sequence2 obtained by SLAM\n│   road_marking_centroids_sequence1.txt        #road markings centroids\u0026label of Sequence1 images  (not used for provided codes)\n|   road_marking_centroids_sequence2.txt        #road markings centroids\u0026label of Sequence2 images  (not used for provided codes)\n|   road_marking_centroids_combined.txt         #road markings centroids\u0026label of Sequence1 and Sequence2 images  (not used for provided codes)\n|   road_marking_centroids_3Dposition.txt       #road markings centroids\u0026label 3D position of both sequences (give path to this to run the codes)\n└───Sequence1                                   #stores rectified images from Left and Right cameras \n│   └───Left\n│   |       000000.png\n│   |       000001.png\n│   |       ...\n│   └───Right\n│           000000.png\n│           000001.png\n│           ...\n│   \n└───Sequence2                                   #stores rectified images from Left and Right cameras \n│   └───Left\n│   |       000000.png\n│   |       000001.png\n│   |       ...\n│   └───Right\n│           000000.png\n│           000001.png\n│           ...\n```\n\n```\nLoopDetection\n│   stereo_params_sequence.txt                 #stereo parameters for SLAM for Sequence\n|   SLAM_Poses_Sequence.txt                    #poses of Sequence obtained by SLAM\n│   road_marking_centroids.txt                 #road markings centroids\u0026label of Sequence images \n|   road_marking_centroids_3Dposition.txt      #road markings centroids\u0026label 3D position of both sequences (give path to this to run the codes)\n└───Sequence                                   #stores rectified images from Left and Right cameras \n│   └───Left\n│   |       000000.png\n│   |       000001.png\n│   |       ...\n│   └───Right\n│           000000.png\n│           000001.png\n│           ...\n```\n2. Provide paths to appropriate files:\n* set the following in *AlgorithmCode/input_info.txt* file ( make sure you do not have spaces in your path!):\n  - search window size\n  - path to *road_marking_centroids_3Dposition.txt*\n  - path to *image_matches.txt* (the code creates this file by itself)\n* Matlab codes (*LoopDetectionDrawPoses.m*, *VisualizeImageMatches.m*, *VisualizeMatchedRegionOnMap.m*) in both *PlaceRecognition* and *LoopDetection* folders contain path parameters that have to be set appropriately.\n\n3. Compile main code code (written in cpp) in *AlgorithmCode* directory using cmake:\n```\nmkdir build\ncd build\ncmake -DCMAKE_BUILD_TYPE=Release .. #for Release mode\ncmake -DCMAKE_BUILD_TYPE=Debug .. #for Debug mode\nmake\n```\nTo run the code ``` ./Place_Recognition ../input_info.txt ```.\nRun Matlab codes from appropriate foldes (*PlaceRecognition* or *LoopDetection*) to visualize results.\n\n## Citation\nIf you use this code or dataset in your research, please cite:\n```\n@article{bailo2017light,\n  title={Light-weight place recognition and loop detection using road markings},\n  author={Bailo, Oleksandr and Rameau, Francois and Kweon, In So},\n  journal={arXiv preprint arXiv:1710.07434},\n  year={2017}\n}\n```\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbailool%2Fplacerecognition-loopdetection","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbailool%2Fplacerecognition-loopdetection","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbailool%2Fplacerecognition-loopdetection/lists"}