Background modeling or foreground detection (Background Generation and Foreground Detection) five ViBe

Source: Internet
Author: User
Tags zip

ViBe algorithm: vibe-a powerful technique for background detection and subtraction in video sequences

Judge Net: http://www2.ulg.ac.be/telecom/research/vibe/

Describe:

Vibe is a pixel-level video background modeling or foreground detection algorithm, the effect is better than several well-known algorithms, the hardware memory footprint is also low.

Code:

The algorithm executes the efficiency test program, the Windows and Linux operating system's programs and C + + files can be downloaded on the author's website, as follows:



Windows and Linux users:a Benchmarking program to evaluate the time needed by ViBe on your platform and on your own seque nces!
Download an archive zip archive [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 zip archive [+ MB] to use ViBe on Windows (or under Wine in Linux).
The program allows your: (1) Save the result for your own images, (2) Change the few parameters of ViBe to experiment WI Th, and (3) reproduce our results. Linux:link A C + + object file to your own code. We provide the object (compiled) code of VIBE for non-commercial applications. Under Linux, download the32 bits zip file, or the "the" the "Bits zip file." Details on the This page.


Of course, you should follow the license of the judge net when using the VIBE algorithm.

Key benefits of the algorithm:

Memory consumption, a pixel need to make a comparison, occupy a byte of memory;

No parameter method;

Can be directly applied in the product, hardware and software compatibility is good;

Performance is better than mixed Gaussian, parametric method, Sacon, etc.

Pixel-level algorithm, the key step of preprocessing in video processing;

The background model is initialized in time;

It has good anti-noise ability.


Reference documents:

O. Barnich and M. Van Droogenbroeck.vibe:a Universal background subtraction algorithm for video sequences. In IEEE transactions on Image processing, 6:1709-1724, June 2011. Also available on the University site in PDF format:, and HTML format. This paper contains a verydetailed Pseudo-code Description of the complete algorithm. M. Van droogenbroeck and O. paquot.Background subtraction:experiments and improvements for ViBe. In the change Detection Workshop (CDW), Providence, Rhode, 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), pages 945-948, April 2009.  Available as a IEEE publication or on the University site. Patent description at the "Freepatentsonline" Web site

Performance An independant evaluation are 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 are a strong favorite, since it is a D almost parameterless. "

Background difference method to realize the challenge of moving object detection is: must adapt to the environment changes (such as the change of the illumination of the image color changes), camera jitter caused by the picture jitter (such as the handheld camera to take photos of the movement), images of dense objects (such as leaves or trunks, such as dense appearance of objects, Properly detected), it must be possible to correctly detect changes in the background object (such as the new stop car must be in a timely manner to the background object, while the stationary start moving objects need to be detected in a timely manner). Object detection often appears in the Ghost region, Ghost area refers to when an original stationary object began to move, the back of the static error detection algorithm may be the original object covered by the detection of the area of the fault as the motion, this area becomes ghost, Of course, the original moving object into a static will also introduce the Ghost region, Ghost region in the detection must be eliminated as soon as possible. An example of a ghost region, as shown in Figure Fig.1, can be found in the figure, compared to the original image, the result of the detection of the error of more than two people in the shape of the appearance, this is ghost.


Fig 1

Vibe algorithm Detailed:

Vibe Detection Method

Vibe is a detection method presented in this paper, which has many differences and advantages compared with other methods. The idea is to store a sample set for each pixel, the sampled value in the sample set is the pixel value of the pixel in the past and the pixels of its neighbor, and then compares each new pixel value to the sample set to determine whether it belongs to the background point. The model mainly includes three aspects: the working principle of the model, the initialization method of the model, and the updating strategy of the model.

How the Model works

A background object is a stationary or very slow moving object, and the foreground object corresponds to the moving object. So we can see a classification problem of object detection, that is, to determine whether a pixel is a background point. In the vibe model, the background model stores a sample set for each background point and then compares each new pixel value to the sample set to determine if it belongs to a background point. You know that if a new observation is a background point, it should be closer to the sampled values in the sample set.

