18 marzo 2021

Segmentazione di immagini in ERDAS IMAGINE

Nell'ambito dell'image processing,  per segmentazione si intende un processo che raggruppa i pixel di una immagine in segmenti o "cluster", in  funzione del valore del pixel e della loro posizione.


Pixel collegati spazialmente e che hanno valori simili vengono raggruppati in un unico segmento o cluster.
La segmentazione è di presente di frequente come step intermedio in workflow più complessi, finalizzati ad esempio all'estrazione di oggetti (feature extraction) o alla classificazione ad oggetti di una immagine (object based classification) e viene seguita spesso da una conversione raster > vettoriale dei segmenti

In ERDAS IMAGINE sono disponibili due tool di segmentazione:
  • Image Segmentation;
  • FLS Image Segmentation
Li trovate sotto Raster > Unsupervised. Il secondo (FLS) è disponibile anche in versione Spatial Modeler. Di recente, per un corso di formazione, abbiamo approfondito il funzionamento di questi due algoritmi, indagando il significato e il funzionamento dei vari parametri che li controllano. Trovate la presentazione, in versione pdf, qui:


Nella presentazione ci sono anche degli esercizi, che potete rifare utilizzando delle immagini Sentinel-2.
Nei prossimi articoli vedremo come utilizzare la segmentazione in abbinamento ad algoritmi di deep learning, per la classificazione ad oggetti. Per ulteriori informazioni scrivete a hexagon@planetek.it

10 marzo 2021

Anomaly Detection su dati iperspettrali PRISMA in ERDAS IMAGINE

Nell'ambito dell'image processing, l'anomaly detection è il processo attraverso il quale si analizza un'immagine di input per identificare quei pixel che hanno una firma spettrale che si discosta notevolmente dalla maggior parte degli altri pixel nell'immagine.

Lo scenario applicativo più semplice è quello in cui non si conosce né la firma del materiale di interesse né la firma del background. Ci si può chiedere: "C'è qualcosa di insolito in questa scena?" Esempi potrebbero essere dei veicoli in un'area disabitata o la vegetazione in un terreno desertico. 

Nel video di seguito viene mostrato un esempio di applicazione dell'algoritmo di Anomaly Detection, disponibile in ERDAS IMAGINE, applicato su un'immagine acquisita dal sensore iperspettrale dell'AGENZIA SPAZIALE ITALIANA - PRISMA - su un'area a sud della Sardegna il 4 Ottobre del 2019. 

L'algoritmo, applicato su un'area coperta da foreste, permette di individuare facilmente delle strutture artificiali isolate (palazzi, antenne, ecc.), come conferma anche la visualizzazione delle stesse aree in Google Earth (è possibile sincronizzare la vista di ERDAS IMAGINE a quella di Google Earth, mediante il tab apposito).

Per ulteriori informazioni contattare hexagon@planetek.it


04 marzo 2021

Machine Learning e Deep Learning in ERDAS IMAGINE: un bignami

Il Machine Learning è un sottoinsieme dell'intelligenza artificiale che utilizza metodi statistici per consentire ai sistemi di apprendere senza essere programmati esplicitamente. Questo di solito comporta l'utilizzo di algoritmi di addestramento (training) e la disponibilità di dati di esempio. Il deep learning è una branca del machine learning che utilizza le Deep Neural Networks (Reti Neurali Profonde) ovvero algoritmi ispirati alla struttura e alla funzione del cervello. 

Il software di image processing ERDAS IMAGINE dispone di diversi tipi di algoritmi di machine learning e deep learning pensati principalmente per tre tipologie di applicazioni:
  • Classificazione supervisionata di immagini, mediante approccio pixel based o object based;
  • Riconoscimento automatico di oggetti;
  • Utilizzo di algoritmi regressione (algoritmi predittivi);
Gli algoritmi di deep learning, disponibili in ERDAS IMAGINE, sono utilizzati per il riconoscimento automatico degli oggetti, tutte le altre applicazioni vengono tramite algoritmi di Machine Learning.


Differenza tra Machine Learning e Deep Learning (in ERDAS)

L'immagine seguente sintetizza le differenze tra algoritmi di Machine Learning e Deep Learning in ERDAS. Lo step di training nel caso degli algoritmi di Machine Learning è semplificato dal punto di vista computazionale: questi algoritmi richiedono infatti un numero inferiore di dati di training con dei tempi ridotti di calcolo, anche utilizzando la CPU; nel caso degli algoritmi di deep learning l'utilizzo delle GPU (n.b. Nvidia Quadro) è fondamentale per poter abbattere i tempi di processing. 



La differenza chiave tra algoritmi di Machine Learning e Deep Learning (in ERDAS) è riscontrabile però nella seconda riga: nel caso degli algoritmi di machine learning è l'operatore umano (esperto di elaborazione dati) che deve "scegliere" quali attributi definire e costruire per i dati di training, nel caso degli algoritmi di deep learning è l'algoritmo stesso che sceglie quali attributi utilizzare, partendo dall'analisi delle immagini.


Algoritmi per la classificazione supervisionata di immagini

Tutti gli algoritmi di intelligenza artificiale di ERDAS sono disponibili nello Spatial Modeler, se non sapete cosa sia potete recuperare tramite questo articolo e questo webinar. Per la classificazione delle immagini (pixel based o object based), troviamo i seguenti algoritmi:
  • CART;
  • K-Nearest Neighbors
  • Random Forest;
  • Support vector Machine (SVM);
  • Naive Bayes;


Reti Neurali per il riconoscimento di oggetti

Per il riconoscimento automatico di oggetti su un'immagine (satellitare, aerea o da drone) all'interno dello Spatial Modeler troviamo le seguenti reti neurali:

  • Inception:  una rete neurale convoluzionale a 22 strati sviluppata da Google;
  • Faster R-CNN RESNET 101: qui trovate qualche informazione in più su questa rete;
E' possibile inoltre, utilizzando lo Spatial Modeler, costruire in modo grafico delle reti neurali personalizzate, definendo i diversi nodi, i vari livelli, ecc. 
Il grande vantaggio di usare delle reti neurali all'interno dello Spatial Modeler è quello di poter essere subito operativi e non dover impiegare del tempo a predisporre environment, librerie, ecc.: le reti sono lì pronte che aspettano solo di essere addestrate per riconoscere l'oggetto che ti interessa.
Utilizzando ERDAS IMAGINE è possibile anche costruire un dataset di dati di training per algoritmi di machine Learning (su questo punto ci torneremo in uno dei prossimi articoli).


Algoritmi di Regressione per Analisi Predittive

Gli algoritmi di regressione disponibili in ERDAS IMAGINE sono i seguenti:
  • Cart Regressor;
  • Random Forest Regressor;
L'analisi della regressione è una tecnica usata per analizzare una serie di dati che consistono in una variabile dipendente e una o più variabili indipendenti. Lo scopo è stimare un'eventuale relazione funzionale esistente tra la variabile dipendente e le variabili indipendenti. La regressione si differenzia nettamente dalla classificazione, poiché quest’ultima si limita a discriminare gli elementi in una determinato numero di classi (label), mentre nella regressione l’input è un dato e il sistema ci restituisce un valore  (predetto, solitamente reale).

Se vi interessa approfondire il tema del machine learning e del deep learning con ERDAS IMAGINE, richiedi una copia gratutita del WhitePaper sul Machine Learning in ERDAS IMAGINE, scrivendo una mail all'indirizzo hexagon@planetek.it