____________________________________________________________
GUIA PARA LA CLASIFICACION DE LAS IMÁGENES LANDSAT USANDO ARBOLES DE DESICION
2014
1
ÍNDICE
# pagina
1. ORDENANDO LOS DATOS
3
2. APERTURA DE LAS IMÁGENES LANDSAT y DEM
4
3. CLASIFICACION POR ARBOL DE DESICIONES
5
3.1. VARIABLES Y EXPRESIONES DE ARBOLES DE DECISIONES
6
3.2. HERRAMIENTAS ESPECIALES
7
4. CONSTRUYENDO UN NUEVO ARBOL DE DECISION
8
2
1. ORDENANDO LOS DATOS Para el desarrollo de la siguiente guía se usara el software ENVI 4.7, y se utilizara para los ejemplos, una imagen del sensor TM (LANDSAT 5) y una imagen altimétrica (DEM), ambas imágenes vienen por default, al momento de instalar el software, en la siguiente dirección: C:\Program Files (x86)\ITT\IDL71\products\envi47\data\. Encontramos en esta dirección las imágenes con su respectiva extensión .hdr , estas son las siguientes: IMAGEN LANDSAT-5: bhtmref.img y DEM: bhdemsub.img (Ver Figura 1)
Figura 1. Ubicación de los insumos a utilizarse (imagen Landsat-5 y DEM)
Antes de comenzar es recomendable crear una carpeta en el disco C o D con el nombre, por ejemplo: “ARBOL_DESICION”, dentro de esta carpeta cree dos subcarpetas uno con nombre de “INSUMOS” y otro con el nombre de “PRODUCTOS”, en la carpeta “INSUMOS” guarde la imagen landsat y el DEM, con sus respectivas extensiones .hdr, que serán los insumos que utilizaremos a lo largo de esta guía. (Ver Figura 2)
Figura 2. Ubicación de las subcarpetas “INSUMOS” y ”PRODUCTOS” . 3
2. APERTURA DE LAS IMÁGENES LANDSAT Y DEM De la barra del menú principal de ENVI, seleccionar: File Open Image File. Luego aparecerá una ventana con el nombre de “Enter Data Filenames”, ubique la carpeta “INSUMOS” y seleccione los archivos: bhtmref y bhdemsub presionando la tecla CTRL para seleccionar ambas. En la ventana “Available Bands List” aparecerá en la pantalla las 7 bandas separadas en dos archivos, el primer archivo contiene la banda 6 (cada banda contiene sus respectivas longitudes de onda central como se muestra en la FIGURA 3) y el segundo archivo contiene una sola banda (DEM), con valores de elevación, Ver figura 3.
Figura 3. Available Bands List, bandas del landsat-5 y DEM.
NOTA: al abrir el DEM y la imagen (por ejemplo en combinación RGB: 543), el tamaño de ambas escenas serán diferentes, sobre esto no hay ningún problema en principio, puesto que están georreferenciadas, por lo tanto al producto final las podemos recortar al tamaño deseado, pero si se cree necesario podría recortar ambas escenas y darle las mismas dimensiones que usted desee, y trabajar de un comienzo a sí.
4
Figura 4. Imagen Landsat-5 y DEM (insumos).
3. CLASIFICACION POR ARBOL DE DESICIONES Los árboles de decisión es una herramienta que nos permite generar clasificaciones de distintos tipos, por ejemplo, clasificar cuerpos de agua y llamarles clasificación 1, luego cobertura vegetal y llamarle clasificación 2 etc., en este caso de la superficie terrestre, y obtener a si la clases que nos interese. El provecho que se le puede sacar depende de la imaginación del usuario para crear un árbol que se ajuste a sus necesidades. La herramienta se basa en la lógica básica, todos los datos entran en un nodo (el nodo se puede asociar a la madre, donde aquí se genera las condiciones matemáticas de los datos) el cual tiene una condición lógica, si los datos la cumplen pasan a un “hijo” y si no a otro, los hijos pueden convertirse a su vez en otros nodos que pongan alguna condición para los datos que entran en él.
5
NODOS
HIJOS
Figura 5. Esqueleto de un árbol de decisiones. 3.1.
VARIABLES Y EXPRESIONES DE ARBOLES DE DECISIONES
Categoría Aritmética básica
Funciones disponibles Suma (+), sustracción (-), multiplicación (*) y división (/) SIN(x), COS(x) y TAN(x)
Funciones trigonométricas
ARC - aSIN(x), aCOS(x) y aTAN(x) HIPERBOLICA – SINH(x), COSH(x) y TANH(x) LT(menor que), LE(menor o igual), EQ(igual),
Operaciones lógicas y relacionales
NE(no igual), GE(mayor o igual), GT(mayor que) AND, OR, NOT, XOR Máximo (>) y mínimo (<) Exponente (^) Logaritmo natural - alog(x)
Otras funciones matemáticas
Logaritmo en base 10 - alog10(x) Redondeo a un numero entero - round(x), ceit(x) Raíz cuadrada – sqrt(x) Valor absoluto – abs(x)
6
3.2.
HERRAMIENTAS ESPECIALES
{slope} - Calcula la pendiente desde un DEM. {aspect} - Calcula el aspecto (hacia donde mira) desde un DEM. {ndvi} - Calcula el Índice de Vegetación desde un archivo multiespectral. {tascap[n]} – Transformaciones tesseled cap, donde “n” llega a ser el “brillo” (n=1), “verdor”(n=2) o “humedad”(n=3).
{pc[n]} – Componentes principales, donde “n” es la banda que se usara. {mean[n]} — Calcula el promedio para una banda “n”. {stdev[n]} — Calcula la Desviación Standard para una banda “n”. {min[n]} — Calcula el mínimo para una banda “n”. {max[n]} — Calcula el máximo para una banda “n”.
Otras herramientas se pueden encontrar en la ayuda de envi.
7
4. CONSTRUYENDO UN NUEVO ARBOL DE DECISION I.
De la barra del menú principal de ENVI, seleccionar: Classification → Decision Tree → Build New Decision Tree. Luego aparecerá una ventana de dialogo con el nombre ENVI Decision Tree.
II.
hacemos clic en Node 1. Aparece la ventana Edit Decision Properties, y en “Name” podemos poner cualquier texto que nos ayude a identificar la operación que estemos realizando, en este caso pondremos NDVI>0.48, y en el cuadro de “Expression” escribimos el algoritmo que nos permita calcular esa condición, en este caso ponemos {ndvi} gt 0.48, que nos indica que el índice de vegetación debe ser mayor a 0.48, luego damos clic en OK, y aparece la ventana Variable / File Pairings, hacemos nuevamente clic en la parte izquierda sobre {ndvi} y se abrirá otra ventana con el nombre Select file to Associate With Variable “{ndvi}” , donde elegiremos a la imagen bhtmref.img a la cual se le calculara el NDVI y finalmente clic en OK. Aparecerá lo siguiente, ver figura 6.
Figura 6. Estableciendo la primera condición para el primer Nodo.
III.
En esta parte formaremos dos clases asociadas a la pendiente del terreno, a partir del cuadro clase 1 que cumple la condición ndvi>1, para ello convertiremos el hijo Class 1 a Nodo, de la siguiente forma: Hacemos clic derecho sobre el cuadro Class 1 y seleccionamos “Add Children”, aparecerá un nuevo Class 1 de color rojo y un Class 2 de color verde, ver figura 7.
8
Figura 7. Creación de 2 hijos a partir de Class 1 y cambio de hijo a Nodo2.
Hacemos clic sobre el nuevo Nodo, y ponemos en Name: “pend<5 ”, luego sobre el cuadro Expression escribimos el algoritmo: {slope} lt 5, que nos indica que la pendiente debe de ser menor a 5, por lo que se le asignara a los valores de los pixeles que cumplan esta condición la class 2 (color verde) de lo contrario le asignara la cass 1 (color rojo). Luego le damos OK, y aparecerá la ventana Variable / File Pairings, hacemos nuevamente clic en la parte izquierda sobre {slope} y se abrirá otra ventana con el nombre Select file to Associate With Variable “{slope}”, en ella seleccionamos el DEM: bhdemsub.img, (ver figura 8).
Figura 8. Se establece la condición al nuevo Nodo “pend<5”
Ahora vamos a ejecutar lo que hemos hecho para verificar como va nuestro árbol de decisiones, para ello nos dirigimos a Options→Execute, aparece la ventana Decision Tree Execution Parameters, hacemos clic en File y en Enter Output Filename le damos clic en Chose, aparecerá la ventana Output Filename donde nos dirigimos a: D:\ARBOL_DESICION\PRODUCTOS , y lo guardamos con el nombre de ARBOL1, finalmente hacemos clic en Abrir y luego en OK, y aparece la imagen clasificada, ver figura 9. 9
Figura 9. Primera clasificación de la vegetación, pendiente mayor a 5 (color rojo), menor (color verde)
Luego tenemos una imagen donde los píxeles negros son los que no son vegetación (Class 0), los rojos aquellos que son vegetación y cuya pendiente es mayor o igual a 5 (Class 1) y en verde aquellos que son vegetación y donde la pendiente es menor a 5 (Class 2). IV.
Ahora aremos a modo de ejercicio, una división de la elevación cada 50 m, sobre nuestra clase pintada de color verde (ver figura 9), para ello al hijo Class 2 (color verde, ver figura 8) lo convertimos a Nodo, haciendo clic derecho sobre Class 2 y clic izquierdo sobre Add Children, tendremos la siguiente, ver figura 10.
Figura 10. Se crea dos hijos a partir de la Class 2, y esta se convierte en un nuevo Nodo. 10
Le damos clic sobre el nuevo Nodo y en Name ponemos altura1, y en el cuadro Expression el siguiente algoritmo: b1 gt 1250, luego OK, y aparecerá la ventana Variable / File Pairings, hacemos nuevamente clic en la parte izquierda sobre {b1} y seleccionamos el DEM, de la misma forma como hicimos con {slope}. Repetimos este paso 2 veces más y le damos como nombre a cada nuevo Nodo, altura2 y altura3, y en Expression escribimos los siguientes algoritmos a cada Nodo: b2 gt 1300 y b3 gt 1350. Lo que hicimos fue darle la condición en el Nodo altura1, que me pinte de color verde si NO es mayor que 1250m, de lo contrario pasamos a un siguiente Nodo (altura2), de igual forma le dimos otra condición, de que si NO es mayor a 1300m que lo pinte de color azul, de lo contrario pasamos nuevamente a un siguiente Nodo (altura3), aquí otra vez le dimos otra condición de que si NO es mayor a 1350m lo pinte de color amarillo de lo contrario para valores mayores lo pinte de color cian, ver figura 11.
Figura 11. Se establece la condición a los Nodos altura1, altura2 y altura3.
Para verificar lo que acabamos de hacer hacemos clic sobre Options→Execute. (Ver figura 12).
11
Figura 12. Clasificación de elevación cada 50 m, de la vegetación.
V.
Como último ejercicio para que quede un poco más claro este tema, vamos a clasificar dos tipos de suelos, ya que los cuerpos de agua en esta imagen no se pueden distinguir, sobre el Class 0 (color negro), para ello hacemos clic sobre Class 0 y elegimos Add Children (convertimos de hijo a Nodo), al nuevo Nodo le damos como nombre suelos, y en el cuadro Expression ponemos el algoritmo {ndvi} lt 2.0, se abre la ventana Variable / File Pairings, hacemos nuevamente clic en la parte izquierda sobre {ndvi} y seleccionamos la imagen landsat-5. Para ver nuestro avance le damos clic en Options→Execute, ver figura 13 y 14
12
Figura 13. Añadimos 2 tipos de clases, suelo con ndvi mayor a 0.12 y otro con menor al mismo valor.
Figura 14. Imagen de la clasificación final. 13
Finalmente para tener una mejor imagen cambiamos de color y nombre a cada clase de la siguiente forma: hacemos clic sobre cada Clase y cambiamos su nombre y color a gusto del usuario. Ver figura 15.
Figura 15. Editamos el nombre y color que se desee.
Figura 16. Árbol de decisiones. 14
Figura 17. Producto final luego de haber clasificado con árboles de decisión
15