Utilizzo di Ultralytics YOLO11 per eseguire inferenze in batch

Abirami Vina

4 minuti di lettura

15 maggio 2025

Scoprite la differenza tra inferenza in tempo reale e inferenza in batch quando si usa Ultralytics YOLO11 per varie applicazioni di computer vision.

Se avete visto un'auto a guida autonoma in azione, avete assistito a un'inferenza AI in tempo reale. Un'auto a guida autonoma di solito utilizza telecamere, sensori e IA per elaborare l'ambiente circostante e prendere decisioni quasi istantanee. Tuttavia, quando non sono necessarie risposte rapide, l'inferenza in tempo reale può richiedere molte risorse.

Un'opzione migliore in questi casi è l'inferenza batch. Invece di elaborare continuamente i dati in tempo reale, un'inferenza batch può gestire grandi insiemi di dati a intervalli programmati. Questo approccio consente di risparmiare risorse, ridurre il consumo energetico e i costi dell'infrastruttura.

Ad esempio, nelle applicazioni di computer vision, modelli come Ultralytics YOLO11 possono essere utilizzati per attività in tempo reale come il rilevamento di oggetti e la segmentazione di istanze. Tuttavia, l'elaborazione di grandi volumi di dati visivi in tempo reale può essere impegnativa. 

__wf_reserved_inherit
Figura 1. Un esempio di segmentazione di oggetti in un'immagine utilizzando YOLO11.

Con il batch inferencing, YOLO11 può essere eseguito su dati visivi in batch, riducendo lo sforzo sul sistema e migliorando l'efficienza senza sacrificare le prestazioni. In questo modo è più facile implementare soluzioni Vision AI su scala senza sovraccaricare l'hardware o aumentare i costi.

In questo articolo esploreremo il batch inferencing, i suoi vantaggi e come il batch inferencing con YOLO11 può essere applicato alle applicazioni di computer vision. Iniziamo!

Uno sguardo al batch inferencing nella computer vision

Si può pensare al batch inferencing come se si trattasse di affrontare un compito importante tutto in una volta, invece di gestirlo pezzo per pezzo, man mano che arriva. Invece di elaborare costantemente i dati in tempo reale, il batch inferencing consente di elaborare grandi gruppi di dati a intervalli prestabiliti. Questo approccio è molto più efficiente quando non sono necessarie risposte immediate, aiutando a risparmiare sulle risorse informatiche, a ridurre il consumo di energia e a tagliare i costi.

