LaBGen is a patch-based stationary background generation method that was introduced in [2] and extensively described in [1]. The purpose of this repository is twofold:
- To share the source code of the method.
- To embed the method in a ready-to-use program.
Our method won an award and has been ranked first during the IEEE Scene Background Modeling Contest (SBMC) 2016, and on the SBI dataset [4] according to three metrics over six. The current ranking and the quantitative metrics computed on the SBMnet dataset are available here.
Here is a video showing some backgrounds estimated by LaBGen (click on the image below to play it):
The program implementing the method has been developed in C++11 and is distributed under the GPLv3 license. In order to compile it, you need a modern C++ compiler, a copy of the Boost library, a copy of the OpenCV library, and the CMake build automation tool. On UNIX-like environments, the program can be compiled as follows, considering that your terminal is in the source code directory:
$ cd build
$ cmake -DCMAKE_BUILD_TYPE=Release ..
$ make
Once the program has been compiled, the following command gives the complete list of available options:
$ ./LaBGen-cli --help
As an example, the IBMtest2 sequence of the SBI dataset [4] can be processed with the default set of parameters as follows:
$ ./LaBGen-cli -i path_to_IBMtest2/IBMtest2_%6d.png -o my_output_path -d -v
A full documentation of the options of the program is available on the wiki.
If you use LaBGen in your work, please cite papers [1] and [2] as below:
@article{Laugraud2017LaBGen,
title = {{LaBGen}: A method based on motion detection for generating the background of a scene},
author = {B. Laugraud and S. Pi{\'e}rard and M. {Van Droogenbroeck}},
journal = {Pattern Recognition Letters},
publisher = {Elsevier},
volume = {96},
pages = {12-21},
year = {2017},
doi = {10.1016/j.patrec.2016.11.022}
}
@inproceedings{Laugraud2015Simple,
title = {Simple median-based method for stationary background generation using background subtraction algorithms},
author = {B. Laugraud and S. Pi{\'e}rard and M. Braham and M. {Van Droogenbroeck}},
booktitle = {International Conference on Image Analysis and Processing (ICIAP), Workshop on Scene Background Modeling and Initialization (SBMI)},
publisher = {Springer},
series = {Lecture Notes in Computer Science},
volume = {9281},
pages = {477-484},
year = {2015},
month = {September},
address = {Genova, Italy},
doi = {10.1007/978-3-319-23222-5_58}
}
- A variant, called LaBGen-OF, and leverages optical flow algorithms for motion detection.
- A pixel-level variant of LaBGen, called LaBGen-P.
Each commited revision is automatically tested using Travis CI on:
- Ubuntu 14.04 with the
g++
compiler and OpenCV 2.3 installed from the Ubuntu repositories. - Ubuntu 14.04 with the
g++
compiler and OpenCV 3.2 compiled from the sources. - OS X El Capitan with the
clang++
compiler and OpenCV 2.4 installed with Homebrew. - OS X El Capitan with the
clang++
compiler and OpenCV 3.2 installed with Homebrew.
This program incorporates some parts of the BGSLibrary [3]. We are very grateful to Andrews Sobral for sharing his library.
[3] A. Sobral. BGSLibrary: An OpenCV C++ Background Subtraction Library. Workshop de Visao Computacional (WVC), 2013.
[4] L. Maddalena, A. Petrosino. Towards Benchmarking Scene Background Initialization. International Conference on Image Analysis and Processing Workshops (ICIAP Workshops), 9281:469-476, 2015.