Inferenza (Inference)
Ultralytics Platform fornisce un'API di inferenza per testare i modelli addestrati. Usa la scheda Predict basata su browser per una validazione rapida o l'REST API per l'accesso programmatico.

Scheda Predizione
Ogni modello include una scheda Predict per l'inferenza basata su browser:
- Vai al tuo modello
- Clicca sulla scheda Predict
- Carica un'immagine, usa un esempio o apri la tua webcam
- Visualizza istantaneamente le previsioni con overlay di bounding box

Metodi di input
Il pannello di previsione supporta molteplici metodi di input:
| Metodo | Descrizione |
|---|---|
| Caricamento immagini | Trascina e rilascia o clicca per caricare un'immagine |
| Immagini di esempio | Clicca sugli esempi integrati (immagini del dataset o predefinite) |
| Acquisizione webcam | Feed video in tempo reale con acquisizione del singolo frame |
graph LR
A[Upload Image] --> D[Auto-Inference]
B[Example Image] --> D
C[Webcam Capture] --> D
D --> E[Results + Overlays]
style D fill:#2196F3,color:#fff
style E fill:#4CAF50,color:#fffCarica immagine
Trascina e rilascia o clicca per caricare:
- Formati supportati: JPEG, PNG, WebP, AVIF, HEIC, JP2, TIFF, BMP, DNG, MPO
- Dimensione massima: 10MB
- Auto-inferenza: i risultati appaiono automaticamente dopo il caricamento
Il pannello di previsione esegue l'inferenza automaticamente quando carichi un'immagine, selezioni un esempio o acquisisci un frame dalla webcam. Non è necessario cliccare alcun pulsante.
Immagini di esempio
Il pannello di previsione mostra immagini di esempio dal dataset collegato al tuo modello. Se nessun dataset è collegato, vengono usati esempi predefiniti:
| Immagine | Contenuto |
|---|---|
bus.jpg | Scena stradale con veicoli |
zidane.jpg | Scena sportiva con persone |
Per i modelli OBB, vengono mostrate invece immagini aeree di barche e aeroporti.
Le immagini di esempio vengono precaricate quando la pagina viene caricata, quindi cliccare su un esempio attiva un'inferenza quasi istantanea senza tempi di attesa per il download.
Webcam
Clicca sulla scheda della webcam per avviare un feed video in tempo reale:
- Concedi il permesso alla fotocamera quando richiesto
- Clicca sull'anteprima video per acquisire un frame
- L'inferenza viene eseguita automaticamente sul frame acquisito
- Clicca di nuovo per riavviare la webcam
Visualizza risultati
I risultati dell'inferenza mostrano:
- Bounding boxes con etichette di classe come overlay SVG
- Punteggi di confidenza per ogni rilevamento
- Colori delle classi dalla palette colori del tuo dataset (o la palette predefinita di Ultralytics)
- Analisi della velocità: tempo di pre-elaborazione, inferenza, post-elaborazione e rete

Il pannello dei risultati mostra:
| Campo | Descrizione |
|---|---|
| Elenco rilevamenti | Ogni rilevamento con nome della classe e confidenza |
| Statistiche di velocità | Pre-elaborazione, inferenza, post-elaborazione, rete (ms) |
| Risposta JSON | Risposta API grezza in un blocco di codice |
Parametri di inferenza
Regola il comportamento di rilevamento con i parametri nella sezione comprimibile Parameters:

