Git Product home page Git Product logo

benlaug / labgen-of Goto Github PK

View Code? Open in Web Editor NEW
3.0 1.0 3.0 2.51 MB

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

License: GNU General Public License v3.0

CMake 4.35% C++ 95.65%
background-generation background-modeling background-estimation background-extraction background background-reconstruction computer-vision opencv background-initialization optical-flow

labgen-of's Introduction

LaBGen-OF

OpenCV Version Build Status

LaBGen-OF is a patch-based stationary background generation method introduced in a paper submitted to ACIVS 2017, and based on LaBGen. 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.

Graphical Abstract

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

Demonstration of LaBGen-OF

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 3 (at least 3.1) library with contrib modules, 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-OF-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-OF-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-OF in your work, please cite paper [1] as below:

@inproceedings{Laugraud2017IsAMemoryless,
  title = {Is a Memoryless Motion Detection Truly Relevant for Background Generation with {LaBGen}?},
  author = {B. Laugraud and M. {Van Droogenbroeck}},
  booktitle = {Advanced Concepts for Intelligent Vision Systems (ACIVS)},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  year = {2017},
  month = Sep,
  address = {Antwerp, Belgium}
}

Alternatives

  • The original patch-based version of LaBGen.
  • A pixel-level variant of LaBGen called LaBGen-P.

Testing

Each commited revision is automatically tested using Travis CI on:

  • Ubuntu 14.04 with the g++ compiler and OpenCV 3.3 (with contrib modules) compiled from the sources.
  • OS X El Capitan with the clang++ compiler and OpenCV 3.3 (with contrib modules) installed with Homebrew.

References

[1] B. Laugraud, M. Van Droogenbroeck. Is a Memoryless Motion Detection Truly Relevant for Background Generation with LaBGen?. Advanced Concepts for Intelligent Vision Systems (ACIVS), 2017.

[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-of's People

Stargazers

 avatar  avatar  avatar

Watchers

 avatar

labgen-of's Issues

Identical results using optical flow: dis_flow and sparse_to_dense

When running the following commands:
./LaBGen-OF-cli -i input/ -o output/dis_flow.png -a dis_flow -p 1 -n 3 -s 10 -t 2 -r record/dis_flow.avi 1
./LaBGen-OF-cli -i input/ -o output/sparse_to_dense.png -a sparse_to_dense -p 1 -n 6 -s 10 -t 3 -r record/sparse_to_dense.avi 1

The resulting output image is identical if the set of input images were identical too. I have tested this on a large dataset, with all the optical flow implementations provided in this repository. Behavior is only observed between dis_flow and sparse_to_dense.

Note, in the recording it is observed that the vector field, optical flow (hsv) and segmentation map are vastly different. It are merely the output images that are identical.

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.