Verso l’eXplainable AI nella segmentazione dei Superpixel

Avendo trascorso gran parte del 2022 a fare ricerca sulla XAI nella guida autonoma, non ho potuto fare a meno di allontanarmi un po’ dal mio argomento, concentrandomi sulle nuove tecniche di computer vision e sulla loro applicabilità alla spiegabilità (explainability) dell’AI.

https://miro.medium.com/v2/resize:fit:1100/format:webp/1*Jy4SY3-RINbViTlc9BhxwA.png

Prima di immergerci nel manto delle mie scoperte, spieghiamo cos’è la segmentazione dei superpixel.

La segmentazione delle immagini è il processo di suddivisione di un’immagine in gruppi di regioni collegate, omogenee e non sovrapposte (gruppi di pixel, detti anche superpixel) (Ibrahim & El-Kenawy, 2020). La segmentazione dei superpixel è una tecnica che divide un’immagine in un insieme di regioni contigue, chiamate superpixel. Ogni superpixel è in genere abbastanza piccolo da essere considerato un singolo oggetto e abbastanza grande da poter essere facilmente identificato dall’uomo.

La segmentazione dei superpixel può essere utilizzata per migliorare la l’explainability dei sistemi di intelligenza artificiale (AI) in diversi modi. In primo luogo, la segmentazione dei superpixel può essere utilizzata per visualizzare i dati in ingresso a un sistema di intelligenza artificiale. Questo può aiutare a capire come il sistema di AI prende le decisioni. In secondo luogo, la segmentazione dei superpixel può essere utilizzata per identificare le caratteristiche più importanti per le previsioni di un sistema di AI. Queste informazioni possono essere utilizzate per spiegare perché un sistema di AI ha fatto una particolare previsione. In terzo luogo, la segmentazione dei superpixel può essere utilizzata per generare spiegazioni per le previsioni dei sistemi di intelligenza artificiale. Queste informazioni possono essere utilizzate per aiutare gli utenti a capire come funziona un sistema di intelligenza artificiale.

Ad esempio, supponiamo di avere un sistema di intelligenza artificiale addestrato a classificare immagini di cani e gatti. Possiamo usare la segmentazione dei superpixel per visualizzare i dati in ingresso al sistema AI. Questo ci aiuterà a capire come il sistema AI prende le decisioni. Ad esempio, potremmo notare che il sistema di intelligenza artificiale presta attenzione alla forma delle orecchie, alle dimensioni degli occhi e al disegno della pelliccia.

Possiamo anche utilizzare la segmentazione dei superpixel per identificare le caratteristiche più importanti per le previsioni di un sistema di intelligenza artificiale. Queste informazioni possono essere utilizzate per spiegare perché un sistema di intelligenza artificiale ha fatto una particolare previsione. Ad esempio, potremmo notare che il sistema di intelligenza artificiale ha maggiori probabilità di classificare un’immagine come un gatto se le orecchie sono appuntite e gli occhi grandi.

Infine, possiamo utilizzare la segmentazione dei superpixel per generare spiegazioni per le previsioni dei sistemi di intelligenza artificiale. Queste informazioni possono essere utilizzate per aiutare gli utenti a capire come funziona un sistema di AI. Ad esempio, potremmo vedere che il sistema di intelligenza artificiale ha classificato un’immagine come un gatto perché le orecchie sono appuntite, gli occhi sono grandi e il disegno della pelliccia è soriano.

È chiaro che la segmentazione dei superpixel è uno strumento utile per migliorare la spiegabilità dei sistemi di intelligenza artificiale (AI). Visualizzando i dati di input, identificando le caratteristiche più importanti per le previsioni e generando spiegazioni, la segmentazione dei superpixel può aiutare gli utenti a capire come funzionano i sistemi di intelligenza artificiale.

Tecniche di segmentazione dei superpixel

https://miro.medium.com/v2/resize:fit:1100/format:webp/1*fboObXUZV7mgjskutcVnIQ.png

Computer Vision Fall 2016

Esistono diverse tecniche di segmentazione dei superpixel, ma si possono dividere a grandi linee in due categorie:

Tecniche graph-based: Queste tecniche creano superpixel formulando il problema della segmentazione come un problema di partizione del grafo. In questo approccio, ogni pixel è rappresentato da un nodo del grafo e vengono creati bordi tra coppie di nodi simili tra loro. L’obiettivo è partizionare il grafo in un insieme di componenti connesse, ognuna delle quali rappresenta un superpixel.

Tecniche di region growing o clustering: Queste tecniche creano superpixel facendo crescere regioni di pixel da un pixel nucleo. In questo approccio, viene selezionato un pixel nucleo e i suoi vicini simili vengono aggiunti alla regione. Questo processo viene ripetuto finché non è possibile aggiungere altri pixel alla regione. Le regioni risultanti sono i superpixel.

