CommencezCommencez 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 repérer les boîtes englobantes des objets détectés par le modèle.

Photo de 2 personnes, dont 1 joue de la guitare

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

Cette activité fait partie du cours

Modèles multimodaux avec Hugging Face

Voir le cours

Instructions de l’exercice

  • 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 la valeur de confiance score de l'objet détecté.
  • Relevez les coordonnées de la boîte englobante box de l'objet détecté.

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

# 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