[ad_1]
Como investigadores de visión por computadora, creemos que cada píxel puede contar una historia. Sin embargo, parece haber un bloqueo del escritor cuando se trata de imágenes de gran tamaño. Las imágenes grandes ya no son una rareza: las cámaras que llevamos en nuestros bolsillos orbitando nuestro planeta toman imágenes tan grandes y detalladas que llevan nuestros mejores modelos y hardware actuales al límite de su manejo. En general, vemos un aumento cuadrático en el uso de memoria en función del tamaño de la imagen.
Hoy en día, cuando trabajamos con imágenes grandes, tomamos una de dos decisiones subóptimas: reducir la resolución o recortar. Estos dos métodos dan como resultado una pérdida significativa de información y contexto en una imagen. Echamos otro vistazo a estos enfoques e introducimos $x$T, un nuevo marco para modelar de un extremo a otro imágenes grandes en GPU modernas y al mismo tiempo agrega de manera efectiva el contexto global con detalles locales.
Arquitectura para el framework $x$T.
¿Por qué molestarse con imágenes grandes?
¿Por qué molestarse en trabajar con imágenes grandes? Imagínese sentado frente a su televisor y viendo su equipo de fútbol favorito. El campo está lleno de jugadores y la acción sólo se desarrolla en una pequeña parte de la pantalla a la vez. Sin embargo, ¿sería feliz si solo pudiera ver un área pequeña alrededor de donde se encuentra actualmente la pelota? Alternativamente, ¿te gustaría ver el juego en baja resolución? Cada píxel cuenta una historia, sin importar lo lejos que estén. Esto es cierto en todo, desde la pantalla de su televisor hasta un patólogo que mira una lente de gigapíxeles para diagnosticar pequeños focos de cáncer. Estas imágenes son tesoros de información. Si no podemos explorar completamente la riqueza porque nuestras herramientas no pueden procesar el mapa, ¿cuál es el punto?
El deporte es divertido cuando sabes lo que está pasando.
Ahí es exactamente donde reside hoy la frustración. Cuanto más grande es la imagen, más tenemos que alejarnos simultáneamente para ver la imagen completa y más acercarnos para ver los detalles más pequeños. Esto hace que sea un desafío capturar tanto el bosque como los árboles al mismo tiempo. La mayoría de los métodos actuales requieren elegir entre perder de vista el bosque o pasar por alto los árboles, y ninguna de las dos opciones es buena.
Cómo $x$T está intentando solucionar este problema
Imagínese intentar resolver un rompecabezas gigante. En lugar de abordar todo de una vez, lo cual sería abrumador, comience con secciones más pequeñas, observe detenidamente cada parte y luego descubra cómo encajan en el panorama general. Esto es básicamente lo que hacemos con imágenes grandes con $x$T.
$x$T toma estas imágenes enormes y las divide jerárquicamente en partes más pequeñas y digeribles. Pero no se trata sólo de hacer las cosas más pequeñas. Se trata de comprender cada parte por sí sola y luego utilizar algunas técnicas inteligentes para descubrir cómo se relacionan esas partes a mayor escala. Es como tener una conversación con cada parte de la imagen, conocer su historia y luego compartirla con las otras partes para obtener la narrativa completa.
Tokenización anidada
En el corazón de $x$T está el concepto de tokenización anidada. En pocas palabras, la tokenización en el campo de la visión por computadora es como dividir una imagen en pedazos (tokens) que un modelo puede digerir y analizar. Sin embargo, $x$T va un paso más allá al introducir una jerarquía en el proceso; por lo tanto, anidado.
Imagine que le encargan analizar un mapa detallado de la ciudad. En lugar de intentar cubrir todo el mapa de una vez, divídalo en vecindarios, luego en vecindarios dentro de esos vecindarios y, finalmente, en calles dentro de esos vecindarios. Esta división jerárquica facilita la gestión y la comprensión de los detalles del mapa y, al mismo tiempo, realiza un seguimiento de dónde encaja todo en el panorama general. Esta es la esencia de la tokenización anidada: dividimos una imagen en regiones, cada una de las cuales se puede dividir en subregiones adicionales dependiendo del tamaño de entrada esperado de una columna vertebral de visión (lo que llamamos a). Codificador de región) antes de que sean parcheados para ser procesados por este codificador de región. Este enfoque anidado nos permite extraer características a diferentes escalas a nivel local.
Coordinación de codificadores de contexto y región
Una vez que una imagen está claramente dividida en tokens, $x$T usa dos tipos de codificadores para darle sentido a estas partes: el codificador de región y el codificador de contexto. Cada uno juega un papel específico en la elaboración de la historia general de la imagen.
El codificador de regiones es un «experto local» autónomo que convierte regiones independientes en representaciones detalladas. Sin embargo, debido a que cada región se procesa de forma aislada, no se distribuye información en toda la imagen. El codificador de región puede ser cualquier columna vertebral de visión de última generación. En nuestros experimentos utilizamos transformadores de visión jerárquica como Swin y Hiera, así como CNN como ConvNeXt.
Ingrese a Context Encoder, el gurú del panorama general. Su trabajo es tomar las representaciones detalladas de los codificadores de región y unirlas para garantizar 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. Estamos experimentando con Transformer-XL (y nuestra variante llamada Hiper) y Mamba, aunque se podrían utilizar Longformer y otros nuevos avances en este ámbito. Aunque estos modelos de secuencia larga generalmente están diseñados para el habla, demostramos que es posible utilizarlos de manera efectiva para tareas visuales.
La magia de $x$T radica 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 individualmente como en conjunto, $x$T logra mantener el nivel de detalle de la imagen original y al mismo tiempo integra el contexto remoto en el contexto general. y al mismo tiempo cambia el tamaño de imágenes masivas de un extremo a otro en GPU modernas.
Resultados
Evaluamos $x$T en tareas de referencia desafiantes que van desde líneas de base de visión por computadora establecidas hasta tareas exigentes a gran escala. Específicamente, experimentamos con iNaturalist 2018 para la clasificación detallada de especies, xView3-SAR para la segmentación contextual y MS-COCO para la detección.
Los potentes modelos de visión utilizados con $x$T establecen nuevos estándares para 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 consumir 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 los modelos A100 de 40 GB, mientras que los modelos básicos comparables se quedan sin memoria con 2.800 x 2.800 píxeles.
Los potentes modelos de visión utilizados con $x$T establecen nuevos estándares para tareas posteriores, como la clasificación detallada de especies.
*Dependiendo de su elección del modelo de contexto, p.e. B. Transformador XL.
Por qué esto es más importante de lo que crees
Este enfoque no sólo es genial; es necesario. Para los científicos que siguen el cambio climático o los médicos que diagnostican enfermedades, esto supone un punto de inflexión. Significa crear modelos que comprendan la historia completa y no sólo partes de ella. En el monitoreo ambiental, por ejemplo, la capacidad de ver tanto los cambios más amplios en paisajes amplios como los detalles de áreas específicas puede ayudar a comprender el panorama más amplio de los impactos climáticos. En el ámbito de la atención sanitaria, puede marcar 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 era en la que no tenemos que ceder en la claridad o amplitud de nuestra visión. $x$T es nuestro gran paso hacia modelos que pueden manejar las complejidades de las imágenes de gran formato sin sudar.
Todavía hay mucho más por hacer. La investigación seguirá evolucionando y, con suerte, también nuestra capacidad para procesar imágenes aún más grandes y complejas. De hecho, estamos trabajando en sucesores de $x$T que ampliarán aún más este límite.
Finalmente
Para una discusión completa de este trabajo, consulte el artículo sobre arXiv. La página del proyecto contiene un enlace a nuestro código y pesos publicados. Si encuentra útil el trabajo, cítelo de la siguiente manera:
@article{xTLargeImageModeling,
title={xT: Nested Tokenization for Larger Context in Large Images},
author={Gupta, Ritwik and Li, Shufan and Zhu, Tyler and Malik, Jitendra and Darrell, Trevor and Mangalam, Karttikeya},
journal={arXiv preprint arXiv:2403.01915},
year={2024}
}
[ad_2]