Componentes de un sistema de visión Capítulo 1. Formación de...
Transcript of Componentes de un sistema de visión Capítulo 1. Formación de...
Capítulo 1. Formación de imagen
Luis Baumela. Vision por Computador.– p.2/19
Componentes de un sistema de visión
Luis Baumela. Vision por Computador.– p.3/19
Formación de imagen
Índice:
Modelo de lente fina
Modelo de proyección perspectiva
Modelo proyectivo de cámara
Modelo afín de cámara
Calibración
Bibliografía
Luis Baumela. Vision por Computador.– p.4/19
Modelo de lente fina
Hipótesis: La óptica de la lente puede modelarse comouna lente fina.
Luis Baumela. Vision por Computador.– p.5/19
Modelo de lente fina
Hipótesis: La óptica de la lente puede modelarse comouna lente fina.
Principio de funcionamiento: Refracción de la luz.
Lente
C
Imagen
Objeto
to
do
ti
di
f ′
f
FF ′
O
I
Ec fundamental:
1
f=
1
di
+1
do
Luis Baumela. Vision por Computador.– p.5/19
Modelo de lente fina
Hipótesis: La óptica de la lente puede modelarse comouna lente fina.
Principio de funcionamiento: Refracción de la luz.
Lente
C
Imagen
FF ′
O
I
Ec fundamental:
1
f=
1
di
+1
do
Luis Baumela. Vision por Computador.– p.5/19
Modelo de lente fina
Hipótesis: La óptica de la lente puede modelarse comouna lente fina.
Principio de funcionamiento: Refracción de la luz.
Lente
C
Imagen
FF ′
O
I
Ec fundamental:
1
f=
1
di
+1
do
f = di, si do ≈ ∞.
Luis Baumela. Vision por Computador.– p.5/19
Modelo de proyección perspectiva
Cámara oscura.
imagenvirtual
objetoplanoimagen
Luis Baumela. Vision por Computador.– p.6/19
Modelo de proyección perspectiva
Abstracción geométrica.La proyección de un punto viene dada por el corte del plano imagencon la visual que une el punto y el centro óptico de la cámara.
M(X,Y,Z)
C
m(u,v)
Plano imagen
Luis Baumela. Vision por Computador.– p.6/19
Modelo de proyección perspectiva
Abstracción geométrica.La proyección de un punto viene dada por el corte del plano imagencon la visual que une el punto y el centro óptico de la cámara.
M(X,Y,Z)
C
m(u,v)
Plano imagen
Z
v
Y
u
X
SREscena
SRImagen
Luis Baumela. Vision por Computador.– p.6/19
Modelo de proyección perspectiva
Modelo de proyección.Relaciona las posiciones de puntos en la escena con su proyecciónsobre el plano imagen.
M(X,Y,Z)
C
Plano imagen
Zu
m(u,v)
f
Z
X
X
u u = fX
Z
v = fY
Z
Luis Baumela. Vision por Computador.– p.6/19
Modelo proyectivo de cámara
1. El modelo es lineal empleando coordenadashomogéneas.
cartesianas homogéneas(X, Y, Z) ⇔ (λX, λY, λZ, λ)
(A
D, B
D, C
D) ⇔ (A , B, C, D)
Luis Baumela. Vision por Computador.– p.7/19
Modelo proyectivo de cámara
1. El modelo es lineal empleando coordenadashomogéneas.
cartesianas homogéneas(X, Y, Z) ⇔ (λX, λY, λZ, λ)
(A
D, B
D, C
D) ⇔ (A, B, C, D)
2. El modelo de proyección resultante, en forma matricial:
u = fX
Z
v = fY
Z
≡
λu
λv
λ
=
f 0 0 0
0 f 0 0
0 0 1 0
X
Y
Z
1
Luis Baumela. Vision por Computador.– p.7/19
Modelo proyectivo de cámara
3. Modelo intrínseco.Digitalización ≡ cambio de unidades + traslación.
v
(i ,j )0
CCD
0
uk
vk
Imagen
u
j i
PuntoPrincipal
1
1
Luis Baumela. Vision por Computador.– p.8/19
Modelo proyectivo de cámara
3. Modelo intrínseco.Digitalización ≡ cambio de unidades + traslación.
v
(i ,j )0
CCD
0
uk
vk
Imagen
u
j i
PuntoPrincipal
1
1
j = kuu + j0
i = kvv + i0
Luis Baumela. Vision por Computador.– p.8/19
Modelo proyectivo de cámara
3. Modelo intrínseco.Digitalización ≡ cambio de unidades + traslación.
v
(i ,j )0
CCD
0
uk
vk
Imagen
u
j i
PuntoPrincipal
1
1
j = kuu + j0
i = kvv + i0
λj
λi
λ
=
ku 0 i0
0 kv j0
0 0 1
u
v
1
donde
ku: Densidad píxeles horizontal
kv: Densidad píxeles vertical
Luis Baumela. Vision por Computador.– p.8/19
Modelo proyectivo de cámara
3. Modelo intrínseco.Digitalización ≡ cambio de unidades + traslación.
v
(i ,j )0
CCD
0
uk
vk
Imagen
u
j i
PuntoPrincipal
1
1
j = kuu + j0
i = kvv + i0
λj
λi
λ
=
fku s i0 0
0 fkv j0 0
0 0 1 0
X
Y
Z
1
Luis Baumela. Vision por Computador.– p.8/19
Modelo proyectivo de cámara
3. Modelo intrínseco.Digitalización ≡ cambio de unidades + traslación.
v
(i ,j )0
CCD
0
uk
vk
Imagen
u
j i
PuntoPrincipal
1
1
j = kuu + j0
i = kvv + i0
λj
λi
λ
=
fku s i0 0
0 fkv j0 0
0 0 1 0
X
Y
Z
1
Parámetros intrínsecos:
Punto principal: (i0, j0)
Focal horizontal: αu = fku
Focal vertical: αv = fkv
Sesgo: s
Luis Baumela. Vision por Computador.– p.8/19
Modelo proyectivo de cámara
4. Modelo extrínseco.Movemos el SR de la escena fuera de la cámara
M(X’,Y’,Z’)
C
m
Y
Z
Xt
RZ’
X’
Y’ Luis Baumela. Vision por Computador.– p.9/19
Modelo proyectivo de cámara
4. Modelo extrínseco.Movemos el SR de la escena fuera de la cámara
M(X’,Y’,Z’)
C
m
Y
Z
Xt
RZ’
X’
Y’
λX
λY
λZ
λ
=
(
R3×3 t3×1
01×3 1
)
X ′
Y ′
Z ′
1
donde
R: Rotación entre SR escena y
cámara.
t : Posición cámara en la escena.Luis Baumela. Vision por Computador.– p.9/19
Modelo proyectivo de cámara
5. Modelo de proyección perspectiva
M(X’,Y’,Z’)
C
Y
Z
X
m(i,j)
ji
X’
Y’
Z’
λj
λi
λ
= K (R3×3 | t3×1)
︸ ︷︷ ︸
P3×4
X′
Y′
Z′
1
11 parámetros del modelo:
P3×4 =
p1 1 p1 2 · · · p1 4
......
. . ....
p31 p32 · · · p34
Luis Baumela. Vision por Computador.– p.10/19
Modelo proyectivo de cámara
5. Modelo de proyección perspectiva
M(X’,Y’,Z’)
C
Y
Z
X
m(i,j)
ji
(i0,j0)
f
kv
ku
X’
Y’
Z’
λj
λi
λ
= K (R3×3 | t3×1)
X ′
Y ′
Z ′
1
5 parámetros intrínsecos:
K =
αu s j0
0 αv i0
0 0 1
Luis Baumela. Vision por Computador.– p.10/19
Modelo proyectivo de cámara
5. Modelo de proyección perspectiva
M(X’,Y’,Z’)
C
Y
Z
X
m(i,j)
ji
X’
Y’
Z’tR
αβ
γ
λj
λi
λ
= K (R3×3 | t3×1)
X ′
Y ′
Z ′
1
6 parámetros extrínsecos:
R3×3(α, β, γ), t3×1 =
tX
tY
tZ
Luis Baumela. Vision por Computador.– p.10/19
Modelo proyectivo de cámara
6. Caracterización del modelo de proyección perspectiva.
Sea P = (A | b) una matriz de dimensión 3 × 4 y sean (ai)>
(i = 1 . . . 3) las filas de la matriz A.
P es una matriz de proyección perspectiva ⇐⇒ d e t(A) 6= 0.
P es una matriz de proyección perspectiva sin sesgo (s = 0)⇐⇒ d e t(A) 6= 0 y (a1 × a
3) · (a2 × a3) = 0.
P es una matriz de proyección perspectiva sin sesgo y con
píxeles cuadrados(
αu
αv
= 1)
⇐⇒ d e t(A) 6= 0 y
(a1 × a3) · (a2 × a
3) = 0
(a1 × a3) · (a1 × a
3) = (a2 × a3) · (a2 × a
3)
Luis Baumela. Vision por Computador.– p.11/19
Modelo proyectivo de cámara
7. Propiedades.
M(X’,Y’,Z’)
C
m
Xt
RZ’
X’
Y’
Y
Z
Sea la matriz de proyección [A | b]
Centro Optico. c = −A−1
b.
Ya que:
P también puede expresarse como
P = K [R | − Rc]. Luego, A = KR
y b = −Ac, con lo que c = −A−1
b.
Luis Baumela. Vision por Computador.– p.12/19
Modelo proyectivo de cámara
7. Propiedades.
M(X’,Y’,Z’)
C
m
Xc
RZ’
X’
Y’
Y
Z
Sea la matriz de proyección [A | b]
Centro Optico. c = −A−1
b.
Ya que:
P también puede expresarse como
P = K [R | − Rc]. Luego, A = KR
y b = −Ac, con lo que c = −A−1
b.
Luis Baumela. Vision por Computador.– p.12/19
Modelo proyectivo de cámara
7. Propiedades.
M(X’,Y’,Z’)
C
m
Xc
RZ’
X’
Y’
Y
Z
Sea la matriz de proyección [A | b]
Centro Optico. c = −A−1b.
Filas de P Planos que pasan por c y:
(p1)>. contiene la línea j = 0.
Luis Baumela. Vision por Computador.– p.12/19
Modelo proyectivo de cámara
7. Propiedades.
M(X’,Y’,Z’)
C
m
Xc
RZ’
X’
Y’
Y
Z
Sea la matriz de proyección [A | b]
Centro Optico. c = −A−1b.
Filas de P Planos que pasan por c y:
(p1)>. contiene la línea j = 0.
(p2)>. contiene la línea i = 0.
Luis Baumela. Vision por Computador.– p.12/19
Modelo proyectivo de cámara
7. Propiedades.
M(X’,Y’,Z’)
C
m
Xc
RZ’
X’
Y’
Y
Z
Sea la matriz de proyección [A | b]
Centro Optico. c = −A−1b.
Filas de P Planos que pasan por c y:
(p1)>. contiene la línea j = 0.
(p2)>. contiene la línea i = 0.
(p3)>. es paralelo al plano imagen.
Luis Baumela. Vision por Computador.– p.12/19
Modelo proyectivo de cámara
7. Propiedades.
M(X’,Y’,Z’)
C
m
Xc
RZ’
X’
Y’
Y
Z
(i0,j0)
Sea la matriz de proyección [A | b]
Centro Optico. c = −A−1b.
Filas de P Planos que pasan por c y:
(p1)>. contiene la línea j = 0.
(p2)>. contiene la línea i = 0.
(p3)>. es paralelo al plano imagen.
Punto principal. Aa3. Ya que el eje axial
es λa3 − A−1b, y su imagen
[A | b]
[
λa3 − A−1b
1
]
= Aa3.
Luis Baumela. Vision por Computador.– p.12/19
Modelo afín de cámara
Si la matriz de proyección PA es de la forma
PA =
a11 a12 a13 b1
a21 a22 a23 b2
0 0 0 1
=
αu s 0
0 αv 0
0 0 1
r1> t1
r2> t2
0 1
entonces decimos que PA representa una cámara afín.
Tiene 8 parámetros:
.
Luis Baumela. Vision por Computador.– p.13/19
Modelo afín de cámara
Si la matriz de proyección PA es de la forma
PA =
a11 a12 a13 b1
a21 a22 a23 b2
0 0 0 1
=
αu s 0
0 αv 0
0 0 1
r1> t1
r2> t2
0 1
entonces decimos que PA representa una cámara afín.
Tiene 8 parámetros:
3 parámetros intrínsecos . No está definido el punto principal.
K2×2 =
αu s
0 αv
Luis Baumela. Vision por Computador.– p.13/19
Modelo afín de cámara
Si la matriz de proyección PA es de la forma
PA =
a11 a12 a13 b1
a21 a22 a23 b2
0 0 0 1
=
αu s 0
0 αv 0
0 0 1
r1> t1
r2> t2
0 1
entonces decimos que PA representa una cámara afín.
Tiene 8 parámetros:
3 parámetros intrínsecos .
5 parámetros extrínsecos.
R2×3 =
[
r1>
r2>
]
, t =
[
t1
t2
]
.
Luis Baumela. Vision por Computador.– p.13/19
Modelo afín de cámara
Propiedades:
Es una buena aproximación a una cámara “real” cuando el
relieve de la escena es pequeño en comparación a la distancia
media de la escena a la cámara.
Luis Baumela. Vision por Computador.– p.14/19
Modelo afín de cámara
Propiedades:
Es una buena aproximación a una cámara “real” cuando el
relieve de la escena es pequeño en comparación a la distancia
media de la escena a la cámara.
La proyección del centro de masas de una nube de puntos es
el centro de masas de las proyecciones.
En efecto, la proyección en cartesianas puede expresarse
como m2×1 = A2×3M3×1 + b, entonces basta comprobar que
1
N
∑
i
(AMi + b) = A
(
1
N
∑
i
Mi
)
+ b
Luis Baumela. Vision por Computador.– p.14/19
Modelo afín de cámara
Propiedades:
Es una buena aproximación a una cámara “real” cuando el
relieve de la escena es pequeño en comparación a la distancia
media de la escena a la cámara.
La proyección del centro de masas de una nube de puntos es
el centro de masas de las proyecciones.
Conserva el paralelismo.
Luis Baumela. Vision por Computador.– p.14/19
Modelo afín de cámara
Propiedades:
Es una buena aproximación a una cámara “real” cuando el
relieve de la escena es pequeño en comparación a la distancia
media de la escena a la cámara.
La proyección del centro de masas de una nube de puntos es
el centro de masas de las proyecciones.
Conserva el paralelismo.
La dirección de proyección ortogonal es el vector d tal que
A2×3d = 0.
Luis Baumela. Vision por Computador.– p.14/19
Modelo afín de cámara
Propiedades:
Es una buena aproximación a una cámara “real” cuando el
relieve de la escena es pequeño en comparación a la distancia
media de la escena a la cámara.
La proyección del centro de masas de una nube de puntos es
el centro de masas de las proyecciones.
Conserva el paralelismo.
La dirección de proyección ortogonal es el vector d tal que
A2×3d = 0.
Caracterización. Una matriz P2×4 = [A2×3 | b2×1] representa
una cámara afín ⇐⇒ el rango de A es 2.
Luis Baumela. Vision por Computador.– p.14/19
Calibración
¿Qué es?Proceso en el que se calculanlos parámetros de P para unacámara concreta.
¿Cómo?Proyectando un conjunto depuntos de posición conocida
Ecuaciones. Desarrollando:
λj
λi
λ
=
p11 p12 p13 p14
p21 p22 p23 p24
p31 p32 p33 p34
X
Y
Z
1
Luis Baumela. Vision por Computador.– p.15/19
Calibración
¿Qué es?Proceso en el que se calculanlos parámetros de P para unacámara concreta.
¿Cómo?Proyectando un conjunto depuntos de posición conocida
Ecuaciones.
p11X + p12Y + p13Z − p31jX − p32jY − p33jZ − p34j + p14 = 0
p21X + p22Y + p23Z − p31iX − p32iY − p33iZ − p34i + p24 = 0
Luis Baumela. Vision por Computador.– p.15/19
Calibración
Algoritmo:1. Extrae los bordes de la imagen (p.ej. Canny).2. Ajusta líneas rectas a los bordes extraidos.3. Calcula las esquinas de los cuadrados intersecando
rectas.
4. Dados un conjunto de n ≥ 6 correspondencias{mi ↔ Mi}, resuelve el sistema de ecuaciones:
M>
i0 −jM>
i
0 M>
i−iM>
i
︸ ︷︷ ︸
A(M)2n×9
p1
p2
p3
︸ ︷︷ ︸
x(P)12×1
= 02n×1
Luis Baumela. Vision por Computador.– p.16/19
Calibración
Resolución del sistema de ecuaciones:
1. Solución lineal. Calcula P mediante una solución lineal de Ax = 0.a) Normalización. Normalizamos las coordenadas de los puntos 2D y 3D para
mejorar el condicionamiento numérico:
Sean {mi = T3×3mi, i = 1 . . . n} y {Mi = U4×4Mi, i = 1 . . . n} sendosconjuntos de datos centrados en el origen y a una distancia media del origende
√2 y
√3 respectivamente.
b) Resuelve el sistema de ecuaciones A(M)x(P) = 0, s.a. ||x|| = 1.
Sea svd(A)=UD V>, la solución x es la columna de V asociada al menorvalor singular.
2. Minimiza el error de reproyección. Sea d(·, ·) una distancia, calculamos
mınP
∑
i
d(xi, PMi),
mediante un algoritmo iterativo (ej. Levenberg-Marquardt).
3. Desnormalización. La matriz de proyección para los datos originales P
P = T−1
PU.
Luis Baumela. Vision por Computador.– p.17/19
Calibración
Estimación de K, R y t.
Conocida P = [A | b], mediante descomposición RQ deA (Hartley, 2004) se puede obtener K y R.
Conocida K, t = K−1
b.
Luis Baumela. Vision por Computador.– p.18/19
Bibliografía
1. D. Forsyth, J. Ponce. “Computer Vision. A modernapproach.” Prentice Hall. 2003.
2. R. Hartley, A. Zisserman. “Multiple view geometry incomputer vision.” Cambridge University Press, 2004.
Luis Baumela. Vision por Computador.– p.19/19