Yolos-pequeño-persona

AdamCodd
Detección de objetos

El modelo YOLOS ajustado sobre la detección de objetos de COCO 2017 (118k imágenes anotadas). Fue introducido en el artículo 'You Only Look at One Sequence: Rethinking Transformer in Vision through Object Detection' por Fang et al. y se lanzó por primera vez en este repositorio.

Como usar

from transformers import AutoImageProcessor, AutoModelForObjectDetection
import torch
from PIL import Image
import requests

url = "https://latestbollyholly.com/wp-content/uploads/2024/02/Jacob-Gooch.jpg"
image = Image.open(requests.get(url, stream=True).raw)
image_processor = AutoImageProcessor.from_pretrained("AdamCodd/yolos-small-person")
model = AutoModelForObjectDetection.from_pretrained("AdamCodd/yolos-small-person")
inputs = image_processor(images=image, return_tensors="pt")
outputs = model(**inputs)

# convert outputs (bounding boxes and class logits) to Pascal VOC format (xmin, ymin, xmax, ymax)
target_sizes = torch.tensor([image.size[::-1]])
results = image_processor.post_process_object_detection(outputs, threshold=0.7, target_sizes=target_sizes)[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}")

Funcionalidades

Modelo ajustado en dos conjuntos de datos (2604 muestras) con los siguientes resultados en el conjunto de prueba:
Métrica IoU: bbox
Precisión Promedio (AP) @[ IoU=0.50:0.95 | área= todo | maxDets=100 ] = 0.501
Precisión Promedio (AP) @[ IoU=0.50 | área= todo | maxDets=100 ] = 0.866
Precisión Promedio (AP) @[ IoU=0.75 | área= todo | maxDets=100 ] = 0.498
Precisión Promedio (AP) @[ IoU=0.50:0.95 | área= pequeña | maxDets=100 ] = 0.048
Precisión Promedio (AP) @[ IoU=0.50:0.95 | área=mediana | maxDets=100 ] = 0.455
Precisión Promedio (AP) @[ IoU=0.50:0.95 | área= grande | maxDets=100 ] = 0.648
Recuerdo Promedio (AR) @[ IoU=0.50:0.95 | área= todo | maxDets= 1 ] = 0.412
Recuerdo Promedio (AR) @[ IoU=0.50:0.95 | área= todo | maxDets= 10 ] = 0.601
Recuerdo Promedio (AR) @[ IoU=0.50:0.95 | área= todo | maxDets=100 ] = 0.632
Recuerdo Promedio (AR) @[ IoU=0.50:0.95 | área= pequeña | maxDets=100 ] = 0.224
Recuerdo Promedio (AR) @[ IoU=0.50:0.95 | área=mediana | maxDets=100 ] = 0.600
Recuerdo Promedio (AR) @[ IoU=0.50:0.95 | área= grande | maxDets=100 ] = 0.756

Casos de uso

Este modelo es más un experimento a pequeña escala y necesitará ser entrenado de nuevo en un conjunto de datos más diverso.
Este modelo ajustado funciona mejor al detectar individuos que están relativamente cerca del punto de vista.
Como indican las métricas, tiene dificultades para identificar personas que están más lejos.