Ultralytics YOLO27:
Integrazioni

Ottimizzazione dei modelli Ultralytics YOLO con l’integrazione TensorRT

Scopri come esportare i modelli Ultralytics YOLO utilizzando l’integrazione TensorRT per ottenere prestazioni di IA più rapide ed efficienti sulle GPU NVIDIA nelle applicazioni in tempo reale.

ABAbirami Vina9 min read
Ottimizzazione dei modelli Ultralytics YOLO con l’integrazione TensorRT

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 di questo tipo, la velocità e le risposte in tempo reale sono fondamentali.

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

Un modo per ottenere questo risultato è l'accelerazione hardware, utilizzando dispositivi specializzati come le unità di elaborazione grafica (GPUs) per eseguire i modelli più velocemente. Le GPU NVIDIA sono particolarmente note per queste 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. In genere, i modelli di AI per la visione devono essere ottimizzati per sfruttare appieno le capacità dei dispositivi hardware. Per ottenere prestazioni complete con uno specifico hardware, dobbiamo compilare il modello affinché utilizzi l'insieme specifico di istruzioni dell'hardware.

Ad esempio, TensorRT è un formato di esportazione e una libreria di ottimizzazione sviluppati da NVIDIA per migliorare le prestazioni sulle macchine di fascia alta. Utilizza tecniche avanzate per ridurre significativamente il tempo di inferenza mantenendo invariata 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 vari dispositivi NVIDIA.

In questo articolo esploreremo l'integrazione di TensorRT supportata da Ultralytics e vedremo come esportare il tuo modello YOLO11 per una distribuzione più rapida ed efficiente sull'hardware NVIDIA. 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à nei settori manifatturiero e farmaceutico.

TensorRT include strumenti come compilatori e ottimizzatori di modelli che operano in background per garantire che i tuoi modelli funzionino con bassa latenza e possano gestire un throughput maggiore.

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

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

Uno sguardo alla tecnica di fusione dei livelli di TensorRT

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

Caratteristiche principali del formato di esportazione TensorRT#

Prima di vedere come esportare Ultralytics YOLO11 utilizzando l'integrazione TensorRT, esaminiamo alcune caratteristiche principali del formato del modello TensorRT:

  • Facile integrazione con i framework: TensorRT supporta l'integrazione diretta con framework di AI popolari come PyTorch, Hugging Face e ONNX, offrendo prestazioni fino a 6 volte superiori. Supporta anche MATLAB, consentendo lo sviluppo di 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 utilizzando NVIDIA Triton Inference Server, che migliora l'efficienza grazie a funzionalità come il batching degli input, l'esecuzione concorrente dei modelli, il supporto per ensemble di modelli e lo streaming audio/video in tempo reale.

  • Flessibilità tra i dispositivi: Dai piccoli dispositivi edge ai server potenti, TensorRT funziona in tutto l'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 TensorRT?#

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

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 prompt dei comandi o nel terminale.

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

Per il passaggio successivo ti servirà un dispositivo NVIDIA. Utilizza il frammento di codice riportato di seguito per caricare ed esportare YOLO11 nel formato del modello TensorRT. Il codice carica una variante nano preaddestrata del modello YOLO11 (yolo11n.pt) ed esporta il modello come file del motore TensorRT (yolo11n.engine), rendendolo pronto 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 varie applicazioni.

L'esempio seguente mostra come caricare il modello YOLO11 esportato (yolo11n.engine) ed eseguire un'inferenza utilizzandolo. L'inferenza consiste nell'utilizzare il modello addestrato per effettuare previsioni su nuovi dati. In questo caso, utilizzeremo un'immagine in 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 utilizzando il modello Ultralytics YOLO11 esportato nel formato TensorRT

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

Quando utilizzare l'integrazione 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'esportazione:

  • Dimensioni ridotte del modello: Esportare un modello YOLO nel formato TensorRT con precisione INT8 può ridurre significativamente le dimensioni del modello. La quantizzazione da FP32 a INT8 può ridurre di 4 volte le dimensioni del modello, consentendo tempi di download più rapidi, requisiti di archiviazione inferiori e un ingombro di memoria ridotto durante la distribuzione.

  • Minore consumo energetico: La quantizzazione INT8 non riduce solo 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, un vantaggio particolarmente importante per dispositivi alimentati a batteria come droni, smartphone o dispositivi edge.

  • Prestazioni più rapide: La combinazione dell'architettura efficiente di YOLO con l'ottimizzazione INT8 di TensorRT può migliorare la velocità di inferenza.

Applicazioni di Ultralytics YOLO11 e del formato del modello TensorRT#

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

Casse intelligenti nei negozi al dettaglio#

