Scopri come la segmentazione delle istanze perfeziona il rilevamento degli oggetti con una precisione a livello di pixel, consentendo maschere dettagliate degli oggetti per le applicazioni di intelligenza artificiale.
La segmentazione delle istanze è una sofisticata tecnica di computer vision (CV) che identifica gli oggetti all'interno di un'immagine e delinea i confini precisi di ogni singola istanza a livello di pixel. A differenza dei metodi che si limitano a posizionare dei riquadri intorno agli oggetti, la segmentazione delle istanze fornisce una comprensione molto più dettagliata di una scena creando una maschera unica per ogni oggetto rilevato, anche se appartiene alla stessa classe. Questa capacità è fondamentale per le applicazioni avanzate di intelligenza artificiale (AI) in cui è essenziale conoscere la forma esatta, le dimensioni e l'estensione spaziale di oggetti distinti, soprattutto quando questi si sovrappongono.
I modelli di segmentazione delle istanze analizzano un'immagine per individuare prima i potenziali oggetti e poi, per ogni oggetto rilevato, prevedere quali pixel appartengono a quella specifica istanza. Gli approcci tradizionali, come l'influente architettura Mask R-CNN, spesso impiegano un processo in due fasi: in primo luogo, eseguono il rilevamento degli oggetti per generare proposte di bounding box e, in secondo luogo, generano una maschera di segmentazione all'interno di ogni box proposto. Pur essendo efficaci, questi metodi possono essere impegnativi dal punto di vista computazionale.
Approcci più recenti, tra cui modelli come Ultralytics YOLOutilizzano spesso pipeline a fase singola. Questi modelli predicono simultaneamente i riquadri di delimitazione, le etichette di classe e le maschere di istanza in un unico passaggio attraverso la rete neurale (NN), ottenendo miglioramenti significativi in termini di velocità e rendendoli adatti all'inferenza in tempo reale. L'addestramento di questi modelli richiede dataset di grandi dimensioni con annotazioni a livello di pixel, come il dataset COCO, ampiamente utilizzato, in particolare le sue annotazioni di segmentazione. Il processo di addestramento prevede l'utilizzo di tecniche di deep learning (DL), che sfruttano le reti neurali convoluzionali (CNN) per apprendere caratteristiche visive complesse.
È importante differenziare la segmentazione delle istanze da altri compiti di segmentazione delle immagini:
La segmentazione delle istanze si concentra in modo specifico sull'individuazione e la delimitazione delle singole istanze degli oggetti, fornendo un'elevata precisione per quanto riguarda i confini e la separazione degli oggetti.
La capacità di identificare e isolare con precisione i singoli oggetti rende la segmentazione delle istanze preziosa in numerosi campi:
Ultralytics offre modelli all'avanguardia in grado di eseguire un'efficiente segmentazione delle istanze. Modelli come YOLOv8 e YOLO11 sono progettati per offrire prestazioni elevate in diversi compiti di computer vision, tra cui la segmentazione delle istanze(vedi i dettagli del compito di segmentazione). Gli utenti possono sfruttare i modelli pre-addestrati o eseguire una messa a punto su set di dati personalizzati utilizzando strumenti come la piattaforma Ultralytics HUB, che semplifica il flusso di lavoro dell'apprendimento automatico (ML) dalla gestione dei dati alla distribuzione dei modelli. Per l'implementazione pratica, sono disponibili risorse come i tutorial sulla segmentazione con modelli Ultralytics YOLOv8 pre-addestrati o le guide sull'isolamento degli oggetti di segmentazione. Puoi anche imparare a usare Ultralytics YOLO11 per la segmentazione dei modelli. I framework più diffusi come PyTorch e TensorFlow sono comunemente utilizzati per sviluppare e distribuire questi modelli.