Esegui un'app AI interattiva con Streamlit e Ultralytics YOLO11
Impara come eseguire le inferenze YOLO11 all'interno di un'interfaccia Streamlit e crea un'interfaccia AI interattiva per attività di computer vision senza competenze di programmazione.

I modelli di computer vision sono strumenti di intelligenza artificiale di grande impatto che consentono alle macchine di interpretare e analizzare dati visivi, eseguendo attività come il rilevamento di oggetti, 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 competenze di app mobili, per essere distribuiti e resi accessibili a un pubblico più ampio.
Prendi ad esempio Ultralytics YOLO11. Si tratta di un modello che supporta varie attività ed è utile in una gamma di applicazioni. Tuttavia, senza un po' di conoscenze tecniche di front-end, creare e distribuire un'interfaccia user-friendly per un'interazione fluida può sembrare un po' impegnativo per alcuni ingegneri di intelligenza artificiale.
Streamlit è un framework open-source che mira a rendere questo processo più semplice. È uno strumento basato su Python per la creazione di applicazioni interattive senza un complesso sviluppo front-end. Se abbinato a Ultralytics YOLO11, consente agli utenti di caricare immagini, elaborare video e visualizzare risultati in tempo reale con il minimo sforzo.
Ultralytics fa un ulteriore passo avanti con la sua soluzione Live Inference, rendendo l'integrazione di Streamlit ancora più semplice. Con un singolo comando, gli utenti possono avviare un'app Streamlit per YOLO11 pre-costruita, eliminando la necessità di configurazione manuale e codifica.
In questo articolo, vedremo come configurare ed eseguire YOLO11 utilizzando la soluzione Live Inference di Ultralytics con Streamlit, rendendo la distribuzione dell'IA in tempo reale più rapida e accessibile.
Cos'è Streamlit?#
Streamlit è un framework Python che semplifica la creazione di applicazioni web interattive. Gli sviluppatori di IA possono creare app basate sull'IA senza doversi occupare delle complessità dello sviluppo front-end.
È progettato per funzionare perfettamente con modelli di IA e machine learning. Con solo poche righe di Python, gli sviluppatori possono creare un'interfaccia in cui gli utenti possono caricare immagini, elaborare video e interagire con modelli di IA.

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 la distribuzione di applicazioni IA, 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 addentrarci in come eseguire inferenze live con Ultralytics YOLO11 in un'applicazione Streamlit, diamo un'occhiata più da vicino a ciò che rende YOLO11 così affidabile.
Ultralytics YOLO11 è un modello progettato per attività di computer vision in tempo reale come il rilevamento di oggetti, la segmentazione delle istanze e la stima della posa. Offre prestazioni ad alta velocità con una precisione straordinaria.

