Universidad Nacional de Córdoba Facultad de Matemática Astronomía y Física

Tamaño: px
Comenzar la demostración a partir de la página:

Download "Universidad Nacional de Córdoba Facultad de Matemática Astronomía y Física"

Transcripción

1 Universidad Nacional de Córdoba Facultad de Matemática Astronomía y Física Trabajo Especial Licenciatura en Ciencias de la Computación Reconstrucción 3D desde secuencias de video Autor: Pablo Brendstrup Directora: Dra. Patricia Kisbye Córdoba, Argentina, 29 de mayo de 2013

2 2

3 3 Resumen Dentro del campo de la visión artificial, la reconstrucción 3D se refiere al proceso de capturar la forma y apariencia de los objetos reales. Este proceso se puede llevar a cabo con métodos activos o pasivos. En los métodos activos existe un sensor que interactúa con los objetos a capturar, ya sea emitiendo energía para medir la reflexión de ésta sobre la superficie del objeto o mediante algún método mecánico. En el caso pasivo el sensor simplemente mide la energía reflejada o emitida por el objeto para inferir su estructura 3D. En el último caso normalmente el sensor es una cámara sensible al espectro de luz visible. En el presente trabajo se estudia la técnica pasiva Structure From Motion, que permite realizar una reconstrucción 3D automatizada, basada únicamente en el movimiento relativo entre una única cámara de video y los objetos observados, y se presenta una implementación basada en la librería de visión artificial OpenCV. In computer vision, 3D reconstruction is the process of capturing the shape and appearance of real objects. This process can be accomplished either by active or passive methods. Active methods interfere with the reconstructed object, either emitting energy to detect and measure the radiation that is reflected from the object, or mechanically. Passive methods detect natural radiation that is emitted or reflected by the object to infer its 3D structure. In the latter, the sensor is typically a camera sensitive to visible light. In this article we study the passive technique called Structure From Motion, that performs an automatic 3D reconstruction based solely on the relative motion between a single video camera and the observed objects, and we present an implementation based on the computer vision library OpenCV. Clasificación: I.4.8 Scene Analysis (Image Processing and Computer Vision) Palabras Claves: reconstrucción 3D, structure from motion, modelo pinhole, geometría epipolar, corner detection, tracking, stereo matching, bundle adjustment, nube de puntos, opencv.

4 4

5 5

6 6

7 Índice general 1. Introducción Descripción general Modelo Pinhole Parámetros extrínsecos Parámetros intrínsecos Matriz de Proyección Distorsiones Calibración Geometría Epipolar Matriz Esencial Matriz Fundamental Líneas Epipolares y Epipolos Sistema estereoscópico canónico Disparidad en el sistema canónico Resolución de profundidad en el sistema canónico Feature Matching Corner Detection Harris Corners Subpíxel Corners Tracking Lucas Kanade Estructura y movimiento Estimación inicial Estimación de F Descomposición de E en R y T Escala de la traslación Triangulación Bundle Adjustment

8 8 ÍNDICE GENERAL 6. Stereo Matching Restricciones estereoscópicas Rectificación Block Matching Modelado Procesamiento de la nube densa Integración de superficies Extracción de texturas Conclusión 63 A. Solución de mínimos cuadrados 65 B. Solución con ecuaciones normales 67

9 Capítulo 1 Introducción El principal objetivo de este trabajo es estudiar el proceso de reconstrucción 3D Structure From Motion (SFM), y realizar una implementación en la librería OpenCV, para conocer las posibilidades y limitaciones de dicha técnica, y los problemas que plantea. El sistema implementado realiza una reconstrucción digital de la geometría de los objetos filmados a partir de la secuencia de imágenes 2D de un video, y se basa en el movimiento relativo entre la cámara y los objetos. El sistema está implementado en el lenguaje C++ y utiliza la librería de código abierto OpenCV. La reconstrucción 3D (o modelo 3D) producida por el sistema consiste en un modelo poligonal digital en un espacio euclídeo que representa las superficies de los objetos filmados. Se extraen texturas del mismo video para renderizar el modelo tridimensional de forma fotorealista, es decir de forma similar a como se vería una fotografía de los objetos reales. SFM es el proceso de recuperar la estructura 3D de una escena y el movimiento de la cámara a lo largo de un video, analizando los vectores de movimiento locales de la imagen. SFM trabaja bajo la hipótesis de que la escena filmada es estática, es decir lo único que se mueve es la cámara. La principal ventaja de SFM sobre otros métodos de reconstrucción es que no necesita de la información de un sensor 3D activo (por ejemplo un escaner 3D como Kinect), o de un sistema estereoscópico (basado en dos cámaras), sino que se puede aplicar en cualquier secuencia de imágenes obtenidas con una única cámara que se desplaza. Esto la hace una técnica barata y adecuada a los casos donde no es posible realizar un escaneo activo con un sensor 3D, o posicionar dos cámaras en la escena. La principal limitación de SFM es que (a diferencia de un escaner 3D o un sistema estereoscópico) requiere que la escena a reconstruir sea estática. SFM tiene un amplio rango de aplicaciones. A continuación se dan algunos ejemplos. Fotogrametría: Conservación digital de construcciones de gran valor 9

10 10 CAPÍTULO 1. INTRODUCCIÓN histórico o arquitectónico. Generación de mapas topográficos y modelos digitales del terreno. Observación no presencial de las uniones en estructuras metálicas o grandes edificios para certificar que no estén sometidas a esfuerzos no deseados. Reconstrucción de la escena de un crímen o de un accidente para investigación policial. Planeamiento urbano, planeamiento de vías, caminos, canales de riego o drenajes, localización de presas. Arqueología: documentación y levantamientos. Reconstrucción automática de modelos de realidad virtual, por ejemplo para cine o videojuegos. Odometría visual: estimación de la posición de la cámara relativa a su localización inicial, por ejemplo para que un robot pueda navegar por la escena. Realidad aumentada: Con ésta técnica se insertan elementos generados por computadora en un video de modo que se combinan con los elementos del entorno físico. Se utiliza en cine, televisión y aplicaciones interactivas Descripción general Desde un punto de vista operativo, el proceso de reconstrucción basado en SFM puede dividirse en las siguientes etapas: 1. Obtención de datos: en esta etapa se captura un video de una escena estática en el que la cámara se desplaza por el lugar. 2. Preprocesamiento: La secuencia capturada es pre-procesada (por ejemplo eliminando el ruido o normalizando la iluminación). 3. Procesamiento: La secuencia de video es procesada para obtener un modelo 3D de la escena. 4. Modelado: Finalmente el modelo 3D puede ser renderizado, exportado o editado con herramientas de modelado 3D. El objetivo de este trabajo es implementar un sistema para la tercera etapa de la reconstrucción, capaz de producir un modelo tridimensional digitalizado de la escena. A continuación se describen brevemente las etapas de este sistema: 1. Calibración: Se estiman los parámetros que describen las propiedades físicas de la cámara, entre las que se encuentran la distancia focal, las distorsiones de la lente, la relación de aspecto de la imagen, y la posición del centro óptico de la imagen.

11 1.1. DESCRIPCIÓN GENERAL Feature Matching: En esta etapa se buscan correspondencias de puntos entre los cuadros del video. Si tenemos un par de imágenes de la misma escena, decimos que un punto sobre la primera imagen y un punto sobre la segunda son correspondientes cuando representan el mismo punto sobre una superficie en el espacio. Para esta etapa son útiles las técnicas de corner detection y tracking. 3. Recuperación de la estructura y el movimiento: Esta es la etapa de Structure From Motion propiamente dicha, se utilizan las correspondencias de puntos para estimar la posición y orientación de la cámara a lo largo del tiempo y una nube de puntos de poca densidad de la estructura de la escena, en un espacio tridimensional. 4. Stereo Matching: El objetivo de esta etapa es generar una nube de puntos más densa. Se seleccionan pares de cuadros a lo largo del recorrido de la cámara y se les aplica un algoritmo de correspondencia estereoscópica (Stereo Matching), utilizando la información del movimiento recuperado en la etapa anterior. La salida de este algoritmo es un mapa de disparidades, a partir del cual podemos obtener la nube de puntos densa en un espacio tridimensional. 5. Modelado: Esta etapa incluye procedimientos para construir un modelo 3D fotorealista de la escena a partir de la nube de puntos densa. SFM presenta un problema similar a la reconstrucción por visión estereoscópica. En ambos casos se necesita encontrar correspondencias de puntos entre las imágenes de distintas vistas. Las vistas son una serie de cuadros que seleccionamos del video. Como la cámara está en movimiento cada vista representa una perspectiva distinta de la escena. Si se conoce la imagen de un punto en dos o más vistas, se puede reconstruir la posición física de éste por medio de una triangulación. Un requisito importante para esta triangulación es conocer las propiedades de la cámara, y su posición y orientación en cada vista.

12 12 CAPÍTULO 1. INTRODUCCIÓN

13 Capítulo 2 Modelo Pinhole El modelo de cámara más común es el llamado Pinhole. Consiste en una cámara cerrada con un orificio pequeño (pinhole) y un plano sobre el que se proyecta la imagen llamado plano de la imagen. Figura 2.1: Cámara Pinhole Como el orificio está entre el plano de la imagen y los objetos visibles, cualquier rayo de luz emitido o reflejado por un objeto tiene que pasar a través de él. Por lo tanto existe una correspondencia entre el área 2D en el plano de la imagen y las superficies visibles de la escena. El modelo que se usa es una simplificación en la que el plano de la imagen está entre la escena observada y el punto en que convergen los rayos. Dicho modelo está graficado en la Figura 2.2. Para entender cómo se relacionan los puntos en el mundo real con los puntos proyectados en la imagen, se usan tres sistemas de coordenadas: el sistema de coordenadas externo W (mundo) con ejes (X w, Y w, Z w ), el sistema de coordenadas de la cámara C con ejes (X c, Y c, Z c ), y el sistema de coordenadas de imagen U (o sistema de coordenadas de píxel) con ejes 13

14 14 CAPÍTULO 2. MODELO PINHOLE Figura 2.2: Modelo Pinhole (x, y). W y C están relacionados por una traslación (matriz T de dimensión 3 1) y una rotación (matriz R de dimensión 3 3). A continuación se definen algunos elementos importantes del modelo pinhole: El punto O c, llamado punto central o focal, es el origen del sistema de coordenadas de la cámara, donde convergen los rayos. El plano de la imagen es Π, está dividido en recuadros que representan los píxeles de la imagen. La distancia f desde el punto central al plano de la imagen se conoce como distancia focal. La línea que pasa por O c y es perpendicular al plano de la imagen, se llama rayo principal.

15 2.1. PARÁMETROS EXTRÍNSECOS 15 El punto principal o = (o x, o y ) (en coordenadas de imagen) es la intersección del rayo principal con el plano de la imagen. Los valores h x y h y determinan las dimensiones físicas de un píxel. Sea X c = [x, y, z] un punto observado, y p = [x, y, z ] su imagen proyectada sobre Π, en coordenadas del sistema C. Sea O c la proyección ortogonal de X c sobre el rayo principal. Como el rayo principal es perpendicular al plano de la imagen, y los triángulos Ôcpo y Oc X c O c son semejantes, y observando que z = f, tenemos: x = f x z, y = f y z, z = f (2.1) Estas ecuaciones relacionan un punto en el espacio con su imagen en Π. Los parámetros que modelan las propiedades físicas de una cámara se dividen en dos categorías: parámetros extrínsecos e intrínsecos. Dichos parámetros se describen en las siguientes secciones Parámetros extrínsecos Los parámetros extrínsecos de una cámara son las matrices R y T que relacionan el sistema W con C, es decir, que indican la posición y orientación de la cámara. R 1 R = R 2 R R 11 R 12 R 13 = R 21 R 22 R 23 R 31 R 32 R 33 T 1 T = O w O c = T 2 T (2.2) (2.3) La matriz R es ortogonal, es decir R 1 = R T. Dado un punto X, sus coordenadas relativas al sistema C y sus coordenadas externas relativas al sistema W están conectadas por la siguiente fórmula: X c = R(X T ) (2.4) donde X c es el punto en coordenadas del sistema C y X es el punto en el sistema W Parámetros intrínsecos Los parámetros intrínsecos son distintos para cada modelo de cámara. Son los siguientes:

16 16 CAPÍTULO 2. MODELO PINHOLE La distancia focal f. Los parámetros que relacionan el sistema de coordenadas de la cámara con el sistema de coordenadas de la imagen (píxeles): h x, h y, o x, o y x = (x u o x )h x y = (y u o y )h y (2.5) donde (x, y, z) es un punto sobre el plano de la imagen expresado en coordenadas del sistema de la cámara, (x u, y u ) el mismo punto expresado en coordenadas de la imagen, y (o x, o y ) el punto principal en coordenadas de la imagen. Los parámetros que modelan las distorsiones geométricas causadas por imperfecciones en los elementos ópticos de la cámara. Conociendo estos parámetros se puede aplicar una corrección no lineal (offset) a las coordenadas reales de un determinado punto en la imagen. Las distorsiones geométricas no forman parte del modelo Pinhole, por lo tanto se corrigen antes de procesar las imágenes Matriz de Proyección A partir de las ecuaciones (2.1), (2.4) y (2.5) se puede derivar la siguiente ecuación lineal que relaciona un punto X en coordenadas externas (W ), con su imagen u = (x u, y u ) en coordenadas de la imagen (píxeles). ũ = P X (2.6) donde P es una matriz 3 4 llamada matriz de proyección de la cámara, X = [X 1] T es el punto X expresado en coordenadas homogéneas, y ũ = [x, y, w] T son las coordenadas homogéneas de u. Las siguientes ecuaciones relacionan el punto proyectado con sus coordenadas homogéneas: x u = x w, y u = y w La matriz P se puede particionar de la siguiente manera: P = K[R t] (2.7) donde f h x 0 o x f K = 0 h y o y (2.8) t = RT (2.9)

