Sunteți pe pagina 1din 11

Resumo de Visão Computacional

Câmeras

Câmera de Orifício: Pelo fato do orifício ser muito pequeno, apenas um feixe de luz passa
por ele. Quanto mais distante o objeto do centro ótimo, menor é a
projeção. Em casos degenerados, uma linha no espaço vira um ponto
na imagem; e um plano no espaço vira uma linha na imagem.

Sistema de Referência: No sistema de referência da câmera, o eixo z está alinhado com o


eixo ótimo. x’ = λx, y’ = λy, f’ = λz
x' y ' f' x
    x'  f '
x y z z
y
y'  f '
z

Sistema de Referência da Câmera

Câmeras com Lente: Limitações: Quanto menor o furo, mais escura fica a imagem, porém
para capturar o brilho da imagem é necessário deixar mais tempo o
orifício aberto ( o que borra a imagem). Quanto menor o furo, maior
será o efeito de difração do raio que passa por ele (o que também borra
a imagem).
Além da abertura do orifício, o meio também varia a difração. Ou seja
dependendo do índice de refração, o raio de refração se aproximará ou
se afastará do raio incidente.
Lentes Delgadas: A fim de diminuir a refração foram criadas as lentes delgadas que são
lentes tão finas que a difração pode ser desprezada. Supondo o raio
incidente paralelo ao eixo ótimo, este do outro lado cruza o eixo ótico a
uma distância “f” (distância focal) do centro da lente. Os pontos de corte
no eixo, são chamados de pontos focais F e F’.

O raio incidente no centro O não é difratado.

De maneira similar as câmeras de orifício, porém neste caso com os


y' z' y
triângulos incidente e refratado iguais, temos que: y  z  y '  z ' z .

Modelos Geométricos da Câmera

Sistemas de Coordenadas composto por: origem, e 3 vetores unitários ortogonais entre si,
chamados de vetores de base (atendendo a regra da mão direita).
Coordenadas de um ponto são o comprimentos das projeções ortogonais do vetor OP
(O=origem e P=ponto): OP  xi  yj  zk .
Coordenadas de um vetor é dado pelo comprimento ortogonal das projeções dos vetores de
 x
 
base: P   y  .
z
 
Coordenadas de um plano: Sendo π um plano, A um ponto no plano, e n um vetor unitário
perpendicular a π, temos que, AP  n  0  OP  n  OA  n  0 . Sendo
a  x
   
b  y
OA  d , P  ( x, y , z ) T , n  ( a, b, c )    P  0 onde     e P    (coordenadas
T
c z
   
d  1
   
homogêneas).

Transformações: Projeções de A na base B

Translação Pura: B
P AP BO A
 i AiB j AiB k AiB 
 k A j B 
onde: A R  i A j B
B
Rotação Pura: B
P  AB R A
P j A jB
i A k B jAkB k A k B 
Projeções de B na base A

Translação + Rotação: B
P  AB R A
P  B O A em coordenadas homogêneas
 BP B  AP  BR B
OA 
 
 1  A 
 
 1  sendo
B
   A T 
1 
A
    O

Parâmetros Intrínsecos da Câmera


C
P  ( x, y , z ) T e (uˆ , vˆ,1) = coordenadas da projeção no plano normalizado

u  k f uˆ
Supondo 1/k e 1/l as dimensões horizontais e verticais dos pixels: v  l f vˆ
Supondo o centro de coordenadas da câmera não é o centro da retina e sim deslocado de
(u 0, v 0)

u   uˆ  u 0  k f uˆ  u 0
v   vˆ  v 0  l f vˆ  v 0
 u   0 u 0  uˆ 
    
P  v   0  v 0  vˆ 
1  0 0 1  1 
  

Supondo cisalhamento = θ

u   uˆ   cot  vˆ  u 0    cot  u0 
 
ˆ , sendo K   0
pK p  / sin  v0 
v    vˆ  v0
0
 sin    0 1 

Parâmetros da Matriz:

 α e β  dimensões do pixel combinada com a distância focal f


 θ  ângulo de cisalhamento
 u0,v0  deslocamento do eixo ótimo

Da matriz obtida da transformação de translação + rotação temos:

 WC R C
OW   WC R t 
C
P   T 

W
P   T  W
P , Matriz de Parâmetros Extrínsecos
O 1  O 1

Parâmetros da matriz:
 3 parâmetros de rotação independentes (ângulo de rotação de cada eixo)
 3 componentes da translação t

Combinando os resultados obtidos das matrizes de parâmetros intrínsecos e extrínsecos:

 CR t
