ComeçarComece de graça

Detecção de objetos

Neste exercício, você vai usar o mesmo conjunto de dados do Flickr que usou antes, que tem 30.000 imagens e legendas associadas. Agora você vai ver as caixas delimitadoras dos objetos que o modelo encontrou.

Foto de duas pessoas, uma delas tocando violão

A imagem de exemplo (image) e o módulo do pipeline (pipeline) foram carregados.

Este exercício faz parte do curso

Modelos multimodais com Hugging Face

Ver curso

Instruções do exercício

  • Carregue o pipeline object-detection com o modelo pré-treinado facebook/detr-resnet-50.
  • Encontre o label do objeto que você encontrou.
  • Encontre a confiança associada score do objeto detectado.
  • Encontre as coordenadas do limite do objeto detectado ( box ).

Exercício interativo prático

Experimente este exercício completando este código de exemplo.

# 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 e executar o código