ESTEREOSCOPIA GEOMETRIA EPIPOLAR Notação pl = [xl, yl, zl] pr = [xr, yr, zr] Pl = [Xl, Yl, Zl] Pr = [Xr, Yr, Zr] zl = fl (comp. focal) A Geometria Epipolar zr = fr Básico Dados T = (Or - Ol) R = matriz de rotação A relação entre Pl e Pr é Pr = R. [Pl - T] pl fl .Pl Zl 1 pr fr .Pr Zr 2 ________________________________________________________________ Definição: Geometria Epipolar Dado um par de câmeras estéreo, qualquer ponto P no espaço 3-D define um plano p, que passa por P e pelos centros de projeção das duas câmeras. O plano p é chamado plano epipolar, e as linhas onde p intercepta os planos das imagens de linhas epipolares conjugadas. A imagem em uma câmera do centro de projeção da outra é chamado epipolo. Propriedades dos Epipolos Com exceção do epipolo, apenas uma linha epipolar passa através de um ponto. Todas as linhas epipolares de uma câmera passam através do epipolo da câmera. Definição: Restrição Epipolar Pontos de correspondência devem estar em linhas epipolares conjugadas. A Matriz Essencial , E A condição de coplanaridade dos vetores Pl, T e Pl – T faz: (Pr é representado em Or) De 1 Pode-se escrever Pl TT .(T Pl ) 0 3 R 4 T T .Pr .(T Pl ) 0 T Pl S.Pl 5 onde 0 S Tz Ty e então, de 4 Tz 0 Tx Ty Tx 0 ==> Pr T . E . Pl 0 6 E = R.S 6.a onde E = Matriz Essencial E => estabelece uma relação entre a restrição epipolar e os parâmetros extrínsicos do sistema estéreo Usando as eqs. 2, e dividindo 6 por Zr.Zl p r T . E . pl 0 7 A projeção de pl no plano direito como uma linha projetiva é ur = E.pl 8 Matriz Fundamental, F Ml e Mr são as matrizes dos parâmetros intrínsecos. M int f 0 Ox sx f 0 Oy sy 0 0 1 9 então pl M l 1.pl p r M r 1.pr onde p = coordenadas de pixeis p = coords. no sistema da câmera Substituindo 10 em 7 10 pr T .F.pl 0 11 F (M r 1 ) T .E.M l 1 12 onde F = matriz fundamental F => definida em coords. de pixeis. A projeção de pl no plano direito como uma linha projetiva é u r F.pl 13 Se a matriz F puder ser estimada de um conjunto de pontos em coordenadas de pixeis, pode-se reconstruir a geometria epipolar sem informações sobre os parâmetros intrínsecos ou extrínsecos. Definição: Matrizes Essenciais e Fundamentais Para cada par de pontos correspondentes pl e pr, em coordenadas da câmera, a matriz essencial satisfaz a equação: p r T .E.p l 0 Para cada par de pontos correspondentes pl e pr em coordenadas de pixeis, a matriz fundamental satisfaz a equação p r T .F.pl 0 Propriedades E e F reconstroem completamente a geometria epipolar Se Ml e Mr são as matrizes dos pares intrínsecos, então F (M r 1 ) T .E.M l 1 A Matriz Essencial: 1- codifica informação com os parâmetros extrínsecos apenas (eq. 6a) (E=R.S) 2- tem posto 2, pois S tem posto 2 e R tem posto completo 3- seus dois valores singulares não-nulos são iguais A Matriz Fundamental 1 – codifica informação em ambos os parâmetros intrínsecos e extrínsecos. 2- tem posto 2, uma vez que Ml e Mr têm posto completo e E tem posto 2. Cálculo de E e de F: Algoritmo dos 8 pontos Algoritmo dos 8 pontos A entrada é formada por n pontos de correspondência, com n 8. 1- Construa o sistema pr T .F.pl 0 a partir de n correspondências. Faça A ser uma matriz n x 9 dos coeficientes do sistema e A=U.D.VT a SVD de A. A nx9 Uma linha de A corresponde a um ponto de correspondência. A soma dos elementos na linha corresponde à equação homogênea acima. 2- Os elementos de F são os componentes da coluna de V correspondente ao menor valor singular de A 3- Para forçar a singularidade (det A tem de ser zero para que o sistema homogêneo tenha solução não-trivial), calcule a SVD de F: F U.D.VT 4- Faça o menor valor singular na diagonal de D igual a zero; faça D` ser a matriz correta. 5- A estimativa correta de F, F´, é dada por F´ U.D´.VT Saída: Estimativa da Matriz Fundamental F´. Localização dos Epipolos de E e F Como el está em todas as linhas epipolares da imagem esquerda, pode-se escrever (de 11) ( pr T .F.pl 0 ) pr T .F.el 0 para todo pr . Como F não é identicamente nula, então F.el 0 Como F tem posto 2, O epipolo, el , é o espaço nulo de F; ( F .el el , em que = 0) Da mesma forma => O epipolo, er , é o espaço nulo de FT; 14 Algoritmo EPIPOLES_LOCATION Entrada ==> F 1. Ache a SVD de F, tal que F = U.D.VT e FT = V.D.UT 2. O epipolo el é a coluna de V correspondente ao valor singular nulo. 3. O epipolo er é a coluna de U correspondente ao valor singular nulo. Saída: epipolos el e er . Retificação Dado um par de imagens estéreo, a retificação determina a transformação de cada imagem tal que pares de linhas epipolares conjugadas tornam-se colineares e paralelos a um dos eixos da imagem, normalmente o eixo horizontal. (a) Um par estéreo. (b) O par retificado. As imagens da esquerda definem as linhas epipolares correspondentes aos pontos marcados, nas imagens da direita. A retificação transforma um problema de correspondência 2-D em um problema de procura 1-D em uma linha identificada trivialmente. o ponto de correspondência (il, jl) da imagem esquerda procura na linha j = jl da imagem da direita Hipótese e Problema Dado um par de imagens estéreo, os parâmetros intrínsecos de cada câmera e os parâmetros extrínsecos do sistema, R e T, calcule a transformação da imagem que faz linhas epipolares conjugadas serem colineares e paralelas ao eixo horizontal da imagem. Retificação de um par estéreo. As linhas epipolares associadas a um ponto P (3D) nas câmeras originais (linhas escuras) se tornam colineares nas câmeras retificadas (cinza claro). Note que as câmeras originais podem estar em qualquer posição, e e os eixos ópticos podem não se interceptar. DESCRIÇÃO DO ALGORITMO PARA RETIFICAÇÃO DE DUAS CÂMERAS Assume-se que: 1- A origem do sistema de referência da imagem é o ponto principal (centro de projeção ou ponto focal). 2- O comprimento de foco é igual a f. O algoritmo consiste de quatro passos: Gire a câmera da esquerda tal que o epipolo vá ao infinito ao longo do eixo horizontal. Aplique a mesma rotação à câmera da direita para recuperar a geometria original. Gire a câmera da direita de R (matriz de rotação entre as 2 câmeras na posição original, previamente conhecida). O método começa a partir da definição de três vetores mutuamente ortogonais e1, e2, e3. O vetor e1 é dado pelo epipolo. O centro da imagem é a origem , e e1 coincide com a direção de translação, ou T T e1 15 e2 deve ser ortogonal a e1. Fazendo o produto vetorial de e1 com o vetor direção do eixo ótico, e2 1 Tx Ty 2 2 . Ty , Tx ,0T 16 e3 é determinado como e3 e1 e2 17 A matriz ortogonal é definida como R Re ct e1T T e2 T e3 18 e gira a câmera esquerda em torno do centro de projeção de tal forma que as linhas epipolares se tornam paralelas ao eixo horizontal. Algoritmo RECTIFICATION Entrada: Parâmetros intrínsecos e extrínsecos de um sistema estéreo, e um conjunto de pontos em cada câmera a serem retificados (pode ser a imagem inteira). As hipóteses 1 e 2 são válidas. 1- Construa a matriz RRect (eq. 18) 2- Faça Rl = RRect e Rr = R.RRect 3- Para cada ponto da câmera esquerda, pl = [x, y, f]T calcule Rl.pl = [x´,y´,z´] e as coordenadas do ponto correspondente retificado, pl´, como p l´ f .x´, y´, z´ z´ 4- Repita o passo prévio para a câmera da direita usando Rr, e pr. 5- Saída: Par de transformações a serem aplicadas às duas câmeras para retificar os dois conjuntos de pontos da entrada, bem como o conjunto de pontos retificados.