Capítulo 5. Percepciónbibing.us.es/proyectos/abreproy/70314/fichero... · Modelado, Control y...

22
Capítulo 5. Percepción Pág. 79 5.1 Introducción Actualmente, la principal misión de los UAVs es la monitorización, es decir, la observación en sentido amplio de un evento. Esta observación puede realizarse de múltiples formas, empleado diferentes sensores en función de la entidad a medir, pero la más extendida es el empleo de cámaras digitales, tanto de espectro visible como infrarrojo. Las cámaras disponen de diferentes prestaciones tales como resolución, número de canales, espectro… Y pueden ir montadas fijas al fuselaje o, en el caso más avanzado, sobre un sistema estabilizador conocido como gimbal. 5.2 Cámaras digitales Son dispositivos capaces de capturar la radiación electromagnética emitida o reflejada por los cuerpos en cierto rango del espectro. En principio de funcionamiento de una cámara se basa en emplear una lente que recoja la radiación incidente de forma que los rayos se desvíen convergiendo en un punto denominado foco y posteriormente incidiendo en un sensor. El sensor recoge una información bidimensional discreta que se almacena en una estructura matricial donde cada elemento posee en valor numérico del nivel de la medida, que puede ser de un solo canal (escala de grises) o de tres canales (RGB o HSV). Recientemente ha aparecido en el mercado cámaras capaces de captar no sólo proyección bidimensional de la realidad, sino el campo lumínico asociado a una escena (Lytro s.f.). Este nuevo tipo de sensores permite captar más información permitiendo, por ejemplo, realizar enfoques selectivos a posteriori. En función de la cobertura del espectro, podemos distinguir entre cámaras de espectro visible (0.37-067 )e infrarrojas (0.75-1000 ). A su vez, dentro de estas últimas existen varias divisiones en función de la frecuencia. Se considera radiación infrarroja a la radiación electromagnética comprendida entre las longitudes de onda de. Dentro de este rango se distingue entre infrarrojo: - Cercano 0.75-3 - Medio 3-6 - Lejano 6-15 - Extremo 15-1000 Capítulo 5. Percepción

Transcript of Capítulo 5. Percepciónbibing.us.es/proyectos/abreproy/70314/fichero... · Modelado, Control y...

Page 1: Capítulo 5. Percepciónbibing.us.es/proyectos/abreproy/70314/fichero... · Modelado, Control y Percepción en Sistemas Aéreos Autónomos Pág. 82 5.3.2 Ortorrectificación La ortorrectificación

Capítulo 5. Percepción

Pág. 79

5.1 Introducción

Actualmente, la principal misión de los UAVs es la monitorización, es decir, la observación en

sentido amplio de un evento. Esta observación puede realizarse de múltiples formas,

empleado diferentes sensores en función de la entidad a medir, pero la más extendida es el

empleo de cámaras digitales, tanto de espectro visible como infrarrojo.

Las cámaras disponen de diferentes prestaciones tales como resolución, número de canales,

espectro… Y pueden ir montadas fijas al fuselaje o, en el caso más avanzado, sobre un sistema

estabilizador conocido como gimbal.

5.2 Cámaras digitales

Son dispositivos capaces de capturar la radiación electromagnética emitida o reflejada por los

cuerpos en cierto rango del espectro.

En principio de funcionamiento de una cámara se basa en emplear una lente que recoja la

radiación incidente de forma que los rayos se desvíen convergiendo en un punto denominado

foco y posteriormente incidiendo en un sensor. El sensor recoge una información

bidimensional discreta que se almacena en una estructura matricial donde cada elemento

posee en valor numérico del nivel de la medida, que puede ser de un solo canal (escala de

grises) o de tres canales (RGB o HSV).

Recientemente ha aparecido en el mercado cámaras capaces de captar no sólo proyección

bidimensional de la realidad, sino el campo lumínico asociado a una escena (Lytro s.f.). Este

nuevo tipo de sensores permite captar más información permitiendo, por ejemplo, realizar

enfoques selectivos a posteriori.

En función de la cobertura del espectro, podemos distinguir entre cámaras de espectro visible

(0.37-067 )e infrarrojas (0.75-1000 ). A su vez, dentro de estas últimas existen varias

divisiones en función de la frecuencia.

