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 very detailed Pseudo-code descriptionof 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 Simpl E and 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 Fig.1, in the figure can be found that compared to the original image, the result of the detection of errors in 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
Summarize
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.
:
The corresponding code:
http://pan.baidu.com/share/link?shareid=409860&uk=3373051938