Segmentasi panoptik

Deep Learning untuk Gambar dengan PyTorch

Michal Oleszak

Machine Learning Engineer

Tantangan segmentasi panoptik

Gambar asli

Gambar asli

Segmentasi semantik

Segmentasi semantik

Segmentasi instansi

Segmentasi instansi

Segmentasi panoptik

Segmentasi panoptik

Deep Learning untuk Gambar dengan PyTorch

Alur kerja segmentasi panoptik

  • Menggabungkan segmentasi semantik dan instansi bisa rumit:

    • Tumpang tindih
    • Menjamin ID instansi unik
  • Alur kerja kami:

    1. Hasilkan mask semantik
    2. Gabungkan menjadi satu mask
    3. Inisialisasi mask panoptik sebagai mask semantik
    4. Hasilkan mask instansi
    5. Iterasi mask instansi dan timpa objek terdeteksi ke mask semantik
Deep Learning untuk Gambar dengan PyTorch

Mask semantik

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
)
  • Buat instance model
  • Hasilkan mask semantik untuk gambar masukan
  • Pilih kelas dengan probabilitas tertinggi per piksel

Mask semantik

Deep Learning untuk Gambar dengan PyTorch

Mask instansi

model = MaskRCNN()

with torch.no_grad(): instance_masks = model(image_tensor)[0]["masks"] print(instance_masks.shape)
torch.Size([80, 1, 427, 640])
  • Muat model segmentasi instansi
  • Hasilkan mask instansi

Mask instansi

Deep Learning untuk Gambar dengan PyTorch

Mask panoptik

panoptic_mask = torch.clone(semantic_mask)

instance_id = 3 for mask in instance_masks:
panoptic_mask[mask > 0.5] = instance_id
instance_id += 1
  • Inisialisasi mask panoptik sebagai semantic_mask
  • Iterasi atas mask instansi
  • Set mask panoptik ke ID instansi saat mask > 0.5
  • Tambah penghitung ID instansi

Mask panoptik

Deep Learning untuk Gambar dengan PyTorch

Ayo berlatih!

Deep Learning untuk Gambar dengan PyTorch

Preparing Video For Download...