Skip to content

Bayesian Adaptive Superpixel Segmentation (ICCV 2019)

Notifications You must be signed in to change notification settings

BGU-CS-VIL/BASS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

48 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Bayesian Adaptive Superpixel Segmentation

This is the official code for our ICCV 2019 paper, "Bayesian Adaptive Superpixel Segmentation" , co-authored by Roy Uziel, Meitar Ronen, and Oren Freifeld.

Important update (12/3/2022): The code is now much faster than it used to be.

The original PyTorch-based GPU code (released in 2019) has been deprecated. The current CUDA-based GPU implementation (of the same algorithm from the paper) is much faster, translating usually to a x50 speedup. For example, using an NVIDIA GeForce GTX 1070 graphics card, a typical running time on a 512x512 image is 0.042 seconds.

Prerequisites

GPU
CUDA driver (Tested on 11.3+)
OpenCV

Installation

Cloning The GitHub Repository

$ git clone https://github.com/BGU-CS-VIL/BASS.git
$ cd BASS
$ mkdir build
$ cd build
$ cmake .. && make

Usage

$./Sp_demo_for_direc -d ../images

Mean and contour images will be saved at ../result alongside the segmentation map (csv)

Args and Kwargs:

-n the desired number of pixels on the side of a superpixel
-i_std std dev for color Gaussians, should be 0.01<= value <=0.05. A smaller value leads to more irregular superpixels
--im_size resizing input images (single number)
--beta beta (Potts) 0 < value < 10
--alpha alpha (Hasting ratio) 0.01< value <100

Usage Examples:

Changing the initial number of Superpixels:

./Sp_demo_for_direc -d ../images -n 25

alt-text-1

./Sp_demo_for_direc -d ../images -n 15

alt-text-2

Larger Values of alpha will result in more superpixels due to splits:

./Sp_demo_for_direc -d ../images/ --im_size 512 -n 20 --alpha 0.1

alt-text-2

./Sp_demo_for_direc -d ../images/ --im_size 512 -n 20 --alpha 20

alt-text-2

Increasing i_std will result in more compact Superpixels:

./Sp_demo_for_direc -d ../images/ --i_std 0.03

alt-text-1alt-text-2

./Sp_demo_for_direc -d ../images/ --i_std 0.018

alt-text-1alt-text-2

This software is released under the MIT License (included with the software). Note, however, that if you are using this code (and/or the results of running it) to support any form of publication (e.g., a book, a journal paper, a conference paper, a patent application, etc.) then we request you will cite our paper:

@inproceedings{Uziel:ICCV:2019:BASS,
  title = {Bayesian Adaptive Superpixel Segmentation},
  author = {Roy Uziel and Meitar Ronen and Oren Freifeld},
  booktitle = {ICCV},
  year={2019}
 } 

About

Bayesian Adaptive Superpixel Segmentation (ICCV 2019)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published