Soluzioni Ultralytics: usa YOLO26 per risolvere problemi del mondo reale#
Le soluzioni Ultralytics offrono applicazioni all'avanguardia dei modelli YOLO, fornendo soluzioni concrete come il conteggio degli oggetti, la sfocatura e i sistemi di sicurezza, e migliorando l'efficienza e la precisione in diversi settori. Scopri la potenza di YOLO26 per implementazioni pratiche e di grande impatto.

Guarda: Come eseguire le soluzioni Ultralytics dalla riga di comando (CLI) | Ultralytics YOLO26 🚀
Soluzioni#
Ecco la nostra selezione di soluzioni Ultralytics che puoi usare per creare fantastici progetti di visione artificiale.
- Analisi: esegui un'analisi completa dei dati per individuare schemi e prendere decisioni consapevoli, usando YOLO26 per analisi descrittive, predittive e prescrittive.
- Calcolo delle distanze: calcola le distanze tra gli oggetti usando i centroidi delle bounding box in YOLO26, essenziali per l'analisi spaziale.
- Mappe di calore: usa mappe di calore delle rilevazioni per visualizzare l'intensità dei dati su una matrice e ottenere informazioni chiare per le attività di visione artificiale.
- Segmentazione di istanze con tracciamento degli oggetti: implementa la segmentazione di istanze e il tracciamento degli oggetti con YOLO26 per ottenere contorni precisi degli oggetti e un monitoraggio continuo.
- Inferenza in tempo reale con Streamlit: sfrutta la potenza di YOLO26 per eseguire il rilevamento degli oggetti in tempo reale direttamente nel browser, tramite un'interfaccia Streamlit intuitiva.
- Sfocatura degli oggetti: applica la sfocatura agli oggetti con YOLO26 per proteggere la privacy nell'elaborazione di immagini e video.
- Conteggio degli oggetti: scopri come contare gli oggetti in tempo reale con YOLO26. Impara a contarli con precisione nei flussi video dal vivo.
- Conteggio degli oggetti nelle regioni: conta gli oggetti in regioni specifiche con YOLO26 per rilevarli con precisione in aree diverse.
- Ritaglio degli oggetti: impara a ritagliare gli oggetti con YOLO26 per estrarli con precisione da immagini e video.
- Gestione dei parcheggi: organizza e indirizza il flusso dei veicoli nelle aree di parcheggio con YOLO26, ottimizzando l'uso dello spazio e l'esperienza degli utenti.
- Gestione delle code: implementa sistemi efficienti di gestione delle code per ridurre al minimo i tempi di attesa e migliorare la produttività con YOLO26.
- Sistema di allarme di sicurezza: crea un sistema di allarme di sicurezza con YOLO26 che invia notifiche quando rileva nuovi oggetti. Personalizza il sistema in base alle tue esigenze specifiche.
- Ricerca per similarità: 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 con una borsa" o "veicoli in movimento".
- Stima della velocità: stima la velocità degli oggetti con YOLO26 e tecniche di tracciamento, essenziali per applicazioni come i veicoli autonomi e il monitoraggio del traffico.
- Tracciamento degli oggetti nelle zone: scopri come tracciare gli oggetti all'interno di zone specifiche dei fotogrammi video con YOLO26, per un monitoraggio preciso ed efficiente.
- Mappatura degli oggetti con 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 degli allenamenti: scopri come monitorare gli allenamenti con YOLO26. Impara a tracciare e analizzare in tempo reale diverse routine di fitness.
Argomenti delle soluzioni#
| Argomento | Tipo | Predefinito | Descrizione |
|---|---|---|---|
model | str | None | Percorso a un file modello Ultralytics YOLO. |
region | list o dict | None | Punti che definiscono la regione di interesse: un elenco di tuple (x, y) oppure un dizionario che associa i nomi delle regioni agli elenchi di punti per più regioni (solo RegionCounter). Quando None, le soluzioni che richiedono una regione usano un valore predefinito predefinito. |
show_in | bool | True | Flag che controlla se visualizzare i conteggi in entrata nello stream video. |
show_out | bool | True | Flag che controlla se visualizzare i conteggi in uscita nello stream video. |
analytics_type | str | 'line' | Tipo di grafico, ad es. line, bar, area o pie. |
colormap | int | cv2.COLORMAP_DEEPGREEN | Mappa dei colori da usare per la mappa di calore. |
line_width | int | 2 | Spessore delle linee dei riquadri, dei punti chiave e dei conteggi disegnati dalla soluzione. |
verbose | bool | True | Abilita il log per frame della soluzione, con forma dell'input, conteggi per classe e velocità di elaborazione. La chiamata di tracking è sempre silenziosa. |
json_file | str | None | Percorso al file JSON che contiene tutti i dati sulle coordinate dei parcheggi. |
up_angle | float | 145.0 | Soglia angolare per la posa «verso l'alto». |
kpts | list[int] | [6, 8, 10] | Elenco di tre indici di punti chiave usati per monitorare gli allenamenti. Questi punti chiave corrispondono alle articolazioni o alle parti del corpo, come spalle, gomiti e polsi, per esercizi come flessioni, trazioni, squat ed esercizi per gli addominali. |
down_angle | float | 90.0 | Soglia angolare per la posa «verso il basso». |
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 in cui archiviare le rilevazioni ritagliate. |
records | int | 5 | Numero totale di rilevazioni necessario per attivare un'email con l'allarme di sicurezza. |
vision_point | tuple[int, int] | (20, 20) | Punto in cui VisionEye Solution traccia gli oggetti e disegna i percorsi. |
source | str | None | Percorso della sorgente di input (video, RTSP ecc.). Utilizzabile solo con l'interfaccia a riga di comando (CLI) di Solutions. |
figsize | tuple[float, float] | (12.8, 7.2) | Dimensioni della figura in pollici per i grafici Analytics; (12.8, 7.2) genera un fotogramma da 1280×720. |
fps | float | 30.0 | Fotogrammi al secondo utilizzati per calcolare la velocità. |
max_hist | int | 5 | Numero massimo di punti storici da tracciare per oggetto per calcolare velocità e 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 | Velocità massima in km/h; le velocità stimate superiori vengono limitate a questo valore. |
data | str | 'images' | Percorso della directory di immagini utilizzata per la ricerca di somiglianze. |
imgsz | int | 640 | Dimensioni dell'immagine di input per l'inferenza del modello. |
Le soluzioni passano gli argomenti di inferenza e tracciamento indicati di seguito a model.track().
| Argomento | Tipo | Predefinito | Descrizione |
|---|---|---|---|
tracker | str | 'tracktrack.yaml' | Specifica l'algoritmo di tracciamento da usare. Opzioni integrate: botsort.yaml, bytetrack.yaml, ocsort.yaml, deepocsort.yaml, fasttrack.yaml, tracktrack.yaml. |
conf | float | 0.25 | Imposta la soglia di confidenza per le rilevazioni; valori più bassi consentono di tracciare più oggetti, ma possono includere falsi positivi. |
iou | float | 0.7 | Imposta la soglia di Intersezione sull'unione (IoU) per filtrare le rilevazioni sovrapposte. |
classes | list | None | Filtra i risultati in base all'indice della classe. Ad esempio, classes=[0, 2, 3] traccia solo le classi specificate. |
device | str | None | Specifica il dispositivo per l'inferenza (ad es. cpu, cuda:0 o 0). Consente di scegliere tra CPU, una GPU specifica o altri dispositivi di calcolo per l'esecuzione del modello. |
imgsz | int or tuple | 640 | Dimensione dell'immagine di destinazione per l'inferenza: un intero per un'immagine quadrata o una coppia (height, width). Le forme vengono adattate allo stride del modello. |
max_det | int | 300 | Numero massimo di rilevazioni da mantenere per fotogramma prima del tracciamento, che limita gli oggetti elaborati da una soluzione nelle scene dense. |
quantize | int or str | None | Precisione dell’inferenza: 16 (FP16) oppure 32/unset (FP32) per i modelli PyTorch e TorchScript quando non si usa la CPU; gli altri formati usano la precisione selezionata dal rispettivo artefatto e ambiente di esecuzione. Sostituisce l’argomento deprecato half. |
Puoi usare show_conf, show_labels e gli 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 ottenere un riscontro visivo immediato durante lo sviluppo o i test. |
show_conf | bool | True | Mostra il punteggio di confidenza di ogni rilevamento accanto all'etichetta. Fornisce indicazioni sul grado di certezza del modello per ciascun rilevamento. |
show_labels | bool | True | Mostra le etichette di ogni rilevamento nell'output visivo. Permette di identificare immediatamente gli oggetti rilevati. |
Uso di SolutionAnnotator#
Tutte le soluzioni Ultralytics usano la classe separata SolutionAnnotator, che estende la classe principale Annotator e fornisce i seguenti metodi:
| Metodo | Tipo restituito | Descrizione |
|---|---|---|
draw_region() | None | Disegna una regione usando punti, colori e spessore specificati. |
queue_counts_display() | None | Visualizza il conteggio delle code nella regione specificata. |
display_analytics() | None | Visualizza le statistiche complessive sulla gestione dei 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 sull'immagine un riquadro di testo con etichetta. |
plot_angle_and_count_and_stage() | None | Visualizza l'angolo, il conteggio dei passi e la fase per il monitoraggio degli allenamenti. |
plot_distance_and_line() | None | Visualizza la distanza tra i centroidi e li collega con una linea. |
display_objects_labels() | None | Aggiunge etichette delle classi degli oggetti alle bounding box. |
sweep_annotator() | None | Visualizza una linea verticale di passaggio e un'etichetta facoltativa. |
visioneye() | None | Mappa i centroidi degli oggetti e li collega a un punto visivo simile a un "occhio". |
adaptive_label() | None | Disegna un'etichetta con sfondo circolare o rettangolare al centro di una bounding box. |
Lavorare con SolutionResults#
A eccezione di Similarity Search, ogni chiamata a una soluzione 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, # visualizza l'output
region=region_points, # passa i punti della regione
model="yolo26n.pt", # model="yolo26n-obb.pt" per il conteggio degli oggetti con il modello OBB.
# classes=[0, 2], # conta classi specifiche, ad es. persona e auto con il modello COCO preaddestrato.
# tracker="botsort.yaml" # Scegli i tracker, ad es. "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_countGli oggetti SolutionResults 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, dict[str, int] | int] | Conteggi per classe: {"IN": int, "OUT": int} per ObjectCounter e Heatmap oppure un int per Analytics. |
queue_count | int | Numero di oggetti attualmente presenti in una coda o area di attesa predefinita (adatto alla gestione delle code). |
workout_count | list[int] | Conteggio delle ripetizioni degli allenamenti per ogni traccia di AI Gym (una voce per ogni individuo tracciato al momento). |
workout_angle | list[float] | Angoli degli esercizi per ogni traccia di AI Gym (una voce per ogni individuo tracciato al momento). |
workout_stage | list[str] | Fase corrente dell'allenamento per ogni traccia di AI Gym (una voce per ogni individuo tracciato al momento). |
pixels_distance | float | Distanza in pixel tra due oggetti o punti, ad esempio bounding box. (Adatta al calcolo delle distanze). |
available_slots | int | Numero di posti liberi in un'area monitorata (adatto alla gestione dei parcheggi). |
filled_slots | int | Numero di posti occupati in un'area monitorata. (Adatto alla gestione dei parcheggi) |
email_sent | bool | Indica se un'email di notifica o di avviso è stata inviata correttamente (adatto agli allarmi di sicurezza). |
total_tracks | int | Numero totale di tracce univoche 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[int, int] | Dizionario delle velocità stimate degli oggetti, organizzate per traccia, in km/h, ottenute da SpeedEstimator e utili per l'analisi della velocità. |
total_crop_objects | int | Numero totale di immagini ritagliate degli oggetti generate dalla soluzione ObjectCropper. |
speed | Dict[str, float] | Dizionario contenente metriche di prestazione per il tracciamento e l'elaborazione della soluzione. |
Per ulteriori dettagli, consulta la documentazione della classe SolutionResults.
Uso delle soluzioni tramite CLI#
La maggior parte delle soluzioni può essere usata direttamente tramite l'interfaccia a riga di comando.
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']. - ARGS (opzionali) sono coppie personalizzate
arg=value, comeshow_in=True, per sostituire 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 piacere i contributi della community! Se hai approfondito un aspetto specifico di Ultralytics YOLO che non è ancora trattato nelle nostre soluzioni, ti invitiamo a condividere le tue competenze. Scrivere una guida è un ottimo modo per restituire qualcosa alla community e aiutarci a rendere la documentazione più completa e intuitiva.
Per iniziare, leggi la nostra Guida ai contributi per sapere 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 🙏!
Domande frequenti#
Puoi usare Ultralytics YOLO26 per contare oggetti in tempo reale sfruttando le sue funzionalità avanzate di rilevamento degli oggetti. Segui la nostra guida dettagliata sul conteggio degli oggetti per configurare YOLO26 e analizzare flussi video dal vivo. Ti basta installare YOLO26, caricare il modello ed elaborare i fotogrammi del video per contare gli oggetti in modo dinamico.
Ultralytics YOLO26 migliora i sistemi di sicurezza offrendo il rilevamento degli oggetti in tempo reale e meccanismi di allerta. Con YOLO26 puoi creare un sistema di allarme di sicurezza che invia avvisi quando vengono rilevati nuovi oggetti nell'area sorvegliata. Scopri come configurare un sistema di allarme di sicurezza con YOLO26 per un monitoraggio della sicurezza efficace.
Ultralytics YOLO26 può migliorare notevolmente i sistemi di gestione delle code contando e tracciando con precisione le persone in attesa, contribuendo così a ridurre i tempi di attesa e ottimizzare l'efficienza del servizio. Segui la nostra guida dettagliata sulla gestione delle code per scoprire come implementare YOLO26 e monitorare e analizzare le code in modo efficace.
Sì, puoi usare Ultralytics YOLO26 per monitorare efficacemente gli allenamenti, tracciando e analizzando le routine di fitness in tempo reale. Questo consente di valutare con precisione la tecnica e le prestazioni degli esercizi. Consulta la nostra guida sul monitoraggio degli allenamenti per scoprire come configurare un sistema di monitoraggio degli allenamenti basato sull'IA con YOLO26.
Ultralytics YOLO26 può generare mappe di calore per visualizzare l'intensità dei dati in un'area specifica, evidenziando le zone con maggiore attività o interesse. Questa funzionalità è particolarmente utile per comprendere schemi e tendenze in varie attività di visione artificiale. Scopri di più su come creare e usare le mappe di calore con YOLO26 per un'analisi e una visualizzazione complete dei dati.