1
p  K 0   T  W
P
1
K  C
R t  W
P
1
W
z O z

  K  WC R t   Matriz de projeção perspectiva!

1 W
Logo: p  M P , sendo z a distância do ponto ao eixo de coordenadas da câmera
z

Calibração de Câmeras

Problema: Sabendo as coordenadas de n pontos do mundo e sabendo as coordenadas destes


pontos na imagem, determinar a matriz M.

Considerando um sistema de p equações e q incógnitas:

 u11 u12 ... u1q   x1   y1 


u u 22 
... u 2 q   x2  y 
Ux  y , sendo U   x  e y 
21 2

 ... ... ... ...   ...   ... 


     
u p1 u p2 ... u pq   x p   y q 

2
Se p>q não tem solução  E  Ux  y

E
O resultado será o x que minimizar E  x  0 (j=1,2,...,q)  U   (U T U ) 1U T
j

(pseudo-inversa).

Sistema Homogêneo: Ux=0. Solução que minimiza o erro quadrático médio x=e1. Onde e1
é o autovetor associado ao menor autovalor de U T U . Porém, para garantir que a solução
2
encontrada não será x=0, impõe-se que x 2  1  E  Ux  x T U T Ux ( U T U é
simétrica).

n
Sistema Não Linear: f(x)=0. Se p>q não tem solução  E  f ( x)   fi ( x) . Solução
2 2

i 1
inicial deve ser próxima da correta.
Aplicando a expansão de 1ª ordem de Taylor:

fi ( x) fi ( x) 2
fi ( x  x)  fi ( x)  x1  ...  x q  0( x )  fi ( x)  fi ( x)  x
x1 x q
 f ( x  x)  f ( x)  J f ( x)x

Sendo Jf a matriz Jacobiana dada por:

 f 1 ( x) f 1 ( x) 
 f 1 ( x ) 
T  ... 
    x 1  x q 
Jf   ...    ... ... ....  .
 T   f p ( x) f p ( x) 
 f p ( x)   ... 
x1 x q 
 

Método de Newton para p=q

Dada uma solução inicial, f ( x  x)  0


J f ( x )x   f ( x) sistema linear
x é substituído por x  x até convergência.

Método de Newton para p>q

Procura um mínimo local do erro mínimo quadrático de E


T
F ( x)  1 / 2E ( x )  J f ( x) f ( x)  0

Se F(x) for quadrada o método de Newton anterior pode determinar o minimo do sistema
não linear F(x)=0.
Diferenciando E  J f ( x)x   F ( x) , onde Jacabiano de F é:
n
J f ( x)  J f ( x) J f ( x)   f i ( x)H fi ( x) 
T

i 1

  f i ( x)
2
 2 f i ( x) 
 ...
x1
2
x1x q 
 
H fi ( x)   ... ... ... 
  2
f ( x )  2
f ( x ) 
i ... i
 x1x q 2
x q 

Calibração Linear :
m P
u   m1  P  u  1
1   1  m3  P
p  MP   v    m2  P   (sendo m T as linhas da matriz  )
 1  z  m  P  v  m2  P
i
z
   3  m3  P

(m1  U  m3 ) P  0
( m 2  U  m3 ) P  0

 P1T 0 T  u1 P1T
 T T T
0 P1  v1 P1

Coletando n pontos: P   ... ... ... .
P T 0T  u P T
 n n n

 0 T T
P n  v n Pn
T

Solução: Fazendo P.m=0, determinar o autovetor e1, correspondente ao menor autovalor de


 m1 
 
P T P  m   m2  .
m 
 3

Determinando os parâmetros:

Supondo    A b  , ai as linhas da matriz A e ri as linhas da matriz de rotação R:


T T

 a1T    r1   cot  r2  u 0 r3 
T T T

 T  T
  A b  K  R t     a2    
T
r2  v0 r3
 T   sin  
a
 3    r3
T 

   / a3 ,   1
  2 
r3   a3 ,    a1  a3    r2   cot  r1   a1  a3 
2

Logo:   sin 
 
u 0   (a1  a3 )
2
 2  a  a   r1   2 a 2  a3 
 2 3
sin  sin 
v   2 (a  a )
0 2 3

T
Assumindo que os vetores ri são perpendiculares entre si, temos que:
 a1  a3    a 2  a3 
cos     2 sin  1
a1  a3  a 2  a3 r1  (a 2  a3 ) 
   2 a1  a3 sin 
e   a 2  a3 (a 2  a3 )
r  r  r
   2 a 2  a3 sin   2 3 1

