U
U
N
N
I
I
V
V
E
E
R
R
S
S
I
I
D
D
A
A
D
D
T
T
É
É
C
C
N
N
I
I
C
C
A
A
P
P
A
A
R
R
T
T
I
I
C
C
U
U
L
L
A
A
R
R
D
D
E
E
L
L
O
O
J
J
A
A
ESCUELA DE CIENCIAS DE LA COMPUTACIÓN“Análisis de la implementación del algoritmo de
Backpropagation aplicado al procesamiento de
imágenes satelitales sobre un entorno distribuido”
Tesis previa a la obtención del título de
Ingeniero en Sistemas Informáticos y
Computación.
AUTOR: Roberto Carlos Cueva Samaniego
DIRECTOR: Ing. Greyson Alberca
COODIRECTORA: Ing. Susana Arias
Loja – Ecuador
2009
1
PERFIL DEL ANTEPROYECTO DE TESIS
1. TEMA
ANÁLISIS DE LA IMPLEMENTACIÓN DEL ALGORITMO DE BACKPROPAGATION
APLICADO AL PROCESAMIENTO DE IMÁGENES SATELITALES SOBRE UN ENTORNO
DISTRIBUIDO.
2. OBJETIVOS
2.1 OBJETIVO GENERAL
Optimizar los tiempos de respuesta del procesamiento de las imágenes
satelitales basadas en el algoritmo de Backpropagation sobre entornos
distribuidos.
2.2 OBJETIVOS ESPECÍFICOS
Investigar, analizar, e implementar herramientas de software que permita
trabajar sobre entornos distribuidos, tales como Cluster y Grid.
Desarrollar una aplicación utilizando una interfaz de paso de mensajes
(MPI) que permita realizar el análisis de imágenes satelitales a través de la
red neuronal Backpropagation.
Desarrollar una interfaz de usuario que permita representar los resultados
obtenidos del entorno distribuido.
Definir e implantar el entorno distribuido sobre el cual funcionará la
aplicación para el departamento SIG.
2
3. DESCRIPCIÓN DE LA PROPUESTA
El procesamiento de imágenes satelitales en el departamento del SIG
1ha sido un
problema frecuente debido a que los tiempos de respuesta son muy lentos y esto
conlleva gastos innecesarios tanto de recursos materiales como humanos.
Actualmente el departamento SIG utiliza como herramientas de análisis de
imágenes satelitales el software ARGIS
2y WEKA
3los cuales procesan las imágenes
en forma secuencial. Por ésta razón se propone desarrollar una solución basada en
entornos distribuidos la cual permitirá mejorar los tiempos de respuesta y
optimizar los recursos que demanda el análisis de imágenes satelitales basadas en
redes neuronales.
4. ALCANCES Y RESULTADOS
El proyecto de tesis se enmarca en cumplir con los objetivos propuestos:
Obtener una aplicación que permita realizar el análisis de imágenes satelitales
sobre entornos distribuidos a través de la red neuronal Backpropagation.
Validación y aprobación de los resultados obtenidos de la aplicación
desarrollada por parte del departamento SIG.
1 Sistemas de Información Geográfica 2
http://ww.esri.com/sofwtware/arcgis/
3 Waikato Environment for Knowledge Analysis – Entorno para Análisis del Conocimiento de la Universidad
3
5. FASES DE DESARROLLO
FASE I: Investigación Preliminar
Investigar las características principales de entornos distribuidos.
Determinar el espacio físico sobre la cual se va a instalar la infraestructura
hardware en la UTPL.
FASE 2: Selección, configuración e instalación de Herramientas
Definir el entorno distribuido sobre el cual se va a desarrollar la aplicación.
Seleccionar el software con el cual se va a trabajar sobre los entornos
distribuidos.
Instalación, configuración y pruebas de las herramientas de software para
trabajar en entornos distribuidos.
FASE 3: Desarrollo de la Solución
Desarrollar una aplicación que permita distribuir la carga de trabajo, optimizar
tiempos de respuesta y representar los resultados obtenidos del entorno
distribuido hacia el usuario final.
Realizar pruebas de la aplicación.
FASE 4: Validación de la Solución
El usuario final (SIG) realizará la validación respectiva de la aplicación.
FASE 5: Documentación
El proyecto se documentará considerando los elementos de cada una de las
fases y tomando en cuenta el aporte investigativo que se obtenga en el proceso
4
de investigación y acorde a las necesidades de información que la escuela de
ciencias de la computación lo exija para los proyectos de tesis.
PRODUCTO FINAL
El producto final contemplará los siguientes elementos:
Estándares y configuraciones para las herramientas utilizadas en el desarrollo de
la aplicación.
Manual de la aplicación desarrollada.
Informe de los resultados obtenidos.
CD´s de la aplicación.
5
RESUMEN
Este trabajo se inicia con la introducción de conceptos fundamentales para la comprensión del mismo, en el Capítulo I se describen los tres componentes principales los cuales son:
1. Imágenes Satelitales 2. Redes Neuronales 3. Cluster
El procesamiento de imágenes satelitales dentro del de los Sistemas de Información Geográfica se ha convertido en un área de estudio y desarrollo de gran importancia. Las imágenes satelitales son fuente de mucha información pero procesar su contenido puede tomar demasiado tiempo ya que actualmente esa tarea se la realiza sobre un computador. De ahí que nace la necesidad de investigar nuevas y mejores formas de llevar a cabo el procesamiento y acortar los tiempos de respuesta.
El proceso que se desea realizar sobre la imagen satelital es la clasificación de su contenido, es decir obtener que porcentaje de determinado elemento de la tierra se encuentra en la imagen, entre los elementos podemos mencionar agua, suelo, vegetación, o cualquier otro que se encontrase en la imagen, obtener esta información de la imagen es vital ayuda para realizar estudios de planificación urbana, estudios de deforestación, etc. esto agilizará el trabajo de los científicos especializados en esta área.
Actualmente la incorporación de redes neuronales en tareas de clasificación ha demostrado ser más efectivas que los métodos tradicionales, su efectividad se debe a que simulan el comportamiento del cerebro humano, es por eso que en el proyecto se implementó la red neuronal Backpropagation como clasificador. La librería que se utilizó fue Aforge.NET4.
El modelo de la solución se describe en el Capítulo II, aquí presentamos los módulos que tendrá la solución así como los requerimientos necesarios para su implementación, también describimos la arquitectura de la red neuronal y como interactuará con la herramienta software desarrollada.
6 Para cumplir el objetivo de mejorar los tiempos de respuesta, se implementó un Cluster5 en las instalaciones de la UTPL6, y para la comunicación entre los distintos nodos se utilizó PureMpi.NET7, el desarrollo de la herramienta se describe en el Capítulo III, ésta herramienta básicamente divide contenido de la imagen para el número de nodos en el Cluster, cada nodo realiza la clasificación parcial de sus datos y el resultado lo envía al nodo maestro, finalmente los resultados los presenta al usuario.
Las pruebas realizadas y la validación de la herramienta se describen en el Capítulo IV, siendo éste el capítulo más importante ya que aquí es donde se demuestra el rendimiento del Cluster, finalmente las conclusiones y recomendaciones del proyecto se presentan en el Capítulo V, sin dejar a un lado posibles trabajos futuros descritos en el Capítulo VI.
5
http://clusterfie.epn.edu.ec/clusters/Definiciones/definiciones.html
6 Universidad Técnica Particular de Loja: http://www.utpl.edu.ec 7 http://www.purempi.net/
104
105 1. Torresen Jim – Tomita Shinji. A review of parallel implementations of Backpropagation Neural Network. [En línea] [Citado el: 15 de Abril de 2008.] http://citeseer.ist.psu.edu/495048.html. 2. U. Lotric, A. Dobnikar. Parallel implementations of feed-forward neural network using MPI and
C# on .NET platform. s.l. : Faculty of Computer and Information Science, University of Ljubljana,
Slovenia.
3. Introducción a la Teledetección. [En línea] [Citado el: 10 de 01 de 2008.] http://webpages.ull.es/users/marbelo/rs1.pdf.
4. Chuvieco, Emilio. Teledetección Ambiental. España : Editorial: Ariel, 2002. 5. SCANTERRA Consultors. CONOZCA MAS. [En línea]
http://www.scanterra.com.ar/conozca_mas.html.
6. Bonifacio Martín del Brío - Alfredo Sanz. Redes Neuronales y Sistemas Difusos. 2001. Vol. 2da Edición Ampliada y Revisada.
7. Rumelhart, D. E., and McClelland, J. L. Parallel Distributed Processing: Explorations in the
Microstructure of Cognition Vol. 1. Cambridge, MA : MIT Press, 1986.
8. SORIA, Emilio; BLANCO, Antonio. Redes Neuronales Artificiales. [En línea] [Citado el: 26 de 03 de 2008.] http://www.acta.es/articulos_mf/19023.PDF.
9. APLICACIÓN DE LAS TÉCNICAS DE REDES NEURONALES PARA EL DIAGNÓSTICO ON-LINE DEL PROCESO DE ELECTROEROSIÓN POR HILO. Aprendizaje. [En línea] [Citado el: 27 de 03 de 2008.]
http://www.disa.bi.ehu.es/spanish/profesores-etsi-bilbo/~jtpcaaxi/PFC/wwwANN/aprendizaje_de_las_ann.htm.
10. Matich, Damián Jorge. Redes Neuronales: Conceptos Básicos y Aplicaciones. [En línea] [Citado el: 15 de 02 de 2008.]
http://www.frro.utn.edu.ar/repositorio/catedras/quimica/5_anio/orientadora1/monograias/mati ch-redesneuronales.pdf.
11. Historia de las Redes Neuronales. [En línea] [Citado el: 15 de 02 de 2008.]
http://www.itnuevolaredo.edu.mx/maestros/sis_com/takeyas/Apuntes/Inteligencia%20Artificial/ Apuntes/tareas_alumnos/RNA/Redes%20Neuronales2.pdf.
12. Wikipedia. Cluster (informática) - Wikipedia, la enciclopedia libre. [En línea] [Citado el: 17 de 03 de 2008.] http://es.wikipedia.org/wiki/Cluster_(inform%C3%A1tica).
13. —. Cluster de alta disponibilidad - Wikipedia, la enciclopedia libre. [En línea] [Citado el: 17 de 03 de 2008.] http://es.wikipedia.org/wiki/Cluster_de_alta_disponibilidad.
106 14. —. Cluster de Alto Rendimiento. [En línea] [Citado el: 18 de 03 de 2008.]
http://es.wikipedia.org/wiki/Cluster_de_alto_rendimiento.
15. —. Cluster de Balanceo de carga. [En línea] [Citado el: 18 de 03 de 2008.] http://es.wikipedia.org/wiki/Cluster_de_balanceo_de_carga.
16. Message Passing Interface Forum. [En línea] [Citado el: 05 de 03 de 2008.] http://www.mpi-forum.org/.
17. Pure Mpi.NET. [En línea] [Citado el: 04 de 04 de 2008.] http://www.purempi.net/. 18. Wikipedia. Método empírico-analítico. [En línea] [Citado el: 10 de 03 de 2008.] http://es.wikipedia.org/wiki/M%C3%A9todo_experimental#Clasificaciones. 19. EL MÉTODO ESTADÍSTICO. [En línea] [Citado el: 15 de 03 de 2008.]
http://www.telpin.com.ar/interneteducativa/Proyectos/2007/ESTADISTICA/m%C3%A9todo.htm. 20. The University of Edinburgh - School of Informatics. THE LANDSAT DATA. [En línea] [Citado el: 16 de 5 de 2008.] http://www.inf.ed.ac.uk/teaching/courses/dme/html/landsat.html.
21. Kwan, H.K. - Lee, C.K. A Neural Network Approach to Pulse Radar Detection. 1993. 22. REYES, Vicente. Procesamiento paralelo en redes Linux utilizando MPI. [En línea] 2003. www.redes-linux.com/manuales/cluster/mpi-spanish.pdf.
23. Lincoln Laboratory. Lincoln Laboratory Massachusetts Institute of Technology. [En línea] [Citado el: 12 de 02 de 2008.] http://www.ll.mit.edu/mission/isr/matlabmpi/matlabmpi.html. 24. The Open MPI Project. Open Source High Performance Computing. [En línea] [Citado el: 17 de 12 de 2007.] http://www.open-mpi.org/.
25. Parallel Virtual Machine. [En línea] http://www.csm.ornl.gov/pvm/.
26. The Trustees of Indiana University . MPI.NET: High-Performance C# Library for Message Passing. [En línea] [Citado el: 12 de 01 de 2008.] http://www.osl.iu.edu/research/mpi.net/. 27. Larrosa, Juan Manuel. Resumen sobre aspectos fundamentales de la teledetección. [En línea] [Citado el: 05 de 02 de 2008.] http://jlarrosa.tripod.com/files/teledeteccion.pdf.
28. Alfonso Pitarque, Juan Francisco Roy , Juan Carlos Ruiz. Redes neurales vs modelos
estadísticos: Simulaciones sobre tareas de predicción y clasificación. [En línea] [Citado el: 25 de 03 de 2008.] http://www.uv.es/revispsi/articulos3.98/pitarque.pdf.