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

I modelli di computer vision sono strumenti di AI potenti che consentono alle macchine di interpretare e analizzare dati visivi, eseguendo attività come il rilevamento degli oggetti, la classificazione delle immagini e la segmentazione delle istanze con elevata accuratezza. Tuttavia, a volte possono richiedere competenze tecniche aggiuntive, come quelle di sviluppo web o di sviluppo di app mobile, per essere distribuiti e resi accessibili a un pubblico più ampio.
Prendiamo Ultralytics YOLO11, ad esempio. È un modello che supporta diverse attività ed è utile in numerose applicazioni. Tuttavia, senza alcune conoscenze tecniche di sviluppo front-end, creare e distribuire un'interfaccia intuitiva per un'interazione fluida può risultare un po' difficile per alcuni ingegneri AI.
Streamlit è un framework open source che mira a semplificare questo processo. È uno strumento basato su Python per creare applicazioni interattive senza uno sviluppo front-end complesso. In combinazione con 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 ancora più semplice l'integrazione con Streamlit. Con un solo comando, gli utenti possono avviare una app Streamlit per YOLO11 già pronta, eliminando la necessità di configurazione e programmazione manuali.
In questo articolo illustreremo come configurare ed eseguire YOLO11 utilizzando la soluzione Live Inference di Ultralytics con Streamlit, rendendo la distribuzione dell'AI in tempo reale più rapida e accessibile.
Che cos'è Streamlit?#
Streamlit è un framework Python che semplifica la creazione di applicazioni web interattive. Gli sviluppatori AI possono creare app basate sull'AI senza dover affrontare le complessità dello sviluppo front-end.
È progettato per funzionare perfettamente con modelli di AI e machine learning. Con poche righe di Python, gli sviluppatori possono creare un'interfaccia che consente agli utenti di caricare immagini, elaborare video e interagire con i modelli AI.

Fig. 1. Funzionalità principali di Streamlit. Immagine dell'autore.
Una delle sue funzionalità principali è il rendering dinamico. Quando gli utenti apportano modifiche, l'app si aggiorna automaticamente senza richiedere il ricaricamento manuale della pagina.
Inoltre, essendo leggero e facile da usare, Streamlit funziona in modo efficiente sia sui computer locali sia sulle piattaforme cloud. Questo lo rende un'ottima scelta per distribuire applicazioni AI, condividere modelli con altri e offrire un'esperienza utente intuitiva e interattiva.
Ultralytics YOLO11: un versatile modello di Vision AI#
Prima di vedere come eseguire inferenze live con Ultralytics YOLO11 in un'applicazione Streamlit, esaminiamo più da vicino ciò che rende YOLO11 così affidabile.
Ultralytics YOLO11 è un modello progettato per attività di computer vision in tempo reale, come il rilevamento degli oggetti, la segmentazione delle istanze e la stima della posa. Offre prestazioni ad alta velocità con un'accuratezza straordinaria.

