Segmentation panoptique

Deep Learning pour les images avec PyTorch

Michal Oleszak

Machine Learning Engineer

Défi de la segmentation panoptique

Image originale

Image originale

Segmentation sémantique

Segmentation sémantique

Segmentation d'instances

Segmentation d'instances

Segmentation panoptique

Segmentation panoptique

Deep Learning pour les images avec PyTorch

Enchaînement de segmentation panoptique

  • Combiner la segmentation sémantique et d'instances peut être complexe :

    • Chevauchements
    • Assigner des ID d'instance uniques
  • Notre enchaînement :

    1. Générer des masques sémantiques
    2. Les fusionner en un seul masque
    3. Initialiser le masque panoptique avec le masque sémantique
    4. Générer des masques d'instances
    5. Parcourir les masques d'instances et superposer les objets détectés au masque sémantique
Deep Learning pour les images avec PyTorch

Masques sémantiques

model = UNet()

with torch.no_grad():
    semantic_masks = model(image_tensor) 
    print(semantic_masks.shape)
torch.Size([1, 3, 427, 640])
semantic_mask = torch.argmax(
  semantic_masks, dim=1
)
  • Instancier le modèle
  • Produire les masques sémantiques pour l'image d'entrée
  • Choisir la classe la plus probable par pixel

Masque sémantique

Deep Learning pour les images avec PyTorch

Masques d'instances

model = MaskRCNN()

with torch.no_grad(): instance_masks = model(image_tensor)[0]["masks"] print(instance_masks.shape)
torch.Size([80, 1, 427, 640])
  • Charger le modèle de segmentation d'instances
  • Produire les masques d'instances

Masque d'instances

Deep Learning pour les images avec PyTorch

Masques panoptiques

panoptic_mask = torch.clone(semantic_mask)

instance_id = 3 for mask in instance_masks:
panoptic_mask[mask > 0.5] = instance_id
instance_id += 1
  • Initialiser le masque panoptique avec semantic_mask
  • Parcourir les masques d'instances
  • Attribuer l'ID d'instance au masque panoptique où mask > 0.5
  • Incrémenter le compteur d'ID d'instance

Masque panoptique

Deep Learning pour les images avec PyTorch

Passons à la pratique !

Deep Learning pour les images avec PyTorch

Preparing Video For Download...