Quando si parla di computer vision, ci sono alcune applicazioni in cui la bassa latenza è fondamentale. Per bassa latenza si intende il ritardo minimo tra la ricezione di un input (come un'immagine o un fotogramma video) e la risposta del sistema. Ad esempio, nel monitoraggio della sicurezza in tempo reale, anche piccoli ritardi possono comportare rischi per la sicurezza.

Tuttavia, in molti altri scenari di computer vision, la bassa latenza non è così critica. È in questo caso che l'inferenziazione in batch si rivela ideale quando il sistema non ha bisogno di reagire istantaneamente. Il batch inferencing funziona alimentando i dati visivi a un modello di computer vision in gruppi o batch, consentendo al sistema di elaborare grandi insiemi di dati in una sola volta anziché in modo continuo in tempo reale.

Capire come funziona il batch inferencing

Ecco un'analisi più approfondita delle fasi di inferenza batch:

  • Raccolta dei dati: I dati visivi vengono raccolti per un certo periodo di tempo. A seconda dell'applicazione, possono essere filmati di sicurezza, immagini di prodotti o dati dei clienti.
  • Preparazione dei lotti: I dati raccolti vengono poi raggruppati in lotti. Durante questa fase, i dati vengono formattati come richiesto dal modello. Ad esempio, le immagini possono essere ridimensionate, normalizzate o convertite nel formato appropriato per l'elaborazione del modello.
  • Previsione: Una volta preparati i dati, l'intero batch viene inserito nel modello (come YOLO11), che elabora l'intero batch in una sola volta. Ciò consente al modello di fare previsioni per tutti i dati del batch contemporaneamente, rendendo il processo più efficiente rispetto alla gestione di ogni singolo punto di dati.

Quando utilizzare l'inferenza batch?

Ora che abbiamo spiegato cos'è l'inferenza batch e come si differenzia dall'inferenza in tempo reale, analizziamo più da vicino quando usarla.

Il batch inferencing è ideale per analizzare i dati storici. Supponiamo di avere a disposizione i filmati di sorveglianza di una stazione della metropolitana dell'ultimo mese e di cercare di identificare modelli specifici, come il numero di persone che entrano ed escono in diversi momenti della giornata. 

Invece di elaborare ogni fotogramma in tempo reale, il batch inferencing consente di elaborare l'intero mese di filmati in lotti, identificando eventi o tendenze chiave senza bisogno di risultati immediati. In questo modo, è possibile analizzare grandi volumi di dati in modo più efficiente e ottenere approfondimenti su modelli a lungo termine, senza sovraccaricare il sistema o richiedere un monitoraggio costante.

L'inferenza batch è una soluzione ottimale anche quando le risorse del sistema sono limitate. Eseguendo l'inferenza in orari non di punta (ad esempio durante la notte), è possibile risparmiare sui costi di elaborazione e garantire che il sistema non sia sovraccarico durante i picchi di utilizzo. Si tratta quindi di un approccio efficiente ed economico per le aziende o i progetti che hanno bisogno di elaborare grandi insiemi di dati, ma che non richiedono un'analisi in tempo reale.

Inferenza in batch con Ultralytics YOLO11

Il pacchetto Ultralytics Python supporta l'inferenza batch per modelli come YOLO11. Con YOLO11, è possibile eseguire facilmente l'inferenza batch specificando l'argomento 'batch', che determina il numero di immagini o fotogrammi video elaborati contemporaneamente. 

Durante il processo di inferenza batch, le previsioni vengono generate simultaneamente per tutte le immagini del batch. Per impostazione predefinita, la dimensione del batch è impostata su 1, ma è possibile regolarla con il numero che si preferisce. 

Ad esempio, se la dimensione del batch è impostata su 5, YOLO11 elabora cinque immagini o fotogrammi video alla volta e genera previsioni per tutti e cinque i fotogrammi contemporaneamente. Lotti di dimensioni maggiori portano in genere a tempi di inferenza più rapidi, poiché l'elaborazione di più immagini in un lotto è più efficiente rispetto alla loro gestione individuale.

Applicazioni di visione computerizzata abilitate dal batch inferencing

Esploriamo quindi alcuni casi d'uso della computer vision nel mondo reale per l'inferenza batch.

Migliorare la diagnostica e la ricerca in campo sanitario

Nella ricerca medica è molto comune lavorare con grandi quantità di dati visivi. In questo caso, il batch inferencing può aiutare gli scienziati ad analizzare i dati più facilmente in campi come la chimica, la biologia e la genetica. Invece di analizzarne uno alla volta, i dati vengono elaborati in batch, risparmiando tempo e fatica.

Per esempio, nelle strutture mediche, il batch inferencing può essere particolarmente utile per analizzare grandi serie di immagini mediche come risonanze magnetiche o TAC. Gli ospedali possono raccogliere queste scansioni durante il giorno ed elaborarle in batch durante la notte. 

Questo approccio consente agli ospedali di utilizzare meglio l'hardware e il personale, di ridurre i costi operativi e di garantire che tutte le scansioni siano esaminate in modo coerente e uniforme. È inoltre vantaggioso per i grandi progetti di ricerca e gli studi a lungo termine, in cui è necessario gestire grandi quantità di dati.

__wf_reserved_inherit
Figura 2. Rilevamento di una scansione medica con YOLO11.

Migliorare i veicoli autonomi con le simulazioni

Le auto a guida autonoma utilizzano tecnologie AI come la computer vision per elaborare il mondo circostante. Con l'aiuto di modelli avanzati come YOLO11, i sistemi di bordo dell'auto sono in grado di riconoscere altri veicoli, linee di corsia, segnali stradali e persone in strada. Sebbene l'inferenza in tempo reale sia fondamentale sulla strada, la tecnologia di guida autonoma si basa anche sull'inferenza in batch dietro le quinte. 

__wf_reserved_inherit
Figura 3. YOLO11 è in grado di rilevare facilmente i pedoni sulla strada.

Dopo che l'auto ha completato un viaggio, i dati raccolti, come le ore di riprese delle telecamere, le letture dei sensori e le scansioni LIDAR, possono essere elaborati in seguito in grandi lotti. In questo modo gli ingegneri possono aggiornare i modelli di intelligenza artificiale dell'auto, aumentare la sicurezza del sistema e migliorare la capacità di gestire le varie condizioni di guida.

L'inferenza batch viene utilizzata anche nelle simulazioni di guida autonoma per testare come le auto a guida autonoma reagirebbero in situazioni diverse, come la navigazione in incroci trafficati o la risposta a movimenti imprevedibili di pedoni. Questo approccio consente di risparmiare tempo, ridurre i costi ed evitare i rischi associati alla sperimentazione di ogni scenario nella vita reale.

Analisi dei dati di vendita al dettaglio guidata da inferenze batch

Allo stesso modo, per i negozi al dettaglio, l'inferenza in batch con modelli di computer vision come YOLO11 può migliorare significativamente l'efficienza operativa. Ad esempio, i sistemi di telecamere nei negozi possono catturare migliaia di immagini nel corso della giornata, che possono poi essere elaborate in lotti durante la notte. 

Ciò consente ai negozi di analizzare ciò che accade nel punto vendita, come il comportamento dei clienti, i modelli di traffico e le interazioni con i prodotti, senza la necessità di un'elaborazione in tempo reale, che può essere impegnativa per i negozi più piccoli. 

Un altro esempio interessante è l'utilizzo del batch inferencing per generare mappe di calore, che visualizzano le aree di alta e bassa attività dei clienti all'interno del negozio. Analizzando queste heatmap, i retailer possono identificare le aree che attirano il maggior traffico di persone e quelle che potrebbero richiedere maggiore attenzione o ottimizzazione del posizionamento dei prodotti. Questi dati possono aiutare i rivenditori a prendere decisioni migliori sul layout del negozio, sul posizionamento dei prodotti e persino sulle strategie promozionali per migliorare l'esperienza dei clienti e le vendite.

__wf_reserved_inherit
Figura 4. Le mappe di calore possono aiutare i rivenditori a identificare le aree più frequentate nei negozi.

Pro e contro dell'inferenza batch

Ecco alcuni dei principali vantaggi che il batch inferencing può apportare a vari settori:

  • Facilità di integrazione: L'inferenziazione batch può essere facilmente integrata nei flussi di lavoro esistenti, in particolare per i settori come la vendita al dettaglio, la sicurezza o la sanità, dove è necessario elaborare grandi volumi di dati in blocco.
  • Gestione dei dati più semplice: Quando si lavora con grandi quantità di dati, l'inferenza batch può semplificare la gestione dei dati, poiché questi vengono raggruppati in parti gestibili. In questo modo è più facile tenere traccia, rivedere e organizzare i dati nel tempo.
  • Riduzione del carico di rete: Quando i dati vengono elaborati in batch, la quantità di dati trasferiti in qualsiasi momento può essere ridotta al minimo, riducendo la pressione sulle risorse di rete nei sistemi basati su cloud o negli ambienti di elaborazione distribuiti.

Sebbene l'uso dell'inferenza batch presenti molti vantaggi, ci sono anche alcune limitazioni da considerare. Ecco alcuni fattori da tenere a mente:

  • Requisiti di archiviazione: L'archiviazione di grandi insiemi di dati per l'elaborazione batch può aumentare significativamente i costi di archiviazione, in particolare con immagini ad alta risoluzione, video o grandi volumi di dati.
  • Potenziale di arretrati: Se i dati si accumulano rapidamente o i grandi lotti non vengono elaborati in tempo, si può creare un arretrato. Questo può portare a ritardi nella fornitura di approfondimenti e nell'elaborazione di nuovi dati in modo tempestivo.
  • Picchi di risorse: I batch di grandi dimensioni, soprattutto quelli che coinvolgono immagini ad alta risoluzione, possono causare picchi nell'utilizzo della memoria o del calcolo. Se non gestiti correttamente, questi picchi possono sovraccaricare i sistemi, causando rallentamenti o crash.

Punti di forza

Il batch inferencing è un modo efficiente per elaborare grandi volumi di dati visivi che non richiedono risultati immediati. Invece di analizzare ogni immagine in tempo reale, le elabora in batch a orari prestabiliti, ad esempio durante la notte. 

Questo metodo è conveniente, riduce il carico computazionale e fornisce comunque risultati accurati. Dall'aiutare i negozi a gestire l'inventario all'assistere i medici nell'analisi delle scansioni mediche e a migliorare le tecnologie delle auto a guida autonoma, il batch inferencing rende la computer vision più accessibile, economica e pratica per le applicazioni del mondo reale.

Siete pronti a immergervi nell'IA? Esplorate il nostro repository GitHub, entrate in contatto con la nostra comunità e controllate le nostre opzioni di licenza per iniziare il vostro viaggio nella computer vision. Per saperne di più su innovazioni come l'IA nella produzione e la computer vision nel settore della logistica, consultate le nostre pagine dedicate alle soluzioni.

Costruiamo insieme il futuro
dell'IA!

Iniziate il vostro viaggio nel futuro dell'apprendimento automatico

Iniziare gratuitamente
Link copiato negli appunti