Utilizzo di Ultralytics YOLO11 per eseguire inferenze batch
Esplora la differenza tra inferenza in tempo reale e inferenza batch quando utilizzi Ultralytics YOLO11 per varie applicazioni di computer vision.

Se hai visto un'auto a guida autonoma in azione, hai assistito all'inferenza IA in tempo reale. Un'auto a guida autonoma utilizza tipicamente 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 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 energetico e tagliare i costi dell'infrastruttura.
Ad esempio, nelle applicazioni di visione artificiale, modelli come Ultralytics YOLO11 possono essere utilizzati per attività in tempo reale come il rilevamento di oggetti e la segmentazione delle istanze. Tuttavia, l'elaborazione di grandi volumi di dati visivi in tempo reale può essere impegnativa.

Fig 1. Un esempio di segmentazione di oggetti in un'immagine utilizzando Ultralytics YOLO11.
Con l'inferenza in 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 rende più semplice distribuire soluzioni di Vision AI su larga scala senza sovraccaricare l'hardware o aumentare i costi.
In questo articolo esploreremo l'inferenza in batch, i suoi vantaggi e come l'inferenza in batch con Ultralytics YOLO11 può essere applicata nelle applicazioni di computer vision. Cominciamo!
Uno sguardo all'inferenza batch nella visione artificiale#
Puoi pensare all'inferenza batch come al risolvere un grande compito 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, aiutando a risparmiare sulle risorse di calcolo, ridurre l'uso di energia e tagliare i costi.
Quando si parla di visione artificiale, 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 di sicurezza in tempo reale, anche piccoli ritardi possono causare rischi per la sicurezza.
Tuttavia, in molti altri scenari di visione artificiale, la bassa latenza non è così critica. È qui che l'inferenza in batch dà il meglio di sé, ovvero quando il sistema non ha bisogno di reagire all'istante. L'inferenza in batch funziona inviando dati visivi a un modello di visione artificiale in gruppi o batch, consentendo al sistema di elaborare grandi dataset in una sola volta anziché continuamente in tempo reale.
Capire come funziona l'inferenza batch#
Ecco un'analisi più dettagliata dei passaggi coinvolti nell'inferenza batch:
-
Raccolta dati: I dati visivi vengono raccolti in un periodo di tempo. Questo 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.
-
Prediction: Una volta preparati i dati, l'intero batch viene inserito nel modello (come Ultralytics YOLO11), che elabora l'intero batch in una sola volta. Ciò consente al modello di effettuare previsioni per tutti i dati nel batch simultaneamente, rendendo il processo più efficiente rispetto alla gestione di ogni singolo punto dati individualmente.
Quando utilizzare l'inferenza batch?#
Ora che abbiamo coperto cosa sia l'inferenza batch e come differisca dall'inferenza in tempo reale, diamo un'occhiata più da vicino a quando utilizzarla.
L'inferenza in batch è ideale per analizzare dati storici. Immagina di avere filmati di sorveglianza da una stazione della metropolitana dell'ultimo mese e di voler identificare pattern specifici, come il numero di persone che entrano ed escono in momenti diversi della giornata.
Invece di elaborare ogni fotogramma in tempo reale, l'inferenza batch ti consente di elaborare l'intero filmato di un mese in lotti, identificando eventi chiave o tendenze senza la necessità di risultati immediati. In questo modo, puoi analizzare grandi volumi di dati in modo più efficiente e ottenere informazioni su schemi a lungo termine, senza sovraccaricare il sistema o richiedere un monitoraggio costante.
L'inferenza batch è anche una soluzione ottimale quando le risorse di sistema sono limitate. Eseguendo l'inferenza durante le ore non di punta (come durante la notte), puoi risparmiare sui costi di calcolo e assicurarti che il sistema non sia sovraccarico durante i momenti di utilizzo massimo. Questo lo rende un approccio efficiente ed economico per aziende o progetti che devono elaborare grandi dataset ma non richiedono un'analisi in tempo reale.
Inferenza batch utilizzando Ultralytics YOLO11#
Il pacchetto Python di Ultralytics supporta l'inferenza in batch per modelli come YOLO11. Con YOLO11, puoi eseguire facilmente l'inferenza in batch specificando l'argomento 'batch', che determina quante immagini o fotogrammi video vengono elaborati contemporaneamente.
Durante il processo di inferenza in batch, le predizioni vengono generate per tutte le immagini nel batch contemporaneamente. Per impostazione predefinita, la dimensione del batch è impostata su 1, ma puoi regolarla su qualsiasi numero preferisci.
Ad esempio, se la dimensione del batch è impostata su 5, Ultralytics YOLO11 elaborerà cinque immagini o fotogrammi video alla volta e genererà previsioni per tutti e cinque contemporaneamente. Dimensioni di batch maggiori portano tipicamente a tempi di inferenza più rapidi, poiché l'elaborazione di più immagini in un batch è più efficiente rispetto alla gestione individuale.
Applicazioni di visione artificiale abilitate dall'inferenza batch#
Successivamente, esploriamo alcuni casi d'uso reali di visione artificiale per l'inferenza batch.
Migliorare la diagnostica e la ricerca nell'assistenza sanitaria#
Nella ricerca medica, lavorare con grandi quantità di dati visivi è molto comune. In questo caso, l'inferenza in batch può aiutare gli scienziati ad analizzare i dati più facilmente in settori come chimica, biologia e genetica. Invece di analizzare un elemento alla volta, i dati vengono elaborati in batch, risparmiando tempo e fatica.
Ad esempio, presso le strutture mediche, l'inferenza batch può essere particolarmente utile per analizzare grandi set di immagini mediche come risonanze magnetiche o scansioni TC. Gli ospedali possono raccogliere queste scansioni durante il giorno ed elaborarle in batch durante la notte.
Questo approccio consente agli ospedali di sfruttare meglio l'hardware e il personale, ridurre i costi operativi e garantire che tutte le scansioni siano esaminate in modo coerente e uniforme. È anche utile per grandi progetti di ricerca e studi a lungo termine, dove è necessario gestire vaste quantità di dati.

