GithubHelp home page GithubHelp logo

benlaug / labgen-p Goto Github PK

View Code? Open in Web Editor NEW
8.0 1.0 5.0 2.37 MB

Source code of the LaBGen-P stationary background generation method.

License: GNU General Public License v3.0

CMake 5.83% C++ 94.17%
background-generation background-modeling background-estimation background-extraction background background-reconstruction computer-vision opencv background-initialization

labgen-p's Introduction

LaBGen-P

OpenCV Version Build Status

LaBGen-P is a pixel-level stationary background generation method introduced in [1], and based on LaBGen. Our method has been ranked second during the IEEE Scene Background Modeling Contest (SBMC) 2016. The current ranking and the quantitative metrics computed on the SBMnet dataset are available here.

Graphical Abstract

The purpose of this repository is twofold:

  1. To share the source code of the method.
  2. To embed the method in a ready-to-use program.

Here is a video showing some backgrounds estimated by LaBGen-P (click on the image below to play it):

Demonstration of LaBGen-P

Compiling the program

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

Running the program

Once the program has been compiled, the following command gives the complete list of available options:

$ ./LaBGen-P-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-P-cli -i path_to_IBMtest2/IBMtest2_%6d.png -o my_output_path -d -v

Screenshot

A full documentation of the options of the program is available on the wiki.

Citation

If you use LaBGen-P in your work, please cite paper [1] as below:

@inproceedings{Laugraud2016LaBGen-P,
  title = {{LaBGen-P}: A Pixel-Level Stationary Background Generation Method Based on {LaBGen}},
  author = {B. Laugraud and S. Pi{\'e}rard and M. {Van Droogenbroeck}},
  booktitle = {IEEE International Conference on Pattern Recognition (ICPR), IEEE Scene Background Modeling Contest (SBMC)},
  pages = {107-113},
  year = {2016},
  month = {December},
  address = {Canc{\'u}n, Mexico},
  doi = {10.1109/ICPR.2016.7899617}
}

Alternatives

  • The original patch-based version of LaBGen.
  • A variant of LaBGen, called LaBGen-OF, and leverages optical flow algorithms for motion detection.

Testing

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.

References

[1] B. Laugraud, S. Piérard, M. Van Droogenbroeck. LaBGen-P: A Pixel-Level Stationary Background Generation Method Based on LaBGen. International Conference on Pattern Recognition (ICPR), IEEE Scene Background Modeling Contest (SBMC), 107–113, 2016.

[2] L. Maddalena, A. Petrosino. Towards Benchmarking Scene Background Initialization. International Conference on Image Analysis and Processing Workshops (ICIAP Workshops), 9281:469-476, 2015.

labgen-p's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

labgen-p's Issues

Processing sequences ...

It looks like this program reads the entire sequence into memory before doing any processing.
Is that right? If so, its very hard to process video.

Cannot read image sequences

I have the following error message when trying to use LabGen-P with --list_images=../input/in%6d.jpg . The input folder contains image sequences from 'in001160.jpg' -> 'in001384.jpg'

[image2 @ 0x251d1e0] Could find no file with path '../input/in%6d.jpg' and index in the range 0-4

Do you have any idea about this error message? It seems that it is a limitation of OpenCV's VideoCapture object. Thanks in advance!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.