Soluzioni Ultralytics: Sfrutta YOLO26 per Risolvere Problemi del Mondo Reale
Le Soluzioni Ultralytics forniscono applicazioni all'avanguardia dei modelli YOLO, offrendo soluzioni reali come conteggio oggetti, sfocatura e sistemi di sicurezza, migliorando l'efficienza e l'accuratezza in diversi settori. Scopri la potenza di YOLO26 per implementazioni pratiche e di grande impatto.
![]()
Watch: How to Run Ultralytics Solutions from the Command Line (CLI) | Ultralytics YOLO26 🚀
Soluzioni
Ecco la nostra lista curata di soluzioni Ultralytics che puoi utilizzare per creare fantastici progetti di computer vision.
- Analytics: Conduci un'analisi completa dei dati per scoprire pattern e prendere decisioni informate, sfruttando YOLO26 per analisi descrittive, predittive e prescrittive.
- Calcolo della Distanza: Calcola le distanze tra gli oggetti utilizzando i centroidi dei bounding box in YOLO26, essenziale per l'analisi spaziale.
- Mappe di Calore: Utilizza mappe di calore di rilevamento per visualizzare l'intensità dei dati attraverso una matrice, fornendo chiari insight nelle attività di computer vision.
- Segmentazione di Istanze con Monitoraggio Oggetti: Implementa la segmentazione di istanze e il monitoraggio degli oggetti con YOLO26 per ottenere confini precisi degli oggetti e un monitoraggio continuo.
- Inferenza Live con Streamlit: Sfrutta la potenza di YOLO26 per il rilevamento oggetti in tempo reale direttamente tramite il tuo browser web con un'interfaccia Streamlit facile da usare.
- Sfocatura Oggetti: Applica la sfocatura degli oggetti utilizzando YOLO26 per proteggere la privacy nell'elaborazione di immagini e video.
- Conteggio Oggetti: Impara a eseguire il conteggio degli oggetti in tempo reale con YOLO26. Acquisisci le competenze per contare accuratamente gli oggetti nei flussi video live.
- Conteggio Oggetti nelle Regioni: Conta gli oggetti in regioni specifiche utilizzando YOLO26 per un rilevamento accurato in aree variegate.
- Ritaglio Oggetti: Padroneggia il ritaglio degli oggetti con YOLO26 per un'estrazione precisa di oggetti da immagini e video.
- Gestione Parcheggi: Organizza e gestisci il flusso dei veicoli nelle aree di parcheggio con YOLO26, ottimizzando l'utilizzo dello spazio e l'esperienza dell'utente.
- Gestione Code: Implementa sistemi efficienti di gestione code per ridurre al minimo i tempi di attesa e migliorare la produttività utilizzando YOLO26.
- Sistema di Allarme di Sicurezza: Crea un sistema di allarme di sicurezza con YOLO26 che attiva avvisi al rilevamento di nuovi oggetti. Personalizza il sistema per soddisfare le tue esigenze specifiche.
- Ricerca di Similarità: Abilita il recupero intelligente delle immagini combinando gli embedding di OpenAI CLIP con Meta FAISS, permettendo query in linguaggio naturale come "persona che tiene una borsa" o "veicoli in movimento."
- Stima della Velocità: Stima la velocità degli oggetti utilizzando YOLO26 e tecniche di monitoraggio oggetti, cruciali per applicazioni come veicoli autonomi e monitoraggio del traffico.
- Monitoraggio Oggetti in Zona: Impara come monitorare gli oggetti all'interno di zone specifiche dei fotogrammi video utilizzando YOLO26 per un controllo preciso ed efficiente.
- Mappatura Oggetti con VisionEye View: Sviluppa sistemi che imitano il focus dell'occhio umano su oggetti specifici, migliorando la capacità del computer di distinguere e dare priorità ai dettagli.
- Monitoraggio Allenamenti: Scopri come monitorare gli allenamenti utilizzando YOLO26. Impara a tracciare e analizzare varie routine di fitness in tempo reale.
Argomenti delle Soluzioni
| Argomento | Tipo | Predefinito | Descrizione |
|---|---|---|---|
model | str | None | Percorso verso un file modello Ultralytics YOLO. |
region | list | '[(20, 400), (1260, 400)]' | Elenco di punti che definiscono la regione di conteggio. |
show_in | bool | True | Flag per controllare se visualizzare i conteggi in entrata sul flusso video. |
show_out | bool | True | Flag per controllare se visualizzare i conteggi in uscita sul flusso video. |
analytics_type | str | 'line' | Tipo di grafico, es. line, bar, area o pie. |
colormap | int | cv2.COLORMAP_DEEPGREEN | Mappa colori da utilizzare per la mappa di calore. |
json_file | str | None | Percorso al file JSON che contiene tutti i dati delle coordinate di parcheggio. |
up_angle | float | 145.0 | Soglia dell'angolo per la posa 'up'. |
kpts | list[int] | '[6, 8, 10]' | Elenco di tre indici dei punti chiave utilizzati per monitorare gli allenamenti. Questi punti chiave corrispondono alle articolazioni o parti del corpo, come spalle, gomiti e polsi, per esercizi come piegamenti, trazioni, squat e addominali. |
down_angle | int | 90 | Soglia dell'angolo per la posa 'down'. |
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 archiviare i rilevamenti ritagliati. |
records | int | 5 | Conteggio totale dei rilevamenti per attivare un'email 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 la VisionEye Solution. |
source | str | None | Percorso verso la sorgente di input (video, RTSP, ecc.). Utilizzabile solo con l'interfaccia a riga di comando (CLI) delle 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 | Fotogrammi 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 verso la directory delle immagini utilizzata per la ricerca di similarità. |
Le soluzioni supportano anche alcuni degli argomenti di 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 tracciamento da utilizzare, ad esempio bytetrack.yaml o botsort.yaml. |
conf | float | 0.1 | Imposta la soglia di confidenza per i rilevamenti; valori più bassi consentono il tracciamento di più oggetti ma potrebbero includere falsi positivi. |
iou | float | 0.7 | Imposta la soglia di Intersection over Union (IoU) per filtrare i rilevamenti sovrapposti. |
classes | list | None | Filtra i risultati per indice di classe. Ad esempio, classes=[0, 2, 3] traccia solo le classi specificate. |
verbose | bool | True | Controlla la visualizzazione dei risultati di tracciamento, fornendo un output visivo degli oggetti tracciati. |
device | str | None | Specifica il dispositivo per l'inferenza (ad esempio cpu, cuda:0 o 0). Consente agli utenti di scegliere tra CPU, una specifica GPU o altri dispositivi di calcolo per l'esecuzione del modello. |
Puoi utilizzare 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 | int or None | None | Specifica lo spessore della linea dei riquadri di delimitazione. Se None, lo spessore viene regolato automaticamente in base alla dimensione dell'immagine. Fornisce personalizzazione visiva per maggiore chiarezza. |
show_conf | bool | True | Visualizza il punteggio di confidenza per ogni rilevamento accanto all'etichetta. Offre informazioni sulla certezza del modello per ogni rilevamento. |
show_labels | bool | True | Visualizza le etichette per ogni rilevamento nell'output visivo. Fornisce una comprensione immediata degli oggetti rilevati. |
Utilizzo di SolutionAnnotator
Tutte le Soluzioni Ultralytics utilizzano la classe separata SolutionAnnotator, che estende la classe principale Annotator, e dispongono dei seguenti metodi:
| Metodo | Tipo di ritorno | Descrizione |
|---|---|---|
draw_region() | None | Disegna una regione utilizzando punti, colori e spessore specificati. |
queue_counts_display() | None | Visualizza i conteggi delle 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 specifici keypoint sull'immagine. |
plot_workout_information() | None | Disegna una casella di testo etichettata sull'immagine. |
plot_angle_and_count_and_stage() | None | Visualizza angolo, conteggio ripetizioni e 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 delle classi degli oggetti. |
sweep_annotator() | None | Visualizza una linea di scansione verticale ed etichetta opzionale. |
visioneye() | None | Mappa e collega i centroidi degli oggetti a un punto "occhio" visivo. |
adaptive_label() | None | Disegna un'etichetta con sfondo circolare o rettangolare al centro di un bounding box. |
Lavorare con SolutionResults
Except Similarity Search, each Solution call returns a list of SolutionResults objects.
- Per il conteggio degli oggetti, i risultati includono
in_count,out_counteclasswise_count.
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="yolo26n.pt", # model="yolo26n-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_countL'oggetto SolutionResults ha 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 in entrata nella zona definita nel flusso video. |
out_count | int | Numero totale di oggetti rilevati in uscita dalla zona definita nel flusso video. |
classwise_count | Dict[str, int] | Dizionario che registra i conteggi di entrata/uscita degli oggetti per classe per analisi avanzate. |
queue_count | int | Numero di oggetti attualmente all'interno di una coda predefinita o area di attesa (adatto per la gestione code). |
workout_count | int | Numero totale di ripetizioni dell'allenamento completate durante il monitoraggio dell'esercizio. |
workout_angle | float | Angolo dell'articolazione o della posa calcolato durante l'allenamento per la valutazione della forma. |
workout_stage | str | Fase attuale dell'allenamento o fase del movimento (ad esempio, 'su', 'giù'). |
pixels_distance | float | Distanza basata sui pixel tra due oggetti o punti, ad esempio bounding box. (Adatto per il calcolo della distanza). |
available_slots | int | Numero di posti liberi in un'area monitorata (adatto per la gestione parcheggi). |
filled_slots | int | Numero di posti occupati in un'area monitorata. (adatto per la gestione parcheggi) |
email_sent | bool | Indica se un'email di notifica o avviso è stata inviata correttamente (adatto per l'allarme di sicurezza). |
total_tracks | int | Numero totale di tracce di oggetti uniche osservate durante l'analisi video. |
region_counts | Dict[str, int] | Conteggi degli oggetti all'interno di regioni o zone definite dall'utente. |
speed_dict | Dict[str, float] | Dizionario per traccia 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 le metriche di performance per il tracciamento e l'elaborazione delle soluzioni. |
Per maggiori dettagli, consulta la documentazione della classe SolutionResults.
Utilizzo delle soluzioni tramite CLI
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, Trackzone
Sintassi
yolo SOLUTIONS SOLUTION_NAME ARGS
- SOLUTIONS è una parola chiave obbligatoria.
- SOLUTION_NAME è uno dei seguenti:
['count', 'crop', 'blur', 'workout', 'heatmap', 'isegment', 'queue', 'speed', 'analytics', 'trackzone', 'inference', 'visioneye']. - ARGS (facoltativi) sono coppie
arg=valuepersonalizzate, comeshow_in=True, per sovrascrivere le impostazioni predefinite.
yolo solutions count show=True # for object counting
yolo solutions count source="path/to/video.mp4" # specify video file pathContribuisci alle nostre soluzioni
Accogliamo con favore i contributi della community! Se hai padroneggiato un aspetto specifico di Ultralytics YOLO non ancora trattato nelle nostre soluzioni, ti incoraggiamo a condividere la tua esperienza. Scrivere una guida è un ottimo modo per ricambiare la community e aiutarci a rendere la nostra documentazione più completa e facile da usare.
Per iniziare, leggi la nostra Guida al contributo 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 usare Ultralytics YOLO per il conteggio di oggetti in tempo reale?
Ultralytics YOLO26 può essere utilizzato per il conteggio di oggetti in tempo reale sfruttando le sue avanzate capacità di rilevamento oggetti. Puoi seguire la nostra guida dettagliata sul Conteggio Oggetti per configurare YOLO26 per l'analisi di flussi video in diretta. Ti basta installare YOLO26, caricare il tuo modello ed elaborare i frame video per contare gli oggetti in modo dinamico.
Quali sono i vantaggi dell'utilizzo di Ultralytics YOLO per i sistemi di sicurezza?
Ultralytics YOLO26 migliora i sistemi di sicurezza offrendo rilevamento di oggetti in tempo reale e meccanismi di avviso. Utilizzando YOLO26, puoi creare un sistema di allarme di sicurezza che attiva avvisi quando vengono rilevati nuovi oggetti nell'area di sorveglianza. Scopri come configurare un Sistema di Allarme di Sicurezza con YOLO26 per un monitoraggio della sicurezza robusto.
Come può Ultralytics YOLO migliorare i sistemi di gestione delle code?
Ultralytics YOLO26 può migliorare significativamente i sistemi di gestione delle code contando e tracciando con precisione 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 a implementare YOLO26 per un monitoraggio e un'analisi efficaci delle code.
Ultralytics YOLO può essere usato per il monitoraggio degli allenamenti?
Sì, Ultralytics YOLO26 può essere utilizzato efficacemente per monitorare gli 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 a configurare un sistema di monitoraggio degli allenamenti basato sull'IA usando YOLO26.
Come aiuta Ultralytics YOLO a creare mappe di calore per la visualizzazione dei dati?
Ultralytics YOLO26 può generare mappe di calore per visualizzare l'intensità dei dati in una determinata area, evidenziando regioni ad alta attività o interesse. Questa funzionalità è particolarmente utile per comprendere schemi e tendenze in varie attività di computer vision. Scopri di più sulla creazione e l'utilizzo di Mappe di Calore con YOLO26 per un'analisi e una visualizzazione dei dati complete.