Yolo Vision Shenzhen
Shenzhen
Iscriviti ora

Esportazione dei modelli Ultralytics YOLO11 in formato modello NCNN

Esportazione dei modelli Ultralytics YOLO11 nel formato NCNN per eseguire inferenze AI efficienti e a bassa latenza su dispositivi edge con potenza e risorse di calcolo limitate.

Le soluzioni di IA stanno diventando sempre più comuni, anche in settori ad alto rischio come la gestione dei disastri, la gestione dei rifiuti e la lotta antincendio. Con la continua crescita dell'adozione, i modelli di IA vengono implementati in ambienti più diversi: non solo su server o nel cloud, ma direttamente su dispositivi operativi sul campo.

Ad esempio, i droni e le apparecchiature con componenti edge alimentati da piccoli processori possono svolgere un ruolo cruciale nelle zone disastrate. Dotati di telecamere termiche, questi dispositivi possono raccogliere e analizzare i dati in loco per localizzare le persone intrappolate sotto le macerie. Ciò è reso possibile dalla computer vision, una branca dell'intelligenza artificiale che interpreta le informazioni visive da immagini e video.

Tuttavia, l'implementazione dei modelli Vision AI sui dispositivi edge non è così semplice come potrebbe sembrare. I modelli di intelligenza artificiale devono essere ottimizzati per funzionare in modo efficiente su hardware con potenza di calcolo e memoria limitate. Ecco perché i framework di intelligenza artificiale come NCNN sono essenziali. Aiutano a convertire e ottimizzare i modelli per ottenere prestazioni in tempo reale su dispositivi a basso consumo, senza sacrificare la precisione.

In particolare, i modelli Ultralytics YOLO come Ultralytics YOLO11 possono essere facilmente esportati in formato NCNN utilizzando l'integrazione NCNN supportata da Ultralytics. La conversione di YOLO11 in formato NCNN consente al modello di funzionare più velocemente, di utilizzare meno memoria e di funzionare senza problemi su diversi dispositivi senza perdere in precisione.

In questo articolo esploreremo l'integrazioneNCNN supportata da Ultralytics e vedremo come esportare il modello YOLO11 in formato NCNN . Iniziamo!

Una panoramica di NCNN: Un framework per reti neurali leggere

NCNN è un framework open source per l'inferenza delle reti neurali sviluppato da Tencent. È stato progettato specificamente per ambienti mobili e periferici, in grado di fornire inferenze ad alte prestazioni con un ingombro minimo. Questo lo rende ideale per l'implementazione su dispositivi con risorse limitate come smartphone, droni e dispositivi IoT (Internet of Things).

Il framework NCNN ha guadagnato popolarità nella comunità dell'intelligenza artificiale e dell'apprendimento profondo grazie alla sua efficienza, portabilità e ottimizzazione per le CPU (unità di elaborazione centrale) mobili. Consente agli sviluppatori di eseguire modelli di reti neurali su dispositivi economici con memoria e potenza di elaborazione limitate. Progettato per essere semplice e flessibile, NCNN supporta un'ampia gamma di modelli di computer vision e funziona su diverse piattaforme, tra cui Android, Linux, iOS e macOS.

Figura 1. I modelli in formato NCNN possono essere distribuiti su molte piattaforme.

Caratteristiche principali dell'ottimizzazione delle prestazioni NCNN

Ecco alcune delle caratteristiche principali che rendono NCNN un framework di inferenza per reti neurali di grande impatto e largamente utilizzato:

  • Runtime leggero e indipendente dall'hardware: Il framework NCNN è ottimizzato per l'esecuzione di modelli su CPU standard e non richiede hardware specializzato come GPU (Graphics Processing Unit) o NPU (Neural Processing Unit).
  • Quantizzazione del modello: Per le applicazioni in cui memoria e velocità sono fondamentali, NCNN supporta metodi di quantizzazione che riducono le dimensioni del modello e migliorano i tempi di inferenza. Ciò consente di eseguire i modelli di intelligenza artificiale senza problemi su dispositivi mobili ed embedded.
  • Open source e accessibile: In quanto framework open-source, NCNN è liberamente disponibile per l'uso, la modifica e il miglioramento da parte di chiunque. Questo incoraggia l'innovazione e l'ampia adozione in una varietà di casi d'uso.
  • Sviluppo attivo e comunità: NCNN viene mantenuto attivamente su GitHub da Tencent e da una comunità di sviluppatori in crescita, con aggiornamenti regolari e miglioramenti della compatibilità dei modelli.