Nei negozi al dettaglio, numerose attività, come la scansione dei codici a barre, la pesatura dei prodotti o il confezionamento degli articoli, sono ancora gestite manualmente dal personale. Tuttavia, affidarsi esclusivamente ai dipendenti può rallentare le operazioni e causare frustrazione nei clienti, soprattutto alle casse. Le lunghe code sono scomode sia per gli acquirenti sia per i proprietari dei negozi. Le casse automatiche intelligenti sono un'ottima soluzione a questo problema.

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

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

Un esempio di cassa intelligente

Fig. 4. Un esempio di cassa intelligente.

Rilevamento automatizzato dei difetti nella produzione#

Un modello di visione artificiale come Ultralytics YOLO11 può essere addestrato su dati personalizzati per rilevare prodotti difettosi nell'industria manifatturiera. Una volta addestrato, il modello può essere esportato nel formato TensorRT per la distribuzione in strutture dotate di sistemi di AI ad alte prestazioni.

Mentre i prodotti si spostano lungo i nastri trasportatori, le telecamere acquisiscono immagini e il modello Ultralytics YOLO11, in esecuzione nel 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 sistemi di questo tipo per identificare i difetti nelle confezioni dei medicinali. Di fatto, si prevede che il mercato globale dei sistemi intelligenti di rilevamento dei difetti raggiunga i 5 miliardi di dollari entro il 2026.

Utilizzo di YOLO per rilevare i difetti nell'industria farmaceutica

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

Considerazioni da tenere presenti durante l'utilizzo di TensorRT#

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

  • 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. Questo problema può essere mitigato utilizzando un dataset rappresentativo durante la quantizzazione.

  • Maggiore complessità del debugging: Le ottimizzazioni eseguite da TensorRT possono rendere più difficile tracciare gli errori o comprendere comportamenti imprevisti, soprattutto quando si confrontano i risultati con quelli del modello originale.

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

Punti chiave#

Esportare i modelli Ultralytics YOLO nel formato TensorRT li fa funzionare in modo significativamente più rapido ed efficiente, rendendoli ideali per attività in tempo reale come il rilevamento dei difetti nelle fabbriche, l'alimentazione di sistemi di casse intelligenti o il monitoraggio di aree urbane trafficate.

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

Vuoi saperne di più sull'AI? Esplora il nostro repository GitHub, connettiti con la nostra community e scopri le nostre opzioni di licenza per avviare il tuo progetto di visione artificiale. Scopri di più su innovazioni come l'AI nella produzione e la visione artificiale nella logistica nelle nostre pagine dedicate alle soluzioni.

Explore solutions

Visione artificiale per immagini aeree

Visione artificiale per immagini aeree

Traduci immagini di droni e aeree in informazioni in tempo reale per agricoltura, acquacoltura, monitoraggio ambientale, conservazione e analisi geospaziale con Ultralytics YOLO.
Scopri di più
Computer vision nel settore aerospaziale

Computer vision nel settore aerospaziale

Porta la visione artificiale al monitoraggio aereo con i modelli Ultralytics YOLO. Potenzia droni, flussi di lavoro aerospaziali, conservazione ambientale e industrie geospaziali con soluzioni di computer vision.
Scopri di più

Proteggi ogni sito con i modelli Ultralytics YOLO. La visione artificiale alimenta il monitoraggio del perimetro, il rilevamento delle minacce, il riconoscimento delle targhe e la sicurezza sul lavoro.
Scopri di più
Computer vision nella robotica

Computer vision nella robotica

Potenzia macchine più intelligenti con i modelli Ultralytics YOLO. La Vision AI nella robotica abilita la navigazione autonoma, la percezione, il tracciamento degli oggetti e il controllo in tempo reale.
Scopri di più
Computer vision nella logistica

Computer vision 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 nei magazzini in tempo reale.
Scopri di più
Computer vision nel commercio al dettaglio

Computer vision nel commercio al dettaglio

Reinventa il commercio al dettaglio con i modelli Ultralytics YOLO. La Vision AI potenzia il tracciamento dell'inventario, il monitoraggio degli scaffali, la gestione delle code e analisi più intelligenti dei clienti.
Scopri di più
Computer vision nel settore sanitario

Computer vision nel settore sanitario

Crea soluzioni sanitarie con i modelli Ultralytics YOLO. La Vision AI nel settore sanitario abilita imaging medico più rapido, diagnosi più intelligenti e monitoraggio dei pazienti.
Scopri di più
Computer vision nella produzione

Computer vision nella produzione

Ottimizza la produzione con i modelli Ultralytics YOLO. La Vision AI supporta il controllo qualità, il rilevamento dei difetti, la conformità ai 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 vision AI migliora la sicurezza stradale, i sistemi di assistenza alla guida e l'automazione dei veicoli per strade più intelligenti.
Scopri di più
Computer vision in agricoltura

Computer vision in agricoltura

Porta la vision AI nell'agricoltura intelligente con i modelli Ultralytics YOLO. Abilita il monitoraggio delle colture, il tracciamento del bestiame e l'agricoltura di precisione per raccolti più abbondanti e intelligenti.
Scopri di più
Visione artificiale per immagini aeree

