Zum Inhalt springen

Inferenz

Ultralytics bietet eine Inferenz-API zum Testen trainierter Modelle. Verwenden Sie die browserbasierte Registerkarte „Test“ für eine schnelle Validierung oder die REST API den programmatischen Zugriff.

Test-Registerkarte

Jedes Modell enthält eine Registerkarte „Test“ für browserbasierte Inferenz:

  1. Navigieren Sie zu Ihrem Modell
  2. Klicken Sie auf die Registerkarte „Test “.
  3. Laden Sie ein Bild hoch oder verwenden Sie Beispiele.
  4. Prognosen sofort anzeigen

Bild hochladen

Per Drag & Drop oder Klick hochladen:

  • Unterstützte Formate: JPG, PNG, WebP, GIF
  • Maximale Größe: 10 MB
  • Automatische Schlussfolgerung: Ergebnisse werden automatisch angezeigt

Beispielbilder

Verwenden Sie integrierte Beispielbilder für schnelle Tests:

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

Ergebnisse anzeigen

Anzeige der Inferenz-Ergebnisse:

  • Begrenzungsrahmen mit Klassenbezeichnungen
  • Vertrauenswürdigkeitsscores für jede Erkennung
  • Klassenfarben passend zu Ihrem Datensatz

Inferenzparameter

Erkennungsverhalten mit Parametern anpassen:

ParameterBereichStandardBeschreibung
Vertrauen0,0–1,00.25Mindestvertrauensschwelle
IoU0,0–1,00.45NMS IoU
Bildgröße32-1280640Eingabe-Größenänderung

Vertrauensschwelle

Filtervorhersagen nach Konfidenz filtern:

  • 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

Steuerung der Nicht-Maximalunterdrückung:

  • Höher (0,7+): Überlappende Boxen zulassen
  • Niedriger (0,3–0,45): Nahegelegene Erkennungen zusammenführen
  • Standard (0,45): NMS

REST API

Programmgesteuerter Zugriff auf die Inferenz:

Authentifizierung

Fügen Sie Ihren API-Schlüssel in Anfragen ein:

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.45"
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.45}

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
successBooleschAnfragestatus
predictionsArrayListe der Erkennungen
predictions[].classZeichenfolgeKlassenname
predictions[].confidenceSchwimmerErkennungszuverlässigkeit (0-1)
predictions[].boxObjektKoordinaten der Begrenzungsrahmen
imageObjektOriginalbildabmessungen

Aufgabenspezifische Antworten

Das 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

Gemeinsame Inferenz hat Ratenbeschränkungen:

PlanAnfragen/MinuteAnfragen/Tag
Kostenlos10100
Pro6010,000

Für höhere Grenzwerte setzen Sie einen dedizierten Endpunkt ein.

Fehlerbehandlung

Häufige Fehlermeldungen:

CodeNachrichtLösung
400Ungültiges BildDateiformat überprüfen
401UnbefugtAPI-Schlüssel überprüfen
404Modell nicht gefundenModell-Slug überprüfen
429RatenbegrenztWarten oder Plan upgraden
500ServerfehlerAnfrage wiederholen

FAQ

Kann ich Inferenz auf Videos anwenden?

Die API akzeptiert einzelne Frames. Für Videos:

  1. Frames lokal extrahieren
  2. Sende jeden Frame an die API
  3. Gesamtergebnisse

Für Echtzeitvideos sollten Sie die Bereitstellung eines dedizierten Endpunkts in Betracht ziehen.

Wie erhalte ich das mit Anmerkungen versehene Bild?

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

  1. Verwenden Sie Vorhersagen, um lokal Felder zu zeichnen
  2. Verwenden Sie Ultralytics plot() Methode auf:
from ultralytics import YOLO

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

Was ist die maximale Bildgröße?

  • Upload-Limit: 10 MB
  • Recommended: <5MB for fast inference
  • Automatische GrößenanpassungBilder werden in der Größe angepasst auf imgsz Parameter

Große Bilder werden automatisch in der Größe angepasst, wobei das Seitenverhältnis beibehalten wird.

Kann ich eine Batch-Inferenz ausführen?

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

  1. Parallele Anfragen senden
  2. Verwenden Sie einen dedizierten Endpunkt für einen höheren Durchsatz.
  3. Lokale Inferenz für große Chargen in Betracht ziehen


📅 Erstellt vor 0 Tagen ✏️ Aktualisiert vor 0 Tagen
glenn-jocher

Kommentare