Segmentazione delle istanze e tracciamento con Ultralytics YOLO26 🚀#
Cos'è la segmentazione delle istanze?#
La segmentazione d'istanza è un'attività di visione artificiale che consiste nell'identificare e delineare singoli oggetti in un'immagine a livello di pixel. A differenza della segmentazione semantica, che classifica i pixel solo per categoria, la segmentazione d'istanza etichetta in modo univoco e delinea con precisione ogni singola istanza di oggetto, rendendola cruciale per applicazioni che richiedono una comprensione spaziale dettagliata come l'imaging medico, la guida autonoma e l'automazione industriale.
Ultralytics YOLO26 offre potenti capacità di segmentazione d'istanza che consentono il rilevamento preciso dei confini degli oggetti, mantenendo al contempo la velocità e l'efficienza per cui i modelli YOLO sono rinomati.
Esistono due tipi di tracciamento con segmentazione delle istanze disponibili nel pacchetto Ultralytics:
-
Segmentazione delle istanze con oggetti di classe: A ogni oggetto di classe viene assegnato un colore univoco per una chiara separazione visiva.
-
Segmentazione delle istanze con tracciamento oggetti: Ogni traccia è rappresentata da un colore distinto, facilitando l'identificazione e il monitoraggio tra i frame video.
Watch: Instance Segmentation with Object Tracking using Ultralytics YOLO26
Campioni#
| Segmentazione dell'istanza | Segmentazione delle istanze + Tracciamento oggetti |
|---|---|
![]() | ![]() |
| Segmentazione delle istanze Ultralytics 😍 | Segmentazione delle istanze Ultralytics con tracciamento oggetti 🔥 |
Segmentazione e tracciamento con YOLO26#
La soluzione InstanceSegmentation esegue un modello di segmentazione YOLO26 su ciascun fotogramma, disegna maschere per ciascun oggetto e colora ogni istanza separatamente in modo da poter seguire i singoli oggetti lungo un video. Carica un modello -seg, quindi eseguilo sulla tua sorgente con la Python API o la CLI.
# Instance segmentation using Ultralytics YOLO26
yolo solutions isegment show=True
# Pass a source video
yolo solutions isegment source="path/to/video.mp4"
# Monitor the specific classes
yolo solutions isegment classes="[0, 5]"Argomenti di InstanceSegmentation#
Ecco una tabella con gli argomenti di InstanceSegmentation:
| Argomento | Tipo | Predefinito | Descrizione |
|---|---|---|---|
model | str | None | Percorso verso un file del modello Ultralytics YOLO. |
line_width | int | 2 | Spessore della linea per i box, i keypoint e i conteggi disegnati dalla soluzione. |
verbose | bool | True | Abilita 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. |
Puoi anche sfruttare gli argomenti di track all'interno della soluzione InstanceSegmentation:
| 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 i rilevamenti; valori più bassi consentono di tracciare più oggetti ma possono includere falsi positivi. |
iou | float | 0.7 | Imposta la soglia Intersection over Union (IoU) per filtrare i rilevamenti sovrapposti. |
classes | list | None | Filtra i risultati per indice di classe. Ad esempio, classes=[0, 2, 3] traccia solo le classi specificate. |
device | str | None | Specifica 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 i seguenti argomenti di visualizzazione:
| Argomento | Tipo | Predefinito | Descrizione |
|---|---|---|---|
show | bool | False | Se True, mostra le immagini o i video annotati in una finestra. Utile per un riscontro visivo immediato durante lo sviluppo o i test. |
show_conf | bool | True | Mostra il punteggio di confidenza per ogni rilevamento accanto all'etichetta. Fornisce informazioni sulla certezza del modello per ogni rilevamento. |
show_labels | bool | True | Mostra le etichette per ogni rilevamento nell'output visivo. Offre una comprensione immediata degli oggetti rilevati. |
show_boxes | bool | True | Disegna riquadri di delimitazione attorno agli oggetti rilevati. Essenziale per l'identificazione visiva e la posizione degli oggetti in immagini o fotogrammi video. |
Applicazioni della segmentazione delle istanze#
La segmentazione delle istanze con YOLO26 ha numerose applicazioni nel mondo reale in vari settori:
Gestione dei rifiuti e riciclaggio#
YOLO26 può essere utilizzato negli impianti di gestione dei rifiuti per identificare e smistare diversi tipi di materiali. Il modello può segmentare rifiuti in plastica, cartone, metallo e altri materiali riciclabili con elevata precisione, consentendo ai sistemi di smistamento automatizzati di elaborare i rifiuti in modo più efficiente. Ciò è particolarmente prezioso considerando che solo circa il 10% dei 7 miliardi di tonnellate di rifiuti in plastica generati a livello globale viene riciclato.
Veicoli autonomi#
Nelle auto a guida autonoma, la segmentazione d'istanza aiuta a identificare e tracciare pedoni, veicoli, segnali stradali e altri elementi stradali a livello di pixel. Questa comprensione precisa dell'ambiente è cruciale per la navigazione e le decisioni di sicurezza. Le prestazioni in tempo reale di YOLO26 lo rendono ideale per queste applicazioni sensibili al fattore tempo.
Imaging medico#
La segmentazione d'istanza può identificare e delineare tumori, organi o strutture cellulari nelle scansioni mediche. La capacità di YOLO26 di delineare con precisione i confini degli oggetti lo rende prezioso per la diagnostica medica e la pianificazione dei trattamenti.
Monitoraggio dei cantieri edili#
Nei cantieri, la segmentazione delle istanze può tracciare macchinari pesanti, lavoratori e materiali. Ciò aiuta a garantire la sicurezza monitorando le posizioni delle attrezzature e rilevando quando i lavoratori entrano in aree pericolose, ottimizzando al contempo il flusso di lavoro e l'allocazione delle risorse.
FAQ#
Per eseguire la segmentazione delle istanze utilizzando Ultralytics YOLO26, inizializza il modello YOLO con una versione di segmentazione di YOLO26 ed elabora i frame video attraverso di esso. Ecco un esempio di codice semplificato:
import cv2 from ultralytics import solutions cap = cv2.VideoCapture("path/to/video.mp4") assert cap.isOpened(), "Error reading video file" # Video writer w, h, fps = (int(cap.get(x)) for x in (cv2.CAP_PROP_FRAME_WIDTH, cv2.CAP_PROP_FRAME_HEIGHT, cv2.CAP_PROP_FPS)) video_writer = cv2.VideoWriter("instance-segmentation.avi", cv2.VideoWriter_fourcc(*"mp4v"), fps, (w, h)) # Init InstanceSegmentation isegment = solutions.InstanceSegmentation( show=True, # display the output model="yolo26n-seg.pt", # model="yolo26n-seg.pt" for object segmentation using YOLO26. ) # Process video while cap.isOpened(): success, im0 = cap.read() if not success: print("Video frame is empty or processing is complete.") break results = isegment(im0) video_writer.write(results.plot_im) cap.release() video_writer.release() cv2.destroyAllWindows()Scopri di più sulla segmentazione d'istanza nella guida di Ultralytics YOLO26.
La segmentazione delle istanze identifica e delinea i singoli oggetti all'interno di un'immagine, assegnando a ciascun oggetto un'etichetta e una maschera univoche. Il tracciamento oggetti estende questa funzione assegnando ID coerenti agli oggetti tra i frame video, facilitando il tracciamento continuo degli stessi oggetti nel tempo. Quando combinati, come nell'implementazione di YOLO26, ottieni potenti capacità per analizzare il movimento e il comportamento degli oggetti nei video mantenendo informazioni precise sui contorni.
Ultralytics YOLO26 offre prestazioni in tempo reale, accuratezza superiore e facilità d'uso rispetto ad altri modelli come Mask R-CNN o Faster R-CNN. YOLO26 elabora le immagini in un unico passaggio (rilevamento a stadio singolo), risultando significativamente più veloce pur mantenendo un'elevata precisione. Fornisce inoltre un'integrazione perfetta con Ultralytics Platform, consentendo agli utenti di gestire in modo efficiente modelli, dataset e pipeline di addestramento. Per le applicazioni che richiedono sia velocità che accuratezza, YOLO26 fornisce un equilibrio ottimale.
Sì, Ultralytics offre diversi dataset adatti all'addestramento di modelli YOLO26 per la segmentazione d'istanza, tra cui COCO-Seg, COCO8-Seg (un sottoinsieme più piccolo per test rapidi), Package-Seg e Crack-Seg. Questi dataset includono le annotazioni a livello di pixel necessarie per le attività di segmentazione d'istanza. Per applicazioni più specializzate, puoi anche creare dataset personalizzati seguendo il formato Ultralytics. Informazioni complete sui dataset e istruzioni per l'uso sono reperibili nella documentazione sui dataset di Ultralytics.