Fig. 2. Un esempio dell'uso di YOLO11 per il rilevamento degli oggetti.
Uno dei principali vantaggi di YOLO11 è la sua facilità d'uso. Non sono necessarie configurazioni complesse: gli sviluppatori possono installare il pacchetto Python di Ultralytics e iniziare a eseguire predizioni con poche righe di codice.
Il pacchetto Python di Ultralytics offre numerose funzionalità, consentendo agli utenti di eseguire il fine-tuning dei modelli e regolare le impostazioni di rilevamento. Aiuta inoltre a ottimizzare le prestazioni su dispositivi diversi, per una distribuzione più fluida.
Oltre alla flessibilità, il pacchetto Python di Ultralytics supporta integrazioni con numerose piattaforme, inclusi dispositivi edge, ambienti cloud e sistemi dotati di GPU NVIDIA. Che venga distribuito su un piccolo dispositivo embedded o su un server cloud su larga scala, YOLO11 si adatta senza difficoltà, rendendo l'AI avanzata per la visione più accessibile che mai.
Vantaggi dell'uso di Streamlit con Ultralytics YOLO11#
Potresti chiederti: come faccio a sapere se Streamlit è l'opzione di distribuzione giusta per me? Se cerchi un modo semplice ed efficiente dal punto di vista del codice per eseguire Ultralytics YOLO11 senza occuparti dello sviluppo front-end, Streamlit è una buona opzione, soprattutto per la prototipazione, i progetti di prova di concetto (PoC) o le distribuzioni rivolte a un numero ridotto di utenti.
Semplifica il processo di utilizzo di Ultralytics YOLO11 eliminando la complessità superflua e offrendo un'interfaccia intuitiva per l'interazione in tempo reale. Ecco altri vantaggi principali:
-
Controlli AI personalizzabili: puoi aggiungere slider, menu a discesa e pulsanti all'interfaccia, consentendo agli utenti di perfezionare le impostazioni di rilevamento e filtrare facilmente oggetti specifici.
-
Integrazione con altri strumenti AI: Streamlit supporta l'integrazione con NumPy, OpenCV, Matplotlib e altre librerie di machine learning, potenziando le funzionalità del workflow AI.
-
Visualizzazione interattiva dei dati: il supporto integrato per grafici e diagrammi consente agli utenti di visualizzare facilmente i risultati del rilevamento degli oggetti e della segmentazione, nonché le informazioni sul tracking.
-
Adatto alla collaborazione: le app Streamlit possono essere condivise facilmente con membri del team, stakeholder o clienti tramite un semplice link, consentendo di ricevere feedback e apportare iterazioni all'istante.
Guida passo passo alla distribuzione di Ultralytics YOLO11 in un'app web Streamlit#
Ora che abbiamo esaminato i vantaggi di usare Streamlit con Ultralytics YOLO11, vediamo come eseguire attività di computer vision in tempo reale in un browser utilizzando Streamlit con YOLO11.
Installazione del pacchetto Python di Ultralytics#
Il primo passo consiste nell'installare il pacchetto Python di Ultralytics. Puoi farlo utilizzando il comando seguente:
Una volta installato, YOLO11 è pronto per essere utilizzato senza configurazioni complicate. Se riscontri problemi durante l'installazione dei pacchetti necessari, puoi consultare la nostra Guida ai problemi comuni per suggerimenti e soluzioni di risoluzione dei problemi.
Avvio dell'applicazione Streamlit con Ultralytics YOLO11#
Normalmente, per eseguire YOLO11 dovresti sviluppare uno script Python utilizzando i componenti di Streamlit. Tuttavia, Ultralytics offre un modo semplice per eseguire YOLO11 con Streamlit.
L'esecuzione dello script Python seguente avvierà immediatamente l'applicazione Streamlit nel browser web predefinito:
Non è necessaria alcuna configurazione aggiuntiva. L'interfaccia dell'applicazione Streamlit include una sezione per caricare immagini e video, un menu a discesa per selezionare la variante del modello Ultralytics YOLO11 che ti interessa e slider per regolare la confidenza del rilevamento. Tutto è organizzato in modo chiaro, consentendo agli utenti di eseguire inferenze senza difficoltà e senza scrivere codice aggiuntivo.
Esecuzione di inferenze con Ultralytics YOLO11 nell'applicazione Streamlit#
Ora che l'applicazione Streamlit è in esecuzione nel browser web, vediamo come utilizzarla per eseguire inferenze con Ultralytics YOLO11.
Ad esempio, supponiamo di voler analizzare un file video per il rilevamento degli 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, indicando all'applicazione di elaborare un file preregistrato invece del feed della webcam.
- Scegli un modello YOLO11: seleziona "YOLO11l" dal menu a discesa dei modelli per il rilevamento degli oggetti utilizzando un modello YOLO11 di grandi dimensioni.
- Avvia il processo di rilevamento: fai clic su "Start" per consentire a Ultralytics YOLO11 di analizzare il video fotogramma per fotogramma e rilevare gli oggetti in tempo reale.
- Visualizza il video elaborato: guarda il video apparire sullo schermo con aggiornamenti live, mostrando gli oggetti rilevati tramite riquadri di delimitazione.
- Interagisci con i risultati in Streamlit: usa l'interfaccia per regolare le impostazioni o analizzare i rilevamenti, senza configurazioni o programmazione aggiuntive.

