Utilizzare Ultralytics YOLO11 per eseguire inferenze in batch
Scopri la differenza tra inferenza in tempo reale e inferenza in batch quando utilizzi Ultralytics YOLO11 per diverse 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 usa in genere telecamere, sensori e AI per elaborare ciò che la circonda e prendere decisioni quasi istantanee. Tuttavia, quando non sono necessarie risposte rapide, l'inferenza in tempo reale può richiedere molte risorse.
In questi casi, un'opzione migliore è l'inferenza batch. Anziché elaborare continuamente i dati in tempo reale, l'inferenza batch può gestire grandi insiemi di dati a intervalli programmati. Questo approccio contribuisce a risparmiare risorse, ridurre il consumo energetico e contenere 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 degli oggetti e la segmentazione delle istanze. Tuttavia, elaborare grandi volumi di dati visivi in tempo reale può essere impegnativo.

Fig. 1. Un esempio di segmentazione degli oggetti in un'immagine con Ultralytics YOLO11.
Con l'inferenza batch, Ultralytics YOLO11 può essere eseguito su dati visivi in batch, riducendo il carico sul sistema e migliorando l'efficienza senza sacrificare le prestazioni. Questo facilita il deployment di soluzioni di Vision AI su larga scala senza sovraccaricare l'hardware o aumentare i costi.
In questo articolo analizzeremo l'inferenza batch, i suoi vantaggi e come l'inferenza batch con Ultralytics YOLO11 può essere applicata nelle applicazioni di computer vision. Iniziamo!
Uno sguardo all'inferenza batch nella computer vision#
Puoi pensare all'inferenza batch come all'affrontare una grande attività tutta in una volta, invece di gestirla pezzo per pezzo man mano che arriva. Anziché elaborare continuamente i dati in tempo reale, l'inferenza batch consente di elaborare grandi gruppi di dati a intervalli prestabiliti. Questo approccio è molto più efficiente quando non sono necessarie risposte immediate, aiutando a risparmiare risorse di calcolo, ridurre il consumo energetico e contenere i costi.
Nel campo della computer vision, ci sono applicazioni in cui la bassa latenza è fondamentale. La bassa latenza indica il 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 è altrettanto critica. È qui che l'inferenza batch dà il meglio di sé: quando il sistema non deve reagire istantaneamente. L'inferenza batch funziona fornendo dati visivi a un modello di computer vision in gruppi o batch, consentendo al sistema di elaborare grandi dataset contemporaneamente invece di farlo continuamente in tempo reale.
Capire come funziona l'inferenza batch#
Ecco una panoramica più dettagliata dei passaggi coinvolti nell'inferenza batch:
-
Raccolta dei dati: i dati visivi vengono raccolti nel corso di un certo periodo di tempo. Possono includere filmati di sicurezza, immagini di prodotti o dati dei clienti, a seconda dell'applicazione.
-
Preparazione dei batch: i dati raccolti vengono quindi raggruppati in batch. Durante questo passaggio, i dati vengono formattati come richiesto dal modello. Ad esempio, le immagini possono essere ridimensionate, normalizzate o convertite nel formato appropriato per l'elaborazione da parte del modello.
-
Predizione: una volta preparati, tutti i dati del batch vengono forniti al modello, come Ultralytics YOLO11, che elabora l'intero batch contemporaneamente. Questo consente al modello di effettuare simultaneamente le predizioni per tutti i dati del batch, rendendo il processo più efficiente rispetto alla gestione individuale di ogni elemento.
Quando utilizzare l'inferenza batch?#
Ora che abbiamo illustrato cos'è l'inferenza batch e in cosa differisce dall'inferenza in tempo reale, vediamo più da vicino quando utilizzarla.
L'inferenza batch è ideale per analizzare dati storici. Supponiamo che tu abbia filmati di sorveglianza di una stazione della metropolitana relativi all'ultimo mese e voglia identificare determinati schemi, come il numero di persone che entrano ed escono in diversi momenti della giornata.
Anziché elaborare ogni fotogramma in tempo reale, l'inferenza batch consente di elaborare in batch i filmati dell'intero mese, identificando eventi o tendenze chiave senza bisogno di risultati immediati. In questo modo puoi analizzare grandi volumi di dati in modo più efficiente e ottenere informazioni sugli schemi a lungo termine, senza sovraccaricare il sistema o richiedere un monitoraggio costante.
L'inferenza batch è anche una soluzione ottimale quando le risorse del sistema sono limitate. Eseguendo l'inferenza nelle ore non di punta, ad esempio durante la notte, puoi risparmiare sui costi di calcolo e assicurarti che il sistema non venga sovraccaricato durante i periodi di utilizzo massimo. Questo la rende un'opzione efficiente e conveniente 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 eseguire facilmente l'inferenza batch specificando l'argomento ‘batch’, che determina quante immagini o fotogrammi video vengono elaborati contemporaneamente.
Durante il processo di inferenza batch, le predizioni vengono generate simultaneamente per tutte le immagini del batch. Per impostazione predefinita, la dimensione del batch è impostata su 1, ma puoi modificarla scegliendo qualsiasi valore.
Ad esempio, se la dimensione del batch è impostata su 5, Ultralytics YOLO11 elaborerà cinque immagini o fotogrammi video alla volta e genererà contemporaneamente le predizioni per tutti e cinque. Dimensioni del batch maggiori portano in genere a tempi di inferenza più rapidi, poiché elaborare più immagini in un batch è più efficiente che gestirle singolarmente.
Applicazioni di computer vision abilitate dall'inferenza batch#
Ora esploriamo alcuni casi d'uso reali dell'inferenza batch nella computer vision.
Migliorare la diagnostica e la ricerca nel settore sanitario#
Nella ricerca medica, lavorare con grandi quantità di dati visivi è molto comune. In questo contesto, l'inferenza batch può aiutare gli scienziati ad analizzare più facilmente i dati in ambiti come chimica, biologia e genetica. Anziché analizzarli uno alla volta, i dati vengono elaborati in batch, risparmiando tempo e fatica.
Ad esempio, nelle strutture sanitarie, l'inferenza batch può essere particolarmente utile per analizzare grandi insiemi di immagini mediche, come scansioni MRI o CT. Gli ospedali possono raccogliere queste scansioni durante il giorno ed elaborarle in batch durante la notte.
Questo approccio consente agli ospedali di sfruttare meglio hardware e personale, ridurre i costi operativi e garantire che tutte le scansioni vengano esaminate in modo coerente e uniforme. È utile anche per grandi progetti di ricerca e studi a lungo termine, nei quali è necessario gestire enormi quantità di dati.

