SlideShare una empresa de Scribd logo
INGENIERÍA TÉCNICA EN TOPOGRAFÍA
PROYECTO FINAL DE CARRERA
GEOMETRÍA EPIPOLAR DE UN PAR FOTOGRAMÉTRICO
Proyectista: Elena Aldeguer Lima
Director: Albert Prades Valls
Convocatoria: Junio 2011
Geometría epipolar de un par fotogramétrico 1
RESUMEN
Este proyecto final de carrera consiste en el remuestreo de los fotogramas de un
bloque fotogramétrico para que cada par, presente geometría epipolar. Se parte de la
suposición de que la orientación externa (triangulación aérea) está ya hecha y que
disponemos de los fotogramas originales del vuelo.
En este trabajo se han implementado funciones, programadas en lenguaje en C, que
modifican la geometría de los fotogramas. Se han desarrollado las ecuaciones de
colinealidad y dos funciones de interpolación para el remuestreo de los niveles digitales de
las imágenes: bilineal y cúbica. Posteriormente, se ha añadido una rutina para fusionar dos
fotogramas en uno solo, codificando la imagen de la derecha en rojo y la de la izquierda en
cian, para poder verlos en tres dimensiones con la ayuda de unas gafas anaglíficas.
Geometría epipolar de un par fotogramétrico
2
Geometría epipolar de un par fotogramétrico 3
ÍNDICE
1 INTRODUCCIÓN …………………………………………………………………… 5
2 NÚCLEO DE LA MEMORIA ………………………………………………………. 7
2.1 CONCEPTOS BÁSICOS ………………………………………………. 7
2.1.1 ¿QUÉ ES LA GEOMETRÍA EPIPOLAR? …………………. 7
2.1.2. REMUESTREO ………………………………………………. 8
2.2 ROTACIÓN DE LAS IMÁGENES ……………………………………… 8
2.3 INTERPOLACIÓN BILINEAL ………………………………………….. 11
2.4 CONVOLUCIÓN CÚBICA ……………………………………………… 14
2.5 GEOMETRÍA EPIPOLAR ……………………………………………… 17
2.6 VISIÓN ESTEREOSCÓPICA …………………………………………. 19
2.6.1 SEPARACIÓN ESTEREOSCÓPICA: ANAGLIFOS …….. 19
2.6.1.1 CÓMO FUNCIONAN …………………………….. 19
2.6.1.2 APLICACIÓN PRÁCTICA ……………………….. 20
3 CONCLUSIONES …………………………………………………………………. 23
4 BIBLIOGRAFÍA …………………………………………………………………….. 25
5 AGRADECIMIENTOS …………………………………………………………….. 27
Geometría epipolar de un par fotogramétrico
4
Geometría epipolar de un par fotogramétrico 5
1. INTRODUCCIÓN
El presente proyecto de final de carrera, hace referencia a la transformación de una
par de fotogramas y el remuestreo de estos. Hemos de tener en cuenta que dichas
imágenes ya han pasado por todo el proceso de normalización, entendiendo como
normalización el proceso de orientación interna y externa, cálculo de marcas fiduciales, etc.
El objetivo de este proyecto es la implementación de un programa en C que sea
capaz de someter a un giro en el espacio de pares fotogramétricos así como interpolar cada
uno de los niveles digitales con dos métodos distintos (de forma separada), la interpolación
bilineal y la convolución cúbica, que se explicarán detalladamente más adelante. Una vez
conseguido esto, que es el objetivo principal del proyecto, se presentará el resultado final en
una única imagen adecuada para poder ser vista en tres dimensiones con unas gafas
anaglíficas.
Ambas imágenes pertenecen a un vuelo fotogramétrico de cinco pasadas,
organizado por el “Institut Cartogràfic de Catalunya”, sobre el municipio de Sallent, con una
escala fotográfica de aproximadamente 1/ 7000.
Geometría epipolar de un par fotogramétrico
6
Geometría epipolar de un par fotogramétrico 7
2. NÚCLEO DE LA MEMORIA
2.1. CONCEPTOS BÁSICOS
2.1.1. ¿QUÉ ES LA GEOMETRÍA EPIPOLAR?
Antes de empezar a profundizar en todo el proceso seguido para la epipolarización
de los dos fotogramas, es necesaria la explicación de algunos conceptos básicos, y entre
ellos el más importante, ya que está en el título del proyecto, el de geometría epipolar.
Hemos de tener en cuenta, que las condiciones de vuelo durante la toma de
fotografías no es lo que se suelo llamar “condición ideal”, con ello quiero decir, que su ruta
no es totalmente recta, además de las condiciones atmosféricas y otros factores que
intervienen, por lo que las fotografías no suelen tener el mismo ángulo de inclinación unas
respecto a las otras. Es por ello que deben pasar por un proceso de normalización. El
resultado final de este proceso, el cual no entra en lo que a este proyecto se refiere, es el de
conseguir que los ejes de abscisas (es decir, las y) sean, en ambas imágenes, iguales.
Figura 2.1.1: Geometría epipolar. La primera imagen (a), representa el par estereoscópico
original tal y como se tomó, mientras que la imagen (b) es su posición normalizada. C’ y C’’
representan los dos centros de proyección y la unión de ambos es lo que se llama la base
aérea; P es un punto objeto para la definición del plano epipolar, P’ y P’’ son sus
proyecciones; e’ y e’’ son líneas epipolares, es decir, las intersecciones del plano epipolar
con las fotografías.
Geometría epipolar de un par fotogramétrico
8
2.1.2. REMUESTREO
El remuestreo hace referencia a lo que le ocurre a una imagen tras haber sufrido una
transformación geométrica. Eso quiere decir que, cuando una imagen es sometida a dicha
transformación, los píxeles se ven afectados, no coincidiendo con la posición de los de la
imagen original, o en algunos casos teniendo que añadir más o menos, según se cambie el
tamaño de la imagen original.
Tras sufrir estas transformaciones, las imágenes suelen perder calidad, por lo que es
necesario someterlas a una interpolación para su suavizado. Hay varios métodos para ello:
- Método del vecino más próximo.
- Interpolación bilineal.
- Convolución cúbica.
En los capítulos siguientes a este, se explicará con más detalle estos métodos y
cómo afectan a la imagen transformada.
2.2. ROTACIÓN DE LAS IMÁGENES
Antes de empezar con la rotación, hay un paso importante, que es el de calcular las
nuevas coordenadas de las cuatro esquinas de la imagen tras haber sufrido una rotación de
α grados, ya que la imagen tendrá otro tamaño, el cual es necesario definir para poder
empezar a programar. Sabiendo de antemano que la imagen es de 7680*13824 píxeles,
podremos obtener las coordenadas de las esquinas:
Esquina superior izquierda: X = 0
Y = 0
Esquina superior derecha: X = 7680
Y = 0
Esquina inferior derecha: X = 7680
Y = 13824
Esquina inferior izquierda: X = 0
Y = 13824
Geometría epipolar de un par fotogramétrico 9
Figura 2.2 (a): imágenes originales, antes de ser modificadas, con las que se ha trabajado.
Una vez definidas, harán falta las ecuaciones de colinealidad para el cálculo de las
nuevas coordenadas:
= 11 + 12
= 21 + 22
donde:
- X e Y corresponden a las coordenadas originales de la imagen.
Una vez obtenidos los resultados, sabiendo la coordenada de mínimo valor, con una
simple suma a las coordenadas origen podremos obtener las nuevas dimensiones, que en
este caso serán de 9365*14685 píxeles.
Para poder hacer la rotación de la imagen, se necesitará aplicar una matriz de
rotación total, que es la siguiente:
R total =
11 12 13
21 22 23
31 32 33
Geometría epipolar de un par fotogramétrico
10
donde:
11 = cos cos
12 = sin cos
13 = − sin
21 = sin sin cos − sin cos
22 = sin sin sin + cos cos
23 = cos sin
31 = sin cos cos + sin sin
32 = sin cos sin − sin cos
33 = cos cos
Al hacer la proyección ortogonal sobre la nueva imagen, la coordenada z será
constante para todos los puntos, por lo que los términos de r13, r23 y r33 no se tendrán en
cuenta a la hora de efectuar los cálculos del giro. Al estar trabajando con un par de
fotografías, esta operación se efectuará dos veces, dentro del propio programa.
Figura 2.2 (b): En primer lugar puede verse la imagen
antes de la rotación; la que la sucede es la misma
imagen tras la rotación.
Geometría epipolar de un par fotogramétrico11
2.3. INTERPOLACIÓN BILINEAL
En este tipo de interpolación, se asigna a la celda corregida la media ponderada de
los valores digitales correspondientes a los cuatro píxeles más cercanos de la imagen
transformada, donde el peso asociado a cada nivel digital es proporcional a las cercanías de
ellos (1-Δx y 1-Δy), medida la distancia entre los centros de las celdas.
Figura 2.3 (a): Muestra del concepto de interpolación bilineal.
Una vez se ha girado la imagen, al ser ésta más grande que su original, pierde
calidad, ya que se han tenido que añadir píxeles para compensar el cambio de tamaño, por
lo que es necesario suavizarla con una interpolación, en este primer caso, la bilineal. Para
ello se ha empleado las siguientes fórmulas:
c1 = 1 − 1 −
c2 = 1 −
c3 = 1 −
c4 =
donde a es la diferencia de las x resultantes al giro y las x originales y b la diferencia de las y
resultantes al giro y las y originales. Estos parámetros serán los que se necesitarán para
poder utilizar la fórmula final:
V x, y = c1 f I, j + c2 f i+1,j + c3 f i, j+1 + c4 f i+1, j+1
donde las f corresponden, como bien puede verse en la figura 2.3 (a), a las esquinas de
cada píxel del fotograma.
Geometría epipolar de un par fotogramétrico
12
A continuación, un fragmento del código del programa que realiza los cálculos de la
interpolación bilineal:
ima2 = new unsigned char $9750 ∗ 15250*;
double xx, yy;
double XX, YY;
double a, b;
double R$3*$3*;
R$0*$0* = cos κ ∗ cos φ ;
R$0*$1* = sin κ ∗ cos φ ;
R$0*$2* = − sin φ ;
R$1*$0* = sin φ ∗ sin ω ∗ cos κ − sin κ ∗ cos ω ;
R$1*$1* = sin κ ∗ sin ω ∗ sin φ + cos κ ∗ cos ω ;
R$1*$2* = cos φ ∗ sin ω ;
R$2*$0* = sin φ ∗ cos ω ∗ cos κ + sin ω ∗ sin κ ;
R$2*$1* = sin φ ∗ cos ω ∗ sin κ − sin ω ∗ cos κ ;
R$2*$2* = cos φ ∗ cos ω ;
for x = 0; x < 9750 ∗ 15250; + + ima2$x* = 0;
for y = 0; y < 9750; + + {
for x = 0; x < 15250; + + {
xx = x + minx;
yy = y + miny;
XX = xx ∗ R$0*$0* + yy ∗ R$0*$1*;
YY = xx ∗ R$1*$0* + yy ∗ R$1*$1*;
X = int XX;
Y = int YY;
a = XX − X;
b = YY − Y;
if X ≥ 0 && Y ≥ 0 && X < 7679 && Y < 13824 {
ima2$15250 ∗ y + x* = 1 − a ∗ 1 − b ∗ ima$Y ∗ 7680 + X* + a ∗ 1 − b ∗
ima$Y ∗ 7680 + X + 1* + b ∗ 1 − a ∗ ima$ Y + 1 ∗ 7680 + X* + a ∗ b ∗ ima$ Y1 ∗ 7680 + X + 1*;
}
}
}
Geometría epipolar de un par fotogramétrico13
Figura 2.3 (b): la primera imagen corresponde al giro sin ningún tipo de interpolación para
suavizarla; en la segunda imagen, se puede comprobar que, tras aplicarle la interpolación
bilineal, se ve alguna mejoría pero a duras penas puede distinguirse diferencia alguna con la
primera.
Figura 2.3 (c): la primera imagen corresponde a la fotografía original; la segunda cuando se
le aplica el giro, pero sin interpolación; y la tercera es la imagen girada y con la interpolación
bilineal.
Geometría epipolar de un par fotogramétrico
14
2.4. CONVOLUCIÓN CÚBICA
En la convolución cúbica, o interpolación cúbica, la segunda que se ha utilizado para
el suavizado de la imagen resultante al giro, se hace el ajuste de una función polinómica con
los valores de los dieciséis píxeles próximos, en vez de con los cuatro, como pasaba con la
interpolación bilineal. Se ha de tener en cuenta, que para dar peso a los dieciséis píxeles de
entrada, los píxeles más lejanos tendrán, exponencialmente, menos peso que aquellos que
están cerca.
Existen diferentes versiones de la ecuación de convolución cúbica, cada una de las
cuales con resultados de salida diferentes, en lo que a niveles digitales se refiere. Para este
caso, se ha usado la de ERDAS IMAGINE, que tiene un compromiso entre baja y alta
frecuencia. Con esta interpolación, la imagen resultante tiene un resultado mucho más
natural y se evita el efecto de bloques.
La fórmula es la siguiente:
Vr = ∑ A B − 1, C + D − 2 E F B − 1, C + D − 2 + 1
G
HIJ
+A B, C + D − 2 EKF B, C + D − 2 L
+A B + 1, C + D − 2 E F B + 1, C + D − 2 − 1
+A B + 2, C + D − 2 E F B + 2, C + D − 2 − 2
donde f corresponde a la función:
E = M
+ 2 | |O
− + 3 | |P
+ 1
| |O
− 5 | |P
2 + 8 | | − 4
0
Q
BE | | < 1
BE 1 < | | < 2
RS TRDFBTBóD
a= -0.5 (constante que difiere en otras aplicaciones de convolución cúbica). En el programa
se la ha nombrado como constante.
d(i,j) = distancia entre un píxel con coordenadas (x, y) y (x’, y’). En el programa se le ha
llamado a y b.
Se ha de tener en cuenta que esta fórmula es la base con la cual se ha trabajado,
adaptándola después al programa y los parámetros empleados. Por lo que V(i, j) hace
referencia a las coordenadas de cada píxel. A continuación, un extracto del código
empleado para calcular la convolución cúbica, y cómo se programó la parte de la función.
- Extracto del programa en C; función f:
double f double y, double constante {
double x = fabs y ;
if x < 1 {
return K constante + 2 ∗ x ∗ x ∗ x − constante + 3 ∗ x ∗ x + 1L;
}
else if abs x ≥ 1 && V x < 2 {
return constante ∗ x ∗ x ∗ x − 5 ∗ constante ∗ x ∗ x + 8 ∗ constante ∗ x − 4 ∗ constante ;
}
else {
return 0;
}
}
Geometría epipolar de un par fotogramétrico15
- Extracto del programa en C; cálculo de la convolución cúbica:
for int n = 0; n < 4; + + D
$D* = BW $ ∗ 7680 + − 1* ∗ E + 1, TRDVS DSX +
+ima$Y ∗ 7680 + X* ∗ Kf a, constante L+
+BW $ ∗ 7680 + + 1* ∗ E − 1, TRDVS DSX +
+BW $ ∗ 7680 + + 2* ∗ E − 2, TRDVS DSX ;
aux = aa$0* ∗ f b + 1.0, constante +
aa$1* ∗ f b, constante +
aa$2* ∗ f b − 1.0, constante +
aa$3* ∗ f b − 2.0, constante ;
ima2$15250 ∗ y + x* = unsigned char aux;
Figura 2.4 (a): la primera imagen corresponde al giro sin ningún tipo de interpolación para
suavizarla; en la segunda imagen, se puede comprobar que, tras aplicarle la interpolación
cúbica, en la segunda imagen se ve cierta mejoría en cuanto a la definición se refiere.
Geometría epipolar de un par fotogramétrico
16
Figura 2.4 (b): la primera imagen corresponde a la fotografía original; la segunda cuando se
le aplica el giro, pero sin interpolación; y la tercera es la imagen girada y con la interpolación
cúbica. Nótese que, en la segunda, aparecen artefactos en los bordes del edificio cuadrado
del centro de la imagen. Sin embargo, en la última, donde se ha aplicado la convolución
cúbica, los bordes se ven mucho más suaves y el aspecto general es más parecido al
original.
Geometría epipolar de un par fotogramétrico17
2.5. GEOMETRÍA EPIPOLAR
Una vez se ha aplicado la rotación a las imágenes y se ha interpolado, es cuando se
empieza con la epipolarización. Este proceso no es otro que el de hacer pasar una línea a lo
largo de la dirección de vuelo de la imagen. Para hacerlo más fácil, se ha escogido un punto
como referencia, la esquina de una casa, que está en la zona de solapamiento de ambas
fotografías. Con el fragmento de código siguiente, creamos dicha línea:
for = 0; < 9750; + + {
ima2$15250 ∗ + 1615* = 255;
}
donde ima2 corresponde al archivo donde se está guardando la imagen y 1615 son las
coordenadas x de la esquina de la casa que se había seleccionado como punto de
referencia. En la segunda imagen, todo el proceso es el mismo, solo que a la hora de
realizar este último paso, la diferencia de coordenadas es de 238 menos, es decir 1377.
Figura 2.5 (a): primera imagen epipolarizada, con detalle de la esquina de la casa.
Figura 2.5 (b): segunda imagen epipolarizada, con detalle de la esquina de la casa.
Geometría epipolar de un par fotogramétrico
18
Figura 2.5 (c): primera imagen epipolarizada, otro detalle.
Figura 2.5 (d): segunda imagen epipolarizada, otro detalle (igual a la primera).
Geometría epipolar de un par fotogramétrico19
2.6. VISIÓN ESTEREOSCÓPICA
Para concluir con el proyecto, hemos de hablar de la visión estereoscópica. El
sistema de visión estereoscópica hace referencia a la capacidad de ver en tres dimensiones,
con la integración de dos imágenes separadas en una. Esta separación se logra de
diferentes maneras: espacialmente, espectralmente o temporalmente. Este caso se centrará
en la separación espectral, concretamente en la implantación de anaglifos.
Separación Realización o implantación
Espacial
2 monitores + estereóscopo
1 monitor + estereóscopo (pantalla partida)
2 monitores + polarización
Espectral Anaglifos
Polarización
Temporal Visualización en pantalla alternativamente
de las imágenes izquierda y derecha
sincronizadas por polarización.
Cuadro 2.6: separación de imágenes para visión estereoscópica (adaptado de Heipke
(1995)).
2.6.1. SEPARACIÓN ESPECTRAL: ANAGLIFOS
Los anáglifos son la forma más común de separación espectral, ya que es un método
muy sencillo y de bajo coste. Este tipo de imágenes están compuestas por dos capas de
color, superpuestas pero movidas ligeramente una respecto a la otra, para producir el efecto
de profundidad. Por lo general, el objeto principal está situado en el centro mientras que
todo lo demás está movido en direcciones opuestas. La imagen resultante contiene dos
imágenes filtradas por color, una para cada ojo (rojo y cian). Con la ayuda de unas gafas de
anaglifo, la corteza visual del cerebro fusionará esto dentro de la percepción de la escena
con profundidad.
2.6.1.1. CÓMO FUNCIONAN
Ver anáglifos a través de filtros de color apropiados da como resultado que cada ojo
observa una imagen ligeramente diferente. En un anáglifo rojo-cian, el ojo cubierto por el
filtro rojo verá las partes rojas de la imagen como “blancas” y las partes en cian como
“oscuras”. Mientras que el ojo que esté cubierto por el filtro cian lo percibe de forma
opuesta. El resto de la imagen será percibida igual por ambos ojos. El cerebro fusiona las
imágenes recibidas de cada ojo, y las interpreta como una imagen con profundidad.
Hay que dejar claro, que los filtros de celofán que usaremos, no compensan la
diferencia en longitud de onda de los filtros rojo y cian. Eso significa que, con las gafas de
lentes de celofán, la imagen en rojo se verá borrosa. Para evitar este error, es mejor utilizar
Geometría epipolar de un par fotogramétrico
20
unas gafas de acrílico moldeado, empleados para compensar la dioptría y balancear el
enfoque del filtro rojo con el cian.
2.6.1.2. APLICACIÓN PRÁCTICA
Tras la breve introducción a la visión estereoscópica, se procederá a la explicación
de cómo se han tratado las imágenes resultantes de los apartados anteriores para acabar
convirtiéndola en una única imagen en tres dimensiones.
Para poder empezar a trabajar se ha de guardar la imagen en color, ya que
anteriormente, como se puede apreciar, se hacía en grises. A pesar de que este nuevo
apartado va totalmente relacionado con todo el proceso anterior, pensaremos en que se
está empezando de cero, por lo que se creará un nuevo fichero para guardar la imagen en
tres dimensiones. Partiendo de este pensamiento, se deberán reasignar unas nuevas
dimensiones a la imagen resultante, ya que, a pesar de que estarán ligeramente
superpuestas por la zona de solapamiento de ambas imágenes, su tamaño será algo mayor.
A modo de exageración, las que aquí se han utilizado son de 15250*20000 píxeles, donde
15250 corresponde al tamaño con que se estuvo trabajando en el procesado anterior.
Seguidamente, pasaremos la primera imagen al espectro de banda rojo y la
giraremos, para mayor comodidad a la hora de visualizarla en pantalla. Se hará lo mismo
con la otra, pero en este caso, eliminando el espectro de banda rojo y dejando únicamente
el verde y el azul (cian). También se le aplicará una rotación.
No se deben confundir estas rotaciones de las que se está hablando con las
anteriormente mencionadas, ya que no tienen nada que ver. Estas rotaciones no
transforman la imagen, son tan simples como las que se pueden hacer con cualquier visor
de un ordenador, no estamos sometiendo a cada uno de los píxeles a una transformación
como pasaba antes.
A continuación, se muestra el fragmento del código donde se realiza el proceso
recién explicado; redimensionar la nueva imagen resultante y grabarlas, respectivamente, en
espectros de banda diferentes (rojo y cian):
Geometría epipolar de un par fotogramétrico21
// IMAGEN EN 3D //
FILE ∗ pt3;
FILE ∗ pt3_copia;
ima2 = new unsigned char $3 ∗ 9750 ∗ 15250*;
fopen_s &`S3_TR`B , "Sallent_color_copia", "rb" ;
fread ima2, 3 ∗ 9750 ∗ 15250, sizeof char , pt3_copia ;
fclose pt3_copia ;
int err;
int X, Y, x, y;
ima5 = new unsigned char $3 ∗ 15250 ∗ 20000*;
for int canal = 0 ; canal < 3 ; T D d + + {
for y = 0; y < 15250; + + {
for x = 0 ; x < 20000 ; + + {
ima5$20000 ∗ y + x + canal ∗ 15250 ∗ 20000* = 150;
}
}
}
for y = 0 ; y < 9750 ; + + {
for x = 0 ; x < 15250 ; + + {
if 20000 ∗ x − 394 + y + 4300 ≥ 0
ima5$20000 ∗ x + 394 + y + 4300* = ima2$15250 ∗ y − x + 15250*;
}
}
fopen_s &`S3_TR`B , "Sallent2_color_copia" , "rb" ;
fread ima2, 3 ∗ 9750 ∗ 15250, sizeof char , pt3_copia ;
fclose pt3_copia ;
for int canal = 1 ; canal < 3 ; T D d + + {
for y = 0 ; y < 9750 ; + + {
for x = 0 ; x < 15250 ; + + {
ima5$20000 ∗ x + y + 2309 + canal15250 ∗ 20000* = ima2$15250 ∗ y − x +
15250 + canal ∗ 9750 ∗ 15250*;
}
}
}
if err = fopen_s &`S3_TR`B , "Sallent3D" , "wb" ! = 0 {
puts "error" ;
exit 0 ;
}
fwrite ima5 , 3 ∗ 15250 ∗ 20000 , sizeof char , pt3_copia ;
fclose pt3_copia ;
Geometría epipolar de un par fotogramétrico
22
Figura 2.6.1.2 (a): ambas imágenes por separado antes de unirlas en un solo fotograma.
Figura 2.6.1.2 (b): a la derecha se puede
ver el fotograma con las imágenes.
Arriba, un detalle de la imagen.
Geometría epipolar de un par fotogramétrico23
3. CONCLUSIONES
1. Las primeras tres semanas de realización del proyecto, se invirtieron en el
aprendizaje del lenguaje C básico, lo que me proporcionó los conocimientos
necesarios para poder empezar a programar mínimamente.
2. El trabajo desarrollado permitirá:
- Aplicar un giro en el espacio a dos imágenes que forman un par estereoscópico.
- Para mejorar la calidad visual de las imágenes resultantes, hemos implementado
dos métodos de interpolación de niveles digitales distintos (bilineal y convolución
cúbica).
- Se epipolarizan las imágenes obtenidas, es decir, que una línea recta pase todo a
lo largo de las x en cada imagen, y a pesar de ser relativamente distintas, pase
exactamente por los mismos puntos de referencia de la zona de solape de ambas.
- Generar una imagen tridimensional en un solo fotograma con las imágenes
modificadas.
3. De los dos métodos de interpolación utilizados, el que mejor resultados da es la
convolución cúbica, que le proporciona a la imagen un aspecto más natural.
4. El método para crear la imagen en 3D, la separación espectral anaglífica, a pesar de
ser de las más sencillas y menor coste, da un resultado suficiente.
Geometría epipolar de un par fotogramétrico
24
Geometría epipolar de un par fotogramétrico25
4. BIBLIOGRAFÍA
Libros:
Lerma García, José Luís, Fotogrametría moderna: analítica y digital, editorial UPV (2002).
Schenk, Toni, Fotogrametría Digital, Boixareu editors (2002).
Páginas web:
http://c.conclase.net/ficheros/index.php
http://www.freewebs.com/pdi2005/field_rectificacion.pdf
http://help.adobe.com/es_ES/Photoshop/10.0/help.html?content=WSfd1234e1c4b69f30ea53e
41001031ab64-793c.html
http://www.adpsystems.net/Pdf/Visi%C3%B3n%20%20estereosc%C3%B3pica.pdf
http://es.scribd.com/doc/36263964/102/Geometria-epipolar
Geometría epipolar de un par fotogramétrico
26
Geometría epipolar de un par fotogramétrico27
AGRADECIMIENTOS
El presente proyecto no hubiera podido llevarse a cabo sin la ayuda de mi tutor,
Albert Prades, que tuvo la paciencia de atender a todas mis dudas, que no fueron pocas,
durante todo el proceso de programación.
Agradezco también, a mi familia y amigos, sobre todo a mi hermano, que me han
estado dando ánimos y apoyándome siempre, y no han dejado que tirara la toalla por muy
negras que parecieran las cosas. A Álvaro Gutiérrez, que me ha prestado mucha ayuda,
consejos y sugerencias, en la etapa final del proyecto.
Y por último, pero no menos importantes, a mis compañeros de laboratorio, con los
que he compartido momentos de desesperación y alegría, y a todos aquellos que han
venido a escuchar en qué consistía este proyecto.

