Domingo, 26 de junio de 2022 Iniciar Sesión Suscríbase

La inteligencia artificial y su uso en sistemas de visión

Analizamos cómo se aplica la inteligencia artificial (IA) en los sistemas de visión que pueden emplearse en multitud de sistemas civiles y militares.

Una vez me hicieron una analogía que me pareció muy acertada. Un pez anciano se cruzó con dos peces más jóvenes y les preguntó cómo estaba el agua. Los dos peces, se miraron extrañados y contestaron… ¿qué diablos es el agua?

De la misma forma que el agua para los peces, la IA, cada vez más, va integrándose en nuestras vidas de forma casi imperceptible. Si preguntáramos a cualquier persona acerca de lo que es la inteligencia artificial, tenga o no tenga formación en el ámbito tecnológico sería capaz de darnos una definición más o menos acertada. Esto es un claro indicativo de que la IA ha llegado para quedarse y es por esto por lo que prácticamente toda la industria intenta incorporarla en su día a día, ya sea para beneficiarse de la potencia que ofrece en sus múltiples aplicaciones o simplemente para subirse al tren “marketinero” que les proporciona su tirón mediático.

Sin embargo y antes de seguir ahondando en el tema, es importante discernir entre lo que es la inteligencia artificial, termino más generalista, el aprendizaje automático, el cual hace referencia a la capacidad de un sistema para aprender algo que no ha sido explícitamente programado y el aprendizaje profundo, disciplina englobada dentro del aprendizaje automático y que basa su aprendizaje en redes neuronales. A partir de este momento, nos centraremos en este último por ser el método más importante y comúnmente usado en la ciencia de datos y más concretamente pondremos el foco en las redes neuronales convolucionales (Convolutional Neural Network o CNN), imprescindibles en el campo de la visión por ordenador o computer vision y culpables en gran medida de los avances del aprendizaje profundo en los últimos años.

La siguiente pregunta que nos podemos hacer por lo tanto es, ¿qué son las redes convolucionales? Abordar esta cuestión profundamente sería algo que excedería el objetivo de este artículo, por lo que nos basta con saber que las CNN o redes neuronales convolucionales son unas redes formadas por diversas capas que permiten llevar a cabo un aprendizaje mediante la abstracción de características de la escena que se recibe como entrada. De esta forma, en las primeras capas se analiza la estructura espacial de la imagen aprendiendo a diferenciar colores, formas simples, bordes y otras características generales de ésta, mientras que en las últimas se aprende a averiguar y entender, en base a lo aprendido en las capas previas, qué es lo que estamos viendo. En otras palabras, se ha conseguido que las maquinas puedan percibir el mundo que las rodea, con todas las implicaciones que esto trae consigo.

Arquitectura tipo de una CNN (Run.ai)

Las CNN pueden ser encontradas en multitud de modelos y arquitecturas presentes en el aprendizaje profundo (autoencoders, redes generativas o Pix2Pix son algunos ejemplos de esto) sin embargo, me gustaría destacar tres de los problemas más comunes a los que dan solución:

  • Problemas de clasificación: En los que básicamente tratamos de clasificar una imagen atendiendo a las características extraídas de la misma.
  • Problemas de detección: En los que se pretende localizar un objeto dentro de una escena obteniendo como output las coordenadas de su posición y su clasificación dentro de unas clases predefinidas.
  • Problemas de segmentación semántica: En los que como en el caso anterior se obtiene su clasificación dentro de una serie de clases predefinidas y además el conjunto de píxeles pertenecientes a esa clase dentro de la escena.

A partir de aquí, ya podemos imaginarnos algunas de las muchas aplicaciones de las CNN en los sistemas de visión usados frecuentemente en la industria de defensa. La detección y clasificación de amenazas, seguimiento múltiple de objetivos, detección de Dispositivos Explosivos Improvisados (Improvised Explosive Devide o IEDs),  Sistemas de Ayuda a la Conducción (Advanced Driver Assistance Systems o ADAS), etc son solo algunas de estas aplicaciones.

Un caso de estudio: detectar UAVS mediante su firma térmica

A continuación, y para ilustrar todo lo contado hasta ahora, podemos echar un vistazo al caso de uso estudiado en el paper: Identification of drone thermal signature by convolutional neural network [1] donde se analiza el desempeño de un modelo capaz de detectar y reconocer drones a través de su firma térmica.

