ModÃĻles et plateformes d’IA

TinySAM : ModÃĻle de segmentation efficace pour tout segmenter

mm
Ajouter Unite.AI à vos sources prÃĐfÃĐrÃĐes sur Google

La segmentation d’objets est un domaine fondamental et crucial dans la vision par ordinateur moderne. Elle joue un rÃīle essentiel dans les applications nÃĐcessitant des composants visuels ÃĐtendus, tels que la localisation et l’identification d’objets, et nÃĐcessite une segmentation rapide, prÃĐcise et en temps rÃĐel. Cette importance a fait de la segmentation d’objets un sujet de recherche constamment populaire, avec des travaux significatifs rÃĐalisÃĐs dans des domaines tels que la segmentation d’instances, la segmentation sÃĐmantique et la segmentation panoptique.

Avec l’ÃĐvolution de la segmentation d’objets, le ModÃĻle de segmentation de tout (SAM) est apparu comme un outil remarquable, prÃĐsentant des capacitÃĐs de segmentation exceptionnelles et ÃĐtant rapidement adoptÃĐ dans diverses applications de vision par ordinateur. Les cadres utilisant une architecture SAM prÃĐ-entraÃŪnÃĐe ont obtenu des performances impressionnantes dans les tÃĒches de vision en aval. Cependant, malgrÃĐ ses capacitÃĐs et sa grande prÃĐcision dans les tÃĒches de segmentation, l’architecture complexe et lourde du SAM nÃĐcessite une puissance de calcul importante, ce qui entrave sa mise en œuvre sur des appareils à ressources computationnelles limitÃĐes.

Pour rÃĐpondre aux dÃĐfis de calcul du SAM, les chercheurs ont dÃĐveloppÃĐ le Tiny Segment Anything Model (TinySAM), qui conserve les performances de zÃĐro-shot de la trame d’origine tout en ÃĐtant plus lÃĐger. Le TinySAM utilise une mÃĐthode de distillation des connaissances à plein stage avec des invites difficiles en ligne pour crÃĐer un modÃĻle d’ÃĐtudiant plus efficace. La quantification post-formation adaptÃĐe aux tÃĒches de segmentation invocables rÃĐduit encore les besoins de calcul. De plus, la conception du TinySAM vise à segmenter de maniÃĻre hiÃĐrarchique tout, ce qui double presque la vitesse d’infÃĐrence sans compromettre les performances.

Cet article se penche sur le cadre TinySAM, en explorant ses principes fondamentaux, son architecture et ses performances par rapport à d’autres cadres de segmentation d’ÃĐtat de l’art. Explorons ces aspects en dÃĐtail.

TinySAM : ModÃĻle de segmentation efficace pour tout segmenter

Le ModÃĻle de segmentation de tout a contribuÃĐ Ã  la progression rapide de plusieurs applications de vision par ordinateur en raison de ses capacitÃĐs de segmentation remarquables, couplÃĐes à un ÃĐnorme ensemble de donnÃĐes de segmentation qui abrite plus de 11 millions d’images et plus d’un milliard de masques d’image. En raison de ses performances exceptionnelles dans les tÃĒches de segmentation d’objets avec des catÃĐgories et des formes arbitraires, il sert de base pour les cadres qui effectuent des tÃĒches en aval telles que le retouching d’images, le suivi d’objets, la vision 3D et plus encore. De plus, le ModÃĻle de segmentation de tout offre des performances de segmentation zÃĐro-shot remarquables qui ont bÃĐnÃĐficiÃĐ Ã  des industries sensibles qui travaillent avec une quantitÃĐ limitÃĐe de donnÃĐes, notamment les industries de la recherche mÃĐdicale et de l’imagerie mÃĐdicale.

