Vai al contenuto

Soluzioni Ultralytics: Sfrutta YOLO26 per risolvere problemi del mondo reale

Le soluzioni Ultralytics offrono applicazioni all'avanguardia dei modelli YOLO, fornendo soluzioni reali come il conteggio di 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 di impatto.

Miniatura delle soluzioni Ultralytics



Guarda: Come eseguire le soluzioni Ultralytics dalla Riga di Comando (CLI) | Ultralytics YOLO26 🚀

Soluzioni

Ecco la nostra lista curata di soluzioni Ultralytics che possono essere utilizzate per creare fantastici progetti di computer vision.

  • Analisi: Conduci un'analisi completa dei dati per scoprire schemi e prendere decisioni informate, sfruttando YOLO26 per analisi descrittive, predittive e prescrittive.
  • Calcolo della Distanza: Calcola le distanze tra gli oggetti utilizzando i centroidi delle bounding box in YOLO26, essenziale per l'analisi spaziale.
  • Heatmap: Utilizza le heatmap di rilevamento per visualizzare l'intensità dei dati attraverso una matrice, fornendo chiare informazioni nelle attività di computer vision.
  • Segmentazione di Istanza con Tracciamento di Oggetti: Implementa la segmentazione di istanza e il tracciamento di oggetti con YOLO26 per ottenere confini precisi degli oggetti e un monitoraggio continuo.
  • Inferenza in Tempo Reale con Streamlit: Sfrutta la potenza di YOLO26 per il rilevamento di oggetti in tempo reale direttamente tramite il tuo browser web con un'interfaccia Streamlit user-friendly.
  • Sfocatura di Oggetti: Applica la sfocatura di oggetti utilizzando YOLO26 per proteggere la privacy nell'elaborazione di immagini e video.
  • Conteggio di Oggetti: Impara a eseguire il conteggio di oggetti in tempo reale con YOLO26. Acquisisci l'esperienza per contare accuratamente gli oggetti nei flussi video in diretta.
  • Conteggio di Oggetti in Regioni: Conta gli oggetti in regioni specifiche utilizzando YOLO26 per un rilevamento accurato in diverse aree.
  • Ritaglio di Oggetti: Padroneggia il ritaglio di oggetti con YOLO26 per un'estrazione precisa di oggetti da immagini e video.
  • Gestione Parcheggi: Organizza e dirige il flusso veicolare nelle aree di parcheggio con YOLO26, ottimizzando l'utilizzo dello spazio e l'esperienza utente.
  • Gestione Code: Implementa sistemi efficienti di gestione delle code per minimizzare 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 al detect di nuovi oggetti. Personalizza il sistema per adattarlo alle tue esigenze specifiche.
  • Ricerca di Similarità: Abilita il recupero intelligente delle immagini combinando gli embedding di OpenAI CLIP con Meta FAISS, consentendo query in linguaggio naturale come "persona che tiene una borsa" o "veicoli in movimento".
  • Stima della Velocità: Stima la velocità degli oggetti utilizzando YOLO26 e tecniche di object tracking, cruciale per applicazioni come veicoli autonomi e monitoraggio del traffico.
  • Track Oggetti in Zona: Impara come track 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.
  • Monitoraggio Allenamenti: Scopri come monitorare gli allenamenti utilizzando YOLO26. Impara a track e analizzare diverse routine di fitness in tempo reale.

Solutions Arguments

ArgomentoTipoPredefinitoDescrizione
modelstrNonePercorso di un file modello Ultralytics YOLO.
regionlist'[(20, 400), (1260, 400)]'Elenco dei punti che definiscono la regione di conteggio.
show_inboolTrueFlag per controllare se visualizzare i conteggi in streaming video.
show_outboolTrueFlag per controllare se visualizzare i conteggi out streaming video.
analytics_typestr'line'Tipo di grafico, ovvero line, bar, area, oppure pie.
colormapintcv2.COLORMAP_JETColormap da utilizzare per la heatmap.
json_filestrNonePercorso del file JSON che contiene tutti i dati delle coordinate del parcheggio.
up_anglefloat145.0Soglia angolare per la posa 'alta'.
kptslist[int]'[6, 8, 10]'Elenco di tre indici di keypoint utilizzati per il monitoraggio degli allenamenti. Questi keypoint corrispondono ad articolazioni o parti del corpo, come spalle, gomiti e polsi, per esercizi quali flessioni, trazioni, squat e allenamenti addominali.
down_anglefloat90.0Soglia angolare per la posa 'bassa'.
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 la memorizzazione dei rilevamenti ritagliati.
recordsint5Conteggio totale dei rilevamenti per attivare un'e-mail con il sistema di allarme di sicurezza.
vision_pointtuple[int, int](20, 20)Il punto in cui Vision traccerà gli oggetti e disegnerà i percorsi utilizzando VisionEye Solution.
sourcestrNonePercorso della sorgente di input (video, RTSP, ecc.). Utilizzabile solo con l'interfaccia della riga di comando (CLI) di Solutions.
figsizetuple[int, int](12.8, 7.2)Dimensione della figura per grafici analitici come mappe di calore o grafici.
fpsfloat30.0Frame al secondo utilizzati per i calcoli della velocità.
max_histint5Numero massimo di punti storici da tenere traccia 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 massimo di velocità nelle sovrapposizioni visive (utilizzato negli avvisi).
datastr'images'Percorso della directory delle immagini utilizzata per la ricerca di similarità.

