Zacznij terazZacznij za darmo

Wykrywanie obiektów

W tym ćwiczeniu użyjesz tego samego zbioru danych flickr, co poprzednio – zawiera on 30 000 obrazów z powiązanymi opisami. Tym razem znajdziesz ramki ograniczające (bounding boxes) obiektów wykrytych przez model.

Zdjęcie 2 osób, jedna gra na gitarze

Przykładowy obraz (image) oraz moduł potoku (pipeline) zostały już wczytane.

To ćwiczenie jest częścią kursu

Modele multimodalne z Hugging Face

Zobacz kurs

Instrukcje do ćwiczenia

  • Wczytaj potok object-detection z wytrenowanym modelem facebook/detr-resnet-50.
  • Znajdź etykietę (label) wykrytego obiektu.
  • Znajdź powiązany wynik pewności (score) wykrytego obiektu.
  • Znajdź współrzędne ramki ograniczającej (box) wykrytego obiektu.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

# Load the object-detection pipeline
pipe = pipeline("____", "____", revision="no_timm")
pred = pipe(image)
outputs = pipe(image)

for n, obj in enumerate(outputs):
    # Find the detected label
    label = ____
    # Find the confidence score of the prediction
    confidence = ____
    # Obtain the bounding box coordinates
    box = ____
    
    plot_args = {"linewidth": 1, "edgecolor": colors[n], "facecolor": 'none'}
    rect = patches.Rectangle((box['xmin'], box['ymin']), box['xmax']-box['xmin'], box['ymax']-box['ymin'], **plot_args)
    ax.add_patch(rect)
    print(f"Detected {label} with confidence {confidence:.2f} at ({box['xmin']}, {box['ymin']}) to ({box['xmax']}, {box['ymax']})")

plt.show()
Edytuj i uruchom kod