YOLO Vision 2026:

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.

Ultralytics Solutions Thumbnail



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#

ArgomentoTipoPredefinitoDescrizione
modelstrNonePercorso verso un file del modello Ultralytics YOLO.
regionlist o dictNonePunti 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_inboolTrueFlag per controllare se visualizzare i conteggi in ingresso sul flusso video.
show_outboolTrueFlag per controllare se visualizzare i conteggi in uscita sul flusso video.
analytics_typestr'line'Tipo di grafo, ovvero line, bar, area o pie.
colormapintcv2.COLORMAP_DEEPGREENColormap da utilizzare per la heatmap.
line_widthint2Spessore della linea per i box, i keypoint e i conteggi disegnati dalla soluzione.
verboseboolTrueAbilita 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_filestrNonePercorso verso il file JSON che contiene tutti i dati delle coordinate del parcheggio.
up_anglefloat145.0Soglia dell'angolo per la posa 'su'.
kptslist[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_angleint90Soglia dell'angolo per la posa 'giù'.
blur_ratiofloat0.5Regola la percentuale di intensità della sfocatura, con valori nell'intervallo 0.1 - 1.0.
crop_dirstr'cropped-detections'Nome della directory per archiviare i rilevamenti ritagliati.
recordsint5Conteggio totale dei rilevamenti per attivare un'email con il sistema di allarme di sicurezza.
vision_pointtuple[int, int](20, 20)Il punto in cui la visione traccerà gli oggetti e disegnerà i percorsi usando la Soluzione VisionEye.
sourcestrNonePercorso verso la sorgente di input (video, RTSP, ecc.). Utilizzabile solo con l'interfaccia a riga di comando (CLI) delle Soluzioni.
figsizetuple[float, float](12.8, 7.2)Dimensione della figura per grafici analitici come heatmap o grafici.
fpsfloat30.0Fotogrammi al secondo utilizzati per i calcoli della velocità.
max_histint5Punti storici massimi da tracciare per oggetto per i calcoli di velocità/direzione.
meter_per_pixelfloat0.05Fattore di scala utilizzato per convertire la distanza in pixel in unità del mondo reale.
max_speedint120Limite di velocità massima nelle sovrapposizioni visive (utilizzato negli avvisi).
datastr'images'Percorso verso la directory delle immagini utilizzata per la ricerca di similarità.
imgszint640Dimensione dell'immagine di input per l'inferenza del modello.
Argomenti di tracciamento

Le soluzioni inoltrano alcuni dei loro argomenti a track, nello specifico tracker, conf, iou, classes e device.

ArgomentoTipoPredefinitoDescrizione
trackerstr'botsort.yaml'Specifica l'algoritmo di tracciamento da utilizzare. Opzioni integrate: botsort.yaml, bytetrack.yaml, ocsort.yaml, deepocsort.yaml, fasttrack.yaml, tracktrack.yaml.
conffloat0.25Imposta la soglia di confidenza per i rilevamenti; valori più bassi consentono di tracciare più oggetti ma possono includere falsi positivi.
ioufloat0.7Imposta la soglia Intersection over Union (IoU) per filtrare i rilevamenti sovrapposti.
classeslistNoneFiltra i risultati per indice di classe. Ad esempio, classes=[0, 2, 3] traccia solo le classi specificate.
devicestrNoneSpecifica 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.
Argomenti di visualizzazione

Puoi usare show_conf, show_labels e altri argomenti menzionati per personalizzare la visualizzazione.

ArgomentoTipoPredefinitoDescrizione
showboolFalseSe True, mostra le immagini o i video annotati in una finestra. Utile per un riscontro visivo immediato durante lo sviluppo o i test.
show_confboolTrueMostra il punteggio di confidenza per ogni rilevamento accanto all'etichetta. Fornisce informazioni sulla certezza del modello per ogni rilevamento.
show_labelsboolTrueMostra 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:

MetodoTipo di ritornoDescrizione
draw_region()NoneDisegna una regione utilizzando punti, colori e spessore specificati.
queue_counts_display()NoneVisualizza i conteggi della coda nella regione specificata.
display_analytics()NoneVisualizza le statistiche generali per la gestione di parcheggi.
estimate_pose_angle()floatCalcola l'angolo tra tre punti nella posa di un oggetto.
draw_specific_kpts()np.ndarrayDisegna punti chiave specifici sull'immagine.
plot_workout_information()intDisegna una casella di testo etichettata sull'immagine.
plot_angle_and_count_and_stage()NoneVisualizza angolo, conteggio ripetizioni e fase per il monitoraggio dell'allenamento.
plot_distance_and_line()NoneVisualizza la distanza tra i centroidi e li collega con una linea.
display_objects_labels()NoneAnnota le bounding box con le etichette delle classi degli oggetti.
sweep_annotator()NoneVisualizza una linea di scansione verticale e un'etichetta opzionale.
visioneye()NoneMappa e collega i centroidi degli oggetti a un punto "occhio" visivo.
adaptive_label()NoneDisegna 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_count e classwise_count.
SolutionResults
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_count

L'oggetto SolutionResults ha i seguenti attributi:

AttributoTipoDescrizione
plot_imnp.ndarrayImmagine con overlay visivi come conteggi, effetti di sfocatura o miglioramenti specifici della soluzione.
in_countintNumero totale di oggetti rilevati in entrata nella zona definita nel flusso video.
out_countintNumero totale di oggetti rilevati in uscita dalla zona definita nel flusso video.
classwise_countDict[str, int]Dizionario che registra i conteggi in/out per classe per analisi avanzate.
queue_countintNumero di oggetti attualmente all'interno di una coda predefinita o area di attesa (adatto per la gestione delle code).
workout_countlist[int]Conteggio delle ripetizioni dell'allenamento per traccia da AI Gym (una voce per ogni individuo attualmente tracciato).
workout_anglelist[float]Angoli degli esercizi per traccia da AI Gym (una voce per ogni individuo attualmente tracciato).
workout_stagelist[str]Fase attuale dell'allenamento per traccia da AI Gym (una voce per ogni individuo attualmente tracciato).
pixels_distancefloatDistanza basata su pixel tra due oggetti o punti, es. bounding box. (Adatto per il calcolo della distanza).
available_slotsintNumero di posti liberi in un'area monitorata (adatto per la gestione dei parcheggi).
filled_slotsintNumero di posti occupati in un'area monitorata (adatto per la gestione dei parcheggi).
email_sentboolIndica se un'email di notifica o avviso è stata inviata con successo (adatto per allarmi di sicurezza).
total_tracksintNumero totale di tracce uniche di oggetti osservate durante l'analisi video.
region_countsDict[str, int]Conteggi degli oggetti all'interno di regioni o zone definite dall'utente.
speed_dictDict[str, float]Dizionario per traccia delle velocità degli oggetti calcolate, utile per l'analisi della velocità.
total_crop_objectsintNumero totale di immagini di oggetti ritagliati generate dalla soluzione ObjectCropper.
speedDict[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#

Info comando

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=value personalizzate, come show_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 path

Contribuisci 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.

Commenti