1 / 55

por Flávio Szenberg

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. pontos de objetos. pontos de referência. Juiz Virtual. Problema.

selia
Download Presentation

por Flávio Szenberg

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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

  2. pontos de objetos pontos de referência Juiz Virtual

  3. 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

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

  5. Imagem Filtragem para realce de linhas A1 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 Algoritmo básico

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

  7. Filtragem para realce de linhas Problemas com linhas duplas

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

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

  10. 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.

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

  12. 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 = 0ou 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

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

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

  15. 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.

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

  17. 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.

  18. f7 f5 f4 f6 f3 f2 f1 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. 

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

  20. 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

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

  22. Reconhecimento dos segmentos Discardando nós Visualização Modelo Árvore de Interpretação f4 F1 F5 F7 f2 F6 f7 f5 F2 F4 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 

  23. Reconhecimento dos segmentos Problema relacionado com a perspectiva

  24. Reconhecimento dos segmentos Problema relacionado com a perspectiva

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

  26. f7 f5 f4 f6 f3 f2 f1 Visualização Modelo F1 F5 F7 F6 F2 F4 F3 Reconhecimento dos segmentos Resultado final Modelo F1 F5 F7 F6 F2 F4 F3 f1 : F4f2 : F3f3 :  f4 :  f5 : F6f6 : F7f7 : F1 ou f1 : F2f2 : F3f3 :  f4 :  f5 : F6f6 : F5f7 : F1

  27. pontos de fuga pontos de interseção 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). H  Modelo reconstruído

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

  29. 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

  30. Imagem Filtragem para realce de linhas A1 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 Algoritmo estendido

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

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

  33. Reajuste das linhas Resultado do reajuste das linhas:

  34. 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.

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

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

  37. 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 Reajuste dos segmentos a a b b Faixa de tolerância com estimativa

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

  39. 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.

  40. Seqüência artificial Seqüência real Resultados

  41. Resultados

  42. Resultados Algoritmo inteiro Diferença Via acompanhamento

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

  44. Resultados webcam Sem oclusão Com oclusão

  45. Resultados Outro modelo

  46. Falta de nitidez Sombra parcial Resultados Onde o algoritmo falha

  47. 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)

  48. Resultados (precisão) Comparação entre as coordenadas corretas e reconstruídas para a primeira cena.

  49. Resultados (precisão) Comparação entre as coordenadas corretas e reconstruídas para uma outra cena.

  50. 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.

More Related