TrackZone con Ultralytics YOLO26

Apri TrackZone in Colab

Cos'è TrackZone?

TrackZone è specializzato nel monitoraggio di oggetti all'interno di aree designate di un fotogramma invece dell'intero fotogramma. Basato su Ultralytics YOLO26, integra il rilevamento e il tracciamento degli oggetti specificamente all'interno di zone per video e feed di telecamere in tempo reale. Gli algoritmi avanzati e le tecnologie di deep learning di YOLO26 lo rendono una scelta perfetta per casi d'uso in tempo reale, offrendo un tracciamento degli oggetti preciso ed efficiente in applicazioni come il monitoraggio della folla e la sorveglianza.



Watch: How to Track Objects in Region using Ultralytics YOLO26 | TrackZone 🚀

Vantaggi del tracciamento degli oggetti nelle zone (TrackZone)

  • Analisi mirata: Il tracciamento degli oggetti all'interno di zone specifiche consente approfondimenti più mirati, permettendo un monitoraggio e un'analisi precisi delle aree di interesse, come punti di ingresso o zone riservate.
  • Efficienza migliorata: Restringendo l'ambito di tracciamento a zone definite, TrackZone riduce il carico computazionale, garantendo un'elaborazione più rapida e prestazioni ottimali.
  • Sicurezza potenziata: Il tracciamento zonale migliora la sorveglianza monitorando le aree critiche, facilitando il rilevamento precoce di attività insolite o violazioni della sicurezza.
  • Soluzioni scalabili: La capacità di concentrarsi su zone specifiche rende TrackZone adattabile a vari scenari, dagli spazi commerciali alle impostazioni industriali, garantendo un'integrazione fluida e scalabilità.

Applicazioni nel mondo reale

AgricolturaTrasporti
Tracciamento delle piante nel campo usando Ultralytics YOLO26Tracciamento dei veicoli su strada usando Ultralytics YOLO26
Tracciamento delle piante nel campo usando Ultralytics YOLO26Tracciamento dei veicoli su strada usando Ultralytics YOLO26
TrackZone con Ultralytics YOLO
# Run a trackzone example
yolo solutions trackzone show=True

# Pass a source video
yolo solutions trackzone source="path/to/video.mp4" show=True

# Pass region coordinates
yolo solutions trackzone show=True region="[(150, 150), (1130, 150), (1130, 570), (150, 570)]"

TrackZone si basa sulla lista region per sapere quale parte del fotogramma monitorare. Definisci il poligono in modo che corrisponda alla zona fisica che ti interessa (porte, cancelli, ecc.) e mantieni show=True abilitato durante la configurazione, così da poter verificare che la sovrapposizione sia allineata con il feed video.

Argomenti di TrackZone

Ecco una tabella con gli argomenti di TrackZone:

ArgomentoTipoPredefinitoDescrizione
modelstrNonePercorso verso un file modello Ultralytics YOLO.
regionlist'[(20, 400), (1260, 400)]'Elenco di punti che definiscono la regione di conteggio.

La soluzione TrackZone include il supporto per i parametri track:

ArgomentoTipoPredefinitoDescrizione
trackerstr'botsort.yaml'Specifica l'algoritmo di tracciamento da utilizzare, ad esempio bytetrack.yaml o botsort.yaml.
conffloat0.1Imposta la soglia di confidenza per i rilevamenti; valori più bassi consentono il tracciamento di più oggetti ma potrebbero includere falsi positivi.
ioufloat0.7Imposta la soglia di 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.
verboseboolTrueControlla la visualizzazione dei risultati di tracciamento, fornendo un output visivo degli oggetti tracciati.
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.

Inoltre, sono disponibili le seguenti opzioni di 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 viene regolato automaticamente in base alla dimensione dell'immagine. Fornisce personalizzazione visiva per maggiore chiarezza.
show_confboolTrueVisualizza il punteggio di confidenza per ogni rilevamento accanto all'etichetta. Offre informazioni sulla certezza del modello per ogni rilevamento.
show_labelsboolTrueVisualizza le etichette per ogni rilevamento nell'output visivo. Fornisce una comprensione immediata degli oggetti rilevati.

FAQ

Come traccio gli oggetti in un'area o zona specifica di un fotogramma video usando Ultralytics YOLO26?

Tracciare oggetti in un'area o zona definita di un fotogramma video è semplice con Ultralytics YOLO26. Usa semplicemente il comando fornito di seguito per avviare il tracciamento. Questo approccio garantisce un'analisi efficiente e risultati accurati, rendendolo ideale per applicazioni come la sorveglianza, la gestione della folla o qualsiasi scenario che richieda il tracciamento zonale.

yolo solutions trackzone source="path/to/video.mp4" show=True

Come posso usare TrackZone in Python con Ultralytics YOLO26?

Con solo poche righe di codice, puoi configurare il tracciamento degli oggetti in zone specifiche, rendendolo facile da integrare nei tuoi progetti.

import cv2

from ultralytics import solutions

cap = cv2.VideoCapture("path/to/video.mp4")
assert cap.isOpened(), "Error reading video file"
w, h, fps = (int(cap.get(x)) for x in (cv2.CAP_PROP_FRAME_WIDTH, cv2.CAP_PROP_FRAME_HEIGHT, cv2.CAP_PROP_FPS))

# Define region points
region_points = [(150, 150), (1130, 150), (1130, 570), (150, 570)]

# Video writer
video_writer = cv2.VideoWriter("object_counting_output.avi", cv2.VideoWriter_fourcc(*"mp4v"), fps, (w, h))

# Init trackzone (object tracking in zones, not complete frame)
trackzone = solutions.TrackZone(
    show=True,  # display the output
    region=region_points,  # pass region points
    model="yolo26n.pt",
)

# Process video
while cap.isOpened():
    success, im0 = cap.read()
    if not success:
        print("Video frame is empty or video processing has been successfully completed.")
        break
    results = trackzone(im0)
    video_writer.write(results.plot_im)

cap.release()
video_writer.release()
cv2.destroyAllWindows()

Come configuro i punti della zona per l'elaborazione video usando Ultralytics TrackZone?

Configurare i punti della zona per l'elaborazione video con Ultralytics TrackZone è semplice e personalizzabile. Puoi definire e regolare direttamente le zone tramite uno script Python, consentendo un controllo preciso sulle aree che desideri monitorare.

# Define region points
region_points = [(150, 150), (1130, 150), (1130, 570), (150, 570)]

# Initialize trackzone
trackzone = solutions.TrackZone(
    show=True,  # display the output
    region=region_points,  # pass region points
)

Commenti