Scopri come la segmentazione delle istanze consente il rilevamento di oggetti a livello di pixel. Scopri come utilizzare Ultralytics per la generazione di maschere in tempo reale ad alta velocità e molto altro ancora.
La segmentazione delle istanze è una tecnica sofisticata nella visione artificiale (CV) che identifica e delinea ogni singolo oggetto di interesse all'interno di un'immagine a livello di pixel. Mentre il rilevamento standard degli oggetti localizza gli elementi utilizzando riquadri rettangolari di delimitazione, 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, ad esempio separando due persone sovrapposte, fornendo una comprensione più ricca e dettagliata della scena visiva rispetto ai metodi di classificazione più semplici.
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.
I moderni modelli di segmentazione delle istanze si basano in genere su architetture avanzate di deep learning (DL), in particolare sulle reti neurali convoluzionali (CNN). Queste reti estraggono le caratteristiche da un'immagine per prevedere sia la classe di un oggetto che il suo contorno spaziale. Storicamente, le architetture a due stadi come Mask R-CNN erano lo standard, proponendo prima le regioni di interesse e poi perfezionandole in maschere.
Tuttavia, i recenti progressi hanno portato alla creazione di rilevatori monostadio come YOLO26, che eseguono il rilevamento e la segmentazione contemporaneamente. Questo approccio "end-to-end" migliora significativamente la velocità di inferenza in tempo reale, rendendo possibile l'applicazione di una segmentazione ad alta precisione ai flussi video in diretta su hardware di consumo.
I confini precisi forniti dalla segmentazione per istanza sono fondamentali per i settori in cui la comprensione della forma e della posizione esatte di un oggetto è necessaria per il processo decisionale.
Gli sviluppatori possono facilmente implementare la segmentazione delle istanze utilizzando il metodo ultralytics libreria. L'esempio seguente
mostra come caricare un modello pre-addestrato YOLO26 modello
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()
Sebbene potente, la segmentazione delle istanze è computazionalmente intensiva rispetto al semplice rilevamento dei bounding box. La generazione di maschere pixel-perfect richiede significative GPU e un'annotazione precisa dei dati. L'annotazione dei dati per queste attività comporta 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 , che offre funzionalità per la gestione dei set di dati, l' annotazione automatica e la formazione basata su cloud. Ciò consente agli sviluppatori di mettere a punto modelli su dati personalizzati, come parti industriali specifiche o campioni biologici, e di implementarli in modo efficiente su dispositivi AI edge utilizzando formati ottimizzati come ONNX o TensorRT.