Deformable DETR

SenseTime
Detección de objetos

Deformable DETR modelo con ResNet-50 backbone. El modelo Deformable DEtection TRansformer (DETR) entrenado de extremo a extremo en la detección de objetos COCO 2017 (118k imágenes anotadas). Fue introducido en el artículo Deformable DETR: Deformable Transformers for End-to-End Object Detection por Zhu et al. y se publicó por primera vez en este repositorio. El modelo DETR es un transformador codificador-decodificador con una columna vertebral convolucional. Se agregan dos cabezas en la parte superior de las salidas del decodificador para realizar la detección de objetos: una capa lineal para las etiquetas de clase y una MLP (perceptrón multicapa) para las cajas delimitadoras. El modelo utiliza las llamadas consultas de objetos para detectar objetos en una imagen. Cada consulta de objeto busca un objeto particular en la imagen. Para COCO, el número de consultas de objetos se establece en 100.

Como usar

Aquí se muestra cómo usar este modelo:

from transformers import AutoImageProcessor, DeformableDetrForObjectDetection
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)

processor = AutoImageProcessor.from_pretrained("SenseTime/deformable-detr")
model = DeformableDetrForObjectDetection.from_pretrained("SenseTime/deformable-detr")

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

# convertir salidas (cajas delimitadoras y logits de clase) al API COCO
# solo mantenemos detecciones con puntaje > 0.7
target_sizes = torch.tensor([image.size[::-1]])
results = processor.post_process_object_detection(outputs, target_sizes=target_sizes, threshold=0.7)[0]

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

Esto debería dar como resultado:

Detectado gato con confianza 0.856 en la ubicación [342.19, 24.3, 640.02, 372.25]
Detectado control remoto con confianza 0.739 en la ubicación [40.79, 72.78, 176.76, 117.25]
Detectado gato con confianza 0.859 en la ubicación [16.5, 52.84, 318.25, 470.78]

Funcionalidades

Modelo Deformable DEtection TRansformer (DETR)
Codificador-decodificador transformador con columna vertebral convolucional
Capas lineales para etiquetas de clase y MLP para cajas delimitadoras
Entrenamiento utilizando una 'pérdida de coincidencia bipartita'
Algoritmo de coincidencia Húngaro para crear una mapeo óptimo uno a uno

Casos de uso

Detección de objetos en imágenes
Aplicaciones de seguridad y vigilancia
Automatización de procesos en industria

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