Ortomosaicos utilizando Imágenes Aéreas tomadas por Drones

Figura 1: comparativa entre nuestro software (izq) y el Microsoft ICE (der). Puede observarse la desaparición de algunos edificios, pero con un result...

6 downloads 271 Views 355KB Size
Ortomosaicos utilizando Imágenes Aéreas tomadas por Drones y su aplicación en la Agricultura de Precisión Diego Gabriel Marcovecchio. Lic. en Ciencias de la Computación y Becario de Investigación Doctoral en el Laboratorio de Ciencias de las Imágenes, Universidad Nacional del Sur, Bahía Blanca. [email protected] Julián Ferrari. Ing. Electrónico y Desarrollador en el Laboratorio de Ciencias de las Imágenes, Universidad Nacional del Sur, Bahía Blanca. [email protected] Luis Francisco Costa. Ing. Electrónico y Desarrollador en el Laboratorio de Ciencias de las Imágenes, Universidad Nacional del Sur, Bahía Blanca. [email protected] Gustavo Díaz, Ing. Electrónico y Desarrollador en el Laboratorio de Ciencias de las Imágenes, Universidad Nacional del Sur, Bahía Blanca. [email protected] Claudio Augusto Delrieux. Dr. en Ciencias de la Computación y Director del Laboratorio de Ciencias de las Imágenes, Universidad Nacional del Sur, Bahía Blanca. [email protected]

Introducción Una aplicación de gran importancia para los drones de uso civil es su utilización para el monitoreo de campos en agricultura de precisión. Para ello, es necesaria la adquisición de imágenes desde el dispositivo en vuelo, y su posterior procesamiento digital para realizar diversas tareas. Entre ellas, un requerimiento fundamental es la posibilidad de elaborar ortomosaicos (posiblemente corregistrados con imágenes satelitales) para poder analizar la información geolocalizada con precisión. Si bien existen programas comerciales muy conocidos, como Bing Maps o Google Maps, que realizan mosaicos a partir de imágenes satelitales, estos sistemas presentan problemas similares: al tratarse de proyectos de alcance mundial, el período de re-visita de un sector es de entre uno y dos años, por lo que resulta imposible realizar estudios en plazos cortos de un terreno al no disponer de un banco actualizado de imágenes. Otras aplicaciones comerciales y proyectos académicos que implementan diversas funcionalidades para comparar, transformar, superponer, y generar mosaicos utilizando conjuntos de imágenes, tienen en general falencias o limitaciones que dificultan o directamente impiden su uso en workflows intensivos. Sin embargo, la facilidad de adquisición de imágenes aéreas se ha ido incrementando a lo largo de los últimos años debido a diversos factores: el hardware para realizar vuelos (UAVs, drones, cuadra y hexacópetros) es cada vez más barato, la toma de fotografías digitales puede realizarse con cualquier cámara standard, y la transferencia de cientos o miles de imágenes entre computadoras ya no es un problema debido al ancho de banda disponible. Todo esto hace posible generar bancos de fotografías propias en sectores de interés para realizar estudios orientados a objetivos específicos. Aún así, el procesamiento de dichas imágenes aún está lejos de estar libre de errores. Por otro lado, el potencial de estas tecnologías es muy grande y está lejos de estar agotado. El objetivo de este trabajo es presentar el conjunto de desarrollos que se está realizando en el Laboratorio de Ciencias de las Imágenes en la Universidad Nacional del Sur. El mismo abarca integralmente todos los aspectos científicos y tecnológicos involucrados en la toma de imágenes aéreas desde

