This is the implementation of the superpixel segmentation method Object-based Dynamic and Iterative Spanning Forest(ODISF) as proposed in
- F.Belém, B.Perret, J.Cousty, S.Guimarães, A.Falcão. Towards a Simple and Efficient Object-based Superpixel Delineation Framework. In 34th International Conference on Graphics, Patterns and Images (SIBGRAPI), pg 346-353. 2021.
This software includes a program for running the ODISF method, and another one for assisting the visualization of the segmentation by overlaying the superpixel borders. Please cite the aforementioned paper if you use any of this software in your own project.
The project was developed in C under a Linux-based operational system; therefore, it is NOT GUARANTEED to work properly in other systems (e.g. Windows and macOS). Moreover, the same applies for non-GCC compilers, such as Clang and MinGW.
All code within this project were developed, compiled and tested using the following programs:
This code was implemented and evaluated in a computer with the following specifications:
- Model: Acer X555LB
- Operational System: Linux Mint v20.2 x86_64 kernel version 5.4.0-86-generic
- Order: Little-Endian
- CPU: 4x Dual-core Intel(R) Core(TM) i5-5200 @ 2.20 GHz
- Memory: 8GB RAM ; 480 SSD
The library has in-built support for handling PNM images. For enabling external library support, please refer to the README file within the externals folder.
If your computer meets the aforementioned requirements, you may run the commands below for compiling the library and all the demonstration programs.
make lib
make demo
Or simply run one of the following commands for compiling both latter at once.
make
make all
For removing the files generated from compilation, one may run the following rule.
make clean
After compiling, one may run ODISF for segmenting an image through the following command
./bin/RunODISF --img path/to/image.ppm --objsm path/to/objsm.pgm --out path/to/segm.pgm
Briefly, --img
,--objsm
, and --out
indicate the paths to the image to be segmented and its object saliency map, and to the resulting segmentation, respectively. For other arguments, one may run
./bin/RunODISF --help
for more information.
Given such segmentation, it is possible to draw the superpixel borders over the original image for a better visualization by the following command
./bin/RunOvlayBorders --img path/to/image.ppm --labels path/to/segm.pgm --out path/to/overlay.ppm
In this case, --img
,--labels
, and --out
indicate the paths to the original image and segmentation, and to the resulting overlay image, respectively. Likewise, for other arguments, one may run
./bin/RunOvlayBorders --help
for more information.
All codes within this project are under the MIT License. See the LICENSE file for more details.
This work was financially supported by the following brazilian research funding agencies:
- Conselho Nacional de Desenvolvimento Científico e Tecnológico (CNPq)
- Coordenação de Aperfeiçoamento de Pessoal de Nível Superior (CAPES)
- Fundação de Amparo à Pesquisa do Estado de Minas Gerais (FAPEMIG)
- Fundação de Amparo à Pesquisa do Estado de São Paulo (FAPESP)
If you have any questions or faced an unexpected behavior (e.g. bugs), please feel free to contact the authors through the following email addresses:
- Felipe C. Belém: [email protected]
- Benjamin Perret: [email protected]
- Jean Cousty: [email protected]
- Silvio Jamil F. Guimarães: [email protected]
- Alexandre X. Falcão: [email protected]