Tuesday 12 December 2017

Moving average background subtraction


Oi, este será um artigo muito simples, mas você vai achar muito útil. Trata-se de Extração de Fundo de um Vídeo. Suponha que você tenha um vídeo de filmagem de tráfego, pode ser uma coisa assim. Tráfego na Índia. E você é convidado a encontrar um fundo aproximado. Ou qualquer coisa assim. A extração de fundo vem importante no rastreamento de objetos. Se você já possui uma imagem do fundo nu, então é simples. Mas, em muitos casos, você não terá essa imagem e, então, você terá que criar uma. É aí que o Running Average é útil. (Eu pensei sobre isso quando um cara fez uma pergunta no SOF. Link) A função que usamos aqui para encontrar Running Average é cv2.accumulateWeighted (). Por exemplo, se estamos assistindo um vídeo, continuamos alimentando cada quadro para esta função, e a função continua encontrando as médias de todos os quadros alimentados a ele de acordo com a relação abaixo: src não é senão a nossa imagem de origem. Pode ser em escala de cinza ou imagem colorida e ponto flutuante de 8 bits ou 32 bits. Dst é a imagem de saída ou acumulador com os mesmos canais que a da imagem de origem, e é um ponto flutuante de 32 bits ou 64 bits. Além disso, devemos declarar primeiro um valor que será tomado como valor inicial. Alfa é o peso da imagem de entrada. De acordo com o Docs, o alfa regula a velocidade de atualização (o quão rápido o acumulador 8220forgets8221 sobre imagens anteriores). Em palavras simples, se o alfa é um valor maior, a imagem média tenta pegar mudanças muito rápidas e curtas nos dados. Se for menor valor, a média fica lenta e não considera mudanças rápidas nas imagens de entrada. Vou explicar um pouco com a ajuda de imagens no final do artigo. No código acima, estabeleci duas médias, uma com maior valor alfa e outra com menor valor alfa para que você possa entender o efeito de alfa. No início, ambos estão configurados para o quadro inicial da captura. E em loop eles são atualizados. Você pode ver alguns resultados no link SOF que eu já forneci. (Eu forneço esses resultados aqui, você pode verificar o código e o valor alfa lá): usei minha webcam e economize o quadro original e a média de execução em um determinado instante. Este é um quadro de um vídeo de tráfego típico feito por uma câmera estacionária. Como você pode ver, um carro está indo na estrada, e a pessoa está tentando atravessar a estrada em um determinado instante de tempo. Mas veja a média de corrida naquele momento. Não há pessoa e carro nesta imagem (Na verdade, está lá, tenha uma aparência próxima, então você vai ver, e a pessoa é mais clara do que o carro, já que o carro está se movendo muito rápido e em toda a imagem, não tem muito Efeito em média, mas a pessoa está lá por um longo tempo, já que ele é lento e se move através da estrada.) Agora precisamos ver o efeito do alfa sobre essas imagens. Introdução Identificar objetos em movimento de uma seqüência de vídeo é fundamental e crítico Tarefa em muitas aplicações de visão de computador. Uma abordagem comum é realizar a subtração de fundo, que identifica objetos em movimento a partir da parte de uma moldura de vídeo que difere significativamente de um modelo de fundo. Há muitos desafios no desenvolvimento de um bom algoritmo de subtração de fundo. Primeiro, deve ser robusto contra mudanças de iluminação. Em segundo lugar, deve evitar detectar objetos de fundo não estacionários, como mover folhas, chuva, neve e sombras, movendo objetos. Finalmente, seu modelo de fundo interno deve reagir rapidamente às mudanças de fundo, como o início e a parada de veículos. Nossa pesquisa começou com uma comparação de vários algoritmos de subtração de fundo para detectar veículos em movimento e pedestres em sequências de vídeo de tráfego urbano (Cheung e Kamath, 2004). Consideramos abordagens que variam de técnicas simples, como a diferenciação de quadros e a filtragem mediana adaptativa, a técnicas de modelagem probabilística mais sofisticadas. Embora técnicas complicadas muitas vezes produzam desempenho superior, nossas experiências mostram que técnicas simples, como filtragem mediana adaptativa, podem produzir bons resultados com uma complexidade computacional muito menor. Além disso, descobrimos que o pré e posterior processamento do vídeo pode ser necessário para melhorar a detecção de objetos em movimento. Por exemplo, por meio de suavização espacial e temporal, podemos remover a neve de um vídeo como mostrado na Figura 1. Pequenos objetos em movimento, como mover folhas em uma árvore, podem ser removidos por processamento morfológico dos quadros após a identificação dos objetos em movimento , Como mostrado na Figura 2. Figura 1. Quadro de vídeo à esquerda mostrando uma cena de tráfego enquanto neva. Observe as marcas na imagem devido aos flocos de neve. O mesmo quadro de vídeo após o alisamento espacial e temporal está à direita, sem as marcas de neve. Figura 2. A moldura de vídeo na esquerda destaca, em rosa, os objetos detectados como em movimento. Observe o movimento das folhas nas árvores em primeiro plano. O processamento morfológico limpa o quadro de vídeo como mostrado à direita. A taxa e o peso das atualizações do modelo influenciam significativamente os resultados do primeiro plano. Os modelos de fundo de adaptação lenta não podem superar rapidamente grandes mudanças no fundo da imagem (como uma nuvem que passa sobre uma cena). Isso resulta em um período de tempo em que muitos pixels de fundo são incorretamente classificados como pixels de primeiro plano. Uma taxa de atualização lenta também tende a criar uma máscara fantasma que trilha o objeto real. Os modelos de fundo de adaptação rápida podem lidar rapidamente com as mudanças em segundo plano, mas falham em baixas taxas de quadros. Eles também são muito suscetíveis ao ruído e ao problema de abertura. Essas observações indicam que uma abordagem híbrida pode ajudar a mitigar as desvantagens de cada um. Criamos uma nova técnica de validação de primeiro plano que pode ser aplicada a qualquer algoritmo de subtração de fundo de adaptação lenta (Cheung e Kamath 2005). Os métodos de adaptação lenta produzem máscaras relativamente estáveis ​​e tendem a ser mais inclusivos do que os métodos de adaptação rápida. Como resultado, eles também podem ter alta taxa de falsos positivos. A validação do primeiro plano examina os pixels de primeiro plano individuais na tentativa de eliminar falsos positivos. Nosso algoritmo primeiro obtém uma máscara de primeiro plano de um algoritmo de adaptação lenta e, em seguida, valida pixels de primeiro plano por um modelo de objeto móvel simples, construído usando estatísticas de primeiro plano e de fundo, bem como um algoritmo de adaptação rápida (Figura 3). Figura 3. As misturas da abordagem gaussiana (a) não são muito robustas em mudanças de iluminação em comparação com o método proposto (b). Experimentos de verdade terrestre com sequências de tráfego urbano mostraram que nosso algoritmo proposto produz desempenho comparável ou melhor do que outras técnicas de subtração de fundo (Figura 4). Figura 4: Comparação de diferentes algoritmos. (A) Imagem original mostrando um carro que começa a se mover depois de estar parado por algum tempo. Primeiro plano detectado por (b) diferenciação de quadros, (c) mediana aproximada, (d) mediana, (e) filtro de Kalman, (f) misturas de gaussianos, e (g) nosso novo método com validação de primeiro plano. Agradecimentos Os vídeos usados ​​no nosso trabalho são do site mantido pela KOGS-IAKS Universitaet Karlsruhe. Agradecemos a sua vontade de divulgar seus dados publicamente. Referências Cheung, S.-C. E C. Kamath, Súbita de fundo robusto com Validação de primeiro plano para vídeo de tráfego urbano, EURASIP Journal on Applied Signal Processing, Volume 14, pp 1-11, 2005. UCRL-JRNL-201916. Cheung, S.-C. E C. Kamath, técnicas robustas para a subtração de fundo em vídeo de tráfego urbano, comunicação de vídeo e processamento de imagens, SPIE Electronic Imaging, San Jose, janeiro de 2004, UCRL-JC-153846-ABS, UCRL-CONF-200706 PDF.

No comments:

Post a Comment