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.
Every 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
- Static Frame Difference
- Frame Difference
- Weighted Moving Mean
- Weighted Moving Variance
- Adaptive Background Learning
- Temporal Mean
- Adaptive Median of McFarlane and Schofield (1995) paper link
- Temporal Median of Cucchiara et al (2003) and Calderara et al (2006) paper link1 paper link2 paper link3
- Fuzzy Sugeno Integral (with Adaptive-Selective Update) of Hongxun Zhang and De Xu (2006) paper link
- Fuzzy Choquet Integral (with Adaptive-Selective Update) of Baf et al (2008) paper link
- Fuzzy Gaussian of Sigari et al (2008) paper link
- Gaussian Average of Wren (1997) paper link
- Simple Gaussian of Benezeth et al (2008) paper link
- Gaussian Mixture Model of Stauffer and Grimson (1999) paper link
- Gaussian Mixture Model of KadewTraKuPong and Bowden (2001)paper link
- Gaussian Mixture Model of Zivkovic (2004) paper link1 paper link2
- Gaussian Mixture Model of Zivkovic (2004) paper link1 paper link2
- Gaussian Mixture Model of Baf et al (2008) paper link
- Type-2 Fuzzy GMM-UM of Baf et al (2008) paper link
- Type-2 Fuzzy GMM-UV of Baf et al (2008) paper link
- Type-2 Fuzzy GMM-UM with MRF of Zhao et al (2012) paper link1 paper link2
- Type-2 Fuzzy GMM-UV with MRF of Zhao et al (2012) paper link1 paper link2
- Texture BGS of Heikkila et al. (2006) paper link
- Multi-Layer BGS of Jian Yao and Jean-Marc Odobez (2007) paper link
- Pixel-Based Adaptive Segmenter (PBAS) of Hofmann et al (2012) paper link
- GMG of Godbehere et al (2012) paper link
- VuMeter of Goyat et al (2006) paper link
- KDE of Elgammal et al (2000) paper link
- Eigenbackground / SL-PCA of Oliver et al (2000) paper link
- Adaptive SOM of Maddalena and Petrosino (2008) paper link
- Fuzzy Adaptive SOM of Maddalena and Petrosino (2010) paper link
Summary of algorithms
Basic methods, mean and variance over time:
Fuzzy based methods:
Statistical methods using one gaussian:
Statistical methods using multiple gaussians:
Type-2 Fuzzy based methods:
Statistical methods using color and texture features:
Non-parametric methods:
Methods based on eigen features:
Neural and neuro-fuzzy methods:
Commercial, non-parametric methods:
- ViBe of Barnich and Van Droogenbroeck (2011) paper link