| Parametro | Intervallo | Predefinito | Descrizione |
|---|---|---|---|
| Confidence | 0.01 – 1.0 | 0.25 | Soglia minima di confidenza |
| IoU | 0.0 – 0.95 | 0.7 | Soglia IoU di NMS |
| Image Size | 320, 640, 1280 (interruttore UI) | 640 | Dimensione del ridimensionamento dell'input (l'API accetta qualsiasi valore da 32 a 1280) |
Modificare qualsiasi parametro esegue automaticamente l'inferenza sull'immagine corrente con un debounce di 500ms. Non c'è bisogno di ricaricare.
Soglia di confidenza
Filtra le previsioni per confidenza:
- Più alta (0.5+): meno previsioni, più certe
- Più bassa (0.1-0.25): più previsioni, un po' di rumore
- Predefinita (0.25): bilanciata per la maggior parte dei casi d'uso
Soglia IoU
Controlla la Non-Maximum Suppression:
- Più alta (0.7+): permette più box sovrapposti
- Più bassa (0.3-0.5): unisce i rilevamenti vicini in modo più aggressivo
- Predefinita (0.7): comportamento NMS bilanciato per la maggior parte dei casi d'uso
Predict di Deployment
Ogni endpoint dedicato in esecuzione include una scheda Predict direttamente sulla sua scheda di deployment. Questo utilizza il servizio di inferenza del deployment invece del servizio di previsione condiviso, permettendoti di testare il tuo endpoint distribuito dal browser.
REST API
Accedi all'inferenza in modo programmatico:
Autenticazione
Includi la tua chiave API nelle richieste:
Authorization: Bearer YOUR_API_KEYPer eseguire l'inferenza dai tuoi script, notebook o app, includi una chiave API. Generane una in Settings > API Keys.
Endpoint
POST https://platform.ultralytics.com/api/models/{modelId}/predictRichiesta
import requests
url = "https://platform.ultralytics.com/api/models/MODEL_ID/predict"
headers = {"Authorization": "Bearer YOUR_API_KEY"}
files = {"file": open("image.jpg", "rb")}
data = {"conf": 0.25, "iou": 0.7, "imgsz": 640}
response = requests.post(url, headers=headers, files=files, data=data)
print(response.json())
Risposta
{
"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,
"model": "model.pt",
"version": {
"ultralytics": "8.x.x",
"torch": "2.6.0",
"torchvision": "0.21.0",
"python": "3.13.0"
}
}
}
Campi di risposta
| Campo | Tipo | Descrizione |
|---|---|---|
images | array | Elenco di immagini elaborate |
images[].shape | array | Dimensioni dell'immagine [altezza, larghezza] |
images[].results | array | Elenco dei rilevamenti |
images[].results[].name | string | Nome della classe |
images[].results[].confidence | float | Confidenza di rilevamento (0-1) |
images[].results[].box | oggetto | Coordinate del BBox |
images[].speed | oggetto | Tempi di elaborazione in millisecondi |
metadata | oggetto | Metadati della richiesta e informazioni sulla versione |
Risposte specifiche per attività
Il formato della risposta varia in base all'attività:
{
"class": 0,
"name": "person",
"confidence": 0.92,
"box": {"x1": 100, "y1": 50, "x2": 300, "y2": 400}
}Fatturazione
L'inferenza condivisa (la scheda Predict e l'endpoint /api/models/{id}/predict) è inclusa senza costi aggiuntivi in tutti i piani. Non ci sono addebiti per singola richiesta per l'inferenza condivisa.
Per carichi di lavoro di produzione che richiedono una maggiore velocità di elaborazione, distribuisci un endpoint dedicato.
Limiti di frequenza
L'inferenza condivisa ha un limite di 20 richieste/min per API key. Quando viene limitata, l'API restituisce 429 con un header Retry-After. Consulta il riferimento completo ai limiti di frequenza per tutte le categorie di endpoint.
Distribuisci un endpoint dedicato per un'inferenza illimitata senza limiti di frequenza, velocità prevedibile e risposte coerenti a bassa latenza. Per l'inferenza locale, consulta la guida alla modalità Predict.
Gestione degli errori
Risposte di errore comuni:
| Codice | Messaggio | Soluzione |
|---|---|---|
| 400 | Immagine non valida | Controlla il formato del file |
| 401 | Non autorizzato | Verifica la API key |
| 404 | Modello non trovato | Controlla l'ID del modello |
| 429 | Limite di frequenza raggiunto | Attendi e riprova, oppure usa un endpoint dedicato per una velocità illimitata |
| 500 | Errore del server | Riprova la richiesta |
FAQ
Posso eseguire l'inferenza su un video?
Entrambi i metodi di inferenza accettano file video:
- Gli endpoint dedicati accettano file video direttamente. Formati supportati (fino a 100 MB): ASF, AVI, GIF, M4V, MKV, MOV, MP4, MPEG, MPG, TS, WEBM, WMV. Ogni fotogramma viene elaborato singolarmente e i risultati vengono restituiti per fotogramma. Vedi gli endpoint dedicati per i dettagli.
- L'inferenza condivisa (
/api/models/{id}/predict) utilizza lo stesso servizio di previsione e accetta gli stessi formati video. Tuttavia, la scheda Predict del browser nell'interfaccia utente carica solo immagini: usa direttamente la REST API o un endpoint dedicato per i flussi di lavoro video. L'endpoint condiviso è anche limitato a 20 req/min, quindi gli endpoint dedicati sono la scelta migliore per carichi di lavoro video pesanti.
Come ottengo l'immagine annotata?
L'API restituisce previsioni JSON. Per visualizzarle:
- Usa le previsioni per disegnare i riquadri localmente
- Usa il metodo
plot()di Ultralytics:
from ultralytics import YOLO
model = YOLO("yolo26n.pt")
results = model("image.jpg")
results[0].save("annotated.jpg")Consulta la documentazione della modalità Predict per l'API completa dei risultati e le opzioni di visualizzazione.
Qual è la dimensione massima dell'immagine?
- Limite di caricamento: 10MB
- Consigliato: <5MB per un'inferenza rapida
- Ridimensionamento automatico: Le immagini vengono ridimensionate in base al parametro
Image Sizeselezionato
Le immagini di grandi dimensioni vengono ridimensionate automaticamente mantenendo le proporzioni.
Posso eseguire un'inferenza batch?
L'API corrente elabora un'immagine per richiesta. Per il batch:
- Invia richieste simultanee
- Usa un endpoint dedicato per una maggiore velocità di elaborazione
- Considera l'inferenza locale per batch di grandi dimensioni
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))