Esportazione di YOLO11 in formato modello NCNN : Una guida rapida

Ora che abbiamo discusso di cosa sia l'NCNN , vediamo più da vicino come esportare i modelli YOLO11 nel formato NCNN .

Passo 1: Installare il pacchetto Ultralytics Python

Prima di esportare il modello, il primo passo è installare il pacchettoUltralytics Python usando il programma di installazione dei pacchetti, pip. Questo può essere fatto eseguendo "pip install ultralytics" nel terminale o nel prompt dei comandi. Se state lavorando in un Jupyter Notebook o in Google Colab, aggiungete un punto esclamativo prima del comando, in questo modo: "!pip install ultralytics".

Il pacchetto Ultralytics fornisce strumenti per l'addestramento, il test, la messa a punto e l'esportazione di modelli AI di visione per una serie di attività di computer vision. Se si riscontrano problemi durante l'installazione o l'esportazione di un modello, la documentazione ufficiale di Ultralytics e la guida Common Issues sono ottime risorse per la risoluzione dei problemi.

Passo 2: Esportazione di Ultralytics YOLO11

Dopo aver installato il pacchetto Ultralytics , è possibile caricare il modello YOLO11 ed esportarlo in formato NCNN . L'esempio seguente utilizza un modello pre-addestrato ("yolo11n.pt") e lo esporta in formato NCNN , salvando l'output in una cartella denominata "/yolo11n_ncnn_model". 

from ultralytics import YOLO

model = YOLO("yolo11n.pt")

model.export(format="ncnn")  

Il modello YOLO11 esportato può quindi essere distribuito su vari dispositivi leggeri come smartphone, sistemi embedded o piattaforme IoT. Anche il processo di distribuzione è molto snello. 

Ad esempio, si consideri il frammento di codice riportato di seguito, che mostra come caricare il modello esportato ed eseguire l'inferenza. L'inferenza si riferisce al processo di utilizzo di un modello addestrato per fare previsioni su dati nuovi e non visti. In questo esempio, il modello viene testato su un'immagine di un uomo che va in bicicletta, prelevata da un URL disponibile pubblicamente.

ncnn_model = YOLO("./yolo11n_ncnn_model")

results = ncnn_model("https://images.pexels.com/photos/19431209/pexels-photo-19431209/free-photo-of-a-man-riding-a-bike-on-a-road.jpeg?auto=compress&cs=tinysrgb&w=1260&h=750&dpr=2.jpg", save=True)

Dopo aver eseguito il codice, l'immagine di output si trova nella cartella "detect".

Figura 2. Rilevamento di oggetti utilizzando un modello YOLO11 esportato in formato NCNN . Immagine dell'autore.

Perché scegliere il rilevamento in tempo reale con NCNN

Esplorando le varie integrazioni supportate da Ultralytics , si può notare che sono disponibili diverse opzioni di esportazione. Quando è opportuno scegliere il formato NCNN ?

Il formato di esportazione NCNN è una scelta affidabile quando è necessario distribuire i modelli YOLO11 su dispositivi con risorse limitate. È particolarmente utile per le applicazioni in tempo reale che vengono eseguite direttamente sul dispositivo, come i dispositivi edge, senza bisogno di una connessione al cloud. Ciò significa che il modello può gestire attività come il rilevamento di oggetti direttamente sul posto.

Ecco alcuni scenari comuni in cui NCNN si adatta perfettamente:

  • Distribuzione mobile: Il formato NCNN è ottimizzato per Android e iOS, il che semplifica l'integrazione dei modelli nelle app mobili per un'inferenza veloce e sul dispositivo con una latenza minima.
  • Sistemi embedded e dispositivi IoT: Se si sta distribuendo su dispositivi come Raspberry Pi o NVIDIA Jetson, l'esportazione in NCNN può contribuire ad aumentare le prestazioni e la reattività.
  • Distribuzione su desktop e server: NCNN è ideale per i dispositivi a basso consumo, ma supporta anche Linux, Windows e macOS per ambienti desktop e server. Questo offre agli sviluppatori opzioni flessibili per la distribuzione.
