Anda di halaman 1dari 6

CLASIFICACIN DE USOS DE SUELO DE IMGENES SATELITALES LANDSAT POR MEDIO DE REDES NEURONALES SUPERVISADAS Hctor F Gmez A hfgomez@utpl.edu.

ec Universidad Nacional de Estudios a Distancia UNED Universidad Tcnica Particular de Loja Sistemas de Informacin Geogrfica Resumen En el presente trabajo se explica la clasificacin de usos de suelo en imgenes satelitales Landsat. Para lograr este objetivo se ha descompuesto la imagen patrn en pxeles cada uno perteneciente a una clase distinta, luego esta imagen ha sido ingresada a una red neuronal supervisada para la cual se ha propuesto su arquitectura y el algoritmo de aprendizaje de gradiente conjugado escalado. Los resultados se han contrastado con una imagen de testeo y los mismos se han comprobado con lo obtenido por los clasificadores C4.5 y PART. Abstract In the present work the classification of ground uses appears in satelite images Landsat. In order to obtain this objective pattern in pxeles has been disturbed to the image each one pertaining a different class, soon this image has been entered to a supervised neuronal network for which its architecture has seted out and the algorithm of learning of conjugated gradient climbed. The results have been resisted with a testeo image and such they have been verified with the obtained thing by sort keys C4.5 and PART.

Palabras clave Neurona, Landsat, clasificadores, patrn, gradiente.

Estado Actual del Arte Las aplicaciones de las redes neuronales para clasificar imgenes satelitales han demostrado excelentes resultados inclusive han sido aplicados en software comercial como ArcGIS o Erdas Image. Un ejemplo de ello tenemos en la publicacin [DME tutorial for Week 5] en donde toma como entrada los datos de una imagen satelital landsat y mediante clasificadores como el Naive Bayes y redes neuronales logra establecer un nivel aceptable de coincidencias para las 6 clases de uso de suelo disponible. De igual forma su clasificacin es de acuerdo a los pxeles de la imagen. As mismo en [Aguilar, Guaynados, Cuarite, Reynaga] se encuentra la aplicacin de las redes neuronales a la planificacin territorial a partir de imgenes areas en el proyecto AIRENE. Por otro lado en [Trianez, Tobar, Hernndez] se presenta la clasificacin de imgenes satelitales mediante redes neuronales supervisadas. Al mismo tiempo realiza un anlisis de la variante de la regla delta generalizada.

Por ltimo se pondr a prueba el ejercicio con un archivo de testeo y se contrastarn los resultados con los clasificadores C4.5 y PART.

2. Imgenes de satlite Landsat Una imagen LANDSAT 7 ETM+ est compuesta por 7 bandas espectrales que pueden ser combinadas de distintas formas para obtener variadas composiciones de color u opciones de procesamiento. Entre las principales mejoras tcnicas respecto de su antecesor, el satlite Landsat 5, se destaca la adicin de una banda espectral (Banda Pancromtica) con resolucin de 15 metros. Tambin cuenta con mejoras en las caractersticas geomtricas y radio mtricas y una mayor resolucin espacial de la banda trmica para 60m. Estos avances tecnolgicos permiten calificar al LANDSAT 7 como el satlite ms interesante para la generacin de imgenes con aplicaciones directas hasta una escala de 1:25.000, principalmente en reas rurales o territorios de grandes extensiones, se puede observar como ejemplo la Figura 1:

1. Introduccin En el presente trabajo se explica la clasificacin de usos de suelo mediante redes neuronales aplicadas a imgenes de satlite Landsat, para la cual se realiza una definicin bsica de las bandas que posee (4 usadas en el presente trabajo). Se detalla adems la estructura del archivo de datos, el mismo que esta compuesto por pxeles de la imagen y las clases a las que pertenecen estos pxeles. Luego se definir la arquitectura de la red neuronal que se aplicar para la clasificacin como tambin el algoritmo usado para el aprendizaje con la correspondiente funcin de activacin.

