{"id":21389675,"url":"https://github.com/malcolmmielle/maoris","last_synced_at":"2025-10-12T12:14:05.920Z","repository":{"id":28232779,"uuid":"105141884","full_name":"MalcolmMielle/maoris","owner":"MalcolmMielle","description":"Cutting most types of maps in smaller more meaningful bits.","archived":false,"fork":false,"pushed_at":"2023-03-23T08:33:42.000Z","size":10403,"stargazers_count":10,"open_issues_count":0,"forks_count":11,"subscribers_count":3,"default_branch":"main","last_synced_at":"2023-08-06T10:50:59.625Z","etag":null,"topics":["map","robot","robotics","segmentation","semantics","semanticsegmentation","sketch-maps"],"latest_commit_sha":null,"homepage":null,"language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/MalcolmMielle.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}},"created_at":"2017-09-28T11:48:27.000Z","updated_at":"2023-02-24T16:59:42.000Z","dependencies_parsed_at":"2023-01-14T08:23:48.344Z","dependency_job_id":null,"html_url":"https://github.com/MalcolmMielle/maoris","commit_stats":null,"previous_names":[],"tags_count":1,"template":null,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MalcolmMielle%2Fmaoris","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MalcolmMielle%2Fmaoris/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MalcolmMielle%2Fmaoris/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MalcolmMielle%2Fmaoris/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MalcolmMielle","download_url":"https://codeload.github.com/MalcolmMielle/maoris/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225896690,"owners_count":17541545,"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":["map","robot","robotics","segmentation","semantics","semanticsegmentation","sketch-maps"],"created_at":"2024-11-22T12:28:06.339Z","updated_at":"2025-10-12T12:14:05.880Z","avatar_url":"https://github.com/MalcolmMielle.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# MAORIS : MAp Of RIpples' Segmentation\n\nCutting most types of maps in smaller more meaningful bits.\n\n\u003e UPDATE: There is now a Rust/Python version that is _much_ faster; running in 0.5sec for larger maps than this repo.\n\u003e You can can find it on [Codeberg](https://codeberg.org/MalcolmMielle/maoris-rs)\n\n## Description\n\nThis program segment maps in semantically meaningful parts, such as rooms and corridors. It has been tested on robot build maps and sketch maps, but the principle can easily be extended to other type of maps such as city maps.\n\n![Image of a segmentation](https://raw.githubusercontent.com/MalcolmMielle/maoris/ICRA2018/Images/maoris_NLB_straighten_color.png)\n![Image of another segmentation](https://raw.githubusercontent.com/MalcolmMielle/maoris/ICRA2018/Images/maoris_Freiburg101_scan_straighten_color.png)\n\nIt also provides a way to evaluate and test your own segmentation using [Matthews Correlation Coefficient](https://en.wikipedia.org/wiki/Matthews_correlation_coefficient).\n\nA little bit more about this [here](https://malcolmmielle.wordpress.com/2017/10/05/breaking-maps-apart-in-tiny-more-meaningful-bits/).\n\n## Paper \n\nThe paper describing the method was accepted for publication at ICRA2017 (:D!) and should be published soon after the conference. The preprint version is [available on Arxiv](https://arxiv.org/abs/1709.09899).\n\n## How to compile\n\n### Dependencies\n\n* boost\n* openCV 2.9 or more (openCV 3 included)\n* [bettergraph](https://github.com/MalcolmMielle/BetterGraph)\n* [VoDiGrEx](https://github.com/MalcolmMielle/VoDiGrEx)\n\nCompile by doing \n\n```\nmkdir release\ncmake ..\nmake\n```\nIf one need to use maoris for other project you can do \n```\nsudo make install\n```\nto install and\n```\nsudo make uninstall\n```\nTo uninstall.\n\n## How to use maoris\n\nAfter compilation, you will have those executables:\n\n### For segmentation:\n\n* segmentation_live : use the webcam of your laptop to segment maps. Just take a picture of the map and its ground truth and there you go.\n\n* evaluation_2files_fodler : compare segmented images files from two folders\n\n* evaluation_gt : compare a map with a segmented ground truth image\n\n### For evaluation\n\n* evaluation_2gt : compare two segmented images\n \n* evaluation_gt_all_files : segment all maps in a folder and then compare them to all segmented ground truths in another folder\nThis file returns a gnuplot dat file named `maoris_all_measures.dat` with all the data from the segmentation.\n\n* evaluation_gt_param : evaluate maoris' parameters\nThis file returns four gnuplot dat files named `maoris_param_threshold.dat`, `maoris_param_margin.dat`, `maoris_param_ripples.dat`, and `maoris_param_doors.dat`, with all the data from the segmentation for each parameters.\n\nThe arguments of all programs are given in the command line as in `evaluation_gt_all_files folder1 folder2 should_draw`.\n\n## Evaluating your own segmentations\n\nYou can evaluate your own segmentation results to ground truths by doing:\n\n```\nevaluation_2files_fodler folder_with_your_segmentation folder_with_your_ground_truth\n```\n\nWe also provide segmentation by maoris, DuDe and a Voronoi based segmentation. DuDe segmentation results are in `Test/RobotMap/DuDe_results` for the robot maps and `Test/Sketches/DuDe` for the sketch maps. The Voronoi based segmentation results are in `Test/RobotMap/Voronoi` for the robot maps and `Test/Sketches/Voronoi` for the sketch maps. maoris segmentation results are in `Test/RobotMap/maoris` for the robot maps and `Test/Sketches/maoris` for the sketch maps.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmalcolmmielle%2Fmaoris","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmalcolmmielle%2Fmaoris","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmalcolmmielle%2Fmaoris/lists"}