Scopri YOLO26: vision AI di prossima generazione.
Ultralytics
Integrazioni

Ottimizzazione dei modelli Ultralytics YOLO con l'integrazione TensorRT

Scopri come esportare i modelli Ultralytics YOLO utilizzando l'integrazione TensorRT per prestazioni IA più veloci ed efficienti su GPU NVIDIA per applicazioni in tempo reale.

ABAbirami Vina
5 min read
Ottimizzazione dei modelli Ultralytics YOLO con l'integrazione TensorRT

Immagina un'auto a guida autonoma che si muove in una strada trafficata e ha solo pochi millisecondi per rilevare un pedone che scende dal marciapiede. Allo stesso tempo, potrebbe dover riconoscere un segnale di stop parzialmente nascosto da un albero o reagire rapidamente a un veicolo vicino che invade la sua corsia. In situazioni del genere, la velocità e le risposte in tempo reale sono fondamentali.

È qui che l'intelligenza artificiale (IA), nello specifico la computer vision, una branca dell'IA che aiuta le macchine a interpretare i dati visivi, gioca un ruolo chiave. Affinché le soluzioni di computer vision funzionino in modo affidabile in ambienti reali, spesso devono elaborare le informazioni rapidamente, gestire più attività contemporaneamente e utilizzare la memoria in modo efficiente.

Un modo per ottenerlo è attraverso l'accelerazione hardware, utilizzando dispositivi specializzati come le graphics processing units (GPUs) per eseguire i modelli più velocemente. Le GPU NVIDIA sono particolarmente note per tali attività, grazie alla loro capacità di offrire bassa latenza e throughput elevato.

Tuttavia, eseguire un modello su una GPU così com'è non garantisce sempre prestazioni ottimali. I modelli di Vision AI richiedono solitamente un'ottimizzazione per sfruttare appieno le capacità dei dispositivi hardware. Per ottenere le massime prestazioni con un hardware specifico, dobbiamo compilare il modello per utilizzare il set di istruzioni specifico per quell'hardware.

Ad esempio, TensorRT è un formato di esportazione e una libreria di ottimizzazione sviluppata da NVIDIA per migliorare le prestazioni su macchine di fascia alta. Utilizza tecniche avanzate per ridurre significativamente il tempo di inferenza mantenendo l'accuratezza.

NVIDIA TensorRT consente ai modelli di essere eseguiti in modo ottimale sui dispositivi NVIDIA

Fig 1. NVIDIA TensorRT permette ai modelli di funzionare in modo ottimale su vari dispositivi NVIDIA.

In questo articolo, esploreremo l'integrazione TensorRT supportata da Ultralytics e vedremo come puoi esportare il tuo modello YOLO11 per un'implementazione più rapida ed efficiente sull'hardware NVIDIA. Iniziamo!

Link to this sectionUna panoramica di TensorRT#

TensorRT è un toolkit sviluppato da NVIDIA per aiutare i modelli di IA a funzionare più velocemente e in modo più efficiente sulle GPU NVIDIA. È progettato per applicazioni del mondo reale in cui la velocità e le prestazioni contano davvero, come le auto a guida autonoma e il controllo qualità nella produzione e nel settore farmaceutico.

TensorRT include strumenti come compilatori e ottimizzatori di modelli che lavorano in background per assicurarsi che i tuoi modelli funzionino con bassa latenza e possano gestire un throughput più elevato.

L'integrazione TensorRT supportata da Ultralytics funziona ottimizzando il tuo modello YOLO per un'esecuzione più efficiente sulle GPU, utilizzando metodi come la riduzione della precision. Questo si riferisce all'utilizzo di formati a bit ridotti, come il floating-point a 16 bit (FP16) o l'intero a 8 bit (INT8), per rappresentare i dati del modello, riducendo l'utilizzo della memoria e velocizzando il calcolo con un impatto minimo sull'accuratezza.

Inoltre, i layer delle reti neurali compatibili vengono fusi nei modelli TensorRT ottimizzati per ridurre l'utilizzo della memoria, ottenendo un'inferenza più rapida ed efficiente.

Uno sguardo alla tecnica di layer fusion di TensorRT

