Soluzioni Ultralytics: Sfrutta YOLO11 per risolvere problemi del mondo reale
Le soluzioni Ultralytics forniscono applicazioni all'avanguardia dei modelli YOLO, offrendo soluzioni reali come il conteggio degli oggetti, la sfocatura e i sistemi di sicurezza, migliorando l'efficienza e la precisione in diversi settori. Scopri la potenza di YOLO11 per implementazioni pratiche e di grande impatto.
Guarda: Come eseguire soluzioni Ultralytics dalla riga di comando (CLI) | Ultralytics YOLO11 🚀
Soluzioni
Ecco la nostra lista curata di soluzioni Ultralytics che possono essere utilizzate per creare fantastici progetti di computer vision.
- Conteggio degli oggetti: Impara a eseguire il conteggio degli oggetti in tempo reale con YOLO11. Acquisisci l'esperienza per contare accuratamente gli oggetti nei flussi video live.
- Ritaglio degli oggetti: Padroneggia il ritaglio degli oggetti con YOLO11 per l'estrazione precisa di oggetti da immagini e video.
- Offuscamento degli oggetti: Applica l'offuscamento degli oggetti utilizzando YOLO11 per proteggere la privacy nell'elaborazione di immagini e video.
- Monitoraggio degli allenamenti: Scopri come monitorare gli allenamenti utilizzando YOLO11. Impara a tracciare e analizzare varie routine di fitness in tempo reale.
- Conteggio degli oggetti nelle regioni: Conta gli oggetti in regioni specifiche utilizzando YOLO11 per un rilevamento accurato in aree diverse.
- Sistema di allarme di sicurezza: Crea un sistema di allarme di sicurezza con YOLO11 che attiva avvisi quando vengono rilevati nuovi oggetti. Personalizza il sistema per adattarlo alle tue esigenze specifiche.
- Heatmap: Utilizza le heatmap di rilevamento per visualizzare l'intensità dei dati attraverso una matrice, fornendo chiare informazioni nelle attività di computer vision.
- Segmentazione di istanza con tracciamento di oggetti: Implementa la segmentazione di istanza e il tracciamento di oggetti con YOLO11 per ottenere confini degli oggetti precisi e un monitoraggio continuo.
- VisionEye View Objects Mapping: Sviluppa sistemi che imitano la messa a fuoco dell'occhio umano su oggetti specifici, migliorando la capacità del computer di discernere e dare priorità ai dettagli.
- Stima della velocità: Stima la velocità degli oggetti utilizzando YOLO11 e tecniche di tracciamento degli oggetti, fondamentali per applicazioni come veicoli autonomi e monitoraggio del traffico.
- Calcolo della distanza: calcola le distanze tra gli oggetti utilizzando i centroidi del bounding box in YOLO11, essenziale per l'analisi spaziale.
- Gestione delle code: Implementa sistemi efficienti di gestione delle code per ridurre al minimo i tempi di attesa e migliorare la produttività utilizzando YOLO11.
- Gestione del parcheggio: Organizza e dirigi il flusso dei veicoli nelle aree di parcheggio con YOLO11, ottimizzando l'utilizzo dello spazio e l'esperienza dell'utente.
- Analisi: Esegui un'analisi completa dei dati per scoprire modelli e prendere decisioni informate, sfruttando YOLO11 per analisi descrittive, predittive e prescrittive.
- Inferenza in tempo reale con Streamlit: Sfrutta la potenza di YOLO11 per il rilevamento di oggetti in tempo reale direttamente tramite il tuo browser web con un'interfaccia Streamlit intuitiva.
- Traccia oggetti in una zona: Scopri come tracciare oggetti all'interno di zone specifiche di fotogrammi video utilizzando YOLO11 per un monitoraggio preciso ed efficiente.
- Ricerca di similarità 🚀 NOVITÀ: Abilita il recupero intelligente di immagini combinando gli embedding OpenAI CLIP con Meta FAISS, consentendo query in linguaggio naturale come "persona che tiene una borsa" o "veicoli in movimento".
Solutions Arguments
Argomento | Tipo | Predefinito | Descrizione |
---|---|---|---|
model |
str |
None |
Percorso del file del modello Ultralytics YOLO. |
region |
list |
'[(20, 400), (1260, 400)]' |
Elenco dei punti che definiscono la regione di conteggio. |
show_in |
bool |
True |
Flag per controllare se visualizzare i conteggi in streaming video. |
show_out |
bool |
True |
Flag per controllare se visualizzare i conteggi out streaming video. |
analytics_type |
str |
line |
Tipo di grafico, ovvero line , bar , area , oppure pie . |
colormap |
int |
cv2.COLORMAP_JET |
Colormap da utilizzare per la heatmap. |
json_file |
str |
None |
Percorso del file JSON che contiene tutti i dati delle coordinate del parcheggio. |
up_angle |
float |
145.0 |
Soglia angolare per la posa 'alta'. |
kpts |
list[int, int, int] |
'[6, 8, 10]' |
Elenco dei keypoint utilizzati per monitorare gli allenamenti. Questi keypoint corrispondono alle articolazioni o parti del corpo, come spalle, gomiti e polsi, per esercizi come flessioni, trazioni, squat, allenamenti per gli addominali. |
down_angle |
float |
90.0 |
Soglia angolare per la posa 'bassa'. |
blur_ratio |
float |
0.5 |
Regola la percentuale di intensità della sfocatura, con valori nell'intervallo 0.1 - 1.0 . |
crop_dir |
str |
'cropped-detections' |
Nome della directory per la memorizzazione dei rilevamenti ritagliati. |
records |
int |
5 |
Conteggio totale dei rilevamenti per attivare un'e-mail con il sistema di allarme di sicurezza. |
vision_point |
tuple[int, int] |
(20, 20) |
Il punto in cui la visione traccerà gli oggetti e disegnerà i percorsi utilizzando VisionEye Solution. |
source |
str |
None |
Percorso della sorgente di input (video, RTSP, ecc.). Utilizzabile solo con l'interfaccia della riga di comando (CLI) di Solutions. |
figsize |
tuple[int, int] |
(12.8, 7.2) |
Dimensione della figura per grafici analitici come mappe di calore o grafici. |
fps |
float |
30.0 |
Frame al secondo utilizzati per i calcoli della velocità. |
max_hist |
int |
5 |
Punti storici massimi da tracciare per oggetto per i calcoli di velocità/direzione. |
meter_per_pixel |
float |
0.05 |
Fattore di scala utilizzato per convertire la distanza in pixel in unità del mondo reale. |
max_speed |
int |
120 |
Limite massimo di velocità nelle sovrapposizioni visive (utilizzato negli avvisi). |
data |
str |
'images' |
Percorso della directory delle immagini utilizzata per la ricerca di similarità. |
Traccia gli argomenti
Le soluzioni supportano anche alcuni degli argomenti da track
, inclusi parametri come conf
, line_width
, tracker
, model
, show
, verbose
e classes
.
Argomento | Tipo | Predefinito | Descrizione |
---|---|---|---|
tracker |
str |
'botsort.yaml' |
Specifica l'algoritmo di tracking da utilizzare, ad esempio: bytetrack.yaml oppure botsort.yaml . |
conf |
float |
0.3 |
Imposta la soglia di confidenza per i rilevamenti; valori inferiori consentono di tracciare più oggetti, ma potrebbero includere falsi positivi. |
iou |
float |
0.5 |
Imposta la soglia Intersection over Union (IoU) per filtrare i rilevamenti sovrapposti. |
classes |
list |
None |
Filtra i risultati per indice di classe. Per esempio, classes=[0, 2, 3] traccia solo le classi specificate. |
verbose |
bool |
True |
Controlla la visualizzazione dei risultati del tracking, fornendo un output visivo degli oggetti tracciati. |
device |
str |
None |
Specifica il dispositivo per l'inferenza (ad esempio, cpu , cuda:0 oppure 0 ). Consente agli utenti di scegliere tra CPU, una GPU specifica o altri dispositivi di calcolo per l'esecuzione del modello. |
Argomenti di visualizzazione
Puoi usare show_conf
, show_labels
, e altri argomenti menzionati per personalizzare la visualizzazione.
Argomento | Tipo | Predefinito | Descrizione |
---|---|---|---|
show |
bool |
False |
Se True , visualizza le immagini o i video annotati in una finestra. Utile per un feedback visivo immediato durante lo sviluppo o il test. |
line_width |
None or int |
None |
Specifica lo spessore della linea dei riquadri di delimitazione. Se None , lo spessore della linea viene regolato automaticamente in base alle dimensioni dell'immagine, fornendo una personalizzazione visiva per una maggiore chiarezza. |
show_conf |
bool |
True |
Visualizza il punteggio di confidenza per ogni rilevamento accanto all'etichetta, offrendo una panoramica sulla certezza del modello per ogni rilevamento. |
show_labels |
bool |
True |
Mostra le etichette per ogni rilevamento nell'output visivo, fornendo una comprensione immediata degli oggetti rilevati. |
Utilizzo di SolutionAnnotator
Tutte le Ultralytics Solutions utilizzano la classe separata SolutionAnnotator
, che estende il principale Annotator
class e hanno i seguenti metodi:
Metodo | Tipo di ritorno | Descrizione |
---|---|---|
draw_region() |
None |
Disegna una regione utilizzando punti, colori e spessore specificati. |
queue_counts_display() |
None |
Visualizza il numero di code nella regione specificata. |
display_analytics() |
None |
Visualizza le statistiche generali per la gestione del parcheggio. |
estimate_pose_angle() |
float |
Calcola l'angolo tra tre punti nella posa di un oggetto. |
draw_specific_points() |
None |
Disegna punti chiave specifici sull'immagine. |
plot_workout_information() |
None |
Disegna una casella di testo etichettata sull'immagine. |
plot_angle_and_count_and_stage() |
None |
Visualizza l'angolo, il conteggio dei passi e la fase per il monitoraggio dell'allenamento. |
plot_distance_and_line() |
None |
Visualizza la distanza tra i centroidi e li collega con una linea. |
display_objects_labels() |
None |
Annota i bounding box con le etichette della classe di oggetti. |
sweep_annotator() |
None |
Visualizza una linea di scansione verticale e un'etichetta opzionale. |
visioneye() |
None |
Mappa e connette i centroidi degli oggetti a un punto "occhio" visivo. |
adaptive_label() |
None |
Disegna un'etichetta di forma circolare o rettangolare come sfondo al centro di un bounding box. |
Lavorare con SolutionResults
Eccetto Similarity Search
, ogni chiamata a Solution restituisce un elenco di SolutionResults
object.
- Per il conteggio degli oggetti, i risultati includono
in_count
,out_count
, eclasswise_count
.
SolutionResults
import cv2
from ultralytics import solutions
im0 = cv2.imread("path/to/img")
region_points = [(20, 400), (1080, 400), (1080, 360), (20, 360)]
counter = solutions.ObjectCounter(
show=True, # display the output
region=region_points, # pass region points
model="yolo11n.pt", # model="yolo11n-obb.pt" for object counting with OBB model.
# classes=[0, 2], # count specific classes i.e. person and car with COCO pretrained model.
# tracker="botsort.yaml" # Choose trackers i.e "bytetrack.yaml"
)
results = counter(im0)
print(results.in_count) # display in_counts
print(results.out_count) # display out_counts
print(results.classwise_count) # display classwise_count
SolutionResults
object hanno i seguenti attributi:
Attributo | Tipo | Descrizione |
---|---|---|
plot_im |
np.ndarray |
Immagine con sovrapposizioni visive come conteggi, effetti di sfocatura o miglioramenti specifici della soluzione. |
in_count |
int |
Numero totale di oggetti rilevati che entrano nella zona definita nel flusso video. |
out_count |
int |
Numero totale di oggetti rilevati che escono dalla zona definita nel flusso video. |
classwise_count |
Dict[str, int] |
Dizionario che registra il conteggio degli oggetti in entrata/uscita per classe per analisi avanzate. |
queue_count |
int |
Numero di oggetti attualmente all'interno di una coda predefinita o di un'area di attesa (adatto per la gestione delle code). |
workout_count |
int |
Numero totale di ripetizioni di allenamento completate durante il monitoraggio dell'esercizio. |
workout_angle |
float |
Angolo calcolato dell'articolazione o della posa durante l'allenamento per la valutazione della forma. |
workout_stage |
str |
Fase di allenamento o fase di movimento corrente (ad esempio, 'su', 'giù'). |
pixels_distance |
float |
Distanza basata sui pixel tra due oggetti o punti, ad esempio, bounding box (adatta per il calcolo della distanza). |
available_slots |
int |
Numero di posti non occupati in un'area monitorata (adatto per la gestione del parcheggio). |
filled_slots |
int |
Numero di posti occupati in un'area monitorata (adatto per la gestione del parcheggio). |
email_sent |
bool |
Indica se una notifica o un'e-mail di avviso è stata inviata correttamente (adatta per allarmi di sicurezza). |
total_tracks |
int |
Numero totale di tracce di oggetti univoche osservate durante l'analisi video. |
region_counts |
Dict[str, int] |
Conteggio degli oggetti all'interno di regioni o zone definite dall'utente. |
speed_dict |
Dict[str, float] |
Dizionario track-wise delle velocità degli oggetti calcolate, utile per l'analisi della velocità. |
total_crop_objects |
int |
Numero totale di immagini di oggetti ritagliati generate dalla soluzione ObjectCropper. |
speed |
Dict[str, float] |
Dizionario contenente metriche di performance per il tracking e l'elaborazione della soluzione. |
Per maggiori dettagli, fare riferimento a SolutionResults
documentazione della classe.
Solutions Usage via CLI
Informazioni sui comandi
La maggior parte delle soluzioni può essere utilizzata direttamente tramite l'interfaccia a riga di comando, tra cui:
Count
, Crop
, Blur
, Workout
, Heatmap
, Isegment
, Visioneye
, Speed
, Queue
, Analytics
, Inference
Sintassi
yolo SOLUTIONS SOLUTION_NAME ARGS
- SOLUTIONS è una parola chiave obbligatoria.
- SOLUTION_NAME è uno tra:
['count', 'crop', 'blur', 'workout', 'heatmap', 'isegment', 'queue', 'speed', 'analytics', 'trackzone', 'inference', 'visioneye']
. - ARGS (opzionali) sono coppie personalizzate,
arg=value
coppie comeshow_in=True
, per sovrascrivere le impostazioni predefinite.
yolo solutions count show=True # for object counting
yolo solutions source="path/to/video.mp4" # specify video file path
Contribuisci alle nostre soluzioni
Accogliamo con favore i contributi della comunità! Se hai acquisito una particolare competenza in un aspetto di Ultralytics YOLO che non è ancora trattato nelle nostre soluzioni, ti incoraggiamo a condividere la tua esperienza. Scrivere una guida è un ottimo modo per dare qualcosa in cambio alla comunità e aiutarci a rendere la nostra documentazione più completa e facile da usare.
Per iniziare, leggi la nostra Guida per i contributi per le linee guida su come aprire una Pull Request (PR) 🛠️. Non vediamo l'ora di ricevere i tuoi contributi!
Lavoriamo insieme per rendere l'ecosistema Ultralytics YOLO più robusto e versatile 🙏!
FAQ
Come posso utilizzare Ultralytics YOLO per il conteggio di oggetti in tempo reale?
Ultralytics YOLO11 può essere utilizzato per il conteggio di oggetti in tempo reale sfruttando le sue avanzate capacità di rilevamento di oggetti. Puoi seguire la nostra guida dettagliata sul Conteggio oggetti per configurare YOLO11 per l'analisi di flussi video in diretta. Installa semplicemente YOLO11, carica il tuo modello ed elabora i fotogrammi video per contare gli oggetti in modo dinamico.
Quali sono i vantaggi dell'utilizzo di Ultralytics YOLO per i sistemi di sicurezza?
Ultralytics YOLO11 migliora i sistemi di sicurezza offrendo il rilevamento di oggetti in tempo reale e meccanismi di allerta. Utilizzando YOLO11, puoi creare un sistema di allarme di sicurezza che attiva avvisi quando vengono rilevati nuovi oggetti nell'area sorvegliata. Scopri come impostare un Sistema di allarme di sicurezza con YOLO11 per un monitoraggio di sicurezza robusto.
In che modo Ultralytics YOLO può migliorare i sistemi di gestione delle code?
Ultralytics YOLO11 può migliorare significativamente i sistemi di gestione delle code contando e tracciando accuratamente le persone in coda, contribuendo così a ridurre i tempi di attesa e a ottimizzare l'efficienza del servizio. Segui la nostra guida dettagliata sulla Gestione delle code per imparare come implementare YOLO11 per un monitoraggio e un'analisi efficaci delle code.
Ultralytics YOLO può essere utilizzato per il monitoraggio degli allenamenti?
Sì, Ultralytics YOLO11 può essere utilizzato efficacemente per il monitoraggio degli allenamenti tracciando e analizzando le routine di fitness in tempo reale. Ciò consente una valutazione precisa della forma fisica e delle prestazioni. Esplora la nostra guida sul Monitoraggio degli allenamenti per imparare come impostare un sistema di monitoraggio degli allenamenti basato sull'intelligenza artificiale utilizzando YOLO11.
In che modo Ultralytics YOLO aiuta a creare mappe di calore per la visualizzazione dei dati?
Ultralytics YOLO11 può generare mappe di calore per visualizzare l'intensità dei dati in un'area specifica, evidenziando le regioni di elevata attività o interesse. Questa funzionalità è particolarmente utile per comprendere modelli e tendenze in varie attività di computer vision. Scopri di più sulla creazione e l'utilizzo di Mappe di calore con YOLO11 per un'analisi e una visualizzazione complete dei dati.