Fig 2. Rilevamento di una scansione medica utilizzando Ultralytics YOLO11.
Migliorare i veicoli autonomi utilizzando le simulazioni#
Le auto a guida autonoma utilizzano tecnologie di intelligenza artificiale come la computer vision per elaborare il mondo che le circonda. Con l'aiuto di modelli avanzati come Ultralytics YOLO11, i sistemi di bordo dell'auto possono riconoscere altri veicoli, linee di corsia, segnali stradali e persone per strada. Sebbene l'inferenza in tempo reale sia fondamentale sulla strada, la tecnologia a guida autonoma si basa anche pesantemente sull'inferenza in batch dietro le quinte.

Fig 3. YOLO11 può rilevare facilmente i pedoni sulla strada.
Dopo che un'auto completa un viaggio, i dati che raccoglie, come ore di filmati delle telecamere, letture dei sensori e scansioni LIDAR, possono essere elaborati successivamente in grandi batch. Ciò rende possibile per gli ingegneri aggiornare i modelli AI dell'auto, migliorare la sicurezza del sistema e affinare la sua 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 fa risparmiare tempo, riduce i costi ed evita i rischi associati al testare ogni scenario nella vita reale.
Analisi dei dati di vendita al dettaglio guidata dall'inferenza batch#
Analogamente, per i negozi al dettaglio, l'inferenza in batch con modelli di computer vision come Ultralytics YOLO11 può migliorare significativamente l'efficienza operativa. Ad esempio, i sistemi di telecamere nei negozi possono catturare migliaia di immagini durante il giorno, che possono poi essere elaborate in batch durante la notte.
Ciò consente ai negozi di analizzare cosa sta succedendo nel negozio, 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'uso dell'inferenza in batch per generare mappe termiche, che visualizzano aree di elevata e bassa attività dei clienti all'interno del negozio. Analizzando queste mappe termiche, i rivenditori possono identificare quali aree attirano più traffico pedonale e quali parti del negozio potrebbero richiedere maggiore attenzione o 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.

Fig 4. Le mappe termiche possono aiutare i rivenditori a identificare le aree popolari nei negozi.
Pro e contro dell'inferenza batch#
Ecco alcuni dei vantaggi chiave che l'inferenza batch può portare a vari settori:
- Facilità di integrazione: l'inferenza in batch può essere facilmente integrata nei flussi di lavoro esistenti, in particolare per settori come vendita al dettaglio, sicurezza o sanità, in cui è 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 blocchi gestibili. Ciò rende più facile tracciare, revisionare e organizzare i dati nel tempo.
- Carico di rete ridotto: Quando i dati vengono elaborati in batch, la quantità di dati trasferiti in un dato momento può essere minimizzata, riducendo il carico sulle risorse di rete nei sistemi basati su cloud o in ambienti di elaborazione distribuiti.
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 grandi dataset 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 per arretrati: Se i dati si accumulano rapidamente o i grandi batch non vengono elaborati in tempo, può svilupparsi un arretrato. Ciò può portare a ritardi nella fornitura di informazioni e nell'elaborazione tempestiva di nuovi dati.
- Picchi di risorse: Grandi batch, specialmente quelli che coinvolgono immagini ad alta risoluzione, possono causare picchi nell'utilizzo della memoria o del calcolo. Se non gestiti correttamente, questi picchi potrebbero sovraccaricare i sistemi, portando a rallentamenti o crash.
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, li elabora in lotti in orari programmati, come 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 al miglioramento delle tecnologie per auto a guida autonoma, l'inferenza batch rende la visione artificiale più accessibile, economica e pratica per le applicazioni del mondo reale.
Pronto a immergerti nell'IA? Esplora il nostro repository GitHub, connettiti con la nostra community e scopri le nostre opzioni di licensing per iniziare il tuo viaggio nella visione artificiale. Scopri di più su innovazioni come l'IA nella produzione e la visione artificiale nella logistica sulle nostre pagine delle soluzioni.