Tra le tecniche più diffuse di segmentazione dei superpixel troviamo:

  • SLIC (Simple Linear Iterative Clustering, Clustering iterativo lineare semplice): tecnica graph-based nota per la sua semplicità ed efficienza
  • QuickShift: tecnica region growing nota per la sua velocità ed accuratezza
  • SEEDS (Superpixels Extracted via Energy-Driven Segmentation, Superpixel estratti tramite segmentazione energy-driven): tecnica graph-based nota per la sua abilità a creare superpixel con contorni molto ben definiti
  • MSER (Maximally Stable Extremal Regions, Regioni estreme estremamente stabili): tecnica region growing nota per la sua abilità a creare superpixel robusti nei confronti del rumore

La scelta della tecnica di segmentazione dei superpixel dipende dalla specifica applicazione. Ad esempio, SLIC è una buona scelta per le applicazioni in cui è importante la velocità, mentre SEEDS è una buona scelta per le applicazioni in cui è importante la precisione.

Ecco alcuni vantaggi della segmentazione di superpixel:

  • Può semplificare un’immagine senza perdere troppi dettagli
  • Può migliorare la performance degli algoritmi di elaborazione delle immagini
  • Può fornire un modo più intuitivo agli esseri umani per interagire con le immagini

Limiti della segmentazione di superpixel rispetto alla XAI (eXplainable-AI)

https://miro.medium.com/v2/resize:fit:1100/format:webp/1*nK1NG_ARwR0cun86LGNpeg.png

La segmentazione dei superpixel è uno strumento utile per migliorare la comprensibilità (eXplainability) dei sistemi di intelligenza artificiale (AI), ma presenta alcune limitazioni.

Un limite della segmentazione dei superpixel è che può essere computazionalmente costosa. Questo perché gli algoritmi di segmentazione dei superpixel in genere devono iterare su tutti i pixel di un’immagine.

Un altro limite della segmentazione dei superpixel è che può essere soggettiva. Infatti, diversi algoritmi di segmentazione dei superpixel possono produrre risultati diversi e non esiste un unico modo “corretto” per segmentare un’immagine

Infine, la segmentazione dei superpixel può essere difficile da interpretare. Questo perché i superpixel non sono tipicamente etichettati, quindi può essere difficile capire cosa rappresenti ciascun superpixel.

Nonostante queste limitazioni, la segmentazione dei superpixel è uno strumento utile per migliorare la comprensibilità dei sistemi di intelligenza artificiale. Visualizzando i dati di input, identificando le caratteristiche più importanti per le previsioni e generando spiegazioni, la segmentazione dei superpixel può aiutare gli utenti a capire come funzionano i sistemi di IA.

Ecco alcuni modi per gestire i limiti della segmentazione di superpixel:

  • Utilizzare un algoritmo di segmentazione dei superpixel più veloce. Esistono diversi algoritmi di segmentazione dei superpixel più efficienti di quelli tradizionali. Questi algoritmi possono essere utilizzati per segmentare le immagini più rapidamente, rendendo la segmentazione dei superpixel più pratica per l’uso nei sistemi di intelligenza artificiale.
  • Utilizzare un algoritmo di segmentazione dei superpixel più oggettivo. Esistono diversi algoritmi di segmentazione dei superpixel che sono meno soggettivi degli algoritmi tradizionali. Questi algoritmi possono essere utilizzati per produrre risultati più coerenti, rendendo più facile l’interpretazione dei risultati della segmentazione dei superpixel.
  • Etichettare i superpixel. Un modo per rendere i risultati della segmentazione dei superpixel più facili da interpretare è quello di etichettare i superpixel. Questa operazione può essere eseguita manualmente o automaticamente. L’etichettatura dei superpixel può aiutare gli utenti a capire cosa rappresenta ciascun superpixel.

In breve, gli svantaggi principali della segmentazione a superpixel sono:

  • La qualità dei superpixel può essere influenzata dalla scelta dell’algoritmo di clustering e dal numero di superpixel.
  • La segmentazione a superpixel può essere computazionalmente costosa.
  • La segmentazione dei superpixel non è una soluzione perfetta per tutti i problemi di elaborazione delle immagini.

Applicazioni

La segmentazione dei superpixel è uno strumento utile per migliorare la comprensibilità dei sistemi di intelligenza artificiale (AI). Può essere utilizzata per visualizzare i dati di input, identificare le feature più importanti per le previsioni e generare spiegazioni.

