Ciencia+Tecnología

Así enseñamos a los ordenadores a identificar especies de peces

La inteligencia artificial permite identificar peces en imágenes de forma automática. IMEDEA-UIB, Author provided

José Luis Lisani Roca, Universitat de les Illes Balears y Ignacio Catalán Alemany, Instituto Mediterráneo de Estudios Avanzados (IMEDEA – CSIC – UIB)

Para planificar estrategias de gestión sostenible de los recursos marinos, es necesario entender su funcionamiento. En el caso de las poblaciones de peces, necesitamos saber, entre otras variables, su localización, abundancia y fluctuaciones.

En la actualidad la adquisición de datos sobre estos recursos se lleva a cabo de diferentes formas. Una de ellas es el análisis de imágenes submarinas, que suele basarse en la identificación y el conteo manual de las especies en miles de imágenes por parte de personal especializado, lo que implica la inversión de una enorme cantidad de tiempo y esfuerzo.

La automatización del proceso de recogida de datos permitiría la extracción masiva de información con un considerable ahorro de recursos humanos, permitiendo a los investigadores dedicar más tiempo al análisis de los resultados. Además, el aumento del volumen de datos disponibles propiciaría un análisis más preciso y estadísticamente relevante. Esta automatización pasa por enseñar a los ordenadores a ver los peces en las imágenes.

Inteligencia artificial para reconocer objetos

Cuentan que Marvin Minsky (MIT), uno de los padres de la inteligencia artificial, propuso en 1966 a uno de sus alumnos un proyecto de verano consistente en conectar un ordenador a una cámara y conseguir que describiera lo que veía. Ese proyecto, previsto para 3 meses, se ha alargado más de 50 años. Solo en los últimos 8 se han obtenido progresos significativos.

Hasta 2012, el hecho de que los ordenadores pudieran reconocer los objetos presentes en una escena era más ciencia ficción que una posibilidad real. Aunque se habían conseguido algunos progresos, estaban limitados a casos muy particulares (por ejemplo, el reconocimiento de caras) y para imágenes sencillas. A partir de ese año, con la aparición de técnicas de aprendizaje automático basadas en redes neuronales convolucionales profundas, la realidad superó a la ficción.

Una red neuronal artificial es un algoritmo compuesto por varias etapas interconectadas entre sí y llamadas neuronas. Este modelo de conexión se inspira en la forma en que se relacionan las neuronas del cerebro, de ahí su nombre.

Cada neurona artificial implementa una función matemática que combina una serie de operaciones sencillas (sumas y productos de los valores de entrada por unos factores o pesos asociados a la neurona) y una operación más compleja que se aplica a la señal de salida.

En una red neuronal, las neuronas se organizan formando capas, de manera que las salidas de las neuronas de una capa se utilizan como entrada de las neuronas de la capa siguiente.

La concatenación de muchas de estas capas permite crear funciones muy complejas que relacionan los valores de entrada de la red con el valor (o valores) a la salida. Mediante técnicas de optimización, los pesos de la red se pueden ajustar (el algoritmo aprende) para obtener a la salida un resultado adaptado a cada entrada.

Aunque la base teórica de las redes neuronales se estableció a mediados del siglo pasado, no fue hasta principios del presente siglo cuando la potencia de computación permitió procesar la gran cantidad de datos necesaria para la resolución de problemas complejos con este tipo de algoritmos.

Cómo se entrenan las neuronas artificiales

El modelo más habitual de red aplicado al procesamiento de imágenes recibe el nombre de red neural convolucional (o CNN, por sus siglas en inglés). En este caso, cada neurona de la primera capa de la red está conectada a un pequeño grupo de píxeles de la imagen de entrada.

Una de las primeras aplicaciones de las CNN fue la clasificación de imágenes según su contenido. Dada una imagen de entrada, la red debe decidir, por ejemplo, si se trata de la imagen de una persona, de un coche, etc. Para ajustar los pesos de la red (entrenarla) de manera que se cumpla este objetivo son necesarios los siguientes ingredientes:

  • Una gran cantidad de imágenes, llamadas de entrenamiento, que contienen los objetos a reconocer y etiquetadas por un humano (imágenes de personas con la etiqueta “persona”, de coches con la etiqueta “coche”, etc.).
  • Una red que toma como entrada una imagen y proporciona a la salida una etiqueta (“persona”, “coche”, etc.).
  • Una función (función de coste) que compara las etiquetas proporcionadas por la red con las etiquetas asignadas por el humano y que toma un valor mínimo cuando ambas coinciden.

Los pesos de la red se van modificando en el proceso. Si el número de imágenes de entrenamiento y el número de capas de la red son suficientemente grandes, tras un número suficiente de iteraciones la red es capaz de simular la manera que tienen los humanos de etiquetar las imágenes.

En 2012, una CNN profunda (formada por una gran número de capas) llamada AlexNet fue capaz de clasificar 1 000 objetos diferentes con un error muy inferior al de cualquier técnica anterior. Este hecho impulsó definitivamente la utilización de este tipo de algoritmos en el campo de la visión por computador. Desde 2015, las CNN son capaces de clasificar esos 1 000 objetos con un error inferior al cometido por los humanos.

Basados en los principios enunciados más arriba, redes cada vez más complejas se aplicaron desde 2012 al reconocimiento de objetos en imágenes: la red no solo debía distinguir un objeto de otro, sino también indicar en qué parte de la imagen se encontraba. El modelo de red más popular en la actualidad para la resolución de este tipo de problemas fue propuesto en 2018 y recibe el nombre de Mask R-CNN.

Inteligencia artificial para identificar peces

Mask R-CNN se ha utilizado para detectar multitud de objetos de la vida cotidiana, desde coches y personas a corbatas, sillas o cepillos de dientes. Nosotros lo empleamos en el proyecto DEEP-ECOMAR con el objetivo de reconocer diferentes especies de peces en imágenes submarinas.

Para conseguirlo, entrenaremos la red con miles de imágenes previamente etiquetadas por expertos en las que aparecen las especies de interés. Una vez entrenada, la red será capaz de identificar estas especies de manera automática.

La inteligencia artificial puede identificar peces en las imágenes. IMEDEA

Una parte importante del proyecto se dedicará al etiquetado manual de las imágenes, para lo que se desarrollarán herramientas de software que permitirán agilizar la tarea. Asimismo, se investigará el efecto de la aplicación de técnicas de mejora del color y el contraste de las imágenes en los resultados del aprendizaje. Finalmente, se ajustarán los parámetros de la función de coste de la red para obtener resultados óptimos y aplicables a imágenes obtenidas en entornos marinos diferentes al utilizado para el entrenamiento.

El proyecto DEEP-ECOMAR lo realizamos de manera conjunta investigadores del IMEDEA (Instituto Mediterráneo de Estudios Avanzados, CSIC-UIB) y de la Universitat de les Illes Balears (UIB). Utilizaremos el vídeo submarino y el banco de imágenes del observatorio submarino Sub-Eye, situado en Andratx (Mallorca).