CommencerCommencer gratuitement

Détection d’objets

Dans cet exercice, vous utiliserez le même jeu de données flickr que précédemment, qui contient 30 000 images et leurs légendes associées. Vous allez maintenant trouver les boîtes englobantes des objets détectés par le modèle.

Photo de 2 personnes, l’une joue de la guitare

L’image d’exemple (image) et le module de pipeline (pipeline) ont été chargés.

Cet exercice fait partie du cours

Modèles multimodaux avec Hugging Face

Afficher le cours

Instructions

  • Chargez le pipeline object-detection avec le modèle préentraîné facebook/detr-resnet-50.
  • Trouvez le label de l’objet détecté.
  • Trouvez le score de confiance associé à l’objet détecté.
  • Trouvez les coordonnées de la boîte englobante box de l’objet détecté.

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

# 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()
Modifier et exécuter le code