Suivez nous sur

DiffSeg : Segmentation Zero-Shot non supervisée utilisant la diffusion stable

Intelligence Artificielle

DiffSeg : Segmentation Zero-Shot non supervisée utilisant la diffusion stable

mm
DiffSeg : Segmentation Zero-Shot non supervisée utilisant la diffusion stable

L’un des principaux défis des modèles basés sur la vision par ordinateur est la génération de masques de segmentation de haute qualité. Les progrès récents dans la formation supervisée à grande échelle ont permis une segmentation sans prise de vue sur différents styles d'images. De plus, la formation non supervisée a simplifié la segmentation sans nécessiter d'annotations détaillées. Malgré ces développements, la construction d’un cadre de vision par ordinateur capable de segmenter n’importe quoi dans un environnement zéro-shot sans annotations reste une tâche complexe. La segmentation sémantique, concept fondamental dans les modèles de vision par ordinateur, consiste à diviser une image en régions plus petites ayant une sémantique uniforme. Cette technique jette les bases de nombreuses tâches en aval, telles que l'imagerie médicale, l'édition d'images, la conduite autonome, etc.

Pour faire progresser le développement des modèles de vision par ordinateur, il est crucial que la segmentation d'images ne se limite pas à un ensemble de données fixe avec des catégories limitées. Elle doit plutôt constituer une tâche fondamentale polyvalente pour diverses autres applications. Cependant, le coût élevé de la collecte d'étiquettes par pixel représente un défi majeur, limitant les progrès des méthodes de segmentation supervisée et sans annotations, qui ne nécessitent pas d'accès préalable à la cible. Cet article explique comment l'auto-attention se superpose. modèles de diffusion stables peut faciliter la création d'un modèle capable de segmenter n'importe quelle entrée dans un cadre zéro-shot, même sans annotations appropriées. Ces couches d'auto-attention comprennent intrinsèquement les concepts d'objet appris par un modèle de diffusion stable pré-entraîné.

DiffSeg : un algorithme de segmentation Zero-Shot amélioré

La segmentation sémantique est un processus qui divise une image en plusieurs sections, chaque section partageant une sémantique similaire. Cette technique constitue la base de nombreuses tâches en aval. Traditionnellement, les tâches de vision par ordinateur sans tir dépendaient d'une segmentation sémantique supervisée, utilisant de grands ensembles de données avec des catégories annotées et étiquetées. Cependant, la mise en œuvre d’une segmentation sémantique non supervisée dans un contexte de zéro-shot reste un défi. Bien que les méthodes supervisées traditionnelles soient efficaces, leur coût d'étiquetage par pixel est souvent prohibitif, ce qui souligne la nécessité de développer des méthodes de segmentation non supervisées dans un contexte de tir zéro moins restrictif, où le modèle ne nécessite ni données annotées ni connaissance préalable des données.

Pour remédier à cette limitation, DiffSeg introduit une nouvelle stratégie de post-traitement, tirant parti des capacités du framework Stable Diffusion pour créer un modèle de segmentation générique capable d'effectuer un transfert zéro sur n'importe quelle image. Les cadres de diffusion stable ont prouvé leur efficacité pour générer des images haute résolution basées sur des conditions rapides. Pour les images générées, ces cadres peuvent produire des masques de segmentation à l'aide d'invites textuelles correspondantes, incluant généralement uniquement les objets dominants de premier plan.

En revanche, DiffSeg est une méthode de post-traitement innovante qui crée des masques de segmentation en utilisant les tenseurs d'attention des couches d'auto-attention dans un modèle de diffusion. L'algorithme DiffSeg est composé de trois composants clés : la fusion itérative de l'attention, l'agrégation de l'attention et la suppression non maximale, comme illustré dans l'image suivante.

L'algorithme DiffSeg préserve les informations visuelles sur plusieurs résolutions en agrégeant les tenseurs d'attention 4D avec une cohérence spatiale et en utilisant un processus de fusion itératif en échantillonnant des points d'ancrage. Ces ancres servent de rampe de lancement pour les masques d'attention fusionnés avec les mêmes ancres d'objet finalement absorbées. Le framework DiffSeg contrôle le processus de fusion à l'aide de Méthode de divergence KL pour mesurer la similarité entre deux cartes d’attention. 