Ecco alcune delle applicazioni della segmentazione dei superpixel utilizzate come XAI:

  • Visualizzazione dei dati di input. La segmentazione dei superpixel può essere utilizzata per visualizzare i dati in ingresso a un sistema di intelligenza artificiale. Questo può aiutare a capire come il sistema di AI prende le decisioni. Ad esempio, supponiamo di avere un sistema di AI addestrato a classificare immagini di cani e gatti. Possiamo usare la segmentazione dei superpixel per visualizzare i dati in ingresso al sistema di AI. Questo ci aiuterà a capire come il sistema AI prende le decisioni. Ad esempio, potremmo notare che il sistema di intelligenza artificiale presta attenzione alla forma delle orecchie, alle dimensioni degli occhi e al disegno del pelo.
  • Identificazione delle caratteristiche più importanti per le previsioni. La segmentazione dei superpixel può essere utilizzata per identificare le caratteristiche più importanti per le previsioni di un sistema di intelligenza artificiale. Queste informazioni possono essere utilizzate per spiegare perché un sistema di intelligenza artificiale ha fatto una particolare previsione. Ad esempio, supponiamo di avere un sistema di intelligenza artificiale addestrato a classificare immagini di cani e gatti. Possiamo usare la segmentazione dei superpixel per identificare le caratteristiche più importanti per le previsioni del sistema AI. Questo ci aiuterà a capire perché è più probabile che il sistema di intelligenza artificiale classifichi un’immagine come gatto se le orecchie sono appuntite e gli occhi sono grandi.
  • Generare spiegazioni per le previsioni dei sistemi di intelligenza artificiale. La segmentazione dei superpixel può essere utilizzata per generare spiegazioni sulle previsioni dei sistemi di intelligenza artificiale. Queste informazioni possono essere utilizzate per aiutare gli utenti a capire come funziona un sistema di AI. Ad esempio, supponiamo di avere un sistema di intelligenza artificiale addestrato a classificare immagini di cani e gatti. Possiamo utilizzare la segmentazione dei superpixel per generare spiegazioni sulle previsioni del sistema di intelligenza artificiale. Questo ci aiuterà a capire perché il sistema di intelligenza artificiale ha classificato un’immagine come un gatto perché le orecchie erano appuntite, gli occhi grandi e il disegno della pelliccia era di tipo soriano.

I progressi della segmentazioni di superpixel

Diversi ricercatori hanno sviluppato nuove tecniche di segmentazione dei superpixel all’avanguardia che risolvono efficacemente gli inconvenienti noti con le tecniche di segmentazione tradizionali. Ad esempio, (Hartley et al., 2021) hanno creato il Superpixel Weighted by Average Gradient (SAWG) per le spiegazioni delle CNN, superando il problema del gradiente in metodi come Grad-CAM.

Mentre i modelli black-box come le reti neurali profonde hanno guadagnato popolarità nella comunità AI, la loro applicazione su larga scala in applicazioni mission-critical è ostacolata dalla loro mancanza di trasparenza, tracciabilità e interpretabilità. (Ivanovs et al., 2021) esplora i metodi basati sulle perturbazioni per spiegare le DNN (Deep Neural Networks) attraverso un’indagine sistematica. Questo rivela le aree potenziali in cui la segmentazione dei superpixel che eseguono modelli black-box può trarre beneficio, cercando di analizzare la struttura interna del modello in questione.

Inoltre, (Das & Rad, 2020) evidenzia i progressi chiave che promuovono la fiducia nelle DNN, fornendo sintesi matematiche di lavori seminali e proponendo una tassonomia e una categorizzazione delle tecniche XAI in base alla portata delle spiegazioni, ai metodi e al livello di spiegabilità. In modo olistico, questo costruisce l’affidabilità, l’interpretabilità e l’autospiegazione dei modelli di apprendimento profondo. Si veda la figura sottostante per un estratto.

https://miro.medium.com/v2/resize:fit:1100/format:webp/1*t0bwYOH4u5xwwEjU__6Znw.png

Figura 1: classificazione generale dell’indagine in termini di ambito, metodologia e utilizzo (Das & Rad, 2020).

Conclusioni

Nel complesso, la segmentazione dei superpixel è uno strumento utile per migliorare la comprensibilità dei sistemi di intelligenza artificiale (AI). Visualizzando i dati di input, identificando le caratteristiche più importanti per le previsioni e generando spiegazioni, la segmentazione dei superpixel può aiutare gli utenti a capire come funzionano i sistemi di AI.

References

Das, A., & Rad, P. (2020). Opportunities and Challenges in Explainable Artificial Intelligence (XAI): A Survey. 1–24. http://arxiv.org/abs/2006.11371

Hartley, T., Sidorov, K., Willis, C., & Marshall, D. (2021). SWAG: Superpixels Weighted by average gradients for explanations of CNNs. Proceedings — 2021 IEEE Winter Conference on Applications of Computer Vision, WACV 2021, 423–432. https://doi.org/10.1109/WACV48630.2021.00047

Ibrahim, A., & El-Kenawy, E.-S. M. (2020). Image Segmentation Methods Based on Superpixel Techniques: A Survey. Journal of Computer Science and Information Systems, 1(6), 1–10. www.jcsis.org/

Ivanovs, M., Kadikis, R., & Ozols, K. (2021). Perturbation-based methods for explaining deep neural networks: A survey. Pattern Recognition Letters, 150, 228–234. https://doi.org/10.1016/j.patrec.2021.06.030

https://miro.medium.com/v2/resize:fit:1100/format:webp/1*FDEPy1oDgpdxP-Xzs7SPmQ.png

Share:

Contenuti
Torna in alto