बाउंडिंग बॉक्स

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

Michal Oleszak

Machine Learning Engineer

Object recognition क्या है?

Object recognition छवियों में ऑब्जेक्ट पहचानता है:

  • हर ऑब्जेक्ट का स्थान (बाउंडिंग बॉक्स)

  • हर ऑब्जेक्ट का क्लास लेबल

उपयोग: निगरानी, चिकित्सा निदान, ट्रैफिक प्रबंधन, स्पोर्ट्स एनालिटिक्स

  • इस वीडियो में: बाउंडिंग बॉक्स से एनोटेशन
  • आगे के वीडियो में: मूल्यांकन और मॉडल्स

 

ड्राइविंग कार डिटेक्शन

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

बाउंडिंग बॉक्स रिप्रेजेंटेशन

  • एक आयताकार बॉक्स जो ऑब्जेक्ट का स्पैटियल स्थान बताता है
  • ट्रेनिंग डेटा एनोटेशन और मॉडल आउटपुट्स
  • ग्राउंड ट्रुथ बाउंडिंग बॉक्स: ऑब्जेक्ट का सटीक स्थान

बाउंडिंग बॉक्स कॉर्डिनेट्स

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

बाउंडिंग बॉक्स रिप्रेजेंटेशन

  • एक आयताकार बॉक्स जो ऑब्जेक्ट का स्पैटियल स्थान बताता है
  • ट्रेनिंग डेटा एनोटेशन और मॉडल आउटपुट्स
  • ग्राउंड ट्रुथ बाउंडिंग बॉक्स: ऑब्जेक्ट का सटीक स्थान
  • बाउंडिंग बॉक्स के कॉर्डिनेट्स:
    • टॉप लेफ्ट और बॉटम राइट
    • Bounding box = (x1, y1, x2, y2)
    • x1 = x_min, x2 = x_max, ...

बाउंडिंग बॉक्स कॉर्डिनेट्स

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

पिक्सेल्स और कॉर्डिनेट्स

बॉक्स कॉर्डिनेट्स

  • Coordinates: x - कॉलम नंबर, y - रो नंबर
  • Origin: (0, 0) - टॉप लेफ्ट कॉर्नर
PyTorch के साथ इमेज के लिए डीप लर्निंग

पिक्सेल्स को टेन्सर में बदलना

ToTensor() से ट्रांसफॉर्म करना

  • टेन्सर टाइप:
    • torch.float
  • स्केल्ड टेन्सर रेंज:
    • [0.0, 1.0]
import torchvision.transforms as transforms

transform = transforms.Compose([ transforms.Resize(224), transforms.ToTensor() ]) image_tensor = transform(image)

PILToTensor() से ट्रांसफॉर्म करना

  • टेन्सर टाइप:
    • torch.uint8 (8-bit integer)
  • अनस्केल्ड टेन्सर रेंज:
    • [0, 255]
import torchvision.transforms as transforms
transform = transforms.Compose([
            transforms.Resize(224),
            transforms.PILToTensor()
            ])
image_tensor = transform(image)
PyTorch के साथ इमेज के लिए डीप लर्निंग

बाउंडिंग बॉक्स बनाना

from torchvision.utils import draw_bounding_boxes


bbox = torch.tensor([x_min, y_min, x_max, y_max]) bbox = bbox.unsqueeze(0)
bbox_image = draw_bounding_boxes( image_tensor, bbox, width=3, colors="red" )
transform = transforms.Compose([ transforms.ToPILImage() ]) pil_image = transform(bbox_image) import matplotlib.pyplot as plt plt.imshow(pil_image)
  • draw_bounding_boxes इम्पोर्ट करें
  • कॉर्डिनेट्स को एक टेन्सर में रखें
  • दो डाइमेंशन्स के लिए अनस्क्वीज़ करें
  • इमेज में बदलें और प्लॉट करें

बॉक्स वाला बिल्ली

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

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

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

Preparing Video For Download...