facebook/detr-resnet-50

facebook
Detección de objetos

DETR modelo de detección de objetos de extremo a extremo con ResNet-50 backbone. DETR (DEtection TRansformer) es un modelo entrenado de extremo a extremo en la detección de objetos COCO 2017 (118k imágenes anotadas). Fue introducido en el artículo 'End-to-End Object Detection with Transformers' por Carion et al. y lanzado por primera vez en este repositorio. El equipo de Hugging Face ha escrito la tarjeta del modelo ya que el equipo que lanzó DETR no lo hizo.

Como usar

Aquí se explica cómo usar este modelo:

from transformers import DetrImageProcessor, DetrForObjectDetection
import torch
from PIL import Image
import requests

url = "http://images.cocodataset.org/val2017/000000039769.jpg"
image = Image.open(requests.get(url, stream=True).raw)

# puedes especificar la etiqueta de revisión si no quieres la dependencia timm
processor = DetrImageProcessor.from_pretrained("facebook/detr-resnet-50", revision="no_timm")
model = DetrForObjectDetection.from_pretrained("facebook/detr-resnet-50", revision="no_timm")

inputs = processor(images=image, return_tensors="pt")
outputs = model(**inputs)

# convierte salidas (cajas delimitadoras y logits de clase) a API COCO
# vamos a solo mantener detecciones con puntuación > 0.9
 target_sizes = torch.tensor([image.size[::-1]])
results = processor.post_process_object_detection(outputs, target_sizes=target_sizes, threshold=0.9)[0]

for score, label, box in zip(results["scores"], results["labels"], results["boxes"]):
    box = [round(i, 2) for i in box.tolist()]
    print(
        f"Detected {model.config.id2label[label.item()]} with confidence "
        f"{round(score.item(), 3)} at location {box}")

Esto debería imprimir:

Detected remote con confianza 0.998 en ubicación [40.16, 70.81, 175.55, 117.98] Detected remote con confianza 0.996 en ubicación [333.24, 72.55, 368.33, 187.66] Detected couch con confianza 0.995 en ubicación [-0.02, 1.15, 639.73, 473.76] Detected cat con confianza 0.999 en ubicación [13.24, 52.05, 314.02, 470.93] Detected cat con confianza 0.999 en ubicación [345.4, 23.85, 640.37, 368.72]

Funcionalidades

Modelo transformador encoder-decoder con una base convolucional
Dos cabezales añadidos en las salidas del decodificador: una capa lineal para las etiquetas de clase y un MLP para las cajas delimitadoras
Utiliza consultas de objetos para detectar objetos en una imagen
Entrenado utilizando una pérdida de emparejamiento bipartito
Algoritmo de emparejamiento húngaro para crear asignaciones óptimas uno a uno entre consultas y anotaciones
Optimización mediante combinación lineal de pérdida L1 e IoU generalizada para las cajas delimitadoras

Casos de uso

Detección de objetos en imágenes
Explorando modelos DETR disponibles
Desarrollo de aplicaciones basadas en la detección de objetos

Recibe las últimas noticias y actualizaciones sobre el mundo de IA directamente en tu bandeja de entrada.