Modello Segment Anything Modello di base per la segmentazione delle immagini

Modello Segment Anything - Modello base per segmentazione immagini

La segmentazione, il processo di identificazione dei pixel di un’immagine che appartengono agli oggetti, è al centro della computer vision. Questo processo viene utilizzato in applicazioni che vanno dall’imaging scientifico all’editing fotografico, e gli esperti tecnici devono possedere abilità altamente specializzate e avere accesso a un’infrastruttura di intelligenza artificiale con grandi quantità di dati annotati per una modellazione accurata.

Recentemente Meta AI ha presentato il suo progetto Segment Anything, che consiste in un dataset e un modello di segmentazione delle immagini chiamato Segment Anything Model (SAM) e il dataset SA-1B di maschere, il più grande dataset di segmentazione mai realizzato, per supportare ulteriori ricerche sui modelli fondamentali per la computer vision. Hanno reso SA-1B disponibile per l’uso in ambito di ricerca, mentre SAM è licenziato con licenza Apache 2.0 open per chiunque voglia provarlo con le proprie immagini utilizzando questa demo!

Verso la generalizzazione del compito di segmentazione

Prima, i problemi di segmentazione venivano affrontati utilizzando due classi di approcci:

  • Segmentazione interattiva, in cui gli utenti guidano il compito di segmentazione affinando iterativamente una maschera.
  • Segmentazione automatica, che consentiva di segmentare automaticamente categorie di oggetti selezionate come gatti o sedie, ma richiedeva un gran numero di oggetti annotati per il training (ad esempio, migliaia o anche decine di migliaia di esempi di gatti segmentati), oltre a risorse di calcolo e competenze tecniche per addestrare un modello di segmentazione. Nessuno dei due approcci forniva una soluzione generale e completamente automatica alla segmentazione.

SAM utilizza sia la segmentazione interattiva che quella automatica in un unico modello. L’interfaccia proposta consente un utilizzo flessibile, rendendo possibili una vasta gamma di compiti di segmentazione attraverso l’ingegnerizzazione del prompt appropriato (ad esempio, clic, box o testo).

SAM è stato sviluppato utilizzando un ampio e qualitativo dataset contenente più di un miliardo di maschere raccolte come parte di questo progetto, ciò gli conferisce la capacità di generalizzare a nuovi tipi di oggetti e immagini al di là di quelli osservati durante il training. Di conseguenza, i professionisti non devono più raccogliere i loro dati di segmentazione e personalizzare un modello specificamente per il proprio caso d’uso.

Queste capacità consentono a SAM di generalizzare sia tra compiti che tra domini, qualcosa che nessun altro software di segmentazione delle immagini ha mai fatto prima.

Capacità di SAM e casi d’uso

SAM ha potenti capacità che rendono il compito di segmentazione più efficace:

  • Varie tipologie di prompt di input: I prompt che guidano la segmentazione consentono agli utenti di eseguire facilmente diversi compiti di segmentazione senza ulteriori requisiti di formazione. È possibile applicare la segmentazione utilizzando punti e box interattivi, segmentare automaticamente tutto in un’immagine e generare più maschere valide per prompt ambigui. Nella figura sottostante possiamo vedere la segmentazione di determinati oggetti utilizzando un prompt di testo di input.

  • Integrazione con altri sistemi: SAM può accettare prompt di input da altri sistemi, ad esempio in futuro può prendere lo sguardo dell’utente da un visore AR/VR e selezionare gli oggetti.
  • Uscite estensibili: Le maschere di output possono essere utilizzate come input per altri sistemi di intelligenza artificiale. Ad esempio, le maschere degli oggetti possono essere tracciate in video, abilitare applicazioni di editing delle immagini, essere trasferite in uno spazio tridimensionale o addirittura utilizzate in modo creativo come collage.
  • Generalizzazione zero-shot: SAM ha sviluppato una comprensione degli oggetti che gli consente di adattarsi rapidamente a oggetti sconosciuti senza ulteriore addestramento.
  • Generazione di più maschere: SAM può produrre più maschere valide quando si trova di fronte a incertezza riguardo a un oggetto da segmentare, fornendo un’aiuto fondamentale nella risoluzione della segmentazione in contesti reali.
  • Generazione di maschere in tempo reale: SAM può generare una maschera di segmentazione per qualsiasi prompt in tempo reale dopo aver calcolato in anticipo l’incorporamento dell’immagine, consentendo un’interazione in tempo reale con il modello.

Comprensione di SAM: come funziona?

Uno degli ultimi avanzamenti nel processing del linguaggio naturale e nella computer vision sono stati i modelli fondamentali che consentono l’apprendimento zero-shot e few-shot per nuovi dataset e compiti attraverso l’utilizzo di “prompt”. I ricercatori di Meta AI hanno addestrato SAM in modo da restituire una maschera di segmentazione valida per qualsiasi prompt, come punti primo piano/sfondo, box/maschere approssimative o maschere, testo libero o qualsiasi informazione che indichi l’oggetto target all’interno di un’immagine.

Una maschera valida significa semplicemente che anche quando il prompt potrebbe riferirsi a più oggetti (ad esempio: un punto su una maglietta potrebbe rappresentare sia se stesso che qualcuno che la indossa), il suo output dovrebbe fornire una maschera ragionevole per un solo oggetto, pre-addestrando così il modello e risolvendo i compiti di segmentazione successivi attraverso i prompt.

