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.