Sintonizzati su YOLO Vision 2025!
25 settembre 2025
10:00 — 18:00 BST
Evento ibrido
Yolo Vision 2024

Ottimizzazione dei modelli Ultralytics YOLO con l'integrazione TensorRT

Abirami Vina

5 minuti di lettura

20 maggio 2025

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

Considera un'auto a guida autonoma che si muove in una strada trafficata con solo millisecondi per rilevare un pedone che scende dal marciapiede. Allo stesso tempo, potrebbe aver bisogno di riconoscere un segnale di stop parzialmente nascosto da un albero o reagire rapidamente a un veicolo vicino che sterza nella sua corsia. In tali situazioni, la velocità e le risposte in tempo reale sono fondamentali.

È qui che l'intelligenza artificiale (AI), in particolare la computer vision, una branca dell'AI 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 hanno bisogno di elaborare le informazioni rapidamente, gestire più attività contemporaneamente e utilizzare la memoria in modo efficiente.

Un modo per raggiungere questo obiettivo è attraverso l'accelerazione hardware, utilizzando dispositivi specializzati come le unità di elaborazione grafica (GPU) per eseguire i modelli più velocemente. Le GPU NVIDIA sono particolarmente note per tali attività, grazie alla loro capacità di fornire bassa latenza ed elevata produttività.

Tuttavia, eseguire un modello su una GPU così com'è non garantisce sempre prestazioni ottimali. I modelli di Vision AI richiedono in genere un'ottimizzazione per sfruttare appieno le capacità dei dispositivi hardware. Per ottenere le massime prestazioni con hardware specifico, dobbiamo compilare il modello per utilizzare il set specifico di istruzioni per l'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 la precisione.

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

In questo articolo, esploreremo l'integrazione di TensorRT supportata da Ultralytics e illustreremo come esportare il tuo modello YOLO11 per un deployment più rapido ed efficiente su hardware NVIDIA. Iniziamo!

Una 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 reali 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 possono operare dietro le quinte per garantire che i tuoi modelli vengano eseguiti con bassa latenza e possano gestire una maggiore velocità di elaborazione.

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

Inoltre, i livelli di rete neurale compatibili vengono fusi nei modelli TensorRT ottimizzati per ridurre l'utilizzo della memoria, con conseguente inferenza più rapida ed efficiente.

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

Caratteristiche principali del formato di esportazione TensorRT

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

  • Facile integrazione del framework: TensorRT supporta l'integrazione diretta con framework AI popolari come PyTorch, Hugging Face e ONNX, offrendo prestazioni fino a 6 volte più veloci. Supporta anche MATLAB, consentendo lo sviluppo di motori AI 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 concorrente del modello, il supporto dell'ensemble di modelli e lo streaming audio/video in tempo reale.
  • Flessibile su tutti i dispositivi: Dai piccoli dispositivi edge ai potenti server, TensorRT funziona su tutto l'ecosistema NVIDIA, supportando strumenti come DeepStream per video, Riva per l'IA vocale e altri per la sicurezza informatica, i suggerimenti e altro ancora.

Come funziona l'integrazione di TensorRT?

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

Per iniziare, puoi installare il pacchetto Python Ultralytics utilizzando un gestore di pacchetti come 'pip'. Questo può essere fatto eseguendo il comando "pip install ultralytics" nel prompt dei comandi o nel terminale.

Dopo aver installato correttamente il pacchetto Python Ultralytics, è possibile addestrare, testare, ottimizzare, esportare e distribuire modelli per varie attività di computer vision, come il rilevamento di oggetti, la classificazione e la segmentazione di istanze. Durante l'installazione del pacchetto, in caso di difficoltà, è possibile consultare la guida ai problemi comuni per soluzioni e suggerimenti.

Per il passaggio successivo, avrai bisogno di un dispositivo NVIDIA. Utilizza il seguente frammento di codice per caricare ed esportare YOLOv11 nel formato del modello TensorRT. Carica una variante nano pre-addestrata del modello YOLO11 (yolo11n.pt) e la esporta come file engine TensorRT (yolo11n.engine), rendendola pronta per la distribuzione su dispositivi NVIDIA.

from ultralytics import YOLO

model = YOLO("yolo11n.pt")

model.export(format="engine") 

Dopo aver convertito il modello in formato TensorRT, è possibile distribuirlo per diverse applicazioni. 

L'esempio seguente mostra come caricare il modello YOLO11 esportato (yolo11n.engine) ed eseguire un'inferenza. L'inferenza implica l'utilizzo del modello addestrato per fare previsioni su nuovi dati. In questo caso, utilizzeremo 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 si esegue questo codice, l'immagine di output seguente verrà salvata nella cartella runs/detect/predict.

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

Quando sfruttare l'integrazione di TensorRT

Il pacchetto Python di Ultralytics supporta varie integrazioni che consentono di esportare i 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 del modello TensorRT dalle altre opzioni di integrazione per l'export:

  • Dimensioni del modello più piccole: L'esportazione di 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 footprint 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 alimentati a batteria come droni, smartphone o dispositivi edge.
  • Prestazioni più veloci: La combinazione dell'architettura efficiente di YOLO con l'ottimizzazione INT8 di TensorRT può migliorare la velocità di inferenza.

Applicazioni di YOLO11 e del formato modello TensorRT

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

Casse automatiche intelligenti nei negozi al dettaglio

Una vasta gamma di attività nei negozi al dettaglio, come la scansione di codici a barre, la pesatura dei prodotti o l'imballaggio degli articoli, sono ancora gestite manualmente dal personale. Tuttavia, fare affidamento esclusivamente sui dipendenti può rallentare le operazioni e portare alla frustrazione dei clienti, soprattutto alla cassa. Le lunghe code sono scomode sia per gli acquirenti che per i proprietari dei negozi. I banchi di self-checkout intelligenti sono un'ottima soluzione a questo problema.

Questi contatori utilizzano la visione artificiale e le GPU per accelerare il processo, contribuendo a ridurre i tempi di attesa. La visione artificiale consente a questi sistemi di vedere e comprendere il loro ambiente attraverso attività come il rilevamento di oggetti. Modelli avanzati come YOLO11, se ottimizzati con strumenti come TensorRT, possono funzionare molto più velocemente sui dispositivi GPU.

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

Fig. 4. Un esempio di cassa automatica intelligente.

Rilevamento 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 AI 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 individuare rapidamente e con precisione i problemi, riducendo gli errori e migliorando l'efficienza.

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

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

Considerazioni da tenere a mente durante l'utilizzo di TensorRT

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

  • Leggero calo di accuratezza: Quando si esporta il modello in formato TensorRT, il modello esportato potrebbe non essere preciso come l'originale. Le metriche di performance come precisione, richiamo e la capacità del modello di rilevare 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 eseguite da TensorRT possono rendere più difficile la traccia degli errori o la comprensione di comportamenti imprevisti, soprattutto 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.

Punti chiave

L'esportazione di modelli Ultralytics YOLO nel formato TensorRT li rende significativamente più veloci ed efficienti, rendendoli ideali per attività in tempo reale come il rilevamento di difetti nelle fabbriche, l'alimentazione di sistemi di checkout 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 e potenza. Nonostante alcune limitazioni, l'aumento delle prestazioni rende l'integrazione di TensorRT un'ottima scelta per chiunque stia costruendo sistemi di computer vision ad alta velocità su hardware NVIDIA.

Vuoi saperne di più sull'IA? Esplora il nostro repository GitHub, entra in contatto con la nostra community e dai un'occhiata alle nostre opzioni di licenza per dare il via al tuo progetto di 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