Você está na página 1de 6

BGSLibrary: An OpenCV C++ Background

Subtraction Library

Andrews Sobral
Programa de Pós-Graduação em Mecatrônica
Universidade Federal da Bahia
Salvador, Bahia, Brasil
andrewssobral@gmail.com

Abstract—The BGSLibrary provides a free easy-to-use C++ ementação de alguns métodos de subtração de fundo. Porém,
open source framework to perform background subtraction estudantes, pesquisadores e profissionais normalmente
(BGS). Currently the library provides 29 BGS algorithms. In this enfrentam um grande obstáculo quando pretendem utilizar
work the library is described and the benchmark and estas implementações em conjunto, pois cada autor codifica os
performance evaluation of all BGS algorithms are shown. It is algoritmos utilizando certas particularidades, tais como
expected that the results presented here can help to choice the linguagem de programação, sistema operacional, bibliotecas
most suitable background subtraction method. adicionais (algumas vezes proprietárias), estrutura e formatação
do código fonte. Tais particularidades comumente acabam
Keywords—bgslibrary; background subtraction; motion
dificultando a pesquisa, o desenvolvimento e a integração de
detection; foreground segmentation; background modeling
sistemas que dependem desta tecnologia. Entretanto, a
necessidade de uma biblioteca integrada e padronizada que seja
I. INTRODUÇÃO independente de sistema operacional, gratuita e de código fonte
A subtração de fundo é um passo fundamental em muitas aberto é importante. Neste artigo, o autor propõe a biblioteca
aplicações no campo de visão computacional e processamento BGSLibrary que foi desenvolvida com esta finalidade.
digital de imagens, tais como vigilância por vídeo [26], captura A BGSLibrary1 fornece um framework em C++ para
de movimento [8] e aplicações multimídia [12]. Consiste em realizar a subtração de fundo em uma sequência de imagens ou
geral na comparação de uma imagem observada com outra vídeo. Lançada pela primeira vez em Março de 2012
imagem que representa uma estimativa do plano de fundo. As inicialmente com 14 algoritmos, atualmente (até a escrita deste
regiões que possuem uma diferença significativa, acima de um trabalho) a BGSLibrary está na versão 1.5.0 compondo 29
determinado limiar entre a imagem de entrada e a imagem de algoritmos de subtração de fundo. Uma grande quantidade de
referência (plano de fundo), indicam a localização de objetos algoritmos foram fornecidos e adaptados de vários autores que
de interesse. Geralmente o processo de subtração de fundo se interessaram pelo progresso deste trabalho. O código fonte
inclui as seguintes etapas: a) inicialização do modelo do plano está disponível sob a licença GNU GPL v3, a biblioteca é de
de fundo até um determinado limiar, b) manutenção deste código fonte aberto e livre para uso acadêmico e não-
modelo após o limiar, e, c) detecção do primeiro plano. A Fig. comercial. Para ser usada, é preciso ter a biblioteca OpenCV
1 apresenta as etapas relacionadas ao processo de subtração de instalada.
fundo.
O OpenCV2 (Open Source Computer Vision Library) é uma
Como pode ser visto em [21,27,29,30], dezenas de métodos biblioteca multiplataforma, totalmente livre ao uso acadêmico e
de subtração de fundo foram desenvolvidos ao longo dos comercial, para o desenvolvimento de aplicativos na área de
últimos anos. Alguns autores, tais como Thierry Bouwmans Visão Computacional. Esta biblioteca é composta por mais de
[31], Donovan Parks [7], Zoran Zivkovic [35], Laurence 500 algoritmos e foi desenvolvida nas linguagens de
Bender [15], Martin Hofmann [19], Jian Yao [14], Antoine programação C/C++, razão pela qual a BGSLibrary também foi
Vacavant [3] e Domenico Bloisi [6] colaboram com a desenvolvida em C/C++.
comunidade acadêmica disponibilizando gratuitamente a impl-
A seguir, são apresentadas as principais características e o
funcionamento da BGSLibrary. Também é abordado como
integrar a BGSLibrary em um projeto em C++ existente. Em
seguida, são apresentados os resultados da avaliação do custo
computacional e da precisão dos algoritmos de subtração de
fundo utilizando uma base de imagens pública. E, por fim, a
conclusão do presente trabalho.

