Inferenz

Die Ultralytics Platform bietet eine Inference-API zum Testen trainierter Modelle. Nutze den browserbasierten Predict-Tab für eine schnelle Validierung oder die REST API für den programmatischen Zugriff.

Ultralytics Platform Modell Predict Tab mit Erkennungs-Overlay

Tab Vorhersage

Jedes Modell enthält einen Predict-Tab für browserbasierte Inference:

  1. Navigiere zu deinem Modell
  2. Klicke auf den Predict-Tab
  3. Lade ein Bild hoch, verwende ein Beispiel oder öffne deine Webcam
  4. Sieh dir die Vorhersagen sofort mit Bounding-Box-Overlays an

Ultralytics Platform Predict Tab Image Upload Dropzone

Eingabemethoden

Das Predict-Panel unterstützt mehrere Eingabemethoden:

MethodeBeschreibung
Bild-UploadPer Drag-and-Drop oder Klick ein Bild hochladen
BeispielbilderKlicke auf integrierte Beispiele (Dataset-Bilder oder Standardbilder)
Webcam-AufnahmeLive-Kamera-Feed mit Einzelbildaufnahme
graph LR
    A[Upload Image] --> D[Auto-Inference]
    B[Example Image] --> D
    C[Webcam Capture] --> D
    D --> E[Results + Overlays]

    style D fill:#2196F3,color:#fff
    style E fill:#4CAF50,color:#fff

Bild hochladen

Per Drag-and-Drop oder Klick hochladen:

  • Unterstützte Formate: JPEG, PNG, WebP, AVIF, HEIC, JP2, TIFF, BMP, DNG, MPO
  • Maximale Größe: 10MB
  • Auto-Inference: Ergebnisse erscheinen automatisch nach dem Hochladen
Auto-Inferenz

Das Predict-Panel führt automatisch eine Inference durch, wenn du ein Bild hochlädst, ein Beispiel auswählst oder einen Webcam-Frame aufnimmst. Es ist kein Klick auf eine Schaltfläche erforderlich.

Beispielbilder

Das Predict-Panel zeigt Beispielbilder aus dem verknüpften Dataset deines Modells. Wenn kein Dataset verknüpft ist, werden Standardbeispiele verwendet:

BildInhalt
bus.jpgStraßenszene mit Fahrzeugen
zidane.jpgSportszene mit Personen

Für OBB-Modelle werden stattdessen Luftaufnahmen von Booten und Flughäfen angezeigt.

Vorgeladene Bilder

Beispielbilder werden beim Laden der Seite vorgeladen, sodass ein Klick auf ein Beispiel eine nahezu sofortige Inference ohne Wartezeit beim Download auslöst.

Webcam

Klicke auf die Webcam-Karte, um einen Live-Kamera-Feed zu starten:

  1. Erteile die Kameraerlaubnis, wenn du dazu aufgefordert wirst
  2. Klicke auf die Videovorschau, um einen Frame aufzunehmen
  3. Die Inference läuft automatisch auf dem aufgenommenen Frame
  4. Klicke erneut, um die Webcam neu zu starten

Ergebnisse anzeigen

Inference-Ergebnisse werden angezeigt:

  • Bounding Boxes mit Klassenlabels als SVG-Overlays
  • Konfidenz-Scores für jede Erkennung
  • Klassenfarben aus der Farbpalette deines Datasets (oder der Ultralytics-Standardpalette)
  • Geschwindigkeitsaufschlüsselung: Zeit für Preprocessing, Inference, Postprocessing und Netzwerk

Ultralytics Platform Predict Tab Ergebnisse mit Erkennungen und Geschwindigkeitsstatistiken

Das Ergebnisfeld zeigt:

FeldBeschreibung
ErkennungslisteJede Erkennung mit Klassenname und Konfidenz
GeschwindigkeitsstatistikenPreprocess, Inference, Postprocess, Netzwerk (ms)
JSON-AntwortRoh-API-Antwort in einem Code-Block

Inference-Parameter

Passe das Erkennungsverhalten mit Parametern im ausklappbaren Bereich Parameters an:

Ultralytics Platform Predict Tab Parameter-Schieberegler

