Acompanhamento de Cenas com Calibração Automática de Câmeras

Slides:



Advertisements
Apresentações semelhantes
Planejamento Viviane Torres da Silva
Advertisements

N Rainhas Descrição do Problema Satisfação de Restrições (CSP)
Sistema de coordenadas utilizando a regra da mão direita
Controle de Processos por Computador
FOLHA DE CÁLCULO 1.
1 Folha de Cálculo DI/FCT/UNL 1º Semestre 2004/2005.
24 Novembro 2006Folha de Cálculo 11 Jorge Cruz DI/FCT/UNL Introdução aos Computadores e à Programação 1º Semestre 2006/2007.
30 Novembro 2005Folha da Cálculo1 Jorge Cruz DI/FCT/UNL Introdução aos Computadores e à Programação 1º Semestre 2005/2006.
Introdução aos Computadores e à Programação
Unidade 6 – Estudo das Cônicas
PERCEPTRON (CONTINUAÇÃO)
Pós-graduação em Ciência da Computação – UFU
15 Introdução à Manipulação de Planilhas Eletrônicas Planilhas Eletrônicas são tabelas usadas para comunicar informações de forma clara, precisa e sucinta.
Geoestatística Aplicada à Agricultura de Precisão II
Métodos Numéricos e Estatísticos
Estrutura e movimento a partir de imagens
SOBREPOSIÇÃO MODAL Objetivos:
Extração de Características
Pablo C.Elias e Thiago Bastos, Dezembro de 2006 Reconstrução de Ruínas em Tempo Real.
Primeiro Trabalho de Realidade Aumentada Marcos Machado 03/11/2004.
Visão Estereoscópica Alberto B. Raposo Flávio Szenberg Marcelo Gattass
Dissertação de Mestrado Michel Alain Quintana Truyenque
Dissertação de Mestrado
Fabio Notare Martins Pontifícia Universidade Católica do Rio Grande do Sul Programa de Pós-Graduação em Ciências da Computação.
IG-UNICAMP A RETA Fonte : PRINCIPE JR, A.R., Noções de Geometria Descritiva V. 1, 36. ed., Sao Paulo : Nobel, 1983.
SIMPLEX ANÁLISE COMPLETA ANDERSON BESTETTI 1, EDUARDO RIGHES 1, EVERTON FONTOURA 2, GUILHERME LAZZARI 3, RODRIGO SCHRAMM 3, ROGERIO MARTINS 4 1 {anderson.bestetti,
Lógica de Programação Módulo II
UNIVERSIDADE FEDERAL DE UBERLÂNDIA FACULDADE DE MATEMÁTICA
Na barra de mensagens, clique em Habilitar Edição,
Autores: Jean Suellen Silva de Almeida Victor Hugo Cunha de Melo
Análise do Lugar das Raízes
Aula – Introdução ao Excel. Nesta aula serão apresentados os conceitos básicos sobre o Microsoft Excel.
Integrais Duplas sobre Regiões Retangulares
“LOCALIZAÇÃO DE ROBÔS E MAPEAMENTO DO AMBIENTE USANDO KINECT®”
ESTÁTICA Forças e Equilibrio Ano Lectivo
Interpolação de imagem
Reconstrução de formas Solução geométrica baseada na escavação do espaço e em superfícies reflectoras Nuno Martins Coimbra Novembro de 2001.
Cálculo Numérico / Métodos Numéricos
A Hybrid Method for Robust Car Plate Character Recognition.
Ray Tracing Felipe Baldino Moreira Fundamentos de Computação Gráfica
BR.OFFICE CALC E MICROSOFT OFFICE EXCEL 2003
Teste da derivada 1ª, Teste da derivada 2ª e construção de gráficos
Carlos Oliveira Sumário Descrição e Objetivo O Método de Tsai Implementação Resultados obtidos Melhoramentos.
PROGRAMAÇÃO MATEMÁTICA MÉTODO SIMPLEX
Computação Gráfica – Visibilidade
Tópicos Avançados em Inteligência Artificial
Análise por Variáveis de Estado (4a parte). Equação Característica, Autovalor e Auto Vetor Autovalores:definição - são as raízes da equação característica.
11/09/07 Visão Computacional e Realidade Aumentada César Palomo – inf. puc-rio. br 1 Visão Computacional e Realidade Aumentada Prof Marcelo Gattass.
Computação Gráfica – Visibilidade Profa. Mercedes Gonzales Márquez.
Aula 8. Classificação Não Supervisonada por Regiões
Busca Combinatorial e Métodos de Heurística
Trabalho Prático II Detecção e reconexão de Contornos MC920 - Introdução ao processamento de imagens Bruno Malveira - RA Carolina Michelassi - RA
Equações algébricas e transcendentais
Marcelo B. Nogueira Bruno Xavier da Costa Adelardo A. D. Medeiros
2.3 Experimentos Fatoriais 22 Efeitos das Interações
Transformada de Hough Processamento global para a detecção de linhas retas numa imagem Nenhum conhecimento é necessário a respeito da posição das linhas.
Sistemas de Rastreamento de Baixo Custo para Desktops Tecgraf (Grupo de Tecnologia em Computação Gráfica) Depto. de Informática, PUC-Rio Alberto Raposo,
Múltipla calibração de câmeras baseada em um padrão invariante (Multiple camera calibration based on invariant pattern) Manuel Eduardo Loaiza Fernandez.
Fases do Processo Detecção de Bordas Vetorização Reconhe- cimento.
Computação Gráfica – Visibilidade Profa. Mercedes Gonzales Márquez.
Prof. Edison Oliveira de Jesus
Plano de Aulas  Estruturas de aceleração  Descarte contra volume de visão  Descarte por oclusão  Grafo de cena: OpenSceneGraph  Traçado de raios em.
1 Detecção da Bola em Vídeos de Futebol Apresentação Final Computação Gráfica /1 Luiz Felipe S. L. Guimarães.
Reconstrução de cenas a partir de imagens através de Escultura do Espaço por Refinamento Adaptativo por Anselmo A. Montenegro Tese de doutorado Orientadores:
Computação Gráfica – Visibilidade Profa. Mercedes Gonzales Márquez.
Prof. Edison Oliveira de Jesus
Proposta de trabalho: Calibração de câmera
Proposta de trabalho: Rastreamento da movimentação de uma câmera.
MATEMÁTICA E SUAS TECNOLOGIAS
O Método Simplex Prof. Gustavo Peixoto Silva Departamento de Computação Univ. Federal de Ouro Preto.
Transcrição da apresentação:

Acompanhamento de Cenas com Calibração Automática de Câmeras por Flávio Szenberg Orientadores: Marcelo Gattass Paulo Cezar Pinto Carvalho Departamento de Informática, PUC-Rio 19 de dezembro de 2001

Juiz Virtual pontos de referência pontos de objetos

Problema “Dada uma seqüência de imagens que apresentam a visualização, total ou parcial, de um determinado modelo, acompanhar este modelo, calibrando as câmeras para cada imagem de forma automática, a fim de sobrepor objetos virtuais.” Requisitos: Menor intervenção possível do usuário Processamento em tempo real

Modelos Os modelos utilizados na tese: Modelo de um campo de futebol Modelo sem simetria

Algoritmo básico Imagem Filtragem para realce de linhas Extração de segmentos de retas longos A2 Reconhecimento dos segmentos A3 Cálculo da transformação projetiva planar A4 Calibração da câmera A5

Filtragem para realce de linhas O filtro Laplaciano da Gaussiana (LoG) é aplicado à imagem, baseado na luminância. filtro gaussiano filtro laplaciano

Filtragem para realce de linhas  Problemas com linhas duplas

Filtragem para realce de linhas A transformação negativa é aplicada entre o cálculo da luminância e o filtro LoG.

Filtragem para realce de linhas Resultado de uma segmentação (threshold) feita na imagem filtrada. (em negativo para visualizar melhor)

Extração de segmentos de retas longos O objetivo é localizar segmentos de retas longos candidatos a serem linhas da imagem do modelo. O procedimento é dividido em dois passos: Eliminação de pontos que não estão sobre nenhum segmento de reta. Determinação de segmentos de retas.

Eliminando pontos que não estão sobre um segmento de reta A imagem é dividida, por uma grade regular, em células retangulares.

Eliminando pontos que não estão sobre um segmento de reta Para cada célula, os autovalores 1 e 2 (1  2) da matriz de covariância, dada abaixo, são calculados. Se 2 = 0 ou 1/ 2 > M (dado) então o autovetor de 1 é a direção predominante senão a célula não tem uma direção predominante

Eliminando pontos que não estão sobre um segmento de reta Podemos atribuir pesos i aos pontos (resultado do LoG).

Eliminando pontos que não estão sobre um segmento de reta Células com pontos formando segmentos de retas:

Determinando segmentos de reta As células são percorridas de modo que as linhas são processadas de baixo para cima e as células em cada coluna são processadas da esquerda para direita. Um valor é dado para cada célula: Se não existe uma direção predominate na célula, o valor é zero. Caso contrário, verifica-se os três vizinhos abaixo e o vizinho à esquerda da célula corrente. Se algum deles tem uma direção predominante similar ao da célula corrente, quando unidos, então a célula corrente recebe o valor da célula que tem a direção mais similar; senão, um novo valor é usado para a célula corrente.

Determinando segmentos de reta São formados grupos com células de mesmo valor, representados na figura abaixo por cores distintas. 

Extração de segmentos de reta Cada grupo fornece um segmento de reta. A reta de equação v=au+b é encontrada por método de mínimos quadrados: O segmento é obtido limitando a reta pela caixa envoltória dos pontos usados.

Extração de segmentos de reta Os segmentos de reta que estão sobre a mesma reta suporte são unidos, formando segmentos longos, usando mínimos quadrados. No final do processo, tem-se um conjunto de segmentos de reta. f1 f2 f3 f4 f5 f6 f7 

Extração de segmentos de reta Sobrepondo as linhas extraída na imagem, temos o seguinte resultado:

Reconhecimento dos segmentos A partir do conjunto de segmentos, as linhas do modelo são detectadas e o modelo reconhecido [Grimson90]. Método baseado na Transformada de Hough. Método de reconhecimento baseado em modelo. Conjunto de restrições

Reconhecimento dos segmentos Método de Reconhecimento baseado em Modelo f1 f2 f3 f4 f5 f6 f7 Visualização F1 F6 F2 F3 F4 F5 F7 Modelo Árvore de Interpretação F1 F2 F3 F4 F5 F6 F7  f1: F1 F7  F6 F5 F4 F3 F2 F1 F7  F6 F5 F4 F3 F2 F1 F7  F6 F5 F4 F3 F2 F1 F7  F6 F5 F4 F3 F2 F1 F7  F6 F5 F4 F3 F2 F1 F7  F6 F5 F4 F3 F2 F1 F7  F6 F5 F4 F3 F2 f2: F1 F2 F3 F4 F5 F6 F7 

Reconhecimento dos segmentos Discardando nós Visualização Modelo Árvore de Interpretação F1 f4 F5 F7 f2 F2 F6 F4 f5 f7 f1 f3 F3 f6 F1 F2 F3 F4 F5 F6 F7  f1: f2: F1 F2 F3 F4 F5 F6 F7  F1 F2 F3 F4 F5 F6 F7  F1 F2 F3 F4 F5 F6 F7  F1 F2 F3 F4 F5 F6 F7  F1 F2 F3 F4 F5 F6 F7  F1 F2 F3 F4 F5 F6 F7  F1 F2 F3 F4 F5 F6 F7  F1 F2 F3 F4 F5 F6 F7  O nó {f1: F1, f2:F6 , f3:F3} é discardado por que viola a restrição: A linha representante de F6 deve estar entres as linhas que representam F1 e F3, na visualização. f3: F1 F2 F3 F4 F5 F6 F7 

Reconhecimento dos segmentos Problema relacionado com a perspectiva

Reconhecimento dos segmentos Problema relacionado com a perspectiva

Reconhecimento dos segmentos Escolhendo a melhor solução f1 f2 f3 f4 f5 f6 f7 Visualização F1 F6 F2 F3 F4 F5 F7 Modelo Em geral, existem diversas interpretações possíveis; Escolhemos a interpretação onde a soma dos comprimentos dos segmentos representativos é máxima. f1 : F4 f2 : F3 f3 :  f4 :  f5 : F6 f6 : F7 f7 : F1 Vencedor f1 : F4 f2 :  f3 :  f4 : F3 f5 : F6 f6 : F7 f7 : F1

Reconhecimento dos segmentos f1 f2 f3 f4 f5 f6 f7 Visualização Resultado final Modelo F1 F5 F7 F2 F6 F4 F3 f1 : F4 f2 : F3 f3 :  f4 :  f5 : F6 f6 : F7 f7 : F1 ou F7 F1 F6 F2 F3 F4 F5 Modelo f1 : F2 f2 : F3 f3 :  f4 :  f5 : F6 f6 : F5 f7 : F1

Cálculo da transformação projetiva planar Uma transformação projetiva planar H (homografia) correspondente às linhas reconhecidas é encontrada (usando pontos de interseção e pontos de fuga como pontos de referência). pontos de interseção pontos de fuga H  Modelo reconstruído

Modelo de Câmera - “pinhole” Calibração da câmera Modelo de Câmera - “pinhole” p = (u, v) P = (x, y, z)

 Erros de sobreposição Calibração da câmera A câmera é calibrada usando método de Tsai para a reconstrução de elementos que não estão no plano do modelo.  Erros de sobreposição

Algoritmo estendido Imagem Filtragem para realce de linhas Extração de segmentos de retas longos A2 Reconhecimento dos segmentos A3 Cálculo da transformação projetiva planar preliminar B1 Reconstrução da visualização do modelo B2 Reajuste das Linhas B3 Cálculo da transformação projetiva planar A4 Calibração da câmera A5

tolerância para reajuste das linhas reconstruídas São usadas faixas de tolerância para descartar pontos distantes. tolerância para reajuste das linhas reconstruídas

Reajuste das linhas linha reconstruída pontos da imagem faixa de tolerância nova linha localizada A nova linha localizada é obtida pelo método dos mínimos quadrados

Reajuste das linhas Resultado do reajuste das linhas:

Cálculo da transformação projetiva planar Depois do reajuste das linhas do modelo na visualização, uma nova transformação é encontrada e uma nova reconstrução pode ser obtida.

Calibração da câmera A câmera é calibrada usando o método de Tsai, com erro de sobreposição aceitável.

Trabalhando com uma seqüência Para a primeira imagem, aplicamos o algoritmo proposto por inteiro. Próxima imagem da seqüência A5 Calibração da câmera A1 Filtragem para realce de linhas Para otimizar o processo, da segunda imagem em diante, tiramos proveito do resultado da imagem anterior. B3 Reajuste das Linhas A4 Cálculo da transformação projetiva planar A transformação projetiva planar final da imagem anterior é usada como a transformação preliminar para a imagem corrente.

Reajuste dos segmentos Estimativa de posição do segmento na cena n dada suas posições nas cena n-1 e n-2. Faixa de tolerância sem estimativa a a b b Faixa de tolerância com estimativa

Algoritmo proposto Filtragem para realce de linhas Primeira imagem da seqüência Filtragem para realce de linhas Reajuste dos segmentos Extração de segmentos de retas longos Cálculo da transformação projetiva planar Reconhecimento dos segmentos Calibração da câmera Próxima imagem da seqüência Cálculo da transformação projetiva planar preliminar Filtragem para realce de linhas Reconstrução da visualização do modelo

Heurística para determinar o limiar de corte usado na segmentação Procura um patamar com valor máximo no gráfico que informa o número de segmentos extraídos para cada valor do limiar de corte.

Resultados Seqüência real Seqüência artificial

Resultados

Resultados Algoritmo inteiro Diferença Via acompanhamento

Resultados Protótipo para testar o algoritmo usando uma câmera 8mm Resultado do algoritmo usando a câmera posicionada conforme a imagem acima:

Resultados webcam Sem oclusão Com oclusão

Resultados Outro modelo

Resultados  Onde o algoritmo falha Falta de nitidez Sombra parcial

Resultados A seqüência real de teste tem 67 imagens Computador: Pentium III 600MHz Tempo de processamento: 1140 milisegundos Computador: Pentium 4 1.7GHz Tempo de processamento: 500 milisegundos (<< 2234 milisegundos necessários para processamento em tempo real – 30 fps)

Coordenadas Reconstruídas Resultados (precisão) Pontos do Campo Coordenadas Corretas Coordenadas Reconstruídas Erro x y z u v 105,0 68,00 0,00 81,707 216,584 81,731 215,972 0,612 88,5 13,84 230,117 78,133 228,747 77,525 1,499 54,16 1,236 183,463 0,424 183,197 0,854 99,5 24,84 259,039 134,206 258,566 133,815 0,614 43,16 146,690 174,826 146,067 174,484 0,711 30,34 269,817 155,102 269,629 154,697 0,446 2,44 270,921 181,066 270,215 180,863 0,735 37,66 224,101 194,645 223,291 194,407 0,845 223,405 170,271 223,082 169,876 0,510 Erro Médio 0,696 Comparação entre as coordenadas corretas e reconstruídas para a primeira cena.

Coordenadas Reconstruídas Resultados (precisão) Pontos do Campo Coordenadas Corretas Coordenadas Reconstruídas Erro x y z u v 105,0 68,00 0,00 97,167 205,940 96,791 205,585 0,517 88,5 13,84 243,883 66,434 243,549 66,022 0,530 54,16 16,101 173,174 15,655 172,623 0,709 99,5 24,84 273,344 124,029 273,125 123,715 0,382 43,16 160,672 164,798 160,366 164,421 0,486 30,34 284,160 145,173 283,992 144,914 0,309 2,44 285,241 171,290 284,886 171,090 0,407 37,66 238,127 184,768 237,744 184,538 0,447 237,462 160,349 237,252 160,063 0,355 Erro Médio 0,452 Comparação entre as coordenadas corretas e reconstruídas para uma outra cena.

Conclusões A estratégia de dividir a imagem em células resolve bem o problema da extração de segmentos de retas quando a imagem contém regiões com características diversas. Uma boa maneira para identificar linhas do modelo na imagem é a utilização do método baseado na árvore de interpretações. Um conjunto de apenas 5 restrições é suficiente. O reajuste das linhas utilizando uma faixa de tolerância e operando com a imagem filtrada e segmentada apresentou bons resultados para a nova localização dos segmentos na seqüência de quadros. Uma estimativa de localização de segmentos baseada em quadros passados é importante, podendo conduzir a resultados melhores.

Conclusões A heurística apresentada para determinar um valor de limiar utilizado no método de segmentação apresentou na prática resultados satisfatórios. O critério que suaviza a restrição de paralelismo mostrou-se eficiente quando existe uma distorção perspectiva na imagem.

Conclusões O algoritmo proposto gerou bons resultados mesmo quando aplicado às imagens com ruídos capturadas de uma transmissão de TV. O algoritmo pode ser usado em computadores pessoais (nenhum hardware especializado é necessário). O tempo de processamento é bem abaixo do necessário para processamento em tempo real. O tempo extra pode ser usado, por exemplo, para desenhar anúncios ou propagandas.

Trabalhos futuros Pesquisar outros filtros para realce de linhas e métodos de segmentação. Obter métodos para determinar o valor do limiar usado na segmentação. Utilizar de forma mais eficiente os valores dos pontos da imagem resultante do filtro LoG, através de funções de transferência. Critério de paralelismo: determinar valores para  e . Desenvolver outras técnicas de coletas de pontos para o reajuste das linhas.

Trabalhos futuros Investigar métodos para suavizar a seqüência de câmeras através da aplicação do filtro de Kalman. Desenvolver técnicas para acompanhar outros objetos que se movem sobre o modelo, tais como bola e jogadores sobre as linhas do gramado. Desenhar objetos no campo atrás dos jogadores, dando a impressão de que os jogadores estão andando sobre eles.

Trabalhos futuros Chroma Key