Rilevamento di oggetti
In questo esercizio userai lo stesso insieme di dati di flickr di prima, che contiene 30.000 immagini con relative didascalie. Ora troverai i riquadri di delimitazione (bounding box) degli oggetti rilevati dal modello.

L’immagine di esempio (image) e il modulo della pipeline (pipeline) sono già stati caricati.
Questo esercizio fa parte del corso
Modelli multi-modali con Hugging Face
Istruzioni dell'esercizio
- Carica la pipeline
object-detectioncon il modello pre-addestratofacebook/detr-resnet-50. - Trova la
labeldell’oggetto rilevato. - Trova lo
scoredi confidenza associato all’oggetto rilevato. - Trova le coordinate della
box(riquadro) di delimitazione dell’oggetto rilevato.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# 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()