Banda 7: (2,08 a 2,35 micrones - infrarrojo medio -) Especialmente seleccionada por su potencial para la discriminacin de rocas y para el mapeo hidrotermal. Mide la cantidad de hidrxilos (OH) y la absorcin de agua. 3. Estructura del archivo de datos de la imagen de satlite Landsat. Una vez definidas las bandas que se encuentran en una imagen satelital podemos identificar a travs de la informacin que nos facilitan, el uso del suelo que se encuentra en la zona de estudio y adems el porcentaje de este uso sobre la misma imagen. En este sentido sobre los datos proporcionados para el satlite Landsat en el presente trabajo se identificarn las siguientes clases: Number 1 2 3 4 5 6 7 Figura 1. Imagen de satlite Landsat de Loja-Ecuador Tal como se mencion anteriormente una imagen de satlite se encuentra compuesta por bandas las mismas que representan: Banda 1: (0,45 a 0,52 micrones - azul -) Diseada para penetracin en cuerpos de agua, es til para el mapeo de costas, para diferenciar entre suelo y vegetacin y para clasificar distintos cubrimientos boscosos, por ejemplo confero y lat foliadas. Tambin es til para diferenciar los diferentes tipos de rocas presentes en la superficie terrestre. Banda 2: (0,52 a 0,60 micrones - verde -) Especialmente diseada para evaluar el vigor de la vegetacin sana, midiendo su pico de reflectancia (o radiancia) verde. Tambin es til para diferenciar tipos de rocas y, al igual que la banda 1, para detectar la presencia o no de limonita. Banda 3: (0,63 a 0,69 micrones - rojo -) Es una banda de absorcin de clorofila, muy til para la clasificacin de la cubierta vegetal. Tambin sirve en la diferenciacin de las distintas rocas y para detectar limonita. Banda 4: (0,76 a 0,90 micrones - infrarrojo cercano -) Es til para determinar el contenido de biomasa, para la delimitacin de cuerpos de agua y para la clasificacin de las rocas. Banda 5: (1,55 a 1,75 micrones - infrarrojo medio -) Indicativa del contenido de humedad de la vegetacin y del suelo. Tambin sirve para discriminar entre nieve y nubes. Banda 6: (10,40 a 12,50 micrones - infrarrojo termal -) El infrarrojo termal es til en el anlisis del stress de la vegetacin, en la determinacin de la humedad del suelo y en el mapeo termal. Las imgenes Landsat (82 columnas por 100 filas) han sido organizadas en pxeles. Cuatro bandas del satlite han sido tomadas en cuenta para la clasificacin, por lo tanto cada pxel tendr informacin de las cuatro bandas, por ejemplo existir informacin del Pxel 1_1, Pxel 1_2, Pxel 1_3, Pxel 1_4. La informacin que sostiene cada pxel es referente a la frecuencia de los datos sobre cada banda la misma que se encuentra en un rango [0..255]. Cada pxel representa un rea de 80*80 metros. Los datos obtenidos corresponden a tomar sobre la imagen una matriz 3*3. Sobre la cual se aplica el algoritmo del vecino ms prximo en el que se resume la informacin de 9 pxeles sobre una matriz 3*3 de acuerdo a un pxel central tomado sobre la imagen. Los pxeles son numerados de izquierda a derecha y desde arriba hacia abajo. As el pxel 1 es el superior izquierdo, el pxel 3 es el superior derecho uno y el pxel 5 es el pxel central uno, el cual sostendr la informacin representativa de cada uno de sus vecinos. Mayor informacin de este algoritmo se puede obtener en [CHUVIECO,2002]. En este sentido el archivo de datos a ser procesado contendr 36 entradas contemplando de 0 a36 para informacin de los pxeles y la ltima entrada correspondiente a la clase para el entrenamiento. 4. Red Neuronal En este caso como tenemos datos para el entrenamiento de la red neuronal y para el testeo de la misma optamos por las caractersticas de una red neuronal con aprendizaje supervisado que consiste segn [DEL BRIO, MOLINA 2002] en presentar a la red un conjunto de patrones, junto con la salida deseada u objetivo, e iterativamente esta ajusta sus pesos hasta que su salida tiende a ser la deseada, utilizando para ello informacin detallada del error que Class red soil cotton crop grey soil damp grey soil soil with vegetation stubble mixture class (all types present) very damp grey soil

