MaskFormer: révolutionner la segmentation de l'image avec l'attention du masque
La segmentation de l'image, une pierre angulaire de la vision par ordinateur, bénéficie des progrès de la conception du modèle. MaskFormer se distingue comme une approche révolutionnaire, tirant parti d'un mécanisme d'attention du masque pour relever le défi de segmenter les objets qui se chevauchent - un obstacle significatif pour les méthodes traditionnelles par pixels. Cet article explore l'architecture, l'implémentation et les applications du monde réel.
Les modèles traditionnels de segmentation d'images ont souvent du mal à se chevaucher des objets. MaskFormer, cependant, utilise une architecture de transformateur pour surmonter cette limitation. Alors que des modèles tels que R-CNN et DETR offrent des capacités similaires, l'approche unique de MaskFormer garantit un examen plus approfondi.
Objectifs d'apprentissage:
(Cet article fait partie du blogathon de la science des données.)
Table des matières:
Qu'est-ce que MaskFormer?
MaskFormer excelle dans la segmentation sémantique et d'instance. La segmentation sémantique attribue une étiquette de classe à chaque pixel, regroupant des objets similaires. La segmentation des instances distingue cependant les instances individuelles de la même classe. MaskFormer gère uniquement les deux types à l'aide d'une approche de classification de masque unifiée. Cette approche prédit une étiquette de classe et un masque binaire pour chaque instance d'objet, permettant des masques qui se chevauchent.
Architecture du modèle MaskFormer
MaskFormer utilise une architecture de transformateur avec une structure d'encodeur.
Un réseau neuronal convolutionnel (CNN) extrait les caractéristiques de l'image (F). Un décodeur de pixels génère des incorporations par pixels (E), capturant le contexte local et global. Un décodeur de transformateur génère des incorporations par segment (Q), localisant les instances d'objet potentiels. Le produit DOT des incorporations de pixels et de masques, suivis d'une activation sigmoïde, produit des masques binaires. Pour la segmentation sémantique, ces masques et étiquettes de classe sont combinés via la multiplication matricielle. Cela diffère des transformateurs traditionnels, où la colonne vertébrale agit comme l'encodeur.
Exécuter le modèle
Cette section détaille l'inférence exécutée à l'aide de la bibliothèque de transformateurs Face Hugging Face.
Importation de bibliothèques:
De Transformers Import MaskFormerFeatuextracteur, MaskFormerForinstangesegmentation à partir de l'image d'importation PIL Demandes d'importation
Chargement du modèle pré-formé:
featuor_extractor = maskformèrefeatureExtractor.from_pretraind ("Facebook / MaskFormer-Swin-Base-Coco") Model = maskformmerForinStangeSegmentation.from_pretraind ("Facebook / MaskFormer-Swin-Base-Coco")
Préparation d'image:
url = "https://images.pexels.com/photos/5079180/pexels-photo-5079180.jpeg" image = image.open (requêtes.get (url, stream = true) .raw) entrées = fonctionnalité_extractor (images = image, return_tensers = "pt")
Inférence du modèle:
sorties = modèle (** entrées) class_queries_logits = output.class_queries_logits masks_queries_logits = output.masks_queries_logits
Visualisation des résultats:
result = feature_extractor.post_process_panoptic_segmentation (sorties, cible_sizes = [image.size [:: - 1]]) [0] prédit_panoptic_map = résultat ["segmentation"] Importer une torche Importer Matplotlib.pyplot en tant que plt plt.imshow (prédit_panoptic_map) plt.axis ('off') plt.show ()
Applications réelles de MaskFormer
MaskFormer trouve des applications dans divers domaines:
Conclusion
L'approche innovante de MaskFormer à la segmentation de l'image, en particulier sa gestion des objets qui se chevauchent, en fait un outil puissant. Sa polyvalence à travers les tâches sémantiques et de segmentation par instance le positionne comme une progression importante dans la vision par ordinateur.
Ressources:
Les principaux plats à retenir:
Questions fréquemment posées:
Q1. Qu'est-ce qui différencie Maskformer des modèles de segmentation traditionnels? A. Son mécanisme d'attention de masque et son architecture du transformateur permettent une manipulation supérieure des objets qui se chevauchent.
Q2. MaskFormer gère-t-il la segmentation sémantique et d'instance? A. Oui, il excelle dans les deux.
Q3. Quelles industries bénéficient de MaskFormer? A. Les soins de santé, l'analyse géospatiale et la sécurité sont des principaux bénéficiaires.
Q4. Comment MaskFormer génère-t-il l'image segmentée finale? A. en combinant des masques binaires et des étiquettes de classe par la multiplication matricielle.
(Remarque: les images utilisées ne appartiennent pas à l'auteur et sont utilisées avec autorisation.)
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!