Un nuevo algoritmo desbloquea conocimientos de alta resolución para la visión por computadora

Desarrollado por investigadores de MIT CSAIL, el algoritmo FeatUp aumenta la resolución de cualquier red profunda o base visual para sistemas de visión artificial.

Imagínese mirando una calle concurrida por unos momentos y luego tratando de dibujar de memoria la escena que vio. La mayoría de la gente podría dibujar las posiciones aproximadas de los objetos principales, como automóviles, personas y cruces de peatones. Pero casi nadie puede dibujar cada detalle con una precisión de píxeles perfecta. Lo mismo ocurre con la mayoría de los algoritmos de visión por computadora modernos: son fantásticos para capturar detalles de alto nivel de una escena, pero pierden detalles finos a medida que procesan información.

El algoritmo FeatUp aumenta la resolución de cualquier red profunda

Ahora, los investigadores del MIT han creado un sistema llamado “FeatUp” que permite a los algoritmos capturar todos los detalles de alto y bajo nivel de una escena al mismo tiempo – casi como la cirugía ocular Lasik para visión por computadora.

Cuando los ordenadores aprenden a “ver” mirando imágenes y vídeos, construyen “ideas” de lo que hay en una escena a través de algo llamado “características”. Para crear estas características, redes profundas y modelos de base visual dividen las imágenes en una cuadrícula de pequeños cuadrados y procesan estos cuadrados como un grupo para determinar qué sucede en una foto. Cada pequeño cuadrado suele estar formado por entre 16 y 32 píxeles, por lo que la resolución de estos algoritmos es dramáticamente menor que la de las imágenes con las que trabajan. Al intentar resumir y comprender fotografías, los algoritmos pierden mucha claridad de píxeles.

El algoritmo FeatUp puede detener esta pérdida de información y aumentar la resolución de cualquier red profunda sin comprometer la velocidad o la calidad. Esto permite a los investigadores mejorar rápida y fácilmente la resolución de cualquier algoritmo nuevo o existente. Por ejemplo, imaginemos intentar interpretar las predicciones de un algoritmo de detección de cáncer de pulmón con el objetivo de localizar un tumor. La aplicación de FeatUp antes de interpretar el algoritmo utilizando un método como los mapas de activación de clases (CMA) puede producir una vista mucho más detallada (16-32x) de dónde podría ubicarse el tumor según el modelo.

FeatUp: un marco independiente del modelo para funciones en cualquier resolución (ICLR 2024)

Una demostración rápida de FeatUp, un algoritmo que mejora la resolución de cualquier red de visión profunda.

Página del proyecto: https://aka.ms/featup

FeatUp no solo ayuda a los profesionales a comprender sus modelos, sino que también puede mejorar una variedad de tareas diferentes como la detección de objetos, la segmentación semántica (asignar etiquetas a píxeles en una imagen con etiquetas de objetos) y la estimación de profundidad. Lo logra proporcionando características más precisas y de alta resolución, que son cruciales para crear aplicaciones de visión que van desde la conducción autónoma hasta las imágenes médicas.

La esencia de toda visión por computadora radica en estas características profundas e inteligentes que emergen de las profundidades de las arquitecturas de aprendizaje profundo. El gran desafío de los algoritmos modernos es que reducen imágenes grandes a cuadrículas muy pequeñas de características ‘inteligentes’, obteniendo conocimientos inteligentes, pero perdiendo los detalles más finos”, dice Mark Hamilton, estudiante de doctorado e ingeniería eléctrica e informática del MIT, MIT Computer Science y afiliado del Artificial Intelligence Laboratory (CSAIL), y coautor principal de un artículo sobre el proyecto. “FeatUp ayuda a lograr lo mejor de ambos mundos: representaciones muy inteligentes con la resolución de la imagen original. Estas funciones de alta resolución aumentan significativamente el rendimiento en un espectro de tareas de visión por computadora, desde mejorar la detección de objetos y la predicción de profundidad hasta proporcionar una comprensión más profunda del proceso de toma de decisiones de su red a través de análisis de alta resolución”.

Renacimiento de la resolución

A medida que estos grandes modelos de IA se vuelven cada vez más frecuentes, existe una necesidad cada vez mayor de explicar qué están haciendo, qué están mirando y qué están pensando.

Pero, ¿cómo puede exactamente FeatUp descubrir estos detalles tan finos? Curiosamente, el secreto está en el movimiento de las imágenes.

En particular, FeatUp aplica ajustes menores (como mover la imagen unos pocos píxeles hacia la izquierda o hacia la derecha) y observa cómo responde un algoritmo a estos ligeros movimientos de la imagen. Esto da como resultado cientos de mapas de características profundas que son ligeramente diferentes, que se pueden combinar en un único conjunto de características profundas, nítido y de alta resolución. “Imaginamos que existen algunas características de alta resolución y que, cuando las meneamos y las difuminamos, coincidirán con todas las características originales de menor resolución de las imágenes movidas. Nuestro objetivo es aprender cómo refinar las características de baja resolución para convertirlas en características de alta resolución usando este ‘juego’ que nos permite saber qué tan bien lo estamos haciendo”, dice Hamilton. Esta metodología es análoga a cómo los algoritmos pueden crear un modelo 3D a partir de múltiples imágenes 2D al garantizar que el objeto 3D predicho coincida con todas las fotos 2D utilizadas para crearlo. En el caso de FeatUp, predicen un mapa de características de alta resolución que es consciente con todos los mapas de características de baja resolución formados al alterar la imagen original.

El equipo señala que las herramientas estándar disponibles en PyTorch eran insuficientes para sus necesidades e introdujo un nuevo tipo de capa de red profunda en su búsqueda de una solución rápida y eficiente. Su capa personalizada, una operación especial de muestreo bilateral conjunto, fue más de 100 veces más eficiente que una implementación ingenua en PyTorch. El equipo también demostró que esta nueva capa podría mejorar una amplia variedad de algoritmos diferentes, incluida la segmentación semántica y la predicción de profundidad. Esta capa mejoró la capacidad de la red para procesar y comprender detalles de alta resolución, dando a cualquier algoritmo que la utilizara un aumento sustancial de rendimiento.

Otra aplicación es algo llamado recuperación de objetos pequeños, donde nuestro algoritmo permite una localización precisa de los objetos. Por ejemplo, incluso en escenas de carreteras abarrotadas, los algoritmos enriquecidos con FeatUp pueden ver objetos diminutos como conos de tráfico, reflectores, luces y baches donde fallan sus primos de baja resolución. Esto demuestra su capacidad para mejorar características burdas y convertirlas en señales finalmente detalladas”, dice Stephanie Fu ’22, MNG ’23, estudiante de doctorado en la University of California at Berkeley y otra coautora principal del nuevo artículo FeatUp. “Esto es especialmente crítico para tareas urgentes, como identificar una señal de tráfico en una autopista congestionada en un automóvil sin conductor. Esto no sólo puede mejorar la precisión de dichas tareas al convertir conjeturas amplias en localizaciones exactas, sino que también podría hacer que estos sistemas sean más fiables, interpretables y dignos de confianza”.

Más información:

FeatUp: A Model-Agnostic Framework for Features at Any Resolution

FeatUp: A Model-Agnostic Framework for Features at Any Resolution

Leído en:

Massachusetts Institute of Technology