Fig 2. Uno sguardo alla tecnica di fusione dei layer di TensorRT.

Link to this sectionCaratteristiche principali del formato di esportazione TensorRT#

Prima di discutere su come puoi esportare YOLO11 utilizzando l'integrazione TensorRT, diamo un'occhiata ad alcune caratteristiche chiave del formato modello TensorRT:

  • Facile integrazione dei framework: TensorRT supporta l'integrazione diretta con framework IA popolari come PyTorch, Hugging Face e ONNX, offrendo prestazioni fino a 6 volte più veloci. Supporta anche MATLAB, consentendo lo sviluppo di motori IA ad alta velocità su piattaforme come Jetson, NVIDIA DRIVE e data center.

  • Implementazione scalabile con Triton: I modelli ottimizzati nel formato TensorRT possono essere implementati su larga scala utilizzando NVIDIA Triton Inference Server, che migliora l'efficienza attraverso funzionalità come l'input batching, l'esecuzione simultanea dei modelli, il supporto per ensemble di modelli e lo streaming audio/video in tempo reale.

  • Flessibile tra i dispositivi: Dai piccoli dispositivi edge ai potenti server, TensorRT funziona in tutto l'ecosistema NVIDIA, supportando strumenti come DeepStream per i video, Riva per l'IA vocale e altri per la sicurezza informatica, i consigli e altro ancora.

Link to this sectionCome funziona l'integrazione TensorRT?#

Esportare modelli Ultralytics YOLO come Ultralytics YOLO11 nel formato modello TensorRT è semplice. Vediamo i passaggi coinvolti.

Per iniziare, puoi installare il pacchetto Python di Ultralytics utilizzando un gestore di pacchetti come 'pip'. Puoi farlo eseguendo il comando “pip install ultralytics” nel tuo prompt dei comandi o terminale.

Dopo aver installato con successo il pacchetto Python di Ultralytics, puoi addestrare, testare, perfezionare, esportare e implementare modelli per varie attività di computer vision, come il rilevamento di oggetti, la classificazione e la segmentazione delle istanze. Durante l'installazione del pacchetto, se riscontri difficoltà, puoi consultare la guida ai problemi comuni per soluzioni e suggerimenti.

Per il passaggio successivo, avrai bisogno di un dispositivo NVIDIA. Usa il frammento di codice qui sotto per caricare ed esportare YOLO11 nel formato modello TensorRT. Carica una variante nano pre-addestrata del modello YOLO11 (yolo11n.pt) ed esportala come file motore TensorRT (yolo11n.engine), rendendolo pronto per l'implementazione sui dispositivi NVIDIA.

from ultralytics import YOLO

model = YOLO("yolo11n.pt")
model.export(format="engine")

Dopo aver convertito il tuo modello nel formato TensorRT, puoi implementarlo per varie applicazioni.

L'esempio qui sotto mostra come caricare il modello YOLO11 esportato (yolo11n.engine) ed eseguire un'inferenza utilizzandolo. L'inferenza consiste nell'usare il modello addestrato per effettuare previsioni su nuovi dati. In questo caso, useremo un'immagine di input di un cane per testare il modello.

tensorrt_model = YOLO("yolo11n.engine")
results = tensorrt_model("https://images.pexels.com/photos/1254140/pexels-photo-1254140.jpeg?auto=compress&cs=tinysrgb&w=1260&h=750&dpr=2.jpg", save=True)

Quando esegui questo codice, l'immagine di output risultante verrà salvata nella cartella runs/detect/predict.

Esecuzione di un'inferenza utilizzando il modello YOLO11 esportato in formato TensorRT

Fig 3. Il risultato dell'esecuzione di un'inferenza utilizzando il modello YOLO11 esportato in formato TensorRT.

Link to this sectionQuando sfruttare l'integrazione TensorRT#

Il pacchetto Python di Ultralytics supporta varie integrazioni che consentono l'esportazione dei modelli YOLO in diversi formati come TorchScript, CoreML, ONNX e TensorRT. Quindi, quando dovresti scegliere di utilizzare l'integrazione TensorRT?