Par rapport aux méthodes de segmentation non supervisée basées sur le clustering, les développeurs n'ont pas besoin de spécifier au préalable le nombre de clusters dans l'algorithme DiffSeg, et même sans aucune connaissance préalable, l'algorithme DiffSeg peut produire une segmentation sans utiliser de ressources supplémentaires. Dans l’ensemble, l’algorithme DiffSeg est «Une nouvelle méthode de segmentation non supervisée et sans prise de vue qui utilise un modèle de diffusion stable pré-entraîné et peut segmenter des images sans ressources supplémentaires ni connaissances préalables. » 

DiffSeg : Concepts fondamentaux

DiffSeg est un nouvel algorithme qui s'appuie sur les apprentissages des modèles de diffusion, de la segmentation non supervisée et de la segmentation Zero-Shot. 

Modèles de diffusion

L'algorithme DiffSeg s'appuie sur les enseignements tirés de modèles de diffusion pré-entraînés. Les modèles de diffusion sont l'un des cadres génératifs les plus populaires pour les modèles de vision par ordinateur. Ils apprennent le processus de diffusion directe et inverse à partir d'une image de bruit gaussien isotrope échantillonnée pour générer une image. La diffusion stable est la variante la plus populaire des modèles de diffusion et elle est utilisée pour effectuer un large éventail de tâches, notamment la segmentation supervisée, la classification sans tir, la correspondance de correspondance sémantique, la segmentation efficace en termes d'étiquettes et la segmentation à vocabulaire ouvert. Cependant, le seul problème des modèles de diffusion est qu’ils s’appuient sur des fonctionnalités visuelles de grande dimension pour effectuer ces tâches, et qu’ils nécessitent souvent une formation supplémentaire pour tirer pleinement parti de ces fonctionnalités. 

Segmentation non supervisée

L'algorithme DiffSeg est étroitement lié à la segmentation non supervisée, une pratique moderne d'IA qui vise à générer des masques de segmentation denses sans utiliser d'annotations. Cependant, pour offrir de bonnes performances, les modèles de segmentation non supervisés nécessitent une formation préalable non supervisée sur l'ensemble de données cible. Les cadres d'IA basés sur la segmentation non supervisée peuvent être caractérisés en deux catégories : le clustering utilisant des modèles pré-entraînés et le clustering basé sur l'invariance. Dans la première catégorie, les frameworks utilisent les caractéristiques discriminantes apprises par des modèles pré-entraînés pour générer des masques de segmentation tandis que les frameworks se trouvant dans la deuxième catégorie utilisent un algorithme de clustering générique qui optimise les informations mutuelles entre deux images pour segmenter les images en clusters sémantiques. et éviter la segmentation dégénérée. 

Segmentation sans tir

L'algorithme DiffSeg est étroitement lié aux cadres de segmentation zéro-shot, une méthode capable de segmenter n'importe quoi sans aucune formation ni connaissance préalable des données. Les modèles de segmentation sans tir ont récemment démontré des capacités de transfert sans tir exceptionnelles, bien qu'ils nécessitent une saisie de texte et des invites. En revanche, l'algorithme DiffSeg utilise un modèle de diffusion pour générer une segmentation sans interroger ni synthétiser plusieurs images et sans connaître le contenu de l'objet. 

DiffSeg : Méthode et Architecture

L'algorithme DiffSeg utilise les couches d'auto-attention dans un modèle de diffusion stable pré-entraîné pour générer des tâches de segmentation de haute qualité. 

Modèle de diffusion stable

La diffusion stable est l'un des concepts fondamentaux du framework DiffSeg. Stable Diffusion est un framework d'IA générative et l'un des modèles de diffusion les plus populaires. L'une des principales caractéristiques d'un modèle de diffusion est un passage aller et retour. Lors du passage direct, une petite quantité de bruit gaussien est ajoutée à une image de manière itérative à chaque pas de temps jusqu'à ce que l'image devienne une image de bruit gaussien isotrope. D'autre part, lors de la passe inverse, le modèle de diffusion supprime de manière itérative le bruit dans l'image de bruit gaussien isotrope pour récupérer l'image originale sans aucun bruit gaussien. 

Le cadre de diffusion stable utilise un encodeur-décodeur et une conception U-Net avec couche d'attention où il utilise un encodeur pour d'abord compresser une image dans un espace latent avec des dimensions spatiales plus petites, et utilise le décodeur pour décompresser l'image. L'architecture U-Net se compose d'une pile de blocs modulaires, où chaque bloc est composé de l'un des deux composants suivants : une couche de transformateur et une couche ResNet. 

Composants et architecture

