Link to this sectionSoluzioni Ultralytics: Sfrutta YOLO26 per Risolvere Problemi del Mondo Reale#
Le Soluzioni Ultralytics forniscono applicazioni all'avanguardia dei modelli YOLO, offrendo soluzioni reali come il conteggio di oggetti, la 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 🚀
Link to this sectionSoluzioni#
Ecco la nostra lista curata di soluzioni Ultralytics che puoi utilizzare per creare fantastici progetti di computer vision.
- Analytics: Conduci analisi dati complete per scoprire schemi e prendere decisioni informate, sfruttando YOLO26 per analisi descrittive, predittive e prescrittive.
- Calcolo della Distanza: Calcola le distanze tra gli oggetti usando i centroidi dei bounding box in YOLO26, essenziale per l'analisi spaziale.
- Heatmap: Utilizza le heatmap di rilevamento per visualizzare l'intensità dei dati su una matrice, fornendo chiare intuizioni nei task di computer vision.
- Segmentazione delle Istanze con Tracciamento degli Oggetti: Implementa la segmentazione delle istanze e il tracciamento degli oggetti con YOLO26 per ottenere contorni 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 user-friendly.
- Sfocatura Oggetti: Applica la sfocatura degli oggetti usando 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 in flussi video live.
- Conteggio Oggetti nelle Regioni: Conta gli oggetti in regioni specifiche usando YOLO26 per un rilevamento accurato in aree varie.
- Ritaglio Oggetti: Diventa esperto nel ritaglio degli oggetti con YOLO26 per l'estrazione precisa di oggetti da immagini e video.
- Gestione Parcheggi: Organizza e dirigi il flusso dei veicoli nelle aree di parcheggio con YOLO26, ottimizzando l'utilizzo dello spazio e l'esperienza dell'utente.
- Gestione Code: Implementa sistemi di gestione code efficienti per ridurre al minimo i tempi di attesa e migliorare la produttività usando 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 usando YOLO26 e tecniche di tracciamento degli oggetti, cruciale per applicazioni come veicoli autonomi e monitoraggio del traffico.
- Traccia Oggetti in Zona: Impara come tracciare gli oggetti all'interno di zone specifiche dei fotogrammi video usando YOLO26 per un monitoraggio preciso ed efficiente.
- Mappatura Oggetti VisionEye View: Sviluppa sistemi che imitano la messa a fuoco 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 usando YOLO26. Impara a tracciare e analizzare varie routine di fitness in tempo reale.
Link to this sectionArgomenti delle Soluzioni#
| Argomento | Tipo | Predefinito | Descrizione |
|---|---|---|---|
model | str | None | Percorso verso un file del modello Ultralytics YOLO. |
region | list | '[(20, 400), (1260, 400)]' | Lista di punti che definiscono la regione di conteggio. |
show_in | bool | True | Flag per controllare se visualizzare i conteggi in ingresso 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, ad esempio line, bar, area o pie. |
colormap | int | cv2.COLORMAP_DEEPGREEN | Colormap da utilizzare per la heatmap. |
json_file | str | None | Percorso verso il file JSON che contiene tutti i dati delle coordinate del parcheggio. |
up_angle | float | 145.0 | Soglia dell'angolo per la posa 'su'. |
kpts | list[int] | '[6, 8, 10]' | Lista di tre indici di punti chiave usati per monitorare gli allenamenti. Questi punti chiave corrispondono alle articolazioni del corpo o parti, come spalle, gomiti e polsi, per esercizi come flessioni, trazioni, squat e addominali. |
down_angle | int | 90 | Soglia dell'angolo per la posa 'giù'. |
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 usando la Soluzione VisionEye. |
source | str | None | Percorso verso la sorgente di input (video, RTSP, ecc.). Utilizzabile solo con l'interfaccia a riga di comando (CLI) delle Soluzioni. |
figsize | tuple[int, int] | (12.8, 7.2) | Dimensione della figura per grafici analitici come heatmap 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 di velocità massima nelle sovrapposizioni visive (utilizzato negli avvisi). |
data | str | 'images' | Percorso verso la directory delle immagini utilizzata per la ricerca di similarità. |
imgsz | int | 640 | Dimensione dell'immagine di input per l'inferenza del modello. |
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 tracciamento da utilizzare. Opzioni integrate: botsort.yaml, bytetrack.yaml, ocsort.yaml, deepocsort.yaml, fasttrack.yaml, tracktrack.yaml. |
conf | float | 0.1 | Imposta la soglia di confidenza per i rilevamenti; valori più bassi consentono di tracciare più oggetti ma possono 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 GPU specifica o altri dispositivi di calcolo per l'esecuzione del modello. |
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 | int or None | None | Specifica la larghezza della linea dei bounding box. Se None, la larghezza della linea viene regolata automaticamente in base alla dimensione dell'immagine. Fornisce personalizzazione visiva per chiarezza. |
show_conf | bool | True | Mostra il punteggio di confidenza per ogni rilevamento accanto all'etichetta. Fornisce informazioni sulla certezza del modello per ogni rilevamento. |
show_labels | bool | True | Mostra le etichette per ogni rilevamento nell'output visivo. Offre una comprensione immediata degli oggetti rilevati. |
Link to this sectionUtilizzo di SolutionAnnotator#
Tutte le Ultralytics Solutions 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 della coda nella regione specificata. |
display_analytics() | None | Visualizza le statistiche generali per la gestione di parcheggi. |
estimate_pose_angle() | float | Calcola l'angolo tra tre punti nella posa di un oggetto. |
draw_specific_kpts() | np.ndarray | Disegna punti chiave specifici sull'immagine. |
plot_workout_information() | int | 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 le bounding box con le etichette delle classi degli oggetti. |
sweep_annotator() | None | Visualizza una linea di scansione verticale e un'etichetta opzionale. |
visioneye() | None | Mappa e collega i centroidi degli oggetti a un punto "occhio" visivo. |
adaptive_label() | None | Disegna un'etichetta di sfondo circolare o rettangolare al centro di un bounding box. |
Link to this sectionLavorare con SolutionResults#
Ad eccezione di Similarity Search, ogni chiamata a una Solution restituisce una lista di oggetti SolutionResults.
- 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 overlay visivi 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 in/out 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 delle code). |
workout_count | int | Numero totale di ripetizioni completate durante il monitoraggio dell'esercizio. |
workout_angle | float | Angolo di giuntura o posa calcolato durante l'allenamento per la valutazione della forma. |
workout_stage | str | Fase attuale dell'allenamento o fase del movimento (es. 'up', 'down'). |
pixels_distance | float | Distanza basata su pixel tra due oggetti o punti, es. bounding box. (Adatto per il calcolo della distanza). |
available_slots | int | Numero di posti liberi in un'area monitorata (adatto per la gestione dei parcheggi). |
filled_slots | int | Numero di posti occupati in un'area monitorata (adatto per la gestione dei parcheggi). |
email_sent | bool | Indica se un'email di notifica o avviso è stata inviata con successo (adatto per allarmi di sicurezza). |
total_tracks | int | Numero totale di tracce uniche di oggetti 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 metriche di performance per il tracciamento e l'elaborazione della soluzione. |
Per maggiori dettagli, consulta la documentazione della classe SolutionResults.
Link to this sectionUtilizzo delle Solutions via CLI#
La maggior parte delle Solutions 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', 'region', 'security', 'parking']. - ARGS (opzionale) sono coppie personalizzate
arg=value, 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 pathLink to this sectionContribuisci alle nostre Solutions#
Accogliamo con favore i contributi della community! Se hai padroneggiato un aspetto particolare di Ultralytics YOLO non ancora trattato nelle nostre soluzioni, ti incoraggiamo a condividere la tua esperienza. Scrivere una guida è un ottimo modo per restituire valore alla 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ù solido e versatile 🙏!
Link to this sectionFAQ#
Link to this sectionCome posso utilizzare 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 dal vivo. Installa semplicemente YOLO26, carica il tuo modello ed elabora i fotogrammi video per contare gli oggetti dinamicamente.
Link to this sectionQuali sono i vantaggi dell'utilizzo di Ultralytics YOLO per i sistemi di sicurezza?#
Ultralytics YOLO26 migliora i sistemi di sicurezza offrendo rilevamento oggetti in tempo reale e meccanismi di allerta. 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 solido.
Link to this sectionCome può Ultralytics YOLO migliorare i sistemi di gestione delle code?#
Ultralytics YOLO26 può migliorare significativamente i sistemi di gestione delle code contando e tracciando accuratamente le persone in coda, aiutando così a ridurre i tempi di attesa e ottimizzare l'efficienza del servizio. Segui la nostra guida dettagliata sulla Gestione delle Code per imparare come implementare YOLO26 per un monitoraggio e un'analisi delle code efficaci.
Link to this sectionPuò Ultralytics YOLO essere utilizzato per il monitoraggio dell'allenamento?#
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 performance. Esplora la nostra guida sul Monitoraggio degli Allenamenti per imparare come configurare un sistema di monitoraggio dell'allenamento basato su AI utilizzando YOLO26.
Link to this sectionIn che modo Ultralytics YOLO aiuta 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 pattern 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 visualizzazione dei dati completa.