Soluzioni Ultralytics: Sfrutta YOLO26 per Risolvere Problemi del Mondo Reale#
Le Ultralytics Solutions offrono applicazioni all'avanguardia dei modelli YOLO, fornendo 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 YOLO26 per implementazioni pratiche e di impatto.

Watch: How to Run Ultralytics Solutions from the Command Line (CLI) | Ultralytics YOLO26 🚀
Soluzioni#
Ecco il nostro elenco curato di soluzioni Ultralytics che possono essere utilizzate per creare fantastici progetti di computer vision.
- Analytics: Conduci un'analisi approfondita dei dati per scoprire pattern e prendere decisioni informate, sfruttando YOLO26 per analisi descrittive, predittive e prescrittive.
- Distance Calculation: Calcola le distanze tra gli oggetti utilizzando i centroidi dei bounding box in YOLO26, operazione essenziale per l'analisi spaziale.
- Heatmaps: Utilizza mappe di calore di rilevamento per visualizzare l'intensità dei dati su una matrice, fornendo approfondimenti chiari nelle attività di computer vision.
- Instance Segmentation with Object Tracking: Implementa l'instance segmentation e il tracciamento degli oggetti con YOLO26 per ottenere confini precisi degli oggetti e un monitoraggio continuo.
- Live Inference with Streamlit: Sfrutta la potenza di YOLO26 per l'object detection in tempo reale direttamente tramite il tuo browser web con un'interfaccia Streamlit intuitiva.
- Object Blurring: Applica la sfocatura degli oggetti utilizzando YOLO26 per proteggere la privacy nell'elaborazione di immagini e video.
- Object Counting: Impara a eseguire il conteggio degli oggetti in tempo reale con YOLO26. Ottieni le competenze per contare accuratamente gli oggetti nei flussi video in diretta.
- Object Counting in Regions: Conta gli oggetti in regioni specifiche utilizzando YOLO26 per un rilevamento accurato in aree diverse.
- Object Cropping: Padroneggia il ritaglio degli oggetti con YOLO26 per un'estrazione precisa degli oggetti da immagini e video.
- Parking Management: Organizza e dirigi il flusso dei veicoli nelle aree di parcheggio con YOLO26, ottimizzando l'utilizzo dello spazio e l'esperienza utente.
- Queue Management: Implementa sistemi efficienti di gestione delle code per ridurre al minimo i tempi di attesa e migliorare la produttività utilizzando YOLO26.
- Security Alarm System: 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.
- Similarity Search: Abilita il recupero intelligente delle immagini combinando gli embedding di OpenAI CLIP con la ricerca per similarità del coseno, consentendo query in linguaggio naturale come "persona che tiene una borsa" o "veicoli in movimento".
- Speed Estimation: Stima la velocità degli oggetti utilizzando YOLO26 e tecniche di tracciamento degli oggetti, fondamentale per applicazioni come veicoli autonomi e monitoraggio del traffico.
- Track Objects in Zone: Impara a tracciare oggetti all'interno di zone specifiche dei fotogrammi video utilizzando YOLO26 per un monitoraggio preciso ed efficiente.
- 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.
- Workouts Monitoring: 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 del modello Ultralytics YOLO. |
region | list o dict | None | Punti che definiscono la regione di interesse, sia una lista di tuple (x, y) o un dizionario che associa i nomi delle regioni a liste di punti per più regioni (solo RegionCounter). Quando None, le soluzioni che richiedono una regione fanno ricorso a un valore predefinito. |
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 grafo, ovvero line, bar, area o pie. |
colormap | int | cv2.COLORMAP_DEEPGREEN | Colormap da utilizzare per la heatmap. |
line_width | int | 2 | Spessore della linea per i box, i keypoint e i conteggi disegnati dalla soluzione. |
verbose | bool | True | Abilita il registro per fotogramma della soluzione relativo a forma dell'input, conteggi delle classi e velocità di elaborazione. La chiamata di tracking in sé è sempre silenziosa. |
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[float, float] | (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 inoltrano alcuni dei loro argomenti a track, nello specifico tracker, conf, iou, classes e device.
| 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.25 | 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 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. |
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 usare show_conf, show_labels e altri argomenti menzionati per personalizzare la visualizzazione.
| Argomento | Tipo | Predefinito | Descrizione |
|---|---|---|---|
show | bool | False | Se True, mostra le immagini o i video annotati in una finestra. Utile per un riscontro visivo immediato durante lo sviluppo o i test. |
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. |
Utilizzo 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. |
Lavorare con SolutionResults#
Tranne Similarity Search, ogni chiamata di Solution restituisce un oggetto 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 | list[int] | Conteggio delle ripetizioni dell'allenamento per traccia da AI Gym (una voce per ogni individuo attualmente tracciato). |
workout_angle | list[float] | Angoli degli esercizi per traccia da AI Gym (una voce per ogni individuo attualmente tracciato). |
workout_stage | list[str] | Fase attuale dell'allenamento per traccia da AI Gym (una voce per ogni individuo attualmente tracciato). |
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, fai riferimento alla documentazione della classe SolutionResults.
Utilizzo 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 tra:
['count', 'crop', 'blur', 'workout', 'heatmap', 'isegment', 'queue', 'speed', 'analytics', 'trackzone', 'inference', 'visioneye', 'region', 'security', 'parking']. - Le ARGS (opzionali) 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 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 Contributing Guide 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 🙏!
FAQ#
Ultralytics YOLO26 può essere utilizzato per il conteggio degli oggetti in tempo reale sfruttando le sue avanzate capacità di object detection. Puoi seguire la nostra guida dettagliata su Object Counting per configurare YOLO26 per l'analisi di flussi video in diretta. Ti basta installare YOLO26, caricare il tuo modello ed elaborare i fotogrammi video per contare gli oggetti in modo dinamico.
Ultralytics YOLO26 migliora i sistemi di sicurezza offrendo rilevamento di oggetti in tempo reale e meccanismi di avviso. Impiegando 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 Security Alarm System con YOLO26 per un monitoraggio della sicurezza affidabile.
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 su Queue Management per imparare a implementare YOLO26 per il monitoraggio e l'analisi efficaci delle code.
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 e delle prestazioni durante l'esercizio. Esplora la nostra guida su Workouts Monitoring per scoprire come configurare un sistema di monitoraggio degli allenamenti basato sull'IA utilizzando YOLO26.
Ultralytics YOLO26 può generare mappe di calore per visualizzare l'intensità dei dati in una data area, evidenziando regioni ad alta attività o di interesse. Questa funzione è particolarmente utile per comprendere pattern e tendenze in varie attività di computer vision. Scopri di più sulla creazione e l'uso di Heatmaps con YOLO26 per un'analisi e una visualizzazione complete dei dati.