Geometria de múltiplas vistas

No caso calibrado: Matriz Essencial


pˆ   t  R pˆ '  0
 
Opˆ  OO'  O' pˆ '  0 
pˆ  t x  R pˆ '  pˆ T  pˆ '  0

Sendo: t = vetor de translação de O para O’


R = matriz de rotação que relaciona as 2 câmeras
 0  tz t y 
 
tx   tz 0  tx 
 t y t x 0 

   t x  R = Matriz Essencial

No caso não calibrado:


p  K p ˆ
Coordenadas homogêneas:  p T F p'  0
p'  K ' pˆ'

Sendo F  K 1  k ' 1 = Matriz Fundamental

Propriedades:

 Linhas epipolares: F p’ associado ao ponto p’ na imagem π


F p associado ao ponto p na imagem π’

 F tem rank 2
 Epipolos e’(e) serão autovalores de F (FT) associados ao menor autovalor na câmera
da esquerda (direita)

 b a  a  b 
  e  ( ,  )
F   d c c  d  sendo: e'  ( ' ,  ' )
d  b ' c ' a '  c ' d '   a 'b '

Como determinar a matriz Fundamental?

 Algoritmo de 8 pontos

 F11 F12 F13  u ' 


 
p F p '  0  (u , v,1)  F21
T
F22 F23  v'   0
 F31 F32 F33  1 

Como as equações são homogêneas podemos impor que F33=1, e assim usar oito
pontos correspondentes:

 u1u1 ' u1v1 ' u1 v1u1 ' v1v1 ' v1 u1 ' v1 '   F11  1
u u ' u v ' u v2 u 2 ' v2 v2 ' v2 u2 '   
v 2 '  F1 2 1
 2 2 2 2 2
  
            1
   
 u 8 u 8 ' u 8 v8 ' u 8 v8 u 8 ' v8 v8 ' v8 u8 ' v8 '  F32  1

Para um resultado mais preciso, pode-se utilizar mais de 8 pares de pontos


correspondentes: aplicando assim a minimização por mínimos quadrados:
p

(p
T
i F pi ' ) 2 obs: a propriedade de rank 2 é ignorada
i 1

 Método linear de Luong


Calcula-se as coordenadas dos epipolos a partir de uma matriz F inicial (normalmente
utiliza-se o resultado do algoritmo de 8 pontos), e com o método dos mínimos quadrados
22
minimiza-se F e e F e' . Ou seja, encontrar o autovetor de F, associado ao menor
T

autovalor.
Substituindo na matriz de parâmetros de F e minimizando-a, obtem-se os valores de a,b,c,d.
Com estes valores obtem-se a nova matriz F.

 Método não linear de Luong

Sabe-se que a maior parte das retas epipolares obtidas pelos algoritmos não cruzam
exatamente o ponto. Ou seja, podemos considerar a existência de uma distância d entre o
ponto e a reta:

Logo, podemos minimizar esta distancia, e assim obter um resultado mais preciso:

 d 
p
min
2
( pi , F pi ' )  d 2 ( pi ' , F T pi ) , sendo d a distância euclidiana entre o ponto e a reta
i 1

Esta distância pode ser dada por:

p i F pi '
d 2 ( p i , F pi ' ) 
( F pi ' )12  ( F pi ' ) 22 p
 1 1 
   T 2 2 i
p Fpi '
i 1  ( Fp i ' )1  ( Fp i ' ) 2 ( F p i )1  ( F p i ) 2 
2 2 T
pi ' F T p i
d ( pi ' , F pi )  T 2
2 T

( F pi )1  ( F T pi ) 22

 Método de Hartley

Este algoritmo redistribui os pontos de forme uniforme:


~
pi   pi
~ levando assim o centro para a origem, e a distância entre os pontos = 2
pi '  ' pi '
 u~   1 0  u  u 
~   
u~i  (u i  u )a   v   a 0 1  v  v 
v~i  (vi  v )a 1
 
 0 0 1  1 
      

a  (u i  u )  (vi  v )
Para determinar a   2 , sendo N = número de pontos
N

p
~
~
 ( ~p F ~
T
Usando a minimização por erros quadrados para determinar F : i pi ' ) 2
i 1
~
Fazendo a decomposição de F , podemos garantir a propriedade de Det=0, fazendo com
que um dos autovalores seja igual a zero.
~
F  USV sendo S a matriz diagonal contendo os autovalores de F: S=diag(r,s,t).

Logo, F  U diag ( r , s,0) V

E assim a estimativa final de F será: F   T F '

S-ar putea să vă placă și