Grounding DINO
Grounding DINO ist ein Open-Set-Objektdetektor von IDEA Research. Er bewertet ein Bild anhand eines Freitext-Prompts statt einer festen Klassenliste. LibreYOLO bindet ihn als reine Vorhersagefamilie im Tier der Open-Vocabulary-Detektoren ein.
- Aufgaben
- detection
- Größen
- t, b at 800 px
- Installation
pip install libreyolo- Supportstufe
- Geschwisterstufe, seit v. Eine separate Produktoberfläche mit eigener Factory und eigenem Vertrag.
- Upstream
- Grounding DINO von IDEA Research, Apache-2.0. Publikation, Quelle
- Lizenzen
- Code MIT, Gewichte Apache-2.0. Kommerzielle Nutzung
Installation
Grounding DINO 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
Grounding DINO 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("grounding-dino-t")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)from libreyolo import LibreOpenVocab, SAMPLE_IMAGE model = LibreOpenVocab("grounding-dino-b")model.set_classes(["remote control", "school bus"]) # conf filtert nach Box-Score, text_threshold nach dem Token-Score# der dekodierten Phrase. Ohne Angabe sind beide standardmäßig 0.25.result = model.predict(SAMPLE_IMAGE, conf=0.25, text_threshold=0.3)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. Grounding DINO dekodiert freie
Phrasen aus seiner eigenen Textausgabe und ordnet sie selbst diesem Vokabular
zu. Eine exakte normalisierte Übereinstimmung gewinnt, eine Übereinstimmung
vollständiger Tokens wird akzeptiert, und eine mehrdeutige oder nicht passende
Phrase wird verworfen statt geraten. school bus wird daher nie nur bus
oder school zugeordnet. Wenn ein Vokabular das Token-Limit des Text-Encoders
überschreitet, wird es in mehrere Prompts aufgeteilt. Diese werden in getrennten
Vorwärtsläufen ausgeführt und wieder zu einer Menge von Erkennungen mit der
Obergrenze max_det zusammengeführt.
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, t und b. t ist die Standardgröße dieses Tiers,
wenn keine angegeben wird. Beide spiegeln das offizielle Release von IDEA
Research über GroundingDinoForObjectDetection 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 | ||
| LibreGroundingDINOt.pt | 800 | apache-2.0 |
| LibreGroundingDINOb.pt | 800 | 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
- Grounding DINO, IDEA Research
- Upstream-Lizenz
- Apache-2.0
- Upstream-Quelle
- github.com/IDEA-Research/GroundingDINO
- 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 Grounding DINO model source of its own: LibreGroundingDINO calls the Apache-2.0 `transformers` implementation, `GroundingDinoForObjectDetection`, directly, and downloads the official checkpoint into a LibreYOLO-hosted mirror repository that preserves the upstream snapshot files.
Zitieren
@article{liu2023grounding,
title={Grounding dino: Marrying dino with grounded pre-training for open-set object detection},
author={Liu, Shilong and Zeng, Zhaoyang and Ren, Tianhe and Li, Feng and Zhang, Hao and Yang, Jie and Li, Chunyuan and Yang, Jianwei and Su, Hang and Zhu, Jun and others},
journal={arXiv preprint arXiv:2303.05499},
year={2023}
}Aus dem Zitierblock der Autoren unter github.com/IDEA-Research/GroundingDINO#black_nib-citation kopiert.