Specifically, we remember V (x): The pixel value at x point; M (x) ={v1,v2,... VN} is a set of background samples at x (sample set size n), SR (V (x)): An area with a radius of x centered R, if m (x) [{SR (V (x)) ∩{v1,v2, ..., VN}] is larger than a given threshold #min, then the X point is considered to be a background point.

How to initialize a model

Initialization is the process of setting up a background model. The initialization of a general-purpose detection algorithm requires a certain length of video sequence to complete, usually takes a few seconds, the real-time nature of the detection of the great movie, for the handheld camera real-time photography is not appropriate. The initialization of the vibe is done with just one frame of image. Vibe initialization is the process of populating a sample set of pixels but since it is not possible to include the spatial-temporal distribution of pixels in a frame image, we use similar pixel points to have similar temporal and spatial distributions, specifically: for a pixel, randomly select its neighbor pixel value as its model sample value. M0 (x) = {V0 (y | y∈ng (x))},t=0 The initial moment, NG (x) is the neighbor point. The advantage of this initialization method is that the response of the noise is more sensitive, the computational speed is small, the motion object can be detected quickly, the disadvantage is that it is easy to introduce the ghost region.

update policy for models

The background model is updated to make the background model adapt to the changing background, such as the change of illumination, the change of background object and so on. Conservative update strategy: The former attraction will never be used to populate the background model, which can cause deadlocks, such as when a static area is detected as moving in the event of initialization, and it will always be treated as a moving object under this strategy; blind strategy: Insensitive to deadlocks, The foreground background can be used to update the background model, the disadvantage is that the slow moving object will not be detected in the background. The update strategy adopted in this method is a conservative update strategy + pre-attraction counting method. Pre-attraction count: counts pixel points, and updates a pixel to a background point if it is detected as a foreground for successive n times.

Random sub-sampling: it is not necessary to update the sample values of each pixel in the background model in each new video frame, and when a pixel is classified as a background point, it has the 1/φ probability to update the background model.

The specific Update method: Each background point has 1/φ probability to update its own model sample value, but also has the probability of 1/φ to update its neighbor points of the model sample values. Updating a neighbor's sample value the spatial propagation of the pixel value is utilized, and the background model is diffused gradually, which also facilitates the faster identification of the ghost region. At the same time, when the current spot count reaches the threshold, it becomes the background, and the probability of 1/φ to update its model sample value.

When selecting the sample values in the sample set to be replaced, we randomly select a sample value to update, so that the smooth life of the sample value is guaranteed to be a random update, so that the probability that a sample value is not updated at the moment T is (N-1)/n, assuming that the time is continuous, then after the time of the DT, The probability that the sample values are still retained is

can also write,

This indicates whether a sample value is replaced with time t regardless of the model, and the stochastic strategy is appropriate.

Vibe Experimental Results

In the experiment, we and other detection algorithms in the detection accuracy and calculation of the algorithm are compared, the experiment shows that our method is significantly better detection effect, for lighting changes and camera jitter and other effects are very stable, and the calculation is very small, memory consumption is less, This allows the method to be embedded in a handheld camera. Some of the specific experimental results and data are as follows

Fig.2 Detection Effect Comparison


Fig.3 Camera's movement


Fig.4 Ghost Zone ablation, the bright floor in the picture


fig.5 detection accuracy rate fig.6 algorithm processing speed

Summary

In this article, we present a new-vibe algorithm, which has three different points compared to the previous one. First, we propose a new classification model. Secondly, we describe how vibe is initialized, it only needs one frame of image to complete the initialization, while other algorithms usually wait a few seconds to complete the initialization, which is very useful for embedding the camera in real-time and some shorter video sequences. Finally, we propose our own update strategy, compared to other algorithms to save the sample value in the model for a fixed time, we use random replacement update sample values, proved to ensure that the sample value of an exponential attenuation of the smooth life cycle, and can make the background model well adapted to the video scene changes, So as to achieve better detection results.

Through a series of experiments, it is shown that the vibe method has the characteristics of small computational capacity, low memory consumption, fast processing speed, good detection effect, faster ghost region ablation speed and stable and reliable noise response compared with other detection algorithms, and it is very suitable for embedding cameras and so on, which requires little computational and low memory consumption.

Effect Diagram:




The corresponding code download address:

http://pan.baidu.com/share/link?shareid=409860&uk=3373051938





Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.