OV-DEIM

OV-DEIM è un rilevatore di oggetti a vocabolario aperto in stile DETR, che abbina le query del decoder agli embedding testuali di un text tower MobileCLIP incluso. LibreYOLO lo porta nativamente come famiglia di sola predizione nel suo livello di rilevatori a vocabolario aperto.

Task
detection
Dimensioni
s, m, l at 640 px
Installa
pip install libreyolo
Livello di supporto
Livello parallelo, dalla v. Un'interfaccia di prodotto separata, con una propria factory e un proprio contratto.
Origine
OV-DEIM di Leilei Wang et al., CC BY-NC 4.0. Articolo, sorgente
Licenze
Codice Apache-2.0, pesi CC BY-NC 4.0. Uso commerciale

Installazione

OV-DEIM si carica attraverso il livello dei rilevatori a vocabolario aperto di LibreYOLO, che richiede l'extra openvocab:

bash
pip install "libreyolo[openvocab]"

A differenza del resto di questo livello, OV-DEIM è un port nativo di LibreYOLO e non un wrapper di transformers, non esiste una classe di modello transformers per questa famiglia, ma lo stesso extra copre i pacchetti huggingface_hub, safetensors, regex e ftfy che le servono al momento della predizione.

Predizione

OV-DEIM non è un checkpoint che LibreYOLO carica con LibreYOLO(). Si carica con la factory gemella LibreOpenVocab, che al primo utilizzo scarica uno snapshot di Hugging Face e lo mette in cache sotto 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)
Sostituire il vocabolario
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) # Una seconda chiamata a set_classes() sostituisce del tutto il# vocabolario e ne ricalcola gli embedding con il text tower; un# risultato vuoto è un esito valido e non un errore.model.set_classes(["giraffe"])second = model.predict(SAMPLE_IMAGE, conf=0.5)print(second.names, len(second))

set_classes() imposta un vocabolario testuale persistente: chiamalo di nuovo per sostituire del tutto la lista, oppure saltalo per tenere le etichette COCO-80 predefinite, e un risultato vuoto è un esito valido e non un errore. Ogni query del decoder viene valutata per similarità coseno rispetto agli embedding testuali di un text tower MobileCLIP-B(LT) incluso, calcolati al momento per qualunque vocabolario sia impostato e tenuti in cache finché non cambia, così qualsiasi prompt funziona senza nessun file di embedding precalcolato.

OV-DEIM non ha una soglia sui token di testo: solo conf filtra i rilevamenti, e passare text_threshold solleva un errore. Il matching è una selezione top-K uno a uno, quindi qui non gira nessuna non-maximum suppression, e iou viene accettato per compatibilità di API ma emette un avviso e non fa nulla. imgsz e augment=True vengono rifiutati del tutto: il modello ha un suo input letterboxed fisso, e la test-time augmentation è fuori dallo scopo di questo livello. predict() su una singola immagine restituisce un solo Results, non una lista; passa una cartella, una lista di immagini o stream=True per una sorgente video per averne diversi. Non esiste una strada da CLI per questa famiglia, libreyolo predict carica solo checkpoint .pt attraverso LibreYOLO(), quindi le famiglie LibreOpenVocab si eseguono da Python. Vedi predizione per i tipi di sorgente e lo streaming.

Ogni chiamata a predict() esegue anche il text tower MobileCLIP-B(LT) incluso per calcolare gli embedding del vocabolario corrente; vedi Licenze per cosa aggiunge ai termini d'uso.

Varianti

Tre checkpoint, s, m e l. s è la dimensione predefinita di questo livello quando non se ne indica nessuna. A differenza del resto di questo livello, OV-DEIM è un port nativo e non un wrapper di transformers: LibreYOLO incorpora i moduli del rilevatore sotto la stessa licenza Apache-2.0 del codice upstream e riusa l'adattatore di backbone DINOv3 già costruito per la famiglia DEIMv2. Il backbone del checkpoint l è un fine-tune di DINOv3-S, con licenza a parte sotto la DINOv3 License di Meta. Per questa famiglia non sono ancora pubblicati numeri di accuratezza o di latenza.

L'addestramento, la validazione su dataset e l'esportazione sono tutti fuori dallo scopo di questo livello: train(), val() ed export() sollevano tutti NotImplementedError senza condizioni. Questo è un wrapper di sola predizione attorno a un checkpoint pubblicato.

Checkpoint

Tutti i file di pesi pubblicati per questa famiglia.

FileIngresso (px)Licenza dei pesi
Detection
LibreOVDEIMs.pt640cc-by-nc-4.0
LibreOVDEIMm.pt640cc-by-nc-4.0
LibreOVDEIMl.pt640cc-by-nc-4.0

Oggi tutti i file elencati sopra sono presenti nell<link>organizzazione LibreYOLO</link> e vengono scaricati al primo utilizzo.

Licenze

Controlla la licenza nel repository Hugging Face degli specifici pesi che scarichi. Ogni checkpoint nell<link>organizzazione LibreYOLO</link> ne include una e non è sempre la stessa per tutta la famiglia. Quel repository è la fonte autorevole; il riepilogo seguente descrive le condizioni applicabili al momento dellultima verifica di questa pagina.

Questa è una descrizione delle licenze coinvolte, non una consulenza legale. Se la risposta è importante a fini commerciali, leggi personalmente le licenze e chiedi una consulenza indipendente.

Lavoro originale
OV-DEIM, Leilei Wang et al.
Licenza upstream
CC BY-NC 4.0
Codice LibreYOLO
MIT
Pesi
CC BY-NC 4.0, ripubblicati su huggingface.co/LibreYOLO
Interpretazione
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 sovrappone tre licenze upstream a ogni chiamata di predizione: i pesi del rilevatore sotto la CC BY-NC 4.0 di OV-DEIM stesso, il text tower eseguito al momento sotto la Machine Learning Research Model license di Apple (solo per uso di ricerca) e, per il checkpoint l, un fine-tune del backbone DINOv3-S sotto la DINOv3 License di Meta. I testi di tutte e tre le licenze sono distribuiti dentro il repository dei pesi di LibreYOLO.

Citazione

@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}, 
}

Copiato dal blocco di citazione degli autori disponibile su github.com/wleilei/OV-DEIM#4-citation.

Verificato con LibreYOLO v1.5.0. Le tabelle di supporto, i checkpoint e i dati dei benchmark in questa pagina vengono generati dalla libreria rilasciata e dai pesi pubblicati, non scritti a mano.