17 2.4. DISTORSIONES 17 La matriz t tiene dimensión 3 1, y es la posición de O W en el sistema de la cámara C. La matriz K se llama matriz de parámetros intrínsecos de la cámara. Es común asumir h x = 1 y h y = 1, esto implica que los píxeles son cuadrados y de dimensión 1. La ecuación ũ = P X define una transformación del espacio proyectivo P 3 en el plano proyectivo P 2, es decir, transforma todos los puntos pertenecientes a la línea O c X, en el mismo punto u en el plano de la imagen. Por esto agregamos un parámetro de escala γ a la ecuación. γũ = P X (2.10) Si asumimos que la matriz P está definida en base a un parámetro de escala, podemos decir que ũ = P X se mantiene sin perder generalidad. Suponiendo que el escalar γ es distinto de 0, las coordenadas homogéneas (x, y, w) y γ(x, y, w) describen el mismo punto en R 2, es decir pertenecen a la misma clase de equivalencia. SFM permite realizar una estimación de las matrices de proyección de la cámara a lo largo del video, junto con los puntos 3D de la estructura de la escena. Dados n puntos proyectados en m imágenes, el objetivo de SFM es encontrar las matrices de proyección P 1,.., P m, y una estructura consistente de puntos 3D X 1,..., X n, a partir de las proyecciones 2D observadas sobre el plano de la imagen u ij, i {1,.., m}, j {1,.., n} Distorsiones Como los componentes físicos de las cámaras no son perfectos, existen distorsiones en las imágenes capturadas. Normalmente las cámaras digitales capturan la imagen por medio de un sensor (generalmente un CCD o CMOS) sensible a las señales de luz, que está ubicado detras de la lente, y sustituye la función de la película en fotografía tradicional. Existen dos tipos de distorsiones: radiales y tangenciales. Las distorsiones radiales son una consecuencia de la forma de los lentes. Las distorsiones tangenciales aparecen porque el lente no está perfectamente alineado con el sensor de la cámara. En la Figura 2.3 se ilustra el efecto de las distorsiones: la primera imagen no tiene distorsiones, la segunda tiene distorsión radial, y la última tiene distorsión tangencial. La distorsión radial es nula en el centro óptico de la imagen (punto principal), y crece a medida que nos alejamos de este centro. Se puede modelar con un polinomio. Para corregirla aplicamos un offset en función del radio r a las coordenadas de cada píxel: x c = x(1 + k 1 r 2 + k 2 r 4 + k 3 r 6 ) y c = y(1 + k 1 r 2 + k 2 r 4 + k 3 r 6 ) (2.11)

18 18 CAPÍTULO 2. MODELO PINHOLE Figura 2.3: Distorsiones donde (x, y) es la ubicación original del punto sobre la imagen distorsionada y (x c, y c ) la nueva ubicación que da como resultado la corrección. Los parámetros k 1, k 2, k 3 se llaman coeficientes de distorsión. La distorsión tangencial puede ser caracterizada por dos parámetros más, p 1 y p 2. x c = x + (2p 1 y + p 2 (r 2 + 2x 2 )) y c = y + (p 1 (r 2 + 2y 2 ) + 2p 2 x) (2.12) Obtenemos los 5 coeficientes de distorsión (k 1, k 2, k 3, p 1, p 2 ) en la etapa de calibración, a través de la funciones para calibración de OpenCV. Una vez que ya conocemos estos valores podemos componer un mapa de distorsión que nos indica cómo corregirlas. Este mapa es una matriz que tiene las mismas dimensiones que la imagen. Cada elemento de la matriz representa un píxel en la imagen corregida, y contiene las coordenadas correspondientes en la imagen original (distorsionada). Con este mapa corregimos la distorsión moviendo los píxeles de la imagen original a nuevas posiciones, usando interpolación bilineal Calibración En esta etapa se estiman los parámetros intrínsecos de la cámara, a partir de un conjunto de imágenes en las que presentamos un patrón de calibración conocido. Un método posible es estimar directamente la matriz de proyección P, y luego extraer los parámetros de P. Para estimar P suponemos que no tenemos distorsión (se estima y corrige la distorsión previamente), por lo tanto podemos usar las propiedades del modelo Pinhole. Supongamos que tenemos un punto X y u es su proyección sobre la imagen. Por la ecuación (2.6) tenemos: ũ = P X donde ũ = [x, y, w] T y X = [X 1] T = [X 1, X 2, X 3, 1] T.

19 2.5. CALIBRACIÓN 19 Por lo tanto: x = m 11 X 1 + m 12 X 2 + m 13 X 3 + m 14 y = m 21 X 1 + m 22 X 2 + m 23 X 3 + m 24 w = m 31 X 1 + m 32 X 2 + m 33 X 3 + m 34 donde m ij son los elementos de P. Además, si u = (x u, y u ) es la proyección en coordenadas de la imagen, tenemos: x u = x w, y u = y w Reemplazando, obtenemos: m 11 X 1 + m 12 X 2 + m 13 X 3 + m 14 x u m 31 X 1 x u m 32 X 2 x u m 33 X 3 x u m 34 = 0 m 21 X 1 + m 22 X 2 + m 23 X 3 + m 24 y u m 31 X 1 y u m 32 X 2 y u m 33 X 3 y u m 34 = 0 Si conocemos las posiciones de N 6 puntos en el sistema externo W y sus correspondientes en la imagen, el problema de la calibración es resolver el siguiente sistema de ecuaciones: donde Q = Qm = 0 (2.13) X 11 X 12 X x u1 X 11 x u1 X 12 x u1 X 13 x u X 11 X 12 X 13 1 y u1 X 11 y u1 X 12 y u1 X 13 y u X N1 X N2 X N x un X N1 x un X N2 x un X N3 x un X N1 X N2 X N3 1 y un X N1 y u1 X N2 y un X N3 y un y m está formado por los elementos de P : m = [m 11,..., m 14, m 21,..., m 24, m 31,..., m 34 ] T Figura 2.4: Patrón de calibración Las funciones de calibración de OpenCV permiten calcular, a partir de un conjunto de puntos conocidos en W y sus correspondientes proyecciones en la imagen, la matriz de parámetros intrínsecos y los coeficientes de distorsión de la cámara. Para encontrar dichos puntos se captura una imagen donde se presenta un patrón de calibración similar a un tablero de ajedrez,

20 20 CAPÍTULO 2. MODELO PINHOLE y se toman las esquinas de los casilleros del tablero como puntos para hacer la calibración. Para obtener las proyecciones de estos puntos basta con identificarlos en la imagen. Para conocer las coordenadas físicas (en W ) de los puntos, asumimos que el origen del sistema W es la esquina superior izquierda del tablero, y que la superficie del tablero está alineada con los ejes X e Y del sistema, por lo tanto igualamos a 0 la coordenada Z en todos los puntos. Por ejemplo, si tenemos un tablero de dimensiones K N, y tomamos como unidad de medida la longitud del casillero, nos quedan las siguientes coordenadas físicas para los puntos: X W 11 = [0, 0, 0] X W 12 = [1, 0, 0]. X W 1N = [N 1, 0, 0] X W 21 = [0, 1, 0] X W 22 = [1, 1, 0]. X W 2N = [N 1, 1, 0].. X W KN = [K 1, N 1, 0] En el presente sistema se trabaja estimando los parámetros intrínsecos de la cámara en una etapa de calibración, pero en muchos casos no se dispone de dichos parámetros y no existe la posibilidad de realizar una calibración. Para estos casos existen formas de realizar una auto-calibración basada únicamente en las imágenes del video [16].

21 Capítulo 3 Geometría Epipolar En SFM se seleccionan un par de cuadros del video entre los que existe un desplazamiento de la cámara, suponiendo que la escena filmada es estática esto equivale a tener un sistema de dos cámaras con los mismos parámetros intrínsecos. Cuando dos cámaras observan la misma escena desde distintos puntos de vista, podemos percibir la profundidad a través de una triangulación. El modelo de adquisición de imágenes estereoscópicas, o sistema estereoscópico, está compuesto por dos cámaras Pinhole. Figura 3.1: Sistema estereoscópico A continuación se definen algunos elementos del sistema estereoscópico: O l es el punto central de la cámara izquierda y O r el de la derecha. Π l es el plano de la imagen de la cámara izquierda y Π r es el plano de la imagen de la cámara derecha. 21

22 22 CAPÍTULO 3. GEOMETRÍA EPIPOLAR T es una línea entre O l y O r llamada línea base. e 1 y e 2 se llaman puntos epipolares o epipolos, y son las intersecciones de la línea base con cada uno de los planos de las imágenes. Si la línea base no interseca al plano de la imagen, entonces se dice que los epipolos están en el infinito. Dado un punto X observado en la escena se definen: Plano epipolar: Plano que contiene a los puntos O l, O r y X. Líneas epipolares: Intersecciones del plano epipolar con los planos de las imágenes. u l es la proyección del punto X sobre Π l en coordenadas de la imagen izquierda. u r es la proyección del punto X sobre Π r en coordenadas de la imagen derecha. La propiedad llamada restricción epipolar (epipolar constraint), nos dice que dada una imagen u l de X en Π l, su imagen correspondiente en Π r se encuentra a lo largo de la línea epipolar correspondiente. Esto, en la etapa de stereo matching, reduce el espacio de búsqueda de las correspondencias de dos dimensiones a una sola, ya que podemos conocer previamente las líneas epipolares. La proyección del rayo O l X sobre Π r es una línea epipolar, y la proyección del rayo O r X sobre Π l también lo es Matriz Esencial La matriz esencial E 3 3 relaciona puntos en el sistema de coordenadas de la cámara izquierda con el de la derecha. Tiene la siguiente propiedad: X T r EX l = 0 (3.1) donde X l es el punto X en coordenadas de la cámara izquierda, y X r es el punto X en coordenadas de la cámara derecha. E se define de la siguiente manera: E = R[T ] (3.2) donde 0 T 3 T 2 [T ] = T 3 0 T 1 T 2 T (3.3)

23 3.2. MATRIZ FUNDAMENTAL 23 y R y T son las matrices de rotación y traslación que relacionan el sistema de coordenadas de la cámara izquierda con el de la derecha: La matriz E tiene rango 2. X r = R(X l T ) (3.4) 3.2. Matriz Fundamental La matriz fundamental F 3 3 relaciona el sistema de coordenadas de píxel de la imagen izquierda con el de la derecha. ũ r T F ũ l = 0 (3.5) donde ũ r, ũ l son las coordenadas homogéneas de los puntos u r, u l respectivamente, y u r, u l son las proyecciones del punto X sobre Π r y Π l respectivamente, expresadas en coordenadas de píxel. F se define así: F = Kr 1T EK 1 l (3.6) donde K r, K l son las matrices de parámetros intrínsecos de la cámara derecha e izquierda respectivamente. La matriz F tiene rango Líneas Epipolares y Epipolos Decimos que un punto (x, y) pertenece a la línea (a, b, c) si ax + by + c = 0. Esta ecuación se puede reescribir usando coordenadas homogéneas: (x, y, 1)(a, b, c) T = 0, es decir, un punto u = (x, y) pertenece a la línea L = (a, b, c) si ũl = 0, donde ũ son las coordenadas homogéneas de u. Por la propiedad de E tenemos: Por lo tanto, las líneas X T r EX l = 0 l r = EX l l l = E T X r (3.7) son las líneas epipolares derecha e izquierda respectivamente, expresadas en coordenadas de las cámaras. Similarmente, por la propiedad de la matriz F, éstas son las líneas epipolares en coordenadas de las imágenes: l ru = F ũ l l lu = F T ũ r (3.8)

24 24 CAPÍTULO 3. GEOMETRÍA EPIPOLAR Los epipolos e l y e r cumplen lo siguiente: F ẽ l = 0 F T ẽ r = 0 (3.9) Por lo tanto ẽ l esta contenido en el núcleo de F y ẽ r en el núcleo de F T Sistema estereoscópico canónico Un sistema estereoscópico en posición canónica (o simplemente sistema canónico) es uno en que las cámaras tienen la misma distancia focal f, están dispuestas de modo que los planos de imagen de las cámaras están perfectamente alineados entre sí, y los rayos principales son paralelos. En un sistema con estas características, las líneas epipolares son las líneas de escaneo de las imágenes (es decir las filas de píxeles), por lo tanto resulta más fácil encontrar correspondencias de puntos, ya que simplemente buscamos correspondencias sobre la misma fila de la otra imagen. Como los planos de imagen son paralelos a la línea base, ésta no los interseca, por lo tanto los epipolos están en el infinito. Figura 3.2: Sistema estereoscópico en posición canónica

25 3.5. DISPARIDAD EN EL SISTEMA CANÓNICO Disparidad en el sistema canónico En un sistema estereoscópico, si tenemos el punto u l de la imagen izquierda y el punto u r de la imagen derecha, se dice que u l y u r son correspondientes cuando son proyecciones del mismo punto 3D de la escena. En un sistema canónico, la distancia relativa entre dos puntos correspondientes de la imagen izquierda y derecha se llama disparidad, y nos da información sobre la distancia sobre el eje Z de ese punto con respecto a la línea base del sistema estereoscópico. La disparidad es inversamente proporcional a la distancia, es decir, a mayor disparidad hay menor distancia. Como en el sistema canónico las correspondencias siempre están sobre la misma línea de la imagen, la disparidad es simplemente la distancia horizontal en píxeles de un punto con su correspondiente en la otra imagen. La Figura 3.3 muestra un sistema canónico de dos cámaras con distancia focal f, separadas por una línea base de longitud b. Los puntos u l y u r son imágenes del punto X sobre la imagen izquierda y derecha respectivamente. Figura 3.3: Disparidad Observando que los triángulos ul o l O l y XP O l son semejantes, y que los triángulos ur o r O r y XP Or son semejantes, se obtiene la siguiente fórmula que relaciona la disparidad d x con la distancia z. d x (u l, u r ) = x l x r = bf z (3.10)

26 26 CAPÍTULO 3. GEOMETRÍA EPIPOLAR 3.6. Resolución de profundidad en el sistema canónico Se puede estimar la resolución de profundidad que podemos esperar de un sistema estereoscópico canónico, en función de la longitud de la línea base, la resolución y la apertura focal de las cámaras, y la distancia aproximada de los objetos fotografiados. La resolución de profundidad va disminuyendo mientras más lejano es el punto observado, según lo ilustra la Figura 3.4, donde r es la dimensión horizontal de un píxel, y R representa la resolución de profundidad obtenida a la distancia z de la línea base. Figura 3.4: Resolución de profundidad La siguiente ecuación nos da la resolución R que podemos esperar a una distancia z, con una línea base de longitud b, un ángulo de apertura de las cámaras α, y una resolución horizontal de las cámaras de R h píxeles por fila. R = z 2 [R h b/2 tan(α/2)] z (3.11)

27 Capítulo 4 Feature Matching El objetivo de esta etapa es resolver el problema de la correspondencia, que consiste en identificar puntos en dos o más vistas que son proyecciones del mismo punto en el espacio. Las técnicas automatizadas de correspondencias de puntos (feature matching) pueden ser divididas en dos categorias: de línea base estrecha (narrowbaseline matching), o de línea base ancha (wide-baseline matching). La primera de ellas supone que el cambio en la posición y orientación de la cámara es pequeño, por lo tanto las zonas adyacentes a los puntos de interés se verán similares en las dos vistas. Esto trae ventajas a la hora de buscar las correspondencias ya que se puede comparar las intensidades de los píxeles alrededor de los puntos candidatos. En las técnicas de línea base ancha, las superficies en las dos imágenes pueden mostrar grandes cambios de escala, perspectiva, y diferentes oclusiones por lo que no es tan sencillo comparar los puntos candidatos. Además pueden aparecer grandes disparidades, lo que aumenta considerablemente el espacio de búsqueda de correspondencias. Particularmente, en SFM podemos asumir que los cuadros adyacentes del video cambian poco su posición y orientación, por lo tanto se puede usar una técnica de correspondencia de línea base estrecha. Ésta consiste en detectar puntos de interés o corners en la imagen y rastrearlos a lo largo del video. Para esto se necesita algún criterio de detección de estos puntos de interés, de modo que sean fácilmente identificables en las imágenes. Esta etapa se llama corner detection Corner Detection Es importante definir qué es exactamente un punto de interés o corner. Un corner debe tener ciertas propiedades que faciliten su identificación. Si por ejemplo tomamos un punto en medio de una pared blanca no será fácil de rastrear en los siguientes cuadros, ya que todos los puntos en la pared son similares. Por lo tanto se pide que un corner sea un punto visualmente 27