ParameterBereichStandardBeschreibung
Konfidenz0.01 – 1.00.25Mindest-Konfidenzschwelle
IoU0.0 – 0.950.7NMS IoU-Schwelle
Bildgröße320, 640, 1280 (UI-Schalter)640Dimension der Eingabegrößenanpassung (API akzeptiert jeden Wert von 32 – 1280)
Auto-Rerun

Das Ändern eines Parameters führt automatisch zu einer erneuten Inference auf dem aktuellen Bild mit einem 500ms-Debounce. Kein erneutes Hochladen nötig.

Konfidenzschwelle

Filtere Vorhersagen nach Konfidenz:

  • Höher (0.5+): Weniger, dafür sicherere Vorhersagen
  • Niedriger (0.1-0.25): Mehr Vorhersagen, etwas Rauschen
  • Standard (0.25): Ausgewogen für die meisten Anwendungsfälle

IoU-Schwelle

Steuere Non-Maximum Suppression:

  • Höher (0.7+): Lässt mehr überlappende Boxen zu
  • Niedriger (0.3-0.5): Führt nahe beieinander liegende Erkennungen aggressiver zusammen
  • Standard (0.7): Ausgewogenes NMS-Verhalten für die meisten Anwendungsfälle

Deployment Predict

Jeder laufende dedizierte Endpunkt enthält einen Predict-Tab direkt auf der Deployment-Karte. Dieser nutzt den Inference-Service des Deployments anstelle des geteilten Predict-Services, sodass du deinen bereitgestellten Endpunkt direkt aus dem Browser testen kannst.

REST API

Greife programmatisch auf die Inference zu:

Authentifizierung

Füge deinen API-Schlüssel in Anfragen ein:

Authorization: Bearer YOUR_API_KEY
API-Schlüssel erforderlich

Um Inference aus deinen eigenen Skripten, Notebooks oder Apps auszuführen, füge einen API-Schlüssel hinzu. Generiere einen unter Settings > API Keys.

Endpunkt

POST https://platform.ultralytics.com/api/models/{modelId}/predict

Anfrage

import requests

url = "https://platform.ultralytics.com/api/models/MODEL_ID/predict"
headers = {"Authorization": "Bearer YOUR_API_KEY"}
files = {"file": open("image.jpg", "rb")}
data = {"conf": 0.25, "iou": 0.7, "imgsz": 640}

response = requests.post(url, headers=headers, files=files, data=data)
print(response.json())

Ultralytics Platform Predict Tab Codebeispiele Python Tab

Antwort

{
    "images": [
        {
            "shape": [1080, 1920],
            "results": [
                {
                    "class": 0,
                    "name": "person",
                    "confidence": 0.92,
                    "box": { "x1": 100, "y1": 50, "x2": 300, "y2": 400 }
                },
                {
                    "class": 2,
                    "name": "car",
                    "confidence": 0.87,
                    "box": { "x1": 400, "y1": 200, "x2": 600, "y2": 350 }
                }
            ],
            "speed": {
                "preprocess": 1.2,
                "inference": 12.5,
                "postprocess": 2.3
            }
        }
    ],
    "metadata": {
        "imageCount": 1,
        "functionTimeCall": 0.018,
        "model": "model.pt",
        "version": {
            "ultralytics": "8.x.x",
            "torch": "2.6.0",
            "torchvision": "0.21.0",
            "python": "3.13.0"
        }
    }
}

Ultralytics Platform Predict Tab JSON-Antwortansicht

Antwortfelder

FeldTypBeschreibung
imagesarrayListe verarbeiteter Bilder
images[].shapearrayBildabmessungen [Höhe, Breite]
images[].resultsarrayListe der Erkennungen
images[].results[].namestringKlassenname
images[].results[].confidencefloatErkennungskonfidenz (0-1)
images[].results[].boxObjektBBox-Koordinaten
images[].speedObjektVerarbeitungszeiten in Millisekunden
metadataObjektAnfrage-Metadaten und Versionsinformationen

Aufgabenspezifische Antworten

Das Antwortformat variiert je nach Aufgabe:

