LoslegenKostenlos loslegen

Objekterkennung

In dieser Übung wirst du wieder den gleichen Flickr-Datensatz wie vorher verwenden, der 30.000 Bilder und dazugehörige Bildunterschriften enthält. Jetzt siehst du die Begrenzungsrahmen der vom Modell erkannten Objekte.

Foto von 2 Leuten, einer spielt Gitarre

Das Beispielbild (image) und das Pipeline-Modul (pipeline) wurden geladen.

Diese Übung ist Teil des Kurses

Multimodale Modelle mit Hugging Face

Kurs anzeigen

Anleitung zur Übung

  • Lade die Pipeline „ object-detection “ mit dem vortrainierten Modell „ facebook/detr-resnet-50 “.
  • Such die „ label “ des gefundenen Objekts.
  • Such die zugehörige Konfidenz score, die das gefundene Objekt hat.
  • Finde die Koordinaten des Begrenzungs box s des erkannten Objekts.

Interaktive Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

# 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()
Code bearbeiten und ausführen