CommencerCommencer gratuitement

Détection d'objets

Dans cet exercice, vous utiliserez le même ensemble de données Flickr que précédemment, qui contient 30 000 images et leurs légendes associées. Vous trouverez maintenant les cadres de sélection des objets détectés par le modèle.

Photo de deux personnes, dont 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 d'object-detection s avec le modèle pré-entraîné facebook/detr-resnet-50.
  • Déterminez l'label e de l'objet détecté.
  • Déterminez l'score de confiance associée à l'objet détecté.
  • Déterminez les coordonnées de l'box e délimitant 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