Se ha desarrollado un clasificador visual de especies de aves mediante redes neuronales
convolucionales, en lenguaje Python haciendo uso de la libreríaa Keras. Se dispone de un
conjunto de datos de 5771 imágenes repartidas entre 67 clases distintas. Este conjunto
de imágenes fue cedido por Antonio Miguel Pérez Ortigosa, a quien pertenece, para el
desarrollo del presente trabajo. Las clases contempladas son especies de aves, diferenciando
entre machos, hembras y juveniles en su etapa de comienzo de vuelo, allí donde sean
diferenciables (p. e. dimofismo sexual). La arquitectura de red usada es InceptionV3, la
tercera versión de una sucesión de modelos de red dise~nados por Google. Con el objetivo
de agilizar aún más el aprendizaje y conseguir una mejor precisión, se hizo uso de un optimizador
RMSProp y de una tasa de aprendizaje variable forzada cuando el entrenamiento
se quede estancado.
El conjunto de datos inicial incluría imágenes con múltiples aves en pantalla o pocas
imágenes por clase, por lo que se tuvo que proceder a una limpieza de datos. El conjunto
de datos sufría de otro handicap, las imágenes no tenían la misma luminosidad unas que
otras, incluso dentro de la misma clase. Se llevó a cabo la corrección de luminosidad de
las imágenes mediante la normalización del histograma del canal L en el espacio de color
CIELAB, pasándolas tras la normalización al espacio de color RGB otra vez.
Se ha implementado validación cruzada estratficada, con 10 folds, cumpliendo el objetivo
de ser imparcial a la hora de generar un resultado. La precisión media del entrenamiento
se queda en un 86.74 %.
Se desarrolló conjuntamente un interfaz gráfico de usuario con conexión a Wikipedia
para extraer información de la especie clasficada.