Proyecto CNN
Proyecto CNN
przez Sebastian Guerra Vega @sebastiangueve
- 270
- 4
- 0
Introducción
Análisis de Cultivos por Estación del Año en Chile mediante Inteligencia Artificial
Este proyecto tiene como objetivo identificar y clasificar los cultivos según la estación del año en Chile, utilizando técnicas de Deep Learning y análisis de imágenes. Mediante el procesamiento de imágenes satelitales y de drones(El cual se realizará en un futuro, de momento solo con imágenes obtenidas desde Google), el modelo de inteligencia artificial podrá detectar qué cultivos predominan en cada temporada, optimizando así la gestión agrícola y la toma de decisiones en el sector.

Materiales
Utilice Python como lenguaje de programación
Tensorflow y libreria keras lo cual me permite crear y entrenar redes neuronales
Trabaje en el entorno de Visual Studio Code
Jupyter Notebook para encontrar rápidamente archivos y rutas, y visualización de imágenes.
Creación del conjunto de datos
Primero realicé la extración y migración de mis datos desde mi carpeta llamada "dataset" la cual contenía los archivos .zip, hacia la carpeta del nuevo dataset llamado "DatasetEstaciones".


Cambio de carpeta
Luego agrupé las imágenes de acuerdo a las estaciones del año (Otoño, Invierno, Primavera y Verano) para que más adelante poder entrenar el modelo por estaciones de año.

Eliminar archivos con distinto formato
En este paso eliminé formato de archivos que no correspondan a formato de imagen (.jpg , .jpeg y .png).

Limpiar/eliminar archivos
En este proceso limpié mi DatasetEstaciones para mantener solo archivos con formato .jpg , .jpeg y .png

Aumento de datos
En este paso importamos librerías de ImageDataGenerator desde tensorflow para aumentar el número de imágenes para entrenar nuestro modelo. También aplicamos técnicas de aumento de datos para entregar imágenes en otros tamaños, zoom, rotación, etc y esto me ayuda a darle mayor generalización al modelo a entrenar.
subset="validation", nos indica que el 20% de los datos se utilizarán para validación.
Finalmente nos entrega el resumen de las imágenes cargadas el cual se utilizarán 1998 para entrenamiento y 499 para pruebas(validación) para 4 clases (estaciones del año).

Verificación de datos
En este proceso verificamos que los datos se estén cargando correctamente y observar las transformaciones aplicadas por la aumentación de datos.

Entrenamiento
Importamos Tensorflow y Keras para construir y entrenar la red neuronal.
Usamos "ImageDataGenerator" para el preprocesamiento y aumento de datos.
Importamos capas de Keras (Conv2, Maxpooling2D) para construir una Red Neuronal Convolucional
Luego redimensionamos a 224x224 pixele las imagenes
Se utiliza "categorical" porque las etiquetas son 4 clases (estaciones del año)
subset="training" solo selecciona datos del entrenamiento
Con "Dropout(0.5)" previene el sobreajuste desactivando aletoriamente el 50% de las neuronas.
Como son 4 clases, usamos "Softmax" para clasificar correctamente.
Utilizamos Optimizers.adam para la tasa de aprendizaje de nuestro modelo
Utilizamos "Accurazy" para medir el desempeño del modelo.
Se entrena el modelo con 50 épocas
Finalmente guardamos el modelo para seguir entrenándolo.
En la última imagen puede verse como va entrenándose el modelo. Aún faltan muchas pruebas y entrenamiento para seguir mejorándolo y poder utilizarlo para el objetivo.
Espero que haya ayudado y quedo atento ante cualquier ayuda, corrección del proyecto.
Saludos



0 komentarzy
Zaloguj się lub dołącz bezpłatnie, aby móc komentować