Interaktive Objekterkennung: Gradio & Ultralytics YOLO26#
Einführung in die interaktive Objekterkennung#
Diese Gradio-Oberfläche bietet eine einfache und interaktive Möglichkeit, mithilfe des Modells Ultralytics YOLO26 eine Objekterkennung durchzuführen. Du kannst Bilder hochladen und Parameter wie den Konfidenzschwellenwert sowie den Schwellenwert für die Schnittmenge über die Vereinigung (IoU) anpassen, um Erkennungsergebnisse in Echtzeit zu erhalten.
Watch: Deploy Ultralytics YOLO26 in a Browser with Gradio | Complete Tutorial | Vision AI 🌐
Warum Gradio für die Objekterkennung verwenden?#
- Benutzerfreundliche Oberfläche: Gradio bietet eine übersichtliche Plattform, auf der du Bilder hochladen und Erkennungsergebnisse visualisieren kannst, ohne programmieren zu müssen.
- Anpassungen in Echtzeit: Parameter wie Konfidenz- und IoU-Schwellenwerte lassen sich direkt anpassen, sodass du sofortiges Feedback erhältst und die Erkennungsergebnisse optimieren kannst.
- Breite Zugänglichkeit: Die Gradio-Weboberfläche ist für alle zugänglich und eignet sich daher hervorragend für Demonstrationen, Bildungszwecke und schnelle Experimente.
Gradio installieren#
pip install gradioDie Oberfläche verwenden#
- Bild hochladen: Klicke auf „Bild hochladen“, um eine Bilddatei für die Objekterkennung auszuwählen.
- Parameter anpassen:
- Konfidenzschwellenwert: Schieberegler zum Festlegen der minimalen Konfidenz für die Erkennung von Objekten.
- IoU-Schwellenwert: Schieberegler zum Festlegen des IoU-Schwellenwerts zur Unterscheidung verschiedener Objekte.
- Ergebnisse anzeigen: Das verarbeitete Bild mit den erkannten Objekten und ihren Bezeichnungen wird angezeigt.
Beispielanwendungen#
- Beispielbild 1: Buserkennung mit Standardschwellenwerten.
- Beispielbild 2: Erkennung in einem Sportbild mit Standardschwellenwerten.
Anwendungsbeispiel#
Dieser Abschnitt enthält den Python-Code zum Erstellen einer Gradio-Oberfläche für die Objekterkennung mit Ultralytics YOLO26. Das Beispiel kann für Klassifizierung, Instanzsegmentierung, Posenschätzung und andere YOLO-Aufgaben angepasst werden, indem du den entsprechenden Modellprüfpunkt lädst.
import gradio as gr
from PIL import Image
from ultralytics import ASSETS, YOLO
model = YOLO("yolo26n.pt")
def predict_image(img, conf_threshold, iou_threshold):
"""Predicts objects in an image using a YOLO26 model with adjustable confidence and IoU thresholds."""
results = model.predict(
source=img,
conf=conf_threshold,
iou=iou_threshold,
show_labels=True,
show_conf=True,
imgsz=640,
)
for r in results:
im_array = r.plot()
im = Image.fromarray(im_array[..., ::-1])
return im
iface = gr.Interface(
fn=predict_image,
inputs=[
gr.Image(type="pil", label="Upload Image"),
gr.Slider(minimum=0, maximum=1, value=0.25, label="Confidence threshold"),
gr.Slider(minimum=0, maximum=1, value=0.45, label="IoU threshold"),
],
outputs=gr.Image(type="pil", label="Result"),
title="Ultralytics Gradio",
description="Upload images for inference. The Ultralytics YOLO26n model is used by default.",
examples=[
[ASSETS / "bus.jpg", 0.25, 0.45],
[ASSETS / "zidane.jpg", 0.25, 0.45],
],
)
if __name__ == "__main__":
iface.launch()Erklärung der Parameter#
| Parametername | Typ | Beschreibung |
|---|---|---|
img | Image | Das Bild, auf dem die Objekterkennung durchgeführt wird. |
conf_threshold | float | Konfidenzschwellenwert für die Erkennung von Objekten. |
iou_threshold | float | Schwellenwert für die Schnittmenge über die Vereinigung zur Trennung von Objekten. |
Komponenten der Gradio-Oberfläche#
| Komponente | Beschreibung |
|---|---|
| Bildeingabe | Zum Hochladen des Bildes für die Erkennung. |
| Schieberegler | Zum Anpassen der Konfidenz- und IoU-Schwellenwerte. |
| Bildausgabe | Zur Anzeige der Erkennungsergebnisse. |
FAQ#
Um Gradio mit Ultralytics YOLO26 zur Objekterkennung zu verwenden, kannst du die folgenden Schritte ausführen:
- Gradio installieren: Verwende den Befehl
pip install gradio. - Oberfläche erstellen: Schreibe ein Python-Skript, um die Gradio-Oberfläche zu initialisieren. Einzelheiten findest du im bereitgestellten Codebeispiel in der Dokumentation.
- Hochladen und anpassen: Lade dein Bild hoch und passe die Konfidenz- und IoU-Schwellenwerte in der Gradio-Oberfläche an, um Ergebnisse der Objekterkennung in Echtzeit zu erhalten.
Hier ist ein minimales Codebeispiel als Referenz:
import gradio as gr from ultralytics import YOLO model = YOLO("yolo26n.pt") def predict_image(img, conf_threshold, iou_threshold): results = model.predict( source=img, conf=conf_threshold, iou=iou_threshold, show_labels=True, show_conf=True, ) return results[0].plot() if results else None iface = gr.Interface( fn=predict_image, inputs=[ gr.Image(type="pil", label="Upload Image"), gr.Slider(minimum=0, maximum=1, value=0.25, label="Confidence threshold"), gr.Slider(minimum=0, maximum=1, value=0.45, label="IoU threshold"), ], outputs=gr.Image(type="pil", label="Result"), title="Ultralytics Gradio YOLO26", description="Upload images for YOLO26 object detection.", ) iface.launch()- Gradio installieren: Verwende den Befehl
Die Verwendung von Gradio für die Objekterkennung mit Ultralytics YOLO26 bietet mehrere Vorteile:
- Benutzerfreundliche Oberfläche: Gradio bietet eine intuitive Oberfläche, über die du Bilder hochladen und Erkennungsergebnisse visualisieren kannst, ohne programmieren zu müssen.
- Anpassungen in Echtzeit: Du kannst Erkennungsparameter wie Konfidenz- und IoU-Schwellenwerte dynamisch anpassen und die Auswirkungen sofort sehen.
- Zugänglichkeit: Die Weboberfläche ist für alle zugänglich und daher für schnelle Experimente, Bildungszwecke und Demonstrationen geeignet.
Weitere Einzelheiten findest du in diesem Blogbeitrag über KI in der Radiologie, der ähnliche interaktive Visualisierungstechniken vorstellt.
Ja, Gradio und Ultralytics YOLO26 lassen sich effektiv gemeinsam für Bildungszwecke einsetzen. Die intuitive Weboberfläche von Gradio erleichtert es Lernenden und Lehrenden, mit modernen Deep-Learning-Modellen wie Ultralytics YOLO26 zu arbeiten, ohne fortgeschrittene Programmierkenntnisse zu benötigen. Diese Kombination eignet sich ideal zur Vermittlung zentraler Konzepte der Objekterkennung und des maschinellen Sehens, da Gradio sofortiges visuelles Feedback liefert und dadurch das Verständnis des Einflusses verschiedener Parameter auf die Erkennungsleistung unterstützt.
In der Gradio-Oberfläche für YOLO26 kannst du die Konfidenz- und IoU-Schwellenwerte mithilfe der bereitgestellten Schieberegler anpassen. Diese Schwellenwerte helfen dabei, die Genauigkeit der Vorhersagen und die Trennung von Objekten zu steuern:
- Konfidenzschwellenwert: Legt die minimale Konfidenz für die Erkennung von Objekten fest. Verschiebe den Regler, um die erforderliche Konfidenz zu erhöhen oder zu verringern.
- IoU-Schwellenwert: Legt den Schwellenwert für die Schnittmenge über die Vereinigung fest, um überlappende Objekte zu unterscheiden. Passe diesen Wert an, um die Objekttrennung zu verfeinern.
Weitere Informationen zu diesen Parametern findest du im Abschnitt Erklärung der Parameter.
Zu den praktischen Anwendungen der Kombination von Ultralytics YOLO26 mit Gradio gehören:
- Demonstrationen der Objekterkennung in Echtzeit: Ideal, um die Funktionsweise der Objekterkennung in Echtzeit zu veranschaulichen.
- Bildungswerkzeuge: Nützlich in akademischen Umgebungen zur Vermittlung von Konzepten der Objekterkennung und des maschinellen Sehens.
- Entwicklung von Prototypen: Effizient zum schnellen Entwickeln und Testen von Prototypanwendungen zur Objekterkennung.
- Community und Zusammenarbeit: Erleichtert das Teilen von Modellen mit der Community, um Feedback und Beiträge zur Zusammenarbeit zu erhalten.
Beispiele für ähnliche Anwendungsfälle findest du im Ultralytics-Blog zur Überwachung des Tierverhaltens, der zeigt, wie interaktive Visualisierung den Schutz wild lebender Tiere unterstützen kann.