Está en la página 1de 9

Universidad de San Carlos de Guatemala

Facultad de ingeniería
Escuela de Estudios de Postgrado
Maestría en Geomática

Portafolio 3: Clasificación no supervisada de imágenes

Grupo No.2:

Douglas Ferdy Ronaldo Castillo López


Carlos Humberto Tobar Palacios
José Armando Serrano Moto
CASO DE ESTUDIO: ANÁLISIS DE COBERTURA Y USO DE LA TIERRA A NIVEL MUNICIPAL

1. Objetivos

General
● Analizar la cobertura y uso de suelo obtenida a través de clasificación no supervisada.

Específicos

● Efectuar de forma práctica una clasificación de imágenes satelitales.


● Determinar a través de las firmas espectrales la designación de las clases de cobertura y uso de
suelo.
● Analizar la similitud de las clases obtenidas a partir de la clasificación.

2. Selección del sensor y bandas espectrales

Para la realización de la clasificación se utilizaron imágenes de la misión Sentinel 2 (sensor MSI), imágenes
que proporcionan características como alta resolución espacial, temporal, espectral y radiométrica, que son
ideales para fines de clasificación y monitoreo terrestre. Se escogieron productos con un nivel de
procesamiento L2A, que ya incorporan correcciones atmosféricas. Inicialmente se generó un mosaico para
el período comprendido entre el 01/01/2021 y el 01/04/2021, se calculó la mediana de cada pixel,
obteniéndose una imagen sin nubes. El detalle de las bandas disponibles para el sensor se muestra en la
tabla siguiente

Tabla 1: Bandas de imagen sensor MSI, Sentinel 2


Banda Longitud de onda (µm) Resolución

Banda 1 (Aerosol) 0.43 -0.45 60

Banda 2 (Azul) 0.45 - 0.52 10

Banda 3 (Verde) 0.54 - 0.57 10

Banda 4 (Rojo) 0.65 - 0.68 10

Banda 5 (Red-edge 1) 0.69 - 0.71 20

Banda 6 (Red-ege 2) 0.73 - 0.74 20

Banda 7 (Red-edge 3) 0.77 - 0.79 20

Banda 8 (Infrarrojo cercano - NIR1) 0.78 - 0.90 10

Banda 8 A(Infrarrojo cercano - NIR2) 0.85 - 0.87 20

Banda 9 (Vapor de agua) 0.93 -0.95 60

Banda 10 (Cirros) 1.36 - 1.39 60

Banda 11 (Infrarrojo onda corta - SWIR1) 1.56 -1.65 20

Banda 12 (Infrarrojo onda corta - SWIR2) 2.10 - 2.28 20

1
Las bandas utilizadas para la clasificación se escogieron en función de las clases esperadas, de la
siguiente manera.

Clase o característica Bandas que aportan información

Vegetación 'B11', 'B8', 'B4'.

Zona antrópica o uso urbano 'B12', 'B1', 'B4'.

Bosque 'B8', 'B4', 'B3'.

Suelo desnudo 'B12', 'B1', 'B4'.

3. Descripción del método

3.1. Algoritmo

Se utilizó el algoritmo de clusterización K-means para efectuar la clasificación, este método requiere como
mínimo especificar el número de clases en las que se requiere clasificar la imagen. El algoritmo tiene por
objetivo determinar áreas o clusters con características similares, en el caso de la clasificación de imágenes
esto se traduce a firmas espectrales similares. Una ventaja de utilizar un algoritmo de clusterización es que
es una clasificación basada en objetos, por lo que a comparación de los algoritmos basados en píxeles, se
obtiene información con menos ruido, ya que los clusters tienen cierto tamaño mínimo.

El método K-means analiza la distribución de los datos en el espacio de características o las dimensiones
de la información, posteriormente calcula aleatoriamente la ubicación de la cantidad de puntos determinada
por la cantidad de clusters deseados. Luego asigna grupos de puntos según su cercanía a los puntos
definidos aleatoriamente, una vez asignados los grupos a cada uno de los puntos se calcula el centroide de
cada grupo y se repite el proceso de asignación de grupos según cercanía al centroide más próximo. El
proceso se repite la cantidad de iteraciones necesarias para alcanzar minimizar el error en función de las
distancias entre los centroides calculados en cada iteración.

