Ultralytics YOLO27: Iscriviti alla lista d'attesa.
Licenza YOLO
Integrazioni

Ottimizzare i modelli Ultralytics YOLO con l’integrazione TensorRT

Scopri come esportare i modelli Ultralytics YOLO usando l’integrazione TensorRT, per prestazioni AI più rapide ed efficienti sulle GPU NVIDIA nelle applicazioni in tempo reale.

Abirami VinaAbirami Vina9 min di lettura
Scopri come esportare i modelli Ultralytics YOLO usando l’integrazione TensorRT, per prestazioni AI più rapide ed efficienti sulle GPU NVIDIA nelle applicazioni in tempo reale.

Immagina un'auto a guida autonoma che attraversa 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 simili, la velocità e le risposte in tempo reale sono fondamentali.

È qui che entra in gioco l'intelligenza artificiale (AI), in particolare la visione artificiale, un ramo dell'AI che aiuta le macchine a interpretare i dati visivi. Per funzionare in modo affidabile negli ambienti reali, le soluzioni di visione artificiale devono spesso elaborare rapidamente le informazioni, gestire più attività contemporaneamente e usare la memoria in modo efficiente.

Un modo per raggiungere questo obiettivo è l'accelerazione hardware, che sfrutta dispositivi specializzati come le unità di elaborazione grafica (GPU) per eseguire i modelli più rapidamente. Le GPU NVIDIA sono particolarmente note per queste attività, grazie alla capacità di offrire latenza ridotta e throughput elevato.

Tuttavia, eseguire un modello su una GPU così com'è non garantisce sempre prestazioni ottimali. In genere, i modelli di AI per la visione devono essere ottimizzati per sfruttare appieno le capacità dei dispositivi hardware. Per ottenere prestazioni massime con hardware specifico, dobbiamo compilare il modello in modo che usi l'insieme di istruzioni specifico per quell'hardware.

Ad esempio, TensorRT è un formato di esportazione e una libreria di ottimizzazione sviluppati da NVIDIA per migliorare le prestazioni sulle GPU NVIDIA. Usa tecniche avanzate per ridurre significativamente i tempi di inferenza mantenendo la precisione.

NVIDIA TensorRT consente ai modelli di funzionare in modo ottimale sui dispositivi NVIDIA

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

In questo articolo esploreremo l'integrazione di TensorRT supportata da Ultralytics e vedremo come esportare il modello YOLO11 per distribuirlo su hardware NVIDIA in modo più rapido ed efficiente. Iniziamo!

Panoramica di TensorRT#

TensorRT è un toolkit sviluppato da NVIDIA per aiutare i modelli di AI a funzionare più rapidamente e in modo più efficiente sulle GPU NVIDIA. È progettato per applicazioni reali in cui velocità e prestazioni sono davvero importanti, come le auto a guida autonoma e il controllo qualità nel settore manifatturiero e farmaceutico.

TensorRT include strumenti come compilatori e ottimizzatori di modelli che lavorano dietro le quinte per garantire che i modelli funzionino con una latenza ridotta e gestiscano un throughput più elevato.

L'integrazione TensorRT supportata da Ultralytics ottimizza il tuo modello YOLO per eseguirlo in modo più efficiente sulle GPU, usando metodi come la riduzione della precisione. Ciò significa usare formati con un numero inferiore di bit, come il formato in virgola mobile a 16 bit (FP16) o l'intero a 8 bit (INT8), per rappresentare i dati del modello, riducendo l'uso della memoria e accelerando i calcoli con un impatto minimo sulla precisione.

Inoltre, nei modelli TensorRT ottimizzati i layer compatibili della rete neurale vengono fusi per ridurre l'uso della memoria e ottenere inferenze più rapide ed efficienti.

Uno sguardo alla tecnica di fusione dei layer di TensorRT

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

Caratteristiche principali del formato di esportazione TensorRT#

