Inferenza in tempo reale con l'applicazione Streamlit utilizzando Ultralytics YOLO11
Introduzione
Streamlit semplifica la creazione e la distribuzione di applicazioni web interattive. La combinazione di questo con Ultralytics YOLO11 consente il rilevamento di oggetti e l'analisi in tempo reale direttamente nel tuo browser. L'elevata precisione e velocità di YOLO11 garantiscono prestazioni ottimali per i flussi video live, rendendolo ideale per applicazioni in ambito di sicurezza, vendita al dettaglio e altro.
Guarda: Come utilizzare Streamlit con Ultralytics in tempo reale Visione artificiale nel tuo browser
Acquacoltura | Zootecnia |
---|---|
![]() |
![]() |
Rilevamento dei pesci usando Ultralytics YOLO11 | Rilevamento di animali tramite Ultralytics YOLO11 |
Vantaggi dell'inferenza live
- Rilevamento oggetti in tempo reale senza interruzioni: Streamlit, combinato con YOLO11, consente il rilevamento di oggetti in tempo reale direttamente dal feed della tua webcam. Ciò consente un'analisi e approfondimenti immediati, rendendolo ideale per applicazioni che richiedono un feedback istantaneo.
- Implementazione intuitiva: L'interfaccia interattiva di Streamlit rende semplice l'implementazione e l'utilizzo dell'applicazione senza approfondite conoscenze tecniche. Gli utenti possono avviare l'inferenza live con un semplice clic, migliorando l'accessibilità e l'usabilità.
- Utilizzo efficiente delle risorse: Gli algoritmi ottimizzati di YOLO11 garantiscono un'elaborazione ad alta velocità con risorse computazionali minime. Questa efficienza consente un'inferenza webcam fluida e affidabile anche su hardware standard, rendendo la computer vision avanzata accessibile a un pubblico più ampio.
Codice dell'applicazione Streamlit
Installazione di Ultralytics
Prima di iniziare a costruire l'applicazione, assicurati di avere installato il pacchetto Python Ultralytics. Puoi installarlo usando il comando pip install ultralytics.
Inferenza utilizzando Streamlit con Ultralytics YOLO
yolo solutions inference
yolo solutions inference model="path/to/model.pt"
from ultralytics import solutions
inf = solutions.Inference(
model="yolo11n.pt", # you can use any model that Ultralytics support, i.e. YOLO11, or custom trained model
)
inf.inference()
# Make sure to run the file using command `streamlit run path/to/file.py`
Questo lancerà l'applicazione Streamlit nel tuo browser web predefinito. Vedrai il titolo principale, il sottotitolo e la barra laterale con le opzioni di configurazione. Seleziona il modello YOLO11 desiderato, imposta la confidenza e le soglie NMS e fai clic sul pulsante "Start" per avviare il rilevamento di oggetti in tempo reale.
Come funziona
Dietro le quinte, l'applicazione Streamlit utilizza il modulo delle soluzioni Ultralytics per creare un'interfaccia interattiva. Quando si avvia l'inferenza, l'applicazione:
- Acquisisce video dalla tua webcam o da un file video caricato.
- Elabora ogni frame attraverso il modello YOLO11
- Applica il rilevamento degli oggetti con le soglie di confidenza e IoU specificate
- Visualizza sia i frame originali che quelli annotati in tempo reale
- Abilita opzionalmente il tracciamento degli oggetti se selezionato
L'applicazione fornisce un'interfaccia pulita e intuitiva con controlli per regolare i parametri del modello e avviare/arrestare l'inferenza in qualsiasi momento.
Conclusione
Seguendo questa guida, hai creato con successo un'applicazione di rilevamento oggetti in tempo reale utilizzando Streamlit e Ultralytics YOLO11. Questa applicazione ti consente di sperimentare la potenza di YOLO11 nel rilevamento di oggetti attraverso la tua webcam, con un'interfaccia user-friendly e la possibilità di interrompere lo streaming video in qualsiasi momento.
Per ulteriori miglioramenti, puoi esplorare l'aggiunta di altre funzionalità come la registrazione del flusso video, il salvataggio dei frame annotati o l'integrazione con altre librerie di computer vision.
Condividi le tue opinioni con la community
Interagisci con la community per saperne di più, risolvere i problemi e condividere i tuoi progetti:
Dove trovare aiuto e supporto
- Problemi su GitHub: Visita il repository Ultralytics su GitHub per porre domande, segnalare bug e suggerire funzionalità.
- Server Discord di Ultralytics: unisciti al server Discord di Ultralytics per entrare in contatto con altri utenti e sviluppatori, ottenere supporto, condividere conoscenze e fare brainstorming di idee.
Documentazione ufficiale
- Documentazione di Ultralytics YOLO11: Fai riferimento alla documentazione ufficiale di YOLO11 per guide complete e approfondimenti su varie attività e progetti di computer vision.
FAQ
Come posso configurare un'applicazione di rilevamento oggetti in tempo reale utilizzando Streamlit e Ultralytics YOLO11?
Configurare un'applicazione di rilevamento oggetti in tempo reale con Streamlit e Ultralytics YOLO11 è semplice. Innanzitutto, assicurati di aver installato il pacchetto Python Ultralytics usando:
pip install ultralytics
Quindi, puoi creare un'applicazione Streamlit di base per eseguire l'inferenza in tempo reale:
Applicazione Streamlit
from ultralytics import solutions
inf = solutions.Inference(
model="yolo11n.pt", # you can use any model that Ultralytics support, i.e. YOLO11, YOLOv10
)
inf.inference()
# Make sure to run the file using command `streamlit run path/to/file.py`
yolo solutions inference
Per maggiori dettagli sulla configurazione pratica, consultare la sezione Codice dell'applicazione Streamlit della documentazione.
Quali sono i principali vantaggi dell'utilizzo di Ultralytics YOLO11 con Streamlit per il rilevamento di oggetti in tempo reale?
L'utilizzo di Ultralytics YOLO11 con Streamlit per il rilevamento di oggetti in tempo reale offre diversi vantaggi:
- Rilevamento in tempo reale senza interruzioni: Ottieni un rilevamento di oggetti in tempo reale ad alta precisione direttamente dai feed della webcam.
- Interfaccia intuitiva: L'interfaccia intuitiva di Streamlit consente un facile utilizzo e implementazione senza approfondite conoscenze tecniche.
- Efficienza delle risorse: Gli algoritmi ottimizzati di YOLO11 garantiscono un'elaborazione ad alta velocità con risorse computazionali minime.
Scopri di più su questi vantaggi nella sezione Vantaggi dell'inferenza live.
Come posso distribuire un'applicazione di object detection Streamlit nel mio browser web?
Dopo aver codificato la tua applicazione Streamlit integrando Ultralytics YOLO11, puoi implementarla eseguendo:
streamlit run path/to/file.py
Questo comando avvierà l'applicazione nel tuo browser web predefinito, consentendoti di selezionare modelli YOLO11, impostare soglie di confidenza e NMS e avviare il rilevamento di oggetti in tempo reale con un semplice clic. Per una guida dettagliata, consulta la sezione Codice dell'applicazione Streamlit.
Quali sono alcuni casi d'uso per il rilevamento di oggetti in tempo reale utilizzando Streamlit e Ultralytics YOLO11?
Il rilevamento di oggetti in tempo reale tramite Streamlit e Ultralytics YOLO11 può essere applicato in vari settori:
- Sicurezza: Monitoraggio in tempo reale per accessi non autorizzati e sistemi di allarme di sicurezza.
- Retail: Conteggio dei clienti, gestione degli scaffali e monitoraggio dell'inventario.
- Fauna selvatica e agricoltura: Monitoraggio degli animali e delle condizioni delle colture per iniziative di conservazione.
Per casi d'uso ed esempi più approfonditi, esplora le Soluzioni Ultralytics.
Come si confronta Ultralytics YOLO11 con altri modelli di object detection come YOLOv5 e RCNN?
Ultralytics YOLO11 offre diversi miglioramenti rispetto ai modelli precedenti come YOLOv5 e RCNN:
- Maggiore velocità e precisione: prestazioni migliorate per applicazioni in tempo reale.
- Facilità d'uso: Interfacce e implementazione semplificate.
- Efficienza delle risorse: Ottimizzato per una maggiore velocità con requisiti computazionali minimi.
Per un confronto completo, consulta la Documentazione di Ultralytics YOLO11 e i post del blog correlati che discutono le prestazioni del modello.