Bien que l’on ne puisse pas remettre en question les capacitÃĐs de segmentation remarquables offertes par le ModÃĻle de segmentation de tout sur une large gamme de tÃĒches de vision en aval, il a son inconvÃĐnient en termes de surcharge architecturale complexe, de besoins de calcul ÃĐlevÃĐs et de coÃŧts d’exploitation importants. Pour un systÃĻme fonctionnant sur une GPU moderne, le temps d’infÃĐrence d’un modÃĻle SAM peut Être aussi ÃĐlevÃĐ que 2 secondes pour une image 1024×1024. Par consÃĐquent, il est trÃĻs difficile de mettre en œuvre des applications SAM sur des appareils à ressources computationnelles limitÃĐes. Pour surmonter cet obstacle, des travaux rÃĐcents tels que MobileSAM et FastSAM ont tentÃĐ de dÃĐvelopper un modÃĻle SAM plus efficace sur le plan computationnel. Le cadre MobileSAM tente de remplacer le composant lourd de l’encodeur d’image par l’architecture de la trame TinyViT, tandis que le modÃĻle FastSAM transfÃĻre la tÃĒche de segmentation à une tÃĒche de segmentation d’instances avec une seule catÃĐgorie avec le modÃĻle YoloV8. Bien que ces mÃĐthodes aient pu atteindre un certain niveau de succÃĻs en termes de rÃĐduction des besoins de calcul, elles n’ont pas pu maintenir les performances, en particulier sur les tÃĒches zÃĐro-shot en aval.

TinySAM ou le Tiny Segment Anything Model est une tentative pour rÃĐduire les besoins de calcul du modÃĻle SAM actuel sans nuire aux performances sur les tÃĒches zÃĐro-shot en aval. De plus, le cadre TinySAM propose de mettre en œuvre une mÃĐthode de distillation des connaissances à plein stage dans son architecture, dans le but d’amÃĐliorer la capacitÃĐ du rÃĐseau d’ÃĐtudiant compact. Le cadre TinySAM distille le rÃĐseau d’ÃĐtudiant de maniÃĻre globale sous la supervision du rÃĐseau d’enseignant à diffÃĐrents stades. Pour amÃĐliorer les performances, le cadre permet à la distillation de se concentrer davantage sur les exemples difficiles en mettant en œuvre une stratÃĐgie d’ÃĐchantillonnage d’invites difficiles en ligne. De plus, pour rÃĐduire encore les coÃŧts de calcul, le cadre TinySAM expose les tÃĒches de segmentation invocables aux composants de quantification post-formation.

La majeure partie des besoins de calcul du ModÃĻle de segmentation de tout est due au fait que le modÃĻle gÃĐnÃĻre des masques massifs à partir des points de grille pour segmenter tout dans l’image. Pour surmonter les besoins de calcul de cette stratÃĐgie de segmentation, le cadre TinySAM emploie une stratÃĐgie de segmentation hiÃĐrarchique, qui double presque la vitesse d’infÃĐrence sans compromettre les performances. Avec ces mÃĐthodes mises en œuvre dans son architecture, le cadre TinySAM offre une rÃĐduction significative des besoins de calcul et fixe de nouvelles limites pour les tÃĒches de segmentation efficaces.

TinySAM : Architecture et mÃĐthodologie

Avant de discuter de l’architecture et de la mÃĐthodologie du cadre TinySAM, il est important de regarder d’abord son prÃĐdÃĐcesseur, le cadre SAM. Depuis son introduction, le ModÃĻle de segmentation de tout a dÃĐmontrÃĐ des performances remarquables, une polyvalence et des capacitÃĐs de gÃĐnÃĐralisation à travers une gamme de tÃĒches de vision et de segmentation d’objets.