comete a cada paso, este proceso es tambin conocido como Backpropagation. Arquitectura de la red y Algoritmo de aprendizaje Uno de los aspectos importantes que tiene que comprobarse en la red neuronal consiste en el anlisis del error en base al algoritmo de aprendizaje propuesto. En este sentido, si aadimos a un perceptrn simple capas intermedias lo convertimos en un perceptron multicapa conocido como Multilayer Perceptron. En conjunto la arquitectura MLP y el aprendizaje Backpropagation suele denominarse red de retropropagacin [DEL BRIO, MOLINA 2002]. Por otro lado un MLP de una nica capa oculta puede aproximar hasta el nivel deseado cualquier funcin continua en un intervalo, por lo tanto las redes neuronales multicapa unidireccionales son aproximadores universales de funciones. La regla bsica de aprendizaje del perceptron se basa en la multiplicacin de las entradas por los pesos y realizar la sumatoria de los resultados, de acuerdo a la siguiente ecuacin: xw En donde x es el vector de caractersticas y w los pesos aleatorios. En el presente trabajo el vector de caractersticas se encuentra compuesto por los 9 pxeles correspondientes a la imagen satelital Landsat. Los pesos sern tomados igual de forma aleatoria. La ecuacin propuesta con anterioridad resuelve el caso de ingreso de datos y clasificacin para un perceptron. Para los datos propuestos de la imagen Landsat no se podra usar esta alternativa pues no cumplen con el hecho de ser linealmente separables (datos no se clasifican automticamente a un lado y otro de la lnea) por lo que la solucin de un solo perceptron no es aceptada en este caso [HUSH Y HORNE, 1992]. Esto se puede observar en la Figura 1:

Siendo f(.) de tipo sigmoideo como por ejemplo las siguientes:

f(x) = 1/1 + e-x f(x) = ex e-x/ex e-x = tanh(x)


proporcionando para la primera una salida en el intervalo [0,+1] y en el [-1,+1]. Una solucin al problema de entrenar los nodos de las capas ocultas pertenecientes a arquitecturas multicapa la proporciona el algoritmo de retropropagacin de errores o BP (backpropagation)[Hinton, 1989]. Este algoritmo se provee como consecuencia natural de extender el algoritmo LMS a las redes multicapa, en la cual el error se calcula como: E[wij] = Pu=1 ni = 1 (tu i yu i)2 Que corresponde al error cuadrtico medio. Este valor pertenece a las salidas actuales de la red respecto de los objetivos. Como en todo clasificador se puede optimizar el error1 para lo cual se usa el mtodo del descenso por el gradiente[BASE GROUP LAB], para lo que nos queda: - pU = 1(tu i - yui )xuj y el incremento de los pesos: pU=1(tui yui)xuj La constante es el valor de epsilon. Por ltimo el error se derivar no solamente en funcin de los pesos de la capa de salida sino que tambin en funcin de los pesos de las neuronas ocultas, haciendo uso de la regla de la cadena: en consecuencia, habr que exigir que las funciones de transferencia de las neuronas sean derivables. Por lo que las expresiones de actualizacin de los pesos se obtienen slo con derivar, teniendo en cuenta las dependencias funcionales y aplicando adecuadamente la regla de la cadena wkj = uukyuj con uk = [tuk f(vuk)] f(vuk)/ vuk wji= uujxuj con uj = (kukwkj) f(vuj)/ vuk

En estas expresiones est implcito el concepto de propagacin hacia atrs de los errores que da nombre al algoritmo. En resumen el procedimiento para entrenar una red MLP es el siguiente: Establecer aleatoriamente los pesos y umbrales inciales cuanto t:=0. Para cada patrn u del conjunto de aprendizaje o Llevar a cabo una fase de ejecucin para obtener la respuesta de la red ante el patrn u-simo. o Calcular las seales de error asociadas uk y uj. o Calcular el incremento parcial de los pesos y umbrales debidos a cada patrn u.
1