Visione artificiale per immagini aeree

Traduci immagini di droni e aeree in informazioni in tempo reale per agricoltura, acquacoltura, monitoraggio ambientale, conservazione e analisi geospaziale con Ultralytics YOLO.
Scopri di più
Computer vision nel settore aerospaziale

Computer vision nel settore aerospaziale

Porta la visione artificiale al monitoraggio aereo con i modelli Ultralytics YOLO. Potenzia droni, flussi di lavoro aerospaziali, conservazione ambientale e industrie geospaziali con soluzioni di computer vision.
Scopri di più

Proteggi ogni sito con i modelli Ultralytics YOLO. La visione artificiale alimenta il monitoraggio del perimetro, il rilevamento delle minacce, il riconoscimento delle targhe e la sicurezza sul lavoro.
Scopri di più
Computer vision nella robotica

Computer vision nella robotica

Potenzia macchine più intelligenti con i modelli Ultralytics YOLO. La Vision AI nella robotica abilita la navigazione autonoma, la percezione, il tracciamento degli oggetti e il controllo in tempo reale.
Scopri di più
Computer vision nella logistica

Computer vision 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 nei magazzini in tempo reale.
Scopri di più
Computer vision nel commercio al dettaglio

Computer vision nel commercio al dettaglio

Reinventa il commercio al dettaglio con i modelli Ultralytics YOLO. La Vision AI potenzia il tracciamento dell'inventario, il monitoraggio degli scaffali, la gestione delle code e analisi più intelligenti dei clienti.
Scopri di più
Computer vision nel settore sanitario

Computer vision nel settore sanitario

Crea soluzioni sanitarie con i modelli Ultralytics YOLO. La Vision AI nel settore sanitario abilita imaging medico più rapido, diagnosi più intelligenti e monitoraggio dei pazienti.
Scopri di più
Computer vision nella produzione

Computer vision nella produzione

Ottimizza la produzione con i modelli Ultralytics YOLO. La Vision AI supporta il controllo qualità, il rilevamento dei difetti, la conformità ai 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 vision AI migliora la sicurezza stradale, i sistemi di assistenza alla guida e l'automazione dei veicoli per strade più intelligenti.
Scopri di più
Computer vision in agricoltura

Computer vision in agricoltura

Porta la vision AI nell'agricoltura intelligente con i modelli Ultralytics YOLO. Abilita il monitoraggio delle colture, il tracciamento del bestiame e l'agricoltura di precisione per raccolti più abbondanti e intelligenti.
Scopri di più
Visione artificiale per immagini aeree

Visione artificiale per immagini aeree

Traduci immagini di droni e aeree in informazioni in tempo reale per agricoltura, acquacoltura, monitoraggio ambientale, conservazione e analisi geospaziale con Ultralytics YOLO.
Scopri di più
Computer vision nel settore aerospaziale

Computer vision nel settore aerospaziale

Porta la visione artificiale al monitoraggio aereo con i modelli Ultralytics YOLO. Potenzia droni, flussi di lavoro aerospaziali, conservazione ambientale e industrie geospaziali con soluzioni di computer vision.
Scopri di più

Proteggi ogni sito con i modelli Ultralytics YOLO. La visione artificiale alimenta il monitoraggio del perimetro, il rilevamento delle minacce, il riconoscimento delle targhe e la sicurezza sul lavoro.
Scopri di più
Computer vision nella robotica

Computer vision nella robotica

Potenzia macchine più intelligenti con i modelli Ultralytics YOLO. La Vision AI nella robotica abilita la navigazione autonoma, la percezione, il tracciamento degli oggetti e il controllo in tempo reale.
Scopri di più
Computer vision nella logistica

Computer vision 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 nei magazzini in tempo reale.
Scopri di più
Computer vision nel commercio al dettaglio

Computer vision nel commercio al dettaglio

Reinventa il commercio al dettaglio con i modelli Ultralytics YOLO. La Vision AI potenzia il tracciamento dell'inventario, il monitoraggio degli scaffali, la gestione delle code e analisi più intelligenti dei clienti.
Scopri di più
Computer vision nel settore sanitario

Computer vision nel settore sanitario

Crea soluzioni sanitarie con i modelli Ultralytics YOLO. La Vision AI nel settore sanitario abilita imaging medico più rapido, diagnosi più intelligenti e monitoraggio dei pazienti.
Scopri di più
Computer vision nella produzione

Computer vision nella produzione

Ottimizza la produzione con i modelli Ultralytics YOLO. La Vision AI supporta il controllo qualità, il rilevamento dei difetti, la conformità ai 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 vision AI migliora la sicurezza stradale, i sistemi di assistenza alla guida e l'automazione dei veicoli per strade più intelligenti.
Scopri di più
Computer vision in agricoltura

Computer vision in agricoltura

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

Costruiamo insieme il futuro dell'AI!

Inizia il tuo percorso verso il futuro del machine learning