{
  "class": 0,
  "name": "person",
  "confidence": 0.92,
  "box": {"x1": 100, "y1": 50, "x2": 300, "y2": 400}
}

Abrechnung

Shared inference (der Predict-Tab und der /api/models/{id}/predict-Endpunkt) ist bei allen Tarifen ohne zusätzliche Kosten enthalten. Es fallen keine Gebühren pro Anfrage für Shared inference an.

Für Produktions-Workloads, die einen höheren Durchsatz erfordern, stelle einen dedicated endpoint bereit.

Ratenbegrenzungen

Shared inference ist auf 20 Anfragen/Min. pro API-Key begrenzt. Bei Drosselung gibt die API 429 mit einem Retry-After-Header zurück. Siehe die vollständige rate limit reference für alle Endpunktkategorien.

Benötigst du mehr Durchsatz?

Stelle einen dedicated endpoint bereit für unbegrenzte Inferenz ohne Ratenbegrenzungen, vorhersehbarem Durchsatz und konsistent niedrigen Antwortzeiten. Für lokale Inferenz siehe den Predict mode guide.

Fehlerbehandlung

Häufige Fehlerantworten:

CodeNachrichtLösung
400Ungültiges BildDateiformat prüfen
401Nicht autorisiertAPI-Key verifizieren
404Modell nicht gefundenModell-ID prüfen
429Ratenbegrenzung erreichtWarten und erneut versuchen, oder nutze einen dedicated endpoint für unbegrenzten Durchsatz
500ServerfehlerAnfrage erneut versuchen

FAQ

Kann ich Inferenz auf Videos ausführen?

Beide Inferenzmethoden akzeptieren Videodateien:

  • Dedicated endpoints akzeptieren Videodateien direkt. Unterstützte Formate (bis zu 100 MB): ASF, AVI, GIF, M4V, MKV, MOV, MP4, MPEG, MPG, TS, WEBM, WMV. Jeder Frame wird einzeln verarbeitet und Ergebnisse werden pro Frame zurückgegeben. Siehe dedicated endpoints für Details.
  • Shared inference (/api/models/{id}/predict) nutzt denselben Predict-Service und akzeptiert dieselben Videoformate. Der Browser-Predict-Tab in der UI lädt jedoch nur Bilder hoch – verwende die REST API direkt oder einen dedicated endpoint für Video-Workflows. Der Shared Endpoint ist außerdem rate-limited to 20 req/min, daher sind Dedicated Endpoints die bessere Wahl für umfangreiche Video-Workloads.

Wie erhalte ich das annotierte Bild?

Die API gibt JSON-Vorhersagen zurück. Zur Visualisierung:

  1. Nutze die Vorhersagen, um BBoxen lokal zu zeichnen
  2. Nutze die Ultralytics plot()-Methode:
from ultralytics import YOLO

model = YOLO("yolo26n.pt")
results = model("image.jpg")
results[0].save("annotated.jpg")

Siehe die Predict mode documentation für die vollständige Ergebnis-API und Visualisierungsoptionen.

Was ist die maximale Bildgröße?

  • Upload-Limit: 10 MB
  • Empfohlen: <5 MB für schnelle Inferenz
  • Automatische Größenanpassung: Bilder werden auf den ausgewählten Image Size-Parameter skaliert

Große Bilder werden automatisch unter Beibehaltung des Seitenverhältnisses skaliert.

Kann ich Batch-Inferenz ausführen?

Die aktuelle API verarbeitet ein Bild pro Anfrage. Für Batches:

  1. Sende gleichzeitige Anfragen
  2. Nutze einen Dedicated Endpoint für höheren Durchsatz
  3. Erwäge lokale Inferenz für große Batches
Batch-Inferenz mit Python
import concurrent.futures

import requests

url = "https://predict-abc123.run.app/predict"
headers = {"Authorization": "Bearer YOUR_API_KEY"}
images = ["img1.jpg", "img2.jpg", "img3.jpg"]

def predict(image_path):
    with open(image_path, "rb") as f:
        return requests.post(url, headers=headers, files={"file": f}).json()

with concurrent.futures.ThreadPoolExecutor(max_workers=4) as executor:
    results = list(executor.map(predict, images))

Kommentare