Fig. 3. L'interfaccia dell'applicazione Streamlit di Ultralytics YOLO.
Casi d'uso di Streamlit e Ultralytics YOLO11#
Abbiamo visto come Streamlit sia ideale per creare prototipi, strumenti di ricerca e applicazioni di piccole e medie dimensioni. Offre un modo semplice per distribuire modelli AI senza uno sviluppo front-end complesso.
Tuttavia, eseguire YOLO11 con Streamlit non è sempre una soluzione pronta all'uso, a meno che tu non utilizzi l'applicazione Streamlit di Ultralytics YOLO che abbiamo configurato nei passaggi precedenti. Nella maggior parte dei casi, è necessario svolgere alcune attività di sviluppo per personalizzare l'applicazione in base a esigenze specifiche. Sebbene Streamlit semplifichi la distribuzione, dovrai comunque configurare i componenti necessari per assicurarti che YOLO11 funzioni correttamente.
Esploriamo due esempi pratici di come Ultralytics YOLO11 possa essere distribuito efficacemente con Streamlit in scenari reali.
Conteggio degli oggetti per i controlli dell'inventario con Ultralytics YOLO11#
Tenere traccia dell'inventario nei negozi al dettaglio, nei magazzini o nelle aree per le forniture d'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 una prova di concetto (PoC) prima di impegnarsi in una distribuzione su larga scala.
Con questa configurazione, gli utenti possono caricare un'immagine o utilizzare il feed di una videocamera live, mentre Ultralytics YOLO11 può aiutare a rilevare e contare gli oggetti all'istante. Il conteggio in tempo reale può essere visualizzato nell'interfaccia Streamlit, offrendo un modo semplice per monitorare i livelli delle scorte senza interventi manuali.
Ad esempio, il proprietario di un negozio può scansionare uno scaffale e vedere immediatamente quante bottiglie, scatole o confezioni 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 con Ultralytics YOLO11.
Migliorare la sicurezza con Ultralytics YOLO11 e Streamlit#
Proteggere le aree ad accesso limitato in uffici, magazzini o luoghi 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 sull'AI per rilevare gli accessi non autorizzati in tempo reale.
È possibile collegare un feed video all'interfaccia Streamlit, dove Ultralytics YOLO11 viene utilizzato per identificare e monitorare le persone che entrano nelle zone ad accesso limitato. Se viene rilevata una persona non autorizzata, il sistema può attivare un avviso o registrare l'evento per una revisione.
Ad esempio, un responsabile di magazzino può monitorare l'accesso alle aree di stoccaggio ad alta sicurezza, oppure un ufficio può monitorare i movimenti nelle sezioni ad accesso limitato senza bisogno di una supervisione costante.
Può essere un progetto illuminante per le aziende che desiderano esplorare il monitoraggio della sicurezza basato sulla vision AI 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 in modo più efficace agli accessi non autorizzati.
Suggerimenti per il monitoraggio di un'app AI interattiva con Streamlit#
L'uso di strumenti come Streamlit per distribuire modelli di computer vision aiuta a creare un'esperienza interattiva e intuitiva. 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 principali da considerare dopo la distribuzione:
- Monitoraggio regolare: monitora l'accuratezza del rilevamento, la velocità di inferenza e l'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 da parte degli utenti, ottimizzare l'infrastruttura è fondamentale per mantenere le prestazioni. Le piattaforme cloud e le soluzioni di distribuzione scalabili contribuiscono a garantire un funzionamento fluido.
- Mantenimento del modello aggiornato: mantenere aggiornati il modello e le librerie migliora l'accuratezza, la sicurezza e l'accesso alle nuove funzionalità.
Punti chiave#
Ultralytics semplifica la distribuzione di YOLO11 con un'interfaccia live Streamlit pronta all'uso, eseguibile con un solo comando e senza bisogno di scrivere codice. Questo consente agli utenti di iniziare immediatamente a utilizzare il rilevamento degli oggetti in tempo reale.
L'interfaccia include anche funzionalità di personalizzazione integrate, che consentono agli utenti di cambiare modello, regolare l'accuratezza del rilevamento e filtrare gli oggetti con facilità. Tutto è gestito all'interno di un'interfaccia semplice e intuitiva, eliminando la necessità di sviluppare manualmente l'interfaccia utente. Combinando
le capacità di Ultralytics YOLO11 con la facilità di distribuzione di Streamlit, aziende e sviluppatori possono prototipare, testare e perfezionare rapidamente applicazioni basate sull'AI.
Entra a far parte della nostra community ed esplora il nostro repository GitHub per scoprire ulteriori informazioni sull'AI. Dai un'occhiata alle nostre pagine dedicate alle soluzioni per saperne di più su innovazioni come l'AI nel settore manifatturiero e la computer vision nel settore sanitario. Scopri le nostre opzioni di licenza e inizia oggi stesso!