1
http://code.google.com/p/bgslibrary/
Fig. 1. Diagrama de blocos do processo de subtração de fundo. 2
http://opencv.org/
II. BGSLIBRARY Identificação Nome do método
Autor
(es)
Conforme apresentado inicialmente, a BGSLibrary possui
Método(s) baseado(s) em autovalores e autovetores:
um total de 29 algoritmos de subtração de fundo. A Tab. 1
apresenta a lista completa dos algoritmos com seus respectivos DPEigenbackgroundBGS Eigenbackground / SL-PCA 1 [23]
autores. Os algoritmos foram agrupados por similaridade.
Método(s) neural(is) e neuro-fuzzy:
LBAdaptiveSOM Adaptive SOM 3 [16]
TABELA I. LISTA DOS ALGORITMOS DE SUBTRAÇÃO DE FUNDO
DISPONÍVEIS NA BGSLIBRARY LBFuzzyAdaptiveSOM Fuzzy Adaptive SOM 3 [17]
Autor 0
Nativo da biblioteca OpenCV.
Identificação Nome do método
(es) 1
Adaptado de Donovan Parks [7].
Método(s) básico(s): 2
Adaptado de Thierry Bouwmans e Zhenjie Zhao [31].
StaticFrameDifferenceB 3
Adaptado de Laurence Bender [15].
GS Static Frame Difference -
4
Adaptado de Jian Yao and Jean-Marc Odobez [14].
FrameDifferenceBGS Frame Difference - 5
Adaptado de Martin Hofmann, Philipp Tiefenbacher e Gerhard Rigoll [19].
WeightedMovingMeanB 6
GS
Weighted Moving Mean - Adaptado de Lionel Robinault e Antoine Vacavant [3].

WeightedMovingVarianc
eBGS
Weighted Moving Variance -
AdaptiveBackgroundLear
Adaptive Background Learning -
Neste artigo não serão descritos os aspectos matemáticos e
ning o funcionamento de cada método de subtração de fundo
DPMeanBGS Temporal Mean 1 - presente na BGSLibrary. Para melhores informações pode-se
DPAdaptiveMedianBGS Adaptive Median 1 [22]
consultar as referências na coluna Autor(es).

DPPratiMediodBGS Temporal Median 1 [25]


Para utilizar os métodos listados na Tab. 1, as intruções
foram divididas em dois itens conforme o sistema operacional
Método(s) baseado(s) em Lógica Fuzzy: do usuário:
FuzzySugenoIntegral Fuzzy Sugeno Integral 2 [11] Para usuários do sistema operacional Windows, a
FuzzyChoquetIntegral Fuzzy Choquet Integral 2
[9] BGSLibrary dispõe de versões binárias em 32 bits
(bgs_library_x86_vX.X.X_with_gui.7z) e 64 bits
3
LBFuzzyGaussian Fuzzy Gaussian [20] (bgs_library_x64_vX.X.X_with_gui.7z), onde vX.X.X
Método(s) estatístico(s) com uma gaussiana: representa a versão atual da biblioteca. Ambas as versões
incluem uma aplicativo em linguagem Java com interface
DPWrenGABGS Gaussian Average 1 [5] gráfica para configurar e executar a BGSLibrary. Este
LBSimpleGaussian Simple Gaussian 3
[32] aplicativo é opcional, sendo possível a execução da
BGSLibrary em modo console (ver Item 2). Também está
Método(s) estatístico(s) com múltiplas gaussianas: disponível uma versão binária (com código fonte aberto)
DPGrimsonGMMBGS Gaussian Mixture Model 1 [4] em 32 bits de um aplicativo com interface gráfica baseado
MixtureOfGaussianV1B 0
na biblioteca MFC (Microsoft Foundation Class) que
GS Gaussian Mixture Model [24] utiliza a BGSLibrary conforme a Fig. 2. Um projeto criado
MixtureOfGaussianV2B
Gaussian Mixture Model 0 [34] no Visual Studio 2010 também é disponibilizado para
GS
1
usuários desta ferramenta (ver Seção III).
DPZivkovicAGMMBGS Gaussian Mixture Model [34]
3
LBMixtureOfGaussians Gaussian Mixture Model [28]

