Live-Inferenz mit Streamlit-Anwendung unter Verwendung von Ultralytics YOLO11
Einführung
Streamlit vereinfacht das Erstellen und Bereitstellen interaktiver Webanwendungen. In Kombination mit Ultralytics YOLO11 ermöglicht dies die Objekterkennung und -analyse in Echtzeit direkt in Ihrem Browser. Die hohe Genauigkeit und Geschwindigkeit von YOLO11 gewährleisten eine nahtlose Leistung für Live-Video-Streams, wodurch es ideal für Anwendungen in den Bereichen Sicherheit, Einzelhandel und darüber hinaus geeignet ist.
Ansehen: So verwenden Sie Streamlit mit Ultralytics für Echtzeit Computer Vision in Ihrem Browser
Aquakultur | Tierhaltung |
---|---|
![]() |
![]() |
Fisch Erkennung mit Ultralytics YOLO11 | Tiererkennung mit Ultralytics YOLO11 |
Vorteile der Live-Inferenz
- Nahtlose Echtzeit-Objekterkennung: Streamlit in Kombination mit YOLO11 ermöglicht die Echtzeit-Objekterkennung direkt von Ihrem Webcam-Feed. Dies ermöglicht eine sofortige Analyse und Einsichten und ist somit ideal für Anwendungen, die sofortiges Feedback erfordern.
- Benutzerfreundliche Bereitstellung: Die interaktive Oberfläche von Streamlit erleichtert die Bereitstellung und Nutzung der Anwendung ohne umfangreiche technische Kenntnisse. Benutzer können mit einem einfachen Klick eine Live-Inferenz starten, was die Zugänglichkeit und Benutzerfreundlichkeit verbessert.
- Effiziente Ressourcennutzung: Die optimierten Algorithmen von YOLO11 gewährleisten eine schnelle Verarbeitung mit minimalen Rechenressourcen. Diese Effizienz ermöglicht eine reibungslose und zuverlässige Webcam-Inferenz selbst auf Standardhardware, wodurch fortschrittliche Computer Vision einem breiteren Publikum zugänglich gemacht wird.
Streamlit-Anwendungscode
Ultralytics Installation
Bevor Sie mit dem Aufbau der Anwendung beginnen, stellen Sie sicher, dass das Ultralytics Python-Paket installiert ist. Sie können es mit dem Befehl pip install ultralytics installieren.
Inferenz mit Streamlit mit Ultralytics YOLO
yolo solutions inference
yolo solutions inference model="path/to/model.pt"
from ultralytics import solutions
inf = solutions.Inference(
model="yolo11n.pt", # you can use any model that Ultralytics support, i.e. YOLO11, or custom trained model
)
inf.inference()
# Make sure to run the file using command `streamlit run path/to/file.py`
Dadurch wird die Streamlit-Anwendung in Ihrem Standard-Webbrowser gestartet. Sie sehen den Haupttitel, den Untertitel und die Seitenleiste mit Konfigurationsoptionen. Wählen Sie Ihr gewünschtes YOLO11-Modell aus, legen Sie die Konfidenz- und NMS-Schwellenwerte fest und klicken Sie auf die Schaltfläche "Start", um die Echtzeit-Objekterkennung zu starten.
Wie es funktioniert
Im Hintergrund verwendet die Streamlit-Anwendung das Ultralytics Solutions Modul, um eine interaktive Schnittstelle zu erstellen. Wenn Sie die Inferenz starten, führt die Anwendung Folgendes aus:
- Erfasst Videos von Ihrer Webcam oder einer hochgeladenen Videodatei
- Verarbeitet jeden Frame mit dem YOLO11-Modell
- Wendet die Objekterkennung mit den von Ihnen angegebenen Konfidenz- und IoU-Schwellenwerten an
- Zeigt sowohl die Original- als auch die annotierten Frames in Echtzeit an.
- Ermöglicht optional die Objektverfolgung, falls ausgewählt
Die Anwendung bietet eine übersichtliche, benutzerfreundliche Oberfläche mit Steuerelementen zur Anpassung der Modellparameter und zum Starten/Stoppen der Inferenz jederzeit.
Fazit
Indem Sie diesem Leitfaden folgen, haben Sie erfolgreich eine Echtzeit-Objekterkennungsanwendung mit Streamlit und Ultralytics YOLO11 erstellt. Diese Anwendung ermöglicht es Ihnen, die Leistungsfähigkeit von YOLO11 bei der Erkennung von Objekten über Ihre Webcam zu erleben, mit einer benutzerfreundlichen Oberfläche und der Möglichkeit, den Videostream jederzeit zu stoppen.
Für weitere Verbesserungen können Sie das Hinzufügen weiterer Funktionen wie das Aufzeichnen des Videostreams, das Speichern der annotierten Frames oder die Integration mit anderen Bibliotheken für Computer Vision in Betracht ziehen.
Teile deine Gedanken mit der Community
Tauschen Sie sich mit der Community aus, um mehr zu erfahren, Probleme zu beheben und Ihre Projekte zu teilen:
Wo finde ich Hilfe und Support?
- GitHub-Probleme: Besuchen Sie das Ultralytics GitHub-Repository, um Fragen zu stellen, Fehler zu melden und Funktionen vorzuschlagen.
- Ultralytics Discord Server: Treten Sie dem Ultralytics Discord Server bei, um sich mit anderen Nutzern und Entwicklern zu vernetzen, Unterstützung zu erhalten, Wissen auszutauschen und Ideen zu sammeln.
Offizielle Dokumentation
- Ultralytics YOLO11 Dokumentation: In der offiziellen YOLO11 Dokumentation finden Sie umfassende Anleitungen und Einblicke in verschiedene Computer-Vision-Aufgaben und -Projekte.
FAQ
Wie kann ich eine Echtzeit-Objekterkennungsanwendung mit Streamlit und Ultralytics YOLO11 einrichten?
Das Einrichten einer Echtzeit-Objekterkennungsanwendung mit Streamlit und Ultralytics YOLO11 ist unkompliziert. Stellen Sie zunächst sicher, dass das Ultralytics python-Paket installiert ist, indem Sie Folgendes verwenden:
pip install ultralytics
Anschließend können Sie eine einfache Streamlit-Anwendung erstellen, um Live-Inferenz auszuführen:
Streamlit-Anwendung
from ultralytics import solutions
inf = solutions.Inference(
model="yolo11n.pt", # you can use any model that Ultralytics support, i.e. YOLO11, YOLOv10
)
inf.inference()
# Make sure to run the file using command `streamlit run path/to/file.py`
yolo solutions inference
Weitere Informationen zum praktischen Setup finden Sie im Abschnitt Streamlit-Anwendungscode der Dokumentation.
Was sind die Hauptvorteile der Verwendung von Ultralytics YOLO11 mit Streamlit für die Echtzeit-Objekterkennung?
Die Verwendung von Ultralytics YOLO11 mit Streamlit für die Echtzeit-Objekterkennung bietet mehrere Vorteile:
- Nahtlose Echtzeit-Erkennung: Erzielen Sie hoch-genaue Echtzeit-Objekterkennung direkt von Webcam-Feeds.
- Benutzerfreundliche Oberfläche: Die intuitive Oberfläche von Streamlit ermöglicht eine einfache Nutzung und Bereitstellung ohne umfangreiche technische Kenntnisse.
- Ressourceneffizienz: Die optimierten Algorithmen von YOLO11 gewährleisten eine schnelle Verarbeitung mit minimalen Rechenressourcen.
Erfahre mehr über diese Vorteile im Abschnitt Vorteile der Live-Inferenz.
Wie stelle ich eine Streamlit-Objekterkennungsanwendung in meinem Webbrowser bereit?
Nachdem Sie Ihre Streamlit-Anwendung mit der Integration von Ultralytics YOLO11 codiert haben, können Sie sie bereitstellen, indem Sie Folgendes ausführen:
streamlit run path/to/file.py
Dieser Befehl startet die Anwendung in Ihrem Standard-Webbrowser, sodass Sie YOLO11-Modelle auswählen, Konfidenz- und NMS-Schwellenwerte festlegen und die Echtzeit-Objekterkennung mit einem einfachen Klick starten können. Eine detaillierte Anleitung finden Sie im Abschnitt Streamlit Application Code.
Was sind einige Anwendungsfälle für die Echtzeit-Objekterkennung mit Streamlit und Ultralytics YOLO11?
Echtzeit-Objekterkennung mit Streamlit und Ultralytics YOLO11 kann in verschiedenen Sektoren eingesetzt werden:
- Sicherheit: Echtzeitüberwachung für unbefugten Zugriff und Sicherheitsalarmanlagen.
- Einzelhandel: Kundenzählung, Regalmanagement und Bestandsverfolgung.
- Tierwelt und Landwirtschaft: Überwachung von Tieren und Pflanzenzuständen für Naturschutzmaßnahmen.
Für detailliertere Anwendungsfälle und Beispiele erkunden Sie die Ultralytics Lösungen.
Wie schneidet Ultralytics YOLO11 im Vergleich zu anderen Objekterkennungsmodellen wie YOLOv5 und RCNNs ab?
Ultralytics YOLO11 bietet mehrere Verbesserungen gegenüber früheren Modellen wie YOLOv5 und RCNNs:
- Höhere Geschwindigkeit und Genauigkeit: Verbesserte Leistung für Echtzeit-Anwendungen.
- Einfache Bedienung: Vereinfachte Schnittstellen und Bereitstellung.
- Ressourceneffizienz: Optimiert für höhere Geschwindigkeit bei minimalen Rechenanforderungen.
Einen umfassenden Vergleich finden Sie in der Ultralytics YOLO11 Dokumentation und in den zugehörigen Blogbeiträgen, in denen die Modellleistung erörtert wird.