Prima di vedere come esportare Ultralytics YOLO11 usando l'integrazione di TensorRT, esaminiamo alcune caratteristiche principali del formato dei modelli TensorRT:

  • Integrazione semplice con i framework: TensorRT supporta l'integrazione diretta con framework di AI diffusi come PyTorch, Hugging Face e ONNX, offrendo prestazioni fino a 6 volte più rapide. Supporta anche MATLAB e consente di sviluppare motori di AI ad alta velocità su piattaforme come Jetson, NVIDIA DRIVE e i data center.
  • Distribuzione scalabile con Triton: i modelli ottimizzati nel formato TensorRT possono essere distribuiti su larga scala con NVIDIA Triton Inference Server, che migliora l'efficienza grazie a funzionalità come il batching degli input, l'esecuzione simultanea dei modelli, il supporto agli ensemble di modelli e lo streaming audio/video in tempo reale.
  • Flessibilità tra dispositivi: dai piccoli dispositivi edge ai server potenti, TensorRT funziona nell'intero ecosistema NVIDIA e supporta strumenti come DeepStream per i video, Riva per l'AI vocale e altri strumenti per la cybersicurezza, i sistemi di raccomandazione e altro ancora.

Come funziona l'integrazione di TensorRT?#

Esportare i modelli Ultralytics YOLO, come Ultralytics YOLO11, nel formato dei modelli TensorRT è semplice. Vediamo i passaggi necessari.

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

Dopo aver installato correttamente il pacchetto Python di Ultralytics, puoi addestrare, testare, perfezionare, esportare e distribuire modelli per diverse attività di visione artificiale, come il rilevamento di oggetti, la classificazione e la segmentazione di istanze. Se riscontri problemi durante l'installazione del pacchetto, puoi consultare la guida ai problemi comuni per trovare soluzioni e suggerimenti.

Per il passaggio successivo ti serve un dispositivo NVIDIA. Usa lo snippet di codice qui sotto per caricare ed esportare YOLO11 nel formato dei modelli TensorRT. Lo snippet carica una variante nano preaddestrata del modello YOLO11 (yolo11n.pt) e la esporta come file engine TensorRT (yolo11n.engine), pronta per la distribuzione su dispositivi NVIDIA.

from ultralytics import YOLO

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

Dopo aver convertito il modello nel formato TensorRT, puoi distribuirlo per diverse applicazioni.

L'esempio seguente mostra come caricare il modello YOLO11 esportato (yolo11n.engine) ed eseguire un'inferenza. L'inferenza consiste nell'usare il modello addestrato per fare 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 seguente verrà salvata nella cartella runs/detect/predict.

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

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

Quando sfruttare l'integrazione di TensorRT#

Il pacchetto Python di Ultralytics supporta diverse integrazioni che permettono di esportare i modelli YOLO in vari formati, come TorchScript, CoreML, ONNX e TensorRT. Quando conviene quindi scegliere l'integrazione di TensorRT?

Ecco alcuni fattori che distinguono il formato dei modelli TensorRT dalle altre opzioni di integrazione per l'esportazione:

  • Dimensioni ridotte del modello: Esportare un modello YOLO nel formato TensorRT con precisione INT8 (quantize=8) può ridurne notevolmente le dimensioni. La quantizzazione da FP32 a INT8 può ridurre le dimensioni del modello di 4 volte, consentendo download più rapidi, minori requisiti di archiviazione e un ingombro di memoria inferiore durante la distribuzione.
  • Consumo energetico inferiore: la quantizzazione INT8 non riduce soltanto le dimensioni del modello, ma anche il consumo energetico. Le operazioni a precisione ridotta dei modelli YOLO esportati in INT8 possono consumare meno energia rispetto ai modelli FP32, un vantaggio particolarmente importante per i dispositivi a batteria come droni, smartphone o dispositivi edge.
  • Prestazioni più rapide: combinare l'architettura efficiente di YOLO con l'ottimizzazione INT8 di TensorRT può migliorare la velocità di inferenza.

Applicazioni di Ultralytics YOLO11 e del formato dei modelli TensorRT#

I modelli Ultralytics YOLO esportati in formato TensorRT possono essere distribuiti in un'ampia gamma di scenari reali. Questi modelli ottimizzati sono particolarmente utili quando servono prestazioni di AI rapide ed efficienti. Esaminiamo alcuni esempi interessanti del loro utilizzo.

Casse intelligenti nei negozi al dettaglio#

