Sınır kutuları

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

Michal Oleszak

Machine Learning Engineer

Nesne tanıma nedir?

Nesne tanıma, görsellerdeki nesneleri belirler:

  • Görseldeki her nesnenin konumu (sınır kutusu)

  • Her nesnenin sınıf etiketi

Uygulamalar: güvenlik, tıbbi tanı, trafik yönetimi, spor analitiği

  • Bu videoda: sınır kutuları ile anotasyon
  • Sonraki videolarda: değerlendirme ve modeller

 

araç algılama sürüş

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

Sınır kutusu gösterimi

  • Nesnenin konumunu tanımlayan dikdörtgen kutu
  • Eğitim verisi anotasyonları ve model çıktıları
  • Gerçek değer sınır kutusu: nesnenin kesin konumu

sınır kutusu koordinatları

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

Sınır kutusu gösterimi

  • Nesnenin konumunu tanımlayan dikdörtgen kutu
  • Eğitim verisi anotasyonları ve model çıktıları
  • Gerçek değer sınır kutusu: nesnenin kesin konumu
  • Sınır kutusu koordinatları:
    • Sol üst ve sağ alt
    • Sınır kutusu = (x1, y1, x2, y2)
    • x1 = x_min, x2 = x_max, ...

sınır kutusu koordinatları

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

Pikseller ve koordinatlar

kutu koordinatları

  • Koordinatlar: x - sütun numarası, y - satır numarası
  • Başlangıç noktası: (0, 0) - sol üst köşe
PyTorch ile Görüntüler için Deep Learning

Pikselleri tensörlere dönüştürme

ToTensor() ile dönüştürme

  • Tensör tipi:
    • torch.float
  • Ölçeklenmiş aralık:
    • [0.0, 1.0]
import torchvision.transforms as transforms

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

PILToTensor() ile dönüştürme

  • Tensör tipi:
    • torch.uint8 (8 bit tamsayı)
  • Ölçeklenmemiş aralık:
    • [0, 255]
import torchvision.transforms as transforms
transform = transforms.Compose([
            transforms.Resize(224),
            transforms.PILToTensor()
            ])
image_tensor = transform(image)
PyTorch ile Görüntüler için Deep Learning

Sınır kutusu çizme

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 içe aktarın
  • Koordinatları bir tensörde toplayın
  • İki boyuta unsqueeze edin
  • Görsele dönüştürüp çizin

kutu içindeki kedi

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...