Couches d'auto-attention dans les modèles de diffusion regroupant les informations des objets inhérents sous la forme de cartes d'attention spatiale, et DiffSeg est une nouvelle méthode de post-traitement pour fusionner les tenseurs d'attention dans un masque de segmentation valide avec le pipeline composé de trois composants principaux : l'agrégation d'attention, suppression non maximale et attention itérative.

Agrégation d’attention

Pour une image d'entrée qui traverse les couches U-Net et l'encodeur, le modèle de diffusion stable génère un total de 16 tenseurs d'attention, avec 5 tenseurs pour chacune des dimensions. L'objectif principal de la génération de 16 tenseurs est d'agréger ces tenseurs d'attention avec différentes résolutions en un tenseur avec la résolution la plus élevée possible. Pour y parvenir, l’algorithme DiffSeg traite les 4 dimensions différemment les unes des autres. 

Sur les quatre dimensions, les 2 dernières dimensions des capteurs d'attention ont des résolutions différentes mais elles sont spatialement cohérentes puisque la carte spatiale 2D du framework DiffSeg correspond à la corrélation entre les emplacements et les emplacements spatiaux. En conséquence, le framework DiffSeg échantillonne ces deux dimensions de toutes les cartes d'attention à la résolution la plus élevée de toutes, 64 x 64. D'autre part, les 2 premières dimensions indiquent la référence de localisation des cartes d'attention, comme le montre l'image suivante. 

Comme ces dimensions font référence à l’emplacement des cartes d’attention, celles-ci doivent être regroupées en conséquence. De plus, pour garantir que la carte d'attention agrégée a une distribution valide, le cadre normalise la distribution après l'agrégation, chaque carte d'attention se voyant attribuer un poids proportionnel à sa résolution. 

Fusion d’attention itérative

Alors que l'objectif principal de l'agrégation d'attention était de calculer un tenseur d'attention, l'objectif principal est de fusionner les cartes d'attention du tenseur avec une pile de propositions d'objets où chaque proposition individuelle contient soit la catégorie d'éléments, soit l'activation d'un seul objet. La solution proposée pour y parvenir consiste à implémenter un algorithme K-Means sur la distribution valide des tenseurs pour trouver les clusters des objets. Cependant, l’utilisation de K-Means n’est pas la solution optimale car le clustering K-Means nécessite que les utilisateurs spécifient au préalable le nombre de clusters. De plus, la mise en œuvre d'un algorithme K-Means peut entraîner des résultats différents pour la même image, car elle dépend stochastiquement de l'initialisation. Pour surmonter cet obstacle, le framework DiffSeg propose de générer une grille d'échantillonnage pour créer les propositions en fusionnant les cartes d'attention de manière itérative. 

Suppression non maximale

L'étape précédente de fusion itérative de l'attention produit une liste de propositions d'objets sous la forme de cartes de probabilité d'attention où chaque proposition d'objet contient l'activation de l'objet. Le cadre utilise la suppression non maximale pour convertir la liste de propositions d'objets en un masque de segmentation valide, et le processus constitue une approche efficace puisque chaque élément de la liste est déjà une carte de la distribution de probabilité. Pour chaque emplacement spatial sur toutes les cartes, l'algorithme prend l'indice de probabilité la plus élevée et attribue une appartenance sur la base de l'indice de la carte correspondante. 

DiffSeg : Expériences et résultats

Les frameworks travaillant sur la segmentation non supervisée utilisent deux benchmarks de segmentation, à savoir Cityscapes et COCO-stuff-27. Le benchmark Cityscapes est un ensemble de données autonome avec 27 catégories de niveau intermédiaire, tandis que le benchmark COCO-stuff-27 est une version organisée de l'ensemble de données COCO-stuff original qui fusionne 80 éléments et 91 catégories en 27 catégories. De plus, pour analyser les performances de segmentation, le framework DiffSeg utilise l'intersection moyenne sur l'union ou mIoU et la précision des pixels ou ACC, et comme l'algorithme DiffSeg est incapable de fournir une étiquette sémantique, il utilise l'algorithme de correspondance hongrois pour attribuer un masque de vérité terrain avec chaque masque prédit. Dans le cas où le nombre de masques prédits dépasse le nombre de masques de vérité terrain, le cadre prendra en compte les tâches prédites sans correspondance comme des faux négatifs. 

