ViBe - a powerful technique for background detection and subtraction in video sequences
ViBe is a powerful pixel-based technique that detects the background in video sequences. Many experiments have shown that it performs better than the state-of-the-art techniques known in the scientific literature. In addition the computational load is lower than simple background techniques implemented in commercial products. ViBe is the perfect solution for both software and hardware implementations.
Code and program for Windows and Linux (details this page for how to use them)
Due to copyright and patent infringments, we have been forced to change our distribution policy; we apologize for this.
The following programs are accessible to academic researchers only (follow the links, and ask for the permission to download the programs. Please provide some evidence that you are a researcher in an academic institution; requests from gmail, yahoo, hotmail, 163, etc, e-mail accounts will be refused).
- Windows and Linux users: a benchmarking program to evaluate the time needed by ViBe on your platform and on your own sequences! Download an archive vibe-benchmarking-windows.zip archive [15 MB] to evaluate the time needed by ViBe on your platform (Windows or Linux [Wine]), and on your own sequences.
A program for Windows and Linux.
Download an archive ViBe.zip archive [16 MB] to use ViBe on Windows (or under Wine in Linux).
The program allows you to: (1) save the result for your own images, (2) change the few parameters of ViBe to experiment with, and (3) reproduce our results.
Linux: link a C/C++ object file to your own code.
We provide the object (compiled) code of ViBe for educational and research purposes only.
Details on this page. Follow this link for the full documentation of this library.
This packages show how to use ViBe with OpenCV [see the main-opencv.cpp file].
What about the processing speed?To give an idea on how fast ViBe runs, we have tested ViBe on a cubieboard platform [1G ARM cortex-A8 processor, NEON, VFPv3, 256KB L2 cache], with the Ubuntu/linaro OS. The framerate is 23 fps for a VGA size (640x480) monochrome uncompressed data stream.
ViBe is protected by several patents (patent track: WO2009007198 / Publication date: 2009-01-15; Priority number(s): EP20070112011 20070708) / Europe (granted): EP2015252 / US (granted): US 8009918 B2 (pdf) / Japan (granted): JP 2011 4699564 B2
The University of Liege holds all intellectual rights on the technology and the innovations have been validated during the patent track.
For licensing the technology, please contact Mr. Van der Elstraeten [University of Liege] or firstname.lastname@example.org [http://www.vibeinmotion.com/].
- Very low computational load. Operations are limited to subtractions and operations on memory blocks. A downscaled version only needs one comparison per pixel and one byte of memory per pixel (see illustration below).
- Parameter-free method. There is no need to adapt parameter values to the content. Absolutely all the experiments have been led with the same set of values.
- Ready for direct inclusion in commercial products. Suited both for software and hardware inclusions.
- Faster and improved performances in comparison with state-the-art techniques (Mixture of Gaussians, Parametric methods, Sacon, etc).
- Pixel-based technique, ideal for any pre-processing step. ViBe allows you to model the objects in the videos as you like.
- Instantaneous initialization of the background model. ViBe is ready to operate from the second frame of any video sequence.
- Robust to noise.
- M. Van Droogenbroeck and O. Barnich. ViBe: A Disruptive Method for Background Subtraction. In T. Bouwmans, F. Porikli, B. Hoferlin, and A. Vacavant, editors, Background Modeling and Foreground Detection for Video Surveillance, chapter 7. Chapman and Hall/CRC, June 2014. Available on the University site in PDF format: .
- O. Barnich and M. Van Droogenbroeck. ViBe: A universal background subtraction algorithm for video sequences. In IEEE Transactions on Image Processing, 20(6):1709-1724, June 2011. Also available on the University site in PDF format: , and HTML format. This paper contains a very detailed pseudo-code description of the complete algorithm.
- M. Van Droogenbroeck and O. Paquot. Background Subtraction: Experiments and Improvements for ViBe. In Change Detection Workshop (CDW), Providence, Rhode Island, June 2012. Available on the University site in PDF format: , and HTML format.
- O. Barnich and M. Van Droogenbroeck. ViBe: a powerful random technique to estimate the background in video sequences. In International Conference on Acoustics, Speech, and Signal Processing (ICASSP 2009), pages 945-948, April 2009. Available as a IEEE publication or on the University site.
- Patent description at the "freepatentsonline" web site
An independant evaluation is available in S. Brutzer, B. Hoferlin, and G. Heidemann.
Evaluation of background subtraction techniques for video surveillance.
In IEEE International Conference on Computer Vision and
Pattern Recognition (CVPR), pages 1937-1944, Colorado Spring, USA, June 2011.
In their conclusions, they claim: "Considering these aspects, Barnich is a strong favorite, since it is simple and almost parameterless."
ViBe inside a digital camera
Illustrations for a static camera
View from the roof of a house
Illustrations for a moving cameraGlobal and local motions are estimated via optical flow on a pre-defined grid of pixels [preliminary work].
Camera in motion