Cutting most types of maps in smaller more meaningful bits.
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.
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.
- 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.
After compilation, you will have those executables:
-
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
-
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.dat
with 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
.
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.