OMDet-Turbo
OMDet-Turbo est un détecteur d'objets à vocabulaire ouvert en temps réel, développé par Om AI Lab, qui dissocie les embeddings de classes d'une requête de tâche en langage naturel. 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
- t at 640 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
OMDet-Turbo 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 ; le backbone Swin d'OMDet-Turbo est chargé par le
wrapper TimmBackbone de transformers.
Prédire
OMDet-Turbo 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("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 est la seule famille de cette catégorie qui respecte iou= :# son propre post-traitement reçoit le seuil de suppression en argument,# avec 0.5 par défaut lorsque iou= n'est pas défini.result = model.predict(SAMPLE_IMAGE, conf=0.3, iou=0.7)print(result.names, len(result))set_classes() définit un vocabulaire textuel persistant : rappelez la méthode
pour remplacer toute la liste, ou omettez-la pour conserver les étiquettes
COCO-80 par défaut ; un résultat vide constitue une sortie valide et non une
erreur. Contrairement à Grounding DINO, OMDet-Turbo dissocie ses embeddings de
classes de la requête de tâche en langage naturel. Le post-traitement de
transformers renvoie donc des étiquettes qui correspondent directement à la
liste de classes demandée, sans étape de désambiguïsation des expressions.
OMDet-Turbo ne possède aucun seuil de token textuel : seul conf filtre les
détections, et fournir text_threshold lève une erreur. C'est la seule famille
de cette catégorie qui exécute sa propre suppression non maximale dans
post_process_grounded_object_detection. iou est donc respecté ici au lieu
de produire un avertissement. 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
Un seul checkpoint, t, constitue l'unique taille de cette catégorie. Il
reproduit omlab/omdet-turbo-swin-tiny-hf à une révision amont figée par
OmDetTurboForObjectDetection de transformers ; le fichier de poids mis en
miroir est identique octet par octet à ce snapshot 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 | ||
| LibreOMDetTurbot.pt | 640 | 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
- OMDet-Turbo, Om AI Lab
- Licence du projet d'origine
- Apache-2.0
- Source du projet d'origine
- github.com/om-ai-lab/OmDet
- Code de LibreYOLO
- MIT
- Poids
- Apache-2.0, republiés sur huggingface.co/LibreYOLO
- Interprétation
- 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.
Citation
@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}
}Copié depuis le bloc de citation des auteurs sur github.com/om-ai-lab/OmDet#citation.