Figura 1. Anlisis de los pxeles de la imagen de satlite landsat Bajo lo propuesto se decide sobre una arquitectura multicapa MLP que trabaja de acuerdo a la siguiente ecuacin: Zk = j Wkj YJ i = j WKJ f(i WJiXI J) i

Por ejemplo en PART se puede optimizar el error disminuyendo el valor del nivel de confianza de 0.05 a 0.005.

Calcular el incremento total (para todos los patrones) actual de los pesos wkj y wji. Hacer lo mismo para los umbrales. Actualizar los pesos y los umbrales. Calcular el error actual, t:=t+1 y volver a derivar si todava no es satisfactorio. Es necesario tambin en este punto analizar el ritmo de aprendizaje ya que al observar para el un valor pequeo implica un aprendizaje lento, mientras que uno excesivamente grande puede conducir a oscilaciones en el entrenamiento, al introducir variaciones en los pesos excesivamente amplias. Al ser las entradas y las salidas discretas {-1,+1}, tambin lo ser la actualizacin de los pesos, que nicamente podr tomar los valores 0 o +-2 se puede ver mas en [RUMELHART,HINTON,WILLIAMS] Tamao de la arquitectura de la red La capacidad de generalizacin de la red se encuentra determinada por: la arquitectura de la red, el nmero de ejemplos de entrenamiento y la complejidad del problema[Haykin 99]. Hablando en trminos generales, si el problema es sencillo, bastarn pocos parmetros para su ajuste, luego deber utilizarse una red pequea. Si el problema es complejo se necesitar ms parmetros de ajuste, luego se aplicar una red de mayor tamao. Por lo tanto debe ajustarse el tamao de la red a la complejidad del problema que se est tratando, debindose limitar en lo posible su tamao, dificultando as la aparicin del sobreentrenamiento. Por otro lado se puede limitar el tamao de la red en base al anlisis de las entradas y aplicando mtodos como componentes principales para reducir el nmero de parmetros y por ende el nmero de pesos. En el caso del presente trabajo se ha trabajado con una arquitectura de 36 entradas, 10 nodos para la capa oculta y 6 neuronas para la capa de salida. 5. Experimentacin Se usa la herramienta Netlab2 sobre la cual se aplican las operaciones algortmicas del BackPropagation. Primero se proceder a la lectura de los archivos de entrenamiento y de testeo: [x,xt,nin,nout,xndata]=datread('sattrn.txt'); [y,yt,nin,nout,yndata]=datread('sattst.txt'); Para lo cual quedar almacenado en xndata y en yndata los datos de entrenamiento y testeo. As mismo en x y y se almacenan los atributos, en este caso el nombre de los pxeles recordando que se enumeran como P1_1 hasta P9_4. Los valores de cada uno de los pxeles han sido normalizados para que se encuentren en el rango [-1,1] y las clases han sido codificadas como un vector de 6 columnas de 0 y 1, por lo que si el vector Xi pertenece a la clase 1 el resultado ser C1(Xi) = 1 0 0 0 0 0.