Nei negozi al dettaglio, molte attività, come leggere i codici a barre, pesare i prodotti o confezionare gli articoli, sono ancora svolte manualmente dal personale. Tuttavia, affidarsi esclusivamente ai dipendenti può rallentare le operazioni e causare frustrazione nei clienti, soprattutto alla cassa. Le code lunghe sono scomode sia per chi fa acquisti sia per i titolari dei negozi. Le casse automatiche intelligenti sono un'ottima soluzione a questo problema.

Queste casse usano la visione artificiale e le GPU per velocizzare il processo e ridurre i tempi di attesa. La visione artificiale consente a questi sistemi di percepire e comprendere l'ambiente attraverso attività come il rilevamento di oggetti. Modelli avanzati come Ultralytics YOLO11, ottimizzati con strumenti come TensorRT, possono funzionare molto più rapidamente sui dispositivi GPU.

Questi modelli esportati sono ideali per le configurazioni intelligenti del commercio al dettaglio che utilizzano dispositivi hardware compatti ma potenti come NVIDIA Jetson Nano, progettato appositamente per le applicazioni di AI edge.

Un cliente paga con la carta a una cassa automatica intelligente dotata di telecamera, con snack e una banana sul vassoio

Fig. 4. Esempio di cassa intelligente.

Rilevamento automatizzato dei difetti nel settore manifatturiero#

Un modello di visione artificiale come Ultralytics YOLO11 può essere addestrato su misura per rilevare prodotti difettosi nel settore manifatturiero. Una volta addestrato, il modello può essere esportato in formato TensorRT per essere distribuito in stabilimenti dotati di sistemi di AI ad alte prestazioni.

Quando i prodotti avanzano sui nastri trasportatori, le telecamere acquisiscono immagini e il modello Ultralytics YOLO11, eseguito 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 utilizzano questi tipi di sistemi per individuare difetti nelle confezioni dei medicinali. Il mercato globale dei sistemi intelligenti di rilevamento dei difetti dovrebbe raggiungere i 5 miliardi di dollari entro il 2026.

Uso di YOLO per rilevare difetti nel settore farmaceutico

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

Aspetti da tenere a mente quando usi TensorRT#

Anche se l'integrazione TensorRT offre molti vantaggi, come inferenze più rapide e latenza ridotta, ecco alcuni limiti da tenere a mente:

  • Lieve calo della precisione: Quando esporti il modello nel formato TensorRT, il modello esportato potrebbe essere meno preciso dell'originale. Le metriche delle prestazioni, come precisione, richiamo e capacità del modello di rilevare gli oggetti (punteggi mAP), potrebbero diminuire leggermente. Puoi ridurre questo effetto usando un dataset di calibrazione rappresentativo (l'argomento data) durante la quantizzazione INT8.
  • Maggiore complessità del debugging: le ottimizzazioni eseguite da TensorRT possono rendere più difficile tracciare gli errori o comprendere i comportamenti imprevisti, soprattutto quando confronti i risultati con quelli del modello originale.
  • Sensibilità alla dimensione del batch: i vantaggi prestazionali di TensorRT sono più evidenti con batch di dimensioni maggiori. Per le applicazioni che elaborano singole immagini o batch ridotti, i miglioramenti delle prestazioni potrebbero essere meno significativi.

Punti chiave#

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

Questa ottimizzazione aiuta i modelli a funzionare meglio sulle GPU NVIDIA, velocizzando le previsioni e riducendo il consumo di memoria ed energia. Sebbene presenti alcune limitazioni, l’aumento delle prestazioni rende l’integrazione di TensorRT un’ottima scelta per chiunque sviluppi sistemi di visione artificiale ad alta velocità su hardware NVIDIA.

Vuoi saperne di più sull’AI? Esplora il nostro repository GitHub, entra in contatto con la nostra community e scopri le nostre opzioni di licenza per dare il via al tuo progetto di visione artificiale. Scopri di più sulle innovazioni, come l’AI nella produzione e la visione artificiale nella logistica, nelle nostre pagine dedicate alle soluzioni.

Scritto da

Abirami Vina
Abirami Vina

Creatore di contenuti · Ultralytics