Traccia gli argomenti

Le soluzioni supportano anche alcuni degli argomenti da track, inclusi parametri come conf, line_width, tracker, model, show, verbose e classes.

ArgomentoTipoPredefinitoDescrizione
trackerstr'botsort.yaml'Specifica l'algoritmo di tracking da utilizzare, ad esempio: bytetrack.yaml oppure botsort.yaml.
conffloat0.1Imposta la soglia di confidenza per i rilevamenti; valori inferiori consentono di tracciare più oggetti, ma potrebbero includere falsi positivi.
ioufloat0.7Imposta la soglia Intersection over Union (IoU) per filtrare i detect sovrapposti.
classeslistNoneFiltra i risultati per indice di classe. Per esempio, classes=[0, 2, 3] traccia solo le classi specificate.
verboseboolTrueControlla la visualizzazione dei risultati del tracking, fornendo un output visivo degli oggetti tracciati.
devicestrNoneSpecifica il dispositivo per l'inferenza (ad esempio, cpu, cuda:0 oppure 0). Consente agli utenti di scegliere tra CPU, una GPU specifica 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, visualizza le immagini o i video annotati in una finestra. Utile per un feedback visivo immediato durante lo sviluppo o il test.
line_widthint or NoneNoneSpecifica lo spessore della linea dei riquadri di delimitazione. Se None, lo spessore della linea viene regolato automaticamente in base alle dimensioni dell'immagine, fornendo una personalizzazione visiva per una maggiore chiarezza.
show_confboolTrueVisualizza il punteggio di confidenza per ogni rilevamento accanto all'etichetta, offrendo una panoramica sulla certezza del modello per ogni rilevamento.
show_labelsboolTrueMostra le etichette per ogni rilevamento nell'output visivo, fornendo una comprensione immediata degli oggetti rilevati.

Utilizzo di SolutionAnnotator

Tutte le Ultralytics Solutions utilizzano la classe separata SolutionAnnotator, che estende il principale Annotator class e hanno i seguenti metodi:

MetodoTipo di ritornoDescrizione
draw_region()NoneDisegna una regione utilizzando punti, colori e spessore specificati.
queue_counts_display()NoneVisualizza il numero di code nella regione specificata.
display_analytics()NoneVisualizza le statistiche generali per la gestione del parcheggio.
estimate_pose_angle()floatCalcola l'angolo tra tre punti nella posa di un oggetto.
draw_specific_points()NoneDisegna punti chiave specifici sull'immagine.
plot_workout_information()NoneDisegna una casella di testo etichettata sull'immagine.
plot_angle_and_count_and_stage()NoneVisualizza l'angolo, il conteggio dei passi e la 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 i bounding box con le etichette della classe di oggetti.
sweep_annotator()NoneVisualizza una linea di scansione verticale e un'etichetta opzionale.
visioneye()NoneMappa e connette i centroidi degli oggetti a un punto "occhio" visivo.
adaptive_label()NoneDisegna un'etichetta di forma circolare o rettangolare come sfondo al centro di un bounding box.

Lavorare con SolutionResults

Eccetto Similarity Search, ogni chiamata a Solution restituisce un elenco di SolutionResults object.

  • 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

SolutionResults object hanno i seguenti attributi:

