Skip to content

Interaktive Objekterkennung: Gradio & Ultralytics YOLO11 🚀

Einführung in die interaktive Objekterkennung

Diese Gradio-Schnittstelle bietet eine einfache und interaktive Möglichkeit zur Durchführung von Objekterkennung mit dem Ultralytics YOLO11-Modell. Benutzer können Bilder hochladen und Parameter wie Konfidenzschwellenwert und Intersection-over-Union (IoU)-Schwellenwert anpassen, um Echtzeit-Erkennungsergebnisse zu erhalten.



Ansehen: Gradio-Integration mit Ultralytics YOLO11

Warum Gradio für die Objekterkennung verwenden?

  • Benutzerfreundliche Oberfläche: Gradio bietet eine unkomplizierte Plattform für Benutzer, um Bilder hochzuladen und Erkennungsergebnisse ohne Programmierkenntnisse zu visualisieren.
  • Echtzeit-Anpassungen: Parameter wie Konfidenz- und IoU-Schwellenwerte können im laufenden Betrieb angepasst werden, was ein sofortiges Feedback und eine Optimierung der Erkennungsergebnisse ermöglicht.
  • Breite Zugänglichkeit: Die Gradio-Weboberfläche ist für jeden zugänglich und somit ein hervorragendes Werkzeug für Demonstrationen, Bildungszwecke und schnelle Experimente.

Screenshot des Gradio-Beispiels

Wie man Gradio installiert

pip install gradio

So verwenden Sie die Schnittstelle

  1. Bild hochladen: Klicken Sie auf 'Bild hochladen', um eine Bilddatei für die Objekterkennung auszuwählen.
  2. Parameter anpassen:
    • Konfidenzschwellenwert: Schieberegler zum Einstellen des minimalen Konfidenzwerts 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 erkannten Objekten und ihren Beschriftungen wird angezeigt.

Anwendungsbeispiele

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

Anwendungsbeispiel

Dieser Abschnitt stellt den Python-Code bereit, der verwendet wird, um die Gradio-Schnittstelle mit dem Ultralytics YOLO11-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("yolo11n.pt")


def predict_image(img, conf_threshold, iou_threshold):
    """Predicts objects in an image using a YOLO11 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 YOLO11n 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, auf dem Objekterkennung durchgeführt werden soll.
conf_threshold float Konfidenzschwellwert für die Erkennung von Objekten.
iou_threshold float Intersection-over-Union-Schwellenwert für die Objekttrennung.

Gradio-Schnittstellenkomponenten

Komponente Beschreibung
Bildeingabe So laden Sie das Bild zur Erkennung hoch.
Schieberegler So passen Sie die Konfidenz- und IoU-Schwellenwerte an.
Bildausgabe Um die Erkennungsergebnisse anzuzeigen.

FAQ

Wie verwende ich Gradio mit Ultralytics YOLO11 zur Objekterkennung?

Um Gradio mit Ultralytics YOLO11 für die Objekterkennung zu verwenden, können Sie die folgenden Schritte ausführen:

  1. Gradio installieren: Verwenden Sie den Befehl pip install gradio.
  2. Schnittstelle erstellen: Schreiben Sie ein python-Skript, um die Gradio-Schnittstelle zu initialisieren. Einzelheiten dazu finden Sie im bereitgestellten Codebeispiel in der Dokumentation.
  3. Hochladen und Anpassen: Laden Sie Ihr Bild hoch und passen Sie die Konfidenz- und IoU-Schwellenwerte auf der Gradio-Oberfläche an, um Objekterkennungsergebnisse in Echtzeit zu erhalten.

Hier ist ein minimaler Code-Schnipsel als Referenz:

import gradio as gr

from ultralytics import YOLO

model = YOLO("yolo11n.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 YOLO11",
    description="Upload images for YOLO11 object detection.",
)
iface.launch()

Welche Vorteile bietet die Verwendung von Gradio für die Ultralytics YOLO11-Objekterkennung?

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

  • Benutzerfreundliche Oberfläche: Gradio bietet eine intuitive Oberfläche für Benutzer, um Bilder hochzuladen und Erkennungsergebnisse ohne Programmieraufwand zu visualisieren.
  • Echtzeit-Anpassungen: Sie können Erkennungsparameter wie Konfidenz- und IoU-Schwellenwerte dynamisch anpassen und die Auswirkungen sofort sehen.
  • Barrierefreiheit: Die Weboberfläche ist für jeden zugänglich und eignet sich daher für schnelle Experimente, Bildungszwecke und Demonstrationen.

Weitere Details finden Sie in diesem Blog-Post über KI in der Radiologie, der ähnliche interaktive Visualisierungstechniken vorstellt.

Kann ich Gradio und Ultralytics YOLO11 zusammen für Bildungszwecke verwenden?

Ja, Gradio und Ultralytics YOLO11 können effektiv für Bildungszwecke eingesetzt werden. Die intuitive Weboberfläche von Gradio erleichtert es Schülern und Pädagogen, mit hochmodernen Deep-Learning-Modellen wie Ultralytics YOLO11 zu interagieren, ohne dass fortgeschrittene Programmierkenntnisse erforderlich sind. Dieses Setup ist ideal, um Schlüsselkonzepte in Objekterkennung und Computer Vision zu demonstrieren, da Gradio ein unmittelbares visuelles Feedback bietet, das hilft, die Auswirkungen verschiedener Parameter auf die Erkennungsleistung zu verstehen.

Wie passe ich die Konfidenz- und IoU-Schwellenwerte in der Gradio-Oberfläche für YOLO11 an?

In der Gradio-Oberfläche für YOLO11 können Sie die Konfidenz- und IoU-Schwellenwerte mit den bereitgestellten Schiebereglern anpassen. Diese Schwellenwerte helfen, die Genauigkeit der Vorhersage und die Objekttrennung zu steuern:

  • Konfidenzschwellenwert: Bestimmt den minimalen Konfidenzwert für die Erkennung von Objekten. Schieben Sie 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. Passen Sie diesen Wert an, um die Objekttrennung zu verfeinern.

Weitere Informationen zu diesen Parametern finden Sie im Abschnitt Erläuterung der Parameter.

Was sind einige praktische Anwendungen für die Verwendung von Ultralytics YOLO11 mit Gradio?

Praktische Anwendungen der Kombination von Ultralytics YOLO11 mit Gradio umfassen:

  • Echtzeit-Objekterkennungsdemonstrationen: Ideal, um zu zeigen, wie Objekterkennung in Echtzeit funktioniert.
  • Lehrmittel: Nützlich in akademischen Umgebungen, um Objekterkennung und Computer-Vision-Konzepte zu vermitteln.
  • Prototypenentwicklung: Effizient für die schnelle Entwicklung und das Testen von Prototyp-Objekterkennungsanwendungen.
  • Community und Zusammenarbeit: Es ist einfach, Modelle mit der Community zu teilen, um Feedback und Zusammenarbeit zu ermöglichen.

Beispiele für ähnliche Anwendungsfälle finden Sie im Ultralytics-Blog zur Überwachung des Tierverhaltens, der zeigt, wie die interaktive Visualisierung die Bemühungen zum Schutz der Tierwelt verbessern kann.



📅 Vor 1 Jahr erstellt ✏️ Vor 5 Monaten aktualisiert

Kommentare