Dopo aver iniziato la sua carriera come ingegnera di visione artificiale, Abirami Vina ha costruito solide basi nell'IA visiva e nel machine learning. È creatrice di contenuti per Ultralytics e fondatrice e autrice principale di Scribe of AI, dove realizza contenuti tecnici di alta qualità per aziende specializzate in IA. Spinta dalla passione di rendere l'IA comprensibile e coinvolgente, con il suo lavoro colma il divario tra tecnologie all'avanguardia e impatto concreto.

Commenti

Fai una domanda, condividi i tuoi risultati o aiuta qualcun altro.

Esplora le soluzioni

La visione artificiale nello sport

La visione artificiale nello sport

Scopri come Ultralytics YOLO alimenta la computer vision nello sport con il tracciamento di giocatori e palloni, l'analisi delle prestazioni, gli approfondimenti per gli allenatori e la riabilitazione degli atleti.
Scopri di più
Computer vision per immagini aeree

Computer vision per immagini aeree

Trasforma immagini aeree e riprese da drone in informazioni utili in tempo reale per agricoltura, acquacoltura, conservazione e analisi geospaziale con Ultralytics YOLO.
Scopri di più
Computer vision nel settore aerospaziale

Computer vision nel settore aerospaziale

Applica la visione artificiale nel settore aerospaziale con Ultralytics YOLO per l'ispezione degli aeromobili, il rilevamento di FOD sulle piste, le operazioni di terra aeroportuali e il rilevamento di difetti nei materiali compositi.
Scopri di più
Visione artificiale nella sicurezza

Visione artificiale nella sicurezza

Proteggi ogni sito con i modelli Ultralytics YOLO. L'IA visiva alimenta il monitoraggio perimetrale, il rilevamento delle minacce, il riconoscimento delle targhe e la sicurezza sul lavoro.
Scopri di più
Visione artificiale nella robotica

Visione artificiale nella robotica

Dai più potenza alle macchine intelligenti con i modelli Ultralytics YOLO. Nell'ambito della robotica, l'IA visiva alimenta la navigazione autonoma, la percezione, il tracciamento degli oggetti e il controllo in tempo reale.
Scopri di più
Visione artificiale nella logistica

Visione artificiale nella logistica

Semplifica la logistica con i modelli Ultralytics YOLO. L'IA per la visione consente l'ispezione dei pacchi, la selezione, il tracciamento dei veicoli e il monitoraggio della sicurezza nei magazzini in tempo reale.
Scopri di più
Visione artificiale nel commercio al dettaglio

Visione artificiale nel commercio al dettaglio

Ripensa il commercio al dettaglio con i modelli Ultralytics YOLO. L'IA per la visione consente di tracciare le scorte, monitorare gli scaffali, gestire le code e ottenere informazioni più approfondite sui clienti.
Scopri di più
Visione artificiale in ambito sanitario

Visione artificiale in ambito sanitario

Crea soluzioni sanitarie con i modelli Ultralytics YOLO. In ambito sanitario, l'IA per la visione consente di elaborare più rapidamente le immagini mediche, migliorare la diagnostica e monitorare i pazienti.
Scopri di più
Computer vision nella produzione

Computer vision nella produzione

Ottimizza la produzione con i modelli Ultralytics YOLO. La visione basata sull'IA migliora il controllo qualità, il rilevamento dei difetti, la conformità ai requisiti sui DPI e l'automazione delle linee di assemblaggio.
Scopri di più
Computer vision nel settore automobilistico

Computer vision nel settore automobilistico

Applica la computer vision al settore automobilistico con i modelli Ultralytics YOLO. La visione basata sull'IA migliora la sicurezza stradale, i sistemi di assistenza alla guida e l'automazione dei veicoli, per strade più intelligenti.
Scopri di più
Visione artificiale in agricoltura

Visione artificiale in agricoltura

Porta l'IA visiva nell'agricoltura intelligente con i modelli Ultralytics YOLO. Gestisci il monitoraggio delle colture, il tracciamento del bestiame e l'agricoltura di precisione per ottenere raccolti più abbondanti e intelligenti.
Scopri di più

Costruiamo insieme il futuro dell'IA!

Inizia il tuo percorso verso il futuro del machine learning