Stefano Tommesani

  • Increase font size
  • Default font size
  • Decrease font size

Background subtraction: ViBe

E-mail Print PDF

The ViBe algorithm

In the paper "ViBe: A universal background subtraction algorithm for video sequences", Olivier Barnich and Marc Van Droogenbroeck introduce several innovative mechanisms for motion detection:

ViBeSearchingPixelsPixel model and classification process

Let's denote by v(x) the value in a given Euclidean color space taken by the pixel located at x in the image, and by vi a background sample value with an index i. Each background pixel x is modeled by a collection of N background sample values
M(x) = {v1, v2, . . . , vN}
taken in previous frames. To classify a pixel value v(x) according to its corresponding model M(x), we compare it to the closest values within the set of samples by defining a sphere SR(v(x)) of radius R centered on v(x). The pixel value v(x) is then classified as background if the cardinality of the set intersection of this sphere and the collection of model samples M(x) is larger than or equal to a given threshold. The classification of a pixel value v(x) involves the computation of N distances between v(x) and model samples, and of N comparison with a thresholded Euclidean distance R.
The accuracy of the ViBe model is determined by two parameters only: the radius R of the sphere and the minimal cardinality. Experiments have shown that a unique radius R of 20 (for monochromatic images) and a cardinality of 2 are appropriate. There is no need to adapt these parameters during the background subtraction nor to change them for different pixel locations. 

Last Updated on Tuesday, 15 October 2013 11:50

Comparing background subtraction algorithms

E-mail Print PDF

The bgslibrary by Andrews Sobral includes over 30 background subtraction algorithms, a common C++ framework for comparing them, and an handy C++/MFC or Java app to see them running on video files or live feed from a webcam.

I have run all the background subtraction algorithms against a test sequence that is really hard, as the camera is slightly shaking and the trees are waving due to the strong wind, so building a reliable estimation of the background of this scene is definitely an hard task. The video sequence was also cropped so that it starts with moving objects already in the scene, to check how quickly the background subtraction algorithms react to permanent changes after the initialization. No filtering was performed on the results, as these videos are meant only to compare the relative performance of background subtraction algorithms.

BGSScreenShotEvery video highlighting an algorithm has the screen divided in quadrants:

  • the top-left quadrant shows the input video to be processed by the algorithm
  • the top-right quadrant shows the foreground mask (in white)
  • the bottom-left quadrant shows the estimated background; not every algorithm has an estimated background that can be displayed, so this quadrant may be blank
  • the bottom-right quadrant shows the name of the algortihm in the bgslibrary and the frame number
Last Updated on Wednesday, 18 September 2013 23:26

AskWatch: navigation

E-mail Print PDF

After adding your kid, AskWatch will start grabbing data about your son for a few seconds, or a bit more depending on the speed of your internet connection. In the main window, a new tab with the name of your son will be added, and the new screen contains all the information about your son, in order:


Last Updated on Wednesday, 07 August 2013 22:59

AskWatch: adding your kids

E-mail Print PDF

Start AskWatch from the Start screen (in Windows 8) or from the Start menu (in Windows 7). The following, mostly empty screen appears:


Last Updated on Wednesday, 07 August 2013 23:00

AskWatch: why you need it

E-mail Print PDF

What is is a social Q&A site where users can ask other users questions. The questions can be from a named user, or completely anonymous. It is unmoderated (unless a user reports something), has no parental controls, and is an Latvian company. The concept seems harmless: you register, create a profile, and ask/answer questions that are posted to you. The problem is around the anonymity of the messaging. In the settings, you have the ability to block anonymous questions, but most users do not do this. You have the ability to blacklist users, assuming you know who they are. The terms of service says that you need to be 13 years old or older to join the site, but this is bypassed regularly.

Why should you worry for your kids?

Michael Sheehan said it best in his article named "Parents Be Warned! is a Dangerous & Deadly Social Site for Teens & Tweens":

Again, this seems relatively harmless, right? WRONG! is rapidly becoming a site for bullies and seemingly sex-crazed users (even if it is simply innuendos in messaging). And I believe that parents (especially in the US) don’t know much about yet. It seems that since this service originally launched in Europe, it had more attraction there initially. Since then it has come overseas to the States.
Last Updated on Friday, 09 August 2013 14:09

AskWatch: finding alarm words in conversations

E-mail Print PDF

AskWatch can tag questions and answers that contain alarm words. For example, you may want to highlight messages related to sexual activities, such as the following one:


Last Updated on Wednesday, 14 August 2013 16:37

Page 4 of 9
View Stefano Tommesani's profile on LinkedIn

Latest Articles

Fixing Git pull errors in SourceTree 10 April 2017, 01.44 Software
Fixing Git pull errors in SourceTree
If you encounter the following error when pulling a repository in SourceTree: VirtualAlloc pointer is null, Win32 error 487 it is due to to the Cygwin system failing to allocate a 5 MB large chunk of memory for its heap at
Castle on the hill of crappy audio quality 19 March 2017, 01.53 Audio
Castle on the hill of crappy audio quality
As the yearly dynamic range day is close (March 31st), let's have a look at one of the biggest audio massacres of the year, Ed Sheeran's "Castle on the hill". First time I heard the song, I thought my headphones just got
Necessary evil: testing private methods 29 January 2017, 21.41 Testing
Necessary evil: testing private methods
Some might say that testing private methods should be avoided because it means not testing the contract, that is the interface implemented by the class, but the internal implementation of the class itself. Still, not all
I am right and you are wrong 28 December 2016, 14.23 Web
I am right and you are wrong
Have you ever convinced anyone that disagreed with you about a deeply held belief? Better yet, have you changed your mind lately on an important topic after discussing with someone else that did not share your point of
How Commercial Insight changes R&D 06 November 2016, 01.21 Web
How Commercial Insight changes R&D
The CEB's Commercial Insight is based on three pillars: Be credible/relevant – Demonstrate an understanding of the customer’s world, substantiating claims with real-world evidence. Be frame-breaking – Disrupt the