28 28 CAPÍTULO 4. FEATURE MATCHING significativo, único o casi único. Si seleccionáramos un punto donde la derivada de las intensidades de la imagen a lo largo de una dirección es grande, estamos en presencia de un borde. Este punto puede ser muy parecido a todos los demás puntos en el mismo borde, por lo tanto este criterio de selección no es suficiente. Si seleccionamos un punto cuyas derivadas sean grandes en dos direcciones ortogonales, podemos esperar que este punto sea más facil de identificar. Los puntos con esta propiedad son llamados corners (esquinas), porque típicamente aparecen en los lugares en que se unen dos bordes que corren en diferentes direcciones Harris Corners La definición de corner más comunmente usada fue provista por Harris [12]. Esta definición se basa en una matriz que contiene las derivadas de segundo orden ( 2 x, 2 y, x y) de la intensidad de la imagen. Sea I(x, y) la función de intensidad de la imagen. Consideremos una ventana en el área (U, V ), y desplacémosla en (x, y). La suma de diferencias al cuadrado entre el área original y la desplazada es: S(x, y) = w(u, v)(i(u + x, v + y) I(u, v)) 2 (4.1) u U v V donde w es una función de peso que define una ventana circular. La función w se podría definir, por ejemplo, de modo que valga 1 para los puntos cuya distancia al centro de la ventana sea menor o igual a un radio predefinido y 0 para los puntos cuya distancia sea mayor. El término I(u + x, v + x) puede ser aproximado por un polinomio de orden 2: I(u + x, v + y) I(u, v) + I x (u, v)x + I y (u, v)y donde I x e I y son las derivadas parciales de I sobre x e y respectivamente. Reemplazando en S(x, y) obtenemos la siguiente aproximación: S(x, y) w(u, v)(i x (u, v)x + I y (u, v)y) 2 u U v V donde Se puede escribir en forma matricial de la siguiente manera: S(x, y) [ x y ] [ ] x A y (4.2) A = [ ] I 2 w(u, v) x I x I y I x I y I 2 u U v V y [ = u U v V w(u, v)i2 x(u, v) u U v V w(u, v)i x(u, v)i y (u, v) v V w(u, v)i ] x(u, v)i y (u, v) v V w(u, v)i2 y (u, v) u U u U

29 4.1. CORNER DETECTION 29 Un corner está caracterizado por una gran variación de S en al menos dos direcciones, y esto ocurre cuando la matriz A tiene dos autovalores grandes. En la figura 4.1 se muestra una ventana (en rojo) centrada sobre un corner, un borde y una zona uniforme. Las flechas indican las direcciones que producen una gran variación de S al mover la ventana. Harris define los corners como lugares en la imagen donde la matriz A tiene dos autovalores grandes. Los autovalores de A no solo determinan si un punto es un corner, sino que también nos dan una firma para identificar al punto que es invariante a rotaciones. Las derivadas de segundo orden en A son útiles porque no responden a gradientes uniformes. La función de peso w es circular para que la respuesta sea isotrópica. Figura 4.1: Izquierda: Ventana centrada sobre un corner. Centro: Ventana centrada sobre un borde. Derecha: ventana centrada en una zona uniforme Se pueden caracterizar los puntos de la imagen en función de los autovalores de la matriz A en esos puntos. Supongamos que λ 1 y λ 2 son los autovalores de A en un punto. 1. Si λ 1 0 y λ 2 0, entonces el píxel no tiene un punto de interés. 2. Si λ 1 0 y λ 2 tiene un valor grande positivo, estamos en presencia de un borde. 3. Si λ 1 y λ 2 tienen valores positivos grandes, entonces el punto es un corner. El cálculo exacto de estos autovalores es computacionalmente caro, por lo tanto Harris propone calcular la siguiente función. M c = λ 1 λ 2 k(λ 1 + λ 2 ) 2 = det(a) k trace(a) 2 (4.3) donde k es un parámetro ajustable de sensibilidad, det(a) es el determinante de A y trace(a) es la suma de los elementos de la diagonal de A. El valor de k tiene que ser determinado empíricamente, generalmente se elige un valor entre 0.04 y Una variante propuesta por Shi-Tomasi [13] es computar el mínimo entre λ 1 y λ 2, y si es mayor a cierto umbral predefinido consideramos que el punto es un corner. Este método no solo es suficiente, sino que a veces da mejores resultados que el original de Harris.

30 30 CAPÍTULO 4. FEATURE MATCHING OpenCV implementa este algoritmo de detección de corners, con el método de Harris o con la variación de Shi-Tomasi Subpíxel Corners Como el objetivo de SFM es extraer ciertas medidas geométricas de las imágenes, necesitamos más precisión que la simple coordenada del píxel que contiene un corner. Supongamos que estamos buscando un pico agudo en la intensidad de la imagen, nos encontraremos con que éste casi nunca ocurre en el centro exacto del píxel. Para resolver este problema uno podría ajustar una parábola a los valores de la imagen y luego buscar el máximo local en la curva para refinar la posición del pico. Las técnicas de detección a nivel de pub-píxel se basan en procedimientos como éste. Típicamente se necesitan estas técnicas para reconstrucciones tridimensionales, calibración de una cámara, unir fotografías con áreas que coinciden parcialmente, o refinar una señal como la localización exacta de un edificio en una imagen satelital. Una vez que conocemos la ubicación de un corner en precisión de píxel, podemos refinarla aprovechando el hecho de que el producto escalar entre dos vectores ortogonales es 0. Supongamos que q es la estimación inicial del corner, cercana al corner real. Sea p un punto cercano a q. Consideremos el producto < I(p), q p >, este producto es 0 en dos casos: 1. I(p) = 0, es decir p está en una región uniforme. 2. I(p) 0 y I(p) es ortogonal a q p. Esto ocurre cuando q p corre a lo largo de un borde. Figura 4.2: Podemos seleccionar varios puntos p en una ventana alrededor de q, e igualar este producto a 0. Así obtenemos un sistema de ecuaciones lineales cuya solución nos da una ubicación más precisa del corner. OpenCV provee una implementación de este algoritmo para refinar los corners.

31 4.2. TRACKING Tracking Una vez que detectamos los puntos de interés, es preciso rastrearlos a lo largo de los cuadros del video. Ya que trabajamos bajo el supuesto de una línea base pequeña, podemos analizar el flujo óptico (optical flow) entre los cuadros para rastrear el movimiento de los corners. El flujo óptico es el patrón de movimiento que exhiben los objetos proyectados sobre una imagen, causado por el movimiento relativo entre la cámara y la escena. Los algoritmos para computar el flujo óptico se dividen en dos categorías: densos y dispersos. Los algoritmos de flujo densos intentan asociar un vector de velocidad a cada píxel de la imagen, y su costo computacional suele ser caro. Los algoritmos de flujo disperso o no-denso, requieren que se especifique previamente el subconjunto de puntos que deben ser rastreados. Si esos puntos tienen ciertas propiedades deseables (como los corners de Harris) entonces el tracking será relativamente confiable y robusto Lucas Kanade Lucas-Kanade es un algoritmo de flujo disperso. Se basa únicamente en información extraída de una pequeña ventana de búsqueda alrededor de cada punto de interés. Dado que grandes movimientos de la cámara pueden mover los puntos rastreados fuera de la ventana, existe una variación del algoritmo llamada Pyramidal Lucas-Kanade, que rastrea los puntos sobre versiones en distinta escala de las imágenes originales, lo que permite capturar también los movimientos grandes con una ventana local. Lucas-Kanade se basa en tres hipótesis: 1. Brillo constante: La intensidad de un píxel no cambia en apariencia a medida que se mueve de un cuadro a otro. f(x, t) = I(x(t), t) = I(x(t + t), t + t) (4.4) 2. Persistencia temporal: Los incrementos temporales entre cuadros del video (el tiempo transcurrido entre la captura de un cuadro y el siguiente) son suficientemente rápidos para que los objetos no se muevan mucho de un cuadro a otro. 3. Coherencia espacial: Puntos vecinos en la escena pertenecen a la misma superficie, tienen movimientos similares, y se proyectan a puntos cercanos en el plano de la imagen. Velocidad del flujo óptico Consideremos primero el caso de una sola dimensión espacial para definir la velocidad del flujo óptico, luego generalizamos para el caso de dos dimensiones.