Fig. 2 Un esempio di utilizzo di YOLO11 per il rilevamento di oggetti.
Uno dei maggiori vantaggi di YOLO11 è la sua facilità d'uso. Non c'è bisogno di configurazioni complesse; gli sviluppatori possono installare il pacchetto Python di Ultralytics e iniziare a fare previsioni con solo poche righe di codice.
Il pacchetto Python di Ultralytics offre una gamma di funzionalità, consentendo agli utenti di perfezionare i modelli e regolare le impostazioni di rilevamento. Aiuta anche a ottimizzare le prestazioni su diversi dispositivi per una distribuzione più fluida.
Oltre alla flessibilità, il pacchetto Python di Ultralytics supporta integrazioni su più piattaforme, inclusi dispositivi edge, ambienti cloud e sistemi abilitati per GPU NVIDIA. Che venga distribuito su un piccolo dispositivo embedded o su un server cloud su larga scala, YOLO11 si adatta senza sforzo, rendendo l'intelligenza artificiale visiva avanzata più accessibile che mai.
Vantaggi dell'utilizzo di Streamlit con Ultralytics YOLO11#
Potresti chiederti: come faccio a sapere se Streamlit è la giusta opzione di deployment per me? Se cerchi un modo semplice ed efficiente in termini di codice per eseguire Ultralytics YOLO11 senza occuparti dello sviluppo front-end, Streamlit è una buona scelta, soprattutto per prototipazione, progetti di proof-of-concept (PoC) o rilasci destinati a un numero ridotto di utenti.
Semplifica il processo di utilizzo di Ultralytics YOLO11 eliminando la complessità non necessaria e fornendo un'interfaccia intuitiva per l'interazione in tempo reale. Ecco altri vantaggi chiave:
-
Controlli IA personalizzabili: puoi aggiungere slider, menu a discesa e pulsanti alla tua interfaccia, consentendo agli utenti di perfezionare le impostazioni di rilevamento e filtrare facilmente oggetti specifici.
-
Integrazione con altri strumenti IA: Streamlit supporta l'integrazione con NumPy, OpenCV, Matplotlib e altre librerie di machine learning, migliorando le capacità del flusso di lavoro IA.
-
Visualizzazione dati interattiva: il supporto integrato per grafici e diagrammi consente agli utenti di visualizzare facilmente i risultati di rilevamento oggetti, segmentazione o approfondimenti sul tracking.
-
Ideale per la collaborazione: le app Streamlit possono essere facilmente condivise con membri del team, stakeholder o clienti tramite un semplice link, consentendo feedback e iterazioni istantanee.
Guida passo-passo per distribuire Ultralytics YOLO11 in un'app web Streamlit#
Ora che abbiamo esplorato i vantaggi dell'utilizzo di Streamlit con Ultralytics YOLO11, vediamo come eseguire attività di visione artificiale in tempo reale in un browser utilizzando Streamlit con YOLO11.
Installazione del pacchetto Python di Ultralytics#
Il primo passo è installare il pacchetto Python di Ultralytics. Questo può essere fatto usando il seguente comando:
Una volta installato, YOLO11 è pronto all'uso senza alcuna configurazione complicata. Se riscontri problemi durante l'installazione dei pacchetti richiesti, puoi fare riferimento alla nostra Guida ai problemi comuni per suggerimenti e soluzioni per la risoluzione dei problemi.
Avvio dell'applicazione Streamlit con Ultralytics YOLO11#
Normalmente, dovresti sviluppare uno script Python utilizzando i componenti di Streamlit per eseguire YOLO11. Tuttavia, Ultralytics fornisce un modo semplice per eseguire YOLO11 con Streamlit.
Eseguendo il seguente script Python avvierai istantaneamente l'applicazione Streamlit nel tuo browser web predefinito:
Non è necessaria alcuna configurazione aggiuntiva. L'interfaccia dell'applicazione Streamlit include una sezione di caricamento per immagini e video, un menu a tendina per selezionare la variante del modello Ultralytics YOLO11 a cui sei interessato e cursori per regolare la confidenza di rilevamento. Tutto è organizzato ordinatamente, consentendo agli utenti di eseguire inferenze senza sforzo e senza scrivere codice extra.
Esecuzione di inferenze utilizzando Ultralytics YOLO11 sull'applicazione Streamlit#
Ora che l'applicazione Streamlit è in esecuzione nel tuo browser web, esploriamo come usarla per eseguire inferenze con Ultralytics 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 discesa della configurazione utente, che indica all'applicazione di elaborare un file pre-registrato invece di un feed webcam.
- Scegli un modello YOLO11: seleziona "YOLO11l" dal menu a discesa del modello per il rilevamento di oggetti utilizzando un modello YOLO11 di grandi dimensioni.
- Avvia il processo di rilevamento: fai clic su "Avvia", consentendo a Ultralytics YOLO11 di analizzare il video fotogramma per fotogramma e rilevare oggetti in tempo reale.
- Visualizza il video elaborato: guarda mentre il video appare sullo schermo con aggiornamenti in tempo reale, visualizzando gli oggetti rilevati con riquadri di delimitazione (bounding boxes).
- Interagisci con i risultati in Streamlit: usa l'interfaccia per regolare le impostazioni o analizzare i rilevamenti, il tutto senza configurazioni extra o programmazione.