Método(s) baseado(s) baseados em Lógica Fuzzy Tipo-2:


T2FGMM_UM Type-2 Fuzzy GMM-UM 2 [10]
T2FGMM_UV Type-2 Fuzzy GMM-UV 2 [10]
2
T2FMRF_UM Type-2 Fuzzy GMM-UM with MRF [36]
2
T2FMRF_UV Type-2 Fuzzy GMM-UV with MRF [36]

Método(s) estatístico(s) utilizando características de cor e textura:


MultiLayerBGS Multi-Layer BGS 4 [13]

Método(s) não-paramétrico(s):
PixelBasedAdaptiveSegm
enter Pixel-Based Adaptive Segmenter 5 [18]
Fig. 2. Aplicativo MFC utilizando a BGSLibrary. É possível selecionar o
0
GMG GMG [1] método de subtração de fundo desejado e configurar os parâmetros de entrada.
Também é permitdo salvar a imagem de entrada, a máscara de primeiro plano
VuMeter VuMeter 6 [33] e o modelo do plano de fundo.
Item 1. Para os usuários do sistema operacional Linux, é loadConfig() definem as operações que devem ser realizadas
preciso baixar a versão mais recente do código fonte3 da para o armazenamento e carregamento de configurações.
BGSLibrary. Primeiramente é preciso de um cliente Tipicamente o arquivo de configuração é do tipo XML
Subversion (SVN) e seguir as intruções conforme as notas (eXtensible Markup Language) e deve ser localizado na pasta
do rodapé4. É fornecido um arquivo Cmake e um arquivo ./config/ conforme a árvore de diretórios.
README.txt com as intruções necessárias para a 01 #pragma once
compilação e execução. Após a compilação, o arquivo 02 #include <cv.h>
03
binário fica disponível na pasta ./build/. Executando a 04 class IBGS
BGSLibrary na linha de comando, é listado as seguintes 05 {
06 public:
opções: 07 virtual void process(const cv::Mat &img_input, cv::Mat
&img_output) = 0;
 --use_cam (Define que a câmera será utilizada) 08 virtual ~IBGS(){}
09
 --camera (Especifica o índice da câmera, default 0) 10 private:
11 virtual void saveConfig();
 --use_file (Define que um arquivo de vídeo será utilizado) 12 virtual void loadConfig();
 --filename (Especifica o endereço do arquivo de vídeo) 13 };
 --stopAt (Define em qual quadro o programa deve parar) Fig. 3. Interface padrão definida no arquivo IBGS.h.
 --use_comp (Define que um comparador de máscara de
primeiro plano será utilizado) A Fig. 4 ilustra um código fonte exemplo de como utilizar o
 --imgref (Define a máscara de primeiro plano de referência) método Frame Difference em uma webcam. A linha 05 realiza
