Subtração de background para detecção de movimento em vídeos

A detecção e segmentação de objetos móveis em vídeos é uma tarefa fundamental de visão computacional em sistemas relacionados à vigilância automatizada, à interface humano-máquina, à geração de legendas de vídeos com base no conteúdo, ao monitoramento do tráfego e ao reconhecimento de gestos, por exemplo. Para identificar os objetos em movimento, uma abordagem típica é primeiro reconhecer qual é o background, ou plano de fundo, que representa aquilo que não é de interesse, e então subtrair este background da sequência de imagens para encontrar o foreground, ou primeiro plano, que contém a informação desejada.

Em ambientes controlados, fazer a separação entre background e foreground não é tão complicado. Pressupõe-se que o background é estático, e assim, cada pixel das imagens que é alterado ao longo do tempo é identificado como foreground. É assim que os estúdios de cinema fazem a substituição da tela verde por cenários reais ou gerados pela equipe de efeitos especiais. Mas em ambientes reais, esta tarefa não é tão simples. A princípio, o background permanece relativamente estático, mas pequenos movimentos são possíveis, como os galhos de uma árvore balançando com o vento, ou então mudanças de iluminação causadas pela alteração da posição das fontes de luz, ou pela sombra dos próprios objetos móveis, ou mesmo mudanças de longo prazo, como a alteração permanente da posição de algum objeto. É por isso que métodos mais rebuscados são necessários para fazer a subtração de background nestas situações.

Matematicamente, o background é representado por um modelo, que deve ser suficientemente robusto para separar adequadamente o foreground do background e seu ruído. Este modelo pode ser construído através de uma técnica chamada de filtro médio temporal. Esta técnica usa os últimos frames disponíveis (de um feed em tempo real, por exemplo) para calcular a média ou a mediana de todos os pixels. A imagem construída com estas médias/medianas móveis forma o modelo de background. Então, conforme o vídeo se desenvolve, cada novo frame é comparado com o modelo, e os pixels cuja diferença esteja dentro de um limite pré-estabelecido são considerados como background.

Outra possibilidade é usar a média gaussiana móvel, através da qual cada pixel é modelado como uma função de densidade probabilística gaussiana em função de um número escolhido dos frames mais recentes. Para evitar que estas funções sejam recalculadas do início a cada novo frame, é comum calcular uma média móvel cumulativa, que usa a média e o desvio-padrão anteriores para determinar seus novos valores. O foreground então é considerado como qualquer valor atípico para aquela distribuição.

Mais recentemente, foram desenvolvidos os chamados modelos mistos, que tratam cada pixel não como uma distribuição de seus atributos visuais, mas sim uma combinação de distribuições associadas à sua classificação, seja background, foreground ou sombra, por exemplo. Por estas características, estes modelos tendem a ser mais eficientes no reconhecimento de artefatos móveis que não representam os objetos de interesse.

Por fim, alguns métodos mais avançados propõe alterações nos cálculos dos modelos mistos, por exemplo nas equações que fazem as atualizações do modelo de background, para aumentar a eficiência das detecções e assim potencializar seu uso em cenários mais complexos, em tempo real e com baixo custo computacional.

A biblioteca OpenCV, que é especializada em aplicações de visão computacional, apresenta atualmente dez classes para a subtração de background. A imagem abaixo exemplifica o uso do extrator MOG2, que classifica os objetos em movimento com pixels brancos, o background com pixels pretos, e sombras com pixels cinza.

Detecção de movimentos com o extrator MOG2 implementado com a biblioteca OpenCV. Créditos: OpenCV.

Em suma, a detecção automática de objetos móveis em vídeos de cenários reais apresenta seus desafios, já que a tarefa depende da identificação e subtração do background para que seja possível detectar os objetos de interesse. As técnicas disponíveis apresentam diferentes prós e contras em função de sua precisão e de custo computacional, e sua escolha vai depender da complexidade do cenário envolvido.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.