Yolo Vision Shenzhen
Shenzhen
Iscriviti ora

Utilizzo di Ultralytics YOLO11 per eseguire inferenze batch

Abirami Vina

4 minuti di lettura

15 maggio 2025

Esplora la differenza tra inferenza in tempo reale e inferenza batch quando si utilizza Ultralytics YOLOv11 per varie applicazioni di computer vision.

Se hai visto un'auto a guida autonoma in azione, hai assistito all'inferenza AI in tempo reale. Un'auto a guida autonoma utilizza in genere telecamere, sensori e intelligenza artificiale 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 i dati continuamente in tempo reale, un'inferenza batch può gestire grandi set di dati a intervalli programmati. Questo approccio aiuta a risparmiare risorse, ridurre il consumo di energia e diminuire i costi infrastrutturali.

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
Fig. 1. Un esempio di segmentazione di oggetti in un'immagine utilizzando YOLO11.

Con l'inferenza batch, YOLO11 può essere eseguito su dati visivi in batch, riducendo il carico sul sistema e migliorando l'efficienza senza sacrificare le prestazioni. Ciò semplifica l'implementazione di soluzioni di Vision AI su larga scala senza sovraccaricare l'hardware o aumentare i costi.

In questo articolo, esploreremo l'inferenza batch, i suoi vantaggi e come l'inferenza batch utilizzando YOLO11 può essere applicata nelle applicazioni di computer vision. Iniziamo!

Uno sguardo all'inferenza batch nella computer vision

Puoi pensare all'inferenza batch come affrontare un compito di grandi dimensioni tutto in una volta invece di gestirlo pezzo per pezzo man mano che arriva. Invece di elaborare costantemente i dati in tempo reale, l'inferenza batch ti consente di elaborare grandi gruppi di dati a intervalli prestabiliti. Questo approccio è molto più efficiente quando non sono necessarie risposte immediate, contribuendo a risparmiare risorse di calcolo, ridurre il consumo di energia e tagliare i costi.

Nell'ambito della computer vision, ci sono alcune applicazioni in cui la bassa latenza è fondamentale. La bassa latenza si riferisce al ritardo minimo tra la ricezione dell'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. È qui che l'inferenza batch eccelle: quando il sistema non ha bisogno di reagire istantaneamente. L'inferenza batch funziona alimentando i dati visivi a un modello di computer vision in gruppi o batch, consentendo al sistema di elaborare grandi set di dati contemporaneamente anziché continuamente in tempo reale.

Comprendere come funziona l'inferenza batch

Ecco uno sguardo più da vicino ai passaggi coinvolti nell'inferenza batch:

  • Raccolta dati: I dati visivi vengono raccolti per un periodo di tempo. Ciò potrebbe includere filmati di sicurezza, immagini di prodotti o dati dei clienti, a seconda dell'applicazione.
  • Preparazione del batch: I dati raccolti vengono quindi raggruppati in batch. Durante questo passaggio, i dati vengono formattati come richiesto dal modello. Ad esempio, le immagini potrebbero essere ridimensionate, normalizzate o convertite nel formato appropriato per l'elaborazione da parte del modello.
  • Predizione: Una volta che i dati sono preparati, l'intero batch viene inserito nel modello (come YOLO11), che elabora l'intero batch contemporaneamente. Ciò consente al modello di fare previsioni per tutti i dati nel batch simultaneamente, rendendo il processo più efficiente rispetto alla gestione di ogni punto dati individualmente.

Quando utilizzare l'inferenza batch?

Ora che abbiamo trattato cos'è l'inferenza batch e come differisce dall'inferenza in tempo reale, esaminiamo più da vicino quando utilizzarla.

L'inferenza batch è ideale per l'analisi di dati storici. Supponiamo di avere filmati di sorveglianza di una stazione della metropolitana dell'ultimo mese e di voler 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, l'inferenza batch consente di elaborare l'intero filmato del mese in batch, identificando eventi o tendenze chiave senza la necessità di risultati immediati. In questo modo, è possibile analizzare grandi volumi di dati in modo più efficiente e ottenere informazioni sui modelli a lungo termine, senza sovraccaricare il sistema o richiedere un monitoraggio costante.

L'inferenza batch è una soluzione ottimale anche quando le risorse di sistema sono limitate. Eseguendo l'inferenza durante le ore non di punta (ad esempio, durante la notte), è possibile risparmiare sui costi di elaborazione e garantire che il sistema non sia sovraccarico durante i periodi di maggiore utilizzo. Questo la rende un approccio efficiente ed economico per aziende o progetti che devono elaborare grandi dataset ma non richiedono analisi in tempo reale.

