Interaktive Objekterkennung: Gradio & Ultralytics YOLO26#
Einführung in die interaktive Objekterkennung#
Diese Gradio-Oberfläche ermöglicht eine einfache und interaktive Objekterkennung mit dem Modell Ultralytics YOLO26. Nutzer können Bilder hochladen und Parameter wie den Konfidenzschwellenwert und den Schwellenwert für die Schnittmenge über Vereinigungsmenge (IoU) anpassen, um Erkennungsergebnisse in Echtzeit zu erhalten.
Ansehen: Stelle Ultralytics YOLO26 mit Gradio im Browser bereit | Vollständige Anleitung | Vision-KI 🌐
Warum Gradio für die Objekterkennung verwenden?#
- Benutzerfreundliche Oberfläche: Gradio bietet eine unkomplizierte Plattform, auf der Nutzer Bilder hochladen und Erkennungsergebnisse anzeigen können, ohne programmieren zu müssen.
- Anpassungen in Echtzeit: Parameter wie Konfidenz- und IoU-Schwellenwerte lassen sich direkt anpassen. So erhältst du sofort Rückmeldung und kannst die Erkennungsergebnisse optimieren.
- Breite Zugänglichkeit: Die Gradio-Weboberfläche ist für alle zugänglich und eignet sich daher hervorragend für Vorführungen, 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: Mit diesem Schieberegler legst du die minimale Konfidenz für die Objekterkennung fest.
- IoU-Schwellenwert: Mit diesem Schieberegler legst du den IoU-Schwellenwert fest, anhand dessen verschiedene Objekte unterschieden werden.
- Ergebnisse anzeigen: Das verarbeitete Bild mit den erkannten Objekten und ihren Bezeichnungen wird angezeigt.
Beispielanwendungen#
- Beispielbild 1: Buserkennung mit den Standard-Schwellenwerten.
- Beispielbild 2: Erkennung in einem Sportbild mit den Standard-Schwellenwerten.
Anwendungsbeispiel#
Dieser Abschnitt enthält den Python-Code zum Erstellen einer Gradio-Oberfläche für die Objekterkennung mit Ultralytics YOLO26. Das Beispiel lässt sich für Klassifizierung, Instanzsegmentierung, Posenschätzung und weitere YOLO-Aufgaben anpassen, indem der entsprechende Modell-Checkpoint geladen wird.
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()Erläuterung der Parameter#
| Parametername | Typ | Beschreibung |
|---|---|---|
img | Image | Das Bild, in dem die Objekterkennung ausgeführt wird. |
conf_threshold | float | Konfidenzschwellenwert für die Objekterkennung. |
iou_threshold | float | Schwellenwert für die Schnittmenge über Vereinigungsmenge 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. |
Häufig gestellte Fragen#
So verwendest du Gradio mit Ultralytics YOLO26 für die Objekterkennung:
- Gradio installieren: Verwende den Befehl
pip install gradio. - Oberfläche erstellen: Schreibe ein Python-Skript, um die Gradio-Oberfläche zu initialisieren. Weitere Informationen 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 Objekterkennungsergebnisse in Echtzeit zu erhalten.
Hier ist ein minimales Codebeispiel:
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(pil=True) # RGB-PIL-Bild; plot() ohne pil=True gibt ein BGR-Array zurück 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 Nutzer Bilder hochladen und Erkennungsergebnisse anzeigen können, 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 eignet sich daher für schnelle Experimente, Bildungszwecke und Vorführungen.
Weitere Informationen findest du in diesem Blogbeitrag zu 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 hochmodernen Deep-Learning-Modellen wie Ultralytics YOLO26 zu arbeiten, ohne fortgeschrittene Programmierkenntnisse zu benötigen. Diese Kombination eignet sich ideal, um zentrale Konzepte der Objekterkennung und des maschinellen Sehens zu vermitteln. Gradio liefert unmittelbar visuelles Feedback, sodass sich besser nachvollziehen lässt, wie sich verschiedene Parameter auf die Erkennungsleistung auswirken.
In der Gradio-Oberfläche für YOLO26 kannst du die Konfidenz- und IoU-Schwellenwerte mit den bereitgestellten Schiebereglern anpassen. Diese Schwellenwerte helfen dir, die Genauigkeit der Vorhersagen und die Trennung der Objekte zu steuern:
- Konfidenzschwellenwert: Legt die minimale Konfidenz für die Objekterkennung fest. Bewege den Schieberegler, um die erforderliche Konfidenz zu erhöhen oder zu verringern.
- IoU-Schwellenwert: Legt den Schwellenwert für die Schnittmenge über Vereinigungsmenge fest, anhand dessen überlappende Objekte unterschieden werden. Passe diesen Wert an, um die Trennung der Objekte zu verbessern.
Weitere Informationen zu diesen Parametern findest du im Abschnitt zur Erläuterung der Parameter.
Zu den praktischen Anwendungsmöglichkeiten von Ultralytics YOLO26 in Kombination mit Gradio gehören:
- Vorführungen der Objekterkennung in Echtzeit: Ideal, um zu zeigen, wie die Objekterkennung in Echtzeit funktioniert.
- Lernwerkzeuge: Nützlich in Bildungseinrichtungen, um Konzepte der Objekterkennung und des maschinellen Sehens zu vermitteln.
- Entwicklung von Prototypen: Ermöglicht die schnelle Entwicklung und Erprobung von Prototypanwendungen zur Objekterkennung.
- Community und Zusammenarbeit: Erleichtert es, Modelle mit der Community zu teilen und Feedback einzuholen sowie gemeinsam daran zu arbeiten.
Beispiele für ähnliche Anwendungsfälle findest du im Ultralytics-Blogbeitrag zur Überwachung des Tierverhaltens. Er zeigt, wie interaktive Visualisierungen zum Schutz wild lebender Tiere beitragen können.