32 32 CAPÍTULO 4. FEATURE MATCHING La hipótesis del brillo constante se puede escribir de la siguiente manera. f(x, t) t = 0 (4.5) o bien I(x(t), t) t = 0 Aplicando la regla de la cadena para varias variables obtenemos: I }{{} x t I x ( x ) + I } t {{} t v x(t) }{{} I t donde I x es la derivada espacial sobre la primera imagen, I t es la derivada de la intensidad de la imagen sobre el tiempo en el punto x(t), y v es la velocidad que estamos buscando. = 0 v = I t I x (4.6) Figura 4.3: La Figura 4.3 muestra un borde en nuestra imagen unidimensional, con un valor de intensidad alto a la izquierda y bajo a la derecha, que está moviéndose hacia la derecha sobre el eje x. El objetivo es encontrar la velocidad v a la que se mueve el borde, que en este caso es simplemente el aumento de intensidad entre las imágenes (I t ) dividido la pendiente de la curva en el punto p (I x ).

33 4.2. TRACKING 33 Figura 4.4: La Figura 4.4 muestra un caso en el que no se cumple la hipótesis temporal, y por lo tanto la ecuación (4.6) no nos da el valor correcto de v, aunque se acerca bastante. Podemos usar este valor como una estimación inicial y refinarlo con el método de Newton. Dado un valor inicial v 0 se calculan los nuevos valores v 1, v 2,... recursivamente. v n+1 = v n I tn+1 I x En el caso bidimensional, tenemos dos componentes para la velocidad, u será el componente sobre el eje x y v el componente sobre el eje y. La ecuación para la hipótesis del brillo constante resulta: I x u + I y v + I t = 0 (4.7) Se puede reescribir en forma matricial de la siguiente manera: donde u = I T u = I t (4.8) [ ] u, I = v Como tenemos dos incógnitas y una sola ecuación, solo podemos resolver el componente de la velocidad que es normal a la recta definida por la ecuación. La magnitud de este componente es It I y se llama flujo normal. Esta dificultad para calcular los componentes de u se conoce como el problema de la apertura. Este problema se manifiesta cuando tenemos una apertura o ventana muy pequeña (en este caso de un píxel) en la que queremos medir el movimiento. Por lo general al tener una ventana pequeña solo alcanzamos [ Ix I y ]

34 34 CAPÍTULO 4. FEATURE MATCHING a ver un borde, no un corner, y esto es insuficiente para determinar exactamente la dirección del movimiento. En la Figura 4.5 se ilustra el problema de la apertura, la fila de arriba es una secuencia donde se observa el movimiento de una figura rectangular (en gris oscuro) observada a través de una ventana pequeña, y la fila de abajo es la misma secuencia pero podemos ver la figura rectangular completa. A través de la ventana podemos percibir únicamente la componente horizontal del movimiento. Figura 4.5: Problema de la apertura Para superar este problema recurrimos a la hipótesis de coherencia espacial; si un área de píxeles se mueve coherentemente (con la misma dirección y velocidad), podemos resolver el movimiento del píxel central usando N píxeles vecinos para armar un sistema de ecuaciones: I x (p 1 ) I y (p 1 ) [ ] I t (p 1 ) u.. = v. I x (p N ) I y (p N ) }{{} I t (p N ) }{{} d 2 1 }{{} A N 2 b N 1 (4.9) Este sistema se puede resolver con el método de mínimos cuadrados usando ecuaciones normales, que minimiza Ad b 2. Las ecuaciones normales nos quedan: o equivalentemente: (A T A) }{{}}{{} d [ Ix I x Ix I y ) Ix I y Iy I y ) }{{} A T A = A T b }{{} 2 2 ] [ ] u v = [ Ix I t Iy I t ] }{{} A T b

35 4.2. TRACKING Por lo tanto la solucio n es: u = (AT A) 1 AT b v 35 (4.10) El problema puede ser resuelto cuando (AT A) es invertible, y esto ocurre cuando tiene dos autovalores grandes. Esto pasa en regiones de la imagen en las que la derivada espacial de la intensidad de la imagen es grande en al menos dos direcciones ortogonales, es decir, cuando la ventana este centrada sobre un corner. Figura 4.6: Fragmento de la secuencia de la Precordillera OpenCV implementa el algoritmo de tracking Lucas-Kanade y su variante Pyramidal Lucas-Kanade. En la Figura 4.6 se muestran algunos cuadros de una secuencia tomada en la Precordillera en Rio Negro, y en la Figura 4.7 se muestra el tracking sobre un par de cuadros. Como el tracking trabaja u nicamente con el valor de intensidad de los pixeles, se procesan las ima genes en blanco y negro en esta etapa. Una limitacio n de Lucas-Kanade es que es muy sensible a cambios de iluminacio n (hipo tesis del brillo), y esto hace que no sea muy preciso en algunas situaciones, y sea inviable en otras. La mayorı a de las video ca maras hacen un balance de blancos automa tico que va alterando los niveles de la imagen. E sto representa un problema, ya que cuando la secuencia tiene mucho brillo en un momento y es oscura en otro, o un objeto muy brillante entra en el campo de visio n, cambia el valor de intensidad de los pı xeles en toda la imagen, por lo que la hipo tesis no se cumple. Otra limitacio n de Lucas-Kanade es que si en la escena existen oclusiones, es posible que un objeto que se cruza por el campo de visio n de la ca mara arrastre a los puntos rastreados que esta n detra s. Estos problemas se pueden sobreponer utilizando otros algoritmos ma s sofisticados de tracking que son ma s robustos a cambios de iluminacio n y oclusiones, y tambie n son invariantes a rotaciones, cambios de escala y transformaciones afines (SURF / SIFT).

36 36 CAPÍTULO 4. FEATURE MATCHING Figura 4.7: Tracking entre dos cuadros con Lucas-Kanade: Los corners estan marcados en blanco

37 Capítulo 5 Recuperación de la estructura y el movimiento Habiendo identificado las correspondencias de puntos entre dos imágenes, es posible estimar la matriz fundamental que describe la geometría epipolar entre las vistas. La matriz fundamental puede ser descompuesta para recuperar un par de matrices de proyección correspondientes a las dos vistas. Luego se puede obtener una estimación de los puntos 3D por medio de una triangulación. Estas estimaciones de las matrices de proyección y los puntos 3D se van extendiendo iterativamente a medida que procesamos los cuadros del video, para obtener una reconstrucción inicial de la estructura y el movimiento. Esta reconstrucción inicial no es del todo precisa debido al ruido en las imágenes, errores de correspondencia y posibles ambigüedades en la recuperación de la geometría epipolar, por lo tanto, al incorporar nuevas vistas, vamos acumulando un error que produce una deriva de la posición estimada de la cámara respecto a la real, sobretodo en secuencias largas. Por esto es necesaria una etapa más llamada bundle adjustment, que toma esta reconstrucción inicial y va refinando iterativamente los parámetros de estructura y movimiento mediante la minimización de una función de costo. Esta optimización depende críticamente de una buena estimación inicial, de lo contrario el algoritmo puede fallar convergiendo a un mínimo local de la función de costo. OpenCV ofrece una función para calcular la descomposición en valores singulares de una matriz, que se ha utilizado en varios puntos de esta etapa en los que se requiere encontrar la solución de mínimos cuadrados a un sistema de ecuaciones lineales sobredeterminado. 37

38 38 CAPÍTULO 5. ESTRUCTURA Y MOVIMIENTO 5.1. Estimación inicial Una iteración de la reconstrucción inicial se puede resumir en los siguientes pasos: 1. Selección de un par de cuadros del video de modo que el desplazamiento de los puntos rastreados sea mayor a un mínimo predefinido. 2. Estimación de la matriz fundamental F, usando las correspondencias de puntos entre las imágenes. Para esta etapa se requieren al menos 8 correspondencias de puntos para poder determinar F. Si tenemos menos de 8 correspondencias, pero tenemos 6 puntos 3D reconstruidos en iteraciones anteriores que aparecen en la nueva vista, es posible computar directamente la matriz de proyección de la segunda vista. 3. Extracción de la matriz esencial E de F. E = K T F K donde K es la matriz de parámetros intrínsecos obtenida en la etapa de calibración. 4. Descomposición de E en una matriz de traslación T y una matriz de rotación R, que representan la traslación y rotación de la cámara de una vista a otra, usando la descomposición en valores singulares de E. 5. Triangulación. Dadas las matrices de proyección (que pueden ser compuestas a partir de R, T y K), se estiman los puntos 3D a partir de sus posiciones en cada una de las vistas Estimación de F En esta etapa estimamos la matriz fundamental F, a partir de un conjunto de correspondencias de puntos entre dos vistas. Si tenemos un par de puntos correspondientes u l y u r, tenemos la siguiente ecuación que los relaciona a través de F : Se puede reescribir: 3 i=1 j=1 ũ r T F ũ l = 0 (5.1) 3 p ri F ij p lj = 0 (5.2) donde ũ l = (p l1, p l2, p l3 ) y ũ r = (p r1, p r2, p r3 ). Se puede reescribir de nuevo de modo que nos quede una sola sumatoria: donde q T f = 9 q i f i = 0 (5.3) i=1 q = [p l1 p r1, p l2 p r1, p r1, p l1 p r2, p l2 p r2, p r2, p l1, p l2, 1] T f = [F 11, F 12, F 13, F 21, F 22, F 23, F 31, F 32, F 33 ] T (5.4)

39 5.1. ESTIMACIÓN INICIAL 39 Tenemos nueve elementos a calcular, y una ecuación lineal de este tipo por cada correspondencia de puntos encontrada. Como la matriz fundamental está definida en base a un factor de escala, ocho correspondencias de puntos son suficientes para resolver el sistema. En la práctica, este método por sí solo es muy sensible al ruido en la imagen, errores de redondeo y correspondencias erróneas. Para evitar estos problemas se computa la solución para un número mayor de correspondencias de puntos K 8, con el método de los mínimos cuadrados, con la restricción de que la norma de f debe ser 1. Además, para eliminar las correspondencias erróneas (outliers), se usa RANSAC (Random SAmple Consensus), que resuelve el problema varias veces utilizando un subconjunto aleatorio de los puntos encontrados, y se queda con la solución más cercana al promedio o a la mediana de las soluciones. Un problema que surge en esta etapa es que existen ciertos casos críticos (degenerate configurations), donde no es posible recuperar la matriz fundamental a partir del tracking. Estos casos se dan cuando el movimiento de la cámara es una rotación en ausencia de traslación, o cuando todos los puntos rastreados son coplanarios (se encuentran en el mismo plano). En el primer caso, la geometría epipolar no está definida y la relación apropiada entre imágenes es una homografía. En el último caso los datos de la imagen no contienen suficiente información para recuperar la geometría epipolar. Torr [14] plantea algunas estrategias de detección de casos críticos. Una posibilidad para resolverlos es usar resección en lugar de la estimación de la matriz fundamental; si ya disponemos de 6 o más puntos reconstruidos previamente en la secuencia que son visibles en la vista actual, es posible estimar la matriz de proyección de la cámara directamente partir de las correspondencias entre los puntos 3D y sus proyecciones. OpenCV ofrece una función que estima la matriz fundamental a partir de un conjunto de correspondencias de puntos, con el método presentado en esta sección, y utiliza RANSAC para eliminar las correspondencias erróneas Descomposición de E en R y T En esta sección explicamos cómo se puede descomponer una matriz esencial para recuperar el movimiento de la cámara, y por consiguiente las matrices de proyección de las vistas. Conociendo la matriz de parámetros intrínsecos de la cámara y la matriz fundamental F, es posible recuperar un par de matrices de proyección para las vistas [3], definidas en base a un parámetro de escala desconocido, correspondiente a la magnitud de la traslación. Para esto es útil caracterizar a las matrices esenciales. Definición 1. Se dice que una matriz real Q 3 3 es una matriz esencial si y solo si existe una matriz de rotación R y una matriz 3 3 antisimétrica no nula [T ], tales que Q = [T ] R.

40 40 CAPÍTULO 5. ESTRUCTURA Y MOVIMIENTO Lema 1. Una matriz real Q 3 3 es una matriz esencial si y solo si Q tiene dos valores singulares iguales (no nulos) y un valor singular igual a 0. Teorema 1. Supongamos que Q 3 3 puede ser factorizada en un producto SR, donde R es ortogonal y S es antisimétrica. Sea Udiag(k, k, 0)V T la descomposición en valores singulares de Q. Entonces hay dos posibles factorizaciones Q = SR (ignorando signos): S = UZU T y (R = W UV T ó R = UW T V T ) (5.5) donde Z = 1 0 0, W = Teorema 2. Sea Q 3 3 cualquier matriz, y Q = UDV T su descomposición en valores singulares, donde D = diag(r, s, t) y r s t. Sea Q = UD V T donde D = diag(k, k, 0) y k = s+r 2. Entonces Q es la matriz más cercana a Q (en la norma de Frobenius) que puede ser factorizada en un producto SR con R ortogonal y S antisimétrica. En la práctica la matriz E extraída de nuestra estimación de la matriz fundamental F no cumplirá exactamente con los requerimientos de una matriz esencial, por lo tanto se usa la matriz esencial más cercana en términos de la norma de Frobenius. El algoritmo para extraer R, T y las matrices de proyección desde E se puede resumir de la siguiente manera: 1. Calcular la descomposición en valores singulares de E = UDV T, con D = diag(r, s, t) y r s t. 2. Las matrices de proyección para la primera y segunda vista son P 1 = [I 3 3 0] (I es la matriz identidad) y P 2 una de las siguientes: [UW V T u 3 ] [UW V T u 3 ] [UW T V T u 3 ] [UW T V T u 3 ] donde u 3 = U(0, 0, 1) T (la última columna de U). Éstas son las opciones para la matriz de rotación R de la primera a la segunda vista, y la matriz de traslación T de la segunda a la primera vista: R = UW V T ó R = UW T V T T = u 3 ó T = u 3 (5.6)

41 5.1. ESTIMACIÓN INICIAL 41 Figura 5.1: Matrices de proyección de la descomposición de E 3. Un punto reconstruido estará enfrente de ambas cámaras en solo una de estas soluciones para P 2, por lo tanto reconstruyendo un punto podemos hacer la selección correcta para P 2 (o equivalentemente R y T ). En la Figura 5.1 se ilustran las relaciones entre las cuatro opciones para la segunda matriz de proyección. Entre los lados izquierdo y derecho hay una inversión de la línea base. Entre las filas de arriba y de abajo la cámara B rota 180 o sobre la línea base. Se puede observar que solo en la opción (a) el punto reconstruido está enfrente de ambas cámaras Escala de la traslación La matriz de traslación obtenida con la descomposición de E está escalada de modo que T = 1. Podemos recuperar la magnitud de T usando

42 42 CAPÍTULO 5. ESTRUCTURA Y MOVIMIENTO como referencia los puntos reconstruidos en iteraciones anteriores. Para la primera iteración simplemente se escala T a alguna magnitud arbitraria, las magnitudes de T en las iteraciones siguientes estarán definidas en base a la primera. Sean P 1 y P 2 las matrices de proyección de la primera y segunda vista. Sean X = [x, y, z, w] T las coordenadas homogéneas de un punto reconstruido en iteraciones anteriores, y ũ 2 = [x, y, w ] T las coordenadas homogéneas de la proyección observada sobre el plano de la cámara en la segunda vista. Idealmente tenemos: ũ 2 = P 2 X Sea T 2 la matriz de traslación de la segunda vista a la primera, y R la matriz de rotación de la primera vista a la segunda. La matriz de traslación T obtenida en la descomposición de E está relacionada con T 2 por un factor k. T 2 = kt (5.7) Reemplazando obtenemos: ũ 2 = P 2 X = K[R T 2 ] X = K[R kt ] X = K([R kt ] X) α u 0 o x R 11 x + R 12 y + R 13 z + kt 1 w = 0 α v o y R 21 x + R 22 y + R 23 z + kt 2 w R 31 x + R 32 y + R 33 z + kt 3 w α u 0 o x q 1 = 0 α v o y q q 3 α u q 1 + o x q 3 = α v q 2 + o y q 3 q 3 Nos queda el siguiente sistema de ecuaciones: x = α u q 1 + o x q 3 y = α v q 2 + o y q 3 w = q 3 Las coordenadas de imagen de u 2 son: x u = x w, y u = y w

43 5.1. ESTIMACIÓN INICIAL 43 Estas dos ecuaciones se pueden reescribir de la siguiente forma: donde a x k = b x a y k = b y a x = (x u o x )t 3 α u t 1 b x = α u (R 11 x + R 12 y + R 13 z) (x u o x )(R 31 x + R 32 y + R 33 z) a y = (y u o y )t 3 α v t 2 b y = α v (R 21 x + R 22 y + R 23 z) (y u o y )(R 31 x + R 32 y + R 33 z) Éste es un sistema sobredeterminado y se puede resolver usando el método de mínimos cuadrados. De esta manera obtenemos una estimación del factor por cada punto reconstruido visible en la segunda vista. La estimación final del factor es el promedio de las estimaciones individuales para cada punto, excluyendo los puntos que den un factor de escala que se aparte mucho de la mediana Triangulación Conociendo las matrices de proyección y los puntos proyectados sobre las imágenes en dos o más vistas, podemos calcular las coordenadas 3D de los puntos. Idealmente, los puntos deben estar en la intersección de los rayos re-proyectados. Un rayo re-proyectado es una recta que pasa por el punto central de la cámara y por el punto observado en el plano de la imagen. A causa del ruido en la imagen y la posible falta de precisión en nuestra estimación de las matrices de proyección, los rayos re-proyectados generalmente no intersecan. Esto se ilustra en la Figura 5.2, donde u l, u r son los puntos observados y û l, û r son las proyecciones ideales de X. Por esto es necesario elegir el punto 3D minimizando alguna medida del error. El algoritmo estándar para la reconstrucción minimiza la suma de los cuadrados de los errores entre las proyecciones observadas u i y las re-proyecciones û i (P i, X) del punto 3D reconstruido X, en todas las vistas en que el punto es visible. u i û i (P i, X) 2 (5.8) i donde P i son las matrices de proyección donde el punto es visible. Si suponemos que el error de medición de las coordenadas de un punto observado tiene distribución Gaussiana, esta solución es la de máxima verosimilitud. Esta aproximación para la trangulación tiene la ventaja de que es invariante a transformaciones proyectivas, porque minimiza las distancias sobre las imágenes, no sobre el espacio euclídeo. La minimización puede hacerse de varias maneras:

44 44 CAPÍTULO 5. ESTRUCTURA Y MOVIMIENTO Figura 5.2: Triangulación Hartley y Sturm [7] dieron una solución para dos vistas que da la solución exacta resolviendo las raíces de un polinomio de grado 6. Aproximación de Sampson [1]. Da una solución aproximada para dos vistas, es computacionalmente menos costosa que Hartley y Sturm. Optimización numérica. Se puede encontrar una solución óptima para M vistas usando Levenberg-Marquardt [18]. Este método necesita de una buena estimación inicial. Una de las principales ventajas de SFM sobre visión estereoscópica es la redundancia en la información, ya que los puntos son visibles en muchas vistas simultáneamente. El método de Hartley y Sturm da la solución exacta para dos vistas pero no aprovecha la información de todas las vistas. Una posibilidad para realizar la triangulación es usar un método de triangulación lineal para obtener una estimación inicial y luego usar Levenberg-Marquardt para refinarla, ésta es la opción que se implementa en este sistema. El método de triangulación lineal no es óptimo en el sentido que no minimiza los errores de reproyección, pero es computacionalmente barato y usa la información de todas las vistas donde el punto es visible. La optimización Levenberg-Marquardt se describe en la etapa de bundle adjustment, donde se ajustan las estimaciones de los puntos al mismo tiempo que los parámetros de las matrices de proyección obtenidas con la descomposición de las matrices esenciales. Método de triangulación lineal El método de triangulación lineal aprovecha el hecho de que el producto vectorial entre dos vectores paralelos es 0. Como el punto observado

45 5.1. ESTIMACIÓN INICIAL 45 ũ = (x, y, 1) (en coordenadas homogéneas) idealmente es paralelo al punto proyectado P X, podemos escribir: o equivalentemente ũ (P X) = 0 (5.9) 0 = [ũ] P X 0 1 y P 1 X = 1 0 x P 2 X y x 0 P 3 X (P 2 X) + y(p3 X) = (P 1 X) x(p3 X) y(p 1 X) + x(p2 X) Nos queda el siguiente sistema de ecuaciones: x(p 3 X) (P1 X) = 0 y(p 3 X) (P2 X) = 0 x(p 2 X) y(p1 X) = 0 Este sistema provee solo dos restricciones porque la última ecuación es combinación lineal de las otras dos. [ ] xp3 P 1 X = 0 yp 3 P 2 }{{} A Podemos componer una matriz A para las m vistas donde el punto es visible. Esto resulta en un sistema sobredeterminado de 2m ecuaciones. A X = 0 (5.10) donde A tiene dimensiones 2m 4. La solución para X que da el método de triangulación lineal es la que minimiza A X, y se puede obtener con el método de mínimos cuadrados para sistemas lineales homogéneos. En la Figura 5.3 se muestra la nube de puntos dispersa que obtuvimos triangulando los puntos rastreados en la secuencia de la Precordillera, con el método de triangulación lineal y luego el ajuste Levenberg-Marquardt. La nube tiene puntos triangulados desde 6 vistas seleccionadas del video, proyecciones observadas y un promedio del error de reproyección de 0, píxeles.

46 46 CAPÍTULO 5. ESTRUCTURA Y MOVIMIENTO Figura 5.3: Nube de puntos dispersa: perfil izquierdo y de frente 5.2. Bundle Adjustment Supongamos que tenemos n puntos visibles en m vistas, y las proyecciones observadas son u ij, i {1,.., m}, j {1,.., n}. Si P 1,.., P m es una estimación de las matrices de proyección, y X 1,..., X n es una estimación de los puntos 3D, bundle adjustment se puede definir como el problema de refinar simultáneamente estas estimaciones, mediante la minimización de una función de costo no lineal. El objetivo es conseguir una estimación óptima de un conjunto de parámetros, dado un conjunto de observaciones con errores. Aunque los parámetros de la optimización no pueden ser observados directamente (las matrices de proyección reales y las coordenadas reales de los puntos), podemos hacer predicciones sobre cantidades que sí pueden ser medidas, como las coordenadas de píxel de las proyecciones de los puntos 3D. Supongamos que cada cámara i está parametrizada por un vector a i y cada punto 3D j por un vector b j. Bundle adjustment minimiza la suma de los errores de reproyección entre los puntos observados y las predicciones, con respecto a los parámetros de las cámaras y los puntos 3D: mín a i,b j m i=1 j=1 n v ij d(û(a i, b j ), u ij ) 2 (5.11) donde û(a i, b j ) es la predicción de la proyección del punto j en la imagen i, d(p 1, p 2 ) es la distancia en el plano de la imagen entre los puntos p 1 y p 2, y v ij es una variable que vale 1 si el punto j es visible en la imagen i y 0 en caso contrario. Esta minimización se puede hacer con métodos numéricos similares al método de Newton para encontrar la raíz de una función real. El método Levenberg-Marquardt es una variación del método de Newton que converge más rápido y es más robusto en el sentido que en muchos casos converge aún cuando la estimación inicial cae lejos del mínimo. Existen varias librerías de código abierto que implementan el algoritmo Levenberg-Marquard para bundle adjustment (ceres-solver, sba, ssba, mcba,

47 5.2. BUNDLE ADJUSTMENT 47 libdogleg). Para este proyecto se implementó una función de costo adecuada al modelo de cámara de OpenCV para realizar el ajuste con la librería ceressolver. Se refinan las posiciones de los puntos, la rotación y traslación de las vistas, los coeficientes de distorsión, la distancia focal y la relación de aspecto de la cámara.

48 48 CAPÍTULO 5. ESTRUCTURA Y MOVIMIENTO

49 Capítulo 6 Stereo Matching Luego de la reconstrucción de la nube de puntos dispersa y la trayectoria de la cámara, es posible seleccionar un par de vistas y utilizar un algoritmo de correspondencia estereoscópica (stereo matching) para triangular una nube de puntos densa. Un algoritmo de stereo matching busca correspondencias de puntos entre un par de imágenes de un sistema estereoscópico en posición canónica. Como el movimiento de la cámara es totalmente arbitrario, el par de vistas elegidas muy probablemente no estarán en posición canónica, pero es posible reproyectar las imágenes para obtener un nuevo par con las propiedades de un sistema canónico, este proceso se llama rectificación. La salida de un algoritmo de stereo matching es un mapa de disparidades. Dado un píxel en una imagen de un par rectificado, la disparidad es simplemente la distancia sobre el eje x a la que está el píxel correspondiente en la otra imagen. Usando este mapa de disparidad es posible triangular la posición de los puntos con correspondencias, de forma similar a la triangulación que realizamos para obtener la nube de puntos dispersa Restricciones estereoscópicas Para facilitar la tarea de búsqueda de correspondencias se asumen ciertas restricciones y simplificaciones llamadas restricciones estereoscópicas (stereo matching constraints). Éstas son algunas de las restricciones más comunes: Restricción epipolar Dado un punto en la imagen izquierda, el punto correspondiente en la derecha está siempre sobre la línea epipolar correspondiente (idem derecha). Gracias a esta restricción, el espacio de búsqueda de correspondencias se reduce a una sola dimensión. Para un sistema en posición canónica (o bien para imágenes rectificadas) es simplemente la misma fila de píxeles en la otra imagen. Unicidad Un punto proyectado sobre el plano de la imagen corresponde 49

50 50 CAPÍTULO 6. STEREO MATCHING Figura 6.1: a lo sumo a un punto 3D en la escena. Esta restricción es cumplida únicamente por objetos opacos. Para objetos transparentes es posible que varios puntos 3D tengan la misma proyección sobre el mismo plano de imagen. Restricción de orden El orden de los puntos encontrados es el mismo en la imagen izquierda y en la derecha. Esta restricción se cumple únicamente si todos los objetos están aproximadamente a la misma distancia de las cámaras, o se observa una superficie continua (por ejemplo en una imagen satelital). La figura 6.1 es un ejemplo de un caso en que esta restricción no se cumple, ya que en la imagen izquierda tenemos primero m l (imagen de M) y luego n l (imagen de N), y en la derecha tenemos primero n r y después m r. Con esta restricción pueden haber puntos sin correspondencia (correspondencias faltantes), a causa de oclusiones o ruido, pero el orden de las correspondencias que se encuentran debe mantenerse. Límite de disparidad Esta restricción impone límites globales a la máxima y mínima disparidad permitida. d min < d x (u l, u r ) < d max donde d min, d max son un umbrales de disparidad. Al imponer un límite en la máxima y mínima disparidad, limitamos el espacio de búsqueda, y

51 6.2. RECTIFICACIÓN 51 como la disparidad está relacionada con la profundidad, determinamos la máxima y mínima distancia que puede medir el sistema Rectificación Como las vistas no están en posición canónica, lo que se hace (conociendo los parámetros intrínsecos de la cámara y las matrices R y T que relacionan ambas vistas) es re-proyectar las imágenes derecha e izquierda para obtener un nuevo par de imágenes perfectamente alineado. Ésta es la etapa de rectificación. OpenCV ofrece una función que a partir de las matrices de proyección de dos cámaras P l y P r, los coeficientes de distorsión de ambas cámaras y las matrices R y T del sistema estereoscópico, calcula un par de matrices de rotación R l y R r y nuevas matrices de proyección de las cámaras P r y P l para el sistema rectificado. Las matrices R l y R r indican de qué manera se deben rotar los planos de la imagen izquierda y derecha respectivamente sobre su punto principal, para obtener un nuevo par de imágenes rectificado. P r y P l son las matrices de proyección del nuevo sistema rectificado. Una vez que tenemos estos parámetros podemos producir un mapa de rectificación para cada cámara, que nos va a indicar cómo transformar una imagen para rectificarla. El mapa de rectificación es una matriz del mismo tamaño que la imagen, en la que cada elemento representa un píxel en la imagen de destino (rectificada) y contiene las coordenadas a las que mapea en la imagen original (es un mapeo inverso). OpenCV calcula este mapa para una cámara, a partir de la matriz de proyección de la cámara, los coeficientes de distorsión, y la rotación de rectificación (R l ó R r según de que cámara sea la imagen que queremos rectificar) y la nueva matriz de proyección rectificada (P r ó P l ). El resultado de esta función es un mapa que nos sirve al mismo tiempo para la rectificación y la corrección de distorsiones de una imagen. En la Figura 6.3 se muestra un par de cuadros rectificados de la secuencia de la Precordillera. En el presente proyecto se utiliza un algoritmo de rectificación planar, que funciona bien sobretodo en secuencias de tipo barrido, pero tiene una limitación: se puede aplicar únicamente en los casos en que la línea base del sistema estereoscópico no interseque los planos de las imágenes. Esto no permite plantear un sistema estereoscópico en situaciones en las que la cámara avanza mayormente hacia adelante o hacia atrás. Para lograr un sistema donde el movimiento de la cámara sea totalmente libre es posible utilizar un algoritmo de rectificación polar, que permite obtener un par rectificado para cualquier desplazamiento de la cámara [15].

52 52 CAPÍTULO 6. STEREO MATCHING Figura 6.2: Rectificación 6.3. Block Matching OpenCV implementa un algoritmo de matching por bloques (blockmatching), que trabaja sobre imágenes rectificadas. El algoritmo tiene tres etapas:

53 6.3. BLOCK MATCHING 53 Figura 6.3: Par rectificado: en verde estan marcadas algunas lineas epipolares 1. Pre-filtrado, para normalizar el brillo de la imagen y realzar la textura. 2. Búsqueda de correspondencias a lo largo de las líneas epipolares (que son horizontales). 3. Pos-filtrado, para eliminar correspondencias erróneas. Este algoritmo busca correspondencias usando una ventana de dimensiones K N. La idea es, dado un punto en la imagen izquierda, recorrer la misma fila en la imagen derecha buscando un punto cuya región o ventana tenga una buena medida de correspondencia con la región que rodea el punto en la imagen izquierda. Para medir la correspondencia entre regiones se usa la siguiente medida llamada SAD, suma de diferencias absolutas (Sum of Absolute Diferences): D SAD (x, y, d x ) = I l (x + i, y + j) I r (x d x + i, y + j) (6.1) (i,j) U donde U es la ventana, I l : Z 2 R es la intensidad de un píxel en la imagen izquierda, I r : Z 2 R es la intensidad de un píxel en la imagen derecha, y d x es la disparidad. En base a D SAD podemos definir una función de matching, cuyo valor crece en los puntos con regiones similares al punto original, por ejemplo tomando (D SAD ) 1. Como este algoritmo trabaja sobre imágenes provenientes de un sistema canónico o rectificado, si el píxel para el cual buscamos correspondencia está en (x 0, y 0 ) en la imagen izquierda, el punto correspondiente sobre la imagen derecha tiene que ocurrir en la misma fila a la izquierda de x 0. Esta correspondencia puede ser encontrada si la región del punto tiene una textura suficientemente marcada, y si el punto correspondiente en la otra imagen no está oculto por una oclusión. Una vez que tenemos las posibles correspondencias sobre la imagen derecha para los puntos de la izquierda, debemos eliminar las correspondencias

54 54 CAPÍTULO 6. STEREO MATCHING Figura 6.4: Mapa de disparidad: las zonas más lejanas aparecen oscuras y las cercanas claras erróneas (pos-filtrado). Para esto existen los parámetros uniquenessratio y texturet hreshold. Dado un uniquenessratio, usamos la siguiente condición para eliminar las correspondencias erróneas: matchv al minm atch minm atch < uniquenessratio (6.2) donde matchv al es el valor de la función de matching en el punto evaluado, y minmatch es el mínimo valor de la función dentro de cierto rango alrededor del punto. Es decir, descartamos las correspondencias cuyo valor de matching no se aparte lo suficiente del mínimo observado. El parámetro texturet hreshold, filtra correspondencias erróneas debidas al ruido en regiones con poca textura. Si la suma de los valores absolutos de las derivadas de la intensidad de la imagen a lo largo de x, sobre toda la ventana es menor que texturet hreshold, entonces se descarta la correspondencia, porque la región que rodea al punto no contiene suficiente textura. OpenCV tiene una implementación de block-matching, que toma las imágenes rectificadas izquierda y derecha, y los parámetros del algoritmo (tamaño de la ventana, disparidad mínima y máxima, parámetros del pre-

55 6.3. BLOCK MATCHING 55 filtro, uniquenessratio, etc..), y devuelve un mapa de disparidad. La principal desventaja de este algoritmo es que solo puede encontrar correspondencias en puntos altamente texturados, por lo tanto si la escena tiene poca textura, vamos a encontrar la profundidad para muy pocos puntos. La principal ventaja es que es muy rápido. La Figura 6.4 muestra un mapa de disparidad obtenido de la secuencia de la Precordillera. En la Figura 6.5 se muestra la nube densa que se obtuvo de los 5 mapas de disparidad de las sucesivas vistas de la montaña, que consiste en puntos, cada uno con un valor RGB obtenido de su proyección sobre las imágenes rectificadas. Figura 6.5: Nube densa coloreada

56 56 CAPÍTULO 6. STEREO MATCHING

57 Capítulo 7 Modelado El objetivo de etapa es producir, a partir de la nube de puntos densa obtenida con stereo matching, un modelo tridimensional fotorealista de la escena. Dicho modelo está compuesto por una red de polígonos (típicamente triángulos) llamada mallado, que forma la superficie de los objetos, y una textura que se mapea a los vértices de la superficie Procesamiento de la nube densa Como el algoritmo de matching que genera los mapas de disparidad no es perfecto, existen correspondencias erróneas en el mapa de disparidad, lo que da lugar a outliers en la nube de puntos densa. Es necesario manejar estos outliers para que no generen errores en la reconstrucción de la superficie. Además en muchos casos es necesario reducir el tamaño de la nube de puntos (sin perder información) ya que la cantidad de puntos puede ser inmanejable para el algoritmo de reconstrucción de la superficie. Para resolver esta etapa se utilizaron las herramientas de la librería de codigo abierto PCL (Point Cloud Library). Se aplican los siguientes filtros a la nube de puntos: 1. Filtro de outliers estadístico. Elimina los puntos dispersos. Para cada punto se calcula la distancia media a sus vecinos, asumiendo que la distribución resultante es Gaussiana, todos los puntos cuya distancia media a sus vecinos esté fuera de un intervalo definido por la media y la desviación estandar global de las distancias son considerados como outliers y son eliminados de la nube de puntos. 2. Filtro de outliers radial. Elimina los outliers causados por pequeños parches erroneós en los mapas de disparidad, que resultan en pequeñas fragmentos de nube que se apartan de la superficie principal. Se define un mínimo número de vecinos que cada punto debe tener dentro de un radio específico para permanecer en la nube de puntos. 57

58 58 CAPÍTULO 7. MODELADO 3. Filtro de downsampling. Este filtro reduce el número de puntos dividiendo el espacio en una grilla de cubos llamados voxels, y luego en cada voxel aproxima los puntos presentes con su centroide. En la Figura 7.1 se muestra la nube densa de la secuencia de la Precordillera antes y despues de aplicar los filtros. La nube original tiene puntos, el filtro estadístico eliminó puntos y el radial El filtro de downsampling produjo una nube de puntos. Figura 7.1: Primera fila: nube densa original. Segunda fila: Nube filtrada. Tercera fila: Outliers del filtro estadístico (izquierda) y del filtro radial (derecha) 7.2. Integración de superficies En la etapa de stereo matching obtenemos un mapa de disparidad por cada par de vistas seleccionadas, y por cada mapa de disparidad se puede obtener un mapa de profundidad por medio de una triangulación. El objetivo de esta etapa es producir una superficie completa en el espacio tridimensional, a partir de la nube densa completa, o bien fusionando los mapas de profundidad obtenidos de las múltiples vistas.

59 7.3. EXTRACCIÓN DE TEXTURAS 59 La forma más sencilla de obtener un mallado desde un mapa de profundidad, es superponer una red de triángulos sobre un cuadro del video, y luego usar el mapa de profundidad para computar las coordenadas 3D de cada vértice. El fragmento de imagen de cada triángulo 2D es mapeado al triángulo 3D correspondiente. Si bien este método es sencillo, puede no ser suficiente, debido a que en escenas complejas se necesita información de diferentes ángulos de visión para poder realizar una reconstrucción completa de la superficie. Los métodos para la integración de múltiples vistas, pueden ser categorizados en dos tipos: métodos basados en fusión de mallados, y métodos basados en integración volumétrica. Los métodos basados en fusión de mallados eliminan o combinan los elementos de distintos mallados (es decir los triángulos) que se superponen entre sí. El proceso de chequeo de superposiciones típicamente requiere una re-proyección de los triángulos a un plano 2D. Los métodos basados en integración volumétrica dividen el espacio en cubos llamados voxels, y a medida que se incorporan las vistas se van actualizando etiquetas que contienen información sobre la distancia de cada voxel a la superficie. Luego se extrae una isosuperficie (la superficie que iguala la distancia de los voxels a 0), que de hecho promedia las medidas de todos los mapas de profundidad. Por último es necesario un paso más para poligonizar esta superficie y obtener un mallado. Existen dos técnicas comunmente adoptadas que son un ejemplo de métodos basados en fusión de mallados y en integración volumétrica respectivamente: Direct Mesh Integration, e Implicit Surfaces and Marching Cubes. En el presente proyecto se utilizó el algoritmo de reconstrucción de superficies de Poisson [17] y varias herramientas de la aplicación libre MeshLab, para calcular los vectores normales a la superficie representada por la nube de puntos densa, y obtener un mallado a partir de ésta. La reconstrucción de Poisson no trabaja integrando las múltiples vistas, sino directamente sobre la nube densa completa. En la Figura 7.2 se muestra el mallado obtenido de la secuencia de la Precordillera Extracción de texturas El objetivo de la extracción de texturas es mapear una imagen a la superficie del modelo 3D, de modo que pueda ser renderizado de una manera fotorealista. Esto puede hacerse de la siguiente manera: 1. Re-proyectar el mallado 3D sobre cada uno de los cuadros del video. 2. Extraer fragmentos de textura (es decir, información fotométrica) de cada triángulo re-proyectado, desde distintos cuadros del video.

60 60 CAPÍTULO 7. MODELADO Figura 7.2: Primera fila: Mallado sombreado. Segunda fila: Mallado texturado 3. Utilizar los fragmentos de textura e información geométrica (por ejemplo el ángulo entre el rayo principal de cada vista y el vector normal de la superficie del mallado), para crear la textura final para cada triángulo del mallado. 4. Mapear las texturas finales a cada triángulo del mallado. En el paso (3) se puede hacer uso de las técnicas de super-resolución sobre el espacio-tiempo [9], para componer una textura con una resolución mayor que la de cada cuadro por separado. También se puede simplemente elegir el fragmento de textura con mejor resolución de entre todos los cuadros. Para este trabajo se utilizó la librería PCL para extraer y mapear las texturas a partir de un subconjunto de cuadros seleccionados del video. En esta etapa nos encontramos con otro problema relacionado con la iluminación: al proyectar distintas imágenes sobre el modelo poligonal, pueden existir diferencias de brillo y de color entre las imágenes, y esto resulta en una textura que tiene cambios abruptos de color en algunos sectores (texture seams). Este problema se puede atenuar realizando una ecualización de los niveles de las imágenes antes de proyectarlas sobre el modelo. También es posible utilizar zonas coincidentes de las imágenes para componer una textura con una transición suave entre sectores del modelo con texturas

Fundamentos matemáticos básicos de la realidad virtual

Fundamentos matemáticos básicos de la realidad virtual Fundamentos matemáticos básicos de la realidad virtual José Ignacio Ronda Prieto Grupo de Tratamiento de Imágenes, ETSIT, UPM jir@gti.ssr.upm.es Fundamentos matemáticos básicos de la realidad virtual 1

Más detalles

Estéreo dinámico. Estéreo dinámico

Estéreo dinámico. Estéreo dinámico Estéreo dinámico 1 Vectores locales de desplazamiento Dada una secuencia de imagenes Tomadas a intervalos Movimiento absoluto: movimiento independiente de la cámara Movimiento relativo: movimiento debido

Más detalles

Visión artificial y Robótica Geometría. Depto. de Ciencia de la Computación e Inteligencia Artificial

Visión artificial y Robótica Geometría. Depto. de Ciencia de la Computación e Inteligencia Artificial Visión artificial y Robótica Geometría Depto. de Ciencia de la Computación e Inteligencia Artificial Contenidos Geometría 2D y 3D Transformación de coordenadas Calibración de la cámara Álgebra necesaria

Más detalles

Matemáticas II Bachillerato Ciencias y Tecnología 2º Curso ESPACIO AFÍN Introducción Ecuaciones de la recta...

Matemáticas II Bachillerato Ciencias y Tecnología 2º Curso ESPACIO AFÍN Introducción Ecuaciones de la recta... Unidad 5 ESPACIO AFÍN 5.. Introducción.... - - 5.. Ecuaciones de la recta.... - - 5.3. Ecuaciones del plano.... - 4-5.4. Posiciones relativas (Incidencia y paralelismo).... - 6 - Anexo I.- EJERCICIOS...

Más detalles

Programa de Acceso Inclusivo, Equidad y Permanencia. PAIEP, Universidad de Santiago

Programa de Acceso Inclusivo, Equidad y Permanencia. PAIEP, Universidad de Santiago Guía de vectores. Vectores En matemática, un vector es una herramienta geométrica utilizada para representar una magnitud física definida en un sistema de referencia que se caracteriza por tener módulo

Más detalles

ALGEBRA. Escuela Politécnica Superior de Málaga

ALGEBRA. Escuela Politécnica Superior de Málaga ALGEBRA. Escuela Politécnica Superior de Málaga Tema 1. Espacios Vectoriales. Sistemas de ecuaciones. Espacio vectorial. Espacios vectoriales R n. Dependencia e independencia lineal. Base. Matrices y determinantes.

Más detalles

Visión por computadora Computer vision

Visión por computadora Computer vision Visión por computadora Computer vision Conjunto de algoritmos que permiten obtener una representación visual del mundo, suficiente para la realización de una tarea dada. Representación visual El mundo:

Más detalles

TEMA 8. GEOMETRÍA ANALÍTICA.

TEMA 8. GEOMETRÍA ANALÍTICA. TEMA 8. GEOMETRÍA ANALÍTICA. 8..- El plano. Definimos el plano euclideo como el conjunto de puntos ( x, y) R. Así, cada punto del plano posee dos coordenadas. Para representar puntos del plano utilizaremos

Más detalles

ANEXO C: ALGORITMOS DE INTERSECCIÓN

ANEXO C: ALGORITMOS DE INTERSECCIÓN ANEXO C: ALGORITMOS DE INTERSECCIÓN El corazón de cualquier modelo de trazado de rayos es el de los algoritmos de la intersección entre los rayos y los objetos del ambiente. En un proceso general de trazado

Más detalles

GRADIENTE La laplaciana es un buen filtro paso alto, pero no es una buena herramienta para resaltar o detectar los bordes. En muchos casos, los bordes o límites de las figuras o de las regiones aparecen

Más detalles

Conjuntos de nivel, diagramas de contorno, gráficas. Funciones vectoriales de una y dos variables.

Conjuntos de nivel, diagramas de contorno, gráficas. Funciones vectoriales de una y dos variables. Empezaremos el curso introduciendo algunos conceptos básicos para el estudio de funciones de varias variables, que son el objetivo de la asignatura: Funciones escalares de dos y tres variables. Conjuntos

Más detalles

INSTITUCIÓN EDUCATIVA GABRIEL TRUJILLO CORREGIMIENTO DE CAIMALITO, PEREIRA

INSTITUCIÓN EDUCATIVA GABRIEL TRUJILLO CORREGIMIENTO DE CAIMALITO, PEREIRA INSTITUCIÓN EDUCATIVA GABRIEL TRUJILLO CORREGIMIENTO DE CAIMALITO, PEREIRA Pobre del estudiante que no aventaje a su maestro. LA LÍNEA RECTA Leonardo da Vinci DESEMPEÑOS Identificar, interpretar, graficar

Más detalles

Visión artificial y Robótica Modelos de movimiento y mapas. Depto. de Ciencia de la Computación e Inteligencia Artificial

Visión artificial y Robótica Modelos de movimiento y mapas. Depto. de Ciencia de la Computación e Inteligencia Artificial Visión artificial y Robótica Modelos de movimiento y mapas Depto. de Ciencia de la Computación e Inteligencia Artificial Contenidos Sistemas de coordenadas Localización de objetos en el espacio Modelos

Más detalles

ALGEBRA. Escuela Politécnica Superior de Málaga

ALGEBRA. Escuela Politécnica Superior de Málaga ALGEBRA. Escuela Politécnica Superior de Málaga Tema 1. Espacios Vectoriales. Sistemas de ecuaciones. Espacio vectorial. Espacios vectoriales R n. Dependencia e independencia lineal. Base. Matrices y determinantes.

Más detalles

2. Distancia entre dos puntos. Punto medio de un segmento

2. Distancia entre dos puntos. Punto medio de un segmento Geometría 1 Geometría anaĺıtica Una ecuación de primer grado con dos incógnitas x e y tiene infinitas soluciones Por ejemplo x + y = 3 tiene como soluciones (0, 3), (1, ), ( 1, 4), etc Hasta ahora se han

Más detalles

Reconstrucción Tridimensional a Partir de Varias Imágenes

Reconstrucción Tridimensional a Partir de Varias Imágenes Reconstrucción Tridimensional a Partir de Varias Imágenes Dr. Luis Gerardo de la Fraga E-mail: fraga@cs.cinvestav.mx Sección de Computación Departamento de Ingeniería Eléctrica CINVESTAV 22 de noviembre,

Más detalles

Espacios Vectoriales Euclídeos. Métodos de los mínimos cuadrados

Espacios Vectoriales Euclídeos. Métodos de los mínimos cuadrados Capítulo 5 Espacios Vectoriales Euclídeos. Métodos de los mínimos cuadrados En este tema iniciamos el estudio de los conceptos geométricos de distancia y perpendicularidad en K n. Empezaremos con las definiciones

Más detalles

Formulación del problema de la ruta más corta en programación lineal

Formulación del problema de la ruta más corta en programación lineal Formulación del problema de la ruta más corta en programación lineal En esta sección se describen dos formulaciones de programación lineal para el problema de la ruta más corta. Las formulaciones son generales,

Más detalles

Proyecto. Tema 6 sesión 2: Generación de Rectas, Circunferencias y Curvas. Geometría Analítica. Isidro Huesca Zavaleta

Proyecto. Tema 6 sesión 2: Generación de Rectas, Circunferencias y Curvas. Geometría Analítica. Isidro Huesca Zavaleta Geometría Analítica Tema 6 sesión 2: Generación de Rectas, Circunferencias y Curvas Isidro Huesca Zavaleta La Integración de dos Ciencias La Geometría Analítica nació de la integración de dos ciencias

Más detalles

ELEMENTOS DE GEOMETRÍA. Eduardo P. Serrano

ELEMENTOS DE GEOMETRÍA. Eduardo P. Serrano ELEMENTOS DE GEOMETRÍA Eduardo P. Serrano Este Apunte de Clase está dirigido a los alumnos de la materia Elementos de Cálculo Numérico para Biólogos. Tiene por objeto exponer algunos conceptos básicos

Más detalles

ANEXO N 4. Algoritmo de Flujo Óptico

ANEXO N 4. Algoritmo de Flujo Óptico ANEXO N 4 Algoritmo de Flujo Óptico Para la realización del proyecto era necesaria la implementación de algoritmos de detección de movimiento y seguimiento del mismo, por ejemplo al tener un fondo definido

Más detalles

VISIÓN POR COMPUTADOR

VISIÓN POR COMPUTADOR VISIÓN POR COMPUTADOR Introducción Ingeniería de Sistemas y Automática Universidad Miguel Hernández Tabla de Contenidos 2 Definición de Visión por Computador Captación Información Luminosa Imagen Digital

Más detalles

UNIVERSIDADES PÚBLICAS DE LA COMUNIDAD DE MADRID PRUEBA DE ACCESO A LAS ENSEÑANZAS UNIVERSITARIAS OFICIALES DE GRADO MATERIA: MATEMÁTICAS II

UNIVERSIDADES PÚBLICAS DE LA COMUNIDAD DE MADRID PRUEBA DE ACCESO A LAS ENSEÑANZAS UNIVERSITARIAS OFICIALES DE GRADO MATERIA: MATEMÁTICAS II UNIVERSIDADES PÚBLICAS DE LA COMUNIDAD DE MADRID PRUEBA DE ACCESO A LAS ENSEÑANZAS UNIVERSITARIAS OFICIALES DE GRADO MATERIA: MATEMÁTICAS II INSTRUCCIONES GENERALES Y VALORACIÓN El alumno contestará a

Más detalles

ÁLGEBRA LINEAL II Práctica

ÁLGEBRA LINEAL II Práctica ÁLGEBRA LINEAL II Práctica 3.1-3.2 Geometría afín. (Curso 2012 2013) 1. En un espacio afín real de dimensión 3, se consideran dos sistemas de referencia R = O, ē 1, ē 2, ē 3 } y R = P, ū 1, ū 2, ū 3 },

