RECONSTRUCCI´ON 3-D DE UN
MODELO BASADO EN SU VISI´ON
ESTEREOSC´OPICA
Tesista
Guillermo Enrique Medina Zegarra
Orientador
Dr. Edgar Lobaton, USA
Co-Orientador
Dr. Nestor Calvo, Argentina
Arequipa - Per´u
07 de Mayo del 2012
1
Contenido
Contenido
1 Introducci´on
2 Geometr´ıa de una vista
3 Geometr´ıa de dos vistas
4 Propuesta
5 Pruebas y resultados
6 L´ımitaciones y problemas encontrados
7 Conclusiones y trabajos futuros
2
Contenido
1 Introducci´on
Motivaci´on y contexto
Planteamiento del problema
Objetivos general
Objetivos espec´ıficos
2 Geometr´ıa de una vista
3 Geometr´ıa de dos vistas
4 Propuesta
5 Pruebas y resultados
6 L´ımitaciones y problemas encontrados
7 Conclusiones y trabajos futuros
3
Motivaci´on y contexto
Limitaciones en la ´epoca pre-renacentista para crear en 3D.
(a) Jes´us entrando
a Jerusal´en
3
Motivaci´on y contexto
Los art´ıstas en la ´epoca del renacimiento y la profundidad.
Los puntos de fuga y la tridimensionalidad.
(b) La Escuela de Atenas
3
Motivaci´on y contexto
Limitaciones en la ´epoca pre-renacentista para crear en 3D.
Los art´ıstas en la ´epoca del renacimiento y la profundidad.
Los puntos de fuga y la tridimensionalidad.
(a) Jes´us entrando
a Jerusal´en
(b) La Escuela de Atenas
Figura: Pintura pre-renacentista y renacentista [Ma et al., 2004].
4
Planteamiento del problema
Arquitectura f´ısica, posici´on, distribuci´on e iluminaci´on.
(a) Una sola c´amara
[Cipolla et al., 2010]
(b) Iluminaci´on artificial
[VISGRAF., 2012]
5
Planteamiento del problema (cont...)
Figura: ¿ C´omo obtener los par´ametros necesarios para realizar un
mapeamiento de un objeto al plano imagen ? [Faugeras, 1993].
6
Planteamiento del problema (cont...)
Figura: ¿ C´omo hallar los puntos correspondientes ? [Szeliski, 2011].
7
Planteamiento del problema (cont...)
Figura: ¿ C´omo hallar un punto en 3D de cada par de puntos
correspondientes ? [Szeliski, 2011].
8
Planteamiento del problema (cont...)
Figura: ¿ C´omo reconstruir y suavizar una superficie a partir de una nube
de puntos ? [Hartley and Zisserman, 2004].
9
Objetivos general
Objetivo general
Proponer un modelo para la reconstrucci´on de una imagen 3D de
un objeto, a partir de dos im´agenes capturadas por dos c´amaras
ubicadas adecuadamente.
10
Objetivos espec´ıficos
Objetivos espec´ıficos
Posicionar correctamente las dos c´amaras digitales, en una
arquitectura f´ısica, para la adquisici´on de im´agenes y calibraci´on.
Hacer la rectificaci´on de las im´agenes, para calcular un adecuado
mapa de disparidad a trav´es de la correlaci´on normalizada cruzada.
Crear la superficie del objeto a partir de la triangulaci´on de
Delaunay del mapa de disparidad.
11
Contenido
1 Introducci´on
2 Geometr´ıa de una vista
3 Geometr´ıa de dos vistas
4 Propuesta
5 Pruebas y resultados
6 L´ımitaciones y problemas encontrados
7 Conclusiones y trabajos futuros
12
Modelo de c´amara pinhole
Ayuda a entender la formaci´on de una imagen desde un punto de
vista geom´etrico.
Partes del modelo de c´amara pinhole: centro ´optico(o), distancia
focal(f ) y plano imagen(I).
x = ¯op ∩ I x ∈ R2
, p ∈ R3
Figura: Modelo de c´amara pinhole [Ma et al., 2004].
13
Modelo de c´amara pinhole (cont...)
Figura: Ejemplo de proyecci´on de un objeto en un plano imagen.
14
Contenido
1 Introducci´on
2 Geometr´ıa de una vista
3 Geometr´ıa de dos vistas
4 Propuesta
5 Pruebas y resultados
6 L´ımitaciones y problemas encontrados
7 Conclusiones y trabajos futuros
15
Geometr´ıa epipolar
Estudia la relaci´on geom´etrica y an´alisis matem´atico de un punto
3D p en sus planos imagen.
Figura: Analisis geom´etrico de dos vistas [Ma et al., 2004].
16
Geometr´ıa epipolar (cont...)
Figura: Ejemplo de la proyecci´on de un cubo en sus dos planos imagen.
17
Rectificaci´on
Figura: Rectificaci´on del par de im´agenes est´ereo [Fusiello et al., 2000].
18
C´alculo de disparidad
(a) (b) Mapa de disparidad
(a - b) Par de im´agenes de Tsukuba [Scharstein and Szeliski, 2002].
19
Contenido
1 Introducci´on
2 Geometr´ıa de una vista
3 Geometr´ıa de dos vistas
4 Propuesta
5 Pruebas y resultados
6 L´ımitaciones y problemas encontrados
7 Conclusiones y trabajos futuros
20
Pipeline de la propuesta
21
Descripci´on del pipeline de la propuesta
Arquitectura f´ısica
Canon SD1200 Sony DSC-S750
21
Descripci´on del pipeline de la propuesta
Arquitectura f´ısica
Adquisici´on de im´agenes
Caracter´ıstica Sony DSC-S750 Canon SD1200 IS
Tipo de sensor CCD CCD
Tama˜no de la imagen 640 × 480 640 × 480
ISO 100 100
Flash desactivado desactivado
Ajustes t´ecnicos en las dos c´amaras dig´ıtales
21
Descripci´on del pipeline de la propuesta
Arquitectura f´ısica
Adquisici´on de im´agenes
Calibraci´on
Patr´on de calibraci´on (7 × 10)
22
Descripci´on del pipeline de la propuesta
Rectificaci´on
Hace la b´usqueda lineal
La correspondencia de puntos
est´a en la misma l´ınea horizontal
Im´agenes originales Im´agenes rectificadas
23
Descripci´on del pipeline de la propuesta
Pre-procesamiento
Segmentaci´on manual
Filtro Gaussiano
Im´agenes rectificadas Im´agenes pre-procesadas
24
Descripci´on del pipeline de la propuesta
Mapa de disparidad
Correlaci´on Normalizada Cruzada
Filtro de la mediana
Imagen izquierda pre-procesada Imagen derecha pre-procesada Mapa de disparidad
25
Descripci´on del pipeline de la propuesta
Malla 3D
Triangulaci´on de Delaunay
Intersecci´on de rectas
Enmallado tridimensional
Mapa de disparidad Nube de puntos Enmallado tridimensional
26
Descripci´on del pipeline de la propuesta
Modelo reconstruido
Suavizaci´on de la superficie
Texturizaci´on de la imagen derecha
Creaci´on de la superficie Suavizaci´on de la superficie Texturizaci´on del modelo
27
“Cubo m´agico”
Im´agenes originales Im´agenes rectificadas Im´agenes pre-procesadas
28
“Cubo m´agico” (cont...)
Mapa de disparidad Nube de puntos Enmallado tridimensional
Creaci´on de la superficie Suavizaci´on de la superficie Texturizado de la superficie
29
Varias vistas del “Cubo m´agico”
29
Varias vistas del “Cubo m´agico”
29
Varias vistas del “Cubo m´agico”
29
Varias vistas del “Cubo m´agico”
29
Varias vistas del “Cubo m´agico”
29
Varias vistas del “Cubo m´agico”
29
Varias vistas del “Cubo m´agico”
29
Varias vistas del “Cubo m´agico”
30
Contenido
1 Introducci´on
2 Geometr´ıa de una vista
3 Geometr´ıa de dos vistas
4 Propuesta
5 Pruebas y resultados
Oso de peluche
Rostro humano
6 L´ımitaciones y problemas encontrados
7 Conclusiones y trabajos futuros
31
Oso de peluche
Im´agenes originales Im´agenes rectificadas Im´agenes pre-procesadas
32
Oso de peluche (cont...)
Mapa de disparidad Nube de puntos Enmallado tridimensional
Creaci´on de la superficie Suavizaci´on de la superficie Texturizaci´on del modelo
33
Rostro humano
Im´agenes originales Im´agenes rectificadas Im´agenes pre-procesadas
34
Rostro humano (cont...)
Nube de puntos Modelo sin suavizar Modelo suavizado Modelo “transformado”
Enmallado tridimensional Modelo sin suavizar Modelo suavizado Modelo “transformado”
35
Contenido
1 Introducci´on
2 Geometr´ıa de una vista
3 Geometr´ıa de dos vistas
4 Propuesta
5 Pruebas y resultados
6 L´ımitaciones y problemas encontrados
7 Conclusiones y trabajos futuros
36
L´ımitaciones y problemas encontrados
Problemas en el tama˜no del vecindario Imperfecciones en el modelo creado
37
L´ımitaciones y problemas encontrados (cont...)
Imagen original defectuosa Imagen original defectuosa
Mapa de disparidad err´oneo Reconstrucci´on 3D amorfa del “cubo m´agico”
38
Contenido
1 Introducci´on
2 Geometr´ıa de una vista
3 Geometr´ıa de dos vistas
4 Propuesta
5 Pruebas y resultados
6 L´ımitaciones y problemas encontrados
7 Conclusiones y trabajos futuros
39
Conclusiones
Se dise˜n´o un arquitectura f´ısica simple y econ´omica.
Las condiciones de iluminaci´on deben ser las adecuadas.
Se propus´o un pipeline con una secuencia de pasos necesarios para
conseguir una reconstrucci´on 3D de un par est´ereo de im´agenes.
El m´etodo usado para el proceso de c´alculo de disparidad es simple
y no robusto.
Existe una fuerte dependencia entre cada uno de los pasos de la
reconstrucci´on.
40
Trabajos futuros
Crear un ambiente con las adecuadas
condiciones para la calibraci´on, ilumi-
naci´on y adquisici´on de im´agenes.
Arquitectura f´ısica e iluminaci´on artificial [Bradley et al., 2008]
40
Trabajos futuros
Crear un ambiente con las adecuadas
condiciones para la calibraci´on, ilumi-
naci´on y adquisici´on de im´agenes.
Arquitectura f´ısica e iluminaci´on artificial [Bradley et al., 2008]
Hacer una extensi´on a
m´ultiples c´amaras.
M´ultiples vistas [Hartley and Zisserman, 2004]
41
Trabajos futuros (cont...)
Utilizar m´etodos robustos.
42
Publicaci´on realizada
Art´ıculo en Simposio
“Reconstrucci´on visual 3-D : una perspectiva del sis-
tema.”
G. Medina-Zegarra y E. Lobaton
2nd International Symposium on Innovation and Techno-
logy (2011)
p´aginas 102-107, Noviembre 28-30, Lima - Per´u
ISBN: 978-612-45917-1-6
Lugar: Universidad Tecnol´ogica del Per´u (UTP)
Editor: International Institute of Innovation and Techno-
logy (IIITEC)
Chair: Mario Chauca Saavedra
43
Agradecimientos
Dr. Alfedro Miranda
Mag. Alfedro Paz
Dr. Carlos Leyton
Dr(c). Christian L´opez del Alamo
Dr. Edgar Lobaton
Dr. Eduardo Tejada
Dr. Jes´us Mena
Dr. Jos´e Corrales-Nieves
Dr(c). Juan Carlos Gutierrez
Lic. Lu´ıs Pareja
Dr. Nestor Calvo
Dra(c). Regina Ticona
Familia Barrios Neyra
44
Referencias
Bradley, D., Popa, T., Sheffer, A., Heidrich, W., and Boubekeur, T. (2008).
Markerless garment capture.
ACM Transactions on Graphics (TOG), 27:99:1–99:9.
Cipolla, R., Battiato, S., and Farinella, G. M. (2010).
Computer Vision: Detection, Recognition and Reconstruction.
Springer.
Faugeras, O. (1993).
Three-dimensional Computer Vision: A Geometric Viewpoint.
The MIT Press. ISBN: 0262061589.
Fusiello, A., Trucco, E., and Verri, A. (2000).
A compact algorithm for rectification of stereo pairs.
Machine Vision and Applications, 12:16–22.
Hartley, R. and Zisserman, A. (2004).
Multiple View Geometry in Computer Vision. Second Edition.
Cambridge University Press. ISBN: 0521540518.
Ma, Y., Soatto, S., Koˇseck´a, J., and Sastry, S. S. (2004).
An Invitation to 3D Vision from Images to Geometric Models.
Springer. ISBN: 0387008934.
Scharstein, D. and Szeliski, R. (2002).
A taxonomy and evaluation of dense two-frame stereo correspondence algorithms.
International Journal of Computer Vision, 47:7–42.
Szeliski, R. (2011).
Computer Vision: Algorithms and Applications.
Springer. ISBN: 9781848829343.
RECONSTRUCCI´ON 3-D DE UN
MODELO BASADO EN SU VISI´ON
ESTEREOSC´OPICA
Tesista
Guillermo Enrique Medina Zegarra
Orientador
Dr. Edgar Lobaton, USA
Co-Orientador
Dr. Nestor Calvo, Argentina
Arequipa - Per´u
07 de Mayo del 2012
44
45
Puntos de vista (percepci´on)
(a) ¿ El vaso esta medio
lleno o medio vacio ?
(b) ¿ Es un pato o un conejo ?
46
Contenido extra
Contenido extra
1 Datos de procesamiento
2 Geometr´ıa de una vista
3 Geometr´ıa de dos vistas
4 Rectificaci´on e intersecci´on de rectas
5 Mapa de disparidad
6 Filtro Gaussiano y filtro de la mediana
7 Propiedades de la triangulaci´on de Delaunay
47
Datos de procesamiento
Un procesador Intel (R) Core (TM) 2 CPU 1.66 GHz y una
memoria RAM 2GB.
El costo computacional del algoritmo en el peor caso es O(n3
) y en
el mejor caso es Θ(n2
).
El tiempo del procesamiento del algoritmo es de 25 minutos.
48
Modelamiento geom´etrico (matriz de mapeamiento)
propuesta
slide
π : R4
→ R3
; p → x


