Red neuronal entrenada para detectar incendios forestales

Proyecto de mineria de datos

Dominio del problema


Incendios forestales de dia, sin presencia humana ni animal, captados desde la altura (helicopteros, aviones, drones, etc.).

Enfoque

Se usaran redes neuronales artificiales de propagación hacia atras para resolver el problema.

Se tomará como punto de partida una base de datos con imagenes de incendios forestales.

Proceso de creación

A continuación se describe el proceso de creación de la red neuronal.

Se abarca de manera generar todas las etapas que se siguieron para llegar al resultado final, sin embargo, si se quiere indagar de forma exaustiva sobre la justificaicón del proyecto, las tecnicas usadas o los problemas resueltos recomendamos leer el documento tecnico.

Pre procesamiento de los datos

Etapas para construir una base de datos adecuada

Anexion y redimensionamiento

Debido a el dominio del problema nos vimos en la necesidad de modificar la DB.

Extración de paracteristicas

Hicimos un software que extrajera automaticamente las caracteristicas deseadas.

balanceo de clases

Una vez obtenido la BD final redujimos las instancias de las clases predominantes.

Instancias

Clases

Atributos

Particiónes

Entrenamiento de la red neuronal

  • Todas
  • Folder1
  • Folder2
  • Folder3

Expandir

Expandir

Expandir

Expandir

Expandir

Expandir

Expandir

Expandir

Expandir

Mejor ajuste de parametros

Una vez creada la base de datos lo primero que hicimo fue una exploración general con diversas configuraciones, esto con el fin de dectectar en cuantas epocas los modelos entraban en overfiting y tambien tener un panorama general del margen de error de los modelos.

Automatización

Programamos un algoritmo que nos ayudara con la tarea repetitiva de generar modelos con distintas configuraciones y obtener el margen de error de cada uno.

Obtuvimos el mejor modelo de cada experimento y sacamos la media y la desviación estándar de la precisión del conjunto de prueba.El mejor modelo que se pudo encontrar es:

«24, 3, 2600, 0.3, 0.2»

La razón por la cual esta configuración se ha elegido es porque es la más cercana a la media e implica que este modelo es menos propenso a generaliza ni particulariza.

A pesar de las complicaciones que se tuvieron al momento de obtener un modelo de una RNA que identifique incendios forestales, podemos decir que se logró llegar a un resultado satisfactorio, ya que este logró un porcentaje de precisión aproximadamente del 93.1% sin estar en overfitting, aunque es posible que haya algún otro modelo con otra configuración de los hiperparámetros que de un mejor resultado ya que las combinaciones de diferentes valores de estos es muy grande, por no decir que son infinitos.


Preguntas Generales

Para la extación de caracteristicas: Javascript,Jstat,HTML5,CSS3.
Para la creacion de la red neuronal: Python, weka, java, Colab.
Para esta página web: JS,HTML5,CSS3,Bootstrap,Python,Railway.

Para la extación de caracteristicas: 2 semanas.
Para el entrenamiento de la red neuronal: 1 semana 4 dias.
Para esta página web: 2 senamas 5 dias.

Las tres se trabajaron en paralelo por lo cual el tiempo final fue de 1 mes aproximadamente.

Subestimamos el tiempo que podria tardarse el entrenamiento de la red neuronal para cada ajuste de parametros que se teneia que probar, esto fue lo que retardo significativamente nuestra entrega.

Una vez obtenida el mejor ajuste de parametros, hicimos ese modelo en particular en sklearn para poder exportarlo como un .pkl y utilizamos una plataforma "as a service" para poder hacer un backend sensillo donde importabamos el modelo y a traves de consultas HTTP se puede obtener una respuesta.

La parte más importante es la formacion de una buena base de datos y la extración de caracteristicas, pues con esto aseguramo de que cualquier ajuste de parametros de como resultado un modelo con poco margen de error.