CommencerCommencez 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

<cours>Modèles multimodaux avec Hugging Face</cours>
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 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 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