Fig 3. L'interfaccia dell'applicazione Ultralytics YOLO Streamlit.
Casi d'uso che utilizzano Streamlit e Ultralytics YOLO11#
Abbiamo dato un'occhiata a 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 complesso sviluppo front-end.
Tuttavia, eseguire 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 del lavoro di sviluppo per personalizzare l'applicazione in base a esigenze specifiche. Sebbene Streamlit semplifichi la distribuzione, dovrai comunque configurare i componenti necessari per garantire che YOLO11 funzioni senza problemi.
Esploriamo due esempi pratici di come Ultralytics YOLO11 possa essere distribuito efficacemente con Streamlit in scenari del mondo reale.
Conteggio di oggetti per controlli di inventario utilizzando Ultralytics YOLO11#
Tenere traccia dell'inventario nei negozi al dettaglio, nei magazzini o nelle aree di cancelleria per ufficio può richiedere molto tempo ed essere soggetto a errori. Utilizzando Ultralytics 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 deployment su larga scala.
Con questa configurazione, gli utenti possono caricare un'immagine o utilizzare un feed di una telecamera in diretta, e Ultralytics YOLO11 può aiutare a rilevare e contare gli oggetti istantaneamente. Il conteggio in tempo reale può essere visualizzato nell'interfaccia di 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 merci confezionate sono presenti senza doverle contare manualmente. Sfruttando Ultralytics YOLO11 e Streamlit, le aziende possono ridurre il lavoro manuale, migliorare l'accuratezza ed esplorare l'automazione con un investimento minimo.

Fig 4. Rilevamento di bottiglie in un frigorifero tramite Ultralytics YOLO11.
Migliorare la sicurezza con Ultralytics YOLO11 e Streamlit#
Mantenere sicure le aree riservate in uffici, magazzini o sedi di eventi può essere difficile, soprattutto con il monitoraggio manuale. Utilizzando Ultralytics YOLO11 con Streamlit, le aziende possono configurare un semplice sistema di sicurezza basato su IA per rilevare accessi non autorizzati in tempo reale.
Un feed di una telecamera può essere collegato all'interfaccia di Streamlit, dove Ultralytics YOLO11 viene utilizzato per identificare e tracciare le persone che entrano nelle zone riservate. Se viene rilevata una persona non autorizzata, il sistema può attivare un avviso o registrare l'evento per la revisione.
Ad esempio, un gestore di magazzino può monitorare l'accesso ad aree di stoccaggio ad alta sicurezza, o un ufficio può monitorare il movimento in sezioni riservate senza bisogno di una supervisione costante.
Questo può essere un progetto illuminante per le aziende che desiderano esplorare il monitoraggio di sicurezza guidato dalla visione artificiale prima di impegnarsi in un sistema più ampio e completamente automatizzato. Integrando Ultralytics YOLO11 con Streamlit, le aziende possono migliorare la sicurezza, ridurre al minimo il monitoraggio manuale e rispondere agli accessi non autorizzati in modo più efficace.
Suggerimenti per il monitoraggio di un'app AI interattiva con Streamlit#
L'utilizzo di strumenti come Streamlit per distribuire modelli di computer vision aiuta a creare un'esperienza interattiva e user-friendly. Tuttavia, dopo aver configurato 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 la distribuzione:
- Monitoraggio regolare: Tieni traccia della precisione di 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à: man mano che la domanda degli utenti cresce, l'ottimizzazione dell'infrastruttura è fondamentale per mantenere le prestazioni. Le piattaforme cloud e le soluzioni di distribuzione scalabili aiutano a garantire un funzionamento fluido.
- Mantenere il modello aggiornato: mantenere aggiornati il modello e le librerie migliora la precisione, la sicurezza e l'accesso a nuove funzionalità.
Punti chiave#
Ultralytics semplifica la distribuzione di YOLO11 con un'interfaccia live Streamlit pronta all'uso che viene eseguita con un singolo comando: nessuna programmazione richiesta. Ciò consente agli utenti di iniziare a utilizzare il rilevamento di oggetti in tempo reale istantaneamente.
L'interfaccia include anche una personalizzazione integrata, consentendo agli utenti di cambiare modelli, regolare la precisione del rilevamento e filtrare oggetti con facilità. Tutto è gestito all'interno di un'interfaccia semplice e user-friendly, eliminando la necessità di uno sviluppo UI manuale. Combinando
Grazie alle capacità di Ultralytics YOLO11 e alla facilità di deployment di Streamlit, aziende e sviluppatori possono prototipare, testare e perfezionare rapidamente applicazioni basate su IA.
Entra a far parte della nostra community ed esplora il nostro repository GitHub per ulteriori approfondimenti sull'IA. Dai un'occhiata alle nostre pagine delle soluzioni per saperne di più su innovazioni come l'IA nella produzione e la visione artificiale nella sanità. Scopri le nostre opzioni di licensing e inizia oggi stesso!






