Mover O Modelo De Fundo Médio


Introdução A identificação de objetos em movimento 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 PDF. Tem uma característica atraente: requer relativamente poucos dados armazenados. Para atualizar nossa estimativa em qualquer ponto, só precisamos de uma estimativa prévia da taxa de variância e do valor de observação mais recente. Um objetivo secundário da EWMA é acompanhar mudanças na volatilidade. Para valores pequenos, observações recentes afetam prontamente a estimativa. Para valores próximos de um, a estimativa muda lentamente com base em mudanças recentes nos retornos da variável subjacente. O banco de dados RiskMetrics (produzido pela JP Morgan e disponibilizado ao público) utiliza a EWMA para atualizar a volatilidade diária. IMPORTANTE: A fórmula EWMA não assume um nível de variância médio de longo prazo. Assim, o conceito de volatilidade significa reversão não é capturado pelo EWMA. Os modelos ARCH / GARCH são mais adequados para esta finalidade. Lambda Um objetivo secundário do EWMA é acompanhar mudanças na volatilidade, portanto, para valores pequenos, observação recente afeta prontamente a estimativa e para valores próximos a um, a estimativa muda lentamente para mudanças recentes nos retornos da variável subjacente. O banco de dados RiskMetrics (produzido pela JP Morgan) e disponibilizado ao público em 1994, utiliza o modelo EWMA para atualizar a estimativa diária de volatilidade. A empresa descobriu que em toda uma gama de variáveis ​​de mercado, este valor fornece a previsão da variância que mais se aproxima da taxa de variação realizada. As taxas de variação realizadas num determinado dia foram calculadas como uma média igualmente ponderada dos 25 dias subsequentes. Da mesma forma, para calcular o valor ótimo de lambda para o nosso conjunto de dados, precisamos calcular a volatilidade realizada em cada ponto. Existem vários métodos, então escolha um. Em seguida, calcule a soma de erros quadrados (SSE) entre EWMA estimativa e volatilidade realizada. Finalmente, minimizar o SSE variando o valor lambda. Parece simples É. O maior desafio é concordar com um algoritmo para calcular a volatilidade realizada. Por exemplo, o pessoal da RiskMetrics escolheu os 25 dias subseqüentes para calcular a taxa de variação realizada. No seu caso, você pode escolher um algoritmo que utiliza os preços Volume diário, HI / LO e / ou OPEN-CLOSE. FAQ Q 1: Podemos usar EWMA para estimar (ou prever) a volatilidade mais do que um passo à frente A EWMA não representa uma volatilidade média de longo prazo e, portanto, para qualquer horizonte de previsão além de um passo, a EWMA retorna um Valor constante: Oceano em Movimento: Fundo de Transporte de Ekman Uma vez que o vento ajusta as águas de superfície em movimento como uma corrente, o efeito de Coriolis, o transporte de Ekman ea configuração da bacia do oceano modificam a velocidade ea direção da corrente. Nesta seção, consideramos as forças envolvidas no acoplamento do vento e das águas superficiais oceânicas. Correntes movidas pelo vento e transporte de Ekman O vento sopra através do oceano e move suas águas em conseqüência de seu arrasto de fricção na superfície. Ondulações ou ondas causam a rugosidade superficial necessária para o vento acoplar com águas superficiais. Um vento soprando constantemente sobre águas profundas durante 12 horas a uma velocidade média de cerca de 100 cm por segundo (2,2 mi por hora) produziria uma corrente de 2 cm por segundo (cerca de 2 da velocidade do vento). Se a Terra não girasse, o acoplamento friccional entre o ar em movimento e a superfície do oceano empurrava uma fina camada de água na mesma direção que o vento. Esta camada superficial, por sua vez, arrastava a camada abaixo dela, colocando-a em movimento. Esta interação se propagaria para baixo através de sucessivas camadas oceânicas, como cartas em um baralho, cada uma se movendo para frente em uma velocidade mais lenta do que a camada acima. No entanto, como a Terra gira, a camada superficial de água superficial posta em movimento pelo vento é desviada para a direita da direção do vento no Hemisfério Norte e à esquerda da direção do vento no Hemisfério Sul. Esta deflexão é conhecida como o efeito Coriolis. Exceto no equador, onde o efeito de Coriolis é zero, cada camada de água colocada em movimento pela camada acima muda de direção por causa da rotação da Terra. A espiral de Ekman descreve como o vento horizontal ajusta as águas superficiais em movimento. Conforme representado por vetores horizontais, a velocidade ea direção do movimento da água mudam com o aumento da profundidade. Usando vetores para traçar a direção e velocidade das camadas de água em profundidades sucessivas, podemos mostrar um padrão de corrente tridimensional simplificado causado por um vento horizontal estável (Figura A). (Um vetor é uma seta representando uma quantidade física de modo que o comprimento é diretamente proporcional à magnitude ea orientação representa a direção.) Este modelo é conhecido como a espiral de Ekman, nomeada para o físico sueco V Walfrid Ekman (1874-1954) que a descreveu pela primeira vez Matematicamente em 1905. Ekman baseou seu modelo em observações feitas pelo explorador norueguês Fridtjof Nansen (1861-1930). Nansen estava interessado nas correntes oceânicas nos mares polares. Em 1893, ele permitiu que seu navio de madeira de 39 m, o Fram, congelasse no gelo ártico a cerca de 1100 km ao sul do Pólo Norte. Seu objetivo era drift com o gelo e cruzar o pólo norte que determina assim como as correntes de oceano afetam o movimento do gelo de bloco. O Fram permaneceu trancado em blocos de gelo por 35 meses, mas só veio dentro de 394 km (244 mi) do Pólo Norte. Enquanto o Fram vagava lentamente com o gelo, Nansen percebeu que a direção do gelo e do movimento do navio estava consistentemente 20 a 40 graus à direita da direção predominante do vento. Visto de cima no Hemisfério Norte, a camada superficial de água se move a 45 graus para a direita do vento. O transporte líquido de água através de toda a coluna movida pelo vento (transporte Ekman) é de 90 graus à direita do vento. A espiral de Ekman indica que cada camada em movimento é desviada para a direita do movimento das camadas sobrepostas, portanto, a direção do movimento da água muda com o aumento da profundidade. Em um caso ideal, um vento constante soprando através de um oceano de profundidade e extensão ilimitadas faz com que as águas superficiais se movam em um ângulo de 45 graus à direita do vento no Hemisfério Norte (45 graus à esquerda no Hemisfério Sul). Cada camada sucessiva move-se mais para a direita e a uma velocidade mais lenta. A uma profundidade de cerca de 100 a 150 m (330 a 500 pés), a espiral Ekman passou por menos de meia volta. No entanto, a água se move tão lentamente (cerca de 4 da corrente de superfície) em uma direção oposta à do vento que essa profundidade é considerada como o limite inferior da influência dos ventos sobre o movimento do oceano. No hemisfério norte, a espiral de Ekman prevê o movimento líquido da água através de uma profundidade de cerca de 100 a 150 m (330 a 500 pés) a 90 graus da direção do vento (Figura B). Ou seja, se um acrescenta todos os vetores em (Figura A), o fluxo resultante é de 90 graus para a direita da direção do vento. No hemisfério sul, o movimento líquido da água é 90 graus à esquerda da direção do vento. Este transporte líquido de água devido ao acoplamento entre o vento e as águas superficiais é conhecido como transporte Ekman. Como o oceano real não corresponde às condições idealizadas da espiral de Ekman, os movimentos de água induzidos pelo vento diferem muitas vezes sensivelmente das previsões teóricas. Em águas rasas, por exemplo, a profundidade da água é insuficiente para que a espiral completa se desenvolva de modo que o ângulo entre a direção horizontal do vento e os movimentos da superfície de água possa ser tão pequeno quanto 15 graus. À medida que as águas se aprofundam, o ângulo aumenta e aproxima-se de 45 graus. A picnocline estável inibe a transferência de energia cinética para águas mais profundas, ajudando a conter correntes de vento para a camada mista que é, a picnoclina atua como um limite permeável para o transporte Ekman e correntes de superfície. O transporte de Ekman empilha água superficial em algumas áreas do oceano e remove a água de outras áreas, produzindo variações na altura da superfície do mar, fazendo com que incline gradualmente. Uma conseqüência de uma superfície oceânica inclinada é a geração de diferenças horizontais (gradientes) na pressão da água. Estes gradientes de pressão, por sua vez, dão origem a um fluxo geostrófico. Adaptado de DataStreme Ocean e utilizado com permissão da American Meteorological Society. Pressão - Média Móvel Integrada Autoregressiva (ARIMA) Este serviço implementa a Média Móvel Integrada Autoregressiva (ARIMA) para produzir previsões com base nos dados históricos fornecidos pelo usuário. Será que a demanda por um produto específico aumentar este ano Posso prever minhas vendas de produtos para a época do Natal, para que eu possa efetivamente planejar meu inventário Modelos de previsão são capazes de abordar essas questões. Dados os dados anteriores, esses modelos examinam tendências ocultas e sazonalidade para prever as tendências futuras. Experimente o Azure Machine Learning gratuitamente. Nenhum cartão de crédito ou assinatura Azure é necessário. Comece agora gt Este serviço da Web pode ser consumido por usuários potencialmente através de um aplicativo para dispositivos móveis, por meio de um site, ou mesmo em um computador local, por exemplo. Mas a finalidade do serviço da correia fotorreceptora é servir também como um exemplo de como o aprendizado da máquina de Azure pode ser usado criar serviços da correia fotorreceptora sobre o código de R. Com apenas algumas linhas de código R e cliques de um botão no Azure Machine Learning Studio, uma experiência pode ser criada com o código R e publicada como um serviço web. O serviço web pode então ser publicado para o Azure Marketplace e consumido por usuários e dispositivos em todo o mundo sem a instalação da infra-estrutura pelo autor do serviço web. Consumo de serviço web Este serviço aceita 4 argumentos e calcula as previsões ARIMA. Os argumentos de entrada são: Freqüência - Indica a freqüência dos dados brutos (diária / semanal / mensal / trimestral / anual). Horizon - Previsão de tempo futuro. Data - Adicione os novos dados da série de tempo para o tempo. Valor: adicione os novos valores de dados da série temporal. A saída do serviço é os valores de previsão calculados. Entrada de amostra poderia ser: Freqüência - 12 Horizon - 12 Data - 15/01/20122/15/20123/15/20124/15/20125/15/20126/15/20127/15/20128/15/20129/15/201210 / 15/2012/2011/2011/2011/2011/2011/2011/2011/2011/2011/2011/2011/2011/2011 / 15/201311/15/201312/15/2013 1/15/20142/15/20143/15/20144/15/20145/15/20146/15/20147/15/20148/15/20149/15/2014 Valor - 3.4793.683.8323.9413.7973.5863.5083.7313.9153.8443.6343.5493.5573.7853.7823.6013.5443.5563.653.7093.6823.511 3.4293.513.5233.5253.6263.6953.7113.7113.6933.5713.509 Este serviço, como hospedado no Mercado Azure, é um serviço OData estes podem Ser chamado através de métodos POST ou GET. Existem várias maneiras de consumir o serviço de forma automatizada (um exemplo de aplicativo está aqui). Iniciando o código C para o consumo de serviços da web: Criação de serviço web Este serviço da web foi criado usando o Azure Machine Learning. Para uma avaliação gratuita, bem como vídeos introdutórios sobre a criação de experiências e publicação de serviços da web. Por favor veja azure / ml. Abaixo está uma captura de tela da experiência que criou o serviço da web eo código de exemplo para cada um dos módulos dentro da experiência. A partir do Azure Machine Learning, foi criada uma nova experiência em branco. Os dados de entrada de amostra foram carregados com um esquema de dados predefinido. Ligado ao esquema de dados é um módulo Execute R Script, que gera o modelo de previsão ARIMA usando auto. arima e funções de previsão a partir de R. Fluxo de experiência: Módulo 1: Módulo 2: Limitações Este é um exemplo muito simples para previsão ARIMA. Como pode ser visto a partir do código de exemplo acima, nenhuma captura de erro é implementada, e o serviço assume que todas as variáveis ​​são contínuas / valores positivos ea freqüência deve ser um inteiro maior que 1. O comprimento dos vetores de data e valor deve ser o mesmo. A variável data deve aderir ao formato mm / dd / aaaa. FAQ Para perguntas freqüentes sobre o consumo do serviço web ou publicação no mercado, veja aqui. Vamos dizer que eu tenho uma amostra de dados (aqui é apenas 10 números, no real eu tenho cerca de 10000 resultados de medição). Então, eu quero verificar se os dados estão estacionários ou não usando Simple Average Method. Por exemplo, meu conjunto de dados de tamanho N 10: I calculou médias (janela 3): com esta fórmula: e colocá-los na tabela SAM acima. Então, calculou as diferenças entre minhas médias, SAMi1 SAMi. E eu tenho uma tabela de diferenças: 1 1 1 1 1 1 1 da qual vejo que a diferença entre médias (médias) é constante (é sempre 1). Posso assumir que com este simples teste meus dados X é parado perguntou 16 de dezembro às 18:01 Se suas primeiras diferenças são constantes, então seus dados não são estacionários, como a média está aumentando ao longo do tempo. Suas primeiras diferenças são, de fato, estacionárias com média 1 de variância 0. Com dados de séries temporais, uma das quesões mais críticas é como tornar os dados estacionários (pode-se argumentar que este é o ponto inteiro da análise de séries temporais). Na prática, isso inclui identificar tendência, sazonalidade / ciclicidade, deriva estocástica e autocorrelação. Isso exigirá mais do que a média móvel pode fornecer por conta própria. No entanto, você provavelmente pode usar a média móvel lucrativamente se você quiser obter uma confirmação áspera que não há tendência ou periodicidade. Neste caso, você está usando a média móvel como um dispositivo de suavização. Você pode simplesmente regredir seus dados vs tempo e ver se a melhor linha de ajuste tem uma grande inclinação, se não, então você não tem uma forte tendência linear. Além disso, se você não notar aumentos em spead sobre a linha ou qualquer periodcity (valores de ocilação ou aglomerados apertados de dados seguidos por nuvens dispersas de dados), então você confirmou que a tendência de primeira / segunda ordem e periodicidade não estão presentes em uma grande grau. Você vai precisar de ferramentas mais sofisticadas para obter mais quantitativa. Trata-se essencialmente de uma análise de séries temporais, que é um campo completo de estatística. Uma grande parte desse campo é dedicada a estabelecer e testar a estacionaridade, portanto, não posso fazer justiça neste curto espaço suficiente para dizer que a questão do yoru tem sido fortemente estudos por pesquisadores em análise de séries temporais. Veja isto para algum fundo básico. Respondeu Dec 16 13 at 18:41 Obrigado pela resposta. Eu acho que entendi errado Eu não vou dar uma olhada nas diferenças, mas apenas nos meios calculados eles não são constantes, como você observou, theryre aumentando assim meus dados não está parado, certo Não tem nada a ver com as diferenças ndash nullpointer Dez 16 13 em 18:45 nullpointer correto ndash user31668 Dec 16 13 em 18:46 Apenas outra pergunta se você não se importa. Assim, para que meus dados sejam estacionários, minha tabela SAM deve ser assim: SAM (ou algo parecido) - o ponto é, os valores da média móvel devem ser constantes, não suas diferenças (E eu deveria verificar o mesmo para a variância Ou Apenas os meios são bastante) ndash nullpointer Dec 16 13 em 18:48

Comments

Popular Posts