पैनॉप्टिक सेगमेंटेशन

PyTorch के साथ इमेज के लिए डीप लर्निंग

Michal Oleszak

Machine Learning Engineer

पैनॉप्टिक सेगमेंटेशन चैलेंज

मूल इमेज

मूल इमेज

सेमांटिक सेगमेंटेशन

सेमांटिक सेगमेंटेशन

इंस्टेंस सेगमेंटेशन

इंस्टेंस सेगमेंटेशन

पैनॉप्टिक सेगमेंटेशन

पैनॉप्टिक सेगमेंटेशन

PyTorch के साथ इमेज के लिए डीप लर्निंग

पैनॉप्टिक सेगमेंटेशन वर्कफ़्लो

  • सेमांटिक और इंस्टेंस सेगमेंटेशन को मिलाना जटिल हो सकता है:

    • ओवरलैप्स
    • यूनिक इंस्टेंस IDs सुनिश्चित करना
  • हमारा वर्कफ़्लो:

    1. सेमांटिक मास्क जनरेट करें
    2. उन्हें एक सिंगल मास्क में मिलाएँ
    3. पैनॉप्टिक मास्क को सेमांटिक मास्क से इनिशियलाइज़ करें
    4. इंस्टेंस मास्क जनरेट करें
    5. इंस्टेंस मास्क पर इटरेट करें और डिटेक्टेड ऑब्जेक्ट्स को सेमांटिक मास्क पर ओवरले करें
PyTorch के साथ इमेज के लिए डीप लर्निंग

सेमांटिक मास्क

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
)
  • मॉडल इंस्टैंशिएट करें
  • इनपुट इमेज के लिए सेमांटिक मास्क बनाएं
  • हर पिक्सेल के लिए सबसे अधिक प्रायिकता वाली क्लास चुनें

सेमांटिक मास्क

PyTorch के साथ इमेज के लिए डीप लर्निंग

इंस्टेंस मास्क

model = MaskRCNN()

with torch.no_grad(): instance_masks = model(image_tensor)[0]["masks"] print(instance_masks.shape)
torch.Size([80, 1, 427, 640])
  • इंस्टेंस सेगमेंटेशन मॉडल लोड करें
  • इंस्टेंस मास्क बनाएं

इंस्टेंस मास्क

PyTorch के साथ इमेज के लिए डीप लर्निंग

पैनॉप्टिक मास्क

panoptic_mask = torch.clone(semantic_mask)

instance_id = 3 for mask in instance_masks:
panoptic_mask[mask > 0.5] = instance_id
instance_id += 1
  • पैनॉप्टिक मास्क को semantic_mask से इनिशियलाइज़ करें
  • इंस्टेंस मास्क पर इटरेट करें
  • जहाँ mask > 0.5 हो, वहाँ पैनॉप्टिक मास्क में इंस्टेंस ID सेट करें
  • इंस्टेंस ID काउंटर बढ़ाएँ

पैनॉप्टिक मास्क

PyTorch के साथ इमेज के लिए डीप लर्निंग

अभ्यास करते हैं!

PyTorch के साथ इमेज के लिए डीप लर्निंग

Preparing Video For Download...