Más detalles

Problemas de exámenes de Geometría

Problemas de exámenes de Geometría 1 Problemas de exámenes de Geometría 1. Consideramos los planos π 1 : X = P+λ 1 u 1 +λ 2 u 2 y π 2 : X = Q+µ 1 v 1 +µ 2 v 2. Cuál de las siguientes afirmaciones es incorrecta? a) Si π 1 π 2 Ø, entonces

Más detalles

Álgebra y Trigonometría Clase 2 Ecuaciones, desigualdades y Funciones

Álgebra y Trigonometría Clase 2 Ecuaciones, desigualdades y Funciones Álgebra y Trigonometría Clase 2 Ecuaciones, desigualdades y Funciones CNM-108 Departamento de Matemáticas Facultad de Ciencias Exactas y Naturales Universidad de Antioquia Copyleft c 2008. Reproducción

Más detalles

[20380] Visió per Computador Prueba 2 (2013) Teoria (10p) (una pregunta test fallada descuenta 1/4 de pregunta acertada)

[20380] Visió per Computador Prueba 2 (2013) Teoria (10p) (una pregunta test fallada descuenta 1/4 de pregunta acertada) 102784 [20380] Visió per Computador Prueba 2 (2013) Teoria (10p) (una pregunta test fallada descuenta 1/4 de pregunta acertada) 1. En cuál de estas posibles aplicaciones podríamos utilizar una característica

