Yolo Vision Shenzhen
Shenzhen
Iscriviti ora

Eseguite un'applicazione AI interattiva con Streamlit e Ultralytics YOLO11

Abirami Vina

5 minuti di lettura

18 marzo 2025

Imparate a eseguire le inferenze di YOLO11 all'interno di un'interfaccia Streamlit e a costruire un'interfaccia interattiva di intelligenza artificiale per compiti di computer vision senza avere competenze di codifica.

I modelli di computer vision sono strumenti di IA di grande impatto che consentono alle macchine di interpretare e analizzare i dati visivi, eseguendo attività come l'object detection, la classificazione delle immagini e la segmentazione delle istanze con elevata precisione. Tuttavia, a volte possono richiedere competenze tecniche aggiuntive, come lo sviluppo web o le competenze per app mobili, per essere implementati e resi accessibili a un pubblico più ampio.

Prendere Ultralytics YOLO11per esempio. Si tratta di un modello che supporta diverse attività ed è utile per una serie di applicazioni. Tuttavia, senza alcune conoscenze tecniche di front-end, la costruzione e l'implementazione di un'interfaccia user-friendly per un'interazione senza interruzioni può risultare un po' impegnativa per alcuni ingegneri dell'intelligenza artificiale.

Streamlit è un framework open-source che mira a semplificare questo processo. È uno strumento Python per la creazione di applicazioni interattive senza un complesso sviluppo front-end. Abbinato a YOLO11, consente agli utenti di caricare immagini, elaborare video e visualizzare i risultati in tempo reale con il minimo sforzo.

Ultralytics compie un ulteriore passo avanti con la sua soluzione Live Inference, rendendo l'integrazione di Streamlit ancora più semplice. Con un solo comando, gli utenti possono lanciare un'applicazione Streamlit precostituita per YOLO11, eliminando la necessità di configurazioni e codifiche manuali. 

In questo articolo spiegheremo come configurare ed eseguire YOLO11 utilizzando la soluzione Live Inference di Ultralyticscon Streamlit, rendendo più veloce e accessibile l'implementazione dell'intelligenza artificiale in tempo reale.

Cos'è Streamlit?

Streamlit è un framework Python che semplifica la creazione di applicazioni web interattive. Gli sviluppatori di intelligenza artificiale possono creare applicazioni basate sull'intelligenza artificiale senza dover affrontare le complessità dello sviluppo front-end. 

È stato progettato per lavorare senza problemi con l'intelligenza artificiale e i modelli di apprendimento automatico. Con poche righe di Python, gli sviluppatori possono creare un'interfaccia in cui gli utenti possono caricare immagini, elaborare video e interagire con i modelli di intelligenza artificiale.

__wf_reserved_inherit
Fig 1. Caratteristiche principali di Streamlit. Immagine dell'autore.

Una delle sue caratteristiche principali è il rendering dinamico. Quando gli utenti apportano modifiche, l'app si aggiorna automaticamente senza richiedere ricaricamenti manuali della pagina.

Inoltre, essendo leggero e facile da usare, Streamlit funziona in modo efficiente sia su macchine locali che su piattaforme cloud. Questo lo rende un'ottima scelta per il deployment di applicazioni di intelligenza artificiale, la condivisione di modelli con altri e la fornitura di un'esperienza utente intuitiva e interattiva.

Ultralytics YOLO11: un modello versatile di Vision AI

Prima di scoprire come eseguire inferenze live con Ultralytics YOLO11 in un'applicazione Streamlit, analizziamo più da vicino cosa rende YOLO11 così affidabile.

Ultralytics YOLO11 è un modello progettato per attività di visione artificiale in tempo reale, come il rilevamento di oggetti, la segmentazione di istanze e la stima della posa. Offre prestazioni ad alta velocità con una precisione impressionante.

__wf_reserved_inherit
Figura 2. Un esempio di utilizzo di YOLO11 per il rilevamento degli oggetti.

Uno dei maggiori vantaggi di YOLO11è la sua facilità d'uso. Non sono necessarie configurazioni complesse; gli sviluppatori possono installare il pacchetto Ultralytics Python e iniziare a fare previsioni con poche righe di codice.

Il pacchetto Ultralytics Python offre una serie di funzioni che consentono agli utenti di perfezionare i modelli e regolare le impostazioni di rilevamento. Inoltre, aiuta a ottimizzare le prestazioni su diversi dispositivi per una distribuzione più fluida.

Oltre alla flessibilità, il pacchetto Ultralytics Python supporta integrazioni su più piattaforme, fra cui dispositivi edge, ambienti cloud e sistemiGPU NVIDIA . Sia che venga implementato su un piccolo dispositivo embedded o su un server cloud su larga scala, YOLO11 si adatta senza problemi, rendendo l'IA di visione avanzata più accessibile che mai.

Vantaggi dell'utilizzo di Streamlit con Ultralytics YOLO11

Vi starete chiedendo: come faccio a sapere se Streamlit è l'opzione di distribuzione giusta per me? Se state cercando un modo semplice ed efficiente dal punto di vista del codice per eseguire YOLO11 senza occuparvi dello sviluppo front-end, Streamlit è una buona opzione, soprattutto per la prototipazione, i progetti proof-of-concept (PoC) o le distribuzioni destinate a un numero ridotto di utenti.