Más contenido relacionado

Similar a GEOMETRIA EPIPOLAR.pdf

Hoja De Trabajo Mate Iv Unidad 2
Hoja De Trabajo  Mate Iv  Unidad  2Hoja De Trabajo  Mate Iv  Unidad  2
Hoja De Trabajo Mate Iv Unidad 2
dianuchi
 
Geometria
GeometriaGeometria
Georeferenciacion
GeoreferenciacionGeoreferenciacion
Georeferenciacion
Freddy Geovany Tovar Mariño
 
U7 t1aa1 curvas de segundo grado
U7 t1aa1 curvas de segundo gradoU7 t1aa1 curvas de segundo grado
U7 t1aa1 curvas de segundo grado
Daniel Ramirez
 
Suspensión autobus
Suspensión autobusSuspensión autobus
Suspensión autobus
Vicente Herrera García
 
Pdi ortorectificacion pinto mera
Pdi ortorectificacion pinto meraPdi ortorectificacion pinto mera
Pdi ortorectificacion pinto mera
Eduardo Mera
 
S14-M2 GEOMETRIA - TRANSFORMACIONES GEOMETRICAS
S14-M2  GEOMETRIA - TRANSFORMACIONES GEOMETRICASS14-M2  GEOMETRIA - TRANSFORMACIONES GEOMETRICAS
S14-M2 GEOMETRIA - TRANSFORMACIONES GEOMETRICAS
Jorge La Chira
 
