Geometria Epipolar Correspondência a partir da calibração das câmeras ou Forma a partir de correspondências
Um caso simples (cameras paralelas)
Guido Gerig Disparidade: deslocamento relativo de um ponto disparidade
Profundidade versus disparidade zlzl xlxl olol xrxr oror zrzr p clcl crcr xlxl xrxr t z = z l = z r f = f l = f r
Geometria Epipolar: notação olol p oror plpl qlql x cl y cl z cl x cr y cr z cr qrqr prpr elel erer linha epipolar linha epipolar epipolo
Example: motion parallel with image plane
Example: converging cameras
Example: forward motion e e’
Geometria Epipolar: relações básicas p x cl y cl z cl x cr y cr z cr olol oror trtr
Produto misto (revistado) h
Matriz Essencial eye l P eye r plpl x cl y cl z cl x cr y cr z cr prpr elel erer
Rotação de a para b (left to right)
Vetor do eye de b em a xwxw eye l x cl y cl z cl x cr y cr z cr eye r ywyw zwzw
Matriz essencial (código C) Matrix epiEssencialMatrix( Matrix Ra, Vector eye_a, Matrix Rb, Vector eye_b) { Matrix Rba = algMult(Rb,algTransp(Ra)); Vector eye = algMult(Ra,algSub(eye_b,eye_a); Matrix S = algVectorProductMatrix(eye); Matrix E = algMult(Rba,S); return E; }
Linha epipolar trtr OlOl p OrOr plpl qlql x cl y cl z cl x cr y cr z cr qrqr prpr elel erer
Geometria Epipolar: Matriz Fundamental Matriz fundamental
Pode ser estimada diretamente se conhecermos pelo menos oito pares de pontos correspondentes
Transformações do OpenGL xexe yeye zeze center eye zozo yoyo xoxo up xnxn ynyn znzn xexe yeye zeze xnxn ynyn znzn
Transformação para o viewport xnxn ynyn znzn void glViewport(int x0, int y0, int w, int h ); z w [0.. z max ], z max = 2 n -1 geralmente xwxw ywyw w h 0 y0y0 x0x0
Revendo as transformações
Transformação de K em P
Revendo as transformações
Matriz Fundamental (código C) Matrix epiFundamentalMatrix( Matrix Ma, Matrix Ra, Vector eye_a, Matrix Mb, Matrix Rb, Vector eye_b) { Matrix E = epiEssencialMatrix(Ra,eye_a,Rb,eye_b); Matrix invMa = algInv(Ma); Matrix invMbTransp = algTransp(algInv(Mb)); Matrix tmp = algMult(invMbTransp,E); Matrix F = algMult(tmp,invMa); return F; }
Estimativa direta da Matriz Fundamental O algoritmo de 8 pontos
Estimating Fundamental Matrix Cada par de pontos correspondents produz uma equação linear. The 8-point algorithm
Estimating Fundamental Matrix The 8-point algorithm F é a coluna de V correspondente ao menor valor singular
Estimating Fundamental Matrix The 8-point algorithm deveria ter posto 2! Seja D' = D com o menor valor singular = 0
The Normalized 8-point Algorithm Richard Hartley
The Normalized 8-point Algorithm Richard Hartley centróide escale para a distância média ficar em