a inclusão do método de subtração de fundo desejado5. A linha
Na seção seguinte, é apresentado como integrar a 29 realiza o processamento da imagem de entrada (img_input)
BGSLibrary em um projeto em linguagem C++. e retorna a máscara de primeiro plano (img_mask). Caso seja
necessário realizar algum procedimento após a aquisição da
III. INTEGRANDO A BGSLIBRARY EM UM PROJETO EM C++ máscara de primeiro plano é preciso apenas descomentar as
Nesta seção é detalhado o processo de integração da linhas 31 e 32 e definir as operações desejadas.
BGSLibrary em um projeto em linguagem C++. Primeiramente 01 #include <iostream>
02 #include <cv.h>
é preciso baixar o código fonte da BGSLibrary similar ao 03 #include <highgui.h>
processo descrito no Item 2 (ver notas 4 e 5 do rodapé). 04
05 #include "package_bgs/FrameDifferenceBGS.h"
06
Após baixar os códigos fontes, o usuário irá visualizar a 07 int main(int argc, char **argv)
seguinte árvore de diretórios: 08 {
09 CvCapture *capture = cvCaptureFromCAM(0);
10 if(!capture)
trunk (raiz) 11 {
|----- build (p/ usuarios do Linux – ver Item 2) 12 std::cerr << "Cannot initialize camera!" <<
std::endl;
|----- config (pasta dos arquivos de configuração) 13 return 1;
|----- dataset (base de arquivos de vídeo) 14 }
15
|----- package_analysis (pacote p/ análise da máscara de 1º plano) 16 IBGS *bgs;
17 bgs = new FrameDifferenceBGS;
|----- package_bgs (pacote dos algoritmos de sub. de fundo) 18
|----- av (adaptado de Antoine Vacavant) 19 int key = 0;
20 while(key != 'q')
|----- dp (adaptado de Donovan Parks) 21 {
22 IplImage *frame = cvQueryFrame(capture);
|----- jmo (adaptado de Jian Yao) 23 if(!frame) break;
|----- lb (adaptado de Laurence Bender) 24
25 cv::Mat img_input(frame);
|----- pt (adaptado de Martin Hofmann) 26 cv::imshow("input", img_input);
27
|----- tb (adaptado de Thierry Bouwmans) 28 cv::Mat img_mask;
|----- vs2010 (projeto exemplo p/ Visual Studio 2010) 29 bgs->process(img_input, img_mask);
30
31 //if(!img_mask.empty())
A pasta package_bgs armazena todas as implementações 32 // do something
dos algoritmos de subtração de fundo. Os algoritmos estão 33
34 key = cvWaitKey(1);
agrupados em subpastas distintas conforme a contribuição dos 35 }
autores. O código fonte de cada algoritmo é identificado 36
37 delete bgs;
conforme a coluna Identificação descrita na Tab. 1. Todos os 38
39 cvDestroyAllWindows();
algoritmos herdam uma interface padrão denominada IBGS 40 cvReleaseCapture(&capture);
conforme a Fig. 3. A linha 07 define a assinatura do método 41
42 return 0;
process(...) que é responsável pelo processamento da imagem e 43 }
recebe dois parâmetro do tipo cv::Mat. O primeiro parâmetro Fig. 4. Código fonte exemplo de como utilizar o método Frame Difference
(img_input) representa a imagem de entrada (e.g. quadro de um em uma webcam.
vídeo) e o segundo parâmtro (img_output) define a imagem de
saída (máscara de primeiro plano). Os métodos saveConfig() e
5
Para selecionar outro método de subtração de fundo é preciso
3
http://bgslibrary.googlecode.com/svn/trunk/ alterar as linhas 05 e 17 de acordo com sua identificação (ver
4
http://code.google.com/p/bgslibrary/source/checkout coluna Identificação da Tab. 1)
Nas próximas duas seções são apresentadas uma avaliação TABELA II. LISTA DE CONFIGURAÇÕES DOS CENÁRIOS DA BASE BMC.
do custo computacional (benchmark) e precisão dos algoritmos Configuração Descrição
de subtração de fundo da biblioteca BGSLibrary. Todos os
algoritmos foram avaliados conforme sua configuração padrão 1 Imagens capturadas sem ruídos.
fornecida pelo seu(s) respectivo(s) autor(es). 2 Imagens capturadas com ruídos.

3 Ambiente ensolarado com ruídos na captura.


