Skip to content

jhonesis/Proyecto-IGNIS

Repository files navigation

Proyecto-IGNIS

Este proyecto consiste en la identificación de incendios forestales en imágenes satelitales a través del uso de tecnologías de inteligencia artificial (Visión por Computador), minimizando el consumo de recursos energéticos y computacionales para ser desplegada sobre arquitecturas integradas, que para el caso particular de este proyecto es la tarjeta JETSON NANO, y a futuro para que dicha detección se realice in situ dentro del satélite que captura las imágenes. El proyecto utiliza además del algoritmo desarrollado y propuesto para la tarea de identificación llamado IGNIS , dos algoritmos más que corresponden a redes neuronales convolucionales CNN, una basada en la aplicación particular de Inception V3 y la otra basada en el ejemplo de aplicación de mobilenet V2. Las dos redes cumplen la función de guía para los parámetros mínimos necesarios a cumplir.

Para replicar este proyecto solo es necesario seguir los siguientes pasos en el orden enunciado.

-Paso 1: Ingresar a la carpeta "entrenamiento", en donde encontrará los dos archivos jupyter notebook correspondientes a las dos CNN mencionadas con anterioridad. Para entrenarlas solo debe ejecutar cada archivo ya que el acceso al dataset de imágenes para este proceso es realizado desde el interior del mismo. Como resultado de cada entrenamiento se obtienen un archivo con extensión (h5), el cuál permitirá realizar la identificación en las imágenes de evaluación. Es necesario que los archivos h5 "mobilenet.h5" y "inception.h5" correspondientes a cada CNN se ubiquen en la carpeta principal del proyecto.

-Paso 2: Este paso permite ejecutar el algoritmo propuesto IGNIS (ignis.py) y las dos CNN (inception.py, mobilenet.py) frente a las imágenes albergadas en la carpeta "image" para testear el proceso de identificación de los incendios. También es posible en simultánea capturar los datos de consumo de recursos de la tarjeta JETSON NANO. Si solo desea ejecutar los algoritmos sin capturar datos de consumo, únicamente pruebe los archivos python correspondiente a cada algoritmo, pero si en cambio desea capturar los datos de consumo, debe utilizar el archivo python llamado "lecturas.py", en el cual antes de ejecutar, debe editar el nombre del algoritmo que va a probar y el nombre de los archivos de texto en donde se almacenan las lecturas de consumo de la tarjeta así: "datos.txt" para inception.py, "datos2.txt" para mobilenet.py, "datos3.txt" para ignis.py.

-Paso 3: Como resultado de la ejecución de los tres algoritmos independientemente del método (directamente o a través de lecturas.py) se crean tres archivos csv dentro de la carpeta "evaluación" los cuales corresponden a las listas de predicciones de identificación de incendios en las imágenes de la carpeta "image" de cada uno de los algoritmos. En esta carpeta también se encuentra la lista de verdad (list_test.csv), es decir, la lista con las identificaciones reales, con la que se comparan las otras tres listas de predicciones (list_predict_ignis.csv, list_predict_ince.csv, list_predict_mobi.csv). Las evaluaciones de cada algoritmo se realizan en archivos jupyter notebook en donde se calcula y se plasma la matriz de confusión y las métricas de confiabilidad (precisión, exactitud, sensibilidad, F1-score).

-Paso 4: Para organizar y graficar los resultados obtenidos de los archivos de consumo de la tarjeta, se ejecuta el archivo python llamado "graficas.py", el cual permite además de graficar, obtener datos estadísticos de cada campo del dataset de lectura con ayuda del archivo "parse..py". Gracias a estos resultados podemos evaluar la eficiencia computacional de los algoritmos y el comportamiento del proceso de identificación en el sistema embebido.

Bonus Track: Además de la identificación de los incendios en las imágenes satelitales, el algoritmo IGNIS también los ubica y genera sus coordenadas relativas dentro de la misma. Estos resultados adicionales se almacenan en la carpeta llamada "resultados".

A Futuro:

• Evaluación de IGNIS en otras líneas de investigación como cultivos de precisión, medicina, desarrollo urbano, y en general, en todas aquellas situaciones en donde el color del objeto sea un parámetro de identificación y diferenciación.

• Despliegue de IGNIS sobre otras plataformas integradas, ya sea para evaluar los límites mínimos de requisitos computacionales, o para evaluar los tiempos de respuesta utilizando mayores recursos.

About

Identificación de Incendios en Imágenes satelitales

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors