Instance Segmentation
Scopri come la segmentazione delle istanze abilita il rilevamento degli oggetti a livello di pixel. Impara a usare Ultralytics YOLO26 per la generazione rapida di maschere in tempo reale e altro ancora.
La segmentazione delle istanze è una tecnica sofisticata di visione artificiale (CV) che identifica e delimita ogni singolo oggetto di interesse all'interno di un'immagine a livello di pixel. Mentre il rilevamento degli oggetti standard localizza gli elementi utilizzando riquadri di delimitazione rettangolari, la segmentazione delle istanze approfondisce l'analisi generando una maschera precisa per ogni elemento rilevato. Questa capacità consente ai modelli di intelligenza artificiale (AI) di distinguere tra singoli oggetti della stessa classe, ad esempio separando due persone sovrapposte, fornendo una comprensione della scena visiva più ricca e dettagliata rispetto ai metodi di classificazione più semplici.
Distinzione tra i tipi di segmentazione#
Per comprendere appieno l'utilità della segmentazione delle istanze, è utile distinguerla da altre attività correlate 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" o "auto". Tuttavia, non distingue tra oggetti separati della stessa categoria. Se tre auto sono parcheggiate una accanto all'altra, la segmentazione semantica le considera un'unica regione "auto".
- Segmentazione delle istanze: Questo metodo considera ogni oggetto come un'entità univoca. Rileva le singole istanze e assegna un'etichetta univoca ai pixel di ciascuna. Nell'esempio delle auto parcheggiate, la segmentazione delle istanze creerebbe tre maschere distinte, identificando separatamente "Auto A", "Auto B" e "Auto C".
- Segmentazione panottica: Un approccio ibrido che combina l'etichettatura dello sfondo della segmentazione semantica con l'identificazione degli oggetti enumerabili della segmentazione delle istanze.
La meccanica dell'analisi a livello di pixel#
I moderni modelli di segmentazione delle istanze si basano generalmente su architetture avanzate di apprendimento profondo (DL), in particolare sulle reti neurali convoluzionali (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 erano lo standard: prima proponevano regioni di interesse e poi le perfezionavano trasformandole in maschere.
Tuttavia, i recenti progressi hanno portato a rilevatori a singolo stadio come YOLO26, che eseguono il rilevamento e la segmentazione simultaneamente. Questo approccio "end-to-end" migliora significativamente la velocità di inferenza in tempo reale, rendendo possibile applicare la segmentazione ad alta precisione a flussi video dal vivo su hardware consumer.
Applicazioni nel mondo reale#
I contorni precisi forniti dalla segmentazione delle istanze sono fondamentali per i settori in cui comprendere la forma e la posizione esatte di un oggetto è necessario per prendere decisioni.
- AI in ambito sanitario: Nella diagnostica medica, identificare le dimensioni e la forma esatte di tumori o lesioni è fondamentale. La segmentazione delle istanze consente ai modelli di delineare con elevata precisione le anomalie nelle scansioni MRI, aiutando i radiologi a pianificare il trattamento e a monitorare la 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 le superfici percorribili, riconoscere la segnaletica orizzontale e separare i singoli pedoni negli 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 determinate erbe infestanti per applicare erbicidi in modo mirato, riducendo l'uso di sostanze chimiche e ottimizzando la resa.
Implementazione della segmentazione con Python#
Gli sviluppatori possono implementare facilmente la segmentazione delle istanze utilizzando la libreria ultralytics. L'esempio seguente mostra come caricare un modello YOLO26 preaddestrato 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 dei modelli#
Sebbene sia potente, la segmentazione delle istanze richiede molte risorse computazionali rispetto al semplice rilevamento con riquadri di delimitazione. La generazione di maschere perfette a livello di pixel richiede notevoli risorse GPU e una precisa annotazione dei dati. L'annotazione dei dati per queste attività comporta il disegno di poligoni aderenti attorno a ogni oggetto, un'operazione che può richiedere molto tempo.
Per ottimizzare questo processo, i team utilizzano spesso strumenti come la piattaforma Ultralytics, che offre funzionalità per la gestione dei dataset, l'auto-annotazione e l'addestramento basato sul cloud. Ciò consente agli sviluppatori di perfezionare i modelli su dati personalizzati, come specifici componenti industriali o campioni biologici, e di distribuirli in modo efficiente su dispositivi di AI edge utilizzando formati ottimizzati come ONNX o TensorRT.









