Cliccando su “Accetta tutti i cookie”, l'utente accetta di memorizzare i cookie sul proprio dispositivo per migliorare la navigazione del sito, analizzare l'utilizzo del sito e assistere le nostre attività di marketing. Maggiori informazioni
Impostazioni dei cookie
Cliccando su “Accetta tutti i cookie”, l'utente accetta di memorizzare i cookie sul proprio dispositivo per migliorare la navigazione del sito, analizzare l'utilizzo del sito e assistere le nostre attività di marketing. Maggiori informazioni
Scopri come eseguire inferenze YOLO11 all'interno di un'interfaccia Streamlit e creare un'interfaccia AI interattiva per attività di computer vision senza competenze di programmazione.
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.
Prendi ad esempio Ultralytics YOLO11. È un modello che supporta varie attività ed è utile in una vasta gamma di applicazioni. Tuttavia, senza una certa conoscenza tecnica del front-end, la creazione e l'implementazione di un'interfaccia user-friendly per un'interazione senza interruzioni può sembrare un po' impegnativa per alcuni ingegneri dell'IA.
Streamlit è un framework open-source che mira a semplificare questo processo. È uno strumento basato su Python per la creazione di applicazioni interattive senza un complesso sviluppo front-end. Se abbinato a 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 pre-costruita per YOLO11, eliminando la necessità di configurazione e codifica manuale.
In questo articolo, esamineremo come configurare ed eseguire YOLO11 utilizzando la soluzione Live Inference di Ultralytics con Streamlit, rendendo l'implementazione dell'IA in tempo reale più veloce 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 dover affrontare le complessità dello sviluppo front-end.
È progettato per funzionare perfettamente con modelli di IA e machine learning. Con 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 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 di Vision AI versatile
Prima di approfondire come eseguire inferenze live con Ultralytics YOLO11 in un'applicazione Streamlit, esaminiamo più da vicino cosa rende YOLO11 così affidabile.
Ultralytics YOLO11 è un modello progettato per attività di computer vision in tempo reale, come object detection, instance segmentation e pose estimation. Offre prestazioni ad alta velocità con un'accuratezza impressionante.
Fig. 2. Un esempio di utilizzo di YOLO11 per l'object detection.
Uno dei maggiori vantaggi di YOLO11 è la sua facilità d'uso. Non è necessaria una configurazione complessa; gli sviluppatori possono installare il pacchetto Python Ultralytics e iniziare a fare previsioni con poche righe di codice.
Il pacchetto Python Ultralytics offre una vasta gamma di funzionalità, consentendo agli utenti di ottimizzare i modelli e regolare le impostazioni di detection. Aiuta anche a ottimizzare le prestazioni su diversi dispositivi per un deployment più fluido.
Oltre alla flessibilità, il pacchetto Python Ultralytics supporta integrazioni su più piattaforme, inclusi dispositivi edge, ambienti cloud e sistemi abilitati per GPU NVIDIA. Che venga implementato su un piccolo dispositivo embedded o su un server cloud su larga scala, YOLO11 si adatta senza sforzo, rendendo l'AI di visione avanzata più accessibile che mai.
Vantaggi dell'utilizzo di Streamlit con Ultralytics YOLO11
Potresti chiederti: come faccio a sapere se Streamlit è l'opzione di deployment giusta per me? Se stai cercando un modo semplice ed efficiente in termini di codice per eseguire YOLO11 senza doverti occupare dello sviluppo front-end, Streamlit è una buona opzione, soprattutto per la prototipazione, i progetti proof-of-concept (PoC) o i deployment destinati a un numero inferiore di utenti.
Semplifica il processo di lavoro con YOLO11 eliminando la complessità non necessaria 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 intelligenza artificiale: Streamlit supporta l'integrazione con NumPy, OpenCV, Matplotlib e altre librerie di machine learning, 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 dettagliata per il deployment di YOLO11 in una web app Streamlit
Ora che abbiamo esplorato i vantaggi dell'utilizzo di Streamlit con YOLO11, vediamo come eseguire attività di computer vision in tempo reale in un browser utilizzando Streamlit con YOLO11.
Installazione del pacchetto Python Ultralytics
Il primo passo è installare il pacchetto Python Ultralytics. Questo può essere fatto usando il seguente comando:
Una volta installato, YOLO11 è pronto per l'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 YOLO11
Normalmente, sarebbe necessario sviluppare uno script Python utilizzando i componenti Streamlit per eseguire YOLO11. Tuttavia, Ultralytics fornisce un modo semplice per eseguire YOLO11 con Streamlit.
L'esecuzione del seguente script Python avvierà immediatamente 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 YOLO11 a cui sei interessato e slider per regolare la confidence della detection. Tutto è ben organizzato, rendendo possibile agli utenti eseguire inferenze senza sforzo senza scrivere codice aggiuntivo.
Esecuzione di inferenze con YOLO11 sull'applicazione Streamlit
Ora che l'applicazione Streamlit è in esecuzione nel tuo 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.
Scegli un modello YOLO11: Seleziona "YOLO11l" dal menu a tendina del modello per il rilevamento di oggetti utilizzando un modello YOLO11 di grandi dimensioni.
Avvia il processo di rilevamento: Clicca su "Start", consentendo a YOLO11 di analizzare il video fotogramma per fotogramma e rilevare 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.
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 lavoro di sviluppo per personalizzare l'applicazione in base alle esigenze specifiche. Sebbene Streamlit semplifichi la distribuzione, sarà comunque necessario configurare i componenti necessari per garantire che YOLO11 funzioni senza problemi.
Esploriamo due esempi pratici di come Ultralytics YOLO11 può essere implementato efficacemente con Streamlit in scenari reali.
Conteggio di oggetti per il controllo dell'inventario utilizzando YOLO11
Tenere traccia dell'inventario in negozi al dettaglio, magazzini o aree di fornitura per ufficio 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, rendendola 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 un feed da telecamera in diretta e YOLO11 può aiutare a rilevare e contare gli oggetti istantaneamente. Il conteggio in tempo reale può essere visualizzato nell'interfaccia Streamlit, fornendo un modo semplice per monitorare i livelli di stock senza 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.
Fig. 4. Rilevamento di bottiglie in un frigorifero utilizzando YOLO11.
Aumento della sicurezza con YOLO11 e Streamlit
Mantenere sicure le aree riservate in uffici, magazzini o sedi di eventi può essere difficile, soprattutto con il monitoraggio manuale. Utilizzando YOLO11 con Streamlit, le aziende possono impostare un semplice sistema di sicurezza basato sull'intelligenza artificiale per rilevare accessi non autorizzati in tempo reale.
Un feed da telecamera può essere collegato all'interfaccia Streamlit, dove YOLO11 viene utilizzato per identificare e tracciare le persone che entrano in 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 responsabile di magazzino può monitorare l'accesso alle aree di stoccaggio ad alta sicurezza, oppure un ufficio può tracciare i movimenti in sezioni riservate senza necessità di supervisione costante.
Questo 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 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 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 live Streamlit pronta all'uso che funziona con un singolo comando, senza bisogno di programmazione. Ciò consente agli utenti di iniziare a utilizzare immediatamente il rilevamento di 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
le capacità di YOLO11 con la facilità di implementazione di Streamlit, aziende e sviluppatori possono prototipare, testare e perfezionare rapidamente applicazioni basate sull'intelligenza artificiale.