dispositivos aéreos autopilotados, y su ulterior procesamiento para diversos fines. En particular, y dada la importancia que tiene este último aspecto, y su menor madurez, nos ocuparemos de describir el software de procesamiento de imágenes aéreas, y sus potenciales aplicaciones en la agricultura de precisión. Un punto importante a destacar es que el software embebido en los dispositivos aéreos autónomos cuentan con la capacidad de realizar telemetría y asociar los datos de vuelo al momento de la toma de cada imagen. De esta manera, el resultado del procesamiento, específicamente la geolocalización asociada a la elaboración de mosaicos, es más robusto en comparación al obtenido en software comercial, tal como se describe a continuación. Alternativas comerciales para elaboración de mosaicos Microsoft Image Composite Editor (ICE) es un software para generar imágenes panorámicas con una interfaz muy sencilla de utilizar, dado que está esencialmente orientado a la rápida generación de panoramas a partir de conjuntos de imágenes fotográficas realizadas por usuarios comunes. El principal inconveniente de este programa es que todo el procesamiento se basa en realizar stitching de imágenes sin utilizar metadatos u otra fuente de información (en particular, telemetría o geolocalización). Es decir, genera los mosaicos únicamente a partir del matching de los característicos entre todas las imágenes, a ciegas. Esto genera dos problemas importantes: en primer lugar el tiempo de generación del mosaico puede ser muy elevado si se cuenta con un gran número de fotos a procesar (pues el algoritmo de matching es de orden cuadrático). El segundo, y más determinante, tiene que ver con la calidad del resultado. Este software está más orientado a generar imágenes panorámicas convencionales (como por ejemplo, un paisaje), pero resulta impráctico para fotografías aéreas. En una imagen aérea, generalmente coexisten múltiples zonas con similares características (color, textura del terreno, etc.), como en el caso de un campo. El algoritmo de stitching no sólo puede confundir estas zonas y generar un mosaico geográficamente incorrecto, sino que además puede ser difícil encontrar los errores debido a que el programa realiza una interpolación entre las imágenes para lograr un blending más suave, por lo que la transición entre dos fotografías puede verse normal aunque no sea correcta. Esto es un problema serio, debido a que los mosaicos pueden ser utilizados, por ejemplo, para estudiar accidentes geográficos, o realizar controles sobre campos o ciudades, y un resultado que en apariencia sea coherente pero no sea real puede afectar sustancialmente el resultado de los estudios. Puede observarse un ejemplo de estos casos en la Figura 1. Por todas estas razones, Microsoft ICE resulta impráctico y poco confiable si se pretende analizar imágenes aereas con precisión, puesto que en la mayoría de los casos el resultado no se condice con la realidad. Otro software utilizado para generar mosaicos es el Regeemy (Image Registration and Mosaicking), desarrollado por el Instituto Nacional de Investigación Espacial de Brasil. Este programa tambien realiza stitching de imágenes a partir del matching de característicos cómo único medio para generar un mosaico, e incluye algunas opciones de configuración extra respecto al Microsoft ICE: permite seleccionar el modo de detección de features o característicos de las imágenes, así como también la tolerancia entre las features coincidentes. Se puede además comparar distintos métodos de renderización, solapamiento y blending.

Figura 1: comparativa entre nuestro software (izq) y el Microsoft ICE (der). Puede observarse la desaparición de algunos edificios, pero con un resultado visualmente coherente que resulta peligroso a la hora de utilizar los mosaicos para analizar un terreno.

Si bien este software posee diversas herramientas, el procesamiento se restringe sólo a dos imágenes (debido a que fue pensado para georreferenciar una imagen dentro de un mapa satelital, por ejemplo). Para generar un mosaico se requiere repetir manualmente el proceso de empalme muchas veces de forma secuencial, lo que no sólo resulta impráctico si se cuenta con un número grande de fotografías, sino que además el error en las transformaciones de perspectiva inevitablemente se propaga a lo largo de la cadena de imágenes. En conclusión, Regeemy no es un software ágil para procesar imágenes aéreas de gran dimensión. De todas formas cuenta con herramientas útiles para obtener un empalme de imágenes de buena calidad, que pueden utilizarse como referencia a la hora de contrastar resultados. Muy similar a este software es el OSSIM (Open Source Software Image Map), que posee múltiples herramientas de procesamiento de imágenes para generar mosaicos. Este programa, que se encuentra en contínuo desarrollo, realiza matching a partir del análisis del histograma de las imágenes. Sin embargo, al igual que en ICE y Regeemy, no utiliza otra fuente de información, por lo que los resultados no pueden ser confiables en su totalidad. Por agregado, el manejo de memoria hace que el software no tenga la capacidad de procesar gran cantidad de imágenes, lo que es importante si se requiere (como en el caso de análisis de cultivos en campos) generar un mosaico de dimensiones considerables. Un software muy interesante para la generación de mosaicos y corrección de perspectiva es el Hugin. Este sistema fue utilizado en nuestro laboratorio para la generación de los primeros mosaicos de prueba. Si bien no es posible utilizar la telemetría de los vuelos como dato de entrada para este software, sí es posible realizar una corrección manual de las features detectadas y del matching entre ellas, lo cual puede ayudar a la robustez del resultado. Sin embargo, éste es un proyecto de software libre que contiene muchos bugs y no posee soporte profesional, y la tendencia a fallas del programa crece mucho con una cantidad grande de imágenes, por lo que se torna muy inestable a la hora de realizar mosaicos de grandes dimensiones.

