Como investigadores de visión synthetic, creemos que cada píxel puede contar una historia. Sin embargo, parece que se está produciendo un bloqueo en el campo cuando se trata de trabajar con imágenes de gran tamaño. Las imágenes de gran tamaño ya no son algo raro: las cámaras que llevamos en los bolsillos y las que orbitan nuestro planeta toman fotografías tan grandes y detalladas que exigen al máximo nuestros mejores modelos y {hardware} actuales al manipularlos. En normal, nos enfrentamos a un aumento cuadrático del uso de la memoria en función del tamaño de la imagen.
Hoy, tomamos una de dos decisiones subóptimas al manejar imágenes grandes: reducir la resolución o recortar. Estos dos métodos implican pérdidas significativas en la cantidad de información y contexto presente en una imagen. Analizamos nuevamente estos enfoques y presentamos $x$T, un nuevo marco para modelar imágenes grandes de extremo a extremo en GPU contemporáneas mientras se agrega de manera efectiva el contexto international con detalles locales.
Arquitectura para el marco $x$T.
¿Por qué molestarse con imágenes grandes?
¿Por qué molestarse en manipular imágenes grandes? Imagínese frente a su televisor, viendo a su equipo de fútbol favorito. El campo está lleno de jugadores por todas partes y la acción ocurre solo en una pequeña parte de la pantalla a la vez. Sin embargo, ¿estaría satisfecho si solo pudiera ver una pequeña región alrededor de donde se encuentra el balón en ese momento? Por otra parte, ¿estaría satisfecho viendo el juego en baja resolución? Cada píxel cuenta una historia, sin importar cuán lejos estén. Esto es cierto en todos los ámbitos, desde la pantalla de su televisor hasta un patólogo que ve una diapositiva de gigapíxeles para diagnosticar pequeñas áreas de cáncer. Estas imágenes son tesoros de información. Si no podemos explorar completamente la riqueza porque nuestras herramientas no pueden manejar el mapa, ¿qué sentido tiene?
Los deportes son divertidos cuando sabes lo que está pasando.
Precisamente ahí reside la frustración precise. Cuanto más grande es la imagen, más necesitamos alejarnos para verla en su totalidad y acercarnos para ver los detalles más minuciosos, lo que hace que sea todo un reto captar el bosque y los árboles al mismo tiempo. La mayoría de los métodos actuales nos obligan a elegir entre perder de vista el bosque o no ver los árboles, y ninguna de las dos opciones es buena.
Cómo $x$T intenta solucionar este problema
Imagina que intentas resolver un rompecabezas enorme. En lugar de resolverlo todo de una vez, lo que sería abrumador, empiezas con secciones más pequeñas, observas bien cada pieza y luego averiguas cómo encajan en el panorama normal. Eso es básicamente lo que hacemos con imágenes grandes con $x$T.
$x$T toma estas imágenes gigantescas y las corta en piezas más pequeñas y digeribles de manera jerárquica. Sin embargo, no se trata solo de hacer las cosas más pequeñas, sino de comprender cada pieza por sí misma y luego, utilizando algunas técnicas inteligentes, descubrir cómo se conectan estas piezas a una escala mayor. Es como tener una conversación con cada parte de la imagen, aprender su historia y luego compartir esas historias con las otras partes para obtener la narrativa completa.
Tokenización anidada
En el núcleo de $x$T se encuentra el concepto de tokenización anidada. En términos simples, la tokenización en el ámbito de la visión por computadora es comparable a cortar una imagen en pedazos (tokens) que un modelo puede digerir y analizar. Sin embargo, $x$T lleva esto un paso más allá al introducir una jerarquía en el proceso; por lo tanto, anidado.
Imagina que tienes la tarea de analizar un mapa detallado de una ciudad. En lugar de intentar abarcar todo el mapa de una sola vez, lo divides en distritos, luego en barrios dentro de esos distritos y, por último, en calles dentro de esos barrios. Este desglose jerárquico facilita la gestión y la comprensión de los detalles del mapa, al tiempo que se hace un seguimiento de dónde encaja todo en el panorama normal. Esa es la esencia de la tokenización anidada: dividimos una imagen en regiones, cada una de las cuales se puede dividir en otras subregiones según el tamaño de entrada esperado por una columna vertebral de visión (lo que llamamos una codificador de región), antes de ser parcheados para que sean procesados por el codificador de esa región. Este enfoque anidado nos permite extraer características en diferentes escalas a nivel native.
Codificadores de contexto y región de coordinación
Una vez que una imagen está perfectamente dividida en tokens, $x$T emplea dos tipos de codificadores para darle sentido a estas partes: el codificador de región y el codificador de contexto. Cada uno cumple una función distinta a la hora de reconstruir la historia completa de la imagen.
El codificador de región es un “experto native” autónomo que convierte regiones independientes en representaciones detalladas. Sin embargo, dado que cada región se procesa de forma aislada, no se comparte información entre toda la imagen. El codificador de región puede ser cualquier sistema de visión de última generación. En nuestros experimentos hemos utilizado transformadores de visión jerárquicos como Nadar y Hiera y también CNN como Conversión próxima!
Entra el codificador de contexto, el gurú de la visión normal. Su trabajo es tomar las representaciones detalladas de los codificadores de región y unirlas, asegurando que los conocimientos de un token se consideren en el contexto de los demás. El codificador de contexto es generalmente un modelo de secuencia larga. Experimentamos con Transformador-XL (y nuestra variante llamada Hiper) y Tipo de serpiente venenosaaunque podrías usar De larga trayectoria y otros nuevos avances en esta área. Aunque estos modelos de secuencias largas están generalmente diseñados para el lenguaje, demostramos que es posible utilizarlos de manera efectiva para tareas de visión.
La magia de $x$T está en cómo se combinan estos componentes (la tokenización anidada, los codificadores de región y los codificadores de contexto). Al dividir primero la imagen en partes manejables y luego analizar sistemáticamente estas partes tanto de forma aislada como en conjunto, $x$T logra mantener la fidelidad de los detalles de la imagen authentic y, al mismo tiempo, integrar el contexto de larga distancia con el contexto normal. mientras se ajustan imágenes masivas, de extremo a extremo, en GPU contemporáneas.
Resultados
Evaluamos $x$T en tareas de referencia desafiantes que abarcan desde líneas base de visión por computadora bien establecidas hasta tareas rigurosas de imágenes grandes. En specific, experimentamos con iNaturalista 2018 para una clasificación de especies de grano fino, xView3-SAR para la segmentación dependiente del contexto, y MS-COCO para la detección.
Los potentes modelos de visión utilizados con $x$T establecen una nueva frontera en tareas posteriores, como la clasificación detallada de especies.
Nuestros experimentos muestran que $x$T puede lograr una mayor precisión en todas las tareas posteriores con menos parámetros y al mismo tiempo utilizando mucha menos memoria por región que las líneas de base de última generación.*Podemos modelar imágenes de hasta 29 000 x 25 000 píxeles en un A100 de 40 GB, mientras que las líneas base comparables se quedan sin memoria con solo 2800 x 2800 píxeles.
Los potentes modelos de visión utilizados con $x$T establecen una nueva frontera en tareas posteriores, como la clasificación detallada de especies.
*Dependiendo de su elección del modelo de contexto, como Transformer-XL.
Por qué esto importa más de lo que crees
Este enfoque no sólo es genial, sino necesario. Para los científicos que rastrean el cambio climático o los médicos que diagnostican enfermedades, es un punto de inflexión. Significa crear modelos que comprendan la historia completa, no sólo fragmentos. En el monitoreo ambiental, por ejemplo, poder ver tanto los cambios más amplios en vastos paisajes como los detalles de áreas específicas puede ayudar a comprender el panorama normal del impacto climático. En el cuidado de la salud, podría significar la diferencia entre detectar una enfermedad a tiempo o no.
No pretendemos haber resuelto todos los problemas del mundo de una sola vez. Esperamos que con $x$T hayamos abierto la puerta a lo que es posible. Estamos entrando en una nueva period en la que no tenemos que comprometer la claridad o la amplitud de nuestra visión. $x$T es nuestro gran salto hacia modelos que pueden hacer malabarismos con las complejidades de las imágenes a gran escala sin esfuerzo.
Hay mucho más terreno por cubrir. La investigación evolucionará y, con suerte, también lo hará nuestra capacidad de procesar imágenes aún más grandes y complejas. De hecho, estamos trabajando en nuevas tecnologías para $x$T que ampliarán aún más esta frontera.
En conclusión
Para un tratamiento completo de este trabajo, consulte el artículo en arXiv. El Página del proyecto Contiene un enlace a nuestro código publicado y a los pesos. Si considera que el trabajo le resulta útil, cítelo de la siguiente manera:
@article{xTLargeImageModeling,
title={xT: Nested Tokenization for Bigger Context in Massive Photos},
creator={Gupta, Ritwik and Li, Shufan and Zhu, Tyler and Malik, Jitendra and Darrell, Trevor and Mangalam, Karttikeya},
journal={arXiv preprint arXiv:2403.01915},
yr={2024}
}