Ultralytics YOLO27:
Get Started

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 YOLO detection interface

Gradio installieren#

pip install gradio

Die Oberfläche verwenden#

  1. Bild hochladen: Klicke auf „Bild hochladen“, um eine Bilddatei für die Objekterkennung auszuwählen.
  2. 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.
  3. 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#

ParameternameTypBeschreibung
imgImageDas Bild, in dem die Objekterkennung ausgeführt wird.
conf_thresholdfloatKonfidenzschwellenwert für die Objekterkennung.
iou_thresholdfloatSchwellenwert für die Schnittmenge über Vereinigungsmenge zur Trennung von Objekten.

Komponenten der Gradio-Oberfläche#

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

Häufig gestellte Fragen#

  • So verwendest du Gradio mit Ultralytics YOLO26 für die Objekterkennung:

    1. Gradio installieren: Verwende den Befehl pip install gradio.
    2. Oberfläche erstellen: Schreibe ein Python-Skript, um die Gradio-Oberfläche zu initialisieren. Weitere Informationen findest du im bereitgestellten Codebeispiel in der Dokumentation.
    3. 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()
  • 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.

Kommentare