Friday 10 November 2017

Movendo A Subtração Média De Fundo


Estou tentando implementar um método de subtração de fundo simples para a detecção de objetos em movimento em uma cena particular. O objetivo é segmentar um movimento específico de um vídeo para usá-lo em outro vídeo. O algoritmo que estou seguindo é: 1. Pegue os primeiros 25 quadros do vídeo e medie-os para obter um modelo de fundo. 2. Encontre o desvio padrão desses 25 quadros e armazene os valores em outra imagem. 3. Agora estou calculando a diferença absoluta entre cada frame e pixel médio do pixel do modelo do fundo médio. A saída que estou recebendo é um tipo de movimento transparente sendo destacado em branco (a diferença absoluta está resultando na transparência, eu acho). Eu quero saber se a minha abordagem é certa ou não considerando que eu vou estar fazendo uma segmentação sobre esta saída como próximo passo E também estou recebendo nenhuma idéia de como usar a imagem de desvio padrão. Qualquer ajuda será apreciada. Deixe-me por favor saber se este não é o tipo de pergunta que eu devo afixar no estouro da pilha. Nesse caso, qualquer referência ou links para outros sites será útil. Perguntado Jun 26 13 at 9: 12Introdução Identificar objetos em movimento a partir de uma seqüência de vídeo é uma tarefa fundamental e crítica em muitas aplicações de visão computacional. Uma abordagem comum é a de realizar subtração de fundo, que identifica objetos em movimento a partir da parte de um quadro 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, ele deve ser robusto contra mudanças na iluminação. Em segundo lugar, ele deve evitar a detecção de objetos não-estacionários de fundo, como mover folhas, chuva, neve e sombras lançadas por objetos em movimento. Finalmente, seu modelo de fundo interno deve reagir rapidamente a mudanças no plano de fundo, tais como partida e 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 seqüências de vídeo de trânsito urbano (Cheung e Kamath, 2004). Foram consideradas abordagens que variam de técnicas simples, como a diferenciação de quadros e a filtragem mediana adaptativa, para técnicas de modelagem probabilística mais sofisticadas. Enquanto técnicas complicadas muitas vezes produzem desempenho superior, nossas experiências mostram que técnicas simples como a filtragem mediana adaptativa podem produzir bons resultados com uma complexidade computacional muito menor. Além disso, descobrimos que pré e pós-processamento do vídeo pode ser necessário para melhorar a detecção de objetos em movimento. Por exemplo, por alisamento 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ânsito enquanto neva. Observe as faixas na imagem devido aos flocos de neve. A mesma moldura de vídeo após a suavização espacial e temporal está à direita, sem as faixas de neve. Figura 2. A moldura de vídeo à esquerda destaca, em rosa, os objetos detectados como móveis. Anote o movimento das folhas nas árvores no primeiro plano. Processamento morfológico limpa a moldura de vídeo como mostrado à direita. A taxa e o peso das atualizações do modelo afetam grandemente os resultados de primeiro plano. Os modelos de fundo de adaptação lenta não conseguem superar rapidamente grandes alterações no plano de fundo da imagem (como uma nuvem que passa por uma cena). Isso resulta em um período de tempo em que muitos pixels de plano de fundo são classificados incorretamente como pixels de primeiro plano. Uma taxa de atualização lenta também tende a criar uma máscara de fantasma que rastreia o objeto real. Modelos de fundo de adaptação rápida podem lidar rapidamente com as alterações de plano de fundo, mas falham em taxas de quadros baixas. Eles também são muito suscetíveis ao ruído e ao problema de abertura. Estas 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). Métodos de adaptação lentos produzem máscaras relativamente estáveis ​​e tendem a ser mais inclusivos do que métodos de adaptação rápida. Como resultado, eles também podem ter alta taxa de falso-positivo. A validação do primeiro plano examina mais os pixels de primeiro plano individuais numa 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 os pixels de primeiro plano por um modelo de objeto móvel simples construído usando estatísticas de primeiro plano e de segundo plano, bem como um algoritmo de adaptação rápida (Figura 3). Figura 3. As misturas de Gaussianos abordagem (a) não é muito robusto para mudanças na iluminação em comparação com o nosso método proposto (b). Experiências de terreno-verdade com seqüências de tráfego urbano mostraram que nosso algoritmo proposto produz desempenho que é 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 ficar parado por um tempo. (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 utilizados em nosso trabalho são do site da KOGS-IAKS Universitaet Karlsruhe. Agradecemos sua disponibilidade para disponibilizar seus dados publicamente. Referências Cheung, S.-C. E C. Kamath, Substração de Fundo Robusto com Validação de Primeiro Plano para Vídeo de Tráfego Urbano, Jornal EURASIP sobre Processamento de Sinal Aplicado, Volume 14, pp 1-11, 2005. UCRL-JRNL-201916. Cheung, S.-C. E C. Kamath, técnicas robustas para a subtração do fundo no vídeo do tráfego urbano, comunicações video e processamento da imagem, imagens eletrônicas de SPIE, San Jose, janeiro 2004, UCRL-JC-153846-ABS, UCRL-CONF-200706. Câmera movente: Uma aproximação geométrica Daniya Zamalieva. Alper Yilmaz Laboratório Fotogramétrico de Visão Computacional, Ohio State University, Columbus, OH 43210, Estados Unidos Recebido em 10 de julho de 2013. Aceito em 13 de junho de 2014. Disponível on-line 23 de junho de 2014. Destaques Apresentamos uma abordagem geométrica para subtração de fundo para câmeras que se movem livremente. Introduzimos um modelo de fundo 2.5D que descreve a cena de fundo. O algoritmo não depende de restrições em movimentos de câmera ou geometria de cena. Objetos em movimento são detectados em cenas complexas com movimento significativo da câmera. Resumo Subtração de fundo é uma técnica comumente utilizada na visão por computador para a detecção de objetos. Embora exista uma extensa literatura sobre subtração de fundo, a maioria dos métodos existentes supõe que a câmera está parada. Essa suposição limita sua aplicabilidade aos cenários de câmera em movimento. Neste artigo, abordamos o problema de subtração de fundo a partir de uma perspectiva geométrica para superar essa limitação. Em particular, introduzimos um modelo de fundo 2.5D que descreve a cena em termos de sua aparência e geometria. Ao contrário dos métodos anteriores, o algoritmo proposto não se baseia em certos movimentos da câmera ou suposições sobre a geometria da cena. A cena é representada como uma pilha de planos hipotéticos paralelos, cada um dos quais está associado a uma transformada homográfica. Um pixel que pertence a uma cena de fundo consistentemente mapeia entre os quadros consecutivos com base em sua transformação com respeito ao plano hipotético em que se encontra. Esta observação desambiguates movendo objetos do fundo. Experimentos mostram que o método proposto, quando comparado com a literatura recente, pode detectar com sucesso objetos em movimento em cenas complexas e com movimento significativo da câmera. Palavras-chave Subtracção de fundo Detecção de objectos Movimento da câmara Geometria da vista Fig. 1. A fig. 2. A fig. 3. A fig. 4. A fig. 5. A fig. 6. A fig. 7. A fig. 8. Este artigo foi recomendado para aceitação por Radu Horaud. Autor correspondente. Endereço: 2015 Neil Ave. DL395, Columbus, OH 43210, Estados Unidos. Copyright 2014 Elsevier Inc. Todos os direitos reservados. A Biblioteca de Subtração de Fundo Última atualização da página: 15/06/2016 Última versão da biblioteca: 1.9.2 (ver Notas de versão para mais informações) A ​​BGSLibrary foi desenvolvida por Andrews Sobral e fornece um - utilizar framework C baseado em OpenCV para realizar subtração de fundo (BGS) em vídeos. A BGSLibrary compila sob Linux, Mac OS X e Windows. Atualmente, a biblioteca oferece 37 algoritmos BGS. Uma grande quantidade de algoritmos foram fornecidos por vários autores. O código fonte está disponível sob licença GNU GPL v3, a biblioteca é livre e de código aberto para fins acadêmicos. Para usuários do Windows, é fornecido um projeto de demonstração para o Visual Studio 2010/2013. Uma versão executável de BGSLibrary está disponível para Windows 32 bits e 64 bits. Para usuários de Linux e Mac, um Makefile pode ser usado para compilar todos os arquivos. Nota: a BGSLibrary é baseada em OpenCV 2.X, se você quiser usar com o OpenCV 3.x, por favor, verifique nossa filial opencv3. O algoritmo PBAS foi removido da BGSLibrary porque é baseado no algoritmo patenteado ViBE. Alguns algoritmos da bgslibrary são gratuitos para fins comerciais e outros não. Primeiro você precisa entrar em contato com os autores do seu método de subtração de fundo desejado e verificar com eles a licença apropriada. Para obter mais informações, consulte: Posso usar um software GPLv3 como parte do meu aplicativo comercial. Se você usar esta biblioteca para suas publicações, por favor, cite como: Sobral, Andrews. BGSLibrary: Uma biblioteca de subtração de fundo OpenCV C. IX Workshop de Viso Computacional (WVC2013), Rio de Janeiro, Brasil, junho de 2013. PDF em português com resumo em inglês. Sobral, Andrews Bouwmans, Thierry. Biblioteca de BGS: uma estrutura da biblioteca para a avaliação dos algoritmos na segmentação do primeiro plano / do fundo. Capítulo no manual Background Modeling and Foreground Detection for Video Surveillance, CRC Press, Grupo Taylor and Francis, 2014. (PDF em inglês). Alguns algoritmos da BGSLibrary foram utilizados com sucesso nos seguintes trabalhos: (2014) Sobral, Andrews Vacavant, Antoine. Uma revisão abrangente dos algoritmos de subtração de fundo avaliados com vídeos sintéticos e reais. Visão Computacional e Imagem Compreensiva (CVIU), 2014. (PDF) (2013) Sobral, Andrews Oliveira, Luciano Schnitman, Leizer Souza, Felippe. (Best Paper Award) Estrada Congestionamento Traffic Classificação Usando Propriedades Holísticas. (Online) (PDF) Lista dos algoritmos disponíveis em BGSLibrary Algoritmo nome (clique para ver o código fonte) Confira a fonte do projeto mais recente (SPPRA2013), em Innsbruck, código. Leia as instruções no arquivo README. txt. Como usar a Biblioteca BGS em outro código C Faça o download do código-fonte mais recente do projeto, copie o diretório de pacotes para o seu projeto e crie a pasta config (bgslibrary usa-o para armazenar arquivos de configuração xml). Para usuários do Windows, um projeto de demonstração para o Visual Studio 2010 é fornecido. Como contribuir com o projeto BGSLibrary Todos são convidados a cooperar com o projeto BGSLibrary enviando qualquer implementação de algoritmos de subtração de fundo (BS). Por favor, consulte o seguinte tutorial: github / andrewssobral / bgslibrary / blob / master / docs / bgslibraryhowtocontribute. pdf Lista completa de colaboradores da BGSLibrary Gostaria de agradecer a todos aqueles que contribuíram de alguma forma para o sucesso desta biblioteca, especialmente, os seguintes Ahmed Elgammal (EUA), Antoine Vacavant (França), Benjamin Laugraud (Bélgica), Csaba Kertsz (Finlândia), Domenico Bloisi (Itália), Donovan Parks (Canadá), Eduardo Barreto Alexandre Fia EL BAF (França), Iigo Martínez, Jean-Marc Odobez (Suíça), Jean-Philippe Jodoin (Canadá), JIA Pei (China), Jian Yao (China), Hemang Shah, Holger Friedrich, Laurence Bender Lionel Robinault (França), Luca Iocchi (Itália), Luiz Vitor Martinez Cardoso (Brasil), Martin Hofmann, Philipp Tiefenbacher e Gerhard Rigoll (Alemanha), Rim Trabelsi (Tunísia), Simone Gasparini (França), Stefano Tommesani Thierry Bouwmans (França), Vikas Reddy (Austrália), Yani Ioannou (Canadá), Zhenjie Zhao (China) e Zoran Zivkovic (Países Baixos). Versão 1.9.2: Adicionados os algoritmos SuBSENSE e LOBSTER de Pierre-Luc et al. (2014). Versão 1.9.1: Adicionado algoritmo de subtração de fundo Sigma-Delta (SigmaDeltaBGS) de Manzanera e Richefeu (2004). Versão 1.9.0: Adicionada uma nova estrutura para subtração de fundo usando várias pistas (SJNMultiCueBGS) de SeungJong Noh e Moongu Jeon (2012). Adicionado suporte OpenCV 2.4.8 (todas as dependências são vinculadas estaticamente). Versão 1.8.0: Adicionada Subtração multimodal de fundo independente (IMBS) de Domenico Daniele Bloisi (2012). Adicionado Adaptive-Selective Background Model Learning. Versão 1.7.0: Detecção de primeiro plano baseada em textura com MRF de Csaba Kertsz (2011). Algumas melhorias e correções de bugs. Versão 1.6.0: Adicionado KDE de A. Elgammal, D. Harwood, L. S. Davis, Modelo Não-paramétrico para Subtração de Fundo ECCV00 (graças a Elgammal). Subtração baseada em textura baseada em Marko Heikkila e Matti Pietikainen Um método baseado em textura para modelar o fundo e detectar objetos em movimento PAMI06. Adicionado suporte OpenCV 2.4.5, algumas melhorias e correções de bugs. Versão 1.5.0: Adicionado VuMeter de Yann Goyat, Thierry Chateau, Laurent Malaterre e Laurent Trassoudaine (graças a Antoine Vacavant). Adicionado OpenCV C MFC App (com código-fonte) usando a Biblioteca BGS para usuários do Windows. Adicionado suporte OpenCV 2.4.4 (todas as dependências são vinculadas estaticamente - bye DLLs), algumas melhorias e correções de bugs. Versão 1.4.0: Adicionado PBAS (Segmentador adaptativo baseado em pixel) de M. Hofmann, P. Tiefenbacher e G. Rigoll. Adicionado T2F-GMM com MRF de Zhenjie Zhao, Thierry Bouwmans, Xubo Zhang e Yongchun Fang. (Graças a Zhenjie Zhao e Thierry Bouwmans) GMG adicionado de A. Godbehere, A. Matsukawa, K. Goldberg (opencv nativo). Adicionado suporte OpenCV 2.4.3 (todas as dependências são vinculadas estaticamente - bye DLLs), algumas melhorias e correções de bugs. Versão 1.3.0: Adicionado Fuzzy Sugeno e Choquet Integral com Adaptive-Selective Background Model Atualização (graças a Thierry Bouwmans) Foreground Mask Analysis atualização, agora com número de True Positivos (TP), True Negatives (TN), Falso Positivos (FP) , Falso Negativo (FN), Taxa de Detecção, Precisão, Medida, Precisão, Taxa de Falso Negativo (FNR), Taxa de Falso Positivo (FPR), True Positive Rate (TPR) e imagens ROC (graças a Thierry Bouwmans) Melhorias, correções de bugs. Versão 1.2.0: Adicionado BGS Multi-Camada (graças a Jian Yao e Jean-Marc Odobez) Adicionados Modelos de Subtração de Fundo de Laurence Bender (Gaussiano Simples, Gaussiano Fuzzy, Mistura de Gaussianos, SOM Adaptável e SOM Adaptável Fuzzy) (Similarity Measure) Versão 1.1.0: Adicionado Tipo 2-Fuzzy GMM UM e UV (graças a Thierry Bouwmans) Adicionado suporte para calcular tempo médio de algoritmos (ver param tictoc em ./config/FrameProcessor. xml) Versão 1.0.0: First Versão estável Adicionado 14 algoritmos de subtração de fundo (07 adaptado de Donovan Parks) Oi, isso vai ser um artigo muito simples, mas você vai encontrá-lo muito útil. Trata-se de extração de fundo de um vídeo. Suponha que você é dado vídeo de filmagens de tráfego, pode ser alguma coisa como esta. Tráfego na Índia. E você é solicitado a encontrar um plano de fundo aproximado. Ou qualquer coisa assim. A extração de backgrounds é importante no rastreamento de objetos. Se você já tem uma imagem do fundo nua, então é simples. Mas em muitos casos, você não vai ter uma imagem e assim, você terá que criar um. Isso é onde Running Average vem a calhar. (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 estivermos assistindo a um vídeo, continuamos alimentando cada quadro para esta função ea função continua encontrando as médias de todos os quadros alimentados conforme a relação abaixo: src não é nada além de nossa imagem de origem. Pode ser em escala de cinza ou imagem colorida e ponto flutuante de 8 ou 32 bits. Dst é a imagem de saída ou acumulador com os mesmos canais que a da imagem de origem, e é de 32 bits ou de 64 bits ponto flutuante. Além disso, devemos declará-lo primeiro a um valor que será tomado como valor inicial. Alpha é 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 mais alto, a imagem média tenta pegar mesmo mudanças muito rápidas e curtas nos dados. Se for valor mais baixo, a média torna-se lenta e não considerará 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, eu configurei 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 são definidos para o quadro inicial da captura. E no laço eles são atualizados. Você pode ver alguns resultados no link SOF que já forneci. (Eu forneço os resultados aqui, você pode verificar o código e valor alfa lá): Eu usei minha webcam e salva frame original e média em execução em um determinado instante. Este é um quadro de um vídeo de tráfego típico tomado por uma câmera estacionária. Como você pode ver, um carro está indo na estrada, ea pessoa está tentando atravessar a estrada em um determinado instante de tempo. Mas veja a média corrente naquele tempo. Não há nenhuma pessoa e carro nesta imagem (na verdade é lá, tem um olhar mais atento, então você vai vê-lo, ea pessoa é mais clara do que o carro, uma vez que o carro está se movendo muito rápido e através da imagem, não tem muito Efeito, em média, mas a pessoa está lá por um longo tempo, uma vez que ele é lento e em movimento em toda a estrada.) Agora precisamos ver o efeito de alfa sobre essas imagens.

No comments:

Post a Comment