Inferenza batch con Ultralytics YOLO11

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

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

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

Applicazioni di computer vision abilitate dall'inferenza batch

Successivamente, esploriamo alcuni casi d'uso reali della computer vision per l'inferenza batch.

Migliorare la diagnostica e la ricerca nel settore sanitario

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

Ad esempio, nelle strutture mediche, l'inferenza batch può essere particolarmente utile per l'analisi di ampi set 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 al meglio il proprio hardware e il proprio personale, ridurre i costi operativi e garantire che tutte le scansioni vengano esaminate in modo coerente e uniforme. È anche vantaggioso per grandi progetti di ricerca e studi a lungo termine, dove è necessario gestire grandi quantità di dati.

__wf_reserved_inherit
Fig 2. Rilevamento di una scansione medica utilizzando YOLO11.

Miglioramento dei veicoli autonomi tramite simulazioni

Le auto a guida autonoma utilizzano tecnologie di IA come la computer vision per elaborare l'ambiente circostante. Con l'aiuto di modelli avanzati come YOLO11, i sistemi di bordo dell'auto possono riconoscere altri veicoli, le linee di demarcazione delle corsie, i segnali stradali e le persone sulla strada. Sebbene l'inferenza in tempo reale sia fondamentale sulla strada, la tecnologia di guida autonoma si basa anche fortemente sull'inferenza batch in background. 

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

Una volta che un'auto completa un viaggio, i dati raccolti, come ore di riprese video, letture dei sensori e scansioni LIDAR, possono essere elaborati in un secondo momento in grandi batch. Ciò consente agli ingegneri di aggiornare i modelli di IA dell'auto, migliorare la sicurezza del sistema e ottimizzarne la capacità di gestire 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 diverse situazioni, come la navigazione in incroci trafficati o la risposta a movimenti imprevedibili dei 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 dall'inferenza batch

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

Ciò consente ai negozi di analizzare ciò che accade al loro interno, 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 dell'inferenza batch per generare mappe di calore, che visualizzano le aree di alta e bassa attività dei clienti all'interno del negozio. Analizzando queste mappe di calore, i rivenditori possono identificare quali aree attraggono il maggior numero di clienti e quali parti del negozio potrebbero aver bisogno di maggiore attenzione o di un'ottimizzazione del posizionamento dei prodotti. Questi dati possono aiutare i rivenditori a prendere decisioni migliori sulla disposizione del negozio, sul posizionamento dei prodotti e persino sulle strategie promozionali per migliorare l'esperienza del cliente e le vendite.

__wf_reserved_inherit
Fig. 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 l'inferenza batch può apportare a vari settori:

  • Facilità di integrazione: L'inferenza batch può essere facilmente integrata nei flussi di lavoro esistenti, in particolare per settori come il retail, 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é i dati sono raggruppati in blocchi gestibili. Ciò rende più facile tracciare, 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 un dato momento può essere ridotta al minimo, riducendo la pressione sulle risorse di rete nei sistemi basati su cloud o negli ambienti di calcolo distribuito.

Sebbene ci siano molti vantaggi nell'utilizzo dell'inferenza batch, ci sono anche alcune limitazioni da considerare. Ecco alcuni fattori da tenere a mente:

  • Requisiti di archiviazione: L'archiviazione di set di dati di grandi dimensioni 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 backlog: Se i dati si accumulano rapidamente o grandi batch non vengono elaborati in tempo, può svilupparsi un backlog. Ciò può comportare ritardi nella fornitura di insight e nell'elaborazione tempestiva di nuovi dati.
  • Picchi di risorse: Batch di grandi dimensioni, specialmente 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 arresti anomali.

Punti chiave

L'inferenza batch è 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 in orari programmati, come durante la notte. 

Questo metodo è conveniente, riduce il carico computazionale e fornisce comunque risultati accurati. Dall'aiuto ai negozi nella gestione dell'inventario all'assistenza ai medici nell'analisi delle scansioni mediche e al miglioramento delle tecnologie per auto a guida autonoma, l'inferenza batch rende la computer vision più accessibile, economica e pratica per le applicazioni del mondo reale.

Pronto a tuffarti nel mondo dell'IA? Esplora il nostro repository GitHub, entra in contatto con la nostra community e dai un'occhiata alle nostre opzioni di licenza per iniziare il tuo percorso nella computer vision. Scopri di più sulle innovazioni come l'IA nella produzione e la computer vision nel settore della logistica nelle nostre pagine dedicate alle soluzioni.

Costruiamo insieme il futuro
dell'AI!

Inizia il tuo viaggio con il futuro del machine learning

Inizia gratis
Link copiato negli appunti