Scoprite come l'inferenza in tempo reale con Ultralytics YOLO consente previsioni istantanee per applicazioni AI come la guida autonoma e i sistemi di sicurezza.
L'inferenza in tempo reale è il processo in cui un modello di apprendimento modello di apprendimento automatico accetta dati in ingresso e genera una previsione quasi istantanea. In questo contesto, il termine "in tempo reale" implica che la velocità di elaborazione velocità di elaborazione sia sufficiente a tenere il passo con il flusso di dati in entrata, consentendo al sistema di prendere decisioni immediate. Questa capacità è una pietra miliare delle moderne applicazioni di applicazioni di computer vision, che consentono ai dispositivi di percepire e reagire all'ambiente circostante con un ritardo minimo.
La metrica principale per valutare le prestazioni in tempo reale è la latenza di inferenza, che misura il tempo tra la ricezione di un input da parte del modello e la produzione di un output. Affinché un sistema possa essere considerato in tempo reale, questa per essere considerato in tempo reale, questa latenza deve essere sufficientemente bassa da soddisfare i vincoli temporali specifici del caso d'uso. Ad esempio, un un sistema di comprensione video che analizza un flusso a 30 fotogrammi al secondo (FPS) ha circa 33 millisecondi per elaborare ogni fotogramma. Se l'inferenza richiede più tempo, i fotogrammi vengono abbandonati e il sistema è in ritardo.
Il raggiungimento di questa velocità spesso comporta l'utilizzo di hardware specializzato, come le GPU o acceleratori acceleratori Edge AI, come la piattaforma piattaformaNVIDIA Jetson. Inoltre, ingegneri spesso impiegano tecniche di ottimizzazione dei modelli per ridurre la complessità computazionale senza sacrificare significativamente la precisione.
È importante distinguere i flussi di lavoro in tempo reale dall'inferenza batch. l'inferenza batch. Mentre l'inferenza in tempo reale elabora i punti di dati singolarmente quando arrivano per ridurre al minimo la latenza, l'inferenza batch raggruppa i dati in grandi pezzi da elaborare insieme in un secondo momento.
La capacità di generare previsioni istantanee ha trasformato diversi settori industriali, automatizzando attività complesse che richiedono che richiedono un processo decisionale di una frazione di secondo.
Per raggiungere le velocità necessarie per le applicazioni in tempo reale, gli sviluppatori spesso distribuiscono i modelli utilizzando motori di inferenza ottimizzati. ottimizzati. Framework come TensorRT per NVIDIA o OpenVINO per i processori Intel possono accelerare significativamente le prestazioni. Inoltre, tecniche come la quantizzazione del modello, cheriduce la precisione dei pesi del modello da valori in virgola mobile a valori interi, possono ridurre drasticamente l'ingombro in memoria e migliorare la velocità di esecuzione sui sistemi embedded. velocità di esecuzione sui sistemi embedded.
Il seguente esempio Python mostra come eseguire l'inferenza in tempo reale su un feed di una webcam, utilizzando l'opzione
ultralytics biblioteca.
from ultralytics import YOLO
# Load the official YOLO11 nano model, optimized for speed
model = YOLO("yolo11n.pt")
# Run inference on the default webcam (source=0)
# 'stream=True' creates a generator for memory-efficient real-time processing
# 'show=True' displays the video feed with prediction overlays
results = model.predict(source="0", stream=True, show=True)
# Process the generator to keep the stream running
for result in results:
pass
Con l'espansione della connettività 5G e l'aumento della potenza dell'hardware, l'ambito dell'intelligenza artificiale in tempo reale sta crescendo. Concetti come Internet delle cose (IoT) stanno diventando più intelligenti, passando da semplici raccoglitori di dati a decisori attivi. Gli sviluppi futuri, come YOLO26, mirano a spingere ulteriormente questi confini offrendo modelli end-to-end offrendo modelli end-to-end nativamente ancora più piccoli e più veloci, garantendo che le città intelligenti e i dispositivi medici possano città intelligenti e dispositivi medici possano di operare senza soluzione di continuità in tempo reale.