Maoris
(ICRA 2017) Cutting most types of maps in smaller more meaningful bits.
Install / Use
/learn @MalcolmMielle/MaorisREADME
MAORIS : MAp Of RIpples' Segmentation
Cutting most types of maps in smaller more meaningful bits.
UPDATE: There is now a Rust/Python version that is much faster; running in 0.5sec for larger maps than this repo. You can can find it on Codeberg
Description
This 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.

It also provides a way to evaluate and test your own segmentation using Matthews Correlation Coefficient.
A little bit more about this here.
Paper
The 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.
How to compile
Dependencies
- boost
- openCV 2.9 or more (openCV 3 included)
- bettergraph
- VoDiGrEx
Compile by doing
mkdir release
cmake ..
make
If one need to use maoris for other project you can do
sudo make install
to install and
sudo make uninstall
To uninstall.
How to use maoris
After compilation, you will have those executables:
For segmentation:
-
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.
-
evaluation_2files_fodler : compare segmented images files from two folders
-
evaluation_gt : compare a map with a segmented ground truth image
For evaluation
-
evaluation_2gt : compare two segmented images
-
evaluation_gt_all_files : segment all maps in a folder and then compare them to all segmented ground truths in another folder This file returns a gnuplot dat file named
maoris_all_measures.datwith all the data from the segmentation. -
evaluation_gt_param : evaluate maoris' parameters This file returns four gnuplot dat files named
maoris_param_threshold.dat,maoris_param_margin.dat,maoris_param_ripples.dat, andmaoris_param_doors.dat, with all the data from the segmentation for each parameters.
The arguments of all programs are given in the command line as in evaluation_gt_all_files folder1 folder2 should_draw.
Evaluating your own segmentations
You can evaluate your own segmentation results to ground truths by doing:
evaluation_2files_fodler folder_with_your_segmentation folder_with_your_ground_truth
We 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.
Related Skills
node-connect
354.3kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
112.3kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
354.3kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
354.3kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