Semplifica il processo di lavoro con YOLO11 eliminando inutili complessità e fornendo un'interfaccia intuitiva per l'interazione in tempo reale. Ecco alcuni altri vantaggi chiave:

  • Controlli AI personalizzabili: puoi aggiungere slider, menu a tendina e pulsanti alla tua interfaccia, consentendo agli utenti di ottimizzare facilmente le impostazioni di detection e filtrare oggetti specifici.
  • Integrazione con altri strumenti di IA: Streamlit supporta l'integrazione con NumPy, OpenCV, Matplotlib e altre librerie di apprendimento automatico, migliorando le capacità del flusso di lavoro AI.
  • Visualizzazione interattiva dei dati: il supporto integrato per grafici consente agli utenti di visualizzare facilmente l'object detection, i risultati della segmentation o gli insight di tracking.
  • Facile collaborazione: le app Streamlit possono essere facilmente condivise con membri del team, stakeholder o clienti tramite un semplice link, consentendo feedback e iterazioni istantanei.

Guida passo-passo alla distribuzione di YOLO11 in un'applicazione web Streamlit

Dopo aver esplorato i vantaggi dell'uso di Streamlit con YOLO11, vediamo come eseguire attività di computer vision in tempo reale in un browser utilizzando Streamlit con YOLO11.

Installazione del pacchettoPython di Ultralytics

Il primo passo consiste nell'installare il pacchettoUltralytics Python . Questo può essere fatto usando il seguente comando:

Una volta installato, YOLO11 è pronto per l'uso senza alcuna configurazione complicata. Se si riscontrano problemi durante l'installazione dei pacchetti richiesti, è possibile consultare la nostra Guida ai problemi comuni per trovare suggerimenti e soluzioni.

Avvio dell'applicazione Streamlit con YOLO11 

Normalmente, per eseguire YOLO11 è necessario sviluppare uno script Python utilizzando i componenti Streamlit. Tuttavia, Ultralytics offre un modo semplice per eseguire YOLO11 con Streamlit. 

L'esecuzione del seguente script Python avvierà immediatamente l'applicazione Streamlit nel browser web predefinito:

Non è necessaria alcuna configurazione aggiuntiva. L'interfaccia dell'applicazione Streamlit comprende una sezione di upload per immagini e video, un menu a discesa per selezionare la variante del modello YOLO11 a cui si è interessati e i cursori per regolare la sicurezza del rilevamento. Tutto è organizzato in modo ordinato, consentendo agli utenti di eseguire inferenze senza sforzo e senza scrivere codice aggiuntivo.

Esecuzione di inferenze con YOLO11 sull'applicazione Streamlit

Ora che l'applicazione Streamlit è in esecuzione nel browser web, vediamo come utilizzarla per eseguire inferenze con YOLO11.

Ad esempio, supponiamo di voler analizzare un file video per il rilevamento di oggetti. Ecco i passaggi per caricare un file, selezionare un modello e visualizzare i risultati in tempo reale:

  • Carica un file video: Seleziona "video" dal menu a tendina di configurazione utente, indicando all'applicazione di elaborare un file preregistrato anziché un feed da webcam.
  • Scegliere un modello YOLO11 : Selezionare "YOLO11l" dal menu a tendina del modello per il rilevamento degli oggetti utilizzando un modello YOLO11 di grandi dimensioni.
  • Avviare il processo di rilevamento: Fare clic su "Start" per consentire a YOLO11 di analizzare il video fotogramma per fotogramma e detect gli oggetti in tempo reale.
  • Visualizza il video elaborato: Guarda il video apparire sullo schermo con aggiornamenti in tempo reale, mostrando gli oggetti rilevati con i riquadri di delimitazione.
  • Interagisci con i risultati in Streamlit: Utilizza l'interfaccia per regolare le impostazioni o analizzare i rilevamenti, il tutto senza configurazioni o codifiche aggiuntive.
__wf_reserved_inherit
Figura 3. L'interfaccia dell'applicazione Ultralytics YOLO Streamlit.

Casi d'uso con Streamlit e YOLO11

Abbiamo visto come Streamlit sia ottimo per creare prototipi, strumenti di ricerca e applicazioni di piccole e medie dimensioni. Offre un modo semplice per distribuire modelli di IA senza un complesso sviluppo front-end.

Tuttavia, l'esecuzione di YOLO11 con Streamlit non è sempre una soluzione pronta all'uso, a meno che non si utilizzi l'applicazione Ultralytics YOLO Streamlit che abbiamo configurato nei passaggi precedenti. Nella maggior parte dei casi, è necessario un certo lavoro di sviluppo per personalizzare l'applicazione in base alle esigenze specifiche. Sebbene Streamlit semplifichi la distribuzione, è comunque necessario configurare i componenti necessari per garantire che YOLO11 funzioni senza problemi.

Esploriamo due esempi pratici di come Ultralytics YOLO11 possa essere efficacemente impiegato con Streamlit in scenari reali.

