Documentos de Académico
Documentos de Profesional
Documentos de Cultura
ARTICULO EH JMVF
ARTICULO EH JMVF
ehhurtadoc@correo.udistrital.edu.co , rmedina@udistrital.edu.co
1. Introducción
En procesamiento de imágenes, una imagen pancromática, es aquella que
generalmente contiene un par de cientos de nanómetros de ancho de banda, el cual
permite mantener un alto ruido de señal, lo que hace que los datos pancromáticos
estén disponibles con una alta resolución espacial. Estas imágenes se pueden
recopilar con una resolución más alta, ya que el rango espectral permite que los
detectores más pequeños se utilicen mientras se mantiene la alta relación señal-
ruido (https://eos.com/panchromatic/). A diferencia de la imagen pancromática,
una imagen multiespectral se compone de varias bandas generalmente
correlacionadas de diferentes longitudes de onda, pero con una calidad espacial
menor que la pancromática. Así, en una imagen pancromática de alta resolución
espacial (PAN), las características geométricas generales pueden identificarse sin
esfuerzo, mientras que las imágenes multiespectrales (MS) incorporan información
espectral más próspera. Las capacidades de las imágenes pueden mejorarse si los
beneficios de una alta resolución espacial y espectral juntas se pueden combinar en
una sola imagen (Shi, 2011) (Jagadeesh, 2018). Por lo tanto, las estructuras
integrales de una imagen tan cohesiva pueden reconocerse básicamente y ayudarán
a numerosas aplicaciones, por ejemplo, estudios urbanísticos y ambientales. Es por
esto, que diversos métodos de fusión se han desarrollado, tales como la
transformación RGB a IHS, Brovey, Multiplicación, Componentes principales, A
Trous, entre otros.
Por otra parte, Google Earth Engine (GEE) es una herramienta que provee un
entorno web y un API (Interfaz de programación de aplicaciones) en JavaScript y
Python para el procesamiento de imágenes satelitales en diferentes bandas,
coordenadas e instantes de tiempo, que son proveídas por la NASA y la UGSG a partir
de los sensores de varios de sus satélites, entre ellos Landsat 8. Así entonces, este
trabajo se centra en tres aspectos principales. El primero es una introducción
matemática de la transformada RGB-HSV. El segundo se encarga de la
implementación de la metodología para la fusión de imágenes satelitales usando
Transformada RGB-HSV, con las herramientas GEE y Matlab. El tercero hace
referencia a la comprobación del rendimiento de las implementaciones y su
evaluación cualitativa, que se realiza con cuatro índices, específicamente, el
coeficiente de correlación, el índice RASE, el índice ERGAS, y el índice de calidad
universal Q.
2. Google Earth Engine
Google Earth Engine (GEE) es una plataforma en desarrollo basada en la nube que
brinda acceso a petabytes de datos de imágenes satelitales para el análisis a escala
planetaria. La combinación de esta enorme base de datos con el poder de cómputo
paralelo de la infraestructura de Google facilita el análisis rápido y sencillo de
imágenes de satélite a cualquier escala, lo que abre nuevas vías para la investigación
en varios campos (Liss et al., 2017). Además, provee una biblioteca de interfaces de
programación de aplicaciones (API) con entornos de desarrollo que admiten
lenguajes de codificación como JavaScript y Python. Estas características permiten
a los usuarios descubrir, analizar y visualizar Big Data geoespacial de formas
poderosas sin necesidad de acceso a supercomputadoras o experiencia en
codificación especializada (Tamiminia et al., 2020). Además, GEE brinda
herramientas analíticas (similares a otros softwares de geoprocesamiento como
ArcGIS) para investigar y manipular imágenes satelitales, y los usuarios también
tienen la libertad de crear scripts personalizados específicos para preguntas de
investigación específicas. GEE y su catálogo de datos son accesibles para los usuarios
aprobados a través de dos plataformas basadas en la web y sus API. Las herramientas
web son GEE Explorer (el cual permite al usuario ver y analizar imágenes de satélite
con un conjunto limitado de herramientas incluidas) y Code Editor que permite a los
usuarios personalizar completamente el análisis deseado mediante la programación
en código JavaScript. Sus API son proporcionadas en JavaScript o Python mediante
bibliotecas de código abierto. GEE proporciona cientos de operaciones matemáticas
y espaciales que se pueden realizar en imágenes usando el Code Editor o las API,
entre ellos, la posibilidad de seleccionar un conjunto de imágenes del satélite
Landsat y filtrarlos por un rango de fechas, seleccionar la imagen con menor
nubosidad, seleccionar diferentes bandas, hacer correlaciones, entre otros. Así, las
dos estructuras de datos geográficos más fundamentales en GEE son Image
(Imagen) y Feature (Característica) correspondientes a tipos de datos ráster y
vectoriales, respectivamente. Las imágenes están compuestas por bandas y un
diccionario de propiedades, mientras que las características se componen de una
geometría y un diccionario de propiedades. Una pila de imágenes (por ejemplo, una
serie temporal de imágenes) es manejada por ImageCollection mientras que una
colección de características es manejada por FeatureCollection. Otras estructuras de
datos fundamentales en GEE incluyen Diccionario, Lista, Matriz, Fecha, Número y
Cadena (https://developers.google.com/earth-engine/guides/getstarted). Además,
es posible a algunos objetos (como Image) aplicar métodos y algoritmos, como
agregar y concatenar bandas, seleccionar una imagen de una colección o actualizar
una máscara. En las siguientes secciones se describirá sucintamente la herramienta
y algunos objetos y métodos usados.
2.1 Code Editor
El editor de código es una herramienta web que ofrece la posibilidad de explorar las
imágenes de forma visual, así como de hacer consultas y transformaciones mediante
código que puede ser desarrollado por el usuario o ejemplos proporcionados por la
misma interfaz.
2.3 Geometry
GEE maneja datos vectoriales con el tipo Geometry. La especificación GeoJSON
describe en detalle el tipo de geometrías admitidas por GEE, incluyendo Point (una
lista de coordenadas en alguna proyección), LineString (una lista de puntos),
LinearRing (una LineString cerrada) y Polygon (una lista de LinearRings donde el
primero es una concha y los anillos subsiguientes son agujeros). GEE también es
compatible con MultiPoint, MultiLineString y MultiPolygon. GeoJSON
GeometryCollection también es compatible, aunque tiene el nombre MultiGeometry
dentro de GEE. Es posible crear una geometría mediante las herramientas de
geometría del Code Editor o pasando las coordenadas como argumento.
2.5 Capas
Para visualizar los datos geográficos, GEE proporciona el objeto método addLayer
sobre el objeto Map, el cual, al ser agregado sin ningún parámetro especial, asigna
las 3 primeras bandas a rojo, verde y azul respectivamente. El estiramiento
predeterminado se basa en el tipo de datos de la banda (por ejemplo, los flotantes se
extienden en [0,1], los datos de 16 bits se extienden al rango completo de valores
posibles), lo que puede ser adecuado o no. Para lograr efectos de visualización
deseables, puede proporcionar parámetros de visualización a Map.addLayer().
600 r − g + 2400 , si max = b
max − min
El valor de h generalmente se normaliza para estar entre 0 y 360 °. Y h = 0 se usa
cuando max = min (definido como gris) en lugar de dejar h indefinido.
0 0 si max = 0
s = max − min min (2)
max = 1 − max , otros casos
v = max (3)
4. Materiales y Métodos
La fusión se realiza con una imagen Landsat 8 OLI – TIRS, verdadero color
(composición RGB) y una imagen pancromática del mismo sensor. La imagen
pancromática sirve como referencia de la resolución espacial de mayor detalle. La
implementación se realiza tanto usando GEE y Matlab.
Matlab (MATrix LABoratory) es un sistema de cómputo numérico que ofrece un
entorno de desarrollo integrado con un lenguaje de programación propio. El paquete
Matlab dispone de dos herramientas adicionales que expanden sus prestaciones, a
saber, Simulink (plataforma de simulación multidominio) y GUIDE (editor de
interfaces de usuario - GUI).
Por otra parte, GEE provee dos API para el procesamiento de sus imágenes, una en
Python (la cual es usada para un trabajo local, es un poco más limitada en cuanto a
sus funciones proporcionadas por GEE pero que puede ser muy poderosa combinada
con las bibliotecas en el entorno local), y la otra en JavaScript (la cual posee tanto
una biblioteca alojada en GitHub como su IDE basado en la Web y es mucho más
poderoso porque usa el poder de cómputo de Google). Esta última es la que será
usada dado que la idea es hacer la fusión con las herramientas que provee
directamente Google
a) b)
Figura 2 – a) Sub imagen MULTI y b) sub imagen PAN de tamaño 4096x4096.
h 1
( RMSE
N Bandas ( Banda ))
i 2
Espectral
ERGAS Espectral = 100 (2)
l N Bandas i =1 ( MULTI )
i 2
Donde h y l representan la resolución espacial de las imágenes PAN y MULTI ;
i
NBandas es el número de bandas de la imagen fusionada; MULTI es el valor de la
radiancia de la banda i − ésima de imagen MULTI (Wald, 2000) y RMSE será
definida como sigue (3):
i 1 NP i i 2
RMSEEspectral ( Banda ) = ( MULTI ( j ) − FUS ( j )) (3)
NP i =1
i
Siendo NP el número de píxeles de la imagen FUS ( x, y ) . Adicionalmente, Lillo y
su equipo (2005) proponen otro índice, denominado ERGAS Espacial que está
inspirado en el índice ERGAS espectral (Lillo-Saavedra, Gonzalo, Arquero, &
Martinez, 2005). El objetivo del índice ERGAS Espacial es evaluar la calidad espacial
de las imágenes fusionadas, por lo que se define como (4):
h 1
( RMSE
N Bandas ( Banda ))
i 2
Espacial
ERGAS Espacial = 100 (4)
l N Bandas i =1 ( PAN )
i 2
Donde RMSEEspacial es definido como sigue en la ecuación 5:
i 1 NP i i 2
RMSE Espacial ( Banda ) = ( PAN ( j ) − FUS ( j )) (5)
NP i =1
Los mejores resultados de éstos índices (ERGAS espacial y espectral) se obtienen
cuando es más cercano a cero.
3. Índice RASE
El índice RASE se expresa como un porcentaje (ecuación 6):
1 n ( RMSE ( Bi ))
2
h
RASE = 100 2 (6)
l N i =1
Mi
Los mejores valores de este índice se obtienen cuando el valor es más cercano a uno.
(a) (b)
(c) (d)
Figura 4 – a) Detalle de la sub-Imagen MULTI, b) Detalle de la sub-Imagen PAN, c) sub-
imagen fusiona con RGB-HSV implementada en GEE, d) sub-imagen fusiona con RGB-HSV
implementada en Matlab.
a) b)
c) d)
0.947 vs 0.924) como en la corr Espectral (R= 0.975 vs 0.963, G= 0.968 vs 0.951, y
B= 0.951 vs 0.924), las diferencias de los valores obtenidas varían como máximo en
0.011, tanto espacial como espectralmente.
En la tabla 2 se muestran los resultados obtenidos usando los índices RASE; ERGAS
espectral; y el índice de calidad universal Q.
Tabla 2 – Evaluación de la calidad de la imagen fusionada Landsat-8 a través de los índices
ERGAS Espectral, ERGAS Espectral, RASE, y de Calidad Universal Q espectral.
6. Conclusiones
Las investigaciones realizadas anteriormente han demostrado que los métodos de
fusión de imágenes basados en la Transformada RGB-HSV son adecuados para la
fusión de imágenes dentro de los métodos convencionales. La implementación
propuesta del desarrollo matemático de la RGB-HSV permitió la fusión de imágenes
satelitales Landsat 8 OLI. Los resultados obtenidos del análisis cualitativo y
cuantitativo demuestran que los mejores resultados de la imagen fusionada de
imágenes usando la RGB-HSV se obtiene con la implementación en Matlab que
visualmente ofrece mejores resultados que la implementación en Google Earth
Engine, cuantitativamente los valores de los índices corr, ERGAS, RASE y Q son altos
y similares tanto espacial como espectralmente.
La metodología propuesta permite obtener imágenes fusionadas que ofrecen a los
usuarios información detallada sobre los entornos urbanos y rurales, lo cual es útil
para aplicaciones como la planificación y la gestión urbana. Su utilidad se extiende
al desarrollo de proyectos en diversos campos como agricultura, hidrología,
medioambiente y gestión de emergencias producidas por catástrofes naturales
(inundaciones, incendios forestales), entre otros.
Referencias
Lillo-Saavedra, M. Gonzalo, C. Arquero, A. and Martinez, E. (2005). Fusion of
multispectral and panchromatic satellite sensor imagery based on tailored
filtering in the Fourier domain. International Journal of Remote Sensing. Vol.
26, pp. 1263-1268.
Liss, B., Howland, M. D., & Levy, T. E. (2017). Testing Google Earth Engine for the
automatic identification and vectorization of archaeological features: A case
study from Faynan, Jordan. Journal of Archaeological Science: Reports, 15, 299-
304. doi:10.1016/j.jasrep.2017.08.013
Jagadeesh, P. S., Huan, T. L. Li, X. Yuan, Y. (2018, Panchromatic and Multispectral
Remote Sensing Image Fusion Using Machine Learning for Classifying Bucolic
and Farming Region). Int. J. of Computational Science and Engineering, Vol. 15,
No. 5/6,
Medina, J. Pinilla, C. Joyanes, L. (2013). Aplicativo Web para la Fusión de Imágenes
Satelitales, RISTI - Revista Ibérica de Sistemas e Tecnologias de Informação,
N.º 11, 06
Shi, A. (2011). Multispectral and panchromatic image fusion based on improved
bilateral filter. Journal of Applied Remote Sensing, 5(1), 053542.
doi:10.1117/1.3616010
Tamiminia, H., Salehi, B., Mahdianpari, M., Quackenbush, L., Adeli, S., & Brisco, B.
(2020). Google Earth Engine for geo-big data applications: A meta-analysis and
systematic review. ISPRS Journal of Photogrammetry and Remote Sensing, 164,
152-170. doi:10.1016/j.isprsjprs.2020.04.001
Vivone, G., Alparone, L., Chanussot, J., Dalla Mura, M., Garzelli, A., Licciardi, G.A.,
Restaino, R. and Wald, L., (2015). A critical comparison among pansharpening
algorithms. Geoscience and Remote Sensing, IEEE Transactions on, 53(5), pp.
2565-2586.
Wald, L. (2000). Quality of high resolution synthesized images: is there a simple
criterion?, Proceedings of the third conference “Fusion of Earth data: merging
point measurements, raster maps and remotely sensed image”, pp. 26-28.
Wald, L. (2002). Data Fusion, Definition and Architectures: “Fusion of Image of
Different Spatial Resolution,” Paris: Le Presses de l’École des Mines. 198p.
Wang, Z. Bovink, A. C. (2002). A Universal Image Quality Index. IEEE Signal
Processing Letters, vol. XX, no Y.