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 Departamento de Informática, PUC-Rio 19 de dezembro de 2001 19 de dezembro de 2001
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. - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
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-RioDepartamento de Informática, PUC-Rio
19 de dezembro de 200119 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
F1
F6 F2
F3
F4
F5 F7
F8 F9
F1
F6
F2
F3
F4
F5
F8
F7
F9
Os modelos utilizados na tese:
Modelo de um campo de futebol
Modelo sem simetria
Algoritmo básicoImagem
Filtragem para realce de linhasA1
Extração de segmentos de retas longosA2
Reconhecimento dos segmentosA3
Cálculo da transformação projetiva planarA4
Calibração da câmeraA5
Filtragem para realce de linhas O filtro Laplaciano da Gaussiana (LoG) é aplicado à
imagem, baseado na luminância.
010
141
010
121
242
121
16
1
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:
1. Eliminação de pontos que não estão sobre nenhum segmento de reta.
2. 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
n
ii
n
iii
n
iii
n
ii
vvvvuu
vvuuuu
n
1
2
1
11
2
1
1
2
vu ,
Eliminando pontos que não estão sobre um segmento de reta
Podemos atribuir pesos i aos pontos (resultado do LoG).
n
ii
n
iii
n
iii
n
ii
vvvvuu
vvuuuu
n
1
2
1
11
2
1
n
iii
n
iiii
n
iiii
n
iii
n
ii vvvvuu
vvuuuu
1
2
1
11
2
1
1
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 retaCada 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.
n
iii
n
iiii
n
ii
n
iii
n
iii
n
iii
v
vu
u
uu
b
a
1
1
1
11
11
2
v
u
Extração de segmentos de retaOs 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.
a
b
c
d
e
f
f1
f2f3
f4
f5
f6
f7
Extração de segmentos de retaSobrepondo 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
F1 F7 F6F5F4F3F2
f1:
f2:
F1
F6F2
F3
F4
F5 F7
Modelo
F1 F7 F6F5F4F3F2 F1 F7 F6F5F4F3F2 F1 F7 F6F5F4F3F2F1 F7 F6F5F4F3F2 F1 F7 F6F5F4F3F2 F1 F7 F6F5F4F3F2 F1 F7 F6F5F4F3F2 F1 F7 F6F5F4F3F2
Árvore de Interpretaçãof1
f2f3
f4
f5
f6
f7
Visualização
Método de Reconhecimento baseado em Modelo
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.F1 F7 F6F5F4F3F2
F1 F7 F6F5F4F3F2
f1:
f2:
Árvore de Interpretação
F1 F7 F6F5F4F3F2 F1 F7 F6F5F4F3F2 F1 F7 F6F5F4F3F2F1 F7 F6F5F4F3F2 F1 F7 F6F5F4F3F2 F1 F7 F6F5F4F3F2 F1 F7 F6F5F4F3F2 F1 F7 F6F5F4F3F2
f3:
Reconhecimento dos segmentosDiscardando nós
F1
F6F2
F3
F4
F5 F7
Modelo
f1
f2
f3
f4
f5
Visualização
f6
f7
Reconhecimento dos segmentosProblema relacionado com a perspectiva
2
1222
122
1222
12
12122
1212
)()()()(
))(())((
vvuuvvuu
vvvvuuuu
ttttssss
ttssttss
8.01
21
Reconhecimento dos segmentosProblema relacionado com a perspectiva
f1
f2
f3
Reconhecimento dos segmentosEscolhendo a melhor solução
F1
F6F2
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
f2f3
f4
f5
f6
f7
Visualização
f1 : F4 f2 : f3 : f4 : F3 f5 : F6 f6 : F7 f7 : F1
f1 : F2 f2 : F3 f3 : f4 : f5 : F6 f6 : F5 f7 : F1
f1 : F4 f2 : F3 f3 : f4 : f5 : F6 f6 : F7 f7 : F1
f1
f2f3
f4
f5
f6
f7
Visualização
Reconhecimento dos segmentos
F1
F6F2
F3
F4
F5 F7
ModeloResultado final
F7
F1
F6F2
F3
F4
F5
Modelo
ou
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).
Modelo reconstruído
H
pontos de interseção
pontos de fuga
Calibração da câmeraModelo de Câmera - “pinhole”
13
0302
0301
z
y
x
tr
tvftrvfr
tuftrufr
s
vs
us
z
zy
zx
p~ f
Z
Y
X
P
v~
u~ C
Plano da imagem projetada
u
v
x y z
o
r1
r3
r2
O imagem
p
P = (x, y, z)p = (u, v)
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 estendidoImagem
Filtragem para realce de linhasA1
Extração de segmentos de retas longosA2
Reconhecimento dos segmentosA3
Cálculo da transformação projetiva planar preliminarB1
Reconstrução da visualização do modeloB2
Reajuste das LinhasB3
Cálculo da transformação projetiva planarA4
Calibração da câmeraA5
Reajuste das linhas
tolerância para reajuste das linhas reconstruídas
São usadas faixas de tolerância para descartar pontos distantes.
Reajuste das linhaslinhareconstruída
faixa de tolerância
pontos da imagem
nova linha localizada
A nova linha localizada é obtida pelo método dos mínimos quadrados
Reajuste das linhasResultado do reajuste das linhas:
Depois do reajuste das linhas do modelo na visualização, uma nova transformação é encontrada e uma nova reconstrução pode ser obtida.
Cálculo da transformação projetiva planar
Calibração da câmera A câmera é calibrada usando o método de Tsai, com erro
de sobreposição aceitável.
• Para a primeira imagem, aplicamos o algoritmo proposto por inteiro.
Trabalhando com uma seqüência
• A transformação projetiva planar final da imagem anterior é usada como a transformação preliminar para a imagem corrente.
• Para otimizar o processo, da segunda imagem em diante, tiramos proveito do resultado da imagem anterior.
Próxima imagem da seqüência
A1 Filtragem para realce de linhas
B3 Reajuste das Linhas
A4Cálculo da transformação projetiva planar
A5 Calibração da câmera
Reajuste dos segmentos
Faixa de tolerância sem estimativa
Faixa de tolerância com estimativa
pontos da cena n
novo ajuste
posição do segmento na cena n-2
posição do segmento na cena n-1
estimativa de posição do segmento para cena n
Estimativa de posição do segmento na cena n dada suas posições nas cena n-1 e n-2.
Algoritmo proposto
Filtragem para realce de linhas
Primeira imagem da seqüência
Próxima imagem da seqüência
Extração de segmentos de retas longos
Reconhecimento dos segmentos
Cálculo da transformação projetiva planar preliminar
Erro Médio 0,452Comparação entre as coordenadas corretas e reconstruídas para uma outra cena.
Resultados (precisão)
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.
2
1222
122
1222
12
12122
1212
)()()()(
))(())((
vvuuvvuu
vvvvuuuu
ttttssss
ttssttss
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.