Se considera radiación infrarroja a la radiación electromagnética comprendida entre las

longitudes de onda de. Dentro de este rango se distingue entre infrarrojo:

- Cercano 0.75-3

- Medio 3-6

- Lejano 6-15

- Extremo 15-1000

Capítulo 5. Percepción

Page 2: Capítulo 5. Percepciónbibing.us.es/proyectos/abreproy/70314/fichero... · Modelado, Control y Percepción en Sistemas Aéreos Autónomos Pág. 82 5.3.2 Ortorrectificación La ortorrectificación

Modelado, Control y Percepción en Sistemas Aéreos Autónomos

Pág. 80

Fig. 5-1. Ventanas de emisión electromagnética en la atmósfera

En función de la aplicación particular y de otras consideraciones como coste, se elegirá una u

otra atendiendo a la idiosincrasia de cada uno (Fig. 5-2)

Fig. 5-2. Características de los diferentes rangos del espectro

La clasificación mostrada no debe llevar a pensar en opciones excluyentes. Si bien es cierto que

actualmente las cámaras existentes son de un tipo u otro, existen diferentes líneas que

estudian la fusión sensorial como forma de obtener la sinergia de los diferentes métodos

(Martínez de Dios 2005).

Page 3: Capítulo 5. Percepciónbibing.us.es/proyectos/abreproy/70314/fichero... · Modelado, Control y Percepción en Sistemas Aéreos Autónomos Pág. 82 5.3.2 Ortorrectificación La ortorrectificación

Capítulo 5. Percepción

Pág. 81

5.3 Rectificación de imágenes aéreas

5.3.1 Distorsiones en la imagen Las imágenes captadas por una cámara están sujetas a una serie de efectos que hacen que la

realidad no esté fielmente representada (Gonzáles Jiménez 1999). Estos efectos tienen,

principalmente, tres contribuciones:

- Distorsión de la lente: Debido a que los centros de las lentes no están perfectamente

alineados y a que existen pequeñas aberraciones en cada una de ellas, la imagen

captada distorsiona la realidad. Típicamente esta distorsión se descomponer en radial

y tangencial, siendo la primera la más importante y la que tienda a curvar las líneas

rectas.

Fig. 5-3. Distorsión radial

- Efecto de la perspectiva: debido a la conicidad de la perspectiva, líneas paralelas en la

realidad convergen a un punto de fuga en la imagen

- Efectos del relieve del terreno: la existencia de ondulaciones en la escena a plasmar,

produce que existan unos aparentes desplazamientos en la imagen de forma que los

puntos con mayor elevación aparecen más próximos a centro

Fig. 5-4. Desplazamiento del terreno

Page 4: Capítulo 5. Percepciónbibing.us.es/proyectos/abreproy/70314/fichero... · Modelado, Control y Percepción en Sistemas Aéreos Autónomos Pág. 82 5.3.2 Ortorrectificación La ortorrectificación

Modelado, Control y Percepción en Sistemas Aéreos Autónomos

Pág. 82

5.3.2 Ortorrectificación La ortorrectificación de una imagen es transforma la proyección de una fotografía en una vista

ortogonal del terreno eliminando la distorsión e inclinación de la lente y los efectos del relieve

del terreno. Una ortoimagen permite medir ángulos, distancias y superficies, siendo equialente

a un plano

Para eliminar los efectos anteriormente descritos, existen diferentes técnicas.

5.3.3 Algoritmos de ortorrectificación En general, existen dos aproximaciones al problema de la ortorrectificación: la paramétrica y la

no paramétrica.

La primera se basa en el conocimiento de unos parámetros internos de la cámara y su posición

y orientación. Por tanto, es independiente de la imagen y no requiere de ningún

procedimiento de identificación de puntos. Un modelo de la cámara es requerido.

La segunda busca sólo requiere de unos puntos de control sobre la imagen. De esta forma se

evita tener que modelar la cámara y sólo se depende de la imagen. Este método plantea el

problema de la elección de los puntos, que requiere ser capaz de identificar unos puntos en la

imagen tomada y su posición en la rectificada. En general, este proceso es no automatizable y,

para largos set de datos puede resultar muy tedioso.

A continuación (Review of Digital Image Orthorectification Techniques s.f.) se definen los

principales algoritmos de rectificación y se detallan sus expresiones. La nomenclatura seguida