Au cœur du modÃĻle SAM, il y a trois sous-rÃĐseaux : l’encodeur d’invite, l’encodeur d’image et le dÃĐcodeur de masque. L’objectif principal de l’encodeur d’invite est de coder les masques de formes arbitraires, les points et les boÃŪtes d’entrÃĐe, ainsi que le texte libre avec des informations de position. L’encodeur d’image est un rÃĐseau lourd basÃĐ sur un transformateur de vision qui extrait l’image d’entrÃĐe en embeddings. Le modÃĻle utilise diffÃĐrents rÃĐseaux pour traiter les invites gÃĐomÃĐtriques et textuelles. Enfin, le dÃĐcodeur de masque contient un transformateur à deux voies qui reçoit la sortie de l’encodeur d’invite et de l’encodeur d’image pour gÃĐnÃĐrer la prÃĐdiction finale du masque. Avec l’ensemble de donnÃĐes, le cadre SAM dÃĐmontre des capacitÃĐs de segmentation de haute qualitÃĐ pour les objets, quelle que soit leur forme et leur catÃĐgorie. De plus, le ModÃĻle de segmentation de tout dÃĐmontre des performances remarquables et une efficacitÃĐ Ã  travers les tÃĒches de vision zÃĐro-shot, notamment la proposition d’objets, la dÃĐtection de bords, la prÃĐdiction de masque de texte et la segmentation d’instances. En raison de ses capacitÃĐs de segmentation de haute qualitÃĐ et de ses invites flexibles, les cadres SAM forment la base des applications de vision. Cependant, on ne peut pas ignorer les besoins de calcul ÃĐlevÃĐs de l’architecture SAM traditionnelle, avec un grand nombre de paramÃĻtres qui rendent presque impossible pour les dÃĐveloppeurs de dÃĐployer des applications SAM sur des appareils à ressources computationnelles limitÃĐes.

Distillation des connaissances

La distillation des connaissances est une approche importante pour amÃĐliorer les performances des rÃĐseaux compacts pendant la phase d’entraÃŪnement. La mÃĐthode de distillation des connaissances utilise la sortie du rÃĐseau d’enseignant pour superviser l’entraÃŪnement du rÃĐseau d’ÃĐtudiant lÃĐger. La mÃĐthode de distillation des connaissances peut Être divisÃĐe en deux sous-catÃĐgories : la distillation pour les fonctionnalitÃĐs intermÃĐdiaires et la distillation pour les sorties de rÃĐseau, avec la majoritÃĐ des travaux de recherche sur la distillation des connaissances se concentrant sur les tÃĒches de classification d’images.

Comme indiquÃĐ plus haut, la figure suivante montre l’architecture gÃĐnÃĐrique du cadre TinySAM, ainsi que les performances sur les tÃĒches de segmentation d’instances zÃĐro-shot.

Dans la premiÃĻre ÃĐtape, le cadre TinySAM met en œuvre la distillation des connaissances conçue spÃĐcifiquement pour le cadre SAM, et pour activer le processus de distillation, le modÃĻle utilise un ÃĐchantillonnage d’invites difficiles en ligne pour extraire les connaissances difficiles du rÃĐseau d’enseignant vers le rÃĐseau d’ÃĐtudiant. Dans la deuxiÃĻme ÃĐtape, le cadre TinySAM adapte la mÃĐthode de quantification post-formation aux tÃĒches de segmentation invocables et la met en œuvre sur le rÃĐseau d’ÃĐtudiant lÃĐger. Enfin, le modÃĻle met en œuvre le mode d’infÃĐrence de segmentation hiÃĐrarchique conçu pour les tÃĒches de segmentation, ce qui double la vitesse d’infÃĐrence avec une perte d’exactitude nÃĐgligeable.

Distillation des connaissances à plein stage

Comme mentionnÃĐ plus haut, le ModÃĻle de segmentation de tout se compose de trois sous-rÃĐseaux au cœur : l’encodeur d’invite, l’encodeur d’image et le dÃĐcodeur de masque, avec le composant d’encodeur d’image construit sur un transformateur de vision et ayant des besoins de calcul ÃĐlevÃĐs. Pour rÃĐsoudre ce problÃĻme, le cadre MobileSAM a remplacÃĐ le transformateur de vision par un TinyViT ou un transformateur de vision miniature, bien que le remplacement n’ait pas ÃĐtÃĐ efficace en raison de la perte de performance significative. Pour garantir qu’il n’y ait pas de perte de performance, le cadre TinySAM met en œuvre une mÃĐthode de distillation des connaissances à plein stage qui guide le rÃĐseau d’ÃĐtudiant lÃĐger de l’encodeur d’image depuis le niveau d’apprentissage jusqu’au niveau de connaissance multiple. En plus de la perte conventionnelle entre les ÃĐtiquettes de vÃĐritÃĐ et les rÃĐsultats prÃĐdits, le cadre TinySAM introduit plusieurs pertes de distillation pendant diffÃĐrentes ÃĐtapes, comme indiquÃĐ dans la figure suivante.

