OWLv2
OWLv2 es un detector de objetos de vocabulario abierto, desarrollado por Google Research, que puntúa regiones de la imagen frente a embeddings de texto de un codificador estilo CLIP. LibreYOLO lo envuelve como una familia solo de predicción dentro de su tier de detectores de vocabulario abierto.
- Tareas
- detection
- Tamaños
- b16, l14 at 960 to 1008 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
OWLv2 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.
Predicción
OWLv2 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("owlv2-b16")model.set_classes(["person", "dog", "skateboard"]) result = model.predict(SAMPLE_IMAGE, conf=0.1)for box in result.boxes: print(box.cls, box.conf, box.xyxy)from libreyolo import LibreOpenVocab, SAMPLE_IMAGE # Omitir set_classes() conserva el vocabulario COCO-80 por defecto del tier.model = LibreOpenVocab("owlv2-l14")result = model.predict(SAMPLE_IMAGE, conf=0.1)print(result.names)set_classes() fija un vocabulario de texto persistente: vuelve a llamarla
para sustituir la lista, u omítela para conservar las etiquetas COCO-80 por
defecto. Cada etiqueta se envuelve en una plantilla de prompt fija antes de
llegar a la torre de texto, igual que se entrenó Owlv2ForObjectDetection de
transformers.
OWLv2 no tiene umbral de token de texto: solo conf filtra las detecciones, y
pasar text_threshold lanza un error. iou se acepta por compatibilidad de la
API, pero avisa y no hace nada, ya que aquí nada ejecuta non-maximum
suppression. 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
Dos checkpoints, b16 (base, tamaño de patch 16) y l14 (large, tamaño de
patch 14). b16 es el tamaño por defecto de este tier cuando no se indica
ninguno. Ambos replican la publicación oficial de Google Research a través de
Owlv2ForObjectDetection de transformers, descargado una sola vez en un
snapshot de Hugging Face alojado por LibreYOLO que conserva los archivos
originales. 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 | ||
| LibreOWLv2b16.pt | 960 | apache-2.0 |
| LibreOWLv2l14.pt | 1008 | 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
- OWLv2, Google Research
- Licencia del proyecto original
- Apache-2.0
- Fuente del proyecto original
- github.com/google-research/scenic/tree/main/scenic/projects/owl_vit
- Código de LibreYOLO
- MIT
- Pesos
- Apache-2.0, republicados en huggingface.co/LibreYOLO
- Interpretación
- Apache-2.0 is a permissive license, so these checkpoints 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 OWLv2 model source of its own: LibreOWLv2 calls the Apache-2.0 `transformers` implementation, `Owlv2ForObjectDetection`, directly, and downloads the official checkpoints into a LibreYOLO-hosted mirror repository that preserves the upstream snapshot files.
Cita
@article{minderer2023scaling,
title={Scaling Open-Vocabulary Object Detection},
author={Matthias Minderer, Alexey Gritsenko, Neil Houlsby},
journal={NeurIPS},
year={2023},
}Copiado del bloque de cita de los autores en github.com/google-research/scenic/blob/main/scenic/projects/owl_vit/README.md#references.