La implementación de este algoritmo se realizó en la plataforma Google Earth Engine, se adjunta el enlace
al código utilizado en anexos.

3.2. Clases a utilizar

Para la clasificación realizada se utilizaron 4 clases, tomando en cuenta las características del área a
clasificar. Debido a la naturaleza del método de clasificación no supervisada, no se conoce a priori la
distribución de clases con exactitud, por lo que una vez obtenida la imagen clasificada se procederá a
analizar a través de interpretación visual y de las firmas espectrales de las clases la asignación de clases.

4. Resultados

Propuesta: Analizar la precisión de la clasificación realizada, también colocar una tabla con las áreas por
cada clase empleada.

2
Aprovechando la capacidad de cómputo para el análisis de datos se utilizó un algoritmo k-means que utiliza
el aprendizaje de máquina o machine learning a partir de grupos de muestras para realizar una clasificación
de imágenes satelitales con un alto nivel de precisión y su implementación no es muy complicada, lo que lo
hace una herramienta muy popular en este ámbito.

Entre los tipos de cobertura de suelo que se clasificaron en la zona de análisis podemos mencionar las
siguientes: agroforestal, agrosilvopastoril, y áreas urbanas y áreas de bosque cerrado. Los resultados
pueden observarse en la tabla adjunta:

No. Clase o característica Área (hectáreas)

0 Agroforestal 4456.9824 ha

1 Agrosilvopastoril 2292.3654 ha

2 Urbano 1925.6450 ha

3 Bosque Cerrado 2827.2694 ha

Con base en los resultados anteriores podemos decir que la clase o zona predominante en el municipio es
el área agroforestal como puede observarse en la imagen clasificada, este tipo de zona es de alta
importancia debido a los cultivos que se dan en el municipio, seguido se tienen zonas agrosilvopastoriles
que también tienen importancias por su explotación económica, fundamental para el municipio. El área
urbana cuenta con 1925 hectáreas de superficie lo que coincide con el creciente desarrollo de áreas
residenciales; si sería importante reevaluar a futuro el comportamiento de este tipo de zonas
comparándolas con las áreas forestales. Actualmente el municipio cuenta con 2827.26 hectáreas de área
forestal, coincidiendo con la imagen clasificada.

Firmas Espectrales:

Agroforestales

En la gráfica se puede observar que las zonas agroforestales son más sensibles para las longitudes de
onda de infrarrojo cercano.

3
Agrosilvopastoril

Las zonas agrosilvopastoriles tienen cierta similitud con las zonas agroforestales, en este caso predomina
la reflectancia en las longitudes de banda de Red-edge-3 a NIR-1.

Urbano

La firma espectral de las zonas antrópicas o urbanas muestra que el máximo de sensibilidad a la radiación
se da entre las longitudes de onda de infrarrojo de onda corta.

4
Bosque cerrado

En esta zona se observa que la reflectancia varía entre las longitudes de onda de infrarrojo cercano NIR-2.

5. Conclusiones

● Los métodos de clasificación no supervisada permiten analizar las imágenes aun sin contar con
conocimientos del área.
● Se observa que la definición de clases no puede ser la óptima, puesto que únicamente se indica el
número de clases a utilizar, pero puede ser que la estructura que se tenga en mente no coincida con
la de la clasificación obtenida.
● Computacionalmente se observó que la implementación de un algoritmo de clasificación no
supervisada se procesa más rápido en comparación que una de tipo supervisado.
● Una desventaja del algoritmo utilizado es que cuando se utilizan muchas clases para la clasificación
y existe mucha similitud en la firma espectral de las clases es difícil distinguir de forma visual estas
diferencias.
● Una clasificación supervisada es una gran herramienta para hacer un análisis preliminar.

6. Fuentes consultadas

