Title: Prsentation PowerPoint
1 Visión por Computadora
Clase 7
Dra. Luz Abril Torres Méndez Robótica y
Manufactura Avanzada CINVESTAV - Saltillo
Cuatrimestre Ene-Abr 2009
2Visión Estéreo
- Habilidad de inferir información de la estructura
3D y distancia a la escena de dos o más imágenes
tomadas de diferentes puntos de vista. - Nos enfocaremos en la visión binocular.
- Dos problemas
- Correspondencia Determinar que objetos o
características de la imagen izquierda
corresponde a que objeto en la imagen derecha. - Reconstrucción Conversión de la escena a un mapa
3D basada en conocimiento de geometría del
sistema estéreo y del mapa de disparidad. - Disparidad la diferencia computada entre objetos
correspondientes.
3Sistema Estéreo Simple
- El punto de fijación va al 8.
- b es la línea de base (baseline).
C1 y C2 son los centros ópticos - D es la distancia entre P y la línea de base
f es la longitud focal.
4Propiedades
- De triángulos similares (p1 ,P, p2) y (C1 ,P,C2),
tenemos
v1 y v2 son las coordenadas de p1 y p2
respectivamente. Y entonces se obtiene
d v2-v1 es la disparidad.
5Propiedades
- De lo anterior tenemos que
- La profundidad D es inversamente proporcional a
la disparidad - Notar que la disparidad es la suma de los
desplazamientos de p1 y p2 desde su origen, esto
es ?v1? ?v2?, dado que v1 lt0, tenemos v2-v1.
6Parámetros de un sistema estéreo
- Los parámetros intrínsecos caracterizan la
transformación mapeando un punto de la imagen de
la cámara a las coordenadas de los pixeles, en
cada cámara. - Los parámetros extrínsecos describen la posición
relativa de las dos cámaras. - Hasta el momento tenemos f, b,c1 y c2 como los
parámetros de nuestro sistema. Encontrar estos
valores es parte de la calibración tipo estéreo.
7Estéreo No-calibrado
- Otra forma de calcular mucha de la información 3D
sin tener un conocimiento a priori de estos
parámetros, utilizando geometría epipolar. - Volvemos al problema de correspondencia
- La idea básica es tomar un elemento de la imagen
izquierda y encontrar el elemento correspondiente
en la imagen derecha.
Problema Cuál elemento debemos escoger?Cómo
realizar la búsqueda?
8Método 1 Correlación cruzada
- De un punto de vista en 1D con dos funciones f y
g
Fórmula
Si nosotros generalizamos esto para el caso
de arreglos de píxeles en 2D, tenemos y
el objetivo es maximizar la fórmula anterior.
9Suma de las Diferencias Cuadráticas
- Similar al previo, pero la fórmula varía
- Generalizando para imágenes tenemos
- Nuestro objetivo es minimizar la suma.
10Método 2 Basado en Características
- Abstracción de datos
- Enfoca en características prominentes (esquinas)
- Basado en propiedades locales
- Poco denso (sparse)
11Geometría Epipolar
Es la geometría generada por dos vistas y se
basa en dos conceptos fundamentales, que son la
línea epipolar y el epipolo.
12Bases
- Los parámetros extrínsecos son el vector de
translación T( C2 -C1 ) y la matriz de rotación
R. Recuerda que los parámetros extrínsecos se
relacionan con los marcos de referencia de las
cámaras izquierda y derecha. - La relación entre P2 y P1 se define P2 R (P1
T) (1) - La relación entre un punto y su proyección
(usando proyección perspectiva)
13Restricción Epipolar
- La importancia práctica de la geometría epipolar
está basada en el hecho de que el plano epipolar
intersecta cada imagen en una línea llamada línea
epipolar. - El punto correspondiente P2 de un punto P1 debe
estar sobre la línea epipolar.
Rayo que pasa a través de C1 y p1
Línea epipolar correspondiente
Esto nos permite restringir la búsqueda del punto
correspondiente de pi a lo largo de la línea
epipolar y el problema se reduce a un problema de
1D.
14La Matriz Esencial E
- Establece una liga natural entre la restricción
epipolar y los parámetros extrínsecos del sistema
estéreo. - Para obtener E
- P1 , T y (P1-T) son vectores coplanares
encontrados en el plano epipolar. - Por lo tanto, T x P1 conducirán al vector
perpendicular al plano. - Así mismo, (P1 T)T ? P1 x T 0 (producto punto
de los vectores perpendiculares). - De la Ec. 1 (R P2 )T T x P2 0 (4)
- Define T x P1 SP1, donde S una matriz
anti-simétrica (rango2)
15Matriz Esencial E
- Sustituir en (4) P2T E P1 0, donde ERS.
- Sustituir P2 y P1 utilizando (2) y (3) y divide
el resultado por D1?D2 - p2T E p1 0 (5)
- En (5), Ep1 puede verse como la línea proyectiva
en el plano derecho que pasa por pr y el epipolo
er. Sea ur esta línea proyectiva - ur E p1
- La matriz esencial E es el mapeo entre los
puntos y las líneas epipolares que estamos
buscando.
16Matriz Fundamental F
- El mapeo entre los puntos y las líneas epipolares
se pueden obtener solamente de los puntos
correspondientes y sin ninguna información a
priori del sistema estéreo. - Recordatorio Los parámetros intrínsecos son los
necesarios para ligar las coordenadas de los
píxeles de un punto de la imagen con las
coordenadas en el marco de referencia de la
cámara.
17Calculando F
- Sea M1 y M2 las matrices de los parámetros
intrínsecos de las cámaras izquierda y derecha,
respectivamente. - p1 y p2 son las coordenadas en píxeles de los
puntos correspondientes a p1 y p2 en coordenadas
de cámara - p1 M1-1 p1 y p2M2-1 p2
- Al incorporar las dos ecuaciones en (5), tenemos
- p2T F p1 0
- donde FM2-T E M1-1 es la matriz fundamental.
18La diferencia entre E y F
- La diferencia importante entre las dos matrices
es - La matriz fundamental está definida en términos
de coordenadas de pixeles. - La matriz esencial se define en términos de
coordenadas de las cámaras. - En consecuencia, si podemos estimar F de un
número de puntos correspondientes en coordenadas
de pixeles, podemos reconstruir la geometría
epipolar sin tener información de los parámetros
intrínsecos y extrínsecos.
19Cálculando F
- Establecer n puntos correspondientes entre las
dos imágenes - Cada correspondencia da una ecuación linear
homogénea como - p2T F p1 0
- De estas ecuaciones, establecer una matriz A de
coeficientes de tamaño mxn - Calcular SVD(A) UDVT
- En este punto, las entradas de F son los
componentes de la columna de V correspondiendo al
último valor singular de A. - Reforzar la restricción de singularidad,
calculando SVD(F) UDVT - Asignar el valor singular más pequeño de D a 0
para obtener D - El estimado corregido de F es
- FUDV T
20Notas acerca de SVD(descomposición de valores
singulares)
- La idea detrás del SVD es el hecho de que
cualquier matrix A de tamaño mxn puede ser
re-escrita en la forma especial - Amxn Umxm Dmxn VnxnT
- donde
- D es una matriz diagonal, con ?1??2??n?0
- U es una matriz (mxn) de vectores unitarios
mutualmente ortogonales como su columna - V es una matriz (nxn) de vectores unitarios
mutualmente ortogonales como su columna
21Relajación
- Los seres humanos podemos percibir la profundidad
en imágenes que no tienen objetos conocidos. - Ejemplo estereogramas de puntos aleatorios
- Técnica creada por Dr. Bela Julesz.
- Describe un par de 2D images mostrando puntos
aleatorios los cuales cuando vistos con un
estereos- copio produce una imagen 3D. - Un estereograma es una ilusión óptica de
profundidad creada de una o dos imágenes planas
en 2D.
22Cómo crear un estereogramade puntos aleatorios
23Estereograma de dos imágenes 2D
24Otro ejemplo de una sola imagen
Esta imagen codifica una imagen en 3D de un
tiburón
25Esta imagen codifica una imagen en 3D de un
tiburón pero la parte de abajo está libre de
imágenes en 3D
26Cómo lo logramos ver?
- El cerebro después de tratar de ver algo en la
imagen abandona el intento de mover los músculos
de los ojos para obtener una mejor imagen. - Al mover la cabeza o la imagen lentamente lejos
de nosotros, mientras que se refrena el deseo de
enfocar o rotar los ojos, en algún momento el
cerebro se quedará fijo en los pares de patrones
cuando la distancia entre ellos coincide con el
grado de convergencia actual de los dos ojos.
27(No Transcript)
28Más estereogramashttp//www.netaxs.com/mhmyers/
rds-ex.html
29Problema de correspondencia de puntos
- Los siguientes principios ayudan a encontrar la
correspondencia - más probable
- Cada punto en la imagen sólo tiene un valor de
profundidad - Cada punto tiene un valor de profundidad cercano
a sus vecinos
30Algoritmo de relajación
- Se basa en el uso de una matriz de disparidad
- C(x,y,d)
- x,y - coordenadas del punto
- d - disparidad
31Estéreo basado en Características
- Se hace el match sólo para ciertos puntos o
características distintivas - Orillas (verticales)
- Esquinas (detector de Harris)
- Características invariantes (SIFT)
- Reducen la complejidad computacional pero no
obtienen tan buenos resultados como los métodos
densos.
32Detector de esquinas Introducción
- Las esquinas son puntos de interés invariante a
traslación y rotación - Se utilizan más comúnmente en tracking y estéreo.
Patches no distintivos
Patches distintivos
33Detector de Esquinas
-
gt 0
Demo de un punto con vecindades bien
distintivas.
34Detector de Esquinas
-
-
gt 0
gt 0
Demo de un punto con vecindades bien
distintivas.
35Detector de Esquinas
-
-
-
gt 0
gt 0
gt 0
Demo de un punto con vecindades bien
distintivas.
36Detector de Esquinas
-
-
-
-
gt 0
gt 0
gt 0
gt 0
Demo de un punto con vecindades bien
distintivas.
37Detector de Esquinas
-
-
-
-
-
gt 0
gt 0
gt 0
gt 0
gt 0
Demo de un punto con vecindades bien
distintivas.
38Detector de Esquinas
-
-
-
-
-
-
gt 0
gt 0
gt 0
gt 0
gt 0
gt 0
Demo de un punto con vecindades bien
distintivas.
39Detector de Esquinas
-
-
-
-
-
-
-
gt 0
gt 0
gt 0
gt 0
gt 0
gt 0
Demo de un punto con vecindades bien
distintivas.
40Detector de Esquinas
-
-
-
-
-
-
-
gt 0
gt 0
gt 0
gt 0
gt 0
gt 0
Demo de un punto con vecindades bien
distintivas.
41Ejemplo de puntos detectados
42Principio básico
Patches no distintivos
Patches distintivos
Gradientes de la imagen ?I(x,y) de patches no
distintivos son (0,0) o tienen solo un
componente principal. Gradientes de imagen
?I(x,y) de patches distintivos tienen dos
componentes principales.
? rango ( ? ?I(x,y) ?I(x,y) ) 2
43Algoritmo de C. Harris (1988)
1. Filtrar la imagen con un Gaussiano. 2.
Calcular los gradientes de intensidad
?I(x,y). 3. Para cada pixel y una vecindad
dada - calcular la matriz de auto-correlación
A ? ?I(x,y) ?I(x,y) - y evaluar la
función de respuesta R(A) R(A) gtgt 0
para rank(A)2, R(A) ? 0 para rank(A)lt2 4.
Escoger los mejores candidatos (thresholding)