YOLO Vision 2026:

Inference#

Ultralytics Platform bietet browserbasierte Inferenz zum Testen trainierter Modelle und dedizierte Endpunkte für den programmatischen Zugriff.

Ultralytics Platform Model Predict Tab With Detections Overlay

Vorhersage-Tab#

Jedes Modell mit Gewichten enthält einen Predict-Tab für die browserbasierte Inferenz:

  1. Navigiere zu deinem Modell
  2. Klicke auf den Predict-Tab
  3. Lade ein Bild hoch, verwende ein Beispiel oder öffne deine Webcam
  4. Überprüfe das aufgabenbezogene Overlay, die Vorhersagezusammenfassung, das Timing und die Rohantwort.

Modelle ohne Gewichte zeigen stattdessen einen leeren Zustand an – trainiere das Modell oder lade zuerst Gewichte hoch.

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 Standardwerte)
Webcam-AufnahmeLive-Kamera-Feed mit Einzelbildaufnahme
graph LR
    A[Upload Image]:::start --> D[Auto-Inference]:::proc
    B[Example Image]:::start --> D
    C[Webcam Capture]:::start --> D
    D --> E[Results + Overlays]:::out

    classDef start fill:#4CAF50,color:#fff
    classDef proc fill:#2196F3,color:#fff
    classDef out fill:#9C27B0,color:#fff

Bild hochladen#

Per Drag-and-Drop oder Klick hochladen:

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

Das Predict-Panel führt die Inference automatisch aus, wenn du ein Bild hochlädst, ein Beispiel auswählst oder einen Webcam-Frame aufnimmst. Ein Button-Klick ist nicht erforderlich.

Größenänderung auf der Clientseite

Vor dem Hochladen ändert das Panel die Größe des Bildes so, dass seine längste Seite dem ausgewählten Image Size entspricht, und fordert normalisierte Koordinaten an. Dies hält das Testen im Browser schnell; von dir selbst gesendete Anfragen werden nicht in der Größe verändert.

Beispielbilder#

Das Vorhersage-Panel zeigt bis zu zwei Beispielfilder aus dem verknüpften Datensatz deines Modells, wobei der val-Split bevorzugt wird, gefolgt von test und dann train. Wenn kein Datensatz verknüpft ist, werden Standardbeispiele verwendet:

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

Bei OBB-Modellen werden stattdessen Luftaufnahmen von Booten und einem Flughafen angezeigt.

Vorab geladene Bilder

Beispielbilder werden beim Laden der Seite vorab geladen, sodass das Anklicken eines Beispiels eine nahezu sofortige Inference ohne Download-Wartezeit 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#

Inferenzergebnisse zeigen die Ausgabe, die für die Modellaufgabe geeignet ist: Boxen, Masken, Keypoints, orientierte Boxen, Klassifikationswerte, semantische Abdeckung oder eine Tiefenkarte. Objektergebnisse verwenden die Klassenfarben des Datasets, sofern verfügbar. Das Panel zeigt außerdem das Vorverarbeitungs-, Inferenz-, Nachverarbeitungs- und Netzwerk-Timing.

Ultralytics Platform Predict Tab Results With Detections And Speed Stats Das Ergebnisfenster zeigt:

FeldBeschreibung
ErgebniszusammenfassungListe pro Detektion oder die Top-5-Klassen für Klassifizierungs- und semantische Modelle
GeschwindigkeitsstatistikenVorverarbeitung, Inferenz, Nachverarbeitung und Netzwerk (ms)
VersionenUltralytics- und PyTorch-Versionen sowie Tiefenbereich oder Maskengröße, sofern zutreffend
JSON-AntwortRohe API-Antwort in einem Codeblock, wobei base64-Kartendaten weggelassen wurden

Sobald Ergebnisse vorliegen, befinden sich zwei Steuerelemente über der Vorschau: Klicke auf das Bild, um es bei intakten Overlays zu vergrößern, und verwende die Download-Schaltfläche, um ein annotiertes JPEG des aktuellen Ergebnisses zu speichern.

Inference-Parameter#

Passe das Inferenzverhalten mit den drei Reglern unter dem Bild an:

Ultralytics Platform Predict Tab Parameters Sliders

ParameterBereichStandardBeschreibung
Konfidenz0.01 – 1.0, in Schritten von 0.010.25Minimaler Konfidenz-Schwellenwert
IoU0.0 – 0.95, in Schritten von 0.010.7NMS IoU-Schwellenwert
Bildgröße32 – 1280, in Schritten von 32640Eingabe-Größenänderungsdimension
Auto-Rerun

Das Ändern eines Parameters führt automatisch zu einer erneuten Inference auf dem aktuellen Bild mit einem 500ms-Debounce. Ein erneutes Hochladen ist nicht erforderlich.

