OMDet-Turbo
OMDet-Turbo es un detector de objetos de vocabulario abierto en tiempo real, desarrollado por Om AI Lab, que desacopla los embeddings de clase del prompt de tarea de lenguaje. LibreYOLO lo envuelve como una familia solo de predicción dentro de su tier de detectores de vocabulario abierto.
- Tareas
- detection
- Tamaños
- t at 640 px
- Instalación
pip install libreyolo- Nivel de compatibilidad
- Nivel hermano, desde v. Una superficie de producto independiente con su propia factoría y su propio contrato.
- Licencias
- Código MIT, pesos Apache-2.0. Uso comercial
Instalación
OMDet-Turbo se carga a través del tier de detectores de vocabulario abierto de
LibreYOLO, que necesita el extra openvocab:
pip install "libreyolo[openvocab]"Ese extra instala transformers y timm, las bibliotecas de Hugging Face a
las que llama este tier; el backbone Swin de OMDet-Turbo se carga a través del
wrapper TimmBackbone de transformers.
Predicción
OMDet-Turbo no es un checkpoint que LibreYOLO cargue a través de LibreYOLO().
Se carga a través de la factoría hermana LibreOpenVocab, que descarga un
snapshot de Hugging Face en el primer uso y lo cachea en weights/.
from libreyolo import LibreOpenVocab, SAMPLE_IMAGE model = LibreOpenVocab("omdet-turbo")model.set_classes(["person", "dog", "skateboard"]) result = model.predict(SAMPLE_IMAGE, conf=0.3)for box in result.boxes: print(box.cls, box.conf, box.xyxy)from libreyolo import LibreOpenVocab, SAMPLE_IMAGE model = LibreOpenVocab("omdet-turbo")model.set_classes(["traffic light", "bicycle"]) # OMDet-Turbo es la única familia de este tier que respeta iou=: su# propio post-procesado toma el umbral de supresión como argumento,# y vale 0.5 por defecto cuando iou= se deja sin indicar.result = model.predict(SAMPLE_IMAGE, conf=0.3, iou=0.7)print(result.names, len(result))set_classes() fija un vocabulario de texto persistente: vuelve a llamarla
para sustituir la lista por completo, u omítela para conservar las etiquetas
COCO-80 por defecto, y un resultado vacío es un desenlace válido en lugar de un
error. A diferencia de Grounding DINO, OMDet-Turbo desacopla sus embeddings de
clase del prompt de tarea de lenguaje, así que el post-procesado de
transformers devuelve etiquetas que se mapean directamente de vuelta a la
lista de clases consultada, sin paso de desambiguación de frases.
OMDet-Turbo no tiene umbral de token de texto: solo conf filtra las
detecciones, y pasar text_threshold lanza un error. Es la única familia de
este tier que ejecuta su propia non-maximum suppression dentro de
post_process_grounded_object_detection, así que aquí iou se respeta en
lugar de avisar. imgsz y augment=True se rechazan directamente: el
procesador de transformers es quien se encarga del redimensionado, y el
aumento de datos en tiempo de test queda fuera del alcance de este tier.
predict() sobre una única imagen devuelve un Results, no una lista; pasa un
directorio, una lista de imágenes o stream=True con una fuente de vídeo para
obtener varios. No hay ruta de CLI para esta familia, libreyolo predict solo
carga checkpoints .pt a través de LibreYOLO(), así que las familias de
LibreOpenVocab se ejecutan desde Python. Consulta
predicción para tipos de fuente y streaming.
Variantes
Un único checkpoint, t, el único tamaño del tier. Replica
omlab/omdet-turbo-swin-tiny-hf en una revisión upstream fijada a través de
OmDetTurboForObjectDetection de transformers; el archivo de pesos replicado
es idéntico byte a byte a ese snapshot upstream. Todavía no hay cifras
publicadas de precisión ni de latencia para esta familia.
El entrenamiento, la validación de datasets y la exportación quedan todos fuera
del alcance de este tier: train(), val() y export() lanzan
NotImplementedError de forma incondicional. Esto es un wrapper solo de
predicción alrededor de un checkpoint publicado.
Checkpoints
Todos los archivos de pesos publicados de esta familia.
| Archivo | Entrada (px) | Licencia de los pesos |
|---|---|---|
| Detection | ||
| LibreOMDetTurbot.pt | 640 | apache-2.0 |
Todos los archivos anteriores existen hoy en la organización de LibreYOLO y se descargan la primera vez que se usan.
Licencia
Comprueba la licencia en el repositorio de Hugging Face de los pesos concretos que descargues. Cada checkpoint de la organización de LibreYOLO incluye una, y no siempre es la misma en toda una familia. Ese repositorio es la fuente autorizada; el resumen siguiente describe qué se aplicaba cuando se verificó esta página por última vez.
Esta es una descripción de las licencias implicadas, no asesoramiento legal. Si la respuesta es importante a nivel comercial, lee las licencias y busca tu propio asesoramiento.
- Trabajo original
- OMDet-Turbo, Om AI Lab
- Licencia del proyecto original
- Apache-2.0
- Fuente del proyecto original
- github.com/om-ai-lab/OmDet
- Código de LibreYOLO
- MIT
- Pesos
- Apache-2.0, republicados en huggingface.co/LibreYOLO
- Interpretación
- Apache-2.0 is a permissive license, so this checkpoint can be used in commercial and closed-source products. It asks you to keep the license text and attribution notices with any copy of the weights you redistribute, and it grants a patent license. LibreYOLO vendors no OMDet-Turbo model source of its own: LibreOMDetTurbo calls the Apache-2.0 `transformers` implementation, `OmDetTurboForObjectDetection`, directly. The mirrored checkpoint is a byte-identical copy of `omlab/omdet-turbo-swin-tiny-hf` at a pinned upstream revision, verified against a recorded SHA-256 checksum before it is used.
Cita
@article{zhao2024real,
title={Real-time Transformer-based Open-Vocabulary Detection with Efficient Fusion Head},
author={Zhao, Tiancheng and Liu, Peng and He, Xuan and Zhang, Lu and Lee, Kyusong},
journal={arXiv preprint arXiv:2403.06892},
year={2024}
}Copiado del bloque de cita de los autores en github.com/om-ai-lab/OmDet#citation.