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.
- 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 :
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/.
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 # 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.
| Fichier | Entrée (px) | Licence des poids |
|---|---|---|
| Detection | ||
| LibreOWLv2b16.pt | 960 | apache-2.0 |
| LibreOWLv2l14.pt | 1008 | apache-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
- Source du projet d'origine
- github.com/google-research/scenic/tree/main/scenic/projects/owl_vit
- 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.