OWLv2

OWLv2 est un détecteur d'objets à vocabulaire ouvert, développé par Google Research, qui évalue les régions d'une image par rapport aux embeddings textuels d'un encodeur de style CLIP. LibreYOLO l'intègre comme famille réservée à la prédiction dans sa catégorie de détecteurs à vocabulaire ouvert.

Tâches
detection
Tailles
b16, l14 at 960 to 1008 px
Installer
pip install libreyolo
Niveau de support
Niveau parallèle, depuis v. Une interface produit distincte avec sa propre factory et son propre contrat.
Origine
OWLv2 par Google Research, Apache-2.0. Article, source
Licences
Code MIT, poids Apache-2.0. Usage commercial

Installer

OWLv2 se charge par la catégorie de détecteurs à vocabulaire ouvert de LibreYOLO, qui nécessite l'extra openvocab :

bash
pip install "libreyolo[openvocab]"

Cet extra installe transformers et timm, les bibliothèques Hugging Face appelées par cette catégorie.

Prédire

OWLv2 n'est pas un checkpoint chargé par LibreYOLO au moyen de LibreYOLO(). Il se charge par la factory sœur LibreOpenVocab, qui télécharge un snapshot Hugging Face lors de la première utilisation et le met en cache sous weights/.

Python
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)
Vocabulaire par défaut
from libreyolo import LibreOpenVocab, SAMPLE_IMAGE # Omettre set_classes() conserve le vocabulaire COCO-80 de la catégorie.model = LibreOpenVocab("owlv2-l14")result = model.predict(SAMPLE_IMAGE, conf=0.1)print(result.names)

set_classes() définit un vocabulaire textuel persistant : rappelez la méthode pour remplacer la liste, ou omettez-la pour conserver les étiquettes COCO-80 par défaut. Chaque étiquette est placée dans un template de requête fixe avant d'atteindre la tour textuelle, conformément à la méthode d'entraînement de Owlv2ForObjectDetection dans transformers.

OWLv2 ne possède aucun seuil de token textuel : seul conf filtre les détections, et fournir text_threshold lève une erreur. iou est accepté pour la compatibilité de l'API, mais produit un avertissement et ne fait rien, puisqu'aucune suppression non maximale ne s'exécute ici. imgsz et augment=True sont refusés sans condition : le processeur transformers contrôle le redimensionnement et l'augmentation au moment du test dépasse le périmètre de cette catégorie. predict() sur une seule image renvoie un objet Results, pas une liste ; fournissez un dossier, une liste d'images ou stream=True pour une source vidéo afin d'en obtenir plusieurs. Cette famille n'est pas accessible par la CLI : libreyolo predict charge uniquement les checkpoints .pt avec LibreYOLO(), les familles LibreOpenVocab s'exécutent donc depuis Python. Consultez la prédiction pour les types de sources et le streaming.

Variantes

Deux checkpoints sont proposés, b16 (base, taille de patch 16) et l14 (large, taille de patch 14). b16 est la taille par défaut de cette catégorie lorsqu'aucune n'est indiquée. Tous deux reproduisent la version officielle de Google Research au moyen de Owlv2ForObjectDetection de transformers. Ils sont téléchargés une fois dans un snapshot Hugging Face hébergé par LibreYOLO qui conserve les fichiers amont. Aucune mesure d'exactitude ou de latence n'est encore publiée pour cette famille.

L'entraînement, la validation de datasets et l'export dépassent tous le périmètre de cette catégorie : train(), val() et export() lèvent toujours NotImplementedError. Il s'agit d'un wrapper de prédiction autour d'un checkpoint publié.

Checkpoints

Tous les fichiers de poids publiés pour cette famille.

FichierEntrée (px)Licence des poids
Detection
LibreOWLv2b16.pt960apache-2.0
LibreOWLv2l14.pt1008apache-2.0

Tous les fichiers ci-dessus sont actuellement disponibles dans l<link>organisation LibreYOLO</link> et sont téléchargés à la première utilisation.

Licence

Vérifiez la licence dans le dépôt Hugging Face des poids précis que vous téléchargez. Chaque checkpoint de l<link>organisation LibreYOLO</link> en possède une, et elles ne sont pas toujours identiques au sein dune même famille. Ce dépôt fait autorité ; le résumé ci-dessous décrit les conditions applicables lors de la dernière vérification de cette page.

Ceci décrit les licences concernées et ne constitue pas un conseil juridique. Si la réponse a une importance commerciale, lisez vous-même les licences et consultez votre propre avocat.

Travail d'origine
OWLv2, Google Research
Licence du projet d'origine
Apache-2.0
Code de LibreYOLO
MIT
Poids
Apache-2.0, republiés sur huggingface.co/LibreYOLO
Interprétation
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.

Citation

@article{minderer2023scaling,
  title={Scaling Open-Vocabulary Object Detection},
  author={Matthias Minderer, Alexey Gritsenko, Neil Houlsby},
  journal={NeurIPS},
  year={2023},
}

Copié depuis le bloc de citation des auteurs sur github.com/google-research/scenic/blob/main/scenic/projects/owl_vit/README.md#references.

Vérifié avec LibreYOLO v1.5.0. Les tableaux de support, les checkpoints et les chiffres de benchmark de cette page sont générés à partir de la bibliothèque publiée et des poids publiés, et non rédigés à la main.