Interaktive Objekterkennung: Gradio & Ultralytics YOLO26 🚀

Einführung in die interaktive Objekterkennung

Diese Gradio-Schnittstelle bietet eine einfache und interaktive Möglichkeit, eine Objekterkennung mit dem Ultralytics YOLO26 Modell durchzuführen. Nutzer können Bilder hochladen und Parameter wie Konfidenz-Schwellenwert und Intersection-over-Union (IoU) Schwellenwert anpassen, um Objektergebnisse in Echtzeit zu erhalten.



Watch: Gradio Integration with Ultralytics YOLO26

Warum Gradio für die Objekterkennung verwenden?

  • Benutzerfreundliche Oberfläche: Gradio bietet eine unkomplizierte Plattform für Nutzer, um Bilder hochzuladen und Erkennungsergebnisse ohne Programmieraufwand zu visualisieren.
  • Echtzeit-Anpassungen: Parameter wie Konfidenz- und IoU-Schwellenwerte können spontan angepasst werden, was sofortiges Feedback und die Optimierung der Erkennungsergebnisse ermöglicht.
  • Breite Zugänglichkeit: Die Gradio-Weboberfläche kann von jedem aufgerufen werden, was sie zu einem hervorragenden Werkzeug für Demonstrationen, Bildungszwecke und schnelle Experimente macht.

Gradio YOLO detection interface

Wie installiere ich Gradio

pip install gradio

Wie verwende ich die Schnittstelle

  1. Bild hochladen: Klicke auf 'Bild hochladen', um eine Bilddatei für die Objekterkennung auszuwählen.
  2. Parameter anpassen:
    • Konfidenz-Schwellenwert: Schieberegler, um das minimale Konfidenzniveau für die Erkennung von Objekten festzulegen.
    • IoU-Schwellenwert: Schieberegler, um den IoU-Schwellenwert zur Unterscheidung verschiedener Objekte festzulegen.
  3. Ergebnisse anzeigen: Das verarbeitete Bild mit den erkannten Objekten und ihren Labels wird angezeigt.

Beispiel-Anwendungsfälle

  • Beispielbild 1: Bus-Erkennung mit Standard-Schwellenwerten.
  • Beispielbild 2: Erkennung auf einem Sportbild mit Standard-Schwellenwerten.

Anwendungsbeispiel

Dieser Abschnitt enthält den Python-Code, der verwendet wird, um die Gradio-Schnittstelle mit dem Ultralytics YOLO26 Modell zu erstellen. Der Code unterstützt Klassifizierungsaufgaben, Erkennungsaufgaben, Segmentierungsaufgaben und Keypoint-Aufgaben.

import gradio as gr
import PIL.Image as 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

ParameternameTypBeschreibung
imgImageDas Bild, auf dem die Objekterkennung durchgeführt werden soll.
conf_thresholdfloatKonfidenz-Schwellenwert für die Erkennung von Objekten.
iou_thresholdfloatIntersection-over-Union-Schwellenwert zur Objekttrennung.

Gradio-Schnittstellenkomponenten

KomponenteBeschreibung
BildeingabeZum Hochladen des Bildes für die Erkennung.
SchiebereglerZum Anpassen der Konfidenz- und IoU-Schwellenwerte.
BildausgabeZur Anzeige der Erkennungsergebnisse.

FAQ

Wie verwende ich Gradio mit Ultralytics YOLO26 zur Objekterkennung?

Um Gradio mit Ultralytics YOLO26 zur Objekterkennung zu verwenden, kannst du diese Schritte befolgen:

  1. Gradio installieren: Verwende den Befehl pip install gradio.
  2. Schnittstelle erstellen: Schreibe ein Python-Skript, um die Gradio-Schnittstelle zu initialisieren. Du kannst dich für Details auf das bereitgestellte Codebeispiel in der Dokumentation beziehen.
  3. Hochladen und Anpassen: Lade dein Bild hoch und passe die Konfidenz- und IoU-Schwellenwerte auf der Gradio-Schnittstelle an, um Objekterkennungsergebnisse in Echtzeit zu erhalten.