IV. BENCHMARK DOS ALGORITMOS DE SUBTRAÇÃO DE
FUNDO 4 Ambiente nublado com ruídos na captura.
Ao selecionar um método de subtração de fundo é 5 Ambiente nublado com ventos e ruídos na captura.
importante avaliar seu consumo de memória, tempo de
execução e percentual de ocupação da CPU (Central
Processing Unit). Em sistemas embarcados ou aplicações de Em Eval.1 é ilustrado (de forma normalizada) o percentual
tempo-real estas características podem ser críticas e decisivas de ocupação da CPU, memória RAM privada e tempo de
na pesquisa e desenvolvimento de uma solução. Para realizar o execução de cada algoritmo de subtração de fundo da
benchmark dos algoritmos de subtração de fundo da biblioteca BGSLibrary7. Como pode ser notado, os métodos básicos (ver
BGSLibrary, optou-se pela base de imagens e vídeos BMC6 Tab. 1) possuem um custo computacional relativamente baixo
proposta por Antoine Vacavant e seus colegas [2]. A BMC é enquanto que os métodos mais robustos tendem a requerer um
uma base de imagens sintéticas ̶ as cenas são geradas em um custo computacional mais elevado. Em geral o percentual de
ambiente tridimensional utilizando técnicas de computação ocupação de CPU foi similar para todos os métodos de
gráfica (ver Fig. 5). subtração de fundo, havendo uma variação mais significativa
no consumo de memória e tempo de execução. É importante
A base BMC é composta por dois cenários de tráfego notar que o método GMG proposto por [1] possui o maior
urbano: estrada e rotatória. Ambos os cenários possuem apenas percentual de CPU em relação aos outros métodos devido sua
veículos de passeio em movimento. Cada cenário possui cinco implementação ser paralela (multithread), fazendo o uso de
configurações distintas conforme ilustra a Tab. 2. mais de um núcleo do processador ao mesmo tempo. É
Todas as imagens da base BMC estão no formato PNG percebido também que o método MultiLayer proposto por [13]
(Portable Network Graphics) e possuem um tamanho padrão possui o maior custo computacional entre todos os outros
de 640 por 480 pixels com resolução de 24 bits. São em média métodos avaliados.
1500 imagens para cada cenário e configuração. Na seção seguinte é apresentada uma avaliação de precisão
No presente trabalho, foi utilizado um computador com dos algoritmos de subtração de fundo da biblioteca
processador Intel Core i5-2410M de 2.3GHz com memória BGSLibrary.
RAM de 4,00GB DDR3 e sistema operacional Windows 7 x64
Home Premium SP1. Em seguida, selecionou-se apenas um V. PRECISÃO DOS ALGORITMOS DE SUBTRAÇÃO DE FUNDO
cenário e uma configuração (cenário estrada, configuração 2), Em conjunto com o benchmark, também é importante
pois o custo computacional é independente do conteúdo da avaliar a precisão do método de subtração de fundo que se
imagem. deseja utilizar. Em geral, os métodos de subtração de fundo
básicos são rápidos (menor custo computacional), porém
tendem a apresentar uma precisão relativamente baixa. Para
avaliar esta hipótese, neste trabalho optou-se por utilizar a
mesma base utilizada para avaliar o benchmark dos métodos de
subtração de fundo apresentado anteriormente. Para todos os
cenários e configurações, a base BMC disponibiliza uma
máscara de primeiro plano de referência (ver Fig. 6).
Inicialmente foi armazenada a máscara de primeiro plano
resultante dos métodos de subtração de fundo. Em seguida
utilizaram-se as métricas expressas na Tab. 3. Todas as
métricas são baseadas na quantidade de falso-positivos (FP -
False Positive), falso-negativos (FN - False Negative),
verdadeiro-positivos (TP - True Positive) e verdadeiro-
negativos (TN - True Negative). A base BMC também
disponibiliza um programa denominado BMC Wizard para
calcular estas métricas.

Fig. 5. Ilustração do cenário rotatória da base BMC. 7


