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 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. Überprüfe das aufgabenbezogene Overlay, die Vorhersagezusammenfassung, das Timing und die Rohantwort.

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, DNG, MPO
  • Max. Größe: 10MB
  • 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.

Beispielbilder#

Das Predict-Panel zeigt Beispielbilder aus dem verknüpften Dataset deines Modells an. 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.

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
ErgebniszusammenfassungDetektionen, Klassifikationen oder semantische Klassenabdeckung
GeschwindigkeitsstatistikenVorverarbeitung, Inferenz, Nachverarbeitung und Netzwerk (ms)
JSON-AntwortRoh-API-Antwort in einem Codeblock

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 einen Predict-Tab direkt auf seiner Deployment-Karte. Dies nutzt den eigenen Inference-Service des Deployments anstelle des geteilten Predict-Services, sodass du deinen bereitgestellten Endpunkt aus dem Browser heraus testen kannst.

Dedizierte Endpunkt-API#

Die API Docs-Karte im Modell-Predict-Tab enthält Beispiele für Python-, JavaScript- und cURL-Anfragen. Die Beispiele verwenden Platzhalter, bis du das Modell bereitstellst. Nach der Bereitstellung füllt der Code-Tab der Bereitstellungskarte seine Endpunkt-URL und den für deinen Workspace verfügbaren API-Schlüssel aus.

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://YOUR_DEPLOYMENT_URL.run.app/predict

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, sofern source nicht 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
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,
        "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
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[].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}
}

Ratenbegrenzungen#

Die gemeinsam genutzte Modell-API ist auf 20 Anfragen/Minute für jeden API-Schlüssel, angemeldeten Aufrufer oder anonymen IP beschränkt. Bei Drosselung gibt die API 429 mit einem Retry-After-Header zurück. Siehe die vollständige Rate-Limit-Referenz für alle Endpunktkategorien.

Brauchst du mehr Durchsatz?

Anfragen, die direkt an einen dedizierten Endpunkt gesendet werden, durchlaufen nicht den API-Ratenbegrenzer der Platform. Für hochvolumige lokale Inferenz siehe die Predict-Modus-Anleitung.

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 Anfragen direkt an einen dedizierten Endpunkt senden
500ServerfehlerAnfrage wiederholen
503Dienst nicht verfügbarDer Predict-Dienst startet gerade oder ist nicht erreichbar; warte kurz und versuche es erneut

FAQ#

Kann ich Inferenz auf Videos ausführen?#

Beide Inferenzmethoden akzeptieren Videodateien:

  • Dedizierte Endpunkte akzeptieren Videodateien direkt. Unterstützte Formate (bis 100 MB): ASF, AVI, GIF, M4V, MKV, MOV, MP4, MPEG, MPG, TS, WEBM, WMV. Jeder Frame wird einzeln verarbeitet und die Ergebnisse werden pro Frame zurückgegeben. Siehe dedizierte Endpunkte für Details.
  • Geteilte Inferenz (/api/models/{id}/predict) verwendet denselben Predict-Dienst und akzeptiert dieselben Videoformate. Der Browser-Tab Predict wählt nur Bilder aus, verwende daher die API oder einen dedizierten Endpunkt für Videos.

Wie erhalte ich das annotierte Bild?#

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

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

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

Siehe die Predict Modus-Dokumentation für die vollständige Ergebnis-API und Visualisierungsoptionen.

Was ist die maximale Bildgröße?#

  • Limit für den Predict-Tab: 10 MB
  • Limit der dedizierten Endpunkt-API: 100 MB
  • Automatische Größenänderung im Predict-Tab: Bilder werden vor dem Hochladen auf die ausgewählte Image Size 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. 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://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