Más detalles

El pipeline de visualización es el conjunto de

El pipeline de visualización es el conjunto de Sistemas de Visualización Pipeline de visualización 3D Definición del modelo geométrico Transformaciones geométricas Transformaciones de visualización Volumen de visualización Proyecciones Pipeline de

Más detalles

Estimación de homografías

Estimación de homografías Estimación de homografías Visión en Robótica 1er cuatrimestre de 2013 1 Introducción del problema Una homografía es una transformación proyectiva que determina una correspondencia entre puntos El problema

Más detalles

Unidad 5: Geometría analítica del plano.

Unidad 5: Geometría analítica del plano. Geometría analítica del plano 1 Unidad 5: Geometría analítica del plano. 1.- Vectores. Operaciones con vectores. Un vector fijo es un segmento entre dos puntos, A y B del plano, al que se le da una orientación

Más detalles

Álgebra Lineal Ma1010

Álgebra Lineal Ma1010 Álgebra Lineal Ma1010 Métodos Iterativos para Resolver Sistemas Lineales Departamento de Matemáticas ITESM Métodos Iterativos para Resolver Sistemas Lineales Álgebra Lineal - p. 1/30 En esta lectura veremos

Más detalles

unicoos Funciones lineales Objetivos 1.Función de proporcionalidad directa pág. 170 Definición Representación gráfica

