ComenzarEmpieza gratis

Detección de objetos

En este ejercicio, utilizarás el mismo conjunto de datos de Flickr que anteriormente, que contiene 30 000 imágenes y sus correspondientes pies de foto. Ahora encontrarás los cuadros delimitadores de los objetos detectados por el modelo.

Foto de dos personas, una de ellas tocando la guitarra.

Se han cargado la imagen de muestra (image) y el módulo de canalización (pipeline).

Este ejercicio forma parte del curso

Modelos multimodales con Hugging Face

Ver curso

Instrucciones del ejercicio

  • Carga el pipeline object-detection con el modelo preentrenado facebook/detr-resnet-50.
  • Encuentra el punto de referencia ( label ) del objeto detectado.
  • Encuentra el área de confianza (confidence- score ) asociada al objeto detectado.
  • Encuentra las coordenadas del objeto que limitan el área de interés ( box ) del objeto detectado.

Ejercicio interactivo práctico

Prueba este ejercicio y completa el código de muestra.

# 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()
Editar y ejecutar código