OWLv2
OWLv2 ist ein Open-Vocabulary-Objektdetektor von Google Research, der Bildregionen anhand von Text-Embeddings aus einem CLIP-artigen Encoder bewertet. LibreYOLO bindet ihn als reine Vorhersagefamilie im Tier der Open-Vocabulary-Detektoren ein.
- Aufgaben
- detection
- Größen
- b16, l14 at 960 to 1008 px
- Installation
pip install libreyolo- Supportstufe
- Geschwisterstufe, seit v. Eine separate Produktoberfläche mit eigener Factory und eigenem Vertrag.
- Upstream
- OWLv2 von Google Research, Apache-2.0. Publikation, Quelle
- Lizenzen
- Code MIT, Gewichte Apache-2.0. Kommerzielle Nutzung
Installation
OWLv2 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.
Vorhersage
OWLv2 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("owlv2-b16")model.set_classes(["person", "dog", "skateboard"]) result = model.predict(SAMPLE_IMAGE, conf=0.1)for box in result.boxes: print(box.cls, box.conf, box.xyxy)from libreyolo import LibreOpenVocab, SAMPLE_IMAGE # Ohne set_classes() bleibt das standardmäßige COCO-80-Vokabular des Tiers erhalten.model = LibreOpenVocab("owlv2-l14")result = model.predict(SAMPLE_IMAGE, conf=0.1)print(result.names)set_classes() legt ein dauerhaftes Textvokabular fest. Rufe die Methode
erneut auf, um die Liste zu ersetzen, oder überspringe sie, um die
standardmäßigen COCO-80-Labels beizubehalten. Jedes Label wird vor der Übergabe
an den Text-Tower in ein festes Prompt-Template eingebettet. Das entspricht
dem Training von Owlv2ForObjectDetection aus transformers.
OWLv2 besitzt keinen Text-Token-Schwellenwert. Nur conf filtert Erkennungen,
und die Übergabe von text_threshold löst einen Fehler aus. iou wird zur
API-Kompatibilität akzeptiert, gibt aber eine Warnung aus und hat keine Wirkung,
weil hier keine Non-Maximum Suppression ausgeführt wird. 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 zwei Checkpoints, b16 (Base, Patch-Größe 16) und l14 (Large,
Patch-Größe 14). b16 ist die Standardgröße dieses Tiers, wenn keine angegeben
wird. Beide spiegeln das offizielle Release von Google Research über
Owlv2ForObjectDetection aus transformers. Sie werden einmalig in einen von
LibreYOLO gehosteten Hugging-Face-Snapshot geladen, der die Upstream-Dateien
bewahrt. 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 | ||
| LibreOWLv2b16.pt | 960 | apache-2.0 |
| LibreOWLv2l14.pt | 1008 | 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
- OWLv2, Google Research
- Upstream-Lizenz
- Apache-2.0
- LibreYOLO-Code
- MIT
- Gewichte
- Apache-2.0, erneut unter huggingface.co/LibreYOLO veröffentlicht
- Einordnung
- Apache-2.0 is a permissive license, so these checkpoints 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 OWLv2 model source of its own: LibreOWLv2 calls the Apache-2.0 `transformers` implementation, `Owlv2ForObjectDetection`, directly, and downloads the official checkpoints into a LibreYOLO-hosted mirror repository that preserves the upstream snapshot files.
Zitieren
@article{minderer2023scaling,
title={Scaling Open-Vocabulary Object Detection},
author={Matthias Minderer, Alexey Gritsenko, Neil Houlsby},
journal={NeurIPS},
year={2023},
}Aus dem Zitierblock der Autoren unter github.com/google-research/scenic/blob/main/scenic/projects/owl_vit/README.md#references kopiert.