Quantification

La quantification de modÃĻle est une approche populaire dans les cadres de vision par ordinateur et est utilisÃĐe pour compresser le modÃĻle en quantifiant les poids ou les activations depuis une bande passante plus ÃĐlevÃĐe vers une bande passante plus basse dans le but de rÃĐduire la complexitÃĐ de calcul et les besoins de stockage sans dÃĐgrader significativement la qualitÃĐ de sortie.

L’objectif principal de la quantification dans le TinySAM est de projeter le tenseur à virgule flottante sur le tenseur entier à l’aide d’un facteur d’ÃĐchelle, avec la mÃĐtrique pour mesurer la distance entre la multiplication de matrices et la matrice quantifiÃĐe jouant un rÃīle essentiel pour optimiser le facteur d’ÃĐchelle.

Segmentation hiÃĐrarchique

Le ModÃĻle de segmentation de tout propose d’utiliser un gÃĐnÃĐrateur de masque automatique qui ÃĐchantillonne des points sous forme de grille pour segmenter tout dans l’image. Cependant, il a ÃĐtÃĐ indiquÃĐ que l’utilisation d’une grille de points dense entraÃŪne des sorties de segmentation trop fines et que le processus nÃĐcessite des besoins de calcul importants et engendre des coÃŧts d’exploitation ÃĐlevÃĐs. De plus, d’une part, trop de points d’ÃĐchantillonnage pour un objet complet peuvent entraÃŪner une segmentation incorrecte de diffÃĐrentes sections de l’objet en masques distincts, tandis que d’autre part, le coÃŧt temps de l’infÃĐrence du mode tout est principalement dÃŧ au fait que l’encodeur d’image a ÃĐtÃĐ rÃĐduit de maniÃĻre significative. Pour rÃĐduire le coÃŧt d’exploitation du mode tout, le cadre TinySAM utilise une approche de gÃĐnÃĐration de masque hiÃĐrarchique, avec la diffÃĐrence dans la stratÃĐgie par rapport au cadre SAM d’origine dÃĐmontrÃĐe dans l’image suivante.

DiffÃĐrent de l’approche mise en œuvre dans le cadre SAM d’origine, le modÃĻle TinySAM n’utilise que 25 % des points de chaque cÃītÃĐ, ce qui signifie qu’il utilise seulement 1/16 des points disponibles dans la configuration d’origine. Le modÃĻle infÃĻre ensuite le dÃĐcodeur de masque et l’encodeur d’invite avec ces invites et obtient la sortie. Le modÃĻle filtre ensuite certains masques avec une confiance dÃĐpassant un certain seuil et masque les emplacements correspondants comme des zones pour les prÃĐdictions finales potentielles. Puisque le modÃĻle traite ces rÃĐgions comme le rÃĐsultat de la segmentation d’instances avec une confiance ÃĐlevÃĐe, il n’a pas besoin de gÃĐnÃĐrer des invites de points. La stratÃĐgie non seulement aide à prÃĐvenir la segmentation trop fine de l’objet, mais elle aide ÃĐgalement à rÃĐduire les coÃŧts d’exploitation et les besoins de calcul de maniÃĻre significative. Le cadre fusionne ensuite et post-traite les rÃĐsultats de ces deux ÃĐtapes pour obtenir les masques finals.

TinySAM : ExpÃĐriences et rÃĐsultats

