Zum Inhalt springen

Inferenz

Ultralytics Platform bietet eine Inference API zum Testen trainierter Modelle. Nutzen Sie den browserbasierten Tab „Test“ für eine schnelle Validierung oder die REST API für den programmatischen Zugriff.

Test-Tab

Jedes Modell enthält einen „Test“-Tab für browserbasierte Inferenz:

  1. Navigieren Sie zu Ihrem Modell
  2. Klicken Sie auf den Tab Test
  3. Laden Sie ein Bild hoch oder verwenden Sie Beispiele
  4. Sehen Sie Vorhersagen sofort an

Bild hochladen

Ziehen Sie Dateien per Drag & Drop oder klicken Sie zum Hochladen:

  • Unterstützte Formate: JPG, PNG, WebP, GIF
  • Maximale Größe: 10 MB
  • Auto-Inferenz: Ergebnisse erscheinen automatisch

Beispielbilder

Verwenden Sie integrierte Beispielbilder für schnelle Tests:

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

Ergebnisse anzeigen

Anzeige der Inferenz-Ergebnisse:

  • Bounding Boxes mit Klassenbezeichnungen
  • Konfidenzwerte für jede detection
  • Klassenfarben, die Ihrem Datensatz entsprechen

Inferenzparameter

Passen Sie das detection-Verhalten mit Parametern an:

ParameterBereichStandardBeschreibung
Konfidenz0.0-1.00.25Minimaler Konfidenzschwellenwert
IoU0.0-1.00.70NMS IoU-Schwellenwert
Bildgröße32-1280640Eingabegrößenänderungsdimension

Konfidenzschwelle

Vorhersagen nach Konfidenz filtern:

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

IoU-Schwelle

Non-Maximum Suppression steuern:

  • Höher (0,7+): Mehr überlappende Felder zulassen
  • Niedriger (0,3–0,5): Ähnliche Erkennungen aggressiver zusammenführen
  • Standard (0,70): Ausgewogenes NMS für die meisten Anwendungsfälle

REST API

Programmatischer Zugriff auf die Inferenz:

Authentifizierung

Ihren API-Schlüssel in Anfragen einfügen:

Authorization: Bearer YOUR_API_KEY

Endpunkt

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

Anfrage

curl -X POST \
  "https://platform.ultralytics.com/api/models/username/project/model/predict" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -F "file=@image.jpg" \
  -F "conf=0.25" \
  -F "iou=0.7"
import requests

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

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

Antwort

{
    "success": true,
    "predictions": [
        {
            "class": "person",
            "confidence": 0.92,
            "box": {
                "x1": 100,
                "y1": 50,
                "x2": 300,
                "y2": 400
            }
        },
        {
            "class": "car",
            "confidence": 0.87,
            "box": {
                "x1": 400,
                "y1": 200,
                "x2": 600,
                "y2": 350
            }
        }
    ],
    "image": {
        "width": 1920,
        "height": 1080
    }
}

Antwortfelder

FeldTypBeschreibung
successBooleanAnfragestatus
predictionsArrayListe der detections
predictions[].classstringKlassenname
predictions[].confidencefloatdetections-Konfidenz (0-1)
predictions[].boxObjektBounding-Box-Koordinaten
imageObjektOriginalbildabmessungen

Aufgabenspezifische Antworten

Antwortformat variiert je nach Aufgabe:

{
  "class": "person",
  "confidence": 0.92,
  "box": {"x1": 100, "y1": 50, "x2": 300, "y2": 400}
}
{
  "class": "person",
  "confidence": 0.92,
  "box": {"x1": 100, "y1": 50, "x2": 300, "y2": 400},
  "segments": [[100, 50], [150, 60], ...]
}
{
  "class": "person",
  "confidence": 0.92,
  "box": {"x1": 100, "y1": 50, "x2": 300, "y2": 400},
  "keypoints": [
    {"x": 200, "y": 75, "conf": 0.95},
    ...
  ]
}
{
  "predictions": [
    {"class": "cat", "confidence": 0.95},
    {"class": "dog", "confidence": 0.03}
  ]
}

Ratenbegrenzungen

Für geteilte Inferenz gelten Ratenbegrenzungen:

PlanAnfragen/MinuteAnfragen/Tag
Kostenlos10100
Pro6010,000

Für höhere Limits stellen Sie einen dedizierten Endpunkt bereit.

Fehlerbehandlung

Häufige Fehlerantworten:

CodeNachrichtLösung
400Ungültiges BildDateiformat prüfen
401Nicht autorisiertAPI-Schlüssel überprüfen
404Modell nicht gefundenModell-Slug prüfen
429Ratenbegrenzung erreichtWarten oder Plan upgraden
500ServerfehlerAnfrage wiederholen

FAQ

Kann ich Inferenz auf Videos durchführen?

Die API akzeptiert einzelne Frames. Für Videos:

  1. Frames lokal extrahieren
  2. Jeden Frame an die API senden
  3. Ergebnisse aggregieren

Für Echtzeit-Videos sollten Sie die Bereitstellung eines dedizierten Endpunkts in Betracht ziehen.

Wie erhalte ich das annotierte Bild?

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

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

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

Was ist die maximale Bildgröße?

  • Upload-Limit: 10MB
  • Recommended: <5MB for fast inference
  • Automatische Größenanpassung: Bilder werden skaliert auf imgsz Parameter

Große Bilder werden automatisch skaliert, wobei das Seitenverhältnis erhalten bleibt.

Kann ich Batch-Inferenz durchführen?

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

  1. Gleichzeitige Anfragen senden
  2. Einen dedizierten Endpunkt für höheren Durchsatz verwenden
  3. Für große Batches lokale Inferenz in Betracht ziehen


📅 Erstellt vor 20 Tagen ✏️ Aktualisiert vor 14 Tagen
glenn-jocherLaughing-q

Kommentare