fsx fsθ ox
0 fsy oy
0 0 1


K
=


sx sθ ox
0 sy oy
0 0 1


Ks


f 0 0
0 f 0
0 0 1


Kf
(1)


u
v
1


x
= K


1 0 0 0
0 1 0 0
0 0 1 0


Π0
R t
0 1
g
π




X
Y
Z
1




p
(2)
49
Ecuaciones de la Geometr´ıa Epipolar
slide
Restricci´on epipolar
xT
2 Fx1 = 0
49
Ecuaciones de la Geometr´ıa Epipolar
slide
Restricci´on epipolar
xT
2 Fx1 = 0
Matriz Fundamental
F = K−T
2 EK−1
1
49
Ecuaciones de la Geometr´ıa Epipolar
slide
Restricci´on epipolar
xT
2 Fx1 = 0
Matriz Fundamental
F = K−T
2 EK−1
1
Matriz esencial
E = [t]x R
49
Ecuaciones de la Geometr´ıa Epipolar
slide
Restricci´on epipolar
xT
2 Fx1 = 0
Matriz Fundamental
F = K−T
2 EK−1
1
Matriz esencial
E = [t]x R
Matriz antisim´etrica
[t]x =


0 −c b
c 0 −a
−b a 0

 (3)
50
Sistema lineal para la matriz F
ui , vi , 1 T