es:

- (r,c) coordenadas de la imagen original

- (x,y) coordenadas de la imagen procesada

5.3.3.1 Rectificación polinómica

Es el método más simple. Consiste en definir una transformación en que cada pixel de la

imagen original se traslade, mediante una relación polinómica, a una imagen destino. Los

coeficientes de los polinomios se ajustan mediante una serie de puntos de control

Page 5: Capítulo 5. Percepciónbibing.us.es/proyectos/abreproy/70314/fichero... · Modelado, Control y Percepción en Sistemas Aéreos Autónomos Pág. 82 5.3.2 Ortorrectificación La ortorrectificación

Capítulo 5. Percepción

Pág. 83

denominados GCPs. Los GCPs son puntos cuya posición en la imagen rectificada es conocida y

que pueden identificarse fácilmente en la imagen original.

Este procedimiento sólo elimina el efecto de la perspectiva, no el de la distorsión de la lente.

∑∑

∑∑

Un elemento crítico en la rectificación polinómica es el orden del polinomio. Si son demasiado

bajos la rectificación no será suficientemente precisa, si es demasiado alto, la presencia de

oscilaciones ficticias desvirtúala solución.

5.3.3.2 Rectificación proyectiva

Otro planteamiento es mediante una transformación geométrica. Esta transformación

requiere de ocho parámetros para llevarse a cabo. Este método es muy útil para imágenes

aéreas de terrenos plano y para fachadas de edificios.

5.3.3.3 Rectificación basada en modelo del sensor

Modelos de los sensores son necesarios para establecer una relación funcional entre los

espacios imagen y objeto. Existen dos tipos de modelos, físicos y generalizados.

Los primeros representan el proceso físico de captura de imágenes. Son modelos rigurosos

que suelen proporcionar una alta precisión (subpíxel). El ejemplo más sencillo de modelo

físico lo constituye la ecuación de colinearidad.

El empleo de modelos presenta algunas limitaciones. La primera de ellas es el aumento del

número de sensores disponibles, que requeriría diferentes modelos. Además, el empleo de

modelos complejos requiere un gasto computacional elevado, que puede ser prohibitivo en

aplicaciones en tiempo real.

Los segundos buscan responder a estos problemas empleando modelos estándar, no basados

en parámetros físicos. De esta forma se puede controlar tanto la complejidad del modelo

como la sencillez de modelado, que se reduce a una calibración.

5.3.3.4 Homografía

Una homografía es una aplicación entre planos en la que:

- A cada punto le corresponde otro punto

- A cada recta le corresponde otra recta

Page 6: Capítulo 5. Percepciónbibing.us.es/proyectos/abreproy/70314/fichero... · Modelado, Control y Percepción en Sistemas Aéreos Autónomos Pág. 82 5.3.2 Ortorrectificación La ortorrectificación

Modelado, Control y Percepción en Sistemas Aéreos Autónomos

Pág. 84

- Si un punto pertenece a una recta, su homólogo pertenece también a su recta

homóloga.

La homografía puede emplearse para rectificar imágenes bajo dos supuestos:

- El terreno es plano

- El plano al que se proyecta es paralelo a la superficie

Las homografías vienen dadas por una matriz H que transforma los puntos de un plano a otro.

Para su cálculo se dividen el proceso en una serie de efectos concatenados. Suponiendo una

rotación y una traslación, la expresión sería (Benítez Caballero 2007):

( )

Donde

- A es la matriz de calibración de la cámara,

- es la posición de la segunda vista de la escena tomada en el sistema de referencia de

la primera y

- n es un vector normal al plano de la escena en el sistema de referencia de la primera

vista

- es la inversa de la distancia de la primera vista hasta el punto de la escena

- R es la matriz de rotación

Con la homografía lo que se consigue es asignar el nivel de gris de un punto concreto de la

imagen original a el punto adecuado en la imagen rectificada.

5.3.4 Procedimiento escogido Dado el elevado número de imágenes a rectificar, el empleo de un sistema automatizable era

imprescindible. Además, puesto que los parámetros de orientación necesarios se obtienen

directamente de la aviónica habitual en una aeronave, esto no supone incremento alguno de

costo o carga. Por tanto, la elección fue el procedimiento de homografía.