I ricercatori hanno osservato che le attività di pre-addestramento e raccolta dati interattiva hanno imposto specifici vincoli sulla progettazione del modello. In particolare, la simulazione in tempo reale deve essere eseguita in modo efficiente su una CPU in un browser web per consentire agli annotatori di utilizzare SAM in modo interattivo e in tempo reale per un’annotazione efficiente. Sebbene i vincoli di runtime abbiano comportato compromessi tra qualità e tempo di esecuzione, le progettazioni semplici hanno prodotto risultati soddisfacenti nella pratica.

Sotto il cofano di SAM, un codificatore di immagini genera un embedding unico per le immagini, mentre un codificatore leggero converte qualsiasi prompt in un vettore di embedding in tempo reale. Queste fonti di informazione vengono quindi combinate da un decodificatore leggero che predice le maschere di segmentazione basate sugli embedding delle immagini calcolati con SAM, in modo che SAM possa produrre segmenti in soli 50 millisecondi per qualsiasi prompt dato in un browser web.

 

Creazione di SA-1B: Segmentazione di 1 miliardo di maschere

 

La creazione e l’addestramento del modello richiedono l’accesso a un’enorme e diversificata quantità di dati che non esisteva all’inizio dell’addestramento. Il rilascio del dataset di segmentazione odierno è di gran lunga il più grande ad oggi. Gli annotatori hanno utilizzato SAM in modo interattivo per annotare le immagini prima di aggiornare SAM con questi nuovi dati, ripetendo questo ciclo molte volte per affinare continuamente sia il modello che il dataset.

SAM rende la raccolta di maschere di segmentazione più veloce che mai, impiegando solo 14 secondi per maschera annotata in modo interattivo; tale processo è solo due volte più lento rispetto all’annotazione di bounding box che richiede solo 7 secondi utilizzando interfacce di annotazione veloci. Gli sforzi di raccolta dati di segmentazione su larga scala comparabili includono l’annotazione di maschere basate su poligoni completamente manuali di COCO, che richiede circa 10 ore; gli sforzi di annotazione assistiti dal modello SAM sono stati ancora più veloci; il tempo di annotazione per maschera annotata è stato 6,5 volte più veloce rispetto a 2 volte più lento in termini di tempo di annotazione dei dati rispetto agli sforzi di annotazione di dati su larga scala assistiti dal modello precedente!

L’annotazione interattiva delle maschere non è sufficiente per generare il dataset SA-1B; quindi è stata sviluppata un’engine di dati. Questo engine di dati contiene tre “ingranaggi”, a partire dagli annotatori assistiti prima di passare all’annotazione completamente automatica combinata con l’annotazione assistita per aumentare la diversità delle maschere raccolte e infine la creazione di maschere completamente automatica per il dataset su larga scala.

Il dataset finale di SA-1B contiene più di 1,1 miliardi di maschere di segmentazione raccolte su oltre 11 milioni di immagini con licenza e rispettose della privacy, costituendo 4 volte più maschere rispetto a qualsiasi altro dataset di segmentazione esistente, secondo studi di valutazione umana. Come verificato da queste valutazioni umane, queste maschere presentano una qualità e una diversità elevate rispetto ai dataset annotati manualmente precedenti con campioni molto più piccoli.

Le immagini per SA-1B sono state ottenute tramite un fornitore di immagini provenienti da paesi diversi che rappresentano diverse regioni geografiche e livelli di reddito. Sebbene alcune regioni geografiche rimangano sottorappresentate, SA-1B offre una maggiore rappresentatività grazie al suo maggior numero di immagini e una migliore copertura complessiva su tutte le regioni.

I ricercatori hanno condotto test allo scopo di scoprire eventuali pregiudizi nel modello in base alla presentazione di genere, alla percezione del tono della pelle, all’intervallo di età delle persone e all’età percepita delle persone presentate, scoprendo che il modello SAM ha eseguito in modo simile tra vari gruppi. Sperano che ciò renda il lavoro risultante più equo quando applicato in casi d’uso reali.

Mentre SA-1B ha reso possibile l’output della ricerca, può anche consentire ad altri ricercatori di addestrare modelli di base per la segmentazione delle immagini. Inoltre, questi dati potrebbero diventare la base per nuovi dataset con annotazioni aggiuntive.

 

Lavori futuri e sintesi

 

I ricercatori di Meta AI sperano che, condividendo la loro ricerca e il loro dataset, possano accelerare la ricerca nella segmentazione delle immagini e nella comprensione delle immagini e dei video, poiché questo modello di segmentazione può svolgere questa funzione come parte di sistemi più ampi.

In questo articolo, abbiamo affrontato cosa è SAM e le sue capacità e casi d’uso. Dopo di ciò, abbiamo esaminato come funziona e come è stato addestrato per dare una panoramica del modello. Infine, concludiamo l’articolo con la visione futura e il lavoro. Se vuoi saperne di più su SAM, assicurati di leggere il paper e provare la demo.

 

Riferimenti

 

  • Introduzione a Segment Anything: verso il primo modello di base per la segmentazione delle immagini
  • Dataset SA-1B
  • Segment Anything

    Youssef Rafaat è un ricercatore di computer vision e data scientist. La sua ricerca si concentra nello sviluppo di algoritmi di computer vision in tempo reale per applicazioni nel settore della salute. Ha anche lavorato come data scientist per più di 3 anni nel settore del marketing, delle finanze e della salute.