YOLOS (modelo pequeño)

hustvl
Detección de objetos

El modelo YOLOS finamente ajustado en detección de objetos 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. YOLOS es un Transformador de Visión (ViT) entrenado usando la pérdida de DETR. A pesar de su simplicidad, un modelo YOLOS de tamaño base es capaz de lograr 42 AP en la validación de COCO 2017 (similar a DETR y a marcos más complejos como Faster R-CNN). El modelo se entrena usando una "pérdida de coincidencia bipartita": se comparan las clases predichas + cuadros delimitadores de cada una de las N = 100 consultas de objetos con las anotaciones de verdad, rellenadas hasta la misma longitud N (por lo que si una imagen solo contiene 4 objetos, 96 anotaciones solo tendrán "ningún objeto" como clase y "ningún cuadro delimitador" como cuadro delimitador). El algoritmo de coincidencia húngaro se utiliza para crear una asignación óptima uno a uno entre cada una de las N consultas y cada una de las N anotaciones. A continuación, se utilizan la entropía cruzada estándar (para las clases) y una combinación lineal de la pérdida L1 y la pérdida de IoU generalizada (para los cuadros delimitadores) para optimizar los parámetros del modelo.

Como usar

Aquí tienes cómo usar este modelo:

from transformers import YolosFeatureExtractor, YolosForObjectDetection
from PIL import Image
import requests

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

feature_extractor = YolosFeatureExtractor.from_pretrained('hustvl/yolos-small')
model = YolosForObjectDetection.from_pretrained('hustvl/yolos-small')

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

# el modelo predice cuadros delimitadores y clases COCO correspondientes
logits = outputs.logits
bboxes = outputs.pred_boxes

Actualmente, tanto el extractor de características como el modelo son compatibles con PyTorch.

Funcionalidades

Detección de objetos
Transformadores de visión
Entrenado con pérdida DETR
Modelo de tamaño pequeño
Compatibilidad con PyTorch

Casos de uso

Detección de objetos en imágenes
Asignación óptima de consultas y anotaciones de objetos
Predicción de cuadros delimitadores y clases en conjunto de datos COCO