Unidad educativa mayor
Unidad educativa mayorUnidad educativa mayor
Unidad educativa mayor
Karen Chico
 
Introducción a la Fotogrametría Digital
Introducción a la Fotogrametría DigitalIntroducción a la Fotogrametría Digital
Introducción a la Fotogrametría Digital
equiros
 
Transformada discreta de fourier en imagenes
Transformada discreta de fourier en  imagenesTransformada discreta de fourier en  imagenes
Transformada discreta de fourier en imagenes
Dayana Guzman
 
Algebra lineal
Algebra linealAlgebra lineal
Algebra lineal
KIMBERLYMICHAELLECAN
 
Informe topografia final
Informe topografia finalInforme topografia final
Informe topografia final
Maykel jose Rodriguez Rivera
 
Cuaderno de ejercicios quinto año basico 2017 transformaciones geometricas
Cuaderno de ejercicios quinto año basico 2017 transformaciones geometricasCuaderno de ejercicios quinto año basico 2017 transformaciones geometricas
Cuaderno de ejercicios quinto año basico 2017 transformaciones geometricas
eecoronado
 
MODELO CUADRATICO DE LA TRAYECTORIA DE UN VOLEO.pdf
MODELO CUADRATICO DE LA TRAYECTORIA DE UN VOLEO.pdfMODELO CUADRATICO DE LA TRAYECTORIA DE UN VOLEO.pdf
MODELO CUADRATICO DE LA TRAYECTORIA DE UN VOLEO.pdf
MIGUEL BEJAR FERNANDEZ
 
