Instance Segmentation
Impara come la segmentazione delle istanze abilita il rilevamento oggetti a livello di pixel. Scopri come usare Ultralytics YOLO26 per la generazione di maschere ad alta velocità e in tempo reale.
La segmentazione delle istanze è una tecnica sofisticata nella computer vision (CV) che identifica e delinea ogni singolo oggetto di interesse all'interno di un'immagine a livello di pixel. Mentre il rilevamento di oggetti standard individua gli elementi utilizzando bounding box rettangolari, la segmentazione delle istanze approfondisce l'analisi generando una maschera precisa per ogni entità rilevata. Questa capacità consente ai modelli di intelligenza artificiale (AI) di distinguere tra singoli oggetti della stessa classe, come ad esempio separare due persone sovrapposte, offrendo una comprensione più ricca e dettagliata della scena visiva rispetto a metodi di classificazione più semplici.
Distinguere i tipi di segmentazione#
Per comprendere appieno l'utilità della segmentazione delle istanze, è utile differenziarla da altri compiti correlati di elaborazione delle immagini. Ogni metodo offre un diverso livello di granularità a seconda dei requisiti dell'applicazione.
- Segmentazione Semantica: Questo approccio classifica ogni pixel di un'immagine in una categoria (ad esempio, "strada", "cielo", "auto"). Tuttavia, non distingue tra oggetti separati della stessa categoria. Se tre auto sono parcheggiate l'una accanto all'altra, la segmentazione semantica le considera come un'unica regione di "auto".
- Segmentazione delle Istanze: Questo metodo tratta ciascun oggetto come un'entità unica. Rileva le singole istanze e assegna un'etichetta univoca ai pixel di ognuna. Nell'esempio delle auto parcheggiate, la segmentazione delle istanze creerebbe tre maschere distinte, identificando separatamente "Auto A", "Auto B" e "Auto C".
- Segmentazione Panoptica: Un approccio ibrido che combina l'etichettatura dello sfondo della segmentazione semantica con l'identificazione degli oggetti conteggiabili della segmentazione delle istanze.
I meccanismi dell'analisi a livello di pixel#
I moderni modelli di segmentazione delle istanze si affidano tipicamente ad architetture avanzate di deep learning (DL), in particolare Convolutional Neural Networks (CNNs). Queste reti estraggono caratteristiche da un'immagine per prevedere sia la classe di un oggetto sia il suo contorno spaziale. Storicamente, le architetture a due stadi come Mask R-CNN rappresentavano lo standard, proponendo prima le regioni di interesse e poi perfezionandole in maschere.
Tuttavia, i recenti progressi hanno portato a rilevatori a stadio singolo come YOLO26, che eseguono rilevamento e segmentazione simultaneamente. Questo approccio "end-to-end" migliora significativamente le velocità di inferenza in tempo reale, rendendo possibile applicare una segmentazione ad alta precisione a flussi video dal vivo su hardware di consumo.
Applicazioni nel mondo reale#
I confini precisi forniti dalla segmentazione delle istanze sono fondamentali per i settori in cui comprendere l'esatta forma e posizione di un oggetto è necessario per il processo decisionale.
- AI in Sanità: Nella diagnostica medica, identificare le dimensioni e la forma esatte di tumori o lesioni è fondamentale. La segmentazione delle istanze consente ai modelli di delineare le anomalie nelle scansioni MRI con elevata precisione, aiutando i radiologi nella pianificazione del trattamento e nel monitoraggio della progressione della malattia.
- Veicoli Autonomi: Le auto a guida autonoma si affidano alla segmentazione per navigare in ambienti complessi. Utilizzando dataset come Cityscapes, i veicoli possono identificare superfici percorribili, riconoscere la segnaletica stradale e separare i singoli pedoni in attraversamenti pedonali affollati per garantire la sicurezza.
- AI in Agricoltura: L'agricoltura di precisione utilizza la segmentazione per monitorare la salute delle colture. I robot dotati di sistemi di visione possono identificare singoli frutti per la raccolta automatizzata o rilevare erbe infestanti specifiche per l'applicazione mirata di erbicidi, riducendo l'uso di prodotti chimici e ottimizzando la resa.
Implementare la segmentazione con Python#
Gli sviluppatori possono implementare facilmente la segmentazione delle istanze utilizzando la libreria ultralytics. Il seguente esempio mostra come caricare un modello YOLO26 pre-addestrato e generare maschere di segmentazione per un'immagine.
from ultralytics import YOLO
# Load a pre-trained YOLO26 instance segmentation model
# The 'n' suffix denotes the nano version, optimized for speed
model = YOLO("yolo26n-seg.pt")
# Run inference on an image
# This predicts classes, bounding boxes, and masks
results = model("https://ultralytics.com/images/bus.jpg")
# Visualize the results
# Displays the image with overlaid segmentation masks
results[0].show()Sfide e addestramento del modello#
Sebbene potente, la segmentazione delle istanze è computazionalmente intensiva rispetto al semplice rilevamento con bounding box. La generazione di maschere perfette a livello di pixel richiede risorse GPU significative e un'annotazione dei dati precisa. L'annotazione dei dati per queste attività implica il disegno di poligoni stretti attorno a ogni oggetto, il che può richiedere molto tempo.
Per semplificare questo processo, i team utilizzano spesso strumenti come Ultralytics Platform, che offre funzionalità per la gestione dei dataset, l'annotazione automatica e l'addestramento basato su cloud. Ciò consente agli sviluppatori di ottimizzare i modelli su dati personalizzati, come parti industriali specifiche o campioni biologici, e di distribuirli in modo efficiente su dispositivi edge AI utilizzando formati ottimizzati come ONNX o TensorRT.