La construccin de la red neuronal se realiza de la siguiente manera: net = mlp(nin,10,nout,'logistic'); En donde nin es el nmero de entradas para la presente red 36, 10 es el numero de nodes en la capa oculta, nout es el numero de nodos de salida en este caso 6 y logistic representa a la funcin de activacin recordando que tiene que ser sigmoidea, para este caso: Y = L(1/1+Ka-x) donde: L es la poblacin lmite, K = (L/C) -1 Como resultado se obtiene una red con la siguiente arquitectura: type: 'mlp' nin: 36 nhidden: 10 nout: 6 nwts: 436 outfn: 'softmax' w1: [36x10 double] b1: [0.0143 3.6376 4.0970 -5.4432 8.9724 -2.5600 6.1146 6.1730 6.7985 4.1791] w2: [10x6 double] b2: [-1.0667 0.6672 9.0670 -2.2258 -2.7444 -2.8069] Se entrena la red usando el mtodo del gradiente de la siguiente manera: options = zeros (1,18); A travs de esta matriz se expondrn los resultados del entrenamiento de la red, por lo que en options(1) se almacenar el error producido por el entrenamiento y en options(14) se almacena el nmero de ciclos de entrenamiento. Se procede entonces a entrenar la red con los datos explicados con anterioridad mediante el comando: [net,options] = netopt(net,options,x,xt,'scg') El parmetro scg siginfica que se usa el mtodo del gradiente para optimizar el error. El error de entrenamiento en el ciclo 100 es: 1340.46 con una escala de 1.000000e-15. Realizando un cambio en la funcin de activacin de las neuronas de logistic a softmax obtenemos una disminucin del error a: 442.284312 Scale 1.000000e-015.

Netlab es una herramienta de manejo free: www.ncrg.asaton.ac.uk/netlab/

Una vez realizado este entrenamiento procedemos a verificar el mismo con los datos de test, cargando la red neuronal entrenada para los datos y: yf = mlpfwd(net,y) Luego se determina la tasa de aprendizaje y se obtiene la matriz de confusiones generada as: [C,rate]=confmat(yf,yt); Se devuelve un rate = 1.0e+003 * 0.0874 matriz de confusin:
1038 1 4 9 18 0 0 463 0 3 9 1 13 0 900 82 0 17 0 3 44 197 7 101 21 12 1 6 392 32

demuestra demasiados errores. Por lo que se prefiere quedarse con la rate = 1.0e+003 * 0.0874 3.8770, lo que significa que tenemos un 87,4% de clasificaciones correctas con respecto al entrenamiento y 3877 instancias correctamente clasificadas. Es necesario contrastar los resultados con otros simuladores para lo cual se usa la herramienta Weka y el clasificador de redes neuronales. Anteriormente se ha aplicado el filtro de seleccin de atributos a los datos, una learning rate de 0,3 y 500 el nmero de pocas. Los resultados obtenidos para la clasificacin en el entrenamiento son un 92% y la siguiente matriz de confusin:

3.8770Y la
0 0 12 118 44 887

a b c d e f <-- classified as 1063 0 6 2 1 0 | a = 1 1 474 0 2 1 1 | b=2 3 0 833 106 2 17 | c = 3 1 0 44 325 3 42 | d = 4 29 3 0 4 408 26 | e = 5 0 0 1 43 9 985 | f=7

En la cual nuevamente se puede verificar el problema de las instancias clasificadas para la clase 4,5 y 7. Para el testeo el resultado de la clasificacin fue: 87.2% de instancias clasificadas.

Se logra concluir que existe una clasificacin problemtica para las clases 4, 5, 7 y que existen 1038 que pertenecen a la clase 1, 463 que pertenecen a la clase 2, 900 a la clase 3, 197 para la clase 4, 392 para la clase 5 y 887 para la clase 7. Incrementando el nmero de ciclos de entrenamiento a 1000 obtenemos: Cycle 1000 Error 216.519617 Scale 1.000000e-015 Y aplicando el testeo: rate = 1.0e+003 * 0.0855 3.7930

6. Discusin de resultados Los datos usados para el entrenamiento de la red neuronal y el testeo han sido tambin usados por los clasificadores C.49 y PART de los cuales se ha obtenido los siguientes resultados:
Archivo J48 PART ReducedError

Training Training Test Test

90.2% 90% 85.4% 84.1%

92.9% 98% 85.35% 85.45%

No Si No Si

y una matriz de confusin:


1025 5 2 4 16 0 3 445 1 2 16 0 15 0 856 76 4 22 0 10 75 216 6 105 28 16 4 10 388 48 1 3 23

Para lo cual lo representado por las redes neuronales construidas resulta en mejora de clasificacin. A ms se puede revisar los resultados obtenidos del entrenamiento de imgenes areas [TRIANEZ,TORRES,TOBAR,HERNANDEZ], en donde se logra una clasificacin del 95%, lo que espera suponer lgicamente que el error tomando las 7 capas del satlite disminuye notablemente, aunque los resultados obtenidos por Weka a un 92% se acercan relativamente. 7. Conclusiones

