DETR (DEtection TRansformer) con ResNet-101-DC5 entrenado en el conjunto de datos SKU110K

isalia99
Detección de objetos

El modelo DETR (End-to-End Object Detection) con la red ResNet-101-DC5 como espina dorsal, entrenado end-to-end en el conjunto de datos SKU110K de detección de objetos (8k imágenes anotadas). La principal diferencia en comparación con el modelo original es que tiene 400 `num_queries` y ha sido preentrenado en el conjunto de datos SKU110K. Este modelo logra un mAP de 59.8 en el conjunto de validación SKU110K y está disponible en PyTorch.

Como usar

Aquí tienes cómo usar este modelo:

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

url = "https://github.com/Isalia20/DETR-finetune/blob/main/IMG_3507.jpg?raw=true"
image = Image.open(requests.get(url, stream=True).raw)
image = ImageOps.exif_transpose(image)

# puedes especificar la etiqueta de revisión si no quieres la dependencia de timm
processor = DetrImageProcessor.from_pretrained("facebook/detr-resnet-101-dc5")
model = DetrForObjectDetection.from_pretrained("isalia99/detr-resnet-101-dc5-sku110k")
model = model.eval()
inputs = processor(images=image, return_tensors="pt")
outputs = model(**inputs)

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

for score, label, box in zip(results["scores"], results["labels"], results["boxes"]):
   box = [round(i, 2) for i in box.tolist()]
   print(
      f"Detección de {model.config.id2label[label.item()]} con confianza "
      f"{round(score.item(), 3)} en ubicación {box}")

Funcionalidades

Detección de objetos end-to-end
Arquitectura basada en Transformers
Espina dorsal ResNet-101-DC5
Preentrenado en el conjunto de datos SKU110K
400 consultas (num_queries)
Compatible con PyTorch

Casos de uso

Detección de objetos para imágenes de productos en inventarios
Reconocimiento de objetos en imágenes con múltiples etiquetas
Sistemas de vigilancia y monitoreo
Etiquetado automatizado de imágenes