Ecco alcuni fattori che distinguono il formato modello TensorRT dalle altre opzioni di integrazione di esportazione:

  • Dimensioni del modello più piccole: Esportare un modello YOLO nel formato TensorRT con precisione INT8 può ridurre significativamente le dimensioni del modello. La quantizzazione da FP32 a INT8 può portare a una riduzione di 4 volte delle dimensioni del modello, il che consente tempi di download più rapidi, requisiti di archiviazione inferiori e un ingombro di memoria ridotto durante l'implementazione.

  • Minore consumo energetico: La quantizzazione INT8 non solo riduce le dimensioni del modello, ma diminuisce anche il consumo energetico. Le operazioni a precisione ridotta per i modelli YOLO esportati in INT8 possono consumare meno energia rispetto ai modelli FP32, il che è particolarmente vantaggioso per i dispositivi a batteria come droni, smartphone o dispositivi edge.

  • Prestazioni più veloci: Combinare l'architettura efficiente di YOLO con l'ottimizzazione INT8 di TensorRT può migliorare la velocità di inferenza.

Link to this sectionApplicazioni di YOLO11 e del formato modello TensorRT#

I modelli Ultralytics YOLO esportati nel formato TensorRT possono essere implementati in un'ampia gamma di scenari del mondo reale. Questi modelli ottimizzati sono particolarmente utili laddove prestazioni IA rapide ed efficienti sono fondamentali. Esploriamo alcuni esempi interessanti di come possono essere utilizzati.

Link to this sectionCasse intelligenti nei negozi al dettaglio#

Un'ampia gamma di attività nei negozi al dettaglio, come la scansione di codici a barre, la pesatura dei prodotti o l'imballaggio degli articoli, vengono ancora gestite manualmente dal personale. Tuttavia, affidarsi esclusivamente ai dipendenti può rallentare le operazioni e causare frustrazione nei clienti, specialmente alla cassa. Le lunghe code sono un inconveniente sia per gli acquirenti che per i proprietari dei negozi. Le casse self-checkout intelligenti sono un'ottima soluzione a questo problema.

Queste casse utilizzano computer vision e GPU per velocizzare il processo, contribuendo a ridurre i tempi di attesa. La computer vision consente a questi sistemi di vedere e comprendere il loro ambiente attraverso attività come il rilevamento di oggetti. Modelli avanzati come YOLO11, quando ottimizzati con strumenti come TensorRT, possono funzionare molto più velocemente sui dispositivi GPU.

Questi modelli esportati sono ben adattati per configurazioni di vendita al dettaglio intelligenti che utilizzano dispositivi hardware compatti ma potenti come NVIDIA Jetson Nano, progettati specificamente per applicazioni di IA edge.

Un esempio di cassa intelligente

Fig 4. Un esempio di cassa intelligente.

Link to this sectionRilevamento automatico dei difetti nella produzione#

Un modello di computer vision come YOLO11 può essere addestrato su misura per rilevare prodotti difettosi nell'industria manifatturiera. Una volta addestrato, il modello può essere esportato nel formato TensorRT per l'implementazione in strutture dotate di sistemi IA ad alte prestazioni.

Mentre i prodotti si muovono lungo i nastri trasportatori, le telecamere catturano immagini e il modello YOLO11, in esecuzione in formato TensorRT, le analizza in tempo reale per individuare i difetti. Questa configurazione consente alle aziende di rilevare i problemi in modo rapido e accurato, riducendo gli errori e migliorando l'efficienza.

Allo stesso modo, settori come quello farmaceutico stanno utilizzando questi tipi di sistemi per identificare difetti negli imballaggi medici. Infatti, il mercato globale dei sistemi di rilevamento dei difetti intelligenti è destinato a crescere fino a 5 miliardi di dollari entro il 2026.

Uso di YOLO per rilevare difetti nell'industria farmaceutica

Fig 5. Utilizzo di YOLO per rilevare difetti nell'industria farmaceutica.

Link to this sectionConsiderazioni da tenere a mente durante l'utilizzo di TensorRT#