Konfidenz-Schwellenwert#

Filtere Vorhersagen nach Konfidenz:

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

IoU-Schwellenwert#

Steuere Non-Maximum Suppression:

  • Höher (0.7+): Erlaubt mehr überlappende Boxen
  • Niedriger (0.3-0.5): Überlappende Detektionen aggressiver unterdrücken
  • Standard (0.7): Ausgewogenes NMS-Verhalten für die meisten Anwendungsfälle

Deployment-Predict#

Jeder laufende dedizierte Endpunkt enthält direkt auf seiner Bereitstellungskarte einen Predict-Tab. Dieser verwendet den eigenen Inferenzdienst der Bereitstellung anstelle des gemeinsam genutzten Vorhersagedienstes, sodass du deinen bereitgestellten Endpunkt direkt vom Browser aus testen kannst.

Dedizierte Endpunkt-API#

Die Karte API Docs im Tab Predict des Modells enthält Python-, JavaScript- und cURL-Beispielfragen, die mit den derzeit auf den Reglern eingestellten Werten für Konfidenz, IoU und Bildgröße vorab ausgefüllt sind. Die URL und der Schlüssel sind Platzhalter, bis du das Modell bereitstellst – eine Deploy-Schaltfläche neben den Code-Tabs springt zum Tab Deploy des Modells. Nach der Bereitstellung füllt sich der Tab Code der Bereitstellungskarte mit der URL dieses Endpunkts und für Workspace-Besitzer mit dem gebundenen API-Schlüssel, der zum Kopieren und Ausführen bereitsteht.

Authentifizierung#

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

Authorization: Bearer YOUR_API_KEY
API-Schlüssel erforderlich

Um die Inferenz von deinen eigenen Skripten, Notebooks oder Apps aus auszuführen, füge einen API-Schlüssel hinzu. Generiere einen in Settings > API Keys. Ein dedizierter Endpunkt akzeptiert nur den einzelnen Schlüssel, mit dem er erstellt wurde; die gemeinsam genutzte Modell-API akzeptiert jeden aktiven Schlüssel im Workspace, und öffentliche Modelle akzeptieren auch anonyme Anfragen.

Endpunkt#

Dedizierte Endpunkte nehmen Anfragen unter ihrer eigenen URL entgegen:

POST https://YOUR_DEPLOYMENT_URL.run.app/predict

Die gemeinsam genutzte Inferenz verwendet die Platform API mit dem vollständigen Pfad des Modells:

POST https://platform.ultralytics.com/api/models/{owner}/{project}/{model}/predict

Beide akzeptieren denselben multipart/form-data-Body und geben dieselbe Antwortstruktur zurück. Verwende im Python SDK client.models.predict(owner, project, model, body=...) für gemeinsame Inference oder client.deployments.predict(owner, deployment, body=...) für ein dediziertes Deployment:

from ultralytics_platform import Platform

client = Platform()  # reads ULTRALYTICS_API_KEY
with open("image.jpg", "rb") as f:
    results = client.models.predict("acme-vision", "inspection", "v3", body={"file": f, "conf": 0.25})

Anfrage#

import requests

url = "https://YOUR_DEPLOYMENT_URL.run.app/predict"
headers = {"Authorization": "Bearer YOUR_API_KEY"}
data = {"conf": 0.25, "iou": 0.7, "imgsz": 640}

with open("image.jpg", "rb") as image_file:
    response = requests.post(url, headers=headers, files={"file": image_file}, data=data)
print(response.json())

Ultralytics Platform Predict Tab Code Examples Python Tab

Anfrage-Parameter#

ParameterTypStandardBereichBeschreibung
fileDatei--Bild- oder Videodatei (erforderlich, es sei denn, source ist gesetzt)
conffloat0.250.01 – 1.0Minimaler Konfidenz-Schwellenwert
ioufloat0.70.0 – 0.95NMS IoU-Schwellenwert
imgszint64032 – 1280Eingabebildgröße in Pixeln
normalizeboolfalse-BBox-Koordinaten als 0 – 1 zurückgeben
decimalsint50 – 10Dezimalpräzision für Koordinatenwerte
bitsint88, 12, 16Tiefenkarten-Quantisierung, nur Tiefenmodelle
sourcestring--Bild-URL oder Base64-String (Alternative zu file)

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,
        "functionTimeAlive": 1284.51,
        "functionTimeCall": 0.018,
        "task": "detect",
        "version": {
            "ultralytics": "8.x.x",
            "torch": "2.6.0",
            "torchvision": "0.21.0",
            "python": "3.13.0"
        }
    }
}

Ultralytics Platform Predict Tab Json Response View

Antwortfelder#