Conteggio degli oggetti per il controllo dell'inventario con YOLO11

Tenere track dell'inventario nei negozi al dettaglio, nei magazzini o nelle aree di approvvigionamento degli uffici può richiedere molto tempo ed essere soggetto a errori. Utilizzando YOLO11 con Streamlit, le aziende possono automatizzare il conteggio degli oggetti in modo rapido ed efficiente, rendendolo un'ottima opzione per un proof of concept (PoC) prima di impegnarsi in un'implementazione su larga scala.

Con questa configurazione, gli utenti possono caricare un'immagine o utilizzare il feed di una telecamera dal vivo e YOLO11 può aiutare a detect e contare istantaneamente gli oggetti. Il conteggio in tempo reale può essere visualizzato nell'interfaccia Streamlit, offrendo un modo semplice per monitorare i livelli delle scorte senza alcuno sforzo manuale.

Ad esempio, il proprietario di un negozio può scansionare uno scaffale e vedere immediatamente quante bottiglie, scatole o prodotti confezionati sono presenti senza doverli contare manualmente. Sfruttando YOLO11 e Streamlit, le aziende possono ridurre il lavoro manuale, migliorare la precisione ed esplorare l'automazione con un investimento minimo.

__wf_reserved_inherit
Figura 4. Rilevamento di bottiglie in un frigorifero con YOLO11.

Aumentare la sicurezza con YOLO11 e Streamlit

Mantenere la sicurezza delle aree riservate in uffici, magazzini o luoghi di eventi può essere difficile, soprattutto con il monitoraggio manuale. Utilizzando YOLO11 con Streamlit, le aziende possono impostare un semplice sistema di sicurezza alimentato dall'intelligenza artificiale per detect accessi non autorizzati in tempo reale.

Il feed di una telecamera può essere collegato all'interfaccia Streamlit, dove YOLO11 viene utilizzato per identificare e track persone che entrano nelle zone riservate. Se viene rilevata una persona non autorizzata, il sistema può attivare un allarme o registrare l'evento per la revisione.

Ad esempio, un responsabile di magazzino può monitorare l'accesso alle aree di stoccaggio ad alta sicurezza, oppure un ufficio può track movimenti nelle aree riservate senza bisogno di una supervisione costante.

Questo può essere un progetto che apre gli occhi alle aziende che vogliono esplorare il monitoraggio della sicurezza guidato dall'intelligenza artificiale prima di impegnarsi in un sistema più grande e completamente automatizzato. Integrando YOLO11 con Streamlit, le aziende possono migliorare la sicurezza, ridurre al minimo il monitoraggio manuale e rispondere in modo più efficace agli accessi non autorizzati.

Suggerimenti per il monitoraggio di un'app AI interattiva con Streamlit

L'utilizzo di strumenti come Streamlit per distribuire modelli di visione artificiale aiuta a creare un'esperienza interattiva e user-friendly. Tuttavia, dopo aver impostato l'interfaccia live, è importante assicurarsi che il sistema funzioni in modo efficiente e fornisca risultati accurati nel tempo.

Ecco alcuni fattori chiave da considerare dopo l'implementazione:

  • Monitoraggio regolare: Tieni traccia della precisione del rilevamento, della velocità di inferenza e dell'utilizzo delle risorse. Regola i parametri del modello o aggiorna l'hardware se le prestazioni diminuiscono.
  • Gestione di più utenti e scalabilità: Con la crescita della domanda degli utenti, l'ottimizzazione dell'infrastruttura è fondamentale per mantenere le prestazioni. Le piattaforme cloud e le soluzioni di implementazione scalabili contribuiscono a garantire un funzionamento senza problemi.
  • Mantenere aggiornato il modello: Mantenere aggiornati il modello e le librerie migliora la precisione, la sicurezza e l'accesso a nuove funzionalità.

Punti chiave

Ultralytics semplifica l'implementazione di YOLO11 con un'interfaccia Streamlit live pronta all'uso che si esegue con un solo comando, senza bisogno di codifica. In questo modo gli utenti possono iniziare a utilizzare immediatamente il rilevamento degli oggetti in tempo reale.

L'interfaccia include anche la personalizzazione integrata, consentendo agli utenti di cambiare modello, regolare la precisione del rilevamento e filtrare gli oggetti con facilità. Tutto è gestito all'interno di un'interfaccia semplice e intuitiva, eliminando la necessità di sviluppo manuale dell'interfaccia utente. Combinando

Grazie alle funzionalità di YOLO11e alla facilità di implementazione di Streamlit, le aziende e gli sviluppatori possono prototipare, testare e perfezionare rapidamente le applicazioni basate sull'intelligenza artificiale. 

Entra a far parte della nostra community ed esplora il nostro repository GitHub per maggiori approfondimenti sull'IA. Dai un'occhiata alle nostre pagine delle soluzioni per saperne di più su innovazioni come l'IA nella produzione e la computer vision nel settore sanitario. Scopri le nostre opzioni di licenza e inizia oggi stesso!

Costruiamo insieme il futuro
dell'AI!

Inizia il tuo viaggio con il futuro del machine learning

Inizia gratis