OMDet-Turbo
OMDet-Turbo ist ein Open-Vocabulary-Objektdetektor für Echtzeit von Om AI Lab, der Klassen-Embeddings von einem sprachlichen Aufgaben-Prompt entkoppelt. LibreYOLO bindet ihn als reine Vorhersagefamilie im Tier der Open-Vocabulary-Detektoren ein.
- Aufgaben
- detection
- Größen
- t at 640 px
- Installation
pip install libreyolo- Supportstufe
- Geschwisterstufe, seit v. Eine separate Produktoberfläche mit eigener Factory und eigenem Vertrag.
- Upstream
- OMDet-Turbo von Om AI Lab, Apache-2.0. Publikation, Quelle
- Lizenzen
- Code MIT, Gewichte Apache-2.0. Kommerzielle Nutzung
Installation
OMDet-Turbo wird über den Tier der Open-Vocabulary-Detektoren von LibreYOLO
geladen. Dafür ist das Zusatzpaket openvocab erforderlich:
pip install "libreyolo[openvocab]"Dieses Zusatzpaket installiert transformers und timm, die von diesem Tier
aufgerufenen Hugging-Face-Bibliotheken. Das Swin-Backbone von OMDet-Turbo wird
über den Wrapper TimmBackbone von transformers geladen.
Vorhersage
OMDet-Turbo ist kein Checkpoint, den LibreYOLO über LibreYOLO() lädt.
Stattdessen wird er über die verwandte Factory LibreOpenVocab geladen. Diese
lädt bei der ersten Verwendung einen Hugging-Face-Snapshot herunter und
speichert ihn unter weights/ zwischen.
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 ist die einzige Familie dieses Tiers, die iou= berücksichtigt:# Die eigene Nachverarbeitung erhält den Unterdrückungsschwellenwert als Argument,# standardmäßig 0.5, wenn iou= nicht gesetzt ist.result = model.predict(SAMPLE_IMAGE, conf=0.3, iou=0.7)print(result.names, len(result))set_classes() legt ein dauerhaftes Textvokabular fest. Rufe die Methode
erneut auf, um die Liste vollständig zu ersetzen, oder überspringe sie, um die
standardmäßigen COCO-80-Labels beizubehalten. Ein leeres Ergebnis ist gültig
und kein Fehler. Anders als Grounding DINO entkoppelt OMDet-Turbo seine
Klassen-Embeddings vom sprachlichen Aufgaben-Prompt. Die Nachverarbeitung von
transformers gibt daher Labels zurück, die ohne Phrasen-Disambiguierung
direkt auf die angefragte Klassenliste abgebildet werden.
OMDet-Turbo besitzt keinen Text-Token-Schwellenwert. Nur conf filtert
Erkennungen, und die Übergabe von text_threshold löst einen Fehler aus. Es
ist die einzige Familie dieses Tiers, die in
post_process_grounded_object_detection eine eigene Non-Maximum Suppression
ausführt. iou wird daher berücksichtigt und erzeugt nicht nur eine Warnung.
imgsz und augment=True werden direkt abgelehnt. Der Prozessor von
transformers übernimmt die Größenänderung, und Test-Time Augmentation liegt
außerhalb des Umfangs dieses Tiers. predict() gibt für ein einzelnes Bild ein
Results-Objekt und keine Liste zurück. Übergib ein Verzeichnis, eine Bildliste
oder stream=True für eine Videoquelle, um mehrere zu erhalten. Für diese
Familie gibt es keinen CLI-Pfad. libreyolo predict lädt über LibreYOLO()
nur .pt-Checkpoints. LibreOpenVocab-Familien werden daher in Python
ausgeführt. Unter Vorhersage findest du Quelltypen und
Streaming.
Varianten
Es gibt einen Checkpoint, t, die einzige Größe des Tiers. Er spiegelt
omlab/omdet-turbo-swin-tiny-hf bei einer festgeschriebenen Upstream-Revision
über OmDetTurboForObjectDetection aus transformers. Die gespiegelte
Gewichtsdatei ist bytegleich mit diesem Upstream-Snapshot. Für diese Familie
sind noch keine Accuracy- oder Latenzwerte veröffentlicht.
Training, Datensatzvalidierung und Export liegen außerhalb des Umfangs dieses
Tiers: train(), val() und export() lösen immer NotImplementedError aus.
Dies ist ein reiner Vorhersage-Wrapper um einen veröffentlichten Checkpoint.
Checkpoints
Alle veröffentlichten Gewichtsdateien dieser Familie.
| Datei | Eingabe (px) | Lizenz der Gewichte |
|---|---|---|
| Detection | ||
| LibreOMDetTurbot.pt | 640 | apache-2.0 |
Jede oben aufgeführte Datei ist heute in der LibreYOLO-Organisation verfügbar und wird bei der ersten Verwendung heruntergeladen.
Lizenzierung
Prüfe die Lizenz im Hugging-Face-Repository der konkreten Gewichte, die du herunterlädst. Jeder Checkpoint in der LibreYOLO-Organisation hat eine Lizenz, und sie ist innerhalb einer Familie nicht immer gleich. Dieses Repository ist die maßgebliche Quelle. Die Zusammenfassung unten beschreibt den Stand bei der letzten Verifizierung dieser Seite.
Dies ist eine Beschreibung der beteiligten Lizenzen und keine Rechtsberatung. Wenn die Antwort kommerziell relevant ist, lies die Lizenzen selbst und hole eigenen Rechtsrat ein.
- Originalarbeit
- OMDet-Turbo, Om AI Lab
- Upstream-Lizenz
- Apache-2.0
- Upstream-Quelle
- github.com/om-ai-lab/OmDet
- LibreYOLO-Code
- MIT
- Gewichte
- Apache-2.0, erneut unter huggingface.co/LibreYOLO veröffentlicht
- Einordnung
- 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.
Zitieren
@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}
}Aus dem Zitierblock der Autoren unter github.com/om-ai-lab/OmDet#citation kopiert.