107 40 863

El entrenamiento a sufrido cambios inmediatos en la matriz de entrenamiento a disminuido el error sin embargo al aplicar el testeo la matriz de confusiones

El tamao de la red neuronal depende explcitamente del problema que se este resolviendo y de la dificultad del mismo. Una red neuronal supervisada supera en clasificacin al algoritmo J48 y PART para clasificacin de usos de suelo en imgenes Landsat, sin embargo sigue siendo un proceso de entrenamiento lento. Mientras ms instancias tengamos para el entrenamiento el error disminuye notablemente por lo que es siempre mejor tomar todos los datos provistos para el vector X.

8. Trabajos futuros Sera muy importante construir un sistema de comprobacin de los resultados obtenidos por medio de Aprendizaje no supervisado propuesto por Kohonen, pues as se podra comprobar los datos en matrices en los cuales no se encuentran tan claros como en el presente trabajo. As mismo se puede probar con otras tcnicas de entrenamiento y en especial el grabado de los algoritmos sobre la tecnologa FPGA con el fin de no solamente tener una simulacin de los procesos en computadora sino tambin poder estructurar hardware en el cual puedan funcionar las mismas. Por otro lado se puede repetir el ejercicio propuesto para el presente trabajo para tratar la red con las 7 bandas del satlite Landsat. Agradecimientos Al equipo de trabajo de Inteligencia Artificial de Sistemas de Informacin Geogrfica www.utpl.edu.ec/sig, por la colaboracin prestada en la bsqueda de informacin y publicaciones relacionadas con algoritmos de clasificacin para imgenes de satlite. Al Dr. Hugo Banda G, catedrtico de la Escuela Politcnica Nacional por sus constantes revisiones al desarrollo del presente trabajo. Al profesor Dr. Jos Ramn lvarez quien a travs de sus observaciones como tutor de la materia de Redes Neuronales supo encaminar la aplicacin de los clasificadores al tema general propuesto de aplicacin de la Inteligencia Artificial a los sistemas de informacin geogrfica.

Semantic knowledge Base Image Understanding, Universiteit Brusel. TRIANEZ, TORRES, TOBAR, HERNANDEZ. Clasificacin de imgenes multiespectrales mediante redes neuronales, Universidad de Santiago, Universidad de la Laguna, 1994. VICENTE, Renato. Redes Neurais para Inferencia Estadstica, FEA/USP 2002.

BIBLIOGRAFIA AGUILAR, BAADOS, CUARITE, REYNAGA. Reconocimiento de patrones a partir de imgenes areas. Universidad mayor de San Andrs Bolivia. Instituto de Pesquisas Energticas y Nucleares. Brasil. BASE GROUP LAB. Method of Conjugate Gradients Mathematical Apparatus, www.basegroup.ru/neural/conjugate.en.htm. CHUVIECO, Emilio. Teledeteccin Espacial, Editorial Ariel, Espaa, 2006. DEL BRIO, MOLINA. Redes Neuronales y Sistemas Difusos. Editorial Alfa Omega, Universidad de Zaragoza, 2002. HAYKIN, S. Neural Networks. A comprensive Foundation. 2da edition. Prentice Hall, 1994, 1999. HINTON, Geofrey. Connectionist Learning Procedures. University of Toronto. HUSH,HORNE. An overview of neural networks. Part I: static networks, 1992. ROMERO, CALOGNE. Redes neuronales y reconocimiento de patrones. Universidad de Salamanca, Universidad de Valladolid. Espaa. NETLAB: www.ncrg.aston.ac.ak RUMELHART,HINTON,WILLIAMS. Learning internal representations by error propagation, Cambridge, pp 318-362. SAHLI, BUSTO, CHAN, KATARTZIS, VANHAMEL. Remote Sensing Minefield Area Reduction:

Anda mungkin juga menyukai