F11 F12 F13
F21 F22 F23
F31 F32 F33

 ui , vi , 1 = 0 , i ∈ R
+
(4)
uu F11 + uv F21 + uF31 + vu F12 + vv F22 + vF32 + u F13 + v F23 + F33 = 0 (5)












u1u1 u1v1 u1 v1u1 v1v1 v1 u1 v1 1
u2u2 u2v2 u2 v2u1 v2v2 v2 u2 v2 1
u3u3 u3v3 u3 v3u1 v3v3 v3 u3 v3 1
u4u4 u4v4 u4 v4u1 v4v4 v4 u4 v4 1
u5u5 u5v5 u5 v5u1 v5v5 v5 u5 v5 1
u6u6 u6v6 u6 v6u1 v6v6 v6 u6 v6 1
u7u7 u7v7 u7 v7u1 v7v7 v7 u7 v7 1
u8u8 u8v8 u8 v8u1 v8v8 v8 u8 v8 1












A













F11
F12
F13
F21
F22
F23
F31
F32
F33













F
= 0 (6)
51
Sistema lineal para la matriz F (cont...)
Minimizar:
A F
2
=
8
i=1
(u
T
i Fui )
2
(7)
Sujeto a:
F 2
= 1 (8)
Por lo tanto, se forma la siguiente funci´on de Lagrange:
L(F, λ) = A F 2
− λ( F 2
− 1) (9)
Por consiguiente, se aplica el m´etodo de los multiplicadores de Lagrange:
JL(F, λ){
2AT
AF − λ(2F)
F 2
− 1
, λ ∈ R
+
(10)
Ahora, se procede a resolver la ecuaci´on JL(f , λ) = 0. La cual, es equivalente a hallar los autovalores y
autovectores de la matriz sim´etrica AT
A:
AT
AF = λ.F
F 2
= 1
(11)
Al calcular los autovectores, se habra encontrado la matriz fundamental F.
52
Calculando los autovalores de una matriz (ejemplo)
A =


1 1 0
2 0 1
0 0 3

 A − λI =


1 − λ 1 0
2 −λ 1
0 0 3 − λ

 (12)
det( A - λ I ) = (1 - λ)(- λ )(3 - λ ) - 2( 3 - λ )
det( A - λ I ) = ( - λ + λ2 )(3 - λ )- 6 + 2 λ
det( A - λ I ) = - λ3 + 4 λ2 - λ - 6
det( A - λ I ) = λ3 - 4 λ2 + λ + 6
Resolviendo el polinomio se encuentran las raices (autovalores), los
cuales son: -1, 2 y 3
53
Calculando los autovectores de una matriz (ejemplo)
A =


1 1 0
2 0 1
0 0 3

 A − λI =


1 − λ 1 0
2 −λ 1
0 0 3 − λ

 (13)
I) Para λ = -1
(A - λ I)v =0
(A - (-1) I)v =0
(A + I)v =0


2 1 0
2 1 1
0 0 4


(A+I)


a
b
c

 =


0
0
0

 (14)
54
Calculando los autovectores de una matriz (ejemplo)
Haciendo el m´etodo de Gauss tenemos:


1 1
2 0
0 0 1
0 0 0

 (15)
c=0 (a, b, c) = (−b
2 , b, 0)
a + b
2 = 0 ⇒ a = −b
2 (a, b, c) = b(−1
2, 1, 0)
55
Calculando los autovectores de una matriz (ejemplo)
II) Para λ = 2


−1 1 0
2 −2 1
0 0 1


(A−2×I)


1 −1 0
0 0 1
0 0 0

 (16)
c=0 (a,b,c) = (b,b,0)
a-b=0 ⇒ a = b (a,b,c) = b(1,1,0)
56
Calculando los autovectores de una matriz (ejemplo)
III) Para λ = 3


−2 1 0
2 −3 1
0 0 0


(A−3×I)


1 −1
2 0
0 1 −1
2
0 0 0

 (17)
b − c
2 = 0 a − b
2 = 0 (a,b,c) = (c
4 , c
2 , c)
b = c
2 a = b
2 (a,b,c) = c(1
4, 1
2, 1)
a = c
4
Los autovalores son: {(−1
2, 1, 0), (1, 1, 0), (1
4, 1
2, 1)}
57
Planteamiento inicial de la rectificaci´on
propuesta
slide
La variable π representa a la matriz de mapeamiento
x ∼= π p (18)
Factorizaci´on QR de la matriz π
π = K[R | t] (19)
La matriz π se re-escribe como:
π =


qT
1 |q14
qT
2 |q24
qT
3 |q34

 = Q|q (20)
58
Planteamiento inicial de la rectificaci´on (cont...)
Las coordenadas del centro ´optico c est´a definido como:
c = −Q−1
q (21)
Se hace un despeje de la ecuaci´on 21 en funci´on de q.
π = [Q| − Qc] (22)
59
Desarrollo de la rectificaci´on
Matriz de transformaci´on
xr1 = λ Qr1Q−1
o1
Tl
xo1 λ ∈ R+
(23)
Para lo cual:
πo1 = [Qo1|qo1] πo1 MPP imagen izquierda inicial
πr1 = [Qr1 |qr1] πr1 MPP imagen izquierda rectificada
60
Pasos para hallar la matriz de transformaci´on
Se hace una factorizaci´on QR de las matrices iniciales
π1 = K[R | − R c1] π1 MPP de la imagen izquierda
π2 = K[R | − R c2] π2 MPP de la imagen derecha
(24)
Los centros ´opticos se hallan con la ecuaci´on 21
La matriz K es la matriz de par´ametros intr´ınsecos
La matriz de rotaci´on R es la misma para ambas matrices de
mapeamiento
61
Pasos para hallar la matriz de transformaci´on (cont...)
Hallando la matriz de rotaci´on R
R =


rT
1
rT
2
rT
3

 (25)
