Par Ritwik Gupta, Shufan Li, Tyler Zhu, Jitendra Malik, Trevor Darrell, Karttikeya Mangalam
En tant que chercheurs en vision par ordinateur, nous pensons que chaque pixel peut raconter une histoire. Cependant, il semble y avoir un syndrome de blocage dans le domaine lorsqu’il s’agit de traiter des images de grande taille. Les grandes images ne sont plus rares : les appareils photo que nous portons dans nos poches et ceux qui gravitent autour de notre planète prennent des photos si grandes et si détaillées qu’elles poussent nos meilleurs modèles et matériels actuels jusqu’à leurs points de rupture lors de leur manipulation. Généralement, nous sommes confrontés à une augmentation quadratique de l’utilisation de la mémoire en fonction de la taille de l’image.
Aujourd’hui, nous faisons l’un des deux choix sous-optimaux lors du traitement de grandes images : le sous-échantillonnage ou le recadrage. Ces deux méthodes entraînent des pertes importantes en termes de quantité d’informations et de contexte présents dans une image. Nous réexaminons ces approches et introduisons T, un nouveau framework permettant de modéliser de bout en bout de grandes images sur des GPU contemporains tout en agrégeant efficacement le contexte global avec les détails locaux.
Architecture pour le Cadre en T.
De toute façon, pourquoi s’embêter avec de grandes images ?
De toute façon, pourquoi s’embêter à gérer de grandes images ? Imaginez-vous devant votre téléviseur, en train de regarder votre équipe de football préférée. Le terrain est parsemé de joueurs partout, l’action ne se produisant que sur une petite partie de l’écran à la fois. Seriez-vous cependant satisfait si vous ne pouviez voir qu’une petite zone autour de l’endroit où se trouve actuellement le ballon ? Alternativement, seriez-vous satisfait de regarder le match en basse résolution ? Chaque pixel raconte une histoire, quelle que soit la distance qui les sépare. Cela est vrai dans tous les domaines, depuis votre écran de télévision jusqu’à un pathologiste regardant une lame gigapixel pour diagnostiquer de minuscules plaques de cancer. Ces images sont des trésors d’informations. Si nous ne pouvons pas explorer pleinement la richesse parce que nos outils ne peuvent pas gérer la carte, à quoi ça sert ?
Le sport est amusant quand on sait ce qui se passe.
C’est précisément là que réside la frustration aujourd’hui. Plus l’image est grande, plus nous devons simultanément effectuer un zoom arrière pour voir l’ensemble de l’image et un zoom avant pour les moindres détails, ce qui rend difficile la saisie simultanée de la forêt et des arbres. La plupart des méthodes actuelles obligent à choisir entre perdre de vue la forêt ou manquer les arbres, et aucune des deux options n’est excellente.
Comment J’essaie de résoudre ce problème
Imaginez que vous essayez de résoudre un énorme puzzle. Au lieu de s’attaquer à l’ensemble en même temps, ce qui serait écrasant, vous commencez par des sections plus petites, examinez attentivement chaque élément, puis déterminez comment ils s’intègrent dans l’ensemble. C’est essentiellement ce que nous faisons avec les grandes images avec T.
T prend ces images gigantesques et les découpe hiérarchiquement en morceaux plus petits et plus digestes. Il ne s’agit pas seulement de réduire la taille des choses. Il s’agit de comprendre chaque pièce à part entière, puis, à l’aide de techniques intelligentes, de comprendre comment ces pièces se connectent à une plus grande échelle. C’est comme avoir une conversation avec chaque partie de l’image, apprendre son histoire, puis partager ces histoires avec les autres parties pour obtenir le récit complet.
Tokenisation imbriquée
Au cœur de C’est le concept de tokenisation imbriquée. En termes simples, la tokenisation dans le domaine de la vision par ordinateur revient à découper une image en morceaux (jetons) qu’un modèle peut digérer et analyser. Cependant, T va encore plus loin en introduisant une hiérarchie dans le processus. imbriqué.
Imaginez que vous soyez chargé d’analyser un plan détaillé de la ville. Au lieu d’essayer de visualiser l’intégralité de la carte d’un coup, vous la divisez en quartiers, puis en quartiers au sein de ces quartiers et enfin en rues au sein de ces quartiers. Cette répartition hiérarchique facilite la gestion et la compréhension des détails de la carte tout en gardant une trace de la place de tout dans l’ensemble. C’est l’essence de la tokenisation imbriquée : nous divisons une image en régions, chacune pouvant être divisée en sous-régions supplémentaires en fonction de la taille d’entrée attendue par un squelette de vision (ce que nous appelons un encodeur de région), avant d’être patchifié pour être traité par cet encodeur de région. Cette approche imbriquée nous permet d’extraire des fonctionnalités à différentes échelles au niveau local.
Coordonner les encodeurs de région et de contexte
Une fois qu’une image est soigneusement divisée en jetons, T utilise deux types d’encodeurs pour donner un sens à ces éléments : l’encodeur de région et l’encodeur de contexte. Chacun joue un rôle distinct dans la reconstitution de l’histoire complète de l’image.
L’encodeur de région est un « expert local » autonome qui convertit les régions indépendantes en représentations détaillées. Cependant, étant donné que chaque région est traitée de manière isolée, aucune information n’est partagée sur l’image dans son ensemble. L’encodeur de région peut être n’importe quelle structure de vision de pointe. Dans nos expériences, nous avons utilisé des transformateurs de vision hiérarchiques tels que Swin et hier et aussi des CNN comme ConvNext!
Entrez l’encodeur de contexte, le gourou de la vision globale. Son travail consiste à prendre les représentations détaillées des encodeurs de région et à les assembler, garantissant que les informations d’un jeton sont prises en compte dans le contexte des autres. L’encodeur de contexte est généralement un modèle à séquence longue. Nous expérimentons avec Transformateur-XL (et notre variante appelée Hyper) et Mambabien que vous puissiez utiliser Forme longue et d’autres nouvelles avancées dans ce domaine. Même si ces modèles de séquences longues sont généralement destinés au langage, nous démontrons qu’il est possible de les utiliser efficacement pour des tâches de vision.
La magie de Cela dépend de la manière dont ces composants (la tokenisation imbriquée, les encodeurs de région et les encodeurs de contexte) s’assemblent. En décomposant d’abord l’image en éléments gérables, puis en analysant systématiquement ces éléments à la fois isolément et conjointement, T parvient à maintenir la fidélité des détails de l’image originale tout en intégrant également le contexte longue distance au contexte global. tout en adaptant des images massives, de bout en bout, sur les GPU contemporains.
Résultats
Nous évaluons T sur des tâches de référence difficiles qui couvrent des bases de vision par ordinateur bien établies jusqu’à des tâches rigoureuses sur de grandes images. En particulier, nous expérimentons iNaturaliste 2018 pour la classification des espèces à grain fin, xView3-SAR pour une segmentation dépendante du contexte, et MS-COCO pour la détection.
Modèles de vision puissants utilisés avec T a fixé une nouvelle frontière pour les tâches en aval telles que la classification fine des espèces.
Nos expériences montrent que T peut atteindre une plus grande précision sur toutes les tâches en aval avec moins de paramètres tout en utilisant beaucoup moins de mémoire par région que les lignes de base de pointe*. Nous sommes capables de modéliser des images allant jusqu’à 29 000 x 25 000 pixels sur des A100 de 40 Go, alors que des lignes de base comparables manquent de mémoire à seulement 2 800 x 2 800 pixels.
Modèles de vision puissants utilisés avec T a fixé une nouvelle frontière pour les tâches en aval telles que la classification fine des espèces.
*En fonction de votre choix de modèle de contexte, tel que Transformer-XL.
Pourquoi cela compte plus que vous ne le pensez
Cette approche n’est pas seulement cool ; il est nécessaire. Pour les scientifiques qui suivent le changement climatique ou les médecins qui diagnostiquent des maladies, cela change la donne. Cela signifie créer des modèles qui comprennent toute l’histoire, et pas seulement des fragments. Dans le domaine de la surveillance environnementale, par exemple, être capable de constater à la fois les changements plus larges sur de vastes paysages et les détails de zones spécifiques peut aider à comprendre la situation dans son ensemble de l’impact climatique. Dans le domaine des soins de santé, cela pourrait faire la différence entre détecter une maladie à un stade précoce ou non.
Nous ne prétendons pas avoir résolu tous les problèmes du monde d’un seul coup. Nous espérons qu’avec Nous avons ouvert la porte à ce qui est possible. Nous entrons dans une nouvelle ère où nous n’avons pas à faire de compromis sur la clarté ou l’étendue de notre vision. C’est notre grand pas vers des modèles capables de jongler avec les subtilités des images à grande échelle sans transpirer.
Il y a encore beaucoup de chemin à parcourir. La recherche évoluera et, espérons-le, notre capacité à traiter des images encore plus grandes et plus complexes évoluera également. En fait, nous travaillons sur les suites à donner T qui élargira encore cette frontière.
En conclusion
Pour un traitement complet de ce travail, veuillez consulter l’article sur arXiv. Le page du projet contient un lien vers notre code et nos poids publiés. Si vous trouvez le travail utile, veuillez le citer comme ci-dessous :
@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}
}
Cet article a été initialement publié sur le Blogue BAIRet apparaît ici avec la permission des auteurs.
Mots clés: plongée profonde
Blogue BAIR