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

Watch: How to Run Ultralytics Solutions from the Command Line (CLI) | Ultralytics YOLO26 🚀
Soluzioni#
Ecco il nostro elenco selezionato di soluzioni Ultralytics che puoi utilizzare per creare fantastici progetti di computer vision.
- Analisi: esegui un'analisi completa dei dati per scoprire schemi e prendere decisioni informate, sfruttando YOLO26 per analisi descrittive, predittive e prescrittive.
- Calcolo delle distanze: calcola le distanze tra gli oggetti utilizzando i centroidi delle bounding box in YOLO26, un elemento essenziale per l'analisi spaziale.
- Mappe di calore: utilizza le mappe di calore delle rilevazioni per visualizzare l'intensità dei dati in una matrice, ottenendo informazioni chiare nelle attività 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 in tempo reale con Streamlit: sfrutta la potenza di YOLO26 per la rilevazione degli oggetti in tempo reale direttamente dal tuo browser web, tramite un'interfaccia Streamlit intuitiva.
- Sfocatura degli oggetti: applica la sfocatura agli oggetti utilizzando YOLO26 per proteggere la privacy nell'elaborazione di immagini e video.
- Conteggio degli oggetti: impara a eseguire il conteggio degli oggetti in tempo reale con YOLO26. Acquisisci le competenze necessarie per contare con precisione gli oggetti nei flussi video dal vivo.
- Conteggio degli oggetti nelle regioni: conta gli oggetti in regioni specifiche utilizzando YOLO26 per una rilevazione accurata in aree diverse.
- Ritaglio degli oggetti: diventa esperto nel ritaglio degli oggetti con YOLO26 per estrarre con precisione gli oggetti da immagini e video.
- Gestione dei parcheggi: organizza e indirizza il flusso dei veicoli nelle aree di parcheggio con YOLO26, ottimizzando l'utilizzo degli spazi 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à utilizzando YOLO26.
- Sistema di allarme di sicurezza: crea un sistema di allarme di sicurezza con YOLO26 che attiva avvisi 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à coseno, consentendo query in linguaggio naturale come "persona con una borsa" o "veicoli in movimento".
- Stima della velocità: stima la velocità degli oggetti utilizzando YOLO26 e tecniche di tracciamento degli oggetti, fondamentali per applicazioni come i veicoli autonomi e il monitoraggio del traffico.
- Tracciamento degli oggetti in una zona: impara a tracciare gli oggetti all'interno di zone specifiche dei fotogrammi video utilizzando YOLO26 per un monitoraggio preciso ed efficiente.
- Mappatura degli oggetti con la vista VisionEye: sviluppa sistemi che imitano la focalizzazione 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 utilizzando YOLO26. Impara a tracciare e analizzare in tempo reale diverse routine di fitness.
Argomenti delle soluzioni#
| Argomento | Tipo | Predefinito | Descrizione |
|---|---|---|---|
model | str | None | Percorso al file del modello Ultralytics YOLO. |
region | list o dict | None | Punti che definiscono la regione di interesse, costituiti da un elenco di tuple (x, y) o da 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 utilizzano una regione predefinita. |
show_in | bool | True | Flag che controlla se visualizzare i conteggi degli ingressi nel flusso video. |
show_out | bool | True | Flag che controlla se visualizzare i conteggi delle uscite nel flusso video. |
analytics_type | str | 'line' | Tipo di grafico, ovvero line, bar, area o pie. |
colormap | int | cv2.COLORMAP_DEEPGREEN | Mappa dei colori da utilizzare per la mappa di calore. |
line_width | int | 2 | Spessore delle linee per i riquadri, i punti chiave e i conteggi disegnati dalla soluzione. |
verbose | bool | True | Abilita il registro per fotogramma della soluzione, con forma dell'input, conteggi delle classi e velocità di elaborazione. La chiamata di tracciamento è sempre silenziosa. |
json_file | str | None | Percorso al file JSON che contiene tutti i dati delle coordinate dei parcheggi. |
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 ad articolazioni o parti del corpo, come spalle, gomiti e polsi, per esercizi come flessioni, trazioni, squat e allenamenti per gli 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 in cui archiviare le rilevazioni ritagliate. |
records | int | 5 | Numero totale di rilevazioni necessario per attivare un'e-mail con il sistema di allarme di sicurezza. |
vision_point | tuple[int, int] | (20, 20) | Punto in cui la vista traccia gli oggetti e disegna i percorsi utilizzando la soluzione VisionEye. |
source | str | None | Percorso alla 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) | Dimensioni della figura per i grafici di analisi, come mappe di calore o grafici. |
fps | float | 30.0 | Fotogrammi al secondo utilizzati per i calcoli della velocità. |
max_hist | int | 5 | Numero massimo di punti storici da tracciare per oggetto per i calcoli della 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 alla directory delle immagini utilizzata per la ricerca per similarità. |
imgsz | int | 640 | Dimensioni dell'immagine di input per l'inferenza del modello. |
Le soluzioni inoltrano gli argomenti di inferenza e tracciamento sottostanti a model.track().
| 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 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 inferenza di destinazione: un numero intero per un'immagine quadrata o una coppia (height, width). Le forme vengono regolate in base al passo del modello. |
max_det | int | 300 | Numero massimo di rilevamenti conservati per fotogramma prima del tracciamento, limitando gli oggetti elaborati da una soluzione in scene dense. |
quantize | int or str | None | Precisione dell'inferenza: 16 (FP16) o 32/non impostato (FP32) per i modelli PyTorch e TorchScript; altri formati vengono calcolati alla precisione selezionata dal loro artefatto e runtime. Sostituisce il flag deprecato half. |
Puoi utilizzare show_conf, show_labels e gli 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 ottenere un feedback visivo immediato durante lo sviluppo o i test. |
show_conf | bool | True | Visualizza il punteggio di confidenza per ogni rilevazione accanto all'etichetta. Fornisce informazioni sul grado di certezza del modello per ogni rilevazione. |
show_labels | bool | True | Visualizza le etichette per ogni rilevazione nell'output visivo. Consente di comprendere immediatamente gli 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 restituito | Descrizione |
|---|---|---|
draw_region() | None | Disegna una regione utilizzando i punti, i colori e lo spessore specificati. |
queue_counts_display() | None | Visualizza i conteggi della coda nella regione specificata. |
display_analytics() | None | Visualizza le statistiche complessive per la gestione del parcheggio. |
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 con etichetta sull'immagine. |
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 | Annota le bounding box con le etichette delle classi degli oggetti. |
sweep_annotator() | None | Visualizza una linea verticale di scansione e un'etichetta facoltativa. |
visioneye() | None | Mappa e collega i centroidi degli oggetti a un punto visivo di tipo "occhio". |
adaptive_label() | None | Disegna un'etichetta di sfondo circolare o rettangolare al centro di una bounding box. |
Utilizzo di SolutionResults#
Ad 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, # 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 presenta 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 mentre entrano nella zona definita del flusso video. |
out_count | int | Numero totale di oggetti rilevati mentre escono dalla zona definita del flusso video. |
classwise_count | Dict[str, int] | Dizionario che registra i conteggi degli oggetti in entrata/uscita per classe per analisi avanzate. |
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] | Conteggi delle ripetizioni degli allenamenti 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 in pixel tra due oggetti o punti, ad esempio le bounding box (adatta al calcolo delle distanze). |
available_slots | int | Numero di posti non occupati 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'e-mail di notifica o di avviso è stata inviata correttamente (adatto per un allarme di sicurezza). |
total_tracks | int | Numero totale di tracce di oggetti univoche 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 delle velocità degli oggetti calcolate per traccia, utile per l'analisi della velocità. |
total_crop_objects | int | Numero totale di immagini di oggetti ritagliate generate dalla soluzione ObjectCropper. |
speed | Dict[str, float] | Dizionario contenente le metriche delle prestazioni per il tracciamento e l'elaborazione della soluzione. |
Per ulteriori 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.
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 (facoltativi) 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 pathContribuisci alle nostre soluzioni#
Accogliamo con piacere i contributi della community! Se hai acquisito una particolare esperienza in un aspetto 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 nostra documentazione più completa e intuitiva.
Per iniziare, leggi la nostra Guida ai contributi per conoscere le linee guida su come aprire una richiesta di integrazione (PR) 🛠️. Attendiamo con piacere 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 funzionalità di rilevamento degli oggetti. Puoi seguire la nostra guida dettagliata sul Conteggio degli oggetti per configurare YOLO26 per l'analisi di flussi video dal vivo. Ti basta installare YOLO26, caricare il modello ed elaborare i fotogrammi video per contare dinamicamente gli oggetti.
Ultralytics YOLO26 migliora i sistemi di sicurezza offrendo il rilevamento degli 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 sorvegliata. Scopri come configurare un Sistema di allarme di sicurezza 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 ottimizzare l'efficienza del servizio. Segui la nostra guida dettagliata sulla Gestione delle code per scoprire come implementare YOLO26 per un monitoraggio e un'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 tecnica e delle prestazioni durante gli esercizi. Esplora la nostra guida sul Monitoraggio degli allenamenti per scoprire come configurare un sistema di monitoraggio degli allenamenti basato sull'AI utilizzando YOLO26.
Ultralytics YOLO26 può generare mappe di calore per visualizzare l'intensità dei dati in un'area specifica, evidenziando le regioni con maggiore attività o interesse. Questa funzionalità è particolarmente utile per comprendere schemi e tendenze in varie attività di visione artificiale. Scopri di più sulla creazione e sull'utilizzo delle Mappe di calore con YOLO26 per un'analisi e una visualizzazione complete dei dati.