Hier ist ein minimales Code-Beispiel 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()

Was sind die Vorteile der Verwendung von Gradio für die Ultralytics YOLO26 Objekterkennung?

Die Verwendung von Gradio für die Ultralytics YOLO26 Objekterkennung bietet mehrere Vorteile:

  • Benutzerfreundliche Oberfläche: Gradio bietet eine intuitive Oberfläche für Nutzer, um Bilder hochzuladen und Erkennungsergebnisse ohne Programmieraufwand zu visualisieren.
  • Echtzeit-Anpassungen: Du kannst Erkennungsparameter wie Konfidenz- und IoU-Schwellenwerte dynamisch anpassen und die Auswirkungen sofort sehen.
  • Zugänglichkeit: Die Weboberfläche ist für jeden zugänglich, was sie nützlich für schnelle Experimente, Bildungszwecke und Demonstrationen macht.

Weitere Details findest du in diesem Blogbeitrag über KI in der Radiologie, der ähnliche interaktive Visualisierungstechniken vorstellt.

Kann ich Gradio und Ultralytics YOLO26 gemeinsam für Bildungszwecke verwenden?

Ja, Gradio und Ultralytics YOLO26 können effektiv gemeinsam für Bildungszwecke genutzt werden. Die intuitive Weboberfläche von Gradio macht es für Schüler, Studenten und Lehrende einfach, mit hochmodernen Deep Learning Modellen wie Ultralytics YOLO26 zu interagieren, ohne dass fortgeschrittene Programmierkenntnisse erforderlich sind. Dieses Setup ist ideal, um Schlüsselkonzepte der Objekterkennung und Computer Vision zu demonstrieren, da Gradio sofortiges visuelles Feedback bietet, was dabei hilft, die Auswirkungen verschiedener Parameter auf die Erkennungsleistung zu verstehen.

Wie passe ich die Konfidenz- und IoU-Schwellenwerte in der Gradio-Schnittstelle für YOLO26 an?

In der Gradio-Schnittstelle für YOLO26 kannst du die Konfidenz- und IoU-Schwellenwerte mithilfe der bereitgestellten Schieberegler anpassen. Diese Schwellenwerte helfen dabei, die Genauigkeit der Vorhersage und die Objekttrennung zu steuern:

  • Konfidenz-Schwellenwert: Bestimmt das minimale Konfidenzniveau für die Erkennung von Objekten. Schiebe den Regler, um die erforderliche Konfidenz zu erhöhen oder zu verringern.
  • IoU-Schwellenwert: Legt den Intersection-over-Union-Schwellenwert fest, um zwischen überlappenden Objekten zu unterscheiden. Passe diesen Wert an, um die Objekttrennung zu verfeinern.

Weitere Informationen zu diesen Parametern findest du im Abschnitt zur Parametererklärung.

Was sind einige praktische Anwendungen der Verwendung von Ultralytics YOLO26 mit Gradio?

Praktische Anwendungen der Kombination von Ultralytics YOLO26 mit Gradio umfassen:

  • Demonstrationen der Objekterkennung in Echtzeit: Ideal, um zu zeigen, wie Objekterkennung in Echtzeit funktioniert.
  • Bildungswerkzeuge: Nützlich im akademischen Umfeld, um Konzepte der Objekterkennung und Computer Vision zu lehren.
  • Prototypenentwicklung: Effizient, um Prototypen für Objekterkennungsanwendungen schnell zu entwickeln und zu testen.
  • Community und Zusammenarbeit: Macht es einfach, Modelle mit der Community für Feedback und Zusammenarbeit zu teilen.

Beispiele für ähnliche Anwendungsfälle findest du im Ultralytics Blog zur Überwachung von Tierverhalten, der zeigt, wie interaktive Visualisierung Bemühungen zum Schutz der Tierwelt verbessern kann.

Kommentare