Se escogió un modelo sencillo en que no se incluía la calibración de la cámara ni el efecto del

cambio del punto de referencia, es decir, la imagen se rectifica en cada imagen respecto a la

posición de la aeronave en ese instante, que es cambiante.

Así, la homografía se reduce a una simple rotación.

Empleando coordenadas homogéneas para trabajar con expresiones lineales se obtiene:

Donde es el ángulo de guiñada (yaw), el de cabeceo (pitch) y el de alabeo (roll)

El procedimiento a seguir es:

1- Cargar la imagen como una matriz

Page 7: Capítulo 5. Percepciónbibing.us.es/proyectos/abreproy/70314/fichero... · Modelado, Control y Percepción en Sistemas Aéreos Autónomos Pág. 82 5.3.2 Ortorrectificación La ortorrectificación

Capítulo 5. Percepción

Pág. 85

2- Para cada pixel (fila y columna) calcular

[

] [

]

Donde f y c son respectivamente la fila y la columna. Los subíndices rec y ori

hacen referencia a la imagen: original o rectificada. Nótese que se ha tomado

z=0 para los puntos de la imagen original y que la tercera componente de la

imagen rectificada carece de sentido físico, por lo que se ha representado

mediante un asterisco.

3- Para tener en cuenta el factor de escala, los índices de la imagen rectificada

serán (

).Puesto que los elementos de la matriz H están compuestos

de productos de funciones trigonométricas, estos índices serán en general