Los drones o UAVs en general, se han convertido en una grave amenaza de seguridad, por ello se han desarrollado multitud de herramientas para poder neutralizarlos, sin embargo, su detección y reconocimiento por la noche puede ser una tarea complicada. Este modelo pretende conseguir automatizar estas tareas de forma rápida y simple mediante el uso de cámaras térmicas, obteniéndose resultados como los que se muestran a continuación donde se puede observar cómo se ha realizado la detección y el reconocimiento del objetivo en base a un cierto nivel de confianza o probabilidad:

Detección de drones mediante cámara térmica [1]

Para llegar a esto lo primero es definir la arquitectura del modelo, en este caso, se ha usado la implementación de una red neuronal convolucional. Esta implementación se conoce con el nombre de YOLO (You Only Look Once) y es especialmente útil cuando se desea llevar a cabo detecciones en tiempo real debido a su rapidez de ejecución.

Tras esto, debemos conseguir un set de datos lo suficientemente bueno para que, tras el entrenamiento, el modelo tenga el desempeño buscado. Este punto es crítico en el proceso y por lo general, es por mucho la actividad que consume más tiempo del proyecto.

La obtención de una base de datos extensa y de calidad en el sector de defensa, suele constituir normalmente un problema, ya que hacer esta base de datos puede ser muy costoso. Es necesaria una colaboración estrecha entre el sector privado y las Fuerzas Armadas (usuario final de estos sistemas) para facilitar la recogida y el almacenamiento de los datos e imágenes, tomados en casos reales de uso y tan necesarios para la confección de estos datasets.

No contar con una base de datos buena puede hacer aparecer problemas como el underfitting y el overfitting. El underfitting, consiste en que la base de datos no ha conseguido proporcionar las características necesarias para que el modelo sea capaz de generalizar el conocimiento mientras que el overfitting se produce porque nuestro modelo se aprende las imágenes de entrenamiento y no es capaz de predecir otros elementos que difieran de ellas aun perteneciendo a la misma clase, debido a que no tienen estrictamente las mismas características.

Para evitar estos problemas es crucial asegurar, entre otras cosas, una cantidad mínima de muestras tanto en las etapas de entrenamiento como en la validación, así como un número de clases representativo y balanceado.

Existen diferentes técnicas que se pueden aplicar al set de datos para intentar evitar estos fenómenos. La generación de muestras sintéticas, la transformación de las muestras existentes mediante data augmentation, o incluso la creación de nuevas muestras mediante el uso de redes generativas, podrían ser algunas de ellas.

Otra técnica que da muy buenos resultados es la llamada transferencia de aprendizaje. Esta técnica consiste en tomar un modelo ya entrenado con miles de imágenes pertenecientes a un problema similar y dejarle intacto en las primeras capas todo el conocimiento adquirido previamente para llevar a cabo su anterior aplicación. De esta forma el modelo heredaría la capacidad de su antecesor de reconocer ciertas características y formas que permitirían tras un nuevo entrenamiento de las últimas capas con el set de datos existente amoldarlo al problema en cuestión.

El ejemplo planteado se llevó a cabo con 7913 imágenes de las cuales el 68 % fueron usadas para el entrenamiento, el 8,4 % fueron usadas para la validación y el 22, 8 % fueron usadas para testear el modelo. Con todo esto, consiguieron un ratio de éxito del 98,3 %.

Queda claro, tras leer el paper, que este caso práctico tal y como indican sus autores, es una prueba de concepto, llevado a cabo en un entorno semicontrolado y donde aún existe margen de mejora, sin embargo, también es un ejemplo que nos deja intuir la potencia que pueden tener estos modelos en un sinfín de aplicaciones reales. (Javier Robles Machín CEO y cofundador de Eris Engineering)

[1] Chong Yu Quan, Ong Le Wei Edmond and Sutthiphong Srigrarom. « Identification of drone thermal signature by convolutional neural network » International Conference of Unmanned Air Systems 2021. (ICUAS’21). June 15-18, 2021

Fotografía portada: Analogía peces (Thewholehearted.org)

 

 

 


Copyright © Grupo Edefa S.A. Prohibida la reproducción total o parcial de este artículo sin permiso y autorización previa por parte de la empresa editora.