Sebbene l'integrazione TensorRT offra molti vantaggi, come velocità di inferenza più elevate e latenza ridotta, ecco alcune limitazioni da tenere a mente:

  • Leggero calo dell'accuratezza: Quando esporti il tuo modello in formato TensorRT, il modello esportato potrebbe non essere preciso quanto l'originale. Metriche di prestazione come precisione, recall e quanto bene il modello rileva gli oggetti (punteggi mAP) potrebbero diminuire leggermente. Questo può essere mitigato utilizzando un set di dati rappresentativo durante la quantizzazione.

  • Maggiore complessità di debug: Le ottimizzazioni apportate da TensorRT possono rendere più difficile tracciare gli errori o comprendere comportamenti imprevisti, specialmente quando si confrontano i risultati con il modello originale.

  • Sensibilità alla dimensione del batch: I guadagni di prestazioni di TensorRT sono più pronunciati con dimensioni di batch maggiori. Per le applicazioni che elaborano singole immagini o piccoli batch, i miglioramenti delle prestazioni potrebbero essere meno significativi.

Link to this sectionPunti chiave#

Esportare i modelli Ultralytics YOLO nel formato TensorRT li rende notevolmente più veloci ed efficienti, rendendoli ideali per attività in tempo reale come il rilevamento di difetti nelle fabbriche, l'alimentazione di sistemi di cassa intelligenti o il monitoraggio di aree urbane trafficate.

Questa ottimizzazione aiuta i modelli a funzionare meglio sulle GPU NVIDIA accelerando le previsioni e riducendo l'utilizzo di memoria ed energia. Sebbene ci siano alcune limitazioni, l'aumento delle prestazioni rende l'integrazione TensorRT un'ottima scelta per chiunque costruisca sistemi di computer vision ad alta velocità sull'hardware NVIDIA.

Vuoi saperne di più sull'IA? Esplora il nostro repository GitHub, connettiti con la nostra community e dai un'occhiata alle nostre opzioni di licenza per avviare il tuo progetto di computer vision. Scopri di più su innovazioni come l'IA nella produzione e la computer vision nell'industria logistica sulle nostre pagine delle soluzioni.

Explore solutions

Real-time AI that works with your team

AI nella Robotica

Potenzia macchine più intelligenti con i modelli Ultralytics YOLO. La Vision AI nella robotica guida la navigazione autonoma, la percezione, il tracciamento degli oggetti e il controllo in tempo reale.
Scopri di più
Real-time AI that works with your team

IA nella logistica

Semplifica la logistica con i modelli Ultralytics YOLO. La Vision AI abilita l'ispezione dei pacchi, lo smistamento, il tracciamento dei veicoli e il monitoraggio della sicurezza in magazzino in tempo reale.
Scopri di più
Real-time AI that works with your team

AI nel settore Retail

Reimmagina il retail con i modelli Ultralytics YOLO. La Vision AI alimenta il tracciamento dell'inventario, il monitoraggio degli scaffali, la gestione delle code e insight più intelligenti sui clienti.
Scopri di più
Real-time AI that works with your team

IA nel settore sanitario

Crea soluzioni sanitarie con i modelli Ultralytics YOLO. La vision AI nella sanità potenzia l'imaging medico più rapido, diagnosi più intelligenti e il monitoraggio dei pazienti.
Scopri di più
Real-time AI that works with your team

IA nella produzione

Ottimizza la produzione con i modelli Ultralytics YOLO. La Vision AI guida il controllo qualità, il rilevamento dei difetti, la conformità ai DPI e l'automazione della linea di assemblaggio.
Scopri di più
Real-time AI that works with your operation

AI nel settore automobilistico

Applica la computer vision al settore automobilistico con i modelli Ultralytics YOLO. La vision AI migliora la sicurezza stradale, l'assistenza alla guida e l'automazione dei veicoli per strade più intelligenti.
Scopri di più
Real-time AI tailored to your operation

AI in Agricoltura

Porta la vision AI nell'agricoltura intelligente con i modelli Ultralytics YOLO. Potenzia il monitoraggio delle colture, il tracciamento del bestiame e l'agricoltura di precisione per rese più elevate e intelligenti.
Scopri di più
Real-time AI that works with your team

