Panoptik segmentasyon

PyTorch ile Görüntüler için Deep Learning

Michal Oleszak

Machine Learning Engineer

Panoptik segmentasyon görevi

Orijinal görüntü

Orijinal görüntü

Anlamsal segmentasyon

Anlamsal segmentasyon

Örnek segmentasyon

Örnek segmentasyon

Panoptik segmentasyon

Panoptik segmentasyon

PyTorch ile Görüntüler için Deep Learning

Panoptik segmentasyon iş akışı

  • Anlamsal ve örnek segmentasyonu birleştirmek zor olabilir:

    • Örtüşmeler
    • Benzersiz örnek kimlikleri sağlama
  • İş akışımız:

    1. Anlamsal maskeler oluşturun
    2. Tek bir maske halinde birleştirin
    3. Panoptik maskeyi anlamsal maske olarak başlatın
    4. Örnek maskeleri üretin
    5. Örnek maskeler üzerinden geçip tespit edilen nesneleri anlamsal maskeye bindirin
PyTorch ile Görüntüler için Deep Learning

Anlamsal maskeler

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
)
  • Modeli başlatın
  • Girdi görüntü için anlamsal maskeler üretin
  • Her piksel için en yüksek olasılıklı sınıfı seçin

Anlamsal maske

PyTorch ile Görüntüler için Deep Learning

Örnek maskeleri

model = MaskRCNN()

with torch.no_grad(): instance_masks = model(image_tensor)[0]["masks"] print(instance_masks.shape)
torch.Size([80, 1, 427, 640])
  • Örnek segmentasyon modelini yükleyin
  • Örnek maskeleri üretin

Örnek maskesi

PyTorch ile Görüntüler için Deep Learning

Panoptik maskeler

panoptic_mask = torch.clone(semantic_mask)

instance_id = 3 for mask in instance_masks:
panoptic_mask[mask > 0.5] = instance_id
instance_id += 1
  • Panoptik maskeyi semantic_mask ile başlatın
  • Örnek maskeler üzerinde yineleyin
  • mask > 0.5 olan yerlerde panoptik maskeyi örnek kimliğiyle ayarlayın
  • Örnek kimliği sayacını artırın

Panoptik maske

PyTorch ile Görüntüler için Deep Learning

Hadi pratik yapalım!

PyTorch ile Görüntüler için Deep Learning

Preparing Video For Download...