FeldTypBeschreibung
imagesarrayListe der verarbeiteten Bilder, ein Eintrag pro Videobild bei Videos
images[].shapearrayBildabmessungen [Höhe, Breite]
images[].resultsarrayListe der Erkennungen
images[].results[].classintKlassen-Index (Ganzzahl-ID)
images[].results[].namestringKlassenname
images[].results[].confidencefloatErkennungskonfidenz (0-1)
images[].results[].boxObjektKoordinaten der Bounding Box
images[].semantic_maskObjektPixelgenaue Klassenkarte (nur semantische Modelle)
images[].depthObjektPixelgenaue Tiefenkarte (nur Tiefenmodelle)
images[].speedObjektVerarbeitungszeiten in Millisekunden
metadataObjektAnzahl der Bilder, Dienstlaufzeiten, Aufgabe und Ultralytics/PyTorch-Versionen

Aufgabenspezifische Antworten#

Das Antwortformat variiert je nach Aufgabe:

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

Ratenbegrenzungen#

Die gemeinsam genutzte Modell-API ist für jeden API-Schlüssel, angemeldeten Aufrufer oder anonymen IP-Bereich auf 20 Anfragen/Minute begrenzt. Bei Drosselung gibt die API 429 mit einem Retry-After-Header zurück. Weitere Informationen findest du in der vollständigen Ratenbegrenzungs-Referenz für alle Endpunktkategorien.

Brauchst du mehr Durchsatz?

Anfragen, die direkt an einen dedicated endpoint gesendet werden, passieren nicht den Ratenbegrenzer der Platform API. Der Endpunkt leitet Lasten bei vorübergehender Auslastung weiterhin mit 429 und einem Retry-After-Header ab. Für lokale Inferenz mit hohem Volumen siehe die Predict mode guide.

Fehlerbehandlung#

Häufige Fehlerantworten:

CodeNachrichtLösung
400Ungültiges BildÜberprüfe das Dateiformat oder ob das Modell trainierte Gewichte hat
401Nicht autorisiertAPI-Key verifizieren
404Modell nicht gefundenÜberprüfe die Namen von Besitzer, Projekt und Modell
413Eingabe zu großReduziere die Dateigröße unter das Endpunktlimit
429Ratenbegrenzung erreichtWarte und versuche es erneut, oder sende Anfragen direkt an einen dedizierten Endpunkt.
500ServerfehlerAnfrage wiederholen
503Dienst nicht verfügbarDer Predict-Dienst startet gerade oder ist nicht erreichbar; warte kurz und versuche es erneut

FAQ#

  • Beide Inferenzmethoden akzeptieren Videodateien:

    • Dedizierte Endpunkte akzeptieren Videodateien direkt. Unterstützte Formate (bis zu 100 MB): ASF, AVI, GIF, M4V, MKV, MOV, MP4, MPEG, MPG, TS, WEBM, WMV. Jedes Bild wird einzeln verarbeitet und die Ergebnisse werden pro Bild zurückgegeben. Weitere Einzelheiten findest du unter dedizierte Endpunkte.
    • Shared inference (POST /api/models/{owner}/{project}/{model}/predict) verwendet denselben Vorhersagedienst und akzeptiert dieselben Videoformate. Der Browser-Tab Predict wählt nur Bilder aus, verwende daher die API oder einen dedicated endpoint für Videos.
  • Im Tab Predict speichert die Download-Schaltfläche über der Vorschau das aktuelle Ergebnis als annotiertes JPEG. Die API selbst gibt JSON-Vorhersagen zurück. Um diese zu visualisieren:

    1. Verwende die Vorhersagen, um Boxen lokal zu zeichnen
    2. Verwende die plot()-Methode von Ultralytics:
    from ultralytics import YOLO
    
    model = YOLO("yolo26n.pt")
    results = model("image.jpg")
    results[0].save("annotated.jpg")

    Die vollständige Ergebnis-API und Visualisierungsoptionen findest du in der Dokumentation zum Vorhersagemodus.

    • Limit für den Predict-Tab: 10 MB
    • API limit: 100 MB für sowohl gemeinsam genutzte Inferenz als auch dedizierte Endpunkte
    • Automatische Größenanpassung im Predict-Tab: Bilder werden vor dem Hochladen auf die ausgewählte Image Size skaliert

    Große Bilder werden im Browser automatisch in der Größe angepasst, während das Seitenverhältnis beibehalten wird. Von dir selbst gesendete Anfragen werden nicht in der Größe angepasst, sodass Bilder, die das Limit überschreiten, mit 413 abgelehnt werden.

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

    1. Separate Anfragen für jedes Bild senden
    2. Anfragen nach Möglichkeit auf dedizierte Endpunkte verteilen
    3. Lokale Inferenz für große Batches verwenden
    Batch-Inferenz mit Python
    import concurrent.futures
    
    import requests
    
    url = "https://YOUR_DEPLOYMENT_URL.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