Package: pybgs
BGSLibraryA Background Subtraction LibraryLast page update:04/03/2023Library Version:3.3.0(seeBuild StatusandRelease Notesfor more info)TheBGSLibrarywas developed in early 2012 byAndrews Sobralas a C++ framework (with wrappers available for Python, Java and MATLAB) for foreground-background separation in videos usingOpenCV. The bgslibrary is compatible with OpenCV versions 2.4.x, 3.x and 4.x, and can be compiled on Windows, Linux, and Mac OS X. It currently contains43algorithms and is available free of charge to all users, both academic and commercial. The library's source code is available under theMIT license.List of available algorithmsAlgorithms benchmarkWhich algorithms really matter?Library architectureInstallation instructionsYou can either install BGSLibrary viapre-built binary packageor build it from sourceWindows installationUbuntu / OS X installationSupported Compilers are:GCC 4.8 and above
Clang 3.4 and above
MSVC 2015, 2017, 2019 or newerOther compilers might work, but are not officially supported.
The bgslibrary requires some features from the ISO C++ 2014 standard.Graphical User InterfaceC++ QT(Official)C++ MFC(Deprecated)Java(Obsolete)WrappersPythonMATLABJavaExampleshttps://github.com/andrewssobral/bgslibrary/tree/master/exampleshttps://github.com/andrewssobral/bgslibrary-examplesDocker imagesHow to integrate BGSLibrary in your own CPP codeHow to contributeList of collaboratorsRelease notesAlgorithm compatibility across OpenCV versionsAlgorithmOpenCV < 3.0 (42)3.0 <= OpenCV <= 3.4.7 (41)3.4.7 < OpenCV < 4.0 (39)OpenCV >= 4.0 (26)AdaptiveBackgroundLearning:heavy_check_mark::heavy_check_mark::heavy_check_mark::heavy_check_mark:AdaptiveSelectiveBackgroundLearning:heavy_check_mark::heavy_check_mark::heavy_check_mark::heavy_check_mark:CodeBook:heavy_check_mark::heavy_check_mark::heavy_check_mark::heavy_check_mark:DPAdaptiveMedian:heavy_check_mark::heavy_check_mark::heavy_check_mark::x:DPEigenbackground:heavy_check_mark::heavy_check_mark::heavy_check_mark::x:DPGrimsonGMM:heavy_check_mark::heavy_check_mark::heavy_check_mark::x:DPMean:heavy_check_mark::heavy_check_mark::heavy_check_mark::x:DPPratiMediod:heavy_check_mark::heavy_check_mark::heavy_check_mark::x:DPTexture:heavy_check_mark::heavy_check_mark::heavy_check_mark::x:DPWrenGA:heavy_check_mark::heavy_check_mark::heavy_check_mark::x:DPZivkovicAGMM:heavy_check_mark::heavy_check_mark::heavy_check_mark::x:FrameDifference:heavy_check_mark::heavy_check_mark::heavy_check_mark::heavy_check_mark:FuzzyChoquetIntegral:heavy_check_mark::heavy_check_mark::heavy_check_mark::heavy_check_mark:FuzzySugenoIntegral:heavy_check_mark::heavy_check_mark::heavy_check_mark::heavy_check_mark:GMG:heavy_check_mark::x::x::x:IndependentMultimodal:heavy_check_mark::heavy_check_mark::heavy_check_mark::heavy_check_mark:KDE:heavy_check_mark::heavy_check_mark::heavy_check_mark::heavy_check_mark:KNN:x::heavy_check_mark::heavy_check_mark::heavy_check_mark:LBAdaptiveSOM:heavy_check_mark::heavy_check_mark::heavy_check_mark::heavy_check_mark:LBFuzzyAdaptiveSOM:heavy_check_mark::heavy_check_mark::heavy_check_mark::heavy_check_mark:LBFuzzyGaussian:heavy_check_mark::heavy_check_mark::heavy_check_mark::heavy_check_mark:LBMixtureOfGaussians:heavy_check_mark::heavy_check_mark::heavy_check_mark::heavy_check_mark:LBP_MRF:heavy_check_mark::heavy_check_mark::x::x:LBSimpleGaussian:heavy_check_mark::heavy_check_mark::heavy_check_mark::heavy_check_mark:LOBSTER:heavy_check_mark::heavy_check_mark::heavy_check_mark::heavy_check_mark:MixtureOfGaussianV1:heavy_check_mark::x::x::x:MixtureOfGaussianV2:heavy_check_mark::heavy_check_mark::heavy_check_mark::heavy_check_mark:MultiCue:heavy_check_mark::heavy_check_mark::heavy_check_mark::x:MultiLayer:heavy_check_mark::heavy_check_mark::x::x:PAWCS:heavy_check_mark::heavy_check_mark::heavy_check_mark::heavy_check_mark:PixelBasedAdaptiveSegmenter:heavy_check_mark::heavy_check_mark::heavy_check_mark::heavy_check_mark:SigmaDelta:heavy_check_mark::heavy_check_mark::heavy_check_mark::heavy_check_mark:StaticFrameDifference:heavy_check_mark::heavy_check_mark::heavy_check_mark::heavy_check_mark:SuBSENSE:heavy_check_mark::heavy_check_mark::heavy_check_mark::heavy_check_mark:T2FGMM_UM:heavy_check_mark::heavy_check_mark::heavy_check_mark::x:T2FGMM_UV:heavy_check_mark::heavy_check_mark::heavy_check_mark::x:T2FMRF_UM:heavy_check_mark::heavy_check_mark::heavy_check_mark::x:T2FMRF_UV:heavy_check_mark::heavy_check_mark::heavy_check_mark::x:TwoPoints:heavy_check_mark::heavy_check_mark::heavy_check_mark::heavy_check_mark:ViBe:heavy_check_mark::heavy_check_mark::heavy_check_mark::heavy_check_mark:VuMeter:heavy_check_mark::heavy_check_mark::heavy_check_mark::heavy_check_mark:WeightedMovingMean:heavy_check_mark::heavy_check_mark::heavy_check_mark::heavy_check_mark:WeightedMovingVariance:heavy_check_mark::heavy_check_mark::heavy_check_mark::heavy_check_mark:Stargazers over timeCitationIf you use this library for your publications, please cite it as:@inproceedings{bgslibrary,
author    = {Sobral, Andrews},
title     = {{BGSLibrary}: An OpenCV C++ Background Subtraction Library},
booktitle = {IX Workshop de Visão Computacional (WVC'2013)},
address   = {Rio de Janeiro, Brazil},
year      = {2013},
month     = {Jun},
url       = {https://github.com/andrewssobral/bgslibrary}
}A chapter about the BGSLibrary has been published in the handbook onBackground Modeling and Foreground Detection for Video Surveillance.@incollection{bgslibrarychapter,
author    = {Sobral, Andrews and Bouwmans, Thierry},
title     = {BGS Library: A Library Framework for Algorithm’s Evaluation in Foreground/Background Segmentation},
booktitle = {Background Modeling and Foreground Detection for Video Surveillance},
publisher = {CRC Press, Taylor and Francis Group.}
year      = {2014},
}Download PDF:Sobral, Andrews. BGSLibrary: An OpenCV C++ Background Subtraction Library. IX Workshop de Visão Computacional (WVC'2013), Rio de Janeiro, Brazil, Jun. 2013. (PDFin brazilian-portuguese containing an english abstract).Sobral, Andrews; Bouwmans, Thierry. "BGS Library: A Library Framework for Algorithm’s Evaluation in Foreground/Background Segmentation". Chapter on the handbook "Background Modeling and Foreground Detection for Video Surveillance", CRC Press, Taylor and Francis Group, 2014. (PDFin english).Some referencesSome algorithms of the BGSLibrary were used successfully in the following papers:(2014) Sobral, Andrews; Vacavant, Antoine. A comprehensive review of background subtraction algorithms evaluated with synthetic and real videos. Computer Vision and Image Understanding (CVIU), 2014. (Online) (PDF)(2013) Sobral, Andrews; Oliveira, Luciano; Schnitman, Leizer; Souza, Felippe. (Best Paper Award) Highway Traffic Congestion Classification Using Holistic Properties. In International Conference on Signal Processing, Pattern Recognition and Applications (SPPRA'2013), Innsbruck, Austria, Feb 2013. (Online) (PDF)Videos