OMDet-Turbo
OMDet-Turbo è un rilevatore di oggetti a vocabolario aperto in tempo reale, sviluppato da Om AI Lab, che disaccoppia gli embedding delle classi dal prompt testuale del task. LibreYOLO lo avvolge come famiglia di sola predizione nel suo livello di rilevatori a vocabolario aperto.
- Task
- detection
- Dimensioni
- t 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.
- Licenze
- Codice MIT, pesi Apache-2.0. Uso commerciale
Installazione
OMDet-Turbo si carica attraverso il livello dei rilevatori a vocabolario aperto
di LibreYOLO, che richiede l'extra openvocab:
pip install "libreyolo[openvocab]"Quell'extra porta con sé transformers e timm, le librerie di Hugging Face
che questo livello richiama; il backbone Swin di OMDet-Turbo si carica
attraverso il wrapper TimmBackbone di transformers.
Predizione
OMDet-Turbo 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/.
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 è l'unica famiglia di questo livello che rispetta iou=: il# suo post-processing prende la soglia di soppressione come argomento,# e vale 0.5 se iou= non viene impostato.result = model.predict(SAMPLE_IMAGE, conf=0.3, iou=0.7)print(result.names, len(result))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. A
differenza di Grounding DINO, OMDet-Turbo disaccoppia gli embedding delle classi
dal prompt testuale del task, così il post-processing di transformers
restituisce etichette che si rimappano direttamente sulla lista di classi
richiesta, senza alcun passaggio di disambiguazione delle frasi.
OMDet-Turbo non ha una soglia sui token di testo: solo conf filtra i
rilevamenti, e passare text_threshold solleva un errore. È l'unica famiglia di
questo livello che esegue la propria non-maximum suppression dentro
post_process_grounded_object_detection, quindi qui iou viene rispettato
invece che segnalato con un avviso. imgsz e augment=True vengono rifiutati
del tutto: il ridimensionamento spetta al processor di transformers, 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.
Varianti
Un solo checkpoint, t, l'unica dimensione di questo livello. Rispecchia
omlab/omdet-turbo-swin-tiny-hf a una revisione upstream fissata, attraverso
OmDetTurboForObjectDetection di transformers; il file di pesi replicato è
identico byte per byte a quello snapshot upstream. 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.
| File | Ingresso (px) | Licenza dei pesi |
|---|---|---|
| Detection | ||
| LibreOMDetTurbot.pt | 640 | apache-2.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
- OMDet-Turbo, Om AI Lab
- Licenza upstream
- Apache-2.0
- Sorgente upstream
- github.com/om-ai-lab/OmDet
- Codice LibreYOLO
- MIT
- Pesi
- Apache-2.0, ripubblicati su huggingface.co/LibreYOLO
- Interpretazione
- 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.
Citazione
@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}
}Copiato dal blocco di citazione degli autori disponibile su github.com/om-ai-lab/OmDet#citation.