Story Transcript
UNIVERSIDAD DE SALAMANCA MASTER DE GEOTECNOLOGÍAS CARTOGRÁFICAS EN INGENIERÍA Y ARQUITECTURA
8. ANÁLISIS DIMENSIONAL A PARTIR DE UNA SOLA IMAGEN
Diego González Aguilera Departamento de Ingeniería Cartográfica y del Terreno Escuela Politécnica Superior de Ávila
1
INDICE
8.1 8.2 8.3 8.4
Introducción Elementos estructurales de la imagen oblicua Análisis dimensional a partir de una sola imagen Aplicaciones y ejemplos: Patrimonio, Ing. Civil y Criminología
2
Tema 8 Análisis dimensional a partir de una sola imagen
La imagen digital junto con todo el análisis y procesamiento visto en los temas iniciales se convierte en una de las aportaciones principales de las nuevas tecnologías de la información y la comunicación. No obstante, la imagen digital, como la imagen analógica, no es métrica. Es decir, no podemos derivar medidas de los objetos que aparecen en ella. Simplemente podemos visualizarlas, interpretarlas, disfrutarlas, pero no explotarlas métricamente. Este tema se centrará por tanto en analizar las posibilidades métricas que se pueden derivar de una sola imagen. En este sentido antes de adentrarnos en el análisis geométrico de la imagen oblicua merece la pena reseñar la diferente acepción del concepto imagen: •
Imagen como representación icónica. En el que se considera a la imagen representada a través de una función discreta definida sobre un producto de dos intervalos (dimensiones de la imagen), en el que cada punto tiene un valor que representa la intensidad de la imagen.
•
Imagen como vista. En el que se considera a la imagen como resultado de la proyección de la escena 3D sobre un plano 2D a través del punto de vista.
8.1 Introducción Desde hace muchos años se han estado explotando las condiciones geométricas intrínsecas en las imágenes para extraer la métrica de lo fotografiado. La perspectiva cónica o oblicua presente en las imágenes se halla sujeta a unas reglas geométricas muy conocidas, por tanto debe ser posible revertir el proceso que lleva la realidad a la imagen obteniendo alguna información sobre el objeto real desde una única imagen. Básicamente, vamos a considerar las propiedades perspectivas de la imagen (puntos de fuga) para poder deparar un análisis dimensional y reconstrucción 3D a partir de una sola imagen.
3
4
1
2
3
5
Figura: Arriba, fachada de un objeto arquitectónico asimilable a un plano vertical. Abajo: vistas de dicha fachada en función de la orientación de la cámara respecto de la misma 1. Desde el centro. 2. Desde la derecha. 3. Desde la izquierda. 4. Desde arriba. 5. Desde abajo
Así, si el plano de la imagen es paralelo al plano del objeto (figura, 1), una retícula (u objeto de carácter reticulado) aparece en la imagen sin deformación alguna. La imagen fotográfica es métrica, es un plano cartográfico: sólo es necesario determinar su escala para poder obtener dimensiones reales del objeto. Para ello, basta con conocer la distancia objeto entre dos puntos cualesquiera de la imagen. Si la imagen está girada a izquierdas (2), o derechas (3), y solamente en el plano horizontal (el eje de toma se mantiene en un plano horizontal aunque ya no perpendicular a la fachada), aparece en el documento una variación de escala en el sentido del giro, es decir, en el sentido horizontal. Las líneas verticales conservan la escala a lo largo de cada una de ellas y se mantienen paralelas entre sí. Las líneas horizontales del objeto convergen, en la imagen, sobre un punto de fuga para el que la escala es infinita (en él están los elementos que están infinitamente lejos en el objeto). La determinación del punto de fuga (por métodos gráficos o mediante las herramientas que ofrece un CAD, por ejemplo) permite establecer la variación de escala en el sentido horizontal y nos encontraremos en la situación geométrica precedente.
4
d1 q
d2 r
P
A d1
d2
= Aq
Ar
Figura : Arriba: Determinación del punto de fuga por procedimientos gráficos. Abajo: correspondencia de la escala a lo largo de elementos verticales en función de la distancia de los mismos al punto de fuga:
Si, correspondientemente, la imagen está girado hacia arriba (4), o hacia abajo (5), (el eje de toma no está horizontal y su proyección horizontal es perpendicular a la fachada), aparece en la imagen una variación de escala en el sentido de giro, es decir, en la dirección de la vertical. Las líneas horizontales son ahora las que conservan la escala a lo largo de ellas y aparecen paralelas en la imagen. Las líneas verticales del objeto, en cambio, convergen, en la imagen, sobre un punto de fuga. Cuanto mayor sea el ángulo vertical más cerca del punto principal se encuentra el punto de fuga. La determinación de la posición del punto de fuga permite establecer la variación de escala en sentido vertical y nos encontraríamos de vuelta en el caso de estricto paralelismo. En la medida en que una fachada presentará dos puntos de fuga, para proceder a su rectificación necesitaremos identificar sobre la imagen elementos geométricos que indiquen dónde se encuentran esos dos puntos. Estos elementos pueden ser los cuatro lados (o los cuatro vértices) de un rectángulo. De esta manera el tema de la rectificación puede entenderse como el enderezamiento (o la eliminación de los efectos de perspectiva) de un elemento ortogonal identificado y medido sobre el objeto.
Figura: Imagen original afectada de perspectiva: el cuadrilátero en rojo se corresponde con un rectángulo en el objeto concordante con las direcciones horizontal y vertical.
El enderezamiento recibido por este elemento debe aplicarse al conjunto de los elementos gráficos (píxeles) de la imagen o, lo que es lo mismo, la posición de todos los píxeles debe ser
5
recalculada de acuerdo con los valores de los ocho parámetros de la transformación correspondiente (transformación proyectiva). Así, es posible obtener una nueva imagen fotográfica en la que el cuadrilátero se ha convertido en rectángulo. Cualquier distancia medida sobre él y sobre cualquier elemento de la fachada a la que pertenece se corresponde con magnitudes reales del objeto.
Figura: Imagen rectificada: el cuadrilátero ha sido transformado (enderezado) en rectángulo horizontal/vertical y con él toda la imagen de manera que, una vez conocida la escala, la parte de la imagen contenida en el plano de rectificación es métrica.
Podemos pasar de una información 2D (la imagen) a una información 3D (el objeto) cuando el objeto tiene una forma tal que nos permite determinar en la imagen los tres puntos de fuga correspondientes a dicha forma del objeto. Así, por ejemplo, si el objeto tiene la forma de un paralelepípedo, las tres direcciones de sus aristas permiten localizar sobre la imagen los tres puntos de fuga correspondientes a las 3 direcciones del objeto. A su vez, el conocimiento de la posición de estos tres puntos permite determinar la orientación de la imagen respecto del sistema cartesiano asociado a dichas direcciones básicas. Finalmente, el conocimiento de la posición en la imagen de cualquier detalle asociado a alguna de las caras del paralelepípedo permite calcular su posición sobre el objeto 3D. C
B
A
Figura: las tres direcciones de un paralelepípedo dan lugar a tres puntos de fuga sobre la imagen cuya posición recoge la orientación de dicha imagen respecto de dicho paralelepípedo.
6
En consecuencia, esta situación resulta de una ampliación de la anterior. Mientras que en el caso de una fachada (2D) tenemos 2 puntos de fuga que nos permiten encontrar las relaciones entre la imagen (2D) y la fachada (2D), en el caso de un objeto con forma de paralelepípedo tenemos una serie de fachadas todas ellas articuladas en torno a 3 puntos de fuga que nos permiten encontrar las relaciones entre la imagen (2D) y el objeto (3D). Si rectificar la imagen es equivalente a devolver dos puntos de fuga a su posición en el infinito del objeto, la reconstrucción 3D a partir de una sola vista es equivalente a devolver tres puntos de fuga a su posición en el infinito del objeto. Una vez que las relaciones entre la imagen y el objeto están determinadas, es posible, como en el caso anterior, ‘pegar’ cada uno de los píxeles de las caras del objeto sobre la imagen sobre su posición correspondiente en el espacio 3D. En la medida en que el objeto modelizado es un sólido, el empleo de una sola imagen es insuficiente para obtener la renderización de todas las caras del mismo y será, necesario recurrir a más imágenes para obtener información del aspecto de todas las caras visibles del objeto. Para adentrarnos un poco más en la explotación de las propiedades perspectivas de la imagen, a continuación analizaremos los elementos estructurales más importantes de la imagen oblicua, especialmente la imagen oblicua con tres puntos de fuga.
8.2 Elementos estructurales de la imagen oblicua La imagen oblicua, es una proyección cónica o en perspectiva del objeto representado, que tiene por punto de vista el centro óptico del objetivo de la cámara y cuyo eje de toma presenta una cierta inclinación con respecto del objeto. La geometría básica de una imagen oblicua puede definirse en base a los siguientes elementos estructurales, representados en la siguiente figura: • • • •
• • • • •
Punto de vista: Es el punto de estación de la cámara fotográfica. Rigurosamente es el punto correspondiente al centro óptico del objetivo de la cámara. En la figura punto S. Plano del cuadro: Es el plano fotográfico, también llamado plano de referencia, plano focal, o plano imagen. Sobre él queda representada la proyección cónica de la escena. Eje de toma o eje fotográfico: Es la recta que contiene al punto de vista y es perpendicular al plano imagen. Es, por tanto, el rayo perspectivo ortogonal al plano imagen. Punto principal: Es la proyección ortogonal del punto de vista sobre el plano imagen. Su posición, en principio, se debe corresponder con el punto central del formato fotográfico. Es el punto de intersección del eje de toma con el plano imagen. En la figura punto P. Focal: La focal es la distancia que separa el punto de vista del plano de la imagen. Rayos perspectivos: También llamados rayos visuales, son los rayos de proyección o rayos proyectantes de la perspectiva cónica. Por tanto, son las rectas que unen al punto de vista con cada uno de los puntos del objeto. Haz perspectivo: Es el conjunto formado por todos los rayos perspectivos procedentes del objeto. Línea de fuga o traza: Es la línea imagen resultante de la proyección de la correspondiente línea del objeto. Todas las líneas de fuga correspondientes a rectas reales paralelas concurren en un mismo punto, denominado punto de fuga. Punto de fuga: Es el punto al que concurren las trazas de todas las rectas paralelas al rayo visual que lo determina. Puntos A, B y C en la figura.
7
• •
•
•
•
Línea de horizonte: La línea de horizonte o simplemente horizonte, es la intersección del plano del cuadro con el plano horizontal que contiene al punto de vista. Línea principal: recta resultante de la intersección del plano vertical que contiene al eje fotográfico, con el plano imagen. Por tanto, representa la línea de máxima pendiente de la imagen, que pasa por el punto principal. Por consiguiente, es perpendicular a la línea de horizonte. Giro horizontal o acimutal (azimuth, a): ángulo medido sobre un plano horizontal, formado por la proyección vertical del eje de toma sobre dicho plano y una dirección de referencia (en la figura la dirección del eje Y del sistema de referencia local asociado al objeto). Giro vertical (tilt, t): ángulo medido sobre un plano vertical, formado por el eje de toma y el plano horizontal. Cuando en lugar del plano horizontal, el ángulo se mide respecto a la vertical que pasa por el punto de vista, el giro se denomina cenital (si se mide desde el cenit) o nadiral (si se mide desde el nadir). Giro propio (swing, s): ángulo medido sobre el plano de la imagen, formado por el formato de la imagen y el plano horizontal (o el plano vertical).
Figura: Elementos estructurales de la imagen oblicua.
Imágenes con tres puntos de fuga Se expone a continuación el caso más general que puede presentarse en la geometría de la imagen oblicua. Aquel en que existe tanto giro acimutal como giro vertical. Si reducimos la geometría del objeto a las tres direcciones básicas, las de su sistema local de coordenadas, tenemos que hablar de tres puntos de fuga, cada uno correspondiente a la intersección con el plano imagen de cada uno de los ejes coordenados, trazados desde el punto de vista.
8
C
Z Y
X P B
A S Figura: Representación en perspectiva de la geometría de la imagen con tres puntos de fuga.
Los dos puntos de fuga correspondientes a los ejes X e Y, se encuentran sobre el horizonte, o dicho de otra forma, estos dos puntos de fuga determinan el horizonte. Sobre el punto de fuga de la dirección X convergen todas las rectas de la fotografía correspondientes a rectas horizontales de la fachada principal del objeto. Las rectas de la fotografía correspondientes a rectas horizontales situadas en el sentido de la profundidad del objeto convergen en el punto de fuga de la dirección Y.
9
C
P B
A
Figura: Imagen con tres puntos de fuga.
El punto de fuga correspondiente al eje Z (cenital o nadiral) se encuentra sobre la línea principal o línea de máxima pendiente que pasa por el punto principal. A este punto fugan todas las alineaciones fotográficas correspondientes con líneas verticales del objeto. El punto será cenital cuando el giro vertical del imagen sea de elevación o hacia arriba, y nadiral cuando el giro sea de depresión o hacia abajo. Horizonte y línea principal son perpendiculares entre sí. La línea principal pasa por el punto principal además de por el punto de fuga cenital/nadiral.
8.3 Análisis dimensional a partir de una sola imagen Se describe en este apartado el proceso metodológico (Figura) que permite llevar a cabo la extracción de propiedades métricas a partir de una sola imagen sustentado en su análisis geométrico. Para ello, se describirán brevemente las fases de: análisis de imagen, estimación de los parámetros (internos y externos) de la cámara y análisis dimensional del objeto. Uno de los condicionantes ineludibles para poder llevar a cabo dicho planteamiento es que la imagen de entrada tenga perspectiva y al menos cuente con 3 puntos de fuga.
10
Figura: Esquema metodológico del análisis dimensional a partir de una sola imagen.
Análisis de imagen: extracción de características (líneas y puntos de fuga) Líneas de fuga. La metodología de extracción automática desarrollada (Figura) presenta un carácter híbrido, en la medida que combina herramientas del procesamiento digital de la imagen con los elementos estructurales presentes en una imagen oblicua; y jerárquico, en la medida en que se encadenan una serie de procesos que van desde las tareas básicas de captación y filtrado hasta la selección de información a través de la segmentación y el agrupamiento. Gran parte de los procesos que se abordarán en este apartado han sido vistos en detalle en el tema 2. Detección de bordes (0D). El detector de bordes de Canny (Canny, 1986) resultó ser el idóneo para la detección de bordes en edificios arquitectónicos con una geometría regular. Básicamente, el filtro de detección de bordes de Canny consiste en un proceso multifase, en el que el usuario deberá introducir tres parámetros básicos: una desviación estándar y dos valores umbral. El resultado será una imagen binaria, en la que aparecerán en negro los píxeles correspondientes a los bordes y en blanco el resto de píxeles. Segmentación de bordes (1D). La idea básica, consiste en etiquetar cada píxel de borde en grupos que soporten segmentos basándose en la similitud de las orientaciones del gradiente, este paso guarda cierta semejanza con el método de Burns (Burns, 1986). A continuación, los bordes resultantes de la fase de etiquetación serán filtrados mediante el parámetro de mínima longitud de un borde.
Figura: Extracción automática de líneas de fuga.
11
El borde resultante será transformado a segmento, el cual tendrá como extremos las coordenadas del centro del píxel correspondientes al inicio y fin del borde (Figura).
Figura: Segmentación de bordes.
Agrupación de segmentos (2D). La fase del agrupamiento constituye la parte más sofisticada de la extracción automática de líneas de fuga. Presenta una estructura jerárquica apoyada en restricciones geométricas de la que se derivan dos niveles de agrupamiento: Un primer nivel (1.5D), en el que los segmentos son agrupados en función de su colinealidad con un doble objetivo. Por un lado, servir como punto de partida para la estimación de los coeficientes (k1,k2) de la distorsión radial, y por otro, como restricción geométrica para la siguiente fase del agrupamiento. Los segmentos son agrupados en función de su colinealidad de manera iterativa según sus distancias ortogonales a una línea previa del grupo (Figura). De esta forma para un determinado segmento, segmento candidato, se evaluarán las distancias ortogonales existentes entre sus puntos extremos y el segmento escogido como referencia. Todos aquellos segmentos que tengan distancias ortogonales inferiores a la tolerancia establecida serán agrupados como segmentos colineales. No obstante, la presencia de mini-segmentos resultantes de la fase anterior podría suponer en determinadas ocasiones problemas de agrupamiento, dejando bastantes líneas sin agrupar. De ahí que consideremos como factor de peso o cobertura de la línea, a la longitud de los segmentos y el número de segmentos colineales. De esta manera se dará prioridad a aquellos segmentos más largos y no se agruparán aquellos segmentos que sean colineales consigo mismo.
Figura: Agrupación de segmentos según su colinealidad.
En un segundo nivel (2D), los segmentos colineales son agrupados en función de su correspondencia con las tres direcciones básicas del objeto o direcciones de los puntos de fuga. El método de agrupamiento de segmentos desarrollado se fundamenta en el estimador robusto RANSAC (Fischler y Bolles, 1981). La aplicación de RANSAC junto con la consideración de ciertas restricciones geométricas inherentes en los puntos de fuga (perpendicularidad y línea de
12
horizonte), permitirá realizar una agrupación de los segmentos al mismo tiempo que elimina segmentos erróneos o innecesarios para nuestros propósitos (Figura).
Figura. Líneas perspectivas erróneas por sombras y reflejos en la imagen. Agrupación de segmentos según las 3 direcciones del objeto en base a RANSAC.
En nuestro caso la aplicación de RANSAC en la agrupación de segmentos consistirá en la consecución de los siguientes pasos (Figura): 1. Selección aleatoria de dos segmentos y cálculo de su punto de fuga mediante una simple intersección de rectas. 2. Validación del segmento como segmento perteneciente a una determinada dirección, en función del número de segmentos que más menos una cierta tolerancia tengan una variación de pendiente mínima entre los dos puntos que constituyen el segmento y el punto de fuga. 3. Repetición del paso 1 y 2 un determinado número de veces. 4. Los tres máximos resultantes del proceso de votación después de un número aleatorio de combinaciones se corresponderán con los tres puntos de fuga y por consiguiente los votos favorables ‘inliers’ de cada máximo contendrán las líneas de fuga coincidentes con una de las tres direcciones principales del objeto. Los segmentos que superen la tolerancia en los tres grupos generados serán considerados como segmentos erróneos ‘outliers’ y serán eliminados. Finalizado todo el proceso de agrupamiento, tan sólo nos quedarán como elementos geométricos (2D), los segmentos agrupados en tres grupos correspondientes a cada una de las tres direcciones básicas del objeto o puntos de fuga. Cálculo robusto de los puntos de fuga. Después de haber desarrollado un método de extracción automático de líneas de fuga que garantiza precisión y fiabilidad, podría parecer innecesario abordar un apartado destinado exclusivamente al desarrollo de un método robusto para el cálculo de los puntos de fuga. No obstante, la calidad de las líneas de fuga extraídas en muchos casos podrá resultar deficiente, ya que por un lado la presencia de mini-segmentos debidos al automatismo, y por otro, la propia debilidad de la geometría de la escena correspondiente a tres puntos de fuga, propiciarán casos desfavorables de intersección. En este sentido, las formas de prevenir pérdidas de calidad en el cálculo de los puntos de fuga pasan por el empleo de métodos que exploten la redundancia de las observaciones apoyados por técnicas robustas que actúen independientemente de la geometría de la escena.
13
El método que aquí se plantea consiste en aplicar un proceso de ajuste mínimo cuadrático iterativo apoyado en la minimización del área del triángulo (Bräuer, 1999) y re-ponderado según el estimador robusto danés (Domingo, 2000). Particularmente, el método de la minimización del área del triángulo es un método de cálculo de los puntos de fuga que se basa en la minimización de la superficie del triángulo compuesto por cada línea de fuga extraída y su correspondiente punto de fuga, de forma que la suma de la superficie de cada triángulo (S) se minimice. No obstante, la presencia de errores accidentales y errores groseros en las observaciones conllevarán que cada segmento no tenga el mismo grado de participación en el ajuste. En este sentido, un ajuste re-ponderado mínimo cuadrático apoyado por el estimador Danés permitirá solventar estas anomalías (Figura).
Figura: Ajuste re-ponderado con el estimador Danés según el método de la minimización del área del triángulo.
El área de cada triángulo (S) se calcula a través del determinante formado por las coordenadas de los dos puntos extremos de la línea de fuga (x1,y1; x2,y2) y las coordenadas del punto de fuga (x0, y0) según la expresión:
x1 1 S i = ⋅ x2 2 x0
y1 1 y2 1 = 0 y0 1 i
Desarrollando este determinante se establece el sistema de observación siguiente:
[ y1 − y 2
⎡x ⎤ x 2 − x1 ]i ⋅ ⎢ 0 ⎥ − [ y1 x 2 − x1 y 2 ]i = [S ]i ⎣ y0 ⎦
donde cada línea añade al sistema una ecuación. Al ser dos las incógnitas, coordenadas del punto de fuga (x0, y0), se necesitan al menos dos líneas, tres si queremos hacer un ajuste por mínimos cuadrados. En este caso, tratamos de hacer mínima la suma de las áreas al cuadrado de los distintos triángulos (Si) con el objetivo de obtener las coordenadas de los puntos de fuga. No obstante, de nuevo la presencia de líneas erróneas hará necesario la implementación de técnicas robustas (estimador Danés) que garanticen fiabilidad y precisión en el cálculo final de los puntos de fuga. De esta forma, los pasos en la consecución de dicho método son los siguientes: 1. Formación del sistema de observación a través de la ecuación planteada por la minimización del área para cada una de las líneas de fuga.
14
2. Cálculo de los puntos de fuga mediante un ajuste mínimo cuadrático de las diferentes líneas de fuga apoyado por el estimador robusto, de forma que se minimice el sumatorio al cuadrado del área de los distintos triángulos. n
S T PS = ∑ Pi ( x0 ( yi1 − yi 2 ) + y0 ( xi 2 − xi1 ) + xi1 yi 2 − yi1 xi 2 ) 2 i =1
∑S
i
= Mínimo
∂∑ Si ∂∑ Si
⎤ ⎡ x0 ⎤ ⎡⎡ y1 − y2 ⎤ ⎢ y ⎥ = ⎢⎢ x − x ⎥ [P]i [ y1 − y2 x2 − x1 ]i ⎥ ⎥⎦ ⎣ 0 ⎦ ⎢⎣⎣ 2 1 ⎦ i
∂x ∂y −1
=0 =0
⎡⎡ y1 − y2 ⎤ ⎤ [P]i [ y1 x2 − x1 y2 ]i ⎥ ⎢⎢ ⎥ ⎢⎣⎣ x2 − x1 ⎦ i ⎥⎦
donde P es la función de pesos basada en el estimador Danés, (x0,y0) las coordenadas del punto de fuga, y (x1,y1;x2,y2) las coordenadas de los segmentos extraídos de la imagen. La solución numérica para este ajuste sigue un acercamiento iterativo re-ponderado, en el cual la iteración comienza con algunos valores iniciales para los pesos de las observaciones y un ajuste convencional MMCC. En la siguiente iteración, nuevos pesos son calculados para cada observación en base a los residuos obtenidos en la iteración previa, y un ajuste mínimo cuadrático con estos nuevos pesos es repetido.
P(Vi ) = e ( −|vi | ) 2
donde V representa el vector residuo e i el numero de residuo. El proceso iterativo continúa hasta que se logra la convergencia (normalmente de 3 a 10 iteraciones).
Estimación de los parámetros (internos y externos) de la cámara El planteamiento de la calibración que se desarrolla explotando las propiedades geométricas de la imagen oblicua presenta un carácter híbrido que combina aproximaciones de la Fotogrametría y la Visión Computacional. Explotando la geometría de los elementos estructurales del fotograma oblicuo, puntos de fuga, podremos estimar los parámetros (internos y externos) de cualquier cámara. Parámetros internos (punto principal y focal). Los parámetros internos de la orientación interna, punto principal y focal, se determinan geométricamente mediante la resolución de la siguiente figura denominada pirámide perspectiva, que es el tetraedro formado por los tres puntos de fuga junto con el punto de vista.
15
Figura: Pirámide perspectiva.
Punto principal. Para situar el punto principal en la imagen primero hemos de localizar los tres puntos de fuga. Estos se encuentran en la prolongación de las trazas correspondientes a las rectas paralelas según las tres direcciones básicas (X, Y, Z) del objeto u escena que aparece en la imagen. El punto principal queda determinado por la intersección de las alturas del triángulo formado por los tres puntos de fuga. El punto principal es, por tanto, el ortocentro de dicho triángulo. Las expresiones para calcular las coordenadas del punto principal (xPP, yPP), por el método del ortocentro, son las siguientes:
x PP =
y PP =
( y ∆y 1
(
3 2
)
(
)
+ x1∆x23 ∆y13 − y 2 ∆y13 + x2 ∆x13 ∆y 23 ∆y13 ∆x23 − ∆y 23 ∆x13
(
)
)
(
)
− y1∆y 23 + x1∆x23 ∆x13 − y 2 ∆y13 + x2 ∆x13 ∆x23 ∆y13 ∆x23 − ∆y 23 ∆x13
(
)
donde x1, y1; x2, y2; x3, y3 son las coordenadas imagen de los tres puntos de fuga. Focal. Para determinar gráficamente la focal (ver siguiente figura), lo que haremos es abatir el plano vertical que contiene al eje fotográfico sobre el plano imagen. Para ello, trazamos la circunferencia con centro en el punto medio de la altura correspondiente al punto de fuga Z, y que pasa por los extremos de dicha altura. Perpendicular a la altura y desde el punto principal trazamos una recta que intersectará con la circunferencia en un punto que será el punto de vista abatido. La distancia entre el punto principal y el punto de vista abatido no es otra que la distancia focal. Perpendicular a la base de la pirámide y conteniendo al punto de vista podemos trazar tres planos, por cada uno de los tres puntos de fuga. Estos tres planos producen en su intersección con la pirámide tres triángulos con vértice común el punto de vista. Las alturas de los tres triángulos respecto a este vértice son la focal, y en definitiva la focal se puede calcular resolviendo alguno de estos tres triángulos. Por tanto, existen tres posibilidades para calcular la
16
focal (una por cada triángulo), siendo parámetros conocidos las coordenadas de los tres puntos de fuga y las del punto principal (xPP, yPP). PS
f?
PFX
PFY
PFX
f
f PP
PS
PP
PFZ
PFZ
Figura: Procedimiento geométrico para determinar la focal.
Cálculo de la focal usando el punto principal, PFX y PFY:
f =
(x1 − x PP )(x2 − x PP ) + ( y1 − y PP )( y 2 − y PP )
Cálculo de la focal usando el punto principal, PFX y PFZ:
f =
(x1 − x PP )(x3 − x PP ) + ( y1 − y PP )( y3 − y PP )
Cálculo de la focal usando el punto principal, PFY y PFZ:
f =
(x2 − x PP )(x3 − x PP ) + ( y 2 − y PP )( y3 − y PP )
Parámetros externos. El cálculo de los parámetros extrínsecos de la cámara ‘pose camera’ (ángulos y posición de la cámara) a partir de una sola imagen, conlleva un análisis geométrico apoyado en los elementos estructurales de la imagen oblicua y en los parámetros de la cámara anteriormente calculados, así como el conocimiento de cierta información a priori de la geometría del objeto u escena. Esto supone por un lado la situación de la imagen en el espacio con respecto al objeto, a través de las coordenadas del punto de vista y los ángulos del eje fotográfico, y por otro la fijación del sistema de referencia o dátum del objeto. En concreto, la fijación del sistema de referencia viene dada por su orientación, origen y escala. La orientación del sistema de referencia queda automáticamente fijada en la suposición de las tres direcciones básicas del objeto; mientras que el origen y la escala quedan establecidos mediante la información a priori de la geometría objeto introducida por el usuario en el cálculo del punto de vista. A continuación se analizan en detalle la estimación de los dos parámetros extrínsecos de la cámara junto con la fijación del sistema de referencia del objeto. Ángulos de rotación: orientación del sistema. Las propiedades geométricas de los puntos de fuga y su correspondencia con la orientación de las tres direcciones básicas del objeto
17
establecen de manera directa la propia orientación del sistema de referencia del objeto. Consecuentemente, los ángulos de rotación de la cámara: azimuth, tilt y swing, se derivarán de la matriz de rotación que relaciona los sistemas objeto-imagen, expresados mediante los cosenos directores del eje fotográfico respecto de los ejes del sistema objeto (pirámide perspectiva constituida por los tres puntos de fuga, el punto principal y la focal). •
Giro horizontal o acimutal (azimuth): ángulo medido sobre un plano horizontal, formado por la proyección del eje de toma sobre dicho plano y una dirección de referencia que en nuestro caso será la dirección del eje Y. El sentido de giro positivo es el sentido horario. El ángulo puede variar entre -90º (dirección Y) y 90º.
•
Giro vertical (tilt): ángulo medido sobre un plano vertical, formado por el eje de toma y la vertical que pasa por el punto de vista. El origen en la medida del ángulo lo fijamos en el nadir (giro nadiral), y el ángulo puede variar entre 0º (nadir) y 180º (cenit).
•
Giro propio (swing): ángulo medido sobre el plano del fotograma, formado por el eje y del fotograma y el plano principal (plano vertical que contiene al eje de toma). El ángulo varía entre 90º y 270º. Concretamente, cuando el fotograma es totalmente horizontal este ángulo es de 180º.
Z
PFY
PFZ
PFX Axis
PS
PP Tilt
Z
Swing
PS
Y Y
X
PFY
P
PFZ
Axis Tilt
A PFX
X
PS
Figura: Estimación de los parámetros externos (giros y posición) de la cámara.
A continuación aparecen las expresiones de cada uno de los elementos de la matriz de rotación, donde x1, y1; x2, y2; x3, y3 son respectivamente las coordenadas fotográficas de los puntos de fuga PFX, PFY y PFZ.
r11 = cos( x' x) =
x −x x1 − xPP x −x r12 = cos( y' x) = 2 PP r13 = cos(z' x) = 3 PP S , PFX S , PFY S , PFZ
r21 = cos(x' y ) =
y −y y1 − yPP y −y r22 = cos( y' y ) = 2 PP r23 = cos(z' y ) = 3 PP S , PFZ S , PFX S , PFY
r31 = cos( x' z ) =
−f −f −f r32 = cos( y' z ) = r33 = cos(z' z ) = S , PFX S , PFY S , PFZ
18
Si el ángulo tilt (nadiral) es inferior a 90º (yPP > y3 ó y3 – yPP < 0) entonces r13, r23 y r33 cambian de signo. Los módulos de los vectores fotográficos de los puntos de fuga son los siguientes:
S, PFX =
(x1 − x PP )2 + (y1 − y PP )2 + f 2
S, PFY =
(x 2 − x PP )2 + (y 2 − y PP )2 + f 2
S, PFZ =
(x 3 − x PP )2 + (y 3 − y PP )2 + f 2
Determinados los elementos de la matriz de rotación, los cuales constituyen los cosenos directores del vector fotográfico correspondiente al punto principal, podemos obtener los ángulos de giro de la cámara azimuth, tilt y swing, descritos anteriormente: Azimuth
(
a = arctg r31 / r32 Donde 0 º ≤ a ≤ 90 º
)
Tilt
Swing
t = arccos(r33 )
s = arctg (r13 / r23 ) + 180 º
Donde 0º ≤ t ≤ 180º
Donde 90 º ≤ s ≤ 270 º
Punto de vista: origen y escala del sistema. La definición del punto de vista lleva implícito la fijación del origen y escala del sistema de referencia. En este sentido se requiere por parte del usuario la introducción de información a priori acerca de la geometría del objeto apoyada por restricciones geométricas (coplanaridad y paralelismo). La resolución del punto de vista se puede realizar en base al conocimiento de la siguiente información geométrica: a) Un punto del objeto y una coordenada conocida del punto de vista. b) Una distancia del objeto perteneciente a un determinado plano. a) La primera opción suele emplearse con bastante frecuencia teniendo en cuenta que es posible conocer la altura del punto de vista Zs (toma terrestre) y por tanto, poder fijar como punto conocido del objeto el origen del propio sistema. Esto conlleva la eliminación de una de las incógnitas en el cálculo, lo que posibilita un sistema ajustado en dos ecuaciones, ya que una de las incógnitas es conocida. Partiendo de la consideración de la condición de colinealidad en tres ecuaciones (con factor de escala) como modelo matemático empleado para el cálculo del punto de vista:
⎡ x − x PP ⎤ ⎡X − X S ⎤ ⎢ y − y ⎥ = λ [R ] ⎢ Y − Y ⎥ PP ⎥ S ⎥ ⎢ ⎢ ⎢⎣ 0 − f ⎥⎦ ⎢⎣ Z − Z S ⎥⎦
19
Despejando el vector objeto y pasando el factor de escala y la matriz de rotación al primer miembro de la ecuación1:
⎡X − X S ⎤ ⎢ Y − Y ⎥ = λ−1 ⋅ [R ]T S ⎥ ⎢ ⎢⎣ Z − Z S ⎥⎦
⎡ x − x PP ⎤ ⋅ ⎢⎢ y − y PP ⎥⎥ ⎢⎣ 0 − f ⎥⎦
En el caso en que se conozca la coordenada ZS o altura de toma del observador el cálculo del punto de vista vendrá dado según la condición de colinealidad como:
X S = X + (Z S − Z )
YS = Y + (Z S − Z )
r11 (x − x PP ) + r21 ( y − y PP ) + r31 (− f ) r13 ( x − x PP ) + r23 ( y − y PP ) + r33 (− f )
r12 (x − x PP ) + r22 ( y − y PP ) + r32 (− f ) r13 (x − x PP ) + r23 ( y − y PP ) + r33 (− f )
b) En cuanto a la segunda opción, la introducción de una distancia del objeto perteneciente a un determinado plano conlleva la imposición de una determinada restricción geométrica de pertenencia a uno de los planos principales que constituyen el objeto u escena. Esto traducido en términos de cálculo con respecto al modelo matemático, supone un modelo ajustado en tres ecuaciones que podremos resolver por sustitución siguiendo los siguientes pasos. Partiendo de la consideración del modelo matemático de la condición de colinealidad en dos ecuaciones (eliminado el factor de escala):
x − x PP = − f
r11 ( X − X S ) + r12 (Y − YS ) + r13 (Z − Z S ) r31 ( X − X S ) + r32 (Y − YS ) + r33 (Z − Z S )
y − y PP = − f
r21 ( X − X S ) + r22 (Y − YS ) + r23 (Z − Z S ) r31 ( X − X S ) + r32 (Y − YS ) + r33 (Z − Z S )
y particularizando cada término como sigue:
w(1) = r11 ( x1 − x PP ) + r21 ( y1 − y PP ) − r31 ( f ) w( 2) = r12 ( x1 − x PP ) + r22 ( y1 − y PP ) − r32 ( f ) w(3) = r13 ( x1 − x PP ) + r23 ( y1 − y PP ) − r33 ( f ) w( 4) = r11 ( x2 − x PP ) + r21 ( y 2 − y PP ) − r31 ( f ) w(5) = r12 ( x 2 − x PP ) + r22 ( y 2 − y PP ) − r32 ( f ) w(6) = r13 ( x2 − x PP ) + r23 ( y 2 − y PP ) − r33 ( f ) En función de la restricción geométrica introducida, suponiendo que la distancia pertenece al plano YZ tendríamos: 1
La matriz de rotación es simétrica y su inversa es igual a su traspuesta: R-1 = RT.
20
XS
⎛⎛ ⎜⎜ ⎜⎜ = X − ⎜⎜ ⎜⎜ ⎜⎜ ⎜⎜ ⎝⎝
DT YZ ⎛ w (5 ) w (2) ⎜⎜ − w (1) ⎝ w (4)
⎛ ⎜ ⎜ w (2) YS = Y − ⎜ ⎜ w (1) ⎜ ⎜ ⎝
⎛ ⎜ ⎜ ⋅⎜ ⎜ ⎜ ⎜ ⎝
⎛ ⎜ ⎜ w (3) = Z −⎜ ⎜ w (1) ⎜ ⎜ ⎝
⎛ ⎜ ⎜ ⋅⎜ ⎜ ⎜ ⎜ ⎝
ZS
2
⎞ ⎛ w (6 ) w (3) ⎟⎟ + ⎜⎜ − w (1) ⎠ ⎝ w (4)
⎞ ⎟⎟ ⎠
2
⎞⎞ ⎟⎟ ⎟⎟ ⎟⎟ ⎟⎟ ⎟⎟ ⎟⎟ ⎠⎠
DT YZ ⎛ w (5) w (2) ⎜⎜ − w (1) ⎝ w (4)
2
⎛ w (6) ⎞ w (3) ⎟⎟ + ⎜⎜ − w (1 ) ⎝ w (4) ⎠
⎞ ⎟⎟ ⎠
2
DT YZ ⎛ w (5 ) w (2) ⎜⎜ − w (1) ⎝ w (4)
2
⎛ w (6 ) ⎞ w (3) ⎟⎟ + ⎜⎜ − w (1) ⎝ w (4) ⎠
⎞ ⎟⎟ ⎠
2
⎞⎞ ⎟⎟ ⎟⎟ ⎟⎟ ⎟⎟ ⎟⎟ ⎟⎟ ⎠⎠ ⎞⎞ ⎟⎟ ⎟⎟ ⎟⎟ ⎟⎟ ⎟⎟ ⎟⎟ ⎠⎠
No obstante, en el caso b, el conocimiento de más información acerca de la geometría del objeto en forma de distancias o puntos podría propiciar un modelo matemático en dos ecuaciones de la condición de colinealidad, en el que cada distancia o punto generarían dos ecuaciones, dando lugar a un sistema sobredeterminado sobre el que aplicar un ajuste mínimo cuadrático de la siguiente forma.
A x=t ⎡ r ( x − x PP ) + r11 f A = ⎢ 31 i ⎣ r31 ( yi − y PP ) + r21 f
r32 ( xi − x PP ) + r12 f r32 ( yi − y PP ) + r22 f
r33 (xi − x PP ) + r13 f ⎤ r33 ( yi − y PP ) + r23 f ⎥⎦
⎡X S ⎤ x = ⎢⎢ YS ⎥⎥ ⎢⎣ Z S ⎥⎦ ⎡ (x − x PP )(r31 X i + r32Yi + r33 Z i ) + f (r11 X i + r12Yi + r13 Z i ) ⎤ t=⎢ i ⎥ ⎣( yi − y PP )(r31 X i + r32Yi + r33 Z i ) + f (r21 X i + r22Yi + r23 Z i )⎦
i = 1,.....n Sistema de ecuaciones sobredeterminado de 2 x n ecuaciones, siendo n el número de puntos, y tres incógnitas, que podemos aproximar por mínimos cuadrados.
Análisis dimensional del objeto o escena Estimados los parámetros internos y externos de la cámara, podremos extraer propiedades métricas de la imagen, en base a un análisis dimensional del objeto u escena. El modelo matemático que se emplea para el análisis dimensional es la condición de colinealidad apoyada por restricciones geométricas que eliminan el problema de ‘mal condicionamiento’ inherente al trabajar con una sola imagen. Para ello se necesitan como datos de entrada: los parámetros internos y externos de la cámara, las coordenadas imagen de los elementos a medir (puntos,
21
líneas o polígonos), así como una restricción geométrica del objeto u escena en forma de coplanaridad o paralelismo. Pasemos a ver el cálculo de coordenadas, distancias, ángulos y superficies tomando como restricción geométrica que los elementos a analizar están situados en el plano XZ. Cálculo de coordenadas. Restricción geométrica de coplanaridad o paralelismo: [Y = 0 ó Y = CTE]
⎛ ⎛ r ⋅ ( x − x PP ) + r21 ⋅ ( y1 − x PP ) − r31 ⋅ f X 1 = X S + ⎜⎜ ⎜⎜ 11 1 ⎝ ⎝ r12 ⋅ ( x1 − x PP ) + r22 ⋅ ( y1 − x PP ) − r32 ⋅ f
⎞ ⎞ ⎟⎟ ⋅ (Y1 − YS )⎟ ⎟ ⎠ ⎠
⎛ ⎛ r ⋅ ( x − x PP ) + r23 ⋅ ( y1 − x PP ) − r33 ⋅ f ⎞ ⎞ ⎟⎟ ⋅ (Y1 − YS )⎟ Z1 = Z S + ⎜⎜ ⎜⎜ 13 1 ⎟ ⎝ ⎝ r12 ⋅ ( x1 − x PP ) + r22 ⋅ ( y1 − x PP ) − r32 ⋅ f ⎠ ⎠ Cálculo de distancias. Restricción geométrica de coplanaridad o paralelismo: [Y1 = 0 ó Y1 = CTE; Y2 = 0 ó Y2 = CTE]
⎛ ⎛ r ⋅ ( x − x PP ) + r21 ⋅ ( y1 − x PP ) − r31 ⋅ f ⎞ ⎞ ⎟⎟ ⋅ (Y1 − YS )⎟ X 1 = X S + ⎜⎜ ⎜⎜ 11 1 ⎟ ⎝ ⎝ r12 ⋅ ( x1 − x PP ) + r22 ⋅ ( y1 − x PP ) − r23 ⋅ f ⎠ ⎠ ⎛ ⎛ r ⋅ ( x − x PP ) + r23 ⋅ ( y1 − x PP ) − r33 ⋅ f ⎞ ⎞ ⎟⎟ ⋅ (Y1 − YS )⎟ Z1 = Z S + ⎜⎜ ⎜⎜ 13 1 ⎟ ⎝ ⎝ r12 ⋅ ( x1 − x PP ) + r22 ⋅ ( y1 − x PP ) − r32 ⋅ f ⎠ ⎠ ⎛ ⎛ r ⋅ ( x 2 − x PP ) + r21 ⋅ ( y 2 − x PP ) − r31 ⋅ f X 2 = X S + ⎜⎜ ⎜⎜ 11 ⎝ ⎝ r12 ⋅ ( x 2 − x PP ) + r22 ⋅ ( y 2 − x PP ) − r32 ⋅ f
⎞ ⎞ ⎟⎟ ⋅ (Y2 − YS )⎟ ⎟ ⎠ ⎠
⎛ ⎛ r ⋅ ( x − x PP ) + r23 ⋅ ( y 2 − x PP ) − r33 ⋅ f ⎞ ⎞ ⎟⎟ ⋅ (Y2 − YS )⎟ Z 2 = Z S + ⎜⎜ ⎜⎜ 13 2 ⎟ ⎝ ⎝ r12 ⋅ ( x2 − x PP ) + r22 ⋅ ( y 2 − x PP ) − r32 ⋅ f ⎠ ⎠ DISTXZ =
( X 2 − X 1 )2 + (Z 2 − Z1 )2
Cálculo de superficies. El cálculo de la superficie de un determinado polígono conlleva la aplicación de dos pasos secuénciales: 1. Triangulación del polígono. 2. Determinación del área como suma del área de todos los triángulos según la fórmula del semi-perímetro. Restricción geométrica de coplanaridad o paralelismo: [Y1=0 ó Y1=CTE… Yn=0 ó Yn=CTE]
D12 = D23 = D31 =
( X 2 − X 1 )2 + (Z 2 − Z1 )2 ( X 3 − X 2 )2 + (Z 3 − Z 2 )2 ( X 3 − X 1 )2 + (Z 3 − Z1 )2
22
SPXZi = (D12 + D23 + D31 ) / 2 n
Área XZ = ∑ i =1
SPXZi ⋅ (SPXZi − D12 ) ⋅ (SPXZi − D23 ) ⋅ (SPXZi − D31 )
Cálculo de ángulos. El cálculo de ángulos (α,β,γ) sobre un determinado plano del objeto conlleva conocer los lados del triangulo (a, b, c) que conforman dichos ángulos
a 2 = b 2 + c 2 − 2bc cos α ; b 2 = a 2 + c 2 − 2ac cos β c 2 = a 2 + b 2 − 2ab cos γ
Plano XZ D2
d2
C
D1
Plano YZ’
Plano XZ’
d1
(X,Y,Z; A,T,S)
Figura: Análisis dimensional del objeto o escena a partir de una sola imagen.
23
8.4 Aplicaciones y ejemplos De cara a determinar las limitaciones y ventajas del acercamiento propuesto para el análisis dimensional a partir de una sola imagen, a continuación se muestran aplicaciones y ejemplos relacionados con el contexto de la Arquitectura e Ingeniería.
Arquitectura Objetivo. Tratar de deparar una reconstrucción 3D de una iglesia (La Iglesia de San Nicolás) a partir de una sola imagen, la cual fue tomada con una cámara totalmente desconocida. Metodología y resultados. La metodología completa comienza con una fase de extracción de características (líneas y puntos de fuga) (Figura). El proceso de extracción de características es completamente automático.
Figura: Izquierda: Extracción automática de líneas: Canny + Burns. Derecha: Agrupamiento automático de líneas en las 3 direcciones principales del objeto (X,Y,Z).
A continuación se calculan las coordenadas de los puntos de fuga mediante el procedimiento robusto descrito. Con el soporte estructural deparado por los puntos de fuga, una estimación semi-automática de los parámetros de la cámara es ejecutada. Por un lado se estiman automáticamente los parámetros internos, así como las rotaciones de la cámara, y por otro el usuario debe introducir algún tipo de información a priori del objeto que le permita resolver el posicionamiento de la cámara respecto del objeto. En este caso se introduce una distancia conocida de la iglesia (D=3.732m) Finalmente, la condición de colinealidad junto con el empleo de restricciones geométricas (coplanaridad y paralelismo) será la estrategia utilizada para deparar una reconstrucción 3D del objeto a partir de una sola imagen (Figura).
Figura: Reconstrucción 3D a partir de una sola imagen de la Iglesia de San Nicolas..
24
Ingeniería Civil Objetivo. Tratar de deparar un análisis dimensional de un puente a partir de una sola imagen con objeto de establecer una catalogación aproximada de sus elementos estructurales más básicos. En este caso la cámara es conocida y ha sido previamente calibrada. Metodología y resultados. La metodología completa comienza con una fase de extracción de características (líneas y puntos de fuga) (Figura). El proceso de extracción de características es completamente automático.
Figura: Izquierda: Extracción automática de líneas: Canny + Burns. Derecha: Agrupamiento automático de líneas en las 3 direcciones principales del objeto (X,Y,Z).
A continuación se calculan las coordenadas de los puntos de fuga mediante el procedimiento robusto descrito. Con el soporte estructural deparado por los puntos de fuga, y el conocimiento de los parámetros internos (focal, punto principal y parámetros de distorsión radial) se lleva a cabo una estimación de los parámetros externos (orientación y posición) de la cámara respecto del objeto. Para ello el usuario debe introducir algún tipo de información conocida relativa al objeto. En este caso una distancia del puente (D=2.65m) Finalmente, la condición de colinealidad junto con el empleo de restricciones geométricas (coplanaridad y paralelismo) será la estrategia utilizada para deparar un análisis dimensional del puente (Figura).
Figura: Análisis dimensional del puente.
25
Ingeniería Forense Objetivo. Tratar de deparar un análisis dimensional del escenario de un crimen a partir de una sola imagen. De nuevo en este caso la información de la cámara es conocida y también ha sido previamente calibrada. Metodología y resultados. La metodología completa comienza con una fase de extracción de características (líneas y puntos de fuga) (Figura). El proceso de extracción de características es completamente automático.
Figura: Izquierda: Extracción automática de líneas: Canny + Burns. Derecha: Agrupamiento automático de líneas en las 3 direcciones principales de la escena (X,Y,Z).
A continuación se calculan las coordenadas de los puntos de fuga mediante el procedimiento robusto descrito. Con el soporte estructural deparado por los puntos de fuga, y el conocimiento de los parámetros internos (focal, punto principal y parámetros de distorsión radial) se lleva a cabo una estimación de los parámetros externos (orientación y posición) de la cámara respecto del objeto. Para ello el usuario debe introducir algún tipo de información conocida relativa al objeto. En este caso una distancia del puente (D=2.40m)
Figura: Análisis dimensional de la escena del crimen.
26