Calculo de areas
Calculo de areasCalculo de areas
Calculo de areas
Astrid Prado
 
Calculo de areas
Calculo de areasCalculo de areas
Calculo de areas
jovanicastillo
 
Propiedades de secciones planas transversales en vigas
Propiedades de secciones planas transversales en vigasPropiedades de secciones planas transversales en vigas
Propiedades de secciones planas transversales en vigas
Jlm Udal
 
Elementos de una función cuadrática
Elementos de una función cuadráticaElementos de una función cuadrática
Elementos de una función cuadrática
profejmarisel
 
Ecuaciones empírica simprimir
Ecuaciones empírica simprimirEcuaciones empírica simprimir
Ecuaciones empírica simprimir
Vladimir Granados
 
Funciones exponencial y logarítmica
Funciones exponencial y logarítmicaFunciones exponencial y logarítmica
Funciones exponencial y logarítmica
Universidad Nacional de Cajamarca-Perú
 

Similar a GEOMETRIA EPIPOLAR.pdf (20)

Hoja De Trabajo Mate Iv Unidad 2
Hoja De Trabajo  Mate Iv  Unidad  2Hoja De Trabajo  Mate Iv  Unidad  2
Hoja De Trabajo Mate Iv Unidad 2
 
Geometria
GeometriaGeometria
Geometria
 
Georeferenciacion
GeoreferenciacionGeoreferenciacion
Georeferenciacion
 
U7 t1aa1 curvas de segundo grado
U7 t1aa1 curvas de segundo gradoU7 t1aa1 curvas de segundo grado
U7 t1aa1 curvas de segundo grado
 
Suspensión autobus
Suspensión autobusSuspensión autobus
Suspensión autobus
 
Pdi ortorectificacion pinto mera
Pdi ortorectificacion pinto meraPdi ortorectificacion pinto mera
Pdi ortorectificacion pinto mera
 
S14-M2 GEOMETRIA - TRANSFORMACIONES GEOMETRICAS
S14-M2  GEOMETRIA - TRANSFORMACIONES GEOMETRICASS14-M2  GEOMETRIA - TRANSFORMACIONES GEOMETRICAS
S14-M2 GEOMETRIA - TRANSFORMACIONES GEOMETRICAS
 
Unidad educativa mayor
Unidad educativa mayorUnidad educativa mayor
Unidad educativa mayor
 
Introducción a la Fotogrametría Digital
Introducción a la Fotogrametría DigitalIntroducción a la Fotogrametría Digital
Introducción a la Fotogrametría Digital
 
Transformada discreta de fourier en imagenes
Transformada discreta de fourier en  imagenesTransformada discreta de fourier en  imagenes
Transformada discreta de fourier en imagenes
 
Algebra lineal
Algebra linealAlgebra lineal
Algebra lineal
 
Informe topografia final
Informe topografia finalInforme topografia final
Informe topografia final
 
Cuaderno de ejercicios quinto año basico 2017 transformaciones geometricas
Cuaderno de ejercicios quinto año basico 2017 transformaciones geometricasCuaderno de ejercicios quinto año basico 2017 transformaciones geometricas
Cuaderno de ejercicios quinto año basico 2017 transformaciones geometricas
 
MODELO CUADRATICO DE LA TRAYECTORIA DE UN VOLEO.pdf
MODELO CUADRATICO DE LA TRAYECTORIA DE UN VOLEO.pdfMODELO CUADRATICO DE LA TRAYECTORIA DE UN VOLEO.pdf
MODELO CUADRATICO DE LA TRAYECTORIA DE UN VOLEO.pdf
 
Calculo de areas
Calculo de areasCalculo de areas
Calculo de areas
 
Calculo de areas
Calculo de areasCalculo de areas
Calculo de areas
 
Propiedades de secciones planas transversales en vigas
Propiedades de secciones planas transversales en vigasPropiedades de secciones planas transversales en vigas
Propiedades de secciones planas transversales en vigas
 
Elementos de una función cuadrática
Elementos de una función cuadráticaElementos de una función cuadrática
Elementos de una función cuadrática
 
Ecuaciones empírica simprimir
Ecuaciones empírica simprimirEcuaciones empírica simprimir
Ecuaciones empírica simprimir
 
Funciones exponencial y logarítmica
Funciones exponencial y logarítmicaFunciones exponencial y logarítmica
Funciones exponencial y logarítmica
 

Último

Infografía de operaciones básicas....pdf
Infografía de operaciones básicas....pdfInfografía de operaciones básicas....pdf
Infografía de operaciones básicas....pdf
jahirrtorresa
 
1. Introduccion a las excavaciones subterraneas (1).pdf
1. Introduccion a las excavaciones subterraneas (1).pdf1. Introduccion a las excavaciones subterraneas (1).pdf
1. Introduccion a las excavaciones subterraneas (1).pdf
raulnilton2018
 
9 Lección perro.pptxcvBWRFWBCCCCCCCCCCCCCCTEN
9 Lección perro.pptxcvBWRFWBCCCCCCCCCCCCCCTEN9 Lección perro.pptxcvBWRFWBCCCCCCCCCCCCCCTEN
9 Lección perro.pptxcvBWRFWBCCCCCCCCCCCCCCTEN
KarinToledo2
 
Sistemas eléctricos de potencia y transmisión
Sistemas eléctricos de potencia y transmisiónSistemas eléctricos de potencia y transmisión
Sistemas eléctricos de potencia y transmisión
MichaelLpezOrtiz
 
Sesión 03 universidad cesar vallejo 2024
Sesión 03 universidad cesar vallejo 2024Sesión 03 universidad cesar vallejo 2024
Sesión 03 universidad cesar vallejo 2024
FantasticVideo1
 
DIAGRAMA ELECTRICOS y circuito electrónicos
DIAGRAMA ELECTRICOS y circuito electrónicosDIAGRAMA ELECTRICOS y circuito electrónicos
DIAGRAMA ELECTRICOS y circuito electrónicos
LuisAngelGuarnizoBet
 
