OV-DEIM

OV-DEIM est un détecteur d'objets à vocabulaire ouvert de style DETR qui associe les requêtes du décodeur aux embeddings textuels d'une tour textuelle MobileCLIP incluse. LibreYOLO le porte nativement comme famille réservée à la prédiction dans sa catégorie de détecteurs à vocabulaire ouvert.

Tâches
detection
Tailles
s, m, l 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.
Origine
OV-DEIM par Leilei Wang et al., CC BY-NC 4.0. Article, source
Licences
Code Apache-2.0, poids CC BY-NC 4.0. Usage commercial

Installer

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

bash
pip install "libreyolo[openvocab]"

Contrairement au reste de cette catégorie, OV-DEIM est un portage LibreYOLO natif et non un wrapper transformers, car il n'existe aucune classe de modèle transformers pour celui-ci. Le même extra fournit cependant les paquets huggingface_hub, safetensors, regex et ftfy nécessaires lors de la prédiction.

Prédire

OV-DEIM 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("ov-deim-s")model.set_classes(["person", "dog", "skateboard"]) result = model.predict(SAMPLE_IMAGE, conf=0.25)for box in result.boxes:    print(box.cls, box.conf, box.xyxy)
Remplacer le vocabulaire
from libreyolo import LibreOpenVocab, SAMPLE_IMAGE model = LibreOpenVocab("ov-deim-l")model.set_classes(["traffic light", "bicycle"])first = model.predict(SAMPLE_IMAGE, conf=0.3) # Un second appel à set_classes() remplace tout le vocabulaire et le# réencode avec la tour textuelle ; un résultat vide constitue une# sortie valide et non une erreur.model.set_classes(["giraffe"])second = model.predict(SAMPLE_IMAGE, conf=0.5)print(second.names, len(second))

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. Chaque requête du décodeur reçoit un score de similarité cosinus par rapport aux embeddings textuels d'une tour textuelle MobileCLIP-B(LT) incluse. Ceux-ci sont calculés en ligne pour le vocabulaire défini et mis en cache jusqu'à ce qu'il change, si bien que les requêtes arbitraires fonctionnent sans fichier d'embeddings précalculés.

OV-DEIM ne possède aucun seuil de token textuel : seul conf filtre les détections, et fournir text_threshold lève une erreur. La correspondance est une sélection top-K un-à-un. Aucune suppression non maximale ne s'exécute donc ici, et iou est accepté pour la compatibilité de l'API, mais produit un avertissement et ne fait rien. imgsz et augment=True sont refusés sans condition : le modèle contrôle une entrée fixe avec letterboxing, 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.

Chaque appel à predict() exécute également la tour textuelle MobileCLIP-B(LT) incluse pour produire les embeddings du vocabulaire actuel ; consultez la section Licence pour connaître les conditions que cela ajoute.

Variantes

Trois checkpoints sont proposés, s, m et l. s est la taille par défaut de cette catégorie lorsqu'aucune n'est indiquée. Contrairement au reste de cette catégorie, OV-DEIM est un portage natif et non un wrapper transformers : LibreYOLO fournit les modules du détecteur sous la même licence Apache-2.0 que le code amont et réutilise l'adaptateur de backbone DINOv3 déjà construit pour la famille DEIMv2. Le backbone du checkpoint l est un fine-tuning de DINOv3-S, concédé séparément sous la DINOv3 License de Meta. 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
LibreOVDEIMs.pt640cc-by-nc-4.0
LibreOVDEIMm.pt640cc-by-nc-4.0
LibreOVDEIMl.pt640cc-by-nc-4.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
OV-DEIM, Leilei Wang et al.
Licence du projet d'origine
CC BY-NC 4.0
Source du projet d'origine
github.com/wleilei/OV-DEIM
Code de LibreYOLO
MIT
Poids
CC BY-NC 4.0, republiés sur huggingface.co/LibreYOLO
Interprétation
OV-DEIM's code is Apache-2.0; LibreYOLO's port keeps that license and preserves the original RT-DETR and DEIMv2 attribution headers. The published S, M and L checkpoints carry a separate CC BY-NC 4.0 license: redistribution and format conversion are permitted with attribution, but only for non-commercial use, confirmed directly by the upstream author. Every prediction also runs a bundled MobileCLIP-B(LT) text tower, loaded unchanged from Apple's own release, to embed the vocabulary online; those weights carry the Apple Machine Learning Research Model license, which permits redistribution with the license text, an attribution notice and a record of modifications, but restricts use to research, a stricter term than CC BY-NC 4.0 that applies to every call this family makes. The `l` checkpoint's DINOv3-S backbone fine-tune is separately subject to Meta's DINOv3 License.

OV-DEIM superpose trois licences amont à chaque appel de prédiction : les poids du détecteur sous sa propre licence CC BY-NC 4.0, la tour textuelle en ligne sous la Machine Learning Research Model License d'Apple (usage réservé à la recherche) et, pour le checkpoint l, un fine-tuning du backbone DINOv3-S sous la DINOv3 License de Meta. Les textes des trois licences sont fournis dans le dépôt de poids LibreYOLO.

Citation

@misc{wang2026ovdeim,
      title={OV-DEIM: Real-time DETR-Style Open-Vocabulary Object Detection with GridSynthetic Augmentation}, 
      author={Leilei Wang and Longfei Liu and Xi Shen and Xuanlong Yu and Ying Tiffany He and Fei Richard Yu and Yingyi Chen},
      year={2026},
      eprint={2603.07022},
      archivePrefix={arXiv},
      primaryClass={cs.CV},
      url={https://arxiv.org/abs/2603.07022}, 
}

Copié depuis le bloc de citation des auteurs sur github.com/wleilei/OV-DEIM#4-citation.

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.