Usman, B. (2013). Satellite Imagery Land Cover Classification using K-Means Clustering Algorithm
Computer Vision for Environmental Information Extraction. Computer Science and Engineering,
18671-18675.

Reyna, L., & Gossweiler, B. (2011). Segmentación y clasificación de imágenes satelitales para determinar
la cobertura del suelo. La Técnica: Revista de las Agrociencias. ISSN 2477–8982, 4, 38.
https://doi.org/10.33936/la_tecnica.v0i4.663

5
Anexos

Código Google earth engine. (necesario iniciar sesión con una cuenta de google earth engine activa)

https://code.earthengine.google.com/?scriptPath=users%2Fdouglasferdycl%2FAlgoritmos_basicos%3AClas
ificacionNS

var filter = ee.Filter.inList('MUNICIPIO', ['Fraijanes']);


var fraijanes = municipios.filter(filter);

/**
* Función para enmascarar los pixeles que representan nubes
*/
function maskS2clouds(image) {
var qa = image.select('QA60');

// Cirrus.
var cloudBitMask = 1 << 10;
var cirrusBitMask = 1 << 11;

// Aplicación de máscara
var mask = qa.bitwiseAnd(cloudBitMask).eq(0)
.and(qa.bitwiseAnd(cirrusBitMask).eq(0));

return image.updateMask(mask).divide(10000);
}

//Máscara mejorada para nubes que no sean tipo Cirro


//Fuente:https://custom-scripts.sentinel-hub.com/custom-scripts/sentinel-2/cby_cloud_
detection/
function cloud_mask(image) {
var NDGR = image.normalizedDifference(['B3','B4']);

//Umbral detección (B03>0.175∧NDGR>0)∨B03>0.39


var threshold =
((image.select('B3').gt(0.175)).and(NDGR.gt(0))).or(image.select('B3').gt(0.39)).and(
image.select('B11').gt(0.1));
var cloud_msk = threshold.not()

return image.updateMask(cloud_msk)
}

// Función para extraer una colección de imágenes para el período indicado y sacar la
mediana
// Se cargan imagenes de Sentinel 2 Nivel L2A (Reflectancia de superficie)

6
// Se obtiene una imagen sin nubes
var imagenes = ee.ImageCollection('COPERNICUS/S2_SR')
.filterDate('2021-01-01', '2021-04-01')
.filterBounds(ROI)
// Pre-filter to get less cloudy granules.
.filter(ee.Filter.lt('CLOUDY_PIXEL_PERCENTAGE', 20))
.map(maskS2clouds).map(cloud_mask).median();

// Definición de bandas para la clasificación


var TrainingBands = ['B2', 'B3', 'B4', 'B5', 'B6', 'B7', 'B8','B8A', 'B11', 'B12'];

//Entrenamiento con información de prueba


var input = imagenes.select(TrainingBands);
// Define a region in which to generate a sample of the input.
var region = fraijanes;

// Centrar la vista en el área de interés


Map.setCenter(-90.44604802442406,14.469038942139576, 11.5);
Map.addLayer(ee.Image().paint(region, 0, 2), {}, 'region');

// Definición de entrenamiento del algoritmo de clusterización


var training = input.sample({
region: region,
scale: 10,
tileScale:4,
numPixels: 5000
});

// Entrenamiento del algoritmo


var clusterer = ee.Clusterer.wekaKMeans(5).train(training);

// Clusterización de la imagen a partir de los parámetros definidos


var result = input.cluster(clusterer);

// parámetros de visualización para imagen rgb de sentinel 2


var rgbVis = {
min: 0.0,
max: 0.3,
bands: ['B4', 'B3', 'B2'],
};

// Mostrar la imagen the clusters con colores aleatorios, la imagen RGB y el límite
de Fraijanes
Map.addLayer(input, rgbVis, 'RGB');

7
Map.addLayer(result.randomVisualizer(),{}, 'clusters');
Map.addLayer(fraijanes, {}, 'Fraijanes');

// Exportar la imagen para descarga


Export.image.toDrive({
image: result,
description: 'Fraijanes',
scale: 20,
region: fraijanes,
maxPixels: 123283900
});

También podría gustarte