Dosificacion de hormigon NCH 170 actualizada
Dosificacion de hormigon NCH 170 actualizadaDosificacion de hormigon NCH 170 actualizada
Dosificacion de hormigon NCH 170 actualizada
pipex55
 
Infografia de operaciones basicas de la construccion.pdf
Infografia de operaciones basicas de la construccion.pdfInfografia de operaciones basicas de la construccion.pdf
Infografia de operaciones basicas de la construccion.pdf
DanielMelndez19
 
AE 34 Serie de sobrecargas aisladas_240429_172040.pdf
AE  34 Serie de sobrecargas aisladas_240429_172040.pdfAE  34 Serie de sobrecargas aisladas_240429_172040.pdf
AE 34 Serie de sobrecargas aisladas_240429_172040.pdf
sebastianpech108
 
Uso de equipos de protección personal.pptx
Uso de equipos de protección personal.pptxUso de equipos de protección personal.pptx
Uso de equipos de protección personal.pptx
OmarPadillaGarcia
 
METRADOS_Y_PRESUPUESTO_EN_SISTEMA_DRYWALL_24-05.pdf
METRADOS_Y_PRESUPUESTO_EN_SISTEMA_DRYWALL_24-05.pdfMETRADOS_Y_PRESUPUESTO_EN_SISTEMA_DRYWALL_24-05.pdf
METRADOS_Y_PRESUPUESTO_EN_SISTEMA_DRYWALL_24-05.pdf
Augusto César Dávila Callupe
 
380378757-velocidades-maximas-y-minimas-en-los-canales.pdf
380378757-velocidades-maximas-y-minimas-en-los-canales.pdf380378757-velocidades-maximas-y-minimas-en-los-canales.pdf
380378757-velocidades-maximas-y-minimas-en-los-canales.pdf
DiegoAlexanderChecaG
 
Rinitis alérgica-1.pdfuhycrbibxgvyvyjimomom
Rinitis alérgica-1.pdfuhycrbibxgvyvyjimomomRinitis alérgica-1.pdfuhycrbibxgvyvyjimomom
Rinitis alérgica-1.pdfuhycrbibxgvyvyjimomom
DanielaLoaeza5
 
Infografía operaciones básicas construcción .pdf
Infografía operaciones básicas construcción .pdfInfografía operaciones básicas construcción .pdf
Infografía operaciones básicas construcción .pdf
Carlos Pulido
 
Las operaciones básicas en la construcción.
Las operaciones básicas en la construcción.Las operaciones básicas en la construcción.
Las operaciones básicas en la construcción.
MaraManuelaUrribarri
 
S09 PBM-HEMORRAGIAS 2021-I Grabada 1.pptx
S09 PBM-HEMORRAGIAS 2021-I Grabada 1.pptxS09 PBM-HEMORRAGIAS 2021-I Grabada 1.pptx
S09 PBM-HEMORRAGIAS 2021-I Grabada 1.pptx
yamilbailonw
 
Cargas de Cálculos Estructurales de un Puente
Cargas de Cálculos Estructurales de un PuenteCargas de Cálculos Estructurales de un Puente
Cargas de Cálculos Estructurales de un Puente
jemifermelgarejoaran1
 
EXPOSICIÓN NTP IEC 60364-1 - Orlando Chávez Chacaltana.pdf
EXPOSICIÓN NTP IEC 60364-1 - Orlando Chávez Chacaltana.pdfEXPOSICIÓN NTP IEC 60364-1 - Orlando Chávez Chacaltana.pdf
EXPOSICIÓN NTP IEC 60364-1 - Orlando Chávez Chacaltana.pdf
hugodennis88
 
Aletas de transferencia de calor o superficies extendidas dylan.pdf
Aletas de transferencia de calor o superficies extendidas dylan.pdfAletas de transferencia de calor o superficies extendidas dylan.pdf
Aletas de transferencia de calor o superficies extendidas dylan.pdf
elsanti003
 
Infografia - Hugo Hidalgo - Construcción
Infografia - Hugo Hidalgo - ConstrucciónInfografia - Hugo Hidalgo - Construcción
Infografia - Hugo Hidalgo - Construcción
MaraManuelaUrribarri
 

Último (20)

Infografía de operaciones básicas....pdf
Infografía de operaciones básicas....pdfInfografía de operaciones básicas....pdf
Infografía de operaciones básicas....pdf
 
1. Introduccion a las excavaciones subterraneas (1).pdf
1. Introduccion a las excavaciones subterraneas (1).pdf1. Introduccion a las excavaciones subterraneas (1).pdf
1. Introduccion a las excavaciones subterraneas (1).pdf
 
9 Lección perro.pptxcvBWRFWBCCCCCCCCCCCCCCTEN
9 Lección perro.pptxcvBWRFWBCCCCCCCCCCCCCCTEN9 Lección perro.pptxcvBWRFWBCCCCCCCCCCCCCCTEN
9 Lección perro.pptxcvBWRFWBCCCCCCCCCCCCCCTEN
 
Sistemas eléctricos de potencia y transmisión
Sistemas eléctricos de potencia y transmisiónSistemas eléctricos de potencia y transmisión
Sistemas eléctricos de potencia y transmisión
 
Sesión 03 universidad cesar vallejo 2024
Sesión 03 universidad cesar vallejo 2024Sesión 03 universidad cesar vallejo 2024
Sesión 03 universidad cesar vallejo 2024
 
DIAGRAMA ELECTRICOS y circuito electrónicos
DIAGRAMA ELECTRICOS y circuito electrónicosDIAGRAMA ELECTRICOS y circuito electrónicos
DIAGRAMA ELECTRICOS y circuito electrónicos
 
Dosificacion de hormigon NCH 170 actualizada
Dosificacion de hormigon NCH 170 actualizadaDosificacion de hormigon NCH 170 actualizada
Dosificacion de hormigon NCH 170 actualizada
 
Infografia de operaciones basicas de la construccion.pdf
Infografia de operaciones basicas de la construccion.pdfInfografia de operaciones basicas de la construccion.pdf
Infografia de operaciones basicas de la construccion.pdf
 
AE 34 Serie de sobrecargas aisladas_240429_172040.pdf
AE  34 Serie de sobrecargas aisladas_240429_172040.pdfAE  34 Serie de sobrecargas aisladas_240429_172040.pdf
AE 34 Serie de sobrecargas aisladas_240429_172040.pdf
 
Uso de equipos de protección personal.pptx
Uso de equipos de protección personal.pptxUso de equipos de protección personal.pptx
Uso de equipos de protección personal.pptx
 
METRADOS_Y_PRESUPUESTO_EN_SISTEMA_DRYWALL_24-05.pdf
METRADOS_Y_PRESUPUESTO_EN_SISTEMA_DRYWALL_24-05.pdfMETRADOS_Y_PRESUPUESTO_EN_SISTEMA_DRYWALL_24-05.pdf
METRADOS_Y_PRESUPUESTO_EN_SISTEMA_DRYWALL_24-05.pdf
 
380378757-velocidades-maximas-y-minimas-en-los-canales.pdf
380378757-velocidades-maximas-y-minimas-en-los-canales.pdf380378757-velocidades-maximas-y-minimas-en-los-canales.pdf
380378757-velocidades-maximas-y-minimas-en-los-canales.pdf
 
Rinitis alérgica-1.pdfuhycrbibxgvyvyjimomom
Rinitis alérgica-1.pdfuhycrbibxgvyvyjimomomRinitis alérgica-1.pdfuhycrbibxgvyvyjimomom
Rinitis alérgica-1.pdfuhycrbibxgvyvyjimomom
 
Infografía operaciones básicas construcción .pdf
Infografía operaciones básicas construcción .pdfInfografía operaciones básicas construcción .pdf
Infografía operaciones básicas construcción .pdf
 
Las operaciones básicas en la construcción.
Las operaciones básicas en la construcción.Las operaciones básicas en la construcción.
Las operaciones básicas en la construcción.
 
S09 PBM-HEMORRAGIAS 2021-I Grabada 1.pptx
S09 PBM-HEMORRAGIAS 2021-I Grabada 1.pptxS09 PBM-HEMORRAGIAS 2021-I Grabada 1.pptx
S09 PBM-HEMORRAGIAS 2021-I Grabada 1.pptx
 
Cargas de Cálculos Estructurales de un Puente
Cargas de Cálculos Estructurales de un PuenteCargas de Cálculos Estructurales de un Puente
Cargas de Cálculos Estructurales de un Puente
 
EXPOSICIÓN NTP IEC 60364-1 - Orlando Chávez Chacaltana.pdf
EXPOSICIÓN NTP IEC 60364-1 - Orlando Chávez Chacaltana.pdfEXPOSICIÓN NTP IEC 60364-1 - Orlando Chávez Chacaltana.pdf
EXPOSICIÓN NTP IEC 60364-1 - Orlando Chávez Chacaltana.pdf
 
Aletas de transferencia de calor o superficies extendidas dylan.pdf
Aletas de transferencia de calor o superficies extendidas dylan.pdfAletas de transferencia de calor o superficies extendidas dylan.pdf
Aletas de transferencia de calor o superficies extendidas dylan.pdf
 