AI nella Robotica

Potenzia macchine più intelligenti con i modelli Ultralytics YOLO. La Vision AI nella robotica guida la navigazione autonoma, la percezione, il tracciamento degli oggetti e il controllo in tempo reale.
Scopri di più
Real-time AI that works with your team

IA nella logistica

Semplifica la logistica con i modelli Ultralytics YOLO. La Vision AI abilita l'ispezione dei pacchi, lo smistamento, il tracciamento dei veicoli e il monitoraggio della sicurezza in magazzino in tempo reale.
Scopri di più
Real-time AI that works with your team

AI nel settore Retail

Reimmagina il retail con i modelli Ultralytics YOLO. La Vision AI alimenta il tracciamento dell'inventario, il monitoraggio degli scaffali, la gestione delle code e insight più intelligenti sui clienti.
Scopri di più
Real-time AI that works with your team

IA nel settore sanitario

Crea soluzioni sanitarie con i modelli Ultralytics YOLO. La vision AI nella sanità potenzia l'imaging medico più rapido, diagnosi più intelligenti e il monitoraggio dei pazienti.
Scopri di più
Real-time AI that works with your team

IA nella produzione

Ottimizza la produzione con i modelli Ultralytics YOLO. La Vision AI guida il controllo qualità, il rilevamento dei difetti, la conformità ai DPI e l'automazione della linea di assemblaggio.
Scopri di più
Real-time AI that works with your operation

AI nel settore automobilistico

Applica la computer vision al settore automobilistico con i modelli Ultralytics YOLO. La vision AI migliora la sicurezza stradale, l'assistenza alla guida e l'automazione dei veicoli per strade più intelligenti.
Scopri di più
Real-time AI tailored to your operation

AI in Agricoltura

Porta la vision AI nell'agricoltura intelligente con i modelli Ultralytics YOLO. Potenzia il monitoraggio delle colture, il tracciamento del bestiame e l'agricoltura di precisione per rese più elevate e intelligenti.
Scopri di più
Real-time AI that works with your team

AI nella Robotica

Potenzia macchine più intelligenti con i modelli Ultralytics YOLO. La Vision AI nella robotica guida la navigazione autonoma, la percezione, il tracciamento degli oggetti e il controllo in tempo reale.
Scopri di più
Real-time AI that works with your team

IA nella logistica

Semplifica la logistica con i modelli Ultralytics YOLO. La Vision AI abilita l'ispezione dei pacchi, lo smistamento, il tracciamento dei veicoli e il monitoraggio della sicurezza in magazzino in tempo reale.
Scopri di più
Real-time AI that works with your team

AI nel settore Retail

Reimmagina il retail con i modelli Ultralytics YOLO. La Vision AI alimenta il tracciamento dell'inventario, il monitoraggio degli scaffali, la gestione delle code e insight più intelligenti sui clienti.
Scopri di più
Real-time AI that works with your team

IA nel settore sanitario

Crea soluzioni sanitarie con i modelli Ultralytics YOLO. La vision AI nella sanità potenzia l'imaging medico più rapido, diagnosi più intelligenti e il monitoraggio dei pazienti.
Scopri di più
Real-time AI that works with your team

IA nella produzione

Ottimizza la produzione con i modelli Ultralytics YOLO. La Vision AI guida il controllo qualità, il rilevamento dei difetti, la conformità ai DPI e l'automazione della linea di assemblaggio.
Scopri di più
Real-time AI that works with your operation

AI nel settore automobilistico

Applica la computer vision al settore automobilistico con i modelli Ultralytics YOLO. La vision AI migliora la sicurezza stradale, l'assistenza alla guida e l'automazione dei veicoli per strade più intelligenti.
Scopri di più
Real-time AI tailored to your operation

AI in Agricoltura

Porta la vision AI nell'agricoltura intelligente con i modelli Ultralytics YOLO. Potenzia il monitoraggio delle colture, il tracciamento del bestiame e l'agricoltura di precisione per rese più elevate e intelligenti.
Scopri di più

Costruiamo insieme il futuro dell'AI!

Inizia il tuo viaggio con il futuro del machine learning