AttributoTipoDescrizione
plot_imnp.ndarrayImmagine con sovrapposizioni visive come conteggi, effetti di sfocatura o miglioramenti specifici della soluzione.
in_countintNumero totale di oggetti rilevati che entrano nella zona definita nel flusso video.
out_countintNumero totale di oggetti rilevati che escono dalla zona definita nel flusso video.
classwise_countDict[str, int]Dizionario che registra il conteggio degli oggetti in entrata/uscita per classe per analisi avanzate.
queue_countintNumero di oggetti attualmente all'interno di una coda predefinita o di un'area di attesa (adatto per la gestione delle code).
workout_countintNumero totale di ripetizioni di allenamento completate durante il monitoraggio dell'esercizio.
workout_anglefloatAngolo calcolato dell'articolazione o della posa durante l'allenamento per la valutazione della forma.
workout_stagestrFase di allenamento o fase di movimento corrente (ad esempio, 'su', 'giù').
pixels_distancefloatDistanza basata sui pixel tra due oggetti o punti, ad esempio, bounding box (adatta per il calcolo della distanza).
available_slotsintNumero di posti non occupati in un'area monitorata (adatto per la gestione del parcheggio).
filled_slotsintNumero di posti occupati in un'area monitorata (adatto per la gestione del parcheggio).
email_sentboolIndica se una notifica o un'e-mail di avviso è stata inviata correttamente (adatta per allarmi di sicurezza).
total_tracksintNumero totale di tracce di oggetti univoche osservate durante l'analisi video.
region_countsDict[str, int]Conteggio degli oggetti all'interno di regioni o zone definite dall'utente.
speed_dictDict[str, float]Dizionario track-wise 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 tracking e l'elaborazione della soluzione.

Per maggiori dettagli, fare riferimento a SolutionResults documentazione della classe.

Solutions Usage via CLI

Informazioni sui comandi

La maggior parte delle soluzioni può essere utilizzata direttamente tramite l'interfaccia a riga di comando, tra cui:

Count, Crop, Blur, Workout, Heatmap, Isegment, Visioneye, Speed, Queue, Analytics, Inference

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'].
  • ARGS (opzionali) sono coppie personalizzate, arg=value coppie 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 soluzioni

Accogliamo con favore i contributi della comunità! Se hai acquisito una particolare competenza in un aspetto di Ultralytics YOLO che non è ancora trattato nelle nostre soluzioni, ti incoraggiamo a condividere la tua esperienza. Scrivere una guida è un ottimo modo per dare qualcosa in cambio alla comunità e aiutarci a rendere la nostra documentazione più completa e facile da usare.

Per iniziare, leggi la nostra Guida per i contributi 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ù robusto e versatile 🙏!

FAQ

Come 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 object detection. Puoi seguire la nostra guida dettagliata su Conteggio Oggetti per configurare YOLO26 per l'analisi di flussi video in diretta. Ti basta installare YOLO26, caricare il tuo modello e processare i fotogrammi video per contare gli oggetti dinamicamente.

Quali sono i vantaggi dell'utilizzo di Ultralytics YOLO per i sistemi di sicurezza?

Ultralytics YOLO26 migliora i sistemi di sicurezza offrendo object detection in tempo reale e meccanismi di allerta. Impiegando YOLO26, puoi creare un sistema di allarme di sicurezza che attiva avvisi quando nuovi oggetti vengono detect nell'area di sorveglianza. Scopri come configurare un Sistema di Allarme di Sicurezza con YOLO26 per un monitoraggio della sicurezza robusto.

In che modo Ultralytics YOLO può migliorare i sistemi di gestione delle code?

Ultralytics YOLO26 può migliorare significativamente i sistemi di gestione delle code contando e track 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 su Gestione Code per imparare come implementare YOLO26 per un monitoraggio e un'analisi efficaci delle code.

Ultralytics YOLO può essere utilizzato per il monitoraggio degli allenamenti?

Sì, Ultralytics YOLO26 può essere efficacemente utilizzato per il monitoraggio degli allenamenti tramite il tracking e l'analisi delle routine di fitness in tempo reale. Ciò consente una valutazione precisa della forma e delle prestazioni degli esercizi. Esplora la nostra guida su Monitoraggio Allenamenti per imparare come configurare un sistema di monitoraggio degli allenamenti basato su AI utilizzando YOLO26.

In che modo Ultralytics YOLO aiuta a creare mappe di calore per la visualizzazione dei dati?

Ultralytics YOLO26 può generare heatmap per visualizzare l'intensità dei dati in una data area, evidenziando regioni di alta attività o interesse. Questa funzionalità è particolarmente utile per comprendere schemi e tendenze in vari compiti di computer vision. Scopri di più sulla creazione e l'utilizzo di Heatmap con YOLO26 per un'analisi e visualizzazione completa dei dati.



📅 Creato 1 anno fa ✏️ Aggiornato 2 giorni fa
RizwanMunawarglenn-jocherLaughing-qUltralyticsAssistant

Commenti