Kotak pembatas

Deep Learning untuk Gambar dengan PyTorch

Michal Oleszak

Machine Learning Engineer

Apa itu pengenalan objek?

Pengenalan objek mengidentifikasi objek dalam citra:

  • Lokasi tiap objek dalam gambar (kotak pembatas)

  • Label kelas tiap objek

Aplikasi: pengawasan, diagnosis medis, manajemen lalu lintas, analitik olahraga

  • Video ini: anotasi dengan kotak pembatas
  • Video selanjutnya: evaluasi dan model

 

deteksi mobil saat berkendara

Deep Learning untuk Gambar dengan PyTorch

Representasi kotak pembatas

  • Kotak persegi panjang yang menggambarkan lokasi spasial objek
  • Anotasi data latih & keluaran model
  • Kotak pembatas ground truth: lokasi objek yang presisi

koordinat kotak pembatas

Deep Learning untuk Gambar dengan PyTorch

Representasi kotak pembatas

  • Kotak persegi panjang yang menggambarkan lokasi spasial objek
  • Anotasi data latih & keluaran model
  • Kotak pembatas ground truth: lokasi objek yang presisi
  • Koordinat kotak pembatas:
    • Kiri atas dan kanan bawah
    • Bounding box = (x1, y1, x2, y2)
    • x1 = x_min, x2 = x_max, ...

koordinat kotak pembatas

Deep Learning untuk Gambar dengan PyTorch

Piksel dan koordinat

koordinat kotak

  • Koordinat: x - nomor kolom, y - nomor baris
  • Titik asal: (0, 0) - pojok kiri atas
Deep Learning untuk Gambar dengan PyTorch

Mengonversi piksel ke tensor

Transformasi dengan ToTensor()

  • Tipe tensor:
    • torch.float
  • Rentang tensor terskalakan:
    • [0.0, 1.0]
import torchvision.transforms as transforms

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

Transformasi dengan PILToTensor()

  • Tipe tensor:
    • torch.uint8 (bilangan bulat 8-bit)
  • Rentang tensor tak terskalakan:
    • [0, 255]
import torchvision.transforms as transforms
transform = transforms.Compose([
            transforms.Resize(224),
            transforms.PILToTensor()
            ])
image_tensor = transform(image)
Deep Learning untuk Gambar dengan PyTorch

Menggambar kotak pembatas

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)
  • Impor draw_bounding_boxes
  • Kumpulkan koordinat ke tensor
  • Unsqueeze ke dua dimensi
  • Ubah ke gambar dan plot

kucing dengan kotak

Deep Learning untuk Gambar dengan PyTorch

Ayo berlatih!

Deep Learning untuk Gambar dengan PyTorch

Preparing Video For Download...