El nuevo eje X es paralelo a la l´ınea base: r1 = ( c1−c2
c1−c2
)
El nuevo eje Y es ortogonal a X, k : r2 = k ∧r1
El nuevo eje Z es ortogonal a XY r3 = r1 ∧ r2
62
Vector unitario k
Demostraci´on de la ortogonalidad del vector Y a trav´es del
vector unitario k.
Plano R3
Z × X =
i j k
0 0 1
1 0 0
Z × X = i(0) - j(-1) + k(0)
Z × X = 0i + 1j + 0k
Z × X
Y
= (0,1,0)
return
63
Intersecci´on de rectas (triangulaci´on)
slide
p = c1 + tQ−1
r1 x1 t ∈ R
p = c2 + sQ−1
r2 x2 s ∈ R
(26)
64
Intersecci´on de rectas (ejemplo)
return
L1 : (X, Y , Z)
p
= (1, 2, 1)
c1
+t (2, 0, 3)
Q−1
r1 x1
L2 : (X, Y , Z)
p
= (5, 4, 1)
c2
+s (−2, −2, 3)
Q−1
r2 x2
L1 : (X, Y , Z) = (1 + 2t, 2, 1 + 3t)
L2 : (X, Y , Z) = (5 − 2s, 4 − 2s, 1 + 3s)
t = 1 , s = 1
(X, Y , Z) = (3, 2, 4)
(27)
65
Representaci´on del punto medio
Calculando el punto medio
c1Q1 + λ = R1 tx1 +
Q2−Q1
2
= R1 tx1 +
(c2+sx2)−(c1+tx1)
2
= R1 tx1 +
(c2−c1)+(sx2−tx1)
2
= R1
c2Q2 − λ = R2 sx2 −
Q1−Q2
2
= R2 sx2 −
(c1+tx1)−(c2+sx2)
2
= R2 sx2 −
(c1−c2)+(tx1−sx2)
2
= R2
L1 = c1 + mR1 M = (
Q1+Q2
2
)
L2 = c2 + nR2 M = (
c1+tx1+c2+sx2
2
)
L1 ∩ L2 = M M = (
c1+c2
2
+
tx1+sx2
2
)
66
Factorizaci´on QR
La factorizaci´on de la matriz de mapeamiento π consta de la
siguientes dos matrices:
π = Q × R
donde:
La matriz Q se obtiene a trav´es del proceso de Gram-Schmidt
La matriz R se consigue a trav´es de la siguiente multiplicaci´on
R = QT × π
return
67
Proceso Gram-Schmidt
u1 = v1,
uk = vk - k−1
j=1
vk ,uj
uj
2 , ; j = 2,. . .,k
return
68
Proceso Gram-Schmidt (ejemplo)
A = {(1, 0, 1)
v1
, (0, 0, 1)
v2
, (1, 1, −1)
v3
}
u1 = v1 = (1, 0, 1)
u2 = (0, 0, 1) − 1
2(1, 0, 1)
u2 = (- 1
2 ,0, 1
2 )
u3 = (1,1,-1) - 0
2 (1,0,1) - (−1)
1
2
(- 1
2 ,0, 1
2 )
u3 = (1,1,-1) + 2(- 1
2 ,0, 1
2 )
u3 = (0,1,0)
La base ortogonal de A es {(1, 0, 1), (−1
2, 0, 1
2), (0, 1, 0)}
69
Pseudo-c´odigo del algoritmo de c´alculo de disparidad
dispComp(imDerecha,imIzquierda,maxDisp)
1 thNorm ← escalar ∗ (2 ∗ r + 1)
2 for i = 1 + r to col − r do
3 for j = 1 + r to fil − maxDisp − r do
5 pBase ← imDerecha(i − r : i + r, j − r : j + r)
6 pBase ← pBase − promedio(pBase)
7 nBase ← norma(pBase)
8 if nBase <= thNorm then
9 continue
10 end if
11 pBase ← pBase/nBase
12 for sh = 1 to maxDisp do
13 pShift ← imIzquierda(i − r : i + r, j + sh − r : j + sh + r)
14 pShift ← pShift − promedio(pShift)
15 nShift ← norma(pShift)
16 if nShift <= thNorm then
17 corr[sh] ← 0
18 continue
19 end if
20 corr[sh] ← sum((pShift/nShift). ∗ (pBase))
21 end for
22 [valor indice] ← max(corr)
23 if valor == 0 then
24 imDisp[i, j] ← 0
25 else
26 imDisp[i, j] ← indice
27 end if
28 end for
29 end for
30 return(imDisp)
70
Mapa de disparidad
propuesta
slide
Correlaci´on Normalizada Cruzada (CNC)
u,v (I1(u,v)−I1)(I2(u+d,v)−I2)
u,v (I1(u,v)−I1)2
u,v (I2(u+d,v)−I2)2
70
Mapa de disparidad
propuesta
slide
Correlaci´on Normalizada Cruzada (CNC)
u,v (I1(u,v)−I1)(I2(u+d,v)−I2)
u,v (I1(u,v)−I1)2
u,v (I2(u+d,v)−I2)2
d(x, y) = arg supr∈RC(x, y, r) (28)
71
Filtro Gaussiano
slide
Valores de la m´ascara
1 2 1
2 3 2
1 2 1
Matriz deslizante de filtrado en el dominio espacial
72
Filtro de la mediana
slide
Valores de ejemplo
6 2 0
3 97 4
19 3 10
En orden ascendente los
n´umeros ser´ıan : 0, 2, 3,
3, 4, 6, 10, 15, 97
72
Filtro de la mediana
slide
Valores de ejemplo
6 2 0
3 97 4
19 3 10
En orden ascendente los
n´umeros ser´ıan : 0, 2, 3,
3, 4, 6, 10, 15, 97
Valor actualizado
* * *
* 4 *
* * *
El valor inicial fue 97 y
luego de utilizar el filtro
de la mediana fue
reemplazado por 4
73
Suavizaci´on del Laplaciano
slide
Calcula la posici´on de un
v´ertice q a partir del
promedio de los v´ertices
adyacentes.
Ejemplo:
3,6
5,4
9,2
14,3
16,10
7,6
———
54, 31
p(9,5) = 54
6 , 31
6
Representaci´on de la suavizaci´on del Laplaciano [Vollmer et al., 1999]
74
Propiedades de la Triangulaci´on de Delaunay
slide
Figura: Ilustraci´on de la primera propiedad de la Triangulaci´on de
Delaunay.
75
Propiedades de la Triangulaci´on de Delaunay (cont...)
Figura: Ilustraci´on de la segunda propiedad de la Triangulaci´on de
Delaunay.
76
Propiedades de la Triangulaci´on de Delaunay (cont...)
(a) Arista ilegal (b) Correcci´on de la
arista ilegal
77
Consideraciones del patr´on de calibraci´on
Detecci´on de las esquinas del patr´on Detecci´on de los puntos internos del patr´on
78
Algoritmo de reducci´on de pol´ıgonos
Reducci´on de pol´ıgonos