De plus, le cadre DiffSeg met également l'accent sur les trois travaux suivants pour exécuter des interférences : la dépendance du langage ou LD, l'adaptation non supervisée ou UA et l'image auxiliaire ou AX. La dépendance linguistique signifie que la méthode a besoin d'entrées de texte descriptives pour faciliter la segmentation de l'image, l'adaptation non supervisée fait référence à l'exigence pour la méthode d'utiliser une formation non supervisée sur l'ensemble de données cible, tandis que l'image auxiliaire fait référence au fait que la méthode nécessite des entrées supplémentaires sous forme d'images synthétiques. ou comme pool d'images de référence. 

Résultats

Sur le benchmark COCO, le cadre DiffSeg comprend deux lignes de base k-means, K-Means-S et K-Means-C. Le benchmark K-Means-C comprend 6 clusters qu'il calcule en faisant la moyenne du nombre d'objets dans les images qu'il évalue tandis que le benchmark K-Means-S utilise un nombre spécifique de clusters pour chaque image en fonction du nombre d'objets présents. dans la vérité terrain de l'image, et les résultats sur ces deux critères sont démontrés dans l'image suivante. 

Comme on peut le constater, la base de référence K-Means surpasse les méthodes existantes, démontrant ainsi l'avantage de l'utilisation de tenseurs d'auto-attention. Ce qui est intéressant, c'est que le benchmark K-Means-S surpasse le benchmark K-Means-C qui indique que le nombre de clusters est un hyper-paramètre fondamental et que son réglage est important pour chaque image. De plus, même en s'appuyant sur les mêmes tenseurs d'attention, le framework DiffSeg surpasse les lignes de base K-Means, ce qui prouve la capacité du framework DiffSeg non seulement à fournir une meilleure segmentation, mais également à éviter les inconvénients posés par l'utilisation des lignes de base K-Means. 

Sur l'ensemble de données Cityscapes, le framework DiffSeg fournit des résultats similaires aux frameworks utilisant des entrées avec une résolution inférieure de 320 tout en surpassant les frameworks qui acceptent des entrées de résolution 512 plus élevées en termes de précision et de mIoU. 

Comme mentionné précédemment, le framework DiffSeg utilise plusieurs hyper-paramètres, comme le montre l'image suivante. 

L'agrégation de l'attention est l'un des concepts fondamentaux utilisés dans le cadre DiffSeg, et les effets de l'utilisation de différents poids d'agrégation sont démontrés dans l'image suivante, la résolution de l'image étant constante. 

Comme on peut l'observer, les cartes à haute résolution de la figure (b) avec des cartes de 64 x 64 donnent les segmentations les plus détaillées, bien que les segmentations présentent des fractures visibles, tandis que les cartes de résolution inférieure de 32 x 32 ont tendance à sur-segmenter les détails, bien que cela entraîne segmentations cohérentes améliorées. Sur la figure (d), les cartes basse résolution ne parviennent à générer aucune segmentation car l'image entière est fusionnée en un objet singulier avec les paramètres d'hyper-paramètres existants. Enfin, la figure (a) qui utilise une stratégie d'agrégation proportionnelle permet d'obtenir des détails améliorés et une cohérence équilibrée. 

Réflexions finales

La segmentation non supervisée sans tir zéro reste l'un des plus grands obstacles pour les cadres de vision par ordinateur, et les modèles existants reposent soit sur une adaptation non supervisée non zéro, soit sur des ressources externes. Pour surmonter cet obstacle, nous avons expliqué comment les couches d'auto-attention dans les modèles de diffusion stables peuvent permettre la construction d'un modèle capable de segmenter n'importe quelle entrée dans un environnement zéro-shot sans annotations appropriées, car ces couches d'auto-attention contiennent les concepts inhérents de l'objet qu'un modèle de diffusion stable pré-entraîné apprend. Nous avons également parlé de DiffSeg, une nouvelle stratégie de post-pressage, visant à exploiter le potentiel du framework Stable Diffusion pour construire un modèle de segmentation générique capable d'implémenter un transfert zéro-shot sur n'importe quelle image. L'algorithme s'appuie sur la similarité inter-attention et la similarité intra-attention pour fusionner les cartes d'attention de manière itérative dans des masques de segmentation valides afin d'obtenir des performances de pointe sur les benchmarks populaires. 

« Ingénieur de profession, écrivain de cœur ». Kunal est un rédacteur technique avec un amour et une compréhension profonds de l'IA et du ML, dédié à la simplification de concepts complexes dans ces domaines grâce à sa documentation engageante et informative.