Yolo Vision Shenzhen
Shenzhen
Iscriviti ora
Glossario

Inferenza in tempo reale

Scopri la potenza dell'inferenza in tempo reale per previsioni AI istantanee. Scopri come Ultralytics fornisce risultati a bassa latenza per dispositivi edge e robotica.

L'inferenza in tempo reale si riferisce al processo in cui un modello di apprendimento automatico (ML) addestrato accetta dati di input in tempo reale e genera previsioni quasi istantaneamente. A differenza dell'elaborazione offline, in cui i dati vengono raccolti e analizzati in blocco in un secondo momento, l'inferenza in tempo reale avviene al volo, consentendo ai sistemi di reagire al loro ambiente con velocità e agilità. Questa capacità è il cuore pulsante delle moderne applicazioni di Intelligenza Artificiale (AI) , consentendo ai dispositivi di percepire, interpretare e agire sui dati in pochi millisecondi.

L'importanza della bassa latenza

Il parametro principale per valutare le prestazioni in tempo reale è la latenza di inferenza. Questa misura il ritardo tra il momento in cui i dati vengono immessi nel modello, ad esempio un fotogramma da una videocamera, e il momento in cui il modello produce un output, come un riquadro di delimitazione o un'etichetta di classificazione. Affinché un'applicazione possa essere considerata "in tempo reale", la latenza deve essere sufficientemente bassa da corrispondere alla velocità del flusso di dati in entrata.

Ad esempio, nelle attività di comprensione video che funzionano a 30 fotogrammi al secondo (FPS), il sistema ha un tempo massimo di circa 33 millisecondi per elaborare ogni fotogramma. Se l'inferenza richiede più tempo, il sistema introduce un ritardo, che può portare alla perdita di fotogrammi o a risposte ritardate. Per ottenere questo risultato è spesso necessaria l'accelerazione hardware tramite GPU o dispositivi Edge AI specializzati come NVIDIA .

Inferenza in tempo reale vs. inferenza batch

È utile distinguere i flussi di lavoro in tempo reale dall' elaborazione batch. Sebbene entrambi comportino la generazione di previsioni, i loro obiettivi e le loro architetture differiscono in modo significativo:

  • Inferenza in tempo reale: dà priorità alla bassa latenza. Elabora singoli punti dati (o batch molto piccoli ) non appena arrivano. Questo è essenziale per applicazioni interattive come i veicoli autonomi, dove un'auto deve detect istantaneamente detect pedone per frenare in tempo.
  • Inferenza batch: dà priorità all'elevata produttività. Raccoglie un grande volume di dati e li elabora tutti in una volta. È adatta per attività non urgenti, come la generazione di report di inventario notturni o l'analisi delle tendenze storiche dei big data.

Applicazioni nel mondo reale

La capacità di prendere decisioni in una frazione di secondo ha trasformato vari settori industriali, consentendo l'automazione in ambienti dinamici.

  • Produzione intelligente: nell' ambito dell'intelligenza artificiale nella produzione, le telecamere posizionate sopra i nastri trasportatori utilizzano l'inferenza in tempo reale per eseguire il controllo qualità automatizzato. Un modello di rilevamento degli oggetti è in grado di identificare istantaneamente difetti o corpi estranei nei prodotti che si muovono ad alta velocità. Se viene rilevata un'anomalia, il sistema attiva un braccio robotico per rimuovere immediatamente l'articolo, garantendo che solo i prodotti di alta qualità raggiungano l'imballaggio.
  • Sorveglianza e sicurezza: i moderni sistemi di sicurezza si affidano alla visione artificiale per monitorare i perimetri. Invece di limitarsi a registrare le immagini, queste telecamere eseguono in tempo reale il rilevamento delle persone o il riconoscimento facciale per avvisare il personale di sicurezza di accessi non autorizzati nel momento stesso in cui avvengono.
  • Robotica: nel campo dell' intelligenza artificiale applicata alla robotica, i robot utilizzano la stima della posizione per navigare in spazi fisici complessi . Un robot da magazzino deve dedurre continuamente la posizione degli ostacoli e dei lavoratori umani per pianificare il proprio percorso in modo sicuro ed efficiente.

Ottimizzazione e implementazione

L'implementazione di modelli per applicazioni in tempo reale richiede spesso un'ottimizzazione per garantire che funzionino in modo efficiente sull'hardware di destinazione . Tecniche come la quantizzazione del modello riducono la precisione dei pesi del modello (ad esempio, da float32 a int8) per diminuire l'utilizzo della memoria e aumentare la velocità di inferenza con un impatto minimo sulla precisione.

Gli sviluppatori possono utilizzare la Ultralytics per semplificare questo processo. La piattaforma semplifica la formazione e consente agli utenti di esportare i modelli in formati ottimizzati come TensorRT per NVIDIA , OpenVINO per Intel o TFLite per l'implementazione su dispositivi mobili.

Esempio di codice

Il seguente Python mostra come eseguire un'inferenza in tempo reale su un feed della webcam utilizzando il ultralytics biblioteca. Utilizza il YOLO26 Modello Nano, progettato specificamente per garantire prestazioni ad alta velocità sui dispositivi edge.

from ultralytics import YOLO

# Load the YOLO26 Nano model, optimized for speed and real-time tasks
model = YOLO("yolo26n.pt")

# Run inference on the default webcam (source="0")
# 'stream=True' returns a generator for memory-efficient processing
# 'show=True' displays the video feed with bounding boxes in real-time
results = model.predict(source="0", stream=True, show=True)

# Iterate through the generator to process frames as they arrive
for result in results:
    # Example: Print the number of objects detected in the current frame
    print(f"Detected {len(result.boxes)} objects")

Unitevi alla comunità di Ultralytics

Entra nel futuro dell'AI. Connettiti, collabora e cresci con innovatori globali

Iscriviti ora