Figura 3. Opzioni per la distribuzione del modello YOLO11 con NCNN. Immagine dell'autore.

Casi d'uso dell'implementazione del modello YOLO11 con NCNN

Vediamo quindi alcuni casi d'uso pratici in cui l'esportazione dei modelli YOLO11 in NCNN può fare la differenza.

Caschi Vision AI per la lotta antincendio

I caschi di sicurezza dotati di telecamere e microcomputer incorporati possono essere utilizzati in settori come l'edilizia e la lotta antincendio per migliorare la sicurezza e la consapevolezza. I modelli Vision AI in tempo reale, come YOLO11, possono essere eseguiti su questi dispositivi per detect vari tipi di oggetti e attrezzature. Ad esempio, questi caschi possono aiutare i vigili del fuoco a detect persone, ostacoli o pericoli in condizioni di scarsa visibilità.

Tuttavia, l'esecuzione di modelli a grandezza naturale direttamente sui dispositivi indossabili può causare prestazioni lente e scaricare rapidamente la batteria. In questo caso, l'utilizzo dell'integrazione NCNN è una scelta intelligente. Permette un'inferenza a bassa latenza ed efficiente dal punto di vista energetico. 

Classificazione dei rifiuti e contenitori intelligenti

Allo stesso modo, i cestini intelligenti possono essere integrati con telecamere e processori di intelligenza artificiale compatti per identificare e differenziare i materiali mentre vengono scartati. I modelli AI di visione come YOLO11 possono essere addestrati su misura per detect diversi tipi di materiali di scarto come carta, plastica, gomma, ecc.

Una volta identificati, i rifiuti possono essere smistati automaticamente in comparti separati in base alla loro riutilizzabilità. Grazie all'utilizzo dell'intelligenza artificiale e dei modelli YOLO11 esportati in formato NCNN , questi cassonetti possono elaborare i dati localmente, senza bisogno di una connessione a Internet. Ciò consente loro di operare in modo autonomo e di prendere decisioni di smistamento in tempo reale con un ritardo minimo.

Figura 4. Rilevamento dei rifiuti plastici con YOLO11.

Monitoraggio del bestiame tramite droni e computer vision

A volte, le aree agricole in località remote non hanno accesso a connessioni internet stabili o persino a un'alimentazione elettrica costante, il che limita la loro capacità di eseguire applicazioni di intelligenza artificiale online. In questi casi, è possibile utilizzare dispositivi edge e droni per gestire una varietà di attività. 

Un buon esempio è il monitoraggio del bestiame, come bovini, ovini e pollame. Questo può essere fatto utilizzando modelli Vision AI come YOLO11, che possono essere utilizzati per track movimenti degli animali, detect segni di lesioni, malattie o comportamenti anomali e avvisare gli allevatori quando gli animali scompaiono. L'integrazione NCNN rende inoltre possibile l'esecuzione e l'elaborazione di questi dati direttamente sui dispositivi edge, rendendoli ideali per l'analisi di immagini e video nelle aziende agricole in aree remote o non collegate alla rete.

Figura 5. Uno sguardo all'utilizzo di YOLO11 per il monitoraggio del bestiame.

Punti chiave

L'esportazione di modelli YOLO11 tramite l'integrazione NCNN supportata da Ultralytics è un modo semplice per portare l'IA di visione in ambienti a basso consumo. Che si tratti di droni in zone disastrate, di cassonetti intelligenti per la raccolta dei rifiuti o di monitoraggio del bestiame in aziende agricole remote, YOLO e NCNN consentono di fare inferenze di IA in tempo reale in modo rapido, efficiente e portatile. Questo approccio contribuisce a rendere i sistemi di IA più accessibili e affidabili quando è più importante.

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 come innovazioni come l'IA nel retail e la computer vision nel settore sanitario stanno plasmando il futuro nelle nostre pagine delle soluzioni.

Costruiamo insieme il futuro
dell'AI!

Inizia il tuo viaggio con il futuro del machine learning

Inizia gratis