O método Type-2 Fuzzy GMM with MRF (T2FMRF) não foi
avaliado devido sua implementação ainda possuir uma falha
6
http://bmc.univ-bpclermont.fr/ de vazamento de memória.
Eval. 1 Avaliação de desempenho dos algoritmos de subtração de fundo da BGSLibrary utilizando a base BMC.
As métricas foram calculadas para cada configuração do
cenário e, em seguida, foi calculada a média e os resultados
foram agrupados por cenário e ordenados de forma decrescente
pela pontuação total8 (F1-Total) conforme a Tab. 4.
Analisando os resultados apresentados na Tab. 4 pode-se
notar que, como esperado, os métodos mais sofisticados
obtiveram uma melhor pontuação (F1-Total). O método Pixel-
Based Adaptive Segmenter proposto por Hofmann et al. [18]
obteve a melhor pontuação entre todos os algoritmos avaliados. Fig. 6. Cenário estrada e sua respectiva máscara de primeiro plano.
Entretanto, pode-se considerar que um bom algoritmo deve
possui um custo computacional baixo e uma precisão alta. TABELA IV. PRECISÃO DOS ALGORITMOS DE SUBTRAÇÃO DE FUNDO.
Neste sentido, observando-se os cinco primeiros métodos da # Identificação F1 Rotatória F1 Estrada F1 Total
Tab. 4, o algoritmo Gaussian Average (DPWrenGABGS) de 01 PixelBasedAdaptiveSegmenter 0,884334 0,886452 0,885393
Wren et al. [5] possui a melhor relação de precisão versus custo 02 MultiLayerBGS 0,886704 0,862531 0,874618
03 LBAdaptiveSOM 0,873978 0,860017 0,866997
computacional. Também observa-se que apenas dois dos 04 DPWrenGABGS 0,846874 0,858481 0,852678
métodos básicos denominados Adaptive Background Learning 05 MixtureOfGaussianV2BGS 0,854675 0,845002 0,849839
e Temporal Median (DPPratiMediodBGS) de Calderara et al. 06 LBMixtureOfGaussians 0,859863 0,837108 0,848486
[25] conseguiram estar entre os 10 primeiros colocados (8º e 07 MixtureOfGaussianV1BGS 0,833138 0,860326 0,846732
08 AdaptiveBackgroundLearning 0,838228 0,848996 0,843612
10º posições respectivamente). Entretanto, entre todos os 09 FuzzyChoquetIntegral 0,841018 0,833306 0,837162
métodos básicos, o Adaptive Background Learning é um dos 10 DPPratiMediodBGS 0,854816 0,818535 0,836676
métodos de subtração de fundo que possui o menor custo 11 LBFuzzyAdaptiveSOM 0,848042 0,823365 0,835704
computacional (ver Eval. 1). Este método pode ser uma escolha 12 FuzzySugenoIntegral 0,832516 0,832259 0,832388
13 LBFuzzyGaussian 0,840927 0,775858 0,808392
importante caso tenha-se o interesse por um método 14 WeightedMovingMeanBGS 0,800481 0,814039 0,807260
relativamente preciso com o custo computacional baixo para 15 WeightedMovingVarianceBGS 0,799376 0,811330 0,805353
sistemas com recursos computacionais limitados. 16 LBSimpleGaussian 0,829454 0,781137 0,805295
17 GMG 0,829807 0,775754 0,802781
Na próxima seção é apresentada a conclusão do presente 18 DPGrimsonGMMBGS 0,801958 0,802934 0,802446
19 FrameDifferenceBGS 0,795440 0,800495 0,797968
trabalho. 20 DPAdaptiveMedianBGS 0,832356 0,758255 0,795306
21 VuMeter 0,752817 0,797990 0,775403
TABELA III. RELAÇÃO DE MÉTRICAS UTILIZADAS PARA AVALIAR A 22 DPZivkovicAGMMBGS 0,772410 0,776516 0,774463
PRECISÃO DOS ALGORITMOS DE SUBTRAÇÃO DE FUNDO. 23 T2FGMM_UM 0,771575 0,776796 0,774185
24 T2FMRF_UV 0,739170 0,787036 0,763103
Métrica Equação 25 T2FGMM_UV 0,768699 0,754688 0,761694
Precisão (Pr) TP / (TP + FP) 26 StaticFrameDifferenceBGS 0,773005 0,726678 0,749841
Índice de Recuperação (Re) TP / (TP + FN) 27 DPEigenbackgroundBGS 0,780443 0,713478 0,746960
F1 / F-Score 2 (Pr . Re) / (Pr + Re) 28 T2FMRF_UM 0,758588 0,727150 0,742869
TP - qt. de pixels do primeiro plano classificados como primeiro plano. 29 DPMeanBGS 0,725765 0,731384 0,728575
FP - qt. de pixels do segundo plano que foram classificados como primeiro plano.
TN - qt. de pixels do segundo plano que foram classificados como segundo plano.
FN - qt. de pixels do primeiro plano que foram classificados como segundo plano