Infografia - Hugo Hidalgo - Construcción
Infografia - Hugo Hidalgo - ConstrucciónInfografia - Hugo Hidalgo - Construcción
Infografia - Hugo Hidalgo - Construcción
 

GEOMETRIA EPIPOLAR.pdf

  • 1. INGENIERÍA TÉCNICA EN TOPOGRAFÍA PROYECTO FINAL DE CARRERA GEOMETRÍA EPIPOLAR DE UN PAR FOTOGRAMÉTRICO Proyectista: Elena Aldeguer Lima Director: Albert Prades Valls Convocatoria: Junio 2011
  • 2.
  • 3. Geometría epipolar de un par fotogramétrico 1 RESUMEN Este proyecto final de carrera consiste en el remuestreo de los fotogramas de un bloque fotogramétrico para que cada par, presente geometría epipolar. Se parte de la suposición de que la orientación externa (triangulación aérea) está ya hecha y que disponemos de los fotogramas originales del vuelo. En este trabajo se han implementado funciones, programadas en lenguaje en C, que modifican la geometría de los fotogramas. Se han desarrollado las ecuaciones de colinealidad y dos funciones de interpolación para el remuestreo de los niveles digitales de las imágenes: bilineal y cúbica. Posteriormente, se ha añadido una rutina para fusionar dos fotogramas en uno solo, codificando la imagen de la derecha en rojo y la de la izquierda en cian, para poder verlos en tres dimensiones con la ayuda de unas gafas anaglíficas.
  • 4. Geometría epipolar de un par fotogramétrico 2
  • 5. Geometría epipolar de un par fotogramétrico 3 ÍNDICE 1 INTRODUCCIÓN …………………………………………………………………… 5 2 NÚCLEO DE LA MEMORIA ………………………………………………………. 7 2.1 CONCEPTOS BÁSICOS ………………………………………………. 7 2.1.1 ¿QUÉ ES LA GEOMETRÍA EPIPOLAR? …………………. 7 2.1.2. REMUESTREO ………………………………………………. 8 2.2 ROTACIÓN DE LAS IMÁGENES ……………………………………… 8 2.3 INTERPOLACIÓN BILINEAL ………………………………………….. 11 2.4 CONVOLUCIÓN CÚBICA ……………………………………………… 14 2.5 GEOMETRÍA EPIPOLAR ……………………………………………… 17 2.6 VISIÓN ESTEREOSCÓPICA …………………………………………. 19 2.6.1 SEPARACIÓN ESTEREOSCÓPICA: ANAGLIFOS …….. 19 2.6.1.1 CÓMO FUNCIONAN …………………………….. 19 2.6.1.2 APLICACIÓN PRÁCTICA ……………………….. 20 3 CONCLUSIONES …………………………………………………………………. 23 4 BIBLIOGRAFÍA …………………………………………………………………….. 25 5 AGRADECIMIENTOS …………………………………………………………….. 27
  • 6. Geometría epipolar de un par fotogramétrico 4
  • 7. Geometría epipolar de un par fotogramétrico 5 1. INTRODUCCIÓN El presente proyecto de final de carrera, hace referencia a la transformación de una par de fotogramas y el remuestreo de estos. Hemos de tener en cuenta que dichas imágenes ya han pasado por todo el proceso de normalización, entendiendo como normalización el proceso de orientación interna y externa, cálculo de marcas fiduciales, etc. El objetivo de este proyecto es la implementación de un programa en C que sea capaz de someter a un giro en el espacio de pares fotogramétricos así como interpolar cada uno de los niveles digitales con dos métodos distintos (de forma separada), la interpolación bilineal y la convolución cúbica, que se explicarán detalladamente más adelante. Una vez conseguido esto, que es el objetivo principal del proyecto, se presentará el resultado final en una única imagen adecuada para poder ser vista en tres dimensiones con unas gafas anaglíficas. Ambas imágenes pertenecen a un vuelo fotogramétrico de cinco pasadas, organizado por el “Institut Cartogràfic de Catalunya”, sobre el municipio de Sallent, con una escala fotográfica de aproximadamente 1/ 7000.
  • 8. Geometría epipolar de un par fotogramétrico 6
  • 9. Geometría epipolar de un par fotogramétrico 7 2. NÚCLEO DE LA MEMORIA 2.1. CONCEPTOS BÁSICOS 2.1.1. ¿QUÉ ES LA GEOMETRÍA EPIPOLAR? Antes de empezar a profundizar en todo el proceso seguido para la epipolarización de los dos fotogramas, es necesaria la explicación de algunos conceptos básicos, y entre ellos el más importante, ya que está en el título del proyecto, el de geometría epipolar. Hemos de tener en cuenta, que las condiciones de vuelo durante la toma de fotografías no es lo que se suelo llamar “condición ideal”, con ello quiero decir, que su ruta no es totalmente recta, además de las condiciones atmosféricas y otros factores que intervienen, por lo que las fotografías no suelen tener el mismo ángulo de inclinación unas respecto a las otras. Es por ello que deben pasar por un proceso de normalización. El resultado final de este proceso, el cual no entra en lo que a este proyecto se refiere, es el de conseguir que los ejes de abscisas (es decir, las y) sean, en ambas imágenes, iguales. Figura 2.1.1: Geometría epipolar. La primera imagen (a), representa el par estereoscópico original tal y como se tomó, mientras que la imagen (b) es su posición normalizada. C’ y C’’ representan los dos centros de proyección y la unión de ambos es lo que se llama la base aérea; P es un punto objeto para la definición del plano epipolar, P’ y P’’ son sus proyecciones; e’ y e’’ son líneas epipolares, es decir, las intersecciones del plano epipolar con las fotografías.
  • 10. Geometría epipolar de un par fotogramétrico 8 2.1.2. REMUESTREO El remuestreo hace referencia a lo que le ocurre a una imagen tras haber sufrido una transformación geométrica. Eso quiere decir que, cuando una imagen es sometida a dicha transformación, los píxeles se ven afectados, no coincidiendo con la posición de los de la imagen original, o en algunos casos teniendo que añadir más o menos, según se cambie el tamaño de la imagen original. Tras sufrir estas transformaciones, las imágenes suelen perder calidad, por lo que es necesario someterlas a una interpolación para su suavizado. Hay varios métodos para ello: - Método del vecino más próximo. - Interpolación bilineal. - Convolución cúbica. En los capítulos siguientes a este, se explicará con más detalle estos métodos y cómo afectan a la imagen transformada. 2.2. ROTACIÓN DE LAS IMÁGENES Antes de empezar con la rotación, hay un paso importante, que es el de calcular las nuevas coordenadas de las cuatro esquinas de la imagen tras haber sufrido una rotación de α grados, ya que la imagen tendrá otro tamaño, el cual es necesario definir para poder empezar a programar. Sabiendo de antemano que la imagen es de 7680*13824 píxeles, podremos obtener las coordenadas de las esquinas: Esquina superior izquierda: X = 0 Y = 0 Esquina superior derecha: X = 7680 Y = 0 Esquina inferior derecha: X = 7680 Y = 13824 Esquina inferior izquierda: X = 0 Y = 13824
  • 11. Geometría epipolar de un par fotogramétrico 9 Figura 2.2 (a): imágenes originales, antes de ser modificadas, con las que se ha trabajado. Una vez definidas, harán falta las ecuaciones de colinealidad para el cálculo de las nuevas coordenadas: = 11 + 12 = 21 + 22 donde: - X e Y corresponden a las coordenadas originales de la imagen. Una vez obtenidos los resultados, sabiendo la coordenada de mínimo valor, con una simple suma a las coordenadas origen podremos obtener las nuevas dimensiones, que en este caso serán de 9365*14685 píxeles. Para poder hacer la rotación de la imagen, se necesitará aplicar una matriz de rotación total, que es la siguiente: R total = 11 12 13 21 22 23 31 32 33
  • 12. Geometría epipolar de un par fotogramétrico 10 donde: 11 = cos cos 12 = sin cos 13 = − sin 21 = sin sin cos − sin cos 22 = sin sin sin + cos cos 23 = cos sin 31 = sin cos cos + sin sin 32 = sin cos sin − sin cos 33 = cos cos Al hacer la proyección ortogonal sobre la nueva imagen, la coordenada z será constante para todos los puntos, por lo que los términos de r13, r23 y r33 no se tendrán en cuenta a la hora de efectuar los cálculos del giro. Al estar trabajando con un par de fotografías, esta operación se efectuará dos veces, dentro del propio programa. Figura 2.2 (b): En primer lugar puede verse la imagen antes de la rotación; la que la sucede es la misma imagen tras la rotación.
  • 13. Geometría epipolar de un par fotogramétrico11 2.3. INTERPOLACIÓN BILINEAL En este tipo de interpolación, se asigna a la celda corregida la media ponderada de los valores digitales correspondientes a los cuatro píxeles más cercanos de la imagen transformada, donde el peso asociado a cada nivel digital es proporcional a las cercanías de ellos (1-Δx y 1-Δy), medida la distancia entre los centros de las celdas. Figura 2.3 (a): Muestra del concepto de interpolación bilineal. Una vez se ha girado la imagen, al ser ésta más grande que su original, pierde calidad, ya que se han tenido que añadir píxeles para compensar el cambio de tamaño, por lo que es necesario suavizarla con una interpolación, en este primer caso, la bilineal. Para ello se ha empleado las siguientes fórmulas: c1 = 1 − 1 − c2 = 1 − c3 = 1 − c4 = donde a es la diferencia de las x resultantes al giro y las x originales y b la diferencia de las y resultantes al giro y las y originales. Estos parámetros serán los que se necesitarán para poder utilizar la fórmula final: V x, y = c1 f I, j + c2 f i+1,j + c3 f i, j+1 + c4 f i+1, j+1 donde las f corresponden, como bien puede verse en la figura 2.3 (a), a las esquinas de cada píxel del fotograma.
  • 14. Geometría epipolar de un par fotogramétrico 12 A continuación, un fragmento del código del programa que realiza los cálculos de la interpolación bilineal: ima2 = new unsigned char $9750 ∗ 15250*; double xx, yy; double XX, YY; double a, b; double R$3*$3*; R$0*$0* = cos κ ∗ cos φ ; R$0*$1* = sin κ ∗ cos φ ; R$0*$2* = − sin φ ; R$1*$0* = sin φ ∗ sin ω ∗ cos κ − sin κ ∗ cos ω ; R$1*$1* = sin κ ∗ sin ω ∗ sin φ + cos κ ∗ cos ω ; R$1*$2* = cos φ ∗ sin ω ; R$2*$0* = sin φ ∗ cos ω ∗ cos κ + sin ω ∗ sin κ ; R$2*$1* = sin φ ∗ cos ω ∗ sin κ − sin ω ∗ cos κ ; R$2*$2* = cos φ ∗ cos ω ; for x = 0; x < 9750 ∗ 15250; + + ima2$x* = 0; for y = 0; y < 9750; + + { for x = 0; x < 15250; + + { xx = x + minx; yy = y + miny; XX = xx ∗ R$0*$0* + yy ∗ R$0*$1*; YY = xx ∗ R$1*$0* + yy ∗ R$1*$1*; X = int XX; Y = int YY; a = XX − X; b = YY − Y; if X ≥ 0 && Y ≥ 0 && X < 7679 && Y < 13824 { ima2$15250 ∗ y + x* = 1 − a ∗ 1 − b ∗ ima$Y ∗ 7680 + X* + a ∗ 1 − b ∗ ima$Y ∗ 7680 + X + 1* + b ∗ 1 − a ∗ ima$ Y + 1 ∗ 7680 + X* + a ∗ b ∗ ima$ Y1 ∗ 7680 + X + 1*; } } }
  • 15. Geometría epipolar de un par fotogramétrico13 Figura 2.3 (b): la primera imagen corresponde al giro sin ningún tipo de interpolación para suavizarla; en la segunda imagen, se puede comprobar que, tras aplicarle la interpolación bilineal, se ve alguna mejoría pero a duras penas puede distinguirse diferencia alguna con la primera. Figura 2.3 (c): la primera imagen corresponde a la fotografía original; la segunda cuando se le aplica el giro, pero sin interpolación; y la tercera es la imagen girada y con la interpolación bilineal.
  • 16. Geometría epipolar de un par fotogramétrico 14 2.4. CONVOLUCIÓN CÚBICA En la convolución cúbica, o interpolación cúbica, la segunda que se ha utilizado para el suavizado de la imagen resultante al giro, se hace el ajuste de una función polinómica con los valores de los dieciséis píxeles próximos, en vez de con los cuatro, como pasaba con la interpolación bilineal. Se ha de tener en cuenta, que para dar peso a los dieciséis píxeles de entrada, los píxeles más lejanos tendrán, exponencialmente, menos peso que aquellos que están cerca. Existen diferentes versiones de la ecuación de convolución cúbica, cada una de las cuales con resultados de salida diferentes, en lo que a niveles digitales se refiere. Para este caso, se ha usado la de ERDAS IMAGINE, que tiene un compromiso entre baja y alta frecuencia. Con esta interpolación, la imagen resultante tiene un resultado mucho más natural y se evita el efecto de bloques. La fórmula es la siguiente: Vr = ∑ A B − 1, C + D − 2 E F B − 1, C + D − 2 + 1 G HIJ +A B, C + D − 2 EKF B, C + D − 2 L +A B + 1, C + D − 2 E F B + 1, C + D − 2 − 1 +A B + 2, C + D − 2 E F B + 2, C + D − 2 − 2 donde f corresponde a la función: E = M + 2 | |O − + 3 | |P + 1 | |O − 5 | |P 2 + 8 | | − 4 0 Q BE | | < 1 BE 1 < | | < 2 RS TRDFBTBóD a= -0.5 (constante que difiere en otras aplicaciones de convolución cúbica). En el programa se la ha nombrado como constante. d(i,j) = distancia entre un píxel con coordenadas (x, y) y (x’, y’). En el programa se le ha llamado a y b. Se ha de tener en cuenta que esta fórmula es la base con la cual se ha trabajado, adaptándola después al programa y los parámetros empleados. Por lo que V(i, j) hace referencia a las coordenadas de cada píxel. A continuación, un extracto del código empleado para calcular la convolución cúbica, y cómo se programó la parte de la función. - Extracto del programa en C; función f: double f double y, double constante { double x = fabs y ; if x < 1 { return K constante + 2 ∗ x ∗ x ∗ x − constante + 3 ∗ x ∗ x + 1L; } else if abs x ≥ 1 && V x < 2 { return constante ∗ x ∗ x ∗ x − 5 ∗ constante ∗ x ∗ x + 8 ∗ constante ∗ x − 4 ∗ constante ; } else { return 0; } }
  • 17. Geometría epipolar de un par fotogramétrico15 - Extracto del programa en C; cálculo de la convolución cúbica: for int n = 0; n < 4; + + D $D* = BW $ ∗ 7680 + − 1* ∗ E + 1, TRDVS DSX + +ima$Y ∗ 7680 + X* ∗ Kf a, constante L+ +BW $ ∗ 7680 + + 1* ∗ E − 1, TRDVS DSX + +BW $ ∗ 7680 + + 2* ∗ E − 2, TRDVS DSX ; aux = aa$0* ∗ f b + 1.0, constante + aa$1* ∗ f b, constante + aa$2* ∗ f b − 1.0, constante + aa$3* ∗ f b − 2.0, constante ; ima2$15250 ∗ y + x* = unsigned char aux; Figura 2.4 (a): la primera imagen corresponde al giro sin ningún tipo de interpolación para suavizarla; en la segunda imagen, se puede comprobar que, tras aplicarle la interpolación cúbica, en la segunda imagen se ve cierta mejoría en cuanto a la definición se refiere.
  • 18. Geometría epipolar de un par fotogramétrico 16 Figura 2.4 (b): la primera imagen corresponde a la fotografía original; la segunda cuando se le aplica el giro, pero sin interpolación; y la tercera es la imagen girada y con la interpolación cúbica. Nótese que, en la segunda, aparecen artefactos en los bordes del edificio cuadrado del centro de la imagen. Sin embargo, en la última, donde se ha aplicado la convolución cúbica, los bordes se ven mucho más suaves y el aspecto general es más parecido al original.
  • 19. Geometría epipolar de un par fotogramétrico17 2.5. GEOMETRÍA EPIPOLAR Una vez se ha aplicado la rotación a las imágenes y se ha interpolado, es cuando se empieza con la epipolarización. Este proceso no es otro que el de hacer pasar una línea a lo largo de la dirección de vuelo de la imagen. Para hacerlo más fácil, se ha escogido un punto como referencia, la esquina de una casa, que está en la zona de solapamiento de ambas fotografías. Con el fragmento de código siguiente, creamos dicha línea: for = 0; < 9750; + + { ima2$15250 ∗ + 1615* = 255; } donde ima2 corresponde al archivo donde se está guardando la imagen y 1615 son las coordenadas x de la esquina de la casa que se había seleccionado como punto de referencia. En la segunda imagen, todo el proceso es el mismo, solo que a la hora de realizar este último paso, la diferencia de coordenadas es de 238 menos, es decir 1377. Figura 2.5 (a): primera imagen epipolarizada, con detalle de la esquina de la casa. Figura 2.5 (b): segunda imagen epipolarizada, con detalle de la esquina de la casa.
  • 20. Geometría epipolar de un par fotogramétrico 18 Figura 2.5 (c): primera imagen epipolarizada, otro detalle. Figura 2.5 (d): segunda imagen epipolarizada, otro detalle (igual a la primera).
  • 21. Geometría epipolar de un par fotogramétrico19 2.6. VISIÓN ESTEREOSCÓPICA Para concluir con el proyecto, hemos de hablar de la visión estereoscópica. El sistema de visión estereoscópica hace referencia a la capacidad de ver en tres dimensiones, con la integración de dos imágenes separadas en una. Esta separación se logra de diferentes maneras: espacialmente, espectralmente o temporalmente. Este caso se centrará en la separación espectral, concretamente en la implantación de anaglifos. Separación Realización o implantación Espacial 2 monitores + estereóscopo 1 monitor + estereóscopo (pantalla partida) 2 monitores + polarización Espectral Anaglifos Polarización Temporal Visualización en pantalla alternativamente de las imágenes izquierda y derecha sincronizadas por polarización. Cuadro 2.6: separación de imágenes para visión estereoscópica (adaptado de Heipke (1995)). 2.6.1. SEPARACIÓN ESPECTRAL: ANAGLIFOS Los anáglifos son la forma más común de separación espectral, ya que es un método muy sencillo y de bajo coste. Este tipo de imágenes están compuestas por dos capas de color, superpuestas pero movidas ligeramente una respecto a la otra, para producir el efecto de profundidad. Por lo general, el objeto principal está situado en el centro mientras que todo lo demás está movido en direcciones opuestas. La imagen resultante contiene dos imágenes filtradas por color, una para cada ojo (rojo y cian). Con la ayuda de unas gafas de anaglifo, la corteza visual del cerebro fusionará esto dentro de la percepción de la escena con profundidad. 2.6.1.1. CÓMO FUNCIONAN Ver anáglifos a través de filtros de color apropiados da como resultado que cada ojo observa una imagen ligeramente diferente. En un anáglifo rojo-cian, el ojo cubierto por el filtro rojo verá las partes rojas de la imagen como “blancas” y las partes en cian como “oscuras”. Mientras que el ojo que esté cubierto por el filtro cian lo percibe de forma opuesta. El resto de la imagen será percibida igual por ambos ojos. El cerebro fusiona las imágenes recibidas de cada ojo, y las interpreta como una imagen con profundidad. Hay que dejar claro, que los filtros de celofán que usaremos, no compensan la diferencia en longitud de onda de los filtros rojo y cian. Eso significa que, con las gafas de lentes de celofán, la imagen en rojo se verá borrosa. Para evitar este error, es mejor utilizar
  • 22. Geometría epipolar de un par fotogramétrico 20 unas gafas de acrílico moldeado, empleados para compensar la dioptría y balancear el enfoque del filtro rojo con el cian. 2.6.1.2. APLICACIÓN PRÁCTICA Tras la breve introducción a la visión estereoscópica, se procederá a la explicación de cómo se han tratado las imágenes resultantes de los apartados anteriores para acabar convirtiéndola en una única imagen en tres dimensiones. Para poder empezar a trabajar se ha de guardar la imagen en color, ya que anteriormente, como se puede apreciar, se hacía en grises. A pesar de que este nuevo apartado va totalmente relacionado con todo el proceso anterior, pensaremos en que se está empezando de cero, por lo que se creará un nuevo fichero para guardar la imagen en tres dimensiones. Partiendo de este pensamiento, se deberán reasignar unas nuevas dimensiones a la imagen resultante, ya que, a pesar de que estarán ligeramente superpuestas por la zona de solapamiento de ambas imágenes, su tamaño será algo mayor. A modo de exageración, las que aquí se han utilizado son de 15250*20000 píxeles, donde 15250 corresponde al tamaño con que se estuvo trabajando en el procesado anterior. Seguidamente, pasaremos la primera imagen al espectro de banda rojo y la giraremos, para mayor comodidad a la hora de visualizarla en pantalla. Se hará lo mismo con la otra, pero en este caso, eliminando el espectro de banda rojo y dejando únicamente el verde y el azul (cian). También se le aplicará una rotación. No se deben confundir estas rotaciones de las que se está hablando con las anteriormente mencionadas, ya que no tienen nada que ver. Estas rotaciones no transforman la imagen, son tan simples como las que se pueden hacer con cualquier visor de un ordenador, no estamos sometiendo a cada uno de los píxeles a una transformación como pasaba antes. A continuación, se muestra el fragmento del código donde se realiza el proceso recién explicado; redimensionar la nueva imagen resultante y grabarlas, respectivamente, en espectros de banda diferentes (rojo y cian):
  • 23. Geometría epipolar de un par fotogramétrico21 // IMAGEN EN 3D // FILE ∗ pt3; FILE ∗ pt3_copia; ima2 = new unsigned char $3 ∗ 9750 ∗ 15250*; fopen_s &`S3_TR`B , "Sallent_color_copia", "rb" ; fread ima2, 3 ∗ 9750 ∗ 15250, sizeof char , pt3_copia ; fclose pt3_copia ; int err; int X, Y, x, y; ima5 = new unsigned char $3 ∗ 15250 ∗ 20000*; for int canal = 0 ; canal < 3 ; T D d + + { for y = 0; y < 15250; + + { for x = 0 ; x < 20000 ; + + { ima5$20000 ∗ y + x + canal ∗ 15250 ∗ 20000* = 150; } } } for y = 0 ; y < 9750 ; + + { for x = 0 ; x < 15250 ; + + { if 20000 ∗ x − 394 + y + 4300 ≥ 0 ima5$20000 ∗ x + 394 + y + 4300* = ima2$15250 ∗ y − x + 15250*; } } fopen_s &`S3_TR`B , "Sallent2_color_copia" , "rb" ; fread ima2, 3 ∗ 9750 ∗ 15250, sizeof char , pt3_copia ; fclose pt3_copia ; for int canal = 1 ; canal < 3 ; T D d + + { for y = 0 ; y < 9750 ; + + { for x = 0 ; x < 15250 ; + + { ima5$20000 ∗ x + y + 2309 + canal15250 ∗ 20000* = ima2$15250 ∗ y − x + 15250 + canal ∗ 9750 ∗ 15250*; } } } if err = fopen_s &`S3_TR`B , "Sallent3D" , "wb" ! = 0 { puts "error" ; exit 0 ; } fwrite ima5 , 3 ∗ 15250 ∗ 20000 , sizeof char , pt3_copia ; fclose pt3_copia ;
  • 24. Geometría epipolar de un par fotogramétrico 22 Figura 2.6.1.2 (a): ambas imágenes por separado antes de unirlas en un solo fotograma. Figura 2.6.1.2 (b): a la derecha se puede ver el fotograma con las imágenes. Arriba, un detalle de la imagen.
  • 25. Geometría epipolar de un par fotogramétrico23 3. CONCLUSIONES 1. Las primeras tres semanas de realización del proyecto, se invirtieron en el aprendizaje del lenguaje C básico, lo que me proporcionó los conocimientos necesarios para poder empezar a programar mínimamente. 2. El trabajo desarrollado permitirá: - Aplicar un giro en el espacio a dos imágenes que forman un par estereoscópico. - Para mejorar la calidad visual de las imágenes resultantes, hemos implementado dos métodos de interpolación de niveles digitales distintos (bilineal y convolución cúbica). - Se epipolarizan las imágenes obtenidas, es decir, que una línea recta pase todo a lo largo de las x en cada imagen, y a pesar de ser relativamente distintas, pase exactamente por los mismos puntos de referencia de la zona de solape de ambas. - Generar una imagen tridimensional en un solo fotograma con las imágenes modificadas. 3. De los dos métodos de interpolación utilizados, el que mejor resultados da es la convolución cúbica, que le proporciona a la imagen un aspecto más natural. 4. El método para crear la imagen en 3D, la separación espectral anaglífica, a pesar de ser de las más sencillas y menor coste, da un resultado suficiente.
  • 26. Geometría epipolar de un par fotogramétrico 24
  • 27. Geometría epipolar de un par fotogramétrico25 4. BIBLIOGRAFÍA Libros: Lerma García, José Luís, Fotogrametría moderna: analítica y digital, editorial UPV (2002). Schenk, Toni, Fotogrametría Digital, Boixareu editors (2002). Páginas web: http://c.conclase.net/ficheros/index.php http://www.freewebs.com/pdi2005/field_rectificacion.pdf http://help.adobe.com/es_ES/Photoshop/10.0/help.html?content=WSfd1234e1c4b69f30ea53e 41001031ab64-793c.html http://www.adpsystems.net/Pdf/Visi%C3%B3n%20%20estereosc%C3%B3pica.pdf http://es.scribd.com/doc/36263964/102/Geometria-epipolar
  • 28. Geometría epipolar de un par fotogramétrico 26
  • 29. Geometría epipolar de un par fotogramétrico27 AGRADECIMIENTOS El presente proyecto no hubiera podido llevarse a cabo sin la ayuda de mi tutor, Albert Prades, que tuvo la paciencia de atender a todas mis dudas, que no fueron pocas, durante todo el proceso de programación. Agradezco también, a mi familia y amigos, sobre todo a mi hermano, que me han estado dando ánimos y apoyándome siempre, y no han dejado que tirara la toalla por muy negras que parecieran las cosas. A Álvaro Gutiérrez, que me ha prestado mucha ayuda, consejos y sugerencias, en la etapa final del proyecto. Y por último, pero no menos importantes, a mis compañeros de laboratorio, con los que he compartido momentos de desesperación y alegría, y a todos aquellos que han venido a escuchar en qué consistía este proyecto.