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.
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
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()