Pour accÃĐlÃĐrer le processus de distillation, le cadre TinySAM calcule et stocke les embeddings d’images du rÃĐseau d’enseignant à l’avance, ce qui signifie qu’il n’est pas nÃĐcessaire pour le modÃĻle de calculer l’encodeur d’image lourd du rÃĐseau d’enseignant à plusieurs reprises pendant la phase d’entraÃŪnement. Pour la quantification post-formation, le cadre TinySAM quantifie toutes les couches de multiplication de matrices, les couches de convolution, les couches de dÃĐconvolution et les couches linÃĐaires, avec le modÃĻle utilisant des facteurs d’ÃĐchelle canal par canal pour les couches de convolution et de dÃĐconvolution. Pour les couches de multiplication de matrices, le modÃĻle met en œuvre des facteurs d’ÃĐchelle tÊte par tÊte, tandis que pour les couches linÃĐaires, le modÃĻle met en œuvre des facteurs d’ÃĐchelle linÃĐaire par linÃĐaire. Le modÃĻle effectue ÃĐgalement une ÃĐvaluation sur les tÃĒches en aval zÃĐro-shot.

Pour les tÃĒches de segmentation d’instances dans un contexte zÃĐro-shot, le cadre TinySAM suit les paramÃĻtres expÃĐrimentaux de son prÃĐdÃĐcesseur, le ModÃĻle de segmentation de tout, et utilise les rÃĐsultats de dÃĐtection d’objets du cadre Vision Transformer Det-H ou VitDet-H pour la segmentation d’instances. Comme dÃĐmontrÃĐ dans l’image suivante, le cadre TinySAM surpasse les mÃĐthodes existantes en termes de prÃĐcision de segmentation d’instances et de score FLOPs.

De plus, les performances qualitatives du modÃĻle TinySAM sont dÃĐmontrÃĐes dans l’image suivante pour la segmentation d’instances zÃĐro-shot, avec la boÃŪte verte reprÃĐsentant les invites de boÃŪte.

En termes d’ÃĐvaluation de masque valide zÃĐro-shot, le modÃĻle TinySAM surpasse de maniÃĻre significative le cadre MobileSAM sur diffÃĐrents ensembles de donnÃĐes et fournit des rÃĐsultats substantiellement meilleurs lorsque le cadre utilise un nombre rÃĐduit de points comme invites.

De plus, le tableau suivant rÃĐsume les rÃĐsultats de l’accÃĐlÃĐration et de la rÃĐduction des besoins de calcul obtenus grÃĒce à la stratÃĐgie de mode tout hiÃĐrarchique. Le modÃĻle applique le mÊme score de stabilitÃĐ et la mÊme valeur de seuil avec diffÃĐrentes stratÃĐgies pour une comparaison ÃĐquitable, et les rÃĐsultats sont rÃĐsumÃĐs ci-dessous.

PensÃĐes finales

Dans cet article, nous avons discutÃĐ du TinySAM, un cadre proposÃĐ qui pousse les limites pour segmenter n’importe quelle tÃĒche, et obtient une architecture de modÃĻle efficace avec moins de besoins de calcul et une prÃĐcision ÃĐquivalente à celle du cadre SAM d’origine. Le TinySAM ou le Tiny Segment Anything Model conserve et livre les performances zÃĐro-shot de la trame d’origine. Le cadre TinySAM met d’abord en œuvre une mÃĐthode de distillation des connaissances à plein stage qui utilise des invites difficiles en ligne pour distiller un modÃĻle d’ÃĐtudiant lÃĐger. Le cadre TinySAM adapte ensuite la quantification post-formation aux tÃĒches de segmentation invocables, ce qui aide à rÃĐduire encore les besoins de calcul. De plus, le cadre vise ÃĐgalement à segmenter de maniÃĻre hiÃĐrarchique tout, ce qui double presque la vitesse d’infÃĐrence sans affecter les performances.

Un ingÃĐnieur de profession, un ÃĐcrivain de cœur. Kunal est un rÃĐdacteur technique avec une profonde affection et une comprÃĐhension de l'IA et du ML, dÃĐdiÃĐ Ã  simplifier les concepts complexes dans ces domaines grÃĒce à sa documentation engageante et informative.