Vai al contenuto

Inferenza dal vivo con l'applicazione Streamlit utilizzando Ultralytics YOLOv8

Introduzione

Streamlit semplifica la creazione e la distribuzione di applicazioni web interattive. La combinazione con Ultralytics YOLOv8 consente il rilevamento e l'analisi degli oggetti in tempo reale direttamente nel browser. YOLOv8 garantisce un'elevata precisione e velocità per i flussi video in diretta, rendendolo ideale per le applicazioni nei settori della sicurezza, della vendita al dettaglio e non solo.

Acquacoltura Animals husbandry
Fish Detection using Ultralytics YOLOv8 Animals Detection using Ultralytics YOLOv8
Fish Detection using Ultralytics YOLOv8 Animals Detection using Ultralytics YOLOv8

Vantaggi dell'inferenza dal vivo

  • Seamless Real-Time Object Detection: Streamlit combined with YOLOv8 enables real-time object detection directly from your webcam feed. This allows for immediate analysis and insights, making it ideal for applications requiring instant feedback.
  • User-Friendly Deployment: Streamlit's interactive interface makes it easy to deploy and use the application without extensive technical knowledge. Users can start live inference with a simple click, enhancing accessibility and usability.
  • Efficient Resource Utilization: YOLOv8 optimized algorithm ensure high-speed processing with minimal computational resources. This efficiency allows for smooth and reliable webcam inference even on standard hardware, making advanced computer vision accessible to a wider audience.

Codice applicazione Streamlit

Ultralytics Installazione

Before you start building the application, ensure you have the Ultralytics Python Package installed. You can install it using the command pip install ultralytics

Applicazione Streamlit

from ultralytics import solutions

solutions.inference()

### Make sure to run the file using command `streamlit run <file-name.py>`
yolo streamlit-predict

In questo modo verrà avviata 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 YOLOv8 desiderato, imposta le soglie di confidenza e NMS e clicca sul pulsante "Start" per iniziare il rilevamento degli oggetti in tempo reale.

Conclusione

Seguendo questa guida, hai creato con successo un'applicazione per il rilevamento di oggetti in tempo reale utilizzando Streamlit e Ultralytics YOLOv8 . Questa applicazione ti permette di sperimentare la potenza di YOLOv8 nel rilevamento di oggetti attraverso la tua webcam, con un'interfaccia facile da usare e la possibilità di interrompere il flusso video in qualsiasi momento.

Per ulteriori miglioramenti, puoi valutare l'aggiunta di altre funzioni come la registrazione del flusso video, il salvataggio dei fotogrammi annotati o l'integrazione con altre librerie di computer vision.

Condividi i tuoi pensieri con la community

Partecipa alla comunità per saperne di più, risolvere i problemi e condividere i tuoi progetti:

Dove trovare aiuto e supporto

  • GitHub Issues: Visit the Ultralytics GitHub repository to raise questions, report bugs, and suggest features.
  • Ultralytics Server Discord: Unisciti al server Discord diUltralytics per connetterti con altri utenti e sviluppatori, ricevere supporto, condividere conoscenze e fare brainstorming di idee.

Documentazione ufficiale

  • Ultralytics YOLOv8 Documentation: Refer to the official YOLOv8 documentation for comprehensive guides and insights on various computer vision tasks and projects.

DOMANDE FREQUENTI

Come posso configurare un'applicazione di rilevamento di oggetti in tempo reale utilizzando Streamlit e Ultralytics YOLOv8 ?

La configurazione di un'applicazione di rilevamento di oggetti in tempo reale con Streamlit e Ultralytics YOLOv8 è semplice. Innanzitutto, assicurati di aver installato il pacchetto Ultralytics Python utilizzando:

pip install ultralytics

Quindi, puoi creare un'applicazione Streamlit di base per eseguire l'inferenza dal vivo:

Applicazione Streamlit

from ultralytics import solutions
solutions.inference()

### Make sure to run the file using command `streamlit run <file-name.py>`
yolo streamlit-predict

For more details on the practical setup, refer to the Streamlit Application Code section of the documentation.

Quali sono i principali vantaggi dell'utilizzo di Ultralytics YOLOv8 con Streamlit per il rilevamento di oggetti in tempo reale?

L'utilizzo di Ultralytics YOLOv8 con Streamlit per il rilevamento degli oggetti in tempo reale offre diversi vantaggi:

  • Seamless Real-Time Detection: Achieve high-accuracy, real-time object detection directly from webcam feeds.
  • User-Friendly Interface: Streamlit's intuitive interface allows easy use and deployment without extensive technical knowledge.
  • Resource Efficiency: YOLOv8's optimized algorithms ensure high-speed processing with minimal computational resources.

Discover more about these advantages here.

Come faccio a distribuire un'applicazione di rilevamento di oggetti Streamlit nel mio browser web?

Dopo aver codificato la tua applicazione Streamlit integrando Ultralytics YOLOv8 , puoi distribuirla eseguendo:

streamlit run <file-name.py>

This command will launch the application in your default web browser, enabling you to select YOLOv8 models, set confidence, and NMS thresholds, and start real-time object detection with a simple click. For a detailed guide, refer to the Streamlit Application Code section.

Quali sono alcuni casi d'uso per il rilevamento di oggetti in tempo reale utilizzando Streamlit e Ultralytics YOLOv8 ?

Il rilevamento di oggetti in tempo reale tramite Streamlit e Ultralytics YOLOv8 può essere applicato in diversi settori:

  • Security: Real-time monitoring for unauthorized access.
  • Retail: Customer counting, shelf management, and more.
  • Wildlife and Agriculture: Monitoring animals and crop conditions.

For more in-depth use cases and examples, explore Ultralytics Solutions.

Come si colloca Ultralytics YOLOv8 rispetto ad altri modelli di rilevamento degli oggetti come YOLOv5 e RCNNs?

Ultralytics YOLOv8 offre diversi miglioramenti rispetto a modelli precedenti come YOLOv5 e RCNN:

  • Higher Speed and Accuracy: Improved performance for real-time applications.
  • Ease of Use: Simplified interfaces and deployment.
  • Resource Efficiency: Optimized for better speed with minimal computational requirements.

For a comprehensive comparison, check Ultralytics YOLOv8 Documentation and related blog posts discussing model performance.



Created 2024-07-05, Updated 2024-07-05
Authors: glenn-jocher (1)

Commenti