unicoos Funciones lineales Objetivos 1.Función de proporcionalidad directa pág. 170 Definición Representación gráfica 10 Funciones lineales Objetivos En esta lección aprenderás a: Identificar problemas en los que intervienen magnitudes directamente proporcionales. Calcular la función que relaciona a esas magnitudes a

Más detalles

Geometría del plano y el espacio

Geometría del plano y el espacio Geometría del plano y el espacio AMD Grado en Ingeniería Informática AMD Grado en Ingeniería Informática (UM) Geometría del plano y el espacio 1 / 21 Objetivos Al final de este tema tendréis que Conocer

Más detalles

Lección 51. Funciones III. Funciones lineales

Lección 51. Funciones III. Funciones lineales Lección 51 Funciones III Funciones lineales Una función lineal es una función de la forma f (x) = mx + b, donde m y b son constantes. Se llama lineal porque su gráfica es una línea recta, en el plano R

Más detalles

Aplicaciones Lineales. Diagonalización de matrices.

Aplicaciones Lineales. Diagonalización de matrices. Tema 2 Aplicaciones Lineales. Diagonalización de matrices. 2.1. Definiciones y propiedades Nota 2.1.1. En este tema trabajaremos con los Espacios Vectoriales R n y R m definidos sobre el cuerpo R. Definición

Más detalles

Gráficos tridimensionales

Gráficos tridimensionales 9 de enero de 2013 1 / 25 Índice 1 2 Plano proyectivo Espacio proyectivo 3 4 2 / 25 Para los objetos en una escena usamos el sistema de referencia universal. Figura: Coordenadas universales y de vista.

Más detalles

2.2 Rectas en el plano

2.2 Rectas en el plano 2.2 Al igual que ocurre con el punto, en geometría intrínseca, el concepto de recta no tiene definición, sino que constituye otro de sus conceptos iniciales, indefinibles. Desde luego se trata de un conjunto

Más detalles

CONCEPTO DE CINEMÁTICA: es el estudio del movimiento sin atender a las causas que lo producen

CONCEPTO DE CINEMÁTICA: es el estudio del movimiento sin atender a las causas que lo producen CINEMÁTICA CONCEPTO DE CINEMÁTICA: es el estudio del movimiento sin atender a las causas que lo producen CONCEPTO DE MOVIMIENTO: el movimiento es el cambio de posición, de un cuerpo, con el tiempo (este

Más detalles

INTERVALOS Y SEMIRRECTAS.

INTERVALOS Y SEMIRRECTAS. el blog de mate de aida CSI: Inecuaciones pág 1 INTERVALOS Y SEMIRRECTAS La ordenación de números permite definir algunos conjuntos de números que tienen una representación geométrica en la recta real

Más detalles

ÁLGEBRA LINEAL II Práctica

ÁLGEBRA LINEAL II Práctica ÁLGEBRA LINEAL II Práctica 3.1-3.2 Geometría afín. (Curso 2013 2014) 1. En un espacio afín real de dimensión 3, se consideran dos sistemas de referencia R = O, ē 1, ē 2, ē 3 } y R = P, ū 1, ū 2, ū 3 },

Más detalles

Unidad V. 5.1 Recta tangente y recta normal a una curva en un punto. Curvas ortogonales.

Unidad V. 5.1 Recta tangente y recta normal a una curva en un punto. Curvas ortogonales. Unidad V Aplicaciones de la derivada 5.1 Recta tangente y recta normal a una curva en un punto. Curvas ortogonales. Una tangente a una curva es una recta que toca la curva en un solo punto y tiene la misma

Más detalles

Puntos y Vectores. 16 de Marzo de 2012

Puntos y Vectores. 16 de Marzo de 2012 Geometría en Puntos y Vectores Universidad Autónoma Metropolitana Unidad Iztapalapa 16 de Marzo de 2012 Introducción En Geometría analítica plana las relaciones y las propiedades geométricas se expresan

Más detalles

Una ecuación puede tener ninguna, una o varias soluciones. Por ejemplo: 5x 9 = 1 es una ecuación con una incógnita con una solución, x = 2

Una ecuación puede tener ninguna, una o varias soluciones. Por ejemplo: 5x 9 = 1 es una ecuación con una incógnita con una solución, x = 2 Podemos definir a las ecuaciones como una igualdad entre expresiones algebraicas (encadenamiento de números y letras ligados por operaciones matemáticas diversas),en la que intervienen una o más letras,

Más detalles

UNIDAD II Ecuaciones diferenciales con variables separables

UNIDAD II Ecuaciones diferenciales con variables separables UNIDAD II Ecuaciones diferenciales con variables separables UNIDAD ECUACIONES DIFERENCIALES CON VARIABLES SEPARABLES Ecuaciones diferenciales de primer orden y de primer grado. Una ecuación diferencial

Más detalles

Una forma fácil de recordar esta suma (regla de Sarrus): Primero vamos a estudiar algunas propiedades de los determinantes.

Una forma fácil de recordar esta suma (regla de Sarrus): Primero vamos a estudiar algunas propiedades de los determinantes. Una forma fácil de recordar esta suma (regla de Sarrus): Ejemplos: Tarea: realizar al menos tres ejercicios de cálculo de determinantes de matrices de 2x2 y otros tres de 3x3. PARA DETERMINANTES DE MATRICES

Más detalles

GEOMETRÍA. (x 1) 2 +(y 2) 2 =1. Razónalo. x y + z = 2. :3x 3z +1= 0 es doble de la distancia al plano π 2. : x + y 1= 0. Razónalo.

GEOMETRÍA. (x 1) 2 +(y 2) 2 =1. Razónalo. x y + z = 2. :3x 3z +1= 0 es doble de la distancia al plano π 2. : x + y 1= 0. Razónalo. GEOMETRÍA 1. (Junio, 1994) Sin resolver el sistema, determina si la recta x +3y +1= 0 es exterior, secante o tangente a la circunferencia (x 1) +(y ) =1. Razónalo.. (Junio, 1994) Dadas las ecuaciones de

Más detalles

Introducción al proceso digital de imagen y visión por computador

Introducción al proceso digital de imagen y visión por computador Introducción al proceso digital de imagen y visión por computador Ilustraciones extraidas de diversas fuentes 1 Libros de referencia Gonzalez & Woods Digital Image Processing Addison-Wesley Klette& Schluns&Koshan

Más detalles

INSTRUCCIONES GENERALES Y VALORACIÓN

INSTRUCCIONES GENERALES Y VALORACIÓN UNIVERSIDADES PÚBLICAS DE LA COMUNIDAD DE MADRID PRUEBA DE ACCESO A LAS ENSEÑANZAS UNIVERSITARIAS OFICIALES DE GRADO Examen-Modelo para el curso 2014-2015 MATERIA: MATEMÁTICAS II INSTRUCCIONES GENERALES

Más detalles

FACULTAD DE INGENIERIA. ESTABILIDAD I A Sistemas de fuerzas concentradas. Principios de la estática

FACULTAD DE INGENIERIA. ESTABILIDAD I A Sistemas de fuerzas concentradas. Principios de la estática FACULTAD DE INGENIERIA ESTABILIDAD I A Sistemas de fuerzas concentradas. Principios de la estática 1 Mecánica: Rama de la física que se ocupa del estado de reposo o movimiento de cuerpos sometidos a la

Más detalles

INTRODUCCIÓN AL ANÁLISIS DE DATOS ORIENTACIONES (TEMA Nº 7)

INTRODUCCIÓN AL ANÁLISIS DE DATOS ORIENTACIONES (TEMA Nº 7) TEMA Nº 7 DISTRIBUCIONES CONTINUAS DE PROBABILIDAD OBJETIVOS DE APRENDIZAJE: Conocer las características de la distribución normal como distribución de probabilidad de una variable y la aproximación de

Más detalles

Matrices, Determinantes y Sistemas Lineales.

Matrices, Determinantes y Sistemas Lineales. 12 de octubre de 2014 Matrices Una matriz A m n es una colección de números ordenados en filas y columnas a 11 a 12 a 1n f 1 a 21 a 22 a 2n f 2....... a m1 a m2 a mn f m c 1 c 2 c n Decimos que la dimensión

Más detalles

un conjunto cuyos elementos denominaremos vectores y denotaremos por es un espacio vectorial si verifica las siguientes propiedades:

un conjunto cuyos elementos denominaremos vectores y denotaremos por es un espacio vectorial si verifica las siguientes propiedades: CAPÍTULO 2: ESPACIOS VECTORIALES 2.1- Definición y propiedades. 2.1.1-Definición: espacio vectorial. Sea un cuerpo conmutativo a cuyos elementos denominaremos escalares o números. No es necesario preocuparse

Más detalles

Procesamiento de imágenes

Procesamiento de imágenes Procesamiento de imágenes Técnicas de realce de imágenes Técnicas de realce de imágenes Las imágenes digitalizadas no presentan siempre una calidad adecuada para su utilización, ello puede ser debido a

Más detalles

PAU Madrid. Matemáticas II. Año Examen de septiembre. Opción A. Ejercicio 1. Valor: 2 puntos.

PAU Madrid. Matemáticas II. Año Examen de septiembre. Opción A. Ejercicio 1. Valor: 2 puntos. Opción A. Ejercicio. Valor: 2 puntos. Se considera la función real de variable real definida por: f(x) = a) ( punto) Determinar sus máximos y mínimos relativos x x 2 + b) ( punto) Calcular el valor de

Más detalles

Álgebra Lineal Ma1010

Álgebra Lineal Ma1010 Álgebra Lineal Ma1010 Líneas y s en el Espacio Departamento de Matemáticas ITESM Líneas y s en el Espacio Álgebra Lineal - p. 1/34 Los conjuntos solución a un sistema de ecuaciones lineales cuando tienen

Más detalles

Las funciones son relaciones entre dos o más variables expresadas en una ecuación algebraica.

Las funciones son relaciones entre dos o más variables expresadas en una ecuación algebraica. FUNCIONES Y GRÁFICAS Las funciones son relaciones entre dos o más variables epresadas en una ecuación algebraica. or ejemplo, la epresión relaciona la variable con la variable mediante una regla de correspondencia

Más detalles

VISIÓN 3D. José M. Sebastián - Luis M. Jiménez. Problema Central de la Visión Artificial Tridimensional.

VISIÓN 3D. José M. Sebastián - Luis M. Jiménez. Problema Central de la Visión Artificial Tridimensional. VISIÓN 3D José M. Sebastián - Luis M. Jiménez Problema Central de la Visión Artificial Tridimensional. A partir de una imagen o de una secuencia de imágenes de un objeto estacionario o en movimiento, tomada

Más detalles

Unidad 5: Geometría Analítica

Unidad 5: Geometría Analítica Unidad 5 Geometría Analítica 5. Ecuaciones de una recta Los planos y las rectas son objetos geométricos que se pueden representar mediante ecuaciones. Encontraremos la ecuación vectorial de una recta r

Más detalles

Técnicas de inteligencia artificial. Visión Artificial Visión 3D

Técnicas de inteligencia artificial. Visión Artificial Visión 3D Técnicas de inteligencia artificial Visión Artificial Visión 3D Indice Introducción Visión estéreo Introducción Cuando usamos una cámara, perdemos la información 3D x y z y x z y x Sin embargo, la información

Más detalles

Bolilla 12: Óptica Geométrica

Bolilla 12: Óptica Geométrica Bolilla 12: Óptica Geométrica 1 Bolilla 12: Óptica Geométrica Los contenidos de esta bolilla están relacionados con los principios primarios que rigen el comportamiento de los instrumentos ópticos. La

Más detalles

Distancia focal de una lente convergente (método del desplazamiento) Fundamento

Distancia focal de una lente convergente (método del desplazamiento) Fundamento Distancia focal de una lente convergente (método del desplazamiento) Fundamento En una lente convergente delgada se considera el eje principal como la recta perpendicular a la lente y que pasa por su centro.

Más detalles

TEMA 2 4º ESO Editorial Oxford. INTERACCIONES ENTRE LOS CUERPOS: Fuerzas

TEMA 2 4º ESO Editorial Oxford. INTERACCIONES ENTRE LOS CUERPOS: Fuerzas TEMA 2 4º ESO Editorial Oxford INTERACCIONES ENTRE LOS CUERPOS: Fuerzas 1 LAS FUERZAS Y SUS EFECTOS. Fuerza es toda causa capaz de modificar el estada de reposo o de movimiento de un cuerpo, o de producir

Más detalles

Captura de video panorámica

Captura de video panorámica Captura de video panorámica Martín Larrea Sergio Martig Silvia Castro Departamento de Ciencias e Ingeniería de la Computación. Laboratorio de Investigación en Visualización y Computación Gráfica. Universidad

Más detalles

Tema 1: Matrices. Sistemas de ecuaciones. Determinantes

Tema 1: Matrices. Sistemas de ecuaciones. Determinantes Tema 1: Matrices. Sistemas de ecuaciones. Determinantes José M. Salazar Octubre de 2016 Tema 1: Matrices. Sistemas de ecuaciones. Determinantes Lección 1. Matrices. Sistemas de ecuaciones. Determinantes

Más detalles

CAPÍTULO 4 LOS MEGAPIXELS

CAPÍTULO 4 LOS MEGAPIXELS CAPÍTULO 4 LOS MEGAPIXELS Hoy día la palabra megapíxel parece un término inseparable de la propia fotografía. Por eso es necesario conocer el verdadero significado de este término, las implicaciones que

Más detalles

Matrices. Operaciones con matrices.

