Ultralytics YOLO27:

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 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: Schieberegler zum Festlegen der minimalen Konfidenz für die Erkennung von Objekten.
    • IoU-Schwellenwert: Schieberegler zum Festlegen des IoU-Schwellenwerts zur Unterscheidung verschiedener Objekte.
  3. 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#

ParameternameTypBeschreibung
imgImageDas Bild, auf dem die Objekterkennung durchgeführt wird.
conf_thresholdfloatKonfidenzschwellenwert für die Erkennung von Objekten.
iou_thresholdfloatSchwellenwert für die Schnittmenge über die Vereinigung 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.

FAQ#

  • Um Gradio mit Ultralytics YOLO26 zur Objekterkennung zu verwenden, kannst du die folgenden Schritte ausführen:

    1. Gradio installieren: Verwende den Befehl pip install gradio.
    2. Oberfläche erstellen: Schreibe ein Python-Skript, um die Gradio-Oberfläche zu initialisieren. Einzelheiten 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 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()
  • 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.

Kommentare