YOLOS (modelo pequeño)
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