Fig. 2. Rilevamento di un reperto in una scansione medica con Ultralytics YOLO11.
Migliorare i veicoli autonomi mediante 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 Ultralytics YOLO11, i sistemi di bordo dell'auto possono riconoscere altri veicoli, linee di demarcazione della corsia, segnali stradali e persone sul marciapiede. Sebbene l'inferenza in tempo reale sia fondamentale su strada, la tecnologia di guida autonoma fa ampio affidamento sull'inferenza batch anche dietro le quinte.

Fig. 3. YOLO11 rileva facilmente i pedoni sulla strada.
Dopo che un'auto ha completato un viaggio, i dati raccolti, come ore di filmati delle telecamere, letture dei sensori e scansioni LIDAR, possono essere elaborati successivamente in grandi batch. Questo consente agli ingegneri di aggiornare i modelli AI dell'auto, migliorare la sicurezza del sistema e aumentarne la capacità di gestire diverse condizioni di guida.
L'inferenza batch viene utilizzata anche nelle simulazioni di guida autonoma per testare come reagirebbero le auto a guida autonoma in situazioni diverse, come l'attraversamento di incroci trafficati o la risposta a movimenti imprevedibili dei pedoni. Questo approccio fa risparmiare tempo, riduce i costi ed evita i rischi associati al test di ogni scenario nella vita reale.
Analisi dei dati retail basata sull'inferenza batch#
Analogamente, per i negozi al dettaglio, l'inferenza batch con modelli di computer vision come Ultralytics 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.
Questo consente ai negozi di analizzare ciò che accade al loro interno, come il comportamento dei clienti, i flussi di traffico e le interazioni con i prodotti, senza bisogno dell'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 con maggiore o minore attività dei clienti all'interno del negozio. Analizzando queste mappe di calore, i rivenditori possono identificare le aree che attirano più passanti e le parti del negozio che potrebbero richiedere maggiore attenzione o 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, migliorando l'esperienza dei clienti e le vendite.

Fig. 4. Le mappe di calore possono aiutare i rivenditori a identificare le aree più frequentate nei negozi.
Vantaggi e svantaggi dell'inferenza batch#
Ecco alcuni dei principali vantaggi che l'inferenza batch può offrire a diversi settori:
- Facilità di integrazione: l'inferenza batch può essere facilmente integrata nei workflow esistenti, in particolare in settori come il retail, la sicurezza o il settore sanitario, dove è necessario elaborare grandi volumi di dati in blocco.
- Gestione semplificata dei dati: quando si lavora con grandi quantità di dati, l'inferenza batch può semplificare la gestione dei dati, poiché questi vengono raggruppati in blocchi gestibili. Ciò facilita il monitoraggio, la revisione e l'organizzazione dei dati nel tempo.
- Riduzione del carico di rete: quando i dati vengono elaborati in batch, è possibile ridurre al minimo la quantità di dati trasferiti in un determinato momento, diminuendo il carico sulle risorse di rete nei sistemi basati sul cloud o negli ambienti di calcolo distribuito.
Sebbene l'utilizzo dell'inferenza batch offra molti vantaggi, presenta anche alcune limitazioni da considerare. Ecco alcuni fattori da tenere presenti:
- Requisiti di archiviazione: archiviare grandi dataset per l'elaborazione batch può aumentare significativamente i costi di archiviazione, soprattutto nel caso di immagini ad alta risoluzione, video o grandi volumi di dati.
- Possibile accumulo di arretrati: se i dati si accumulano rapidamente o i batch di grandi dimensioni non vengono elaborati in tempo, può crearsi un arretrato. Questo può causare ritardi nella fornitura di informazioni e nell'elaborazione tempestiva dei nuovi dati.
- Picchi di utilizzo delle risorse: batch di grandi dimensioni, soprattutto quelli che includono immagini ad alta risoluzione, possono causare picchi nell'utilizzo della memoria o delle risorse di calcolo. Se non vengono 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. Anziché analizzare ogni immagine in tempo reale, le elabora in batch a orari programmati, ad esempio durante la notte.
Questo metodo è conveniente, riduce il carico computazionale e fornisce comunque risultati accurati. Dalla gestione dell'inventario nei negozi all'assistenza ai medici nell'analisi delle scansioni e al miglioramento delle tecnologie delle auto a guida autonoma, l'inferenza batch rende la computer vision più accessibile, conveniente e pratica per le applicazioni del mondo reale.
Pronto ad approfondire l'AI? Esplora il nostro repository GitHub, entra in contatto con la nostra community e consulta le nostre opzioni di licenza per iniziare il tuo percorso nella computer vision. Scopri di più su innovazioni come l'AI nella produzione e la computer vision nel settore della logistica nelle nostre pagine dedicate alle soluzioni.









