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:
- Navigieren Sie zu Ihrem Modell
- Klicken Sie auf den Tab Test
- Laden Sie ein Bild hoch oder verwenden Sie Beispiele
- 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:
| Bild | Inhalt |
|---|---|
bus.jpg | Straßenszene mit Fahrzeugen |
zidane.jpg | Sportszene 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:
| Parameter | Bereich | Standard | Beschreibung |
|---|---|---|---|
| Konfidenz | 0.0-1.0 | 0.25 | Minimaler Konfidenzschwellenwert |
| IoU | 0.0-1.0 | 0.70 | NMS IoU-Schwellenwert |
| Bildgröße | 32-1280 | 640 | Eingabegröß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
| Feld | Typ | Beschreibung |
|---|---|---|
success | Boolean | Anfragestatus |
predictions | Array | Liste der detections |
predictions[].class | string | Klassenname |
predictions[].confidence | float | detections-Konfidenz (0-1) |
predictions[].box | Objekt | Bounding-Box-Koordinaten |
image | Objekt | Originalbildabmessungen |
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:
| Plan | Anfragen/Minute | Anfragen/Tag |
|---|---|---|
| Kostenlos | 10 | 100 |
| Pro | 60 | 10,000 |
Für höhere Limits stellen Sie einen dedizierten Endpunkt bereit.
Fehlerbehandlung
Häufige Fehlerantworten:
| Code | Nachricht | Lösung |
|---|---|---|
| 400 | Ungültiges Bild | Dateiformat prüfen |
| 401 | Nicht autorisiert | API-Schlüssel überprüfen |
| 404 | Modell nicht gefunden | Modell-Slug prüfen |
| 429 | Ratenbegrenzung erreicht | Warten oder Plan upgraden |
| 500 | Serverfehler | Anfrage wiederholen |
FAQ
Kann ich Inferenz auf Videos durchführen?
Die API akzeptiert einzelne Frames. Für Videos:
- Frames lokal extrahieren
- Jeden Frame an die API senden
- 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:
- Vorhersagen nutzen, um Boxen lokal zu zeichnen
- 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
imgszParameter
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:
- Gleichzeitige Anfragen senden
- Einen dedizierten Endpunkt für höheren Durchsatz verwenden
- Für große Batches lokale Inferenz in Betracht ziehen