8
F1Total = (F1Rotary + F1Street) / 2
CONCLUSÕES [17] L. Maddalena and A. Petrosino, “A fuzzy spatial coherence-based
approach to background/foreground separation for moving object
Neste trabalho apresentou-se a biblioteca BGSLibrary que detection”, Neural Computing & Applications, Vol. 19, No. 2, pp. 179-
foi desenvolvida com o objetivo de servir como um framework 186, 2010.
para detecção e segmentação de objetos em movimento [18] M. Hofmann, P. Tiefenbacher, and G. Rigoll, “Background
utilizando a subtração de fundo. Os algoritmos foram avaliados segmentation with feedback: The Pixel-Based Adaptive Segmenter”, In
conforme seu custo computacional e precisão utilizando a base IEEE Computer Society Conference on Computer Vision and Pattern
Recognition Workshops (CVPRW), pp. 38-43, June 2012.
BMC. Espera-se que as avaliações e os resultados aqui
[19] M. Hofmann, https://sites.google.com/site/pbassegmenter/home,
apresentados possam colaborar na escolha de um método de accessed at 30/03/2013.
subtração de fundo adequado. Também pretende-se avaliar os [20] M. Sigari, N. Mozayani, and H. Pourreza, “Fuzzy Running Average and
métodos de subtração de fundo com outras bases de imagens e Fuzzy Background Subtraction: Concepts and Application”,
vídeos tais como SABS9 e ChangeDetection.net10. O objetivo International Journal of Computer Science and Network Security, Vol.
principal é aprimorar continuamente a biblioteca, adicionando 8, No. 2, pp. 138-143, 2008.
novos recursos e métodos de subtração de fundo com o apoio [21] N. Buch, S. Velastin, and J. Orwell, “A review of computer vision
da comunidade acadêmica e profissionais de todo o mundo. techniques for the analysis of urban traffic”, In IEEE Transactions on
Intelligent Transportation Systems (ITS'11), vol. 12, n. 3, pp. 920-939,
2011.
REFERÊNCIAS [22] N. J. B. McFarlane and C. P. Schofield, “Segmentation and tracking of
[1] A. B. Godbehere, A. Matsukawa, and K. Goldberg, “Visual Tracking of piglets in images”, Machine Vision and Applications, 8(3):187–193,
Human Visitors under Variable-Lighting Conditions for a Responsive May 1995.
Audio Art Installation”, American Control Conference (ACC), 2012. [23] N. M. Oliver, B. Rosario, and A. P. Pentland, “A Bayesian computer
[2] A. Vacavant, T. Chateau, A. Wilhelm and L. Lequièvre, “A Benchmark vision system for modeling human interactions”, In IEEE Transactions
Dataset for Foreground/Background Extraction”, In ACCV 2012, on Pattern Analysis and Machine Intelligence, 2000.
Workshop: Background Models Challenge, Daejeon, Korea, November [24] P. Kaewtrakulpong and R. Bowden, “An Improved Adaptive
2012. Background Mixture Model for Realtime Tracking with Shadow
[3] A. Vacavant, http://isit.u-clermont1.fr/~anvacava/index.html, accessed Detection”, In Proceedings of 2nd European Workshop on Advanced
at 30/03/2013. Video Based Surveillance Systems, 2001.
[4] C. Stauffer and W. E. L. Grimson, “Adaptive background mixture [25] S. Calderara, R. Melli, A. Prati, and R. Cucchiara, “Reliable background
models for real-time tracking”, IEEE Computer Society Conference on suppression for complex scenes”, In Proceedings of the 4th ACM
Computer Vision and Pattern Recognition, 1999. International Workshop on Video Surveillance and Sensor Networks,
2006.
[5] C. Wren, A. Azarbayejani , T. Darrell, and A. Pentland, “Pfinder: Real-
Time Tracking of the Human Body”, In The IEEE Transactions on [26] S. Cheung and C. Kamath, “Robust background subtraction with
Pattern Analysis and Machine Intelligence, 1997. foreground validation for urban traffic video”, In the Journal of Applied
Signal Processing, EURASIP, 2005.
[6] D. D. Bloisi ,
http://www.dis.uniroma1.it/~bloisi/software/imbs.html, accessed at [27] S. Brutzer, B. Hoferlin, and G. Heidemann, “Evaluation of background
30/03/2013. subtraction techniques for video surveillance”. In IEEE Conference on
Computer Vision and Pattern Recognition (CVPR'11), p. 1937-1944,
[7] D. Parks, http://dparks.wikidot.com/source-code, accessed at 2011.
30/03/2013.
[28] T. Bouwmans, F. El Baf, and B. Vachon, “Background Modeling using
[8] F. El Baf and T. Bouwmans, “Comparison of background subtraction Mixture of Gaussians for Foreground Detection - A Survey”, Recent
methods for a multimedia learning space”, In the International Patents on Computer Science, Vol. 1, No. 3, pp. 219-237, November
Conference on Signal Processing and Multimedia, SIGMAP, 2007. 2008.
[9] F. El Baf, T. Bouwmans, B. Vachon, “Fuzzy Integral for Moving Object [29] T. Bouwmans, “Recent advanced statistical background modeling for
Detection”, IEEE International Conference on Fuzzy Systems, FUZZ- foreground detection - a systematic survey”, In Recent Patents on
IEEE 2008, pages 1729-1736, Hong-Kong, China, 1-6 June 2008. Computer Science, vol. 4, n. 3, pp. 147-176, 2011.
[10] F. Baf, T. Bouwmans, and B. Vachon, “Type-2 Fuzzy Mixture of [30] T. Bouwmans, “Background subtraction for visual surveillance: A fuzzy
Gaussians Model: Application to Background Modeling”, In approach”, In Handbook on Soft Computing for Video Surveillance,
Proceedings of the 4th International Symposium on Advances in Visual Chapter 5, 2012.
Computing (ISVC'08), 2008.
[31] T. Bouwmans, https://sites.google.com/site/thierrybouwmans/, accessed
[11] H. Zhang and D. Xu, “Fusing Color and Texture Features for at 30/03/2013.
Background Model”, Third International Conference on Fuzzy Systems
and Knowledge Discovery, 2006. [32] Y. Benezeth, P. M. Jodoin, B. Emile, H. Laurent, and C. Rosenberger,
“Review and evaluation of commonly-implemented background
[12] J. Carranza, C. Theobalt, M. Magnor, and H. Seidel, “Free-viewpoint subtraction algorithms”, In Proceedings of the IEEE International
video of human actors”, In the ACM Transactions on Graphics, Conference on Pattern Recognition, 2008.
22(3):569–577, 2003.
[33] Y. Goyat, T. Chateau, L. Malaterre, and L. Trassoudaine, Vehicle
[13] J. Yao and Jean-marc Odobez, “Multi-layer background subtraction Trajectories Evaluation by Static Video Sensors, In The 9th International
based on color and texture”, IEEE Computer Vision and Pattern IEEE Conference on Intelligent Transportation Systems, Toronto,
Recognition Conference, Minneapolis, MN, 2007. Canada, 2006.
[14] J. Yao and J.M. Odobez, http://www.idiap.ch/~odobez/human- [34] Z. Zivkovic and F. V. D. Heijden, “Efficient adaptive density estimation
detection/related-publications.html, accessed at 30/03/2013. per image pixel for the task of background subtraction”, Pattern
[15] L. Bender, http://scene.sourceforge.net/, accessed at 30/03/2013. Recognition Letters, Volume 27 Issue 7, Pages 773-780, May 2006.
[16] L. Maddalena and A. Petrosino, “A Self-Organizing Approach to [35] Z. Zivkovic, http://www.zoranz.net, accessed at 30/03/2013.
Background Subtraction for Visual Surveillance Applications”, In IEEE [36] Z. Zhao, T. Bouwmans, X. Zhang, and Y. Fang, “A Fuzzy Background
Transactions on Image Processing, Vol. 17, No. 7, pp. 1168-1177, 2008. Modeling Approach for Motion Detection in Dynamic Backgrounds”, In
Proceedings of The Second International Conference Communications
9 in Computer and Information Science Volume 346, pp 177-185, 2012.
http://www.vis.uni-stuttgart.de/index.php?id=sabs
10
http://changedetection.net/