Matrices. Operaciones con matrices. Matrices. Operaciones con matrices. Ejercicio. Dadas las matrices ( ) ( ) 4 A = B = ( ) C = D = 4 5 ( ) 4 E = F = seleccione las que se pueden sumar y súmelas. Ejercicio. Dadas las matrices ( ) ( ) A =

Más detalles

Derivadas Parciales (parte 2)

Derivadas Parciales (parte 2) 40 Derivadas Parciales (parte 2) Ejercicio: Si donde y. Determinar Solución: Consideraremos ahora la situación en la que, pero cada una de las variables e es función de dos variables y. En este caso tiene

Más detalles

PAU Madrid. Matemáticas II. Año Examen de junio. Opción A. Ejercicio 1. Valor: 3 puntos.

PAU Madrid. Matemáticas II. Año Examen de junio. Opción A. Ejercicio 1. Valor: 3 puntos. Opción A. Ejercicio 1. Valor: 3 puntos. Dado el sistema de ecuaciones lineales: { x ay = 2 se pide: ax y = a + 1 a) (2 puntos) Discutir el sistema según los valores del parámetro a. Resolverlo cuando la

Más detalles

CALCULO DIFERENCIAL Escuela Colombiana de Ingeniería. Geometría Analítica = Unión de Álgebra con la Geometría.

CALCULO DIFERENCIAL Escuela Colombiana de Ingeniería. Geometría Analítica = Unión de Álgebra con la Geometría. PRELIMINARES. COORDENADAS EN UN PLANO Cuando se trabaja un sistema de coordenadas Geometría Analítica = Unión de Álgebra con la Geometría. La geometría Analítica se origina al asignar coordenadas numéricas

Más detalles

PAU Madrid. Matemáticas II. Año Examen modelo. Opción A. Ejercicio 1. Valor: 2 puntos.

PAU Madrid. Matemáticas II. Año Examen modelo. Opción A. Ejercicio 1. Valor: 2 puntos. PAU Madrid. Matemáticas II. Año 22. Examen modelo. Opción A. Ejercicio 1. Valor: 2 puntos. Se considera una varilla AB de longitud 1. El extremo A de esta varilla recorre completamente la circunferencia

Más detalles

Esta expresión polinómica puede expresarse como una expresión matricial de la forma; a 11 a 12 a 1n x 1 x 2 q(x 1, x 2,, x n ) = (x 1, x 2,, x n )

Esta expresión polinómica puede expresarse como una expresión matricial de la forma; a 11 a 12 a 1n x 1 x 2 q(x 1, x 2,, x n ) = (x 1, x 2,, x n ) Tema 3 Formas cuadráticas. 3.1. Definición y expresión matricial Definición 3.1.1. Una forma cuadrática sobre R es una aplicación q : R n R que a cada vector x = (x 1, x 2,, x n ) R n le hace corresponder

Más detalles

Movimiento curvilíneo. Magnitudes cinemáticas

Movimiento curvilíneo. Magnitudes cinemáticas Movimiento curvilíneo. Magnitudes cinemáticas Movimiento curvilíneo Supongamos que el movimiento tiene lugar en el plano XY, Situamos un origen, y unos ejes, y representamos la trayectoria del móvil, es

Más detalles

Base y Dimensión de un Espacio Vectorial

Base y Dimensión de un Espacio Vectorial Base y Dimensión de un Espacio Vectorial 201 6Asturias: Red de Universidades Virtuales Iberoamericanas 1 Índice 1 Qué es un sistema generador?... 4 2 Base de un espacio vectorial... 4 3 Dimensión de un

Más detalles

Álgebra y Geometría Analítica I - LF 2016 Práctica 1: Algunos elementos de la Geometría Analítica

Álgebra y Geometría Analítica I - LF 2016 Práctica 1: Algunos elementos de la Geometría Analítica Álgebra y Geometría Analítica I - LF 2016 Práctica 1: Algunos elementos de la Geometría Analítica 1. a) Marcar en un eje los puntos a(1);b( 2) y c(4). b) Hallar los puntos simétricos respecto al origen

Más detalles

Las variedades lineales en un K-espacio vectorial V pueden definirse como sigue a partir de los subespacios de V.

Las variedades lineales en un K-espacio vectorial V pueden definirse como sigue a partir de los subespacios de V. Capítulo 9 Variedades lineales Al considerar los subespacios de R 2, vimos que éstos son el conjunto {(0, 0)}, el espacio R 2 y las rectas que pasan por el origen. Ahora, en algunos contextos, por ejemplo

Más detalles

Curvas y transformaciones proyectivas. Curvas cónicas (II). Tangencias e intersecciones

Curvas y transformaciones proyectivas. Curvas cónicas (II). Tangencias e intersecciones Curvas y transformaciones proyectivas. Curvas cónicas (II). Tangencias e intersecciones En el tema anterior hemos estudiado las propiedades de las curvas cónicas, aprendiendo su trazado a partir de distintos

Más detalles

APUNTES DE FÍSICA I Profesor: José Fernando Pinto Parra UNIDAD 2 ÁLGEBRA VECTORIAL

APUNTES DE FÍSICA I Profesor: José Fernando Pinto Parra UNIDAD 2 ÁLGEBRA VECTORIAL Vectores y escalares. REPÚBLICA BOLIVARIANA DE VENEZUELA APUNTES DE FÍSICA I Profesor: José Fernando Pinto Parra UNIDAD 2 ÁLGEBRA VECTORIAL Las magnitudes escalares son aquellas magnitudes físicas que

Más detalles

Primer examen parcial Geometría y Álgebra Lineal 1 2 de mayo de 2015 Respuestas y solución

Primer examen parcial Geometría y Álgebra Lineal 1 2 de mayo de 2015 Respuestas y solución Primer examen parcial Geometría y Álgebra Lineal 1 2 de mayo de 2015 Respuestas y solución Respuestas a la versión 1: (La versión 1 es aquélla cuyo primer ejercicio dice Un sistema lineal de m ecuaciones

Más detalles

Campo Magnético en un alambre recto.

Campo Magnético en un alambre recto. Campo Magnético en un alambre recto. A.M. Velasco (133384) J.P. Soler (133380) O.A. Botina (133268) Departamento de física, facultad de ciencias, Universidad Nacional de Colombia Resumen. Se hizo pasar

Más detalles

CFGS CONSTRUCCION METALICA MODULO 246 DISEÑO DE CONSTRUCCIONES METALICAS

CFGS CONSTRUCCION METALICA MODULO 246 DISEÑO DE CONSTRUCCIONES METALICAS CFGS CONSTRUCCION METALICA MODULO 246 DISEÑO DE CONSTRUCCIONES METALICAS U.T. 4.- ESTATICA. 3.1.- Centro de gravedad de un cuerpo. Un cuerpo de masa M, se puede considerar compuesto por multitud de partículas

Más detalles

2.004 MODELISMO, DINÁMICA Y CONTROL II Primavera Soluciones del boletín de problemas 6

2.004 MODELISMO, DINÁMICA Y CONTROL II Primavera Soluciones del boletín de problemas 6 2.004 MODELISMO, DINÁMICA Y CONTROL II Primavera 2003 Soluciones del boletín de problemas 6 Problema 1. Varilla deslizándose por una pared. Dado que los extremos de la varilla están forzados a permanecer

Más detalles

CLASIFICACIÓN AFÍN DE CÓNICAS

CLASIFICACIÓN AFÍN DE CÓNICAS Álgebra lineal y Geometría I Gloria Serrano Sotelo Departamento de MATEMÁTICAS CLASIFICACIÓN AFÍN DE CÓNICAS Sea E un R-espacio vectorial de dimensión. Sean E = e 1, e un plano vectorial de E y e 0 un

Más detalles

Problemas métricos. 1. Problemas afines y problemas métricos

Problemas métricos. 1. Problemas afines y problemas métricos . Problemas afines y problemas métricos Al trabajar en el espacio (o análogamente en el plano) se nos pueden presentar dos tipos de problemas con los elementos habituales (puntos, rectas y planos): Problemas

Más detalles

LA RECTA. Una recta r es el conjunto de los puntos del plano, alineados con un punto P y con una dirección dada.

LA RECTA. Una recta r es el conjunto de los puntos del plano, alineados con un punto P y con una dirección dada. LA RECTA Una recta r es el conjunto de los puntos del plano, alineados con un punto P y con una dirección dada. En geometría euclidiana, la recta o la línea recta, se extiende en una misma dirección, existe

Más detalles

Momento angular de una partícula. Momento angular de un sólido rígido

Momento angular de una partícula. Momento angular de un sólido rígido Momento angular de una partícula Se define momento angular de una partícula respecto de del punto O, como el producto vectorial del vector posición r por el vector momento lineal mv L=r mv Momento angular

Más detalles

Gobierno de La Rioja MATEMÁTICAS CONTENIDOS

Gobierno de La Rioja MATEMÁTICAS CONTENIDOS CONTENIDOS MATEMÁTICAS 1.- Números reales Distintas ampliaciones de los conjuntos numéricos: números enteros, números racionales y números reales. Representaciones de los números racionales. Forma fraccionaria.

Más detalles

3. Cinemática de la partícula: Sistemas de referencia

3. Cinemática de la partícula: Sistemas de referencia 3. Cinemática de la partícula: Sistemas de referencia 3.1.- Cinemática de la partícula 3.2.- Coordenadas intrínsecas y polares 3.3.- Algunos casos particulares de especial interés 3.1.- Cinemática de la

Más detalles

Introducción al los Modelos Digitales de Terreno y su Análisis con SIG

Introducción al los Modelos Digitales de Terreno y su Análisis con SIG Introducción al los Modelos Digitales de Terreno y su Análisis con SIG 2011 Curvas de Nivel y Elevación Curvas de Nivel o Isolíneas Son líneas que conectan puntos de igual valor (altura, concentración

Más detalles

Derivada de una función en un punto. Función derivada. Diferencial de una función en un punto. dy = f (x) dx. Derivada de la función inversa

Derivada de una función en un punto. Función derivada. Diferencial de una función en un punto. dy = f (x) dx. Derivada de la función inversa Derivada de una función en un punto Las tres expresiones son equivalentes. En definitiva, la derivada de una función en un punto se obtiene como el límite del cociente incremental: el incremento del valor

Más detalles

UNPSJB - Facultad Ciencias Naturales - Asignatura: Matemática 1 Ciclo Lectivo: 2014 CONICAS

UNPSJB - Facultad Ciencias Naturales - Asignatura: Matemática 1 Ciclo Lectivo: 2014 CONICAS Asignatura: Matemática 1 Ciclo Lectivo: 014 CONICAS La superficie que se muestra en la figura se llama doble cono circular recto, o simplemente cono. Es la superficie tridimensional generada por una recta

Más detalles

MAXIMOS Y MINIMOS RELATIVOS

MAXIMOS Y MINIMOS RELATIVOS MAXIMOS Y MINIMOS RELATIVOS Con cierta frecuencia nos encontramos con la necesidad de buscar la mejor forma de hacer algo. En muchas ocasiones a través de los poderosos mecanismos de cálculo diferencial

Más detalles

Ministerio de Educación Pública Dirección de Gestión y Evaluación de la Calidad Departamento de Evaluación Académica y Certificación.

Ministerio de Educación Pública Dirección de Gestión y Evaluación de la Calidad Departamento de Evaluación Académica y Certificación. Matemáticas Distribución de ítems para la prueba nacional Modalidad Académica (Diurnos Nocturnos) Convocatorias 016 ESTIMADO DOCENTE: En la modalidad de colegios académico, la Prueba de Bachillerato 016

Más detalles

Examen de Selectividad Matemáticas JUNIO Andalucía OPCIÓN A

Examen de Selectividad Matemáticas JUNIO Andalucía OPCIÓN A Eámenes de Matemáticas de Selectividad ndalucía resueltos http://qui-mi.com/ Eamen de Selectividad Matemáticas JUNIO 5 - ndalucía OPCIÓN.- [,5 puntos] Se quiere construir un depósito abierto de base cuadrada

Más detalles

Ejercicios de Rectas y planos.

Ejercicios de Rectas y planos. Matemáticas 2ºBach CNyT. Ejercicios Rectas, planos. Pág 1/9 Ejercicios de Rectas y planos. 1. Las coordenadas de los vértices consecutivos de un paralelogramo son A(1, 0, 0) y B(0, 1, 0). Las coordenadas

Más detalles

PROGRAMA PRE-PAES 2015 Asignatura: Matemática Contenido Virtual

PROGRAMA PRE-PAES 2015 Asignatura: Matemática Contenido Virtual Programa PREPAES, Universidad Francisco Gavidia015 PROGRAMA PRE-PAES 015 Asignatura: Matemática Contenido Virtual TEMA: APLIQUEMOS ELEMENTOS DE GEOMETRIA ANALITICA Profesor: Luis Roberto Padilla R. e-mail:

Más detalles

7.- Teorema integral de Fourier. Transformada de Fourier

7.- Teorema integral de Fourier. Transformada de Fourier 7.- Teorema integral de Fourier. Transformada de Fourier a) Introducción. b) Transformada de Fourier. c) Teorema integral de Fourier. d) Propiedades de la Transformada de Fourier. e) Teorema de Convolución.

Más detalles

Evaluación NOMBRE APELLIDOS CURSO Y GRUPO FECHA CALIFICACIÓN. 3 b) y 16 x Lugares geométricos y cónicas

Evaluación NOMBRE APELLIDOS CURSO Y GRUPO FECHA CALIFICACIÓN. 3 b) y 16 x Lugares geométricos y cónicas Evaluación NOMBRE APELLIDOS CURSO Y GRUPO FECHA CALIFICACIÓN 4 La ecuación del lugar geométrico de los puntos del plano que equidistan de la recta x y 4, y del punto P (, ) es: a) x y x y 68 0 b) 4x 9y

Más detalles

1 CÓNICAS Cónicas. Estudio particular. 1 x y. 1 x y. a 00 a 01 a 02 a 10 a 11 a 12 a 20 a 21 a 22

1 CÓNICAS Cónicas. Estudio particular. 1 x y. 1 x y. a 00 a 01 a 02 a 10 a 11 a 12 a 20 a 21 a 22 CÓNICAS. CÓNICAS.. Cónicas. Estudio particular. Una cónica se dene como el lugar geométrico de los puntos del plano euclídeo que, respecto de una referencia cartesiana rectangular, satisfacen una ecuación

Más detalles

Unidad III: Curvas en R2 y ecuaciones paramétricas

Unidad III: Curvas en R2 y ecuaciones paramétricas Unidad III: Curvas en R2 y ecuaciones paramétricas 2.1 Ecuación paramétrica de la línea recta. La recta constituye una parte fundamental de las matemáticas. Existen numerosas formas de representar una

Más detalles

ECUACIÓN DE LA RECTA

ECUACIÓN DE LA RECTA MATEMÁTICA SEMANA 2 ECUACIÓN DE LA RECTA Todos los derechos de autor son de la exclusiva propiedad de IACC o de los otorgantes de sus licencias. No está permitido copiar, reproducir, reeditar, descargar,

Más detalles