Un reciente método de mapeo semiautomático fue presentado por Vasuki et. al. En su trabajo Semi-automatic mapping of geological Structures using UAV-based photogrammetric data: An image analysis approach, y los mosaicos generados por este software son extremadamente robustos. Sin embargo, en los ejemplos mostrados para unas pocas imágenes es necesario marcar manualmente alrededor de 300 puntos característicos para que el programa trabaje adecuadamente. Como el objetivo de nuestro desarrollo es automatizar la generación de mosaicos a partir de las imágenes y la telemetría, resulta completamente inadecuado requerir una supervisión manual tan intensiva. Desarrollo En el Laboratorio de Ciencias de las Imágenes de la Universidad Nacional del Sur se están llevando adelante diversos proyectos que involucran el uso intensivo de imágenes aéreas, tanto ópticas como multi e hiperespectrales y termográficas. Por las razones mencionadas en la sección anterior, se está desarrollando la alternativa que se presenta en este trabajo para generar ortomosaicos geolocalizados a partir de imágenes aéreas. En las secciones siguientes se detallarán diferentes aspectos del proceso. Adquisición de imágenes Cada una de las imágenes utilizadas es fotografiada directamente desde un UAV, cuya electrónica y aviónica es también desarrollada dentro del grupo de investigación. De esta manera, el propio proceso de adquisición de imágenes puede ser pensado en favor del software de procesamiento, intentando así prevenir los conocidos potenciales fallos en los programas de generación de mosaicos. Para obtener mejores resultados, se asocia a cada imagen un conjunto de metadata obtenido a partir de la telemetría del autopiloto, que será utilizada luego para realizar correcciones en la perspectiva de cada imagen. Los datos guardados actualmente para cada fotografía son:    

Coordenadas del GPS (Latitud y Longitud). Actitud del avión (yaw, pitch y roll, la rotación del avión en los tres ejes de navegación). Altitud del avión. Distancia Focal de la cámara.

Para verificar que el método de adquisición y corrección propuesto fuera correcto en un ambiente controlado, el primer paso fue realizar una simulación del proceso de adquisición de imágenes. Para ello, sobre una imagen del satélite IKONOS se realizó la simulación del proceso de adquisición de imágenes en vuelo con condiciones específicas, capturando las fotografías a intervalos irregulares. A cada una de ellas se le asignaron valores simulados (siguiendo un criterio realista) de (yaw, pitch y roll), así como también de altura de vuelo del avión. La distancia focal se consideró fija para cada simulación de vuelo (pues esta distancia puede fijarse utilizando cualquier lente particular, o un seteado por software de la cámara). De esta manera, dada una posición (x,y), los tres ángulos de navegación del avión (yaw α, pitch β y roll γ), su altitud, y la distancia focal de la cámara, puede obtenerse el sector de terreno tomado por una fotografía en el vuelo simulado, utilizando la siguiente matriz de transformación para cada imagen:

Durante el mencionado proceso de validación, se comprobó que el resultado sea coherente visualmente, y que el error RMS (root-mean-square) fuera bajo. Generación de mosaicos Una vez que los resultados en ambientes controlados fueron satisfactorios, se procedió a trabajar con imágenes obtenidas directamente de los vuelos autopilotados. A cada fotografía tomada, se le aplicó la matriz de transformación correspondiente a los datos de navegación del avión (y un escalado según la altura de vuelo), y a partir del conjunto de imágenes trapezoidales, se procedió a generar el mosaico. Utilizando una posición base de cada imagen (que se determina a partir de su posición GPS transformada utilizando la misma matriz de transformación que para la perspectiva), se dispone de un mosaico preliminar. Este mosaico contiene todas las imágenes tomadas con su perspectiva corregida y posicionadas en el lugar adecuado. Sin embargo, las imperfecciones de los instrumentos de muestreo de inclinación del avión y del GPS hacen que todas estas transformaciones no sean óptimas, y otros problemas como la diferencia de exposición, el movimiento de objetos, y el paralaje hacen que el mosaico preliminar necesite postprocesamiento. En nuestro trabajo, tras la transformación de todas las imágenes según la telemetría del avión, se procede a generar un grafo de dependencias en el que se conectan las imágenes que tienen zonas de intersección (determinadas según el trapecio delimitante del terreno que ocupan). Una vez que se conoce la intersección entre imágenes, se realiza un ajuste fino entre cada una de las conectadas. Para comenzar, se detectan los característicos en cada una de ellas, utilizando el algoritmo de SURF (Speeded-Up Robust Features). Tradicionalmente, el matching entre dichos característicos se realiza utilizando FLANN (Fast Approximate Nearest Neighbor Search Library) y RANSAC (Random sample consensus) para eliminar outliers. Sin embargo, dada la relativamente baja intersección que pueden tener las imágenes, este método demostró no ser robusto en nuestras pruebas. En su lugar, desarrollamos nuestro propio método de filtrado y apareamiento de característicos, sabiendo que todas las imágenes ya se encontraban con la perspectiva corregida y orientadas en la misma dirección geográfica (pues este paso es posterior a la aplicación de las matrices de transformación creadas a partir de la telemetría). Naturalmente, ésto no podría realizarse sin contar con los datos de telemetría del avión (y es una gran ventaja respecto al software comercial disponible). Dado el match de los característicos entre imágenes con intersecciones, se encuentra una segunda homografía de ajuste fino entre sí. Tras reajustar la perspectiva nuevamente, y encontrar las zonas exactas de intersección, se procede a la etapa de blending. Para realizar el blending entre las imágenes se utiliza el algoritmo standard de variación de opacidad en las capas: dada la opacidad f de dos píxels en la posición x, se varía la intensidad de cada una con pesos α de 0 a 1 a lo largo de cada línea de la intersección de las fotografías.

