YOLO Vision 2026:

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'istanzaSegmentazione delle istanze + Tracciamento oggetti
Ultralytics Instance SegmentationUltralytics Instance Segmentation with Object Tracking
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.

Segmentazione delle istanze utilizzando Ultralytics YOLO
# 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:

ArgomentoTipoPredefinitoDescrizione
modelstrNonePercorso verso un file del modello Ultralytics YOLO.
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.

Puoi anche sfruttare gli argomenti di track all'interno della soluzione InstanceSegmentation:

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.

Inoltre, sono disponibili i seguenti argomenti di 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.
show_boxesboolTrueDisegna 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.

Commenti