Universidad de Castilla-La Mancha
 
Escuela Superior de Ingeniería Informática

 

  cambiar a curso:   2023-24   2025-26



Grado en Ingeniería Informática


TRABAJOS FIN DE GRADO
curso: 2024-25

Clasificación Jerárquica de Especies de Plantas: Uso de Clustering, Variables Latentes y Modelos de Clasificación Alternativos


Tecnologías Específicas

Computación
 


Descripcion y Objetivos

La biodiversidad vegetal de nuestro planeta es asombrosamente compleja, con un gran número de especies que deben ser clasificadas y estudiadas. La clasificación automática de especies a partir de imágenes es un reto importante dentro del campo de la visión por computadora y el aprendizaje automático. Sin embargo, la naturaleza jerárquica de la taxonomía botánica (familia, género, especie) añade una capa de complejidad adicional.

Este trabajo propone explorar métodos que aprovechen y extiendan esta jerarquía utilizando técnicas de clustering para generar nuevas capas jerárquicas y abordar el problema de clasificación de manera más eficiente. Además, se investigará la posibilidad de introducir variables latentes en el proceso de aprendizaje, que permitan captar información oculta entre las características y la clase objetivo. En lugar de centrarnos únicamente en redes neuronales, exploraremos el uso de clasificadores alternativos, como árboles de decisión, random forests, modelos bayesianos o SVM (máquinas de soporte vectorial), que podrían ser más adecuados o complementarios para ciertos niveles de la jerarquía.

Este proyecto usará como base los datos de la competición de Kaggle "Herbario 2022: Flora de América del Norte" con más de 1 millón de imágenes de plantas vasculares, y planteará enfoques innovadores en el campo de la clasificación jerárquica.

 

Objetivos

  1. Análisis jerárquico de la variable clase: Examinar la estructura jerárquica de los datos (familia, género, especie) y explorar su potencial uso para mejorar la clasificación.
  2. Clustering para extender la jerarquía: Proponer y evaluar técnicas de clustering para introducir niveles adicionales entre las familias y géneros, y así simplificar la clasificación en fases.
  3. Uso de variables latentes: Explorar la creación de variables latentes que capturen información implícita entre las características y la clase objetivo, mejorando el rendimiento del clasificador.
  4. Uso de redes convolucionales: Se usarán redes convolucionales preentrenadas para extraer un vector de características de alto nivel que será usado como conjunto de variables de entrada en los subsecuentes procesos de evaluación.
  5. Clasificadores no neuronales: Evaluar el rendimiento de modelos de clasificación alternativos, como SVM, árboles de decisión o random forests, en el contexto de la clasificación jerárquica.
  6. Desarrollo de un flujo de trabajo jerárquico: Implementar un pipeline de clasificación en fases, donde cada nivel de la jerarquía se aborde de manera secuencial, utilizando los modelos más adecuados para cada nivel.
  7. Despliegue de una aplicación: Desarrollar una aplicación que permita la clasificación de plantas a partir de imágenes, usando los mejores modelos aprendidos.
  8. Escritura de la memoria del TFG: Redactar la memoria documentando los resultados y hallazgos del proyecto.

 

 


Metodología y Competencias

Metodología

  1. Recolección de datos: Preprocesar el conjunto de datos de Kaggle y adaptar el tamaño de los datos a los recursos disponibles para este proyecto. Se hará un análisis preliminar de la estructura jerárquica de las clases.
  2. Preprocesamiento de imágenes: Ajustar las imágenes para mejorar su calidad, con técnicas como el escalado, recorte, y aumento de datos para equilibrar clases menos representadas.
  3. Extracción de características: Se usarán redes convolucionales para la extracción/construcción de un vector de características apropiado que represente en el espacio latente las imágenes de entrada. Se usarán distintos tamaños de vector.
  4. Clustering jerárquico: Aplicar técnicas de clustering (como K-means o clustering aglomerativo) para agrupar familias y géneros similares, creando nuevas capas jerárquicas que simplifiquen la clasificación.
  5. Modelos de clasificación alternativos: Experimentar con distintos modelos de clasificación (árboles de decisión, random forests, SVM, entre otros) para cada nivel de la jerarquía, comparando su rendimiento con redes neuronales convencionales.
  6. Uso de variables latentes: Explorar modelos como Análisis de Componentes Principales (PCA) o Análisis de Factores Latentes para introducir variables latentes que enriquezcan el proceso de aprendizaje.
  7. Evaluación experimental: Realizar una evaluación exhaustiva de los modelos aplicados en cada fase de la jerarquía, usando métricas como precisión, recall, F1-score, y precisión jerárquica.
  8. Desarrollo de la aplicación: Implementar una aplicación de escritorio que permita cargar una imagen de una planta y clasificarla utilizando el modelo seleccionado.
  9. Escritura de la memoria: Documentar el proceso y los resultados en la memoria final.

 

Competencias

Este proyecto desarrollará competencias clave en las siguientes áreas:

  • [CM3] Capacidad para evaluar la complejidad computacional de un problema, conocer estrategias algorítmicas que puedan conducir a su resolución y recomendar, desarrollar e implementar aquella que garantice el mejor rendimiento de acuerdo con los requisitos establecidos.
  • [CM5] Capacidad para adquirir, obtener, formalizar y representar el conocimiento humano en una forma computable para la resolución de problemas mediante un sistema informático en cualquier ámbito de aplicación, particularmente los relacionados con aspectos de computación, percepción y actuación en ambientes o entornos inteligentes.
  • [CM7] Capacidad para conocer y desarrollar técnicas de aprendizaje computacional y diseñar e implementar aplicaciones y sistemas que las utilicen, incluyendo las dedicadas a extracción automática de información y conocimiento a partir de grandes volúmenes de datos.

 

 

 


Medios a utilizar

Se utilizarán ordenadores con acceso a servicios de tarjetas gráficas (GPU) para el entrenamiento de los modelos. También se considerará el uso de servicios en la nube para ejecutar modelos y almacenar datos. Herramientas de programación como Python, junto con librerías especializadas como Scikit-learn, TensorFlow, PyTorch, OpenCV serán necesarias.

 

 


Bibliografía

  • Libros y manuales de clustering, clasificación jerárquica y aprendizaje supervisado.
  • Artículos recientes en conferencias como CVPR, ICCV y NeurIPS, relacionados con la clasificación jerárquica y técnicas de agrupamiento.
  • Manuales y documentación de herramientas de desarrollo y librerías de aprendizaje automático.

 

 

 


Tutores


ALFARO JIMENEZ, JUAN CARLOS
GAMEZ MARTIN, JOSE ANTONIO
 

Alumno


GARCÍA SORIANO, JESÚS

 

 

Sindicación  Sindicación  Sindicación  Sindicación

Curso: 2024-25
© Escuela Superior de Ingeniería Informática
Edificio Infante Don Juan Manuel
Avda. de España s/n
02071 Albacete

informatica.ab@uclm.es
aviso legal
generar código QR de la página