irracionales, lo cual, evidentemente, no es posible (la posición de un elemento

en una matriz viene dada por un número natural. Para solucionarlo se realizan

dos pasos:

Redondear a la parte entera los índices. Esto introduce errores del

orden del píxel

Trasladar todos los índices de forma que sean positivos

Fig. 5-5. Rotación y Traslación de los píxeles en la imagen rotada

5.3.5 Experimentos Para demostrar las capacidades de tratamiento de imágenes, se realizaron una serie de vuelos

para recoger imágenes. Estos experimentos fueron realizados por personal del departamento

de Aviónica de CATEC4.

4 El autor agradece a Antidio Viguria, Francisco Pérez y Carlos Albo el acceso a estos datos, así como las numerosas recomendaciones y comentarios sobre los experimentos.

Page 8: Capítulo 5. Percepciónbibing.us.es/proyectos/abreproy/70314/fichero... · Modelado, Control y Percepción en Sistemas Aéreos Autónomos Pág. 82 5.3.2 Ortorrectificación La ortorrectificación

Modelado, Control y Percepción en Sistemas Aéreos Autónomos

Pág. 86

5.3.5.1 Equipamiento

La plataforma empelada fue una réplica de radio control de la Pilatus Portus realizada por

Jamara

Fig. 5-6. Avioneta RC Pilatus empleado en los experimentos

En esta aeronave se montaron los equipos necesarios. Los más relevantes para la aplicación

son:

- IMU Xsens MTiG. La precisión de las medidas es de un grado para los ángulos de

alabeo y cabeceo y de dos grados para la guiñada (errores RMS).

- GPS

- Cámara de alta resolución Canon Power Shot G10. Proporciona imágenes en color de

hasta 8 Megapíxeles.

- Cámara IDS UI 2230-C. Imágenes en escala de grises a 640x480.

- PC104

Los vuelos se llevaron a cabo en la pista del club de aeromodelismo RC Saeta, en la Isla de

Cartuja, Sevilla.

De forma continua, se tomaron imágenes con la cámara de baja resolución. La frecuencia fue

de aproximadamente 9 Hz, dependiendo de la carga computacional del PC104.

Page 9: Capítulo 5. Percepciónbibing.us.es/proyectos/abreproy/70314/fichero... · Modelado, Control y Percepción en Sistemas Aéreos Autónomos Pág. 82 5.3.2 Ortorrectificación La ortorrectificación

Capítulo 5. Percepción

Pág. 87

Fig. 5-7. Electrónica embarcada en la aeronave

5.3.5.2 Características del vuelo

El vuelo se realizó en las proximidades de la pista, con una envolvente de vuelo

suficientemente amplia para poder proporcionar un amplio set de fotos con diferentes

condiciones. La altura máxima del vuelo fue de 300 m. Los ángulos de alabeo y cabeceo

máximo fueron de más de 60 y 30 grados respectivamente.

La orografía del terreno oscila entre 1 y 14 metros. Respecto a la altura de crucero, próxima a

los 300 m, la variación es pequeña, por lo que se puede realizar la hipótesis de escenas planas.

Fig. 5-8. IMU MTi-G de Xsens

Page 10: Capítulo 5. Percepciónbibing.us.es/proyectos/abreproy/70314/fichero... · Modelado, Control y Percepción en Sistemas Aéreos Autónomos Pág. 82 5.3.2 Ortorrectificación La ortorrectificación

Modelado, Control y Percepción en Sistemas Aéreos Autónomos

Pág. 88

5.3.5.3 Primer procesado de los datos

En vuelo, se generó online un fichero de texto que indicaba, para cada foto de baja resolución,

el instante de la toma, la posición (que también se incluyó en los metadatos) y la orientación.

Las fotos no eran transmitidas, sino que se almacenaban en una tarjeta de memoria.

Este primer pre-procesado permite, offline, conocer los ángulos que determinan la

homografía.

5.3.6 Resultados La Fig. 5-9 muestra una imagen frente a su correspondiente rectificada.

Fig. 5-9. Comparación entre imagen original y rectificada

Para testar la bondad de los resultados, se emplea como referencia imágenes ya rectificadas.

En concreto, por la gran disponibilidad y facilidad de acceso se emplea Google Earth. Sin

embargo, este sistema plantea un inconveniente: las imágenes no están actualizadas

(imágenes tomadas el 16 de agosto de 2007) y, debido a que la construcción de la pista es

reciente, esta no aparece en los planos. Además, otros elementos de referencia, como cultivos

o el río han podido cambiar significativamente.

Para solventar este problema se recurrió a integrar en Google Earth imágenes aéreas

rectificadas proporcionadas por la Junta de Andalucía (Consejo Superior Geográfico s.f.).

Page 11: Capítulo 5. Percepciónbibing.us.es/proyectos/abreproy/70314/fichero... · Modelado, Control y Percepción en Sistemas Aéreos Autónomos Pág. 82 5.3.2 Ortorrectificación La ortorrectificación

Capítulo 5. Percepción

Pág. 89

Fig. 5-10. Imagen del aeródromo con Google Earth

Fig. 5-11. Imagen del aeródromo con el mapa de Andalucía

Teniendo como referencia la pista, claramente identificable e invariante en el tiempo, se

analizan los resultados obtenidos.

El primer efecto de la homografía es la rotación las imágenes respecto a un sistema de

referencia común. En este, este sistema de referencia muestra el rumbo (es decir, al

orientación respecto al norte) y la altitud.

En la Fig. 5-11 puede verse como la pista tiene dirección noreste. Comparando con las

imágenes de la Fig. 5-12, que han sigo girada 90º por compacidad del documento, puede

comprobarse como, pese a que la orientación de la pista en las imágenes captadas varía, las

imágenes rectificadas si la conservan y coincide con la real.

Page 12: Capítulo 5. Percepciónbibing.us.es/proyectos/abreproy/70314/fichero... · Modelado, Control y Percepción en Sistemas Aéreos Autónomos Pág. 82 5.3.2 Ortorrectificación La ortorrectificación

Modelado, Control y Percepción en Sistemas Aéreos Autónomos

Pág. 90

Fig. 5-12. Cambio de orientación de las imágenes rectificadas

El segundo efecto es la deformación por perspectiva. Puede comprobarse en la Fig. 5-13 cómo

las áreas de las distintas parcelas, así como las longitudes de los aminos cambian. Así, por

ejemplo, mientras en la imagen original se observa que ambos caminos poseen una longitud

similar, en la imagen rectificada uno es del orden del doble que el otro. También puede

comprobarse como la contribución relativa de cada parcela cambia.

Page 13: Capítulo 5. Percepciónbibing.us.es/proyectos/abreproy/70314/fichero... · Modelado, Control y Percepción en Sistemas Aéreos Autónomos Pág. 82 5.3.2 Ortorrectificación La ortorrectificación

Capítulo 5. Percepción

Pág. 91

Fig. 5-13. Deformación de imágenes rectificadas

5.3.7 Implementación El tratamiento de las imágenes se implementó usan do el software Matlab. Si bien es cierto

que dicho programa consta de un Toolbox de procesamiento de imágenes, esto no fue

empleado por constar sólo de funciones generales.

Matlab proporciona un conjunto de herramientas que permiten centrarse en los algoritmos y

no tanto en la programación., facilitando las tareas de desarrollo.

Aunque en este caso el tiempo no es un elemento crítico puesto que la aplicación se ejecuta

offline, por cuestiones de manipulación práctica, para largos set de imágenes (en este caso

más de 2700), ha de intentar minimizar el tiempo.

En este trabajo se han intentado varias estrategias.

En primer elemento fue mostrar en pantalla el número de imágenes restantes y una predicción

del tiempo para la finalización del programa. Este método permite al usuario comprobar que el

script se está ejecutando correctamente a la vez que le permite dedicarse a otras tareas

mientras se realizan los cálculos.

La segunda consistió en emplear el compilador de Matlab mediante la función mcc. Sin

embargo, el ejecutable resultante requería de más tiempo que la ejecución desde Matlab, por

lo que se desecó esta alternativa.

El siguiente paso fue intentar reducir bucles y declarar las dimensiones de las matrices que

contienen las imágenes. Este último proceso consiguió una reducción muy significativa del

costo computacional, dividiéndolo por una facto de en torno a tres.

5.3.8 Generación de vídeos Una vez generado el conjunto de imágenes rectificadas, es necesario realizar un conjunto de

pruebas para comprobar la bondad de los resultados. Este procedimiento se simplifica mucho

Page 14: Capítulo 5. Percepciónbibing.us.es/proyectos/abreproy/70314/fichero... · Modelado, Control y Percepción en Sistemas Aéreos Autónomos Pág. 82 5.3.2 Ortorrectificación La ortorrectificación

Modelado, Control y Percepción en Sistemas Aéreos Autónomos

Pág. 92

con la generación de un vídeo, ay que permite visualizar dinámicamente cómo las fotos rotan y

se deforman para corregir los ángulos del avión.

En esta aplicación, aunque la frecuencia de capturas era pequeña (de unos 9 Hz), el vídeo es

bastante representativo e intuitivo del movimiento de la aeronave.

Asimismo, es interesante generar el vídeo de las imágenes originales tomadas durante el vuelo

para comparar las diferencias.

5.3.9 Segunda aproximación Tras estos primeros resultados se analizaron e identificaron las limitaciones:

- Pese a la eliminación de ciertos efectos deformantes, seguían existiendo otros, como

la deformación de la lente, que obligan a la calibración de la cámara.

- La implementación en Matlab presenta ciertas limitaciones requiere trabajar en un

sistema propietario y con herramientas poco depuradas para aplicaciones reales.

Teniendo esto en cuenta, se intentó profundizar más en los conceptos de la geometría

proyectiva desarrollando una aplicación más potente y más orientada a la aplicación práctica al

emplear lenguaje C/C++, librerías libres y abiertas e incluyendo la calibración de la cámara.

5.3.10 Open CV OpenCV es una biblioteca de visión por computador de código abierto escrita en C y C++. Está

disponible para Windows, Linux y Mac OS X y, actualmente se están desarrollando interfaces

para Python, Ruby, Matlab y otros lenguajes (Bradski 2008).

Open CV está diseñada dando gran importancia a la eficiencia computacional y enfocada a

aplicaciones en tiempo real.

Uno de los objetivos de OpenCV es proveer de una infraestructura básica sencilla que permita

a desarrolladores crear una gran variedad de sofisticadas aplicaciones de visión de forma

rápida.

La biblioteca contiene más de 500 funciones que cubre múltiples áreas del mundo de la Visión,

tales como inspección de piezas en procesos de fabricación, sanidad, seguridad, visión estéreo,

robótica…

5.3.11 Calibración de cámara El proceso de calibración consiste en transformar los puntos capturados por la cámara con

distorsión ( ) a otros sin distorsión, asociados a una lente perfecta ( ( ) .

Matemáticamente,

[ ] (

) [ ] [

(

)

(

) ]

Donde y son los parámetros de distorsión radial y tangencial respectivamente.

Page 15: Capítulo 5. Percepciónbibing.us.es/proyectos/abreproy/70314/fichero... · Modelado, Control y Percepción en Sistemas Aéreos Autónomos Pág. 82 5.3.2 Ortorrectificación La ortorrectificación

Capítulo 5. Percepción

Pág. 93

Para la calibración se empleó el Toolbox de Calibración para Matlab desarrollado por Jean-Yves

Bouguet del Instituto Tecnológico de California (CALTEC) (Bouguet 2004). Esta potente

herramienta permite realizar de forma sencilla el proceso de calibración a partir de un set de

imágenes de un patrón definido (típicamente, del tipo “tablero de ajedrez”).

El emplear Este Toolbox para la calibración y OpenCV para el programa principal no supone

ninguna inconsistencia. Si bien es cierto que OpenCV dispone de sus propias herramientas de

calibración, ha de tenerse en cuenta que la calibración es un proceso previo e independiente a

la aplicación que sólo ha de realizarse una vez (si no se modifican las lentes). Por tanto es

perfectamente posible realizar la calibración en Matlab, obtener los parámetros intrínsecos de

la cámara, introducirlos en el código del programa OpenCV y ejecutar la aplicación.

5.3.12 Algoritmo 0. Realizar ensayos en vuelo en que se toma un set de imágenes y asociarle a cada una

los valores de los ángulos de Euler del avión (orientación de de la aeronave respecto a

un sistema de referencia tierra plana).

1. Calibrar la cámara: paso previo a la ejecución del programa. A partir de un set de

fotografías de un patrón determinado, calcular los parámetros internos de la cámara

empleada en el punto uno.

2. Empleando los datos de la calibración corregir las distorsiones de las imágenes aéreas

3. Empleando los datos de orientación, rectificar las imágenes aéreas

5.3.13 Resultados

5.3.13.1 Calibración de la cámara

Para el proceso de calibración se tomaron una serie de fotografías del patrón desde diferentes

posiciones.

Fig. 5-14. Set de imágenes para calibrar

Page 16: Capítulo 5. Percepciónbibing.us.es/proyectos/abreproy/70314/fichero... · Modelado, Control y Percepción en Sistemas Aéreos Autónomos Pág. 82 5.3.2 Ortorrectificación La ortorrectificación

Modelado, Control y Percepción en Sistemas Aéreos Autónomos

Pág. 94

Una vez realizadas las fotos se ejecutó en Toolbox de calibración de Matlab y se cargaron las

imágenes creadas, descartando aquellas que se considerasen no válidas (imágenes

desenfocadas, movidas…). A continuación se definieron las características del patrón

(dimensiones de los cuadrados, número de ellos…) y, para cada imagen, se inició el

procedimiento semiautomático de detección de esquinas, en el cual el usuario ha de definir las

cuatro esquinas externas del patrón y las dimensiones de la ventana de búsqueda, de modo

que el programa es capaz de encontrar las esquinas internas del patrón.

Fig. 5-15. Esquinas externas y primera estimación de esquinas internas

Fig. 5-16. Tamaño de las ventanas para ajustar la posición de las esquinas internas

Una vez finalizado este proceso de reconocimiento se realiza la calibración de la cámara.

Múltiples resultados pueden obtenerse:

- Obtención de los valores numéricos de los parámetros intrínsecos de la cámara

Page 17: Capítulo 5. Percepciónbibing.us.es/proyectos/abreproy/70314/fichero... · Modelado, Control y Percepción en Sistemas Aéreos Autónomos Pág. 82 5.3.2 Ortorrectificación La ortorrectificación

Capítulo 5. Percepción

Pág. 95

o Longitud focal:

fc = [ 791.78362 791.34184 ] ± [ 4.76610 4.86652 ]

o Principal point:

cc = [ 513.54554 384.69314 ] ± [ 6.45186 5.15158 ]

o Distorsión:

kc = [ -0.35232 0.15191 -0.00027 0.00026 0.00000 ] ±

± [ 0.01542 0.04103 0.00136 0.00099 0.00000 ]

o Pixel error:

error = [ 0.56200 0.49747 ]

- Orientación de la cámara respecto al patrón en cada imagen introducida (o viceversa,

es decir, orientación del patrón respecto a la cámara suponiendo cámara fija)

Fig. 5-17. Posición y orientación calculada de cada imagen

- Modelos de distorsión radial, tangencial y total: los campos de distorsión obtenidos

pueden descomponerse en dos elementos: la tangencial (Fig. 5-18) y la radial (Fig.

5-19). Puesto que la primera es de orden 0.1 y la segunda es de orden 10, el campo de

distorsión total (Fig. 5-20), suma de ambos, es muy similar al de la distorsión radial.

Page 18: Capítulo 5. Percepciónbibing.us.es/proyectos/abreproy/70314/fichero... · Modelado, Control y Percepción en Sistemas Aéreos Autónomos Pág. 82 5.3.2 Ortorrectificación La ortorrectificación

Modelado, Control y Percepción en Sistemas Aéreos Autónomos

Pág. 96

Fig. 5-18. Distorsión Tangencial

Fig. 5-19. Distorsión radial

Page 19: Capítulo 5. Percepciónbibing.us.es/proyectos/abreproy/70314/fichero... · Modelado, Control y Percepción en Sistemas Aéreos Autónomos Pág. 82 5.3.2 Ortorrectificación La ortorrectificación

Capítulo 5. Percepción

Pág. 97

Fig. 5-20. Distorsión total

- Aplicación de la calibración obtenida para corregir las distorsiones de las imágenes de

muestra. Como puede apreciarse en la Fig. 5-21, existen claras distorsiones radiales,

por ejemplo en el borde de la mesa o en la borde inferior de la mesa. Gracias a la

calibración estas distorsiones, además de otras menos evidentes, son compensadas de

forma que la imagen represente más fielmente la realidad.

Fig. 5-21. Corrección de la distorsión de una imagen patrón

Page 20: Capítulo 5. Percepciónbibing.us.es/proyectos/abreproy/70314/fichero... · Modelado, Control y Percepción en Sistemas Aéreos Autónomos Pág. 82 5.3.2 Ortorrectificación La ortorrectificación

Modelado, Control y Percepción en Sistemas Aéreos Autónomos

Pág. 98

5.3.13.2 Rectificación de imágenes de vuelo

Fig. 5-22. Imágenes rectificadas obtenidas

Page 21: Capítulo 5. Percepciónbibing.us.es/proyectos/abreproy/70314/fichero... · Modelado, Control y Percepción en Sistemas Aéreos Autónomos Pág. 82 5.3.2 Ortorrectificación La ortorrectificación

Capítulo 5. Percepción

Pág. 99

5.3.14 Comparación con resultados obtenidos en Matlab Como ya se indicó en el inicio de esta memoria, este trabajo es una continuación del estudio

del campo del tratamiento de imágenes aéreas comenzado en la asignatura de Visión por

computador. Por tanto, es evidente el interés de comparar los resultados aquí expuestos con

los anteriormente obtenidos.

- Tamaño de la imagen a tratar

Gracias a la gestión eficiente de memoria de la librería OpenCV, es posible trabajar con

imágenes de mayores dimensiones que con Matlab. Así, por ejemplo, mientras que

para imágenes de 4416x3312 píxeles y tres canales, el código Matlab arrojar un error

de “out of memory”, mientras que el basado en OpenCV es capaz de ejecutarlo sin

problemas

- Resampling

En el código de Matlab realizado, aparecen errores del orden del píxel en varias

imágenes. Estos errores consisten en la aparición de zonas donde la aplicación no está

definida y, por tanto se toman como píxeles en negro (nivel de gris 0). La fuente de

este error se basa en el redondeo llevado a cabo al multiplicar por la matriz de

homografía. Para solventarlo es necesario un proceso de resampling. La función de

Open CV cvWarpPerspective la incluye en su rutina.

Fig. 5-23. Resampling: OpenCV vs Matlab

Page 22: Capítulo 5. Percepciónbibing.us.es/proyectos/abreproy/70314/fichero... · Modelado, Control y Percepción en Sistemas Aéreos Autónomos Pág. 82 5.3.2 Ortorrectificación La ortorrectificación

Modelado, Control y Percepción en Sistemas Aéreos Autónomos

Pág. 100

Fig. 5-24. Resampling: OpenCV vs Matlab. Detalle

- Integración y acceso

Al ser OpenCV una librería abierta y escrita en C permite fácilmente la integración

tanto en equipos embarcados como la inclusión del código en otros proyectos. Al ser

una biblioteca libre es una solución barata, eficiente y universal para su uso.