Sustentación de tesis (español)

  • 1.
    RECONSTRUCCI´ON 3-D DEUN MODELO BASADO EN SU VISI´ON ESTEREOSC´OPICA Tesista Guillermo Enrique Medina Zegarra Orientador Dr. Edgar Lobaton, USA Co-Orientador Dr. Nestor Calvo, Argentina Arequipa - Per´u 07 de Mayo del 2012
  • 2.
    1 Contenido Contenido 1 Introducci´on 2 Geometr´ıade una vista 3 Geometr´ıa de dos vistas 4 Propuesta 5 Pruebas y resultados 6 L´ımitaciones y problemas encontrados 7 Conclusiones y trabajos futuros
  • 3.
    2 Contenido 1 Introducci´on Motivaci´on ycontexto Planteamiento del problema Objetivos general Objetivos espec´ıficos 2 Geometr´ıa de una vista 3 Geometr´ıa de dos vistas 4 Propuesta 5 Pruebas y resultados 6 L´ımitaciones y problemas encontrados 7 Conclusiones y trabajos futuros
  • 4.
    3 Motivaci´on y contexto Limitacionesen la ´epoca pre-renacentista para crear en 3D. (a) Jes´us entrando a Jerusal´en
  • 5.
    3 Motivaci´on y contexto Losart´ıstas en la ´epoca del renacimiento y la profundidad. Los puntos de fuga y la tridimensionalidad. (b) La Escuela de Atenas
  • 6.
    3 Motivaci´on y contexto Limitacionesen la ´epoca pre-renacentista para crear en 3D. Los art´ıstas en la ´epoca del renacimiento y la profundidad. Los puntos de fuga y la tridimensionalidad. (a) Jes´us entrando a Jerusal´en (b) La Escuela de Atenas Figura: Pintura pre-renacentista y renacentista [Ma et al., 2004].
  • 7.
    4 Planteamiento del problema Arquitecturaf´ısica, posici´on, distribuci´on e iluminaci´on. (a) Una sola c´amara [Cipolla et al., 2010] (b) Iluminaci´on artificial [VISGRAF., 2012]
  • 8.
    5 Planteamiento del problema(cont...) Figura: ¿ C´omo obtener los par´ametros necesarios para realizar un mapeamiento de un objeto al plano imagen ? [Faugeras, 1993].
  • 9.
    6 Planteamiento del problema(cont...) Figura: ¿ C´omo hallar los puntos correspondientes ? [Szeliski, 2011].
  • 10.
    7 Planteamiento del problema(cont...) Figura: ¿ C´omo hallar un punto en 3D de cada par de puntos correspondientes ? [Szeliski, 2011].
  • 11.
    8 Planteamiento del problema(cont...) Figura: ¿ C´omo reconstruir y suavizar una superficie a partir de una nube de puntos ? [Hartley and Zisserman, 2004].
  • 12.
    9 Objetivos general Objetivo general Proponerun modelo para la reconstrucci´on de una imagen 3D de un objeto, a partir de dos im´agenes capturadas por dos c´amaras ubicadas adecuadamente.
  • 13.
    10 Objetivos espec´ıficos Objetivos espec´ıficos Posicionarcorrectamente las dos c´amaras digitales, en una arquitectura f´ısica, para la adquisici´on de im´agenes y calibraci´on. Hacer la rectificaci´on de las im´agenes, para calcular un adecuado mapa de disparidad a trav´es de la correlaci´on normalizada cruzada. Crear la superficie del objeto a partir de la triangulaci´on de Delaunay del mapa de disparidad.
  • 14.
    11 Contenido 1 Introducci´on 2 Geometr´ıade una vista 3 Geometr´ıa de dos vistas 4 Propuesta 5 Pruebas y resultados 6 L´ımitaciones y problemas encontrados 7 Conclusiones y trabajos futuros
  • 15.
    12 Modelo de c´amarapinhole Ayuda a entender la formaci´on de una imagen desde un punto de vista geom´etrico. Partes del modelo de c´amara pinhole: centro ´optico(o), distancia focal(f ) y plano imagen(I). x = ¯op ∩ I x ∈ R2 , p ∈ R3 Figura: Modelo de c´amara pinhole [Ma et al., 2004].
  • 16.
    13 Modelo de c´amarapinhole (cont...) Figura: Ejemplo de proyecci´on de un objeto en un plano imagen.
  • 17.
    14 Contenido 1 Introducci´on 2 Geometr´ıade una vista 3 Geometr´ıa de dos vistas 4 Propuesta 5 Pruebas y resultados 6 L´ımitaciones y problemas encontrados 7 Conclusiones y trabajos futuros
  • 18.
    15 Geometr´ıa epipolar Estudia larelaci´on geom´etrica y an´alisis matem´atico de un punto 3D p en sus planos imagen. Figura: Analisis geom´etrico de dos vistas [Ma et al., 2004].
  • 19.
    16 Geometr´ıa epipolar (cont...) Figura:Ejemplo de la proyecci´on de un cubo en sus dos planos imagen.
  • 20.
    17 Rectificaci´on Figura: Rectificaci´on delpar de im´agenes est´ereo [Fusiello et al., 2000].
  • 21.
    18 C´alculo de disparidad (a)(b) Mapa de disparidad (a - b) Par de im´agenes de Tsukuba [Scharstein and Szeliski, 2002].
  • 22.
    19 Contenido 1 Introducci´on 2 Geometr´ıade una vista 3 Geometr´ıa de dos vistas 4 Propuesta 5 Pruebas y resultados 6 L´ımitaciones y problemas encontrados 7 Conclusiones y trabajos futuros
  • 23.
  • 24.
    21 Descripci´on del pipelinede la propuesta Arquitectura f´ısica Canon SD1200 Sony DSC-S750
  • 25.
    21 Descripci´on del pipelinede la propuesta Arquitectura f´ısica Adquisici´on de im´agenes Caracter´ıstica Sony DSC-S750 Canon SD1200 IS Tipo de sensor CCD CCD Tama˜no de la imagen 640 × 480 640 × 480 ISO 100 100 Flash desactivado desactivado Ajustes t´ecnicos en las dos c´amaras dig´ıtales
  • 26.
    21 Descripci´on del pipelinede la propuesta Arquitectura f´ısica Adquisici´on de im´agenes Calibraci´on Patr´on de calibraci´on (7 × 10)
  • 27.
    22 Descripci´on del pipelinede la propuesta Rectificaci´on Hace la b´usqueda lineal La correspondencia de puntos est´a en la misma l´ınea horizontal Im´agenes originales Im´agenes rectificadas
  • 28.
    23 Descripci´on del pipelinede la propuesta Pre-procesamiento Segmentaci´on manual Filtro Gaussiano Im´agenes rectificadas Im´agenes pre-procesadas
  • 29.
    24 Descripci´on del pipelinede la propuesta Mapa de disparidad Correlaci´on Normalizada Cruzada Filtro de la mediana Imagen izquierda pre-procesada Imagen derecha pre-procesada Mapa de disparidad
  • 30.
    25 Descripci´on del pipelinede la propuesta Malla 3D Triangulaci´on de Delaunay Intersecci´on de rectas Enmallado tridimensional Mapa de disparidad Nube de puntos Enmallado tridimensional
  • 31.
    26 Descripci´on del pipelinede la propuesta Modelo reconstruido Suavizaci´on de la superficie Texturizaci´on de la imagen derecha Creaci´on de la superficie Suavizaci´on de la superficie Texturizaci´on del modelo
  • 32.
    27 “Cubo m´agico” Im´agenes originalesIm´agenes rectificadas Im´agenes pre-procesadas
  • 33.
    28 “Cubo m´agico” (cont...) Mapade disparidad Nube de puntos Enmallado tridimensional Creaci´on de la superficie Suavizaci´on de la superficie Texturizado de la superficie
  • 34.
    29 Varias vistas del“Cubo m´agico”
  • 35.
    29 Varias vistas del“Cubo m´agico”
  • 36.
    29 Varias vistas del“Cubo m´agico”
  • 37.
    29 Varias vistas del“Cubo m´agico”
  • 38.
    29 Varias vistas del“Cubo m´agico”
  • 39.
    29 Varias vistas del“Cubo m´agico”
  • 40.
    29 Varias vistas del“Cubo m´agico”
  • 41.
    29 Varias vistas del“Cubo m´agico”
  • 42.
    30 Contenido 1 Introducci´on 2 Geometr´ıade una vista 3 Geometr´ıa de dos vistas 4 Propuesta 5 Pruebas y resultados Oso de peluche Rostro humano 6 L´ımitaciones y problemas encontrados 7 Conclusiones y trabajos futuros
  • 43.
    31 Oso de peluche Im´agenesoriginales Im´agenes rectificadas Im´agenes pre-procesadas
  • 44.
    32 Oso de peluche(cont...) Mapa de disparidad Nube de puntos Enmallado tridimensional Creaci´on de la superficie Suavizaci´on de la superficie Texturizaci´on del modelo
  • 45.
    33 Rostro humano Im´agenes originalesIm´agenes rectificadas Im´agenes pre-procesadas
  • 46.
    34 Rostro humano (cont...) Nubede puntos Modelo sin suavizar Modelo suavizado Modelo “transformado” Enmallado tridimensional Modelo sin suavizar Modelo suavizado Modelo “transformado”
  • 47.
    35 Contenido 1 Introducci´on 2 Geometr´ıade una vista 3 Geometr´ıa de dos vistas 4 Propuesta 5 Pruebas y resultados 6 L´ımitaciones y problemas encontrados 7 Conclusiones y trabajos futuros
  • 48.
    36 L´ımitaciones y problemasencontrados Problemas en el tama˜no del vecindario Imperfecciones en el modelo creado
  • 49.
    37 L´ımitaciones y problemasencontrados (cont...) Imagen original defectuosa Imagen original defectuosa Mapa de disparidad err´oneo Reconstrucci´on 3D amorfa del “cubo m´agico”
  • 50.
    38 Contenido 1 Introducci´on 2 Geometr´ıade una vista 3 Geometr´ıa de dos vistas 4 Propuesta 5 Pruebas y resultados 6 L´ımitaciones y problemas encontrados 7 Conclusiones y trabajos futuros
  • 51.
    39 Conclusiones Se dise˜n´o unarquitectura f´ısica simple y econ´omica. Las condiciones de iluminaci´on deben ser las adecuadas. Se propus´o un pipeline con una secuencia de pasos necesarios para conseguir una reconstrucci´on 3D de un par est´ereo de im´agenes. El m´etodo usado para el proceso de c´alculo de disparidad es simple y no robusto. Existe una fuerte dependencia entre cada uno de los pasos de la reconstrucci´on.
  • 52.
    40 Trabajos futuros Crear unambiente con las adecuadas condiciones para la calibraci´on, ilumi- naci´on y adquisici´on de im´agenes. Arquitectura f´ısica e iluminaci´on artificial [Bradley et al., 2008]
  • 53.
    40 Trabajos futuros Crear unambiente con las adecuadas condiciones para la calibraci´on, ilumi- naci´on y adquisici´on de im´agenes. Arquitectura f´ısica e iluminaci´on artificial [Bradley et al., 2008] Hacer una extensi´on a m´ultiples c´amaras. M´ultiples vistas [Hartley and Zisserman, 2004]
  • 54.
  • 55.
    42 Publicaci´on realizada Art´ıculo enSimposio “Reconstrucci´on visual 3-D : una perspectiva del sis- tema.” G. Medina-Zegarra y E. Lobaton 2nd International Symposium on Innovation and Techno- logy (2011) p´aginas 102-107, Noviembre 28-30, Lima - Per´u ISBN: 978-612-45917-1-6 Lugar: Universidad Tecnol´ogica del Per´u (UTP) Editor: International Institute of Innovation and Techno- logy (IIITEC) Chair: Mario Chauca Saavedra
  • 56.
    43 Agradecimientos Dr. Alfedro Miranda Mag.Alfedro Paz Dr. Carlos Leyton Dr(c). Christian L´opez del Alamo Dr. Edgar Lobaton Dr. Eduardo Tejada Dr. Jes´us Mena Dr. Jos´e Corrales-Nieves Dr(c). Juan Carlos Gutierrez Lic. Lu´ıs Pareja Dr. Nestor Calvo Dra(c). Regina Ticona Familia Barrios Neyra
  • 57.
    44 Referencias Bradley, D., Popa,T., Sheffer, A., Heidrich, W., and Boubekeur, T. (2008). Markerless garment capture. ACM Transactions on Graphics (TOG), 27:99:1–99:9. Cipolla, R., Battiato, S., and Farinella, G. M. (2010). Computer Vision: Detection, Recognition and Reconstruction. Springer. Faugeras, O. (1993). Three-dimensional Computer Vision: A Geometric Viewpoint. The MIT Press. ISBN: 0262061589. Fusiello, A., Trucco, E., and Verri, A. (2000). A compact algorithm for rectification of stereo pairs. Machine Vision and Applications, 12:16–22. Hartley, R. and Zisserman, A. (2004). Multiple View Geometry in Computer Vision. Second Edition. Cambridge University Press. ISBN: 0521540518. Ma, Y., Soatto, S., Koˇseck´a, J., and Sastry, S. S. (2004). An Invitation to 3D Vision from Images to Geometric Models. Springer. ISBN: 0387008934. Scharstein, D. and Szeliski, R. (2002). A taxonomy and evaluation of dense two-frame stereo correspondence algorithms. International Journal of Computer Vision, 47:7–42. Szeliski, R. (2011). Computer Vision: Algorithms and Applications. Springer. ISBN: 9781848829343.
  • 58.
    RECONSTRUCCI´ON 3-D DEUN MODELO BASADO EN SU VISI´ON ESTEREOSC´OPICA Tesista Guillermo Enrique Medina Zegarra Orientador Dr. Edgar Lobaton, USA Co-Orientador Dr. Nestor Calvo, Argentina Arequipa - Per´u 07 de Mayo del 2012 44
  • 59.
    45 Puntos de vista(percepci´on) (a) ¿ El vaso esta medio lleno o medio vacio ? (b) ¿ Es un pato o un conejo ?
  • 60.
    46 Contenido extra Contenido extra 1Datos de procesamiento 2 Geometr´ıa de una vista 3 Geometr´ıa de dos vistas 4 Rectificaci´on e intersecci´on de rectas 5 Mapa de disparidad 6 Filtro Gaussiano y filtro de la mediana 7 Propiedades de la triangulaci´on de Delaunay
  • 61.
    47 Datos de procesamiento Unprocesador Intel (R) Core (TM) 2 CPU 1.66 GHz y una memoria RAM 2GB. El costo computacional del algoritmo en el peor caso es O(n3 ) y en el mejor caso es Θ(n2 ). El tiempo del procesamiento del algoritmo es de 25 minutos.
  • 62.
    48 Modelamiento geom´etrico (matrizde mapeamiento) propuesta slide π : R4 → R3 ; p → x   fsx fsθ ox 0 fsy oy 0 0 1   K =   sx sθ ox 0 sy oy 0 0 1   Ks   f 0 0 0 f 0 0 0 1   Kf (1)   u v 1   x = K   1 0 0 0 0 1 0 0 0 0 1 0   Π0 R t 0 1 g π     X Y Z 1     p (2)
  • 63.
    49 Ecuaciones de laGeometr´ıa Epipolar slide Restricci´on epipolar xT 2 Fx1 = 0
  • 64.
    49 Ecuaciones de laGeometr´ıa Epipolar slide Restricci´on epipolar xT 2 Fx1 = 0 Matriz Fundamental F = K−T 2 EK−1 1
  • 65.
    49 Ecuaciones de laGeometr´ıa Epipolar slide Restricci´on epipolar xT 2 Fx1 = 0 Matriz Fundamental F = K−T 2 EK−1 1 Matriz esencial E = [t]x R
  • 66.
    49 Ecuaciones de laGeometr´ıa Epipolar slide Restricci´on epipolar xT 2 Fx1 = 0 Matriz Fundamental F = K−T 2 EK−1 1 Matriz esencial E = [t]x R Matriz antisim´etrica [t]x =   0 −c b c 0 −a −b a 0   (3)
  • 67.
    50 Sistema lineal parala matriz F ui , vi , 1 T   F11 F12 F13 F21 F22 F23 F31 F32 F33   ui , vi , 1 = 0 , i ∈ R + (4) uu F11 + uv F21 + uF31 + vu F12 + vv F22 + vF32 + u F13 + v F23 + F33 = 0 (5)             u1u1 u1v1 u1 v1u1 v1v1 v1 u1 v1 1 u2u2 u2v2 u2 v2u1 v2v2 v2 u2 v2 1 u3u3 u3v3 u3 v3u1 v3v3 v3 u3 v3 1 u4u4 u4v4 u4 v4u1 v4v4 v4 u4 v4 1 u5u5 u5v5 u5 v5u1 v5v5 v5 u5 v5 1 u6u6 u6v6 u6 v6u1 v6v6 v6 u6 v6 1 u7u7 u7v7 u7 v7u1 v7v7 v7 u7 v7 1 u8u8 u8v8 u8 v8u1 v8v8 v8 u8 v8 1             A              F11 F12 F13 F21 F22 F23 F31 F32 F33              F = 0 (6)
  • 68.
    51 Sistema lineal parala matriz F (cont...) Minimizar: A F 2 = 8 i=1 (u T i Fui ) 2 (7) Sujeto a: F 2 = 1 (8) Por lo tanto, se forma la siguiente funci´on de Lagrange: L(F, λ) = A F 2 − λ( F 2 − 1) (9) Por consiguiente, se aplica el m´etodo de los multiplicadores de Lagrange: JL(F, λ){ 2AT AF − λ(2F) F 2 − 1 , λ ∈ R + (10) Ahora, se procede a resolver la ecuaci´on JL(f , λ) = 0. La cual, es equivalente a hallar los autovalores y autovectores de la matriz sim´etrica AT A: AT AF = λ.F F 2 = 1 (11) Al calcular los autovectores, se habra encontrado la matriz fundamental F.
  • 69.
    52 Calculando los autovaloresde una matriz (ejemplo) A =   1 1 0 2 0 1 0 0 3   A − λI =   1 − λ 1 0 2 −λ 1 0 0 3 − λ   (12) det( A - λ I ) = (1 - λ)(- λ )(3 - λ ) - 2( 3 - λ ) det( A - λ I ) = ( - λ + λ2 )(3 - λ )- 6 + 2 λ det( A - λ I ) = - λ3 + 4 λ2 - λ - 6 det( A - λ I ) = λ3 - 4 λ2 + λ + 6 Resolviendo el polinomio se encuentran las raices (autovalores), los cuales son: -1, 2 y 3
  • 70.
    53 Calculando los autovectoresde una matriz (ejemplo) A =   1 1 0 2 0 1 0 0 3   A − λI =   1 − λ 1 0 2 −λ 1 0 0 3 − λ   (13) I) Para λ = -1 (A - λ I)v =0 (A - (-1) I)v =0 (A + I)v =0   2 1 0 2 1 1 0 0 4   (A+I)   a b c   =   0 0 0   (14)
  • 71.
    54 Calculando los autovectoresde una matriz (ejemplo) Haciendo el m´etodo de Gauss tenemos:   1 1 2 0 0 0 1 0 0 0   (15) c=0 (a, b, c) = (−b 2 , b, 0) a + b 2 = 0 ⇒ a = −b 2 (a, b, c) = b(−1 2, 1, 0)
  • 72.
    55 Calculando los autovectoresde una matriz (ejemplo) II) Para λ = 2   −1 1 0 2 −2 1 0 0 1   (A−2×I)   1 −1 0 0 0 1 0 0 0   (16) c=0 (a,b,c) = (b,b,0) a-b=0 ⇒ a = b (a,b,c) = b(1,1,0)
  • 73.
    56 Calculando los autovectoresde una matriz (ejemplo) III) Para λ = 3   −2 1 0 2 −3 1 0 0 0   (A−3×I)   1 −1 2 0 0 1 −1 2 0 0 0   (17) b − c 2 = 0 a − b 2 = 0 (a,b,c) = (c 4 , c 2 , c) b = c 2 a = b 2 (a,b,c) = c(1 4, 1 2, 1) a = c 4 Los autovalores son: {(−1 2, 1, 0), (1, 1, 0), (1 4, 1 2, 1)}
  • 74.
    57 Planteamiento inicial dela rectificaci´on propuesta slide La variable π representa a la matriz de mapeamiento x ∼= π p (18) Factorizaci´on QR de la matriz π π = K[R | t] (19) La matriz π se re-escribe como: π =   qT 1 |q14 qT 2 |q24 qT 3 |q34   = Q|q (20)
  • 75.
    58 Planteamiento inicial dela rectificaci´on (cont...) Las coordenadas del centro ´optico c est´a definido como: c = −Q−1 q (21) Se hace un despeje de la ecuaci´on 21 en funci´on de q. π = [Q| − Qc] (22)
  • 76.
    59 Desarrollo de larectificaci´on Matriz de transformaci´on xr1 = λ Qr1Q−1 o1 Tl xo1 λ ∈ R+ (23) Para lo cual: πo1 = [Qo1|qo1] πo1 MPP imagen izquierda inicial πr1 = [Qr1 |qr1] πr1 MPP imagen izquierda rectificada
  • 77.
    60 Pasos para hallarla matriz de transformaci´on Se hace una factorizaci´on QR de las matrices iniciales π1 = K[R | − R c1] π1 MPP de la imagen izquierda π2 = K[R | − R c2] π2 MPP de la imagen derecha (24) Los centros ´opticos se hallan con la ecuaci´on 21 La matriz K es la matriz de par´ametros intr´ınsecos La matriz de rotaci´on R es la misma para ambas matrices de mapeamiento
  • 78.
    61 Pasos para hallarla matriz de transformaci´on (cont...) Hallando la matriz de rotaci´on R R =   rT 1 rT 2 rT 3   (25) El nuevo eje X es paralelo a la l´ınea base: r1 = ( c1−c2 c1−c2 ) El nuevo eje Y es ortogonal a X, k : r2 = k ∧r1 El nuevo eje Z es ortogonal a XY r3 = r1 ∧ r2
  • 79.
    62 Vector unitario k Demostraci´onde la ortogonalidad del vector Y a trav´es del vector unitario k. Plano R3 Z × X = i j k 0 0 1 1 0 0 Z × X = i(0) - j(-1) + k(0) Z × X = 0i + 1j + 0k Z × X Y = (0,1,0) return
  • 80.
    63 Intersecci´on de rectas(triangulaci´on) slide p = c1 + tQ−1 r1 x1 t ∈ R p = c2 + sQ−1 r2 x2 s ∈ R (26)
  • 81.
    64 Intersecci´on de rectas(ejemplo) return L1 : (X, Y , Z) p = (1, 2, 1) c1 +t (2, 0, 3) Q−1 r1 x1 L2 : (X, Y , Z) p = (5, 4, 1) c2 +s (−2, −2, 3) Q−1 r2 x2 L1 : (X, Y , Z) = (1 + 2t, 2, 1 + 3t) L2 : (X, Y , Z) = (5 − 2s, 4 − 2s, 1 + 3s) t = 1 , s = 1 (X, Y , Z) = (3, 2, 4) (27)
  • 82.
    65 Representaci´on del puntomedio Calculando el punto medio c1Q1 + λ = R1 tx1 + Q2−Q1 2 = R1 tx1 + (c2+sx2)−(c1+tx1) 2 = R1 tx1 + (c2−c1)+(sx2−tx1) 2 = R1 c2Q2 − λ = R2 sx2 − Q1−Q2 2 = R2 sx2 − (c1+tx1)−(c2+sx2) 2 = R2 sx2 − (c1−c2)+(tx1−sx2) 2 = R2 L1 = c1 + mR1 M = ( Q1+Q2 2 ) L2 = c2 + nR2 M = ( c1+tx1+c2+sx2 2 ) L1 ∩ L2 = M M = ( c1+c2 2 + tx1+sx2 2 )
  • 83.
    66 Factorizaci´on QR La factorizaci´onde la matriz de mapeamiento π consta de la siguientes dos matrices: π = Q × R donde: La matriz Q se obtiene a trav´es del proceso de Gram-Schmidt La matriz R se consigue a trav´es de la siguiente multiplicaci´on R = QT × π return
  • 84.
    67 Proceso Gram-Schmidt u1 =v1, uk = vk - k−1 j=1 vk ,uj uj 2 , ; j = 2,. . .,k return
  • 85.
    68 Proceso Gram-Schmidt (ejemplo) A= {(1, 0, 1) v1 , (0, 0, 1) v2 , (1, 1, −1) v3 } u1 = v1 = (1, 0, 1) u2 = (0, 0, 1) − 1 2(1, 0, 1) u2 = (- 1 2 ,0, 1 2 ) u3 = (1,1,-1) - 0 2 (1,0,1) - (−1) 1 2 (- 1 2 ,0, 1 2 ) u3 = (1,1,-1) + 2(- 1 2 ,0, 1 2 ) u3 = (0,1,0) La base ortogonal de A es {(1, 0, 1), (−1 2, 0, 1 2), (0, 1, 0)}
  • 86.
    69 Pseudo-c´odigo del algoritmode c´alculo de disparidad dispComp(imDerecha,imIzquierda,maxDisp) 1 thNorm ← escalar ∗ (2 ∗ r + 1) 2 for i = 1 + r to col − r do 3 for j = 1 + r to fil − maxDisp − r do 5 pBase ← imDerecha(i − r : i + r, j − r : j + r) 6 pBase ← pBase − promedio(pBase) 7 nBase ← norma(pBase) 8 if nBase <= thNorm then 9 continue 10 end if 11 pBase ← pBase/nBase 12 for sh = 1 to maxDisp do 13 pShift ← imIzquierda(i − r : i + r, j + sh − r : j + sh + r) 14 pShift ← pShift − promedio(pShift) 15 nShift ← norma(pShift) 16 if nShift <= thNorm then 17 corr[sh] ← 0 18 continue 19 end if 20 corr[sh] ← sum((pShift/nShift). ∗ (pBase)) 21 end for 22 [valor indice] ← max(corr) 23 if valor == 0 then 24 imDisp[i, j] ← 0 25 else 26 imDisp[i, j] ← indice 27 end if 28 end for 29 end for 30 return(imDisp)
  • 87.
    70 Mapa de disparidad propuesta slide Correlaci´onNormalizada Cruzada (CNC) u,v (I1(u,v)−I1)(I2(u+d,v)−I2) u,v (I1(u,v)−I1)2 u,v (I2(u+d,v)−I2)2
  • 88.
    70 Mapa de disparidad propuesta slide Correlaci´onNormalizada Cruzada (CNC) u,v (I1(u,v)−I1)(I2(u+d,v)−I2) u,v (I1(u,v)−I1)2 u,v (I2(u+d,v)−I2)2 d(x, y) = arg supr∈RC(x, y, r) (28)
  • 89.
    71 Filtro Gaussiano slide Valores dela m´ascara 1 2 1 2 3 2 1 2 1 Matriz deslizante de filtrado en el dominio espacial
  • 90.
    72 Filtro de lamediana slide Valores de ejemplo 6 2 0 3 97 4 19 3 10 En orden ascendente los n´umeros ser´ıan : 0, 2, 3, 3, 4, 6, 10, 15, 97
  • 91.
    72 Filtro de lamediana slide Valores de ejemplo 6 2 0 3 97 4 19 3 10 En orden ascendente los n´umeros ser´ıan : 0, 2, 3, 3, 4, 6, 10, 15, 97 Valor actualizado * * * * 4 * * * * El valor inicial fue 97 y luego de utilizar el filtro de la mediana fue reemplazado por 4
  • 92.
    73 Suavizaci´on del Laplaciano slide Calculala posici´on de un v´ertice q a partir del promedio de los v´ertices adyacentes. Ejemplo: 3,6 5,4 9,2 14,3 16,10 7,6 ——— 54, 31 p(9,5) = 54 6 , 31 6 Representaci´on de la suavizaci´on del Laplaciano [Vollmer et al., 1999]
  • 93.
    74 Propiedades de laTriangulaci´on de Delaunay slide Figura: Ilustraci´on de la primera propiedad de la Triangulaci´on de Delaunay.
  • 94.
    75 Propiedades de laTriangulaci´on de Delaunay (cont...) Figura: Ilustraci´on de la segunda propiedad de la Triangulaci´on de Delaunay.
  • 95.
    76 Propiedades de laTriangulaci´on de Delaunay (cont...) (a) Arista ilegal (b) Correcci´on de la arista ilegal
  • 96.
    77 Consideraciones del patr´onde calibraci´on Detecci´on de las esquinas del patr´on Detecci´on de los puntos internos del patr´on
  • 97.
    78 Algoritmo de reducci´onde pol´ıgonos Reducci´on de pol´ıgonos