Sin embargo, a diferencia del algoritmo tradicional, el scanline de nuestro algoritmo se define a partir del vector de movimiento en el plano terrestre entre las fotografías, y además la variación de pesos es condicional de acuerdo a los extremos del scanline. Esto genera resultados mucho más robustos que los del blending tradicional.

Figura 2: mosaico obtenido al procesar un vuelo de quince imágenes.

Aplicaciones Describimos a continuación y de manera muy sucinta las aplicaciones principales a las que se orienta nuestro proyecto. Agro Existe una creciente bibliografía que reseña el uso de sistemas informatizados para el apoyo de la gestión agropecuaria, en lo que se conoce como AgroTICs. En países como la India, la aplicación de estas tecnologías es política de estado. El impacto de los resultados del proyecto en este contexto son inmediatos, ya que permitirían servir de apoyo para determinar información crítica en este tipo de explotaciones como por ejemplo características del suelo, rindes, estado madurativo, control de plagas y malezas. Industria pesquera El uso de imágenes satelitales y aéreas, más sensores oceanográficos, en conjunto con la información ictícola adecuada recabada de organismos oficiales y de los propios pescadores,

permitiría determinar los lugares y épocas más adecuados para la explotación pesquera, además de controlar las depredaciones y prevenir manejos incorrectos. Otra opción prevista es la instalación de cámaras y equipos de monitoreo en las propias embarcaciones y aún en las diferentes artes de pesca a fin de recabar información de los parámetros oceanográficos simultáneamente con la realización de la captura pesquera. Minería El uso de sensores multiespectrales e hiperespectrales en UAVs posibilita por un lado la identificación de potenciales yacimientos basados en la distribución superficial de elementos trazas y, por otro, el control de la contaminación en explotaciones mineras, así como el impacto ambiental en general, a una fracción del costo requerido para igual monitoreo por medios terrestres. Turismo Es cada vez más creciente el uso de tecnologías de captura y streaming de imágenes, audio y video en tiempo real a través de la web para el turismo virtual. En Argentina existen empresas de turismo virtual que brindan este servicio en forma internacional. Las posibilidades tecnológicas de enriquecer la toma en tiempo real de imágenes, junto con los sistemas del tipo virtual globe como el Google Earth, son prácticamente ilimitadas. Estudios en ecología e impacto ambiental El uso de imágenes satelitales, posiblemente en conjunción con otros sensores, ha permitido monitorear el impacto ambiental en las condiciones más diversas. Situaciones como las de la contaminación del estuario de Bahía Blanca y su impacto en la pesca artesanal, o la contaminación del río Uruguay por parte de las pasteras, se pueden dirimir de manera concluyente empleando tecnologías como las que se busca desarrollar en este proyecto. Para ello se consideran relevamientos aéreos combinados con estaciones de monitoreo automático y muestreos simultáneos con los vuelos que permitan calibrar las imágenes. Monitoreo de desastres ambientales La tecnología de sensado remoto, específicamente imágenes aéreas o satelitales, ha permitido elaborar la pronta respuesta frente a situaciones de desastre ambiental o ecológico. La estimación de la pluma de dispersión de derrames industriales o de petróleo puede ser eficazmente determinada a través de relevamientos aéreos especialmente con UAVs dado que su costo operativo y movilidad le da una amplia ventaja sobre vuelos convencionales y sobre las imágenes satelitales. Cuando estos relevamientos se complementan con modelos hidrodinámicos y de dispersión de contaminantes permiten una rápida evaluación de la pluma y establecer las estrategias de control con adecuada anticipación para evitar desastre de mayor envergadura. Ordenamiento territorial Las consideraciones de ordenamiento territorial incluyen relevamientos catastrales tanto urbanos como rurales como así también estudios sobre problemas de desertificación, manejo de cursos de agua y fluviales, control de erosión de playas, acantilados, etc. Todos estos relevamientos, dado el bajo costo operativo, permiten que puedan ser repetidos con bajas periodicidades (p.e., anualmente o mensualmente según el caso) planteando no solo el concepto de verificación de lo existente sino la idea de monitoreo para establecer la evolución del territorio analizado.