Allgemeine Einführung
Moondream ist ein quelloffenes, leichtgewichtiges visuelles Sprachmodell, das entwickelt wurde, um Bildbeschreibungen durch Deep Learning und Computer Vision-Techniken zu ermöglichen. Mit Hilfe fortschrittlicher Techniken und Trainingsdatensätze kann Moondream wichtige Details und Szeneninformationen in einem Bild genau erfassen und analysieren und diese visuellen Elemente in eine kohärente sprachliche Beschreibung umwandeln.
Moondream ist ein effizientes Open-Source-Modell für visuelle Sprachen, das ein leistungsfähiges Bildverständnis mit einer sehr geringen Modellgröße kombiniert. Das von Vikhyat entwickelte Projekt zielt darauf ab, eine vielseitige und zugängliche Lösung bereitzustellen, die auf einer Vielzahl von Geräten und Plattformen läuft.Moondream bietet zwei Modellvarianten, Moondream 2B und Moondream 0.5B, für allgemeine Bildverstehensaufgaben bzw. ressourcenbeschränkte Hardwaregeräte. Ob es um Bildbeschreibung, visuelle Befragung oder Objekterkennung geht, Moondream erfüllt die Anforderungen der Benutzer mit hervorragender Leistung und flexiblem Einsatz.
Moondream: 4 GB VRAM für visuelle Sprachmodelle mit einer Leistung nahe der von QWen2-VL 2B
-
Online-Erfahrung: https://moondream.ai/playground
Funktionsliste
- BildbeschreibungAutomatisches Erstellen von Textbeschreibungen für Bilder in einer Vielzahl von Anwendungsszenarien.
- Unterstützung von Edge-GerätenEntwickelt für den effizienten Betrieb auf ressourcenbeschränkten Edge-Geräten.
- offene QuelleBietet eine vollständige Open-Source-Codebasis für eine einfache sekundäre Entwicklung und Anpassung durch Entwickler.
- Unterstützung mehrerer SprachenUnterstützt die Erstellung von Bildbeschreibungen in mehreren Sprachen.
- Online-DarstellungBildbeschreibungsinferenz in Echtzeit über die Gradio-Schnittstelle.
- StapeldateiUnterstützung der Stapelverarbeitung von Bildbeschreibungen zur Verbesserung der Verarbeitungseffizienz.
Hilfe verwenden
Einbauverfahren
- Klonen der Codebasis::
git clone https://github.com/vikhyat/moondream.git
cd moondream
- Installation von Abhängigkeiten::
pip install -r requirements.txt
- Führen Sie das Beispielskript aus::
python sample.py --image <IMAGE_PATH> --prompt <PROMPT>
Verwendung der Gradio-Schnittstelle
- Starten der Gradio-Schnittstelle::
python gradio_demo.py
- Argumentation in Echtzeit::
python webcam_gradio_demo.py
Hauptfunktionen
- Erzeugung von Bildbeschreibungen::
- ausnutzen
sample.py
Skripte, die Bildpfade und Beschreibungshinweise zur Erstellung von Bildbeschreibungen liefern. - Beispielbefehl:
python sample.py --image example.jpg --prompt "Describe this image."
- ausnutzen
- Stapeldatei::
- ausnutzen
batch_generate_example.py
Skripte, die mehrere Bildpfade und Beschreibungsaufforderungen zur Stapelgenerierung von Bildbeschreibungen bereitstellen. - Beispielbefehl:
python batch_generate_example.py --images image1.jpg image2.jpg --prompts "Describe image 1." "Describe image 2."
- ausnutzen
- Online-Darstellung::
- aktivieren (einen Plan)
webcam_gradio_demo.py
Skripte, die mit der Kamera Bilder in Echtzeit erfassen und Beschreibungen erstellen. - Beispielbefehl:
bash
python webcam_gradio_demo.py
- aktivieren (einen Plan)
Detaillierte Schritte
- Installation von Abhängigkeiten::
- Stellen Sie sicher, dass Sie Python 3.8 und höher installiert haben.
- ausnutzen
pip
Installieren Sie die erforderlichen Abhängigkeiten:
pip install transformers einops
- Modelle laden::
- ausnutzen
transformers
Die Bibliothek ist mit vortrainierten Modellen und Splittern bestückt:
from transformers import AutoModelForCausalLM, AutoTokenizer from PIL import Image model_id = "vikhyatk/moondream2" model = AutoModelForCausalLM.from_pretrained(model_id, trust_remote_code=True) tokenizer = AutoTokenizer.from_pretrained(model_id) image = Image.open('<IMAGE_PATH>') enc_image = model.encode_image(image) print(model.answer_question(enc_image, "Describe this image.", tokenizer))
- ausnutzen
- Einrichtung von Echtzeit-Reasoning::
- Starten Sie die Gradio-Schnittstelle, um die Kamera für die Live-Bildbeschreibung zu verwenden:
bash
python webcam_gradio_demo.py
- Starten Sie die Gradio-Schnittstelle, um die Kamera für die Live-Bildbeschreibung zu verwenden: