SlideShare a Scribd company logo
Anomaly Detection a partire da Ganomaly:
patch-wise training e transfer learning
&
Chi è Daniele Moltisanti?
• Data Scientist - Sky
• 26 Anni
• Backgroung Ing. Informatica - Politecnico di Milano
• Specializzato in algoritmi di Deep Learning
Fondatore di stAI tuned
Open Knowledge Community:
Divulgazione di contenuti relativi a AI applicati a settori specifici
Riconoscimento di Anomalie
• Descrizione del problema
• Esistenti soluzioni al problema
Dominio: immagini relative a lastre di acciaio
Obiettivo: estrarre la maschera di anomalia
Risultato: Riconoscimento delle anomalie
Descrizione del problema
Riconoscimento di Anomalie
Riconoscimento di Anomalie
Descrizione del problema
Obiettivo
Si cerca un modello matematico che misuri il grado di anomalia di ogni pixel
> L'anomaly score map associa ad ogni pixel un valore di
anomalia (anomaly score)
> Pixel con un alto valore di anomalia vengono riconosciuti
anomali
Regione Anomala
Regione Normale
Modello
Matematico
Anomaly Score
Map
Maschera di
Anomalia
Riconoscimento di Anomalie
• Descrizione del problema
• Esistenti soluzioni al problema
Soluzioni esistenti al problema
Classificatore
Metodi di
Apprendimento Supervisionato
Metodi di
Apprendimento Semi-Supervisionato
Autoencoder AnoGAN Ganomaly
> I modelli supervisionati apprendono i pattern delle
immagini normali e di quelle anomale
> Si basano su un dataset di immagini etichettate
> Poco efficaci nel caso in cui le anomalie mutino le loro
caratteristiche
Riconoscimento di Anomalie
Soluzioni esistenti al problema
Classificatore
Metodi di
Apprendimento Semi-Supervisionato
Autoencoder AnoGAN Ganomaly
Riconoscimento di Anomalie
> Classifica un'intera immagine nelle due classi possibili:
Normale o Anomala
> La Rete Neurale Convoluzionale è un noto classificatore
Metodi di
Apprendimento Supervisionato
Soluzioni esistenti al problema
Classificatore
Metodi di
Apprendimento Semi-Supervisionato
Autoencoder AnoGAN Ganomaly
Riconoscimento di Anomalie
> I modelli semi-supervisionati apprendono il comportamento
delle sole immagini normali
> Calcolano l'anomaly score di un'immagine
> Sfruttano il valore di anomaly score per definire la presenza
anomalia
Metodi di
Apprendimento Supervisionato
Soluzioni esistenti al problema
Classificatore
Metodi di
Apprendimento Semi-Supervisionato
Autoencoder AnoGAN Ganomaly
Riconoscimento di Anomalie
> Rientra tra i modelli di ricostruzione
> Riconosce anomala un'intera immagine che
presenta un alto anomaly score
Encoder Decoder
Anomaly
Score
Metodi di
Apprendimento Supervisionato
Soluzioni esistenti al problema
Classificatore
Metodi di
Apprendimento Semi-Supervisionato
Autoencoder AnoGAN Ganomaly
Riconoscimento di Anomalie
Generatore
Discriminatore
Reale
Generata
Rappresentazione
latente
> Fa parte dei modelli GAN-based
> Apprende come generare di immagini normali
> L'anomaly score viene calcolato attraverso l'errore di
apprendimento
> Alti valori di anomaly score corrispondono ad alte
probabilità di avere un'immagine anomala
> Riconosce la regione anomala mediante l'errore tra
un'immagine e quella fornita dal generatore
Metodi di
Apprendimento Supervisionato
Soluzioni esistenti al problema
Classificatore
Metodi di
Apprendimento Semi-Supervisionato
Autoencoder AnoGAN Ganomaly
Riconoscimento di Anomalie
Generatore
Discriminatore
Reale
Generata
Encoder Decoder Encoder
Classficatore
> Fa parte dei modelli GAN-based
> Apprende come generare immagini normali
> L'anomaly score viene calcolato attraverso l'errore degli
encoding
> Riconosce anomala un'intera immagini che misura
un'alta anomaly score
> Applicato su immagini di dimensioni ridotte (32 x 32)
Metodi di
Apprendimento Supervisionato
Approccio Proposto
• Patch-wise Training e Patch-Ganomaly
• TL-Ganomaly
• Post-Processing: apprendimento di filtri
Patch-wise Training
Patch-wise Training
Approccio Proposto
Patch-wise Training
Da immagini a patch:
> Tecnica di apprendimento basata su porzioni di immagini
(patch)
> Da ogni immagine viene estratto un numero N di patches
> Il training set di immagini viene trasformato in un patch set
Patch-wise Training
Approccio Proposto
256 x 1600
Patch
32
32
Patch-wise Training
Da immagini a patch:
> Tecnica di apprendimento basata su porzioni di immagini
(patch)
> Da ogni immagine viene estratto un numero N di patches
> Il training set di immagini viene trasformato in un patch set
Patch-wise Training
Approccio Proposto
Training Set
Patch Set
Da immagini a patch:
> Tecnica di apprendimento basata su porzioni di immagini
(patch)
> Da ogni immagine viene estratto un numero N di patches
> Il training set di immagini viene trasformato in un patch set
Patch-wise Training
Patch-wise Training
Approccio Proposto
Addestramento:
> Apprendimento basato su un training set di patch
> La patch è definita anomala se il suo centro appartiene alla regione anomala
> La patch normale presenta il suo centro privo di anomalie
Patch
Training Modello Patch-wise
Patch-wise Training
Patch-wise Training
Approccio Proposto
Patch
Anomala
Maschera di Anomalia Patch
Regione Anomala
Addestramento:
> Apprendimento basato su un training set di patch
> La patch è definita anomala se il suo centro appartiene alla regione anomala
> La patch normale presenta il suo centro privo di anomalie
Patch-wise Training
Patch-wise Training
Approccio Proposto
Maschera di Anomalia Patch
Patch
Normale
Regione Anomala
Addestramento:
> Apprendimento basato su un training set di patch
> La patch è definita anomala se il suo centro appartiene alla regione anomala
> La patch normale presenta il suo centro privo di anomalie
Patch-wise Training
Patch-Ganomaly
Patch-Ganomaly
Approccio Proposto
> Si basa sull'architettura di Ganomaly
> Caratterizzato da una rete generatrice (Generatore) e una rete antagonista (Discriminatore)
> Sfrutta la tecnica del patch-wise training
> Analizza patch piuttosto che intere immagini
Generatore
Discriminatore
x
z
x'
z'
Reale
Generata
Kernel
Conv 2D
Conv Tran. 2D
Activation Map
Latent Vector
Classification
Output
Batch Norm. 2D
Patch-Ganomaly:
Addestramento
Approccio Proposto
Patch-Ganomaly
> Il training set è formato da sole patch normali
> Il modello apprende come generare patch normali, attreverso il Generatore
> L'addestramento di basa sull'ottimizzazione del Generatore e del Discriminatore
Addestramento
Generatore
Discriminatore
x
z
x'
z'
Reale
Generata
Kernel
Conv 2D
Conv Tran. 2D
Activation Map
Latent Vector
Classification
Output
Batch Norm. 2D
Approccio Proposto
Patch-Ganomaly
> La funzione obiettivo (objective function) del Generatore tiene
conto di tre funzioni di perdita (loss functions):
 Errore di Ricostruzione
 Errore degli Encoding
 Errore delle Feature
Generatore
Discriminatore
x
z
x'
z'
Reale
Generata
Kernel
Conv 2D
Conv Tran. 2D
Activation Map
Latent Vector
Classification
Output
Batch Norm. 2D
Addestramento
Approccio Proposto
Patch-Ganomaly
Generatore
Discriminatore
x
z
x'
z'
Reale
Generata
Kernel
Conv 2D
Conv Tran. 2D
Activation Map
Latent Vector
Classification
Output
Batch Norm. 2D
�푐� = � − �' 1
Misura la differenza tra l'immagine in input e quella generata
> La funzione obiettivo (objective function) del Generatore tiene
conto di tre funzioni di perdita (loss functions):
 Errore di Ricostruzione
 Errore degli Encoding
 Errore delle Feature
Addestramento
Approccio Proposto
Patch-Ganomaly
Generatore
Discriminatore
x
z
x'
z'
Reale
Generata
Kernel
Conv 2D
Conv Tran. 2D
Activation Map
Latent Vector
Classification
Output
Batch Norm. 2D
�푒푐 = � − �' 2
Misura la differenza tra gli encoding dell'immagine in input e quella
generata
> La funzione obiettivo (objective function) del Generatore tiene
conto di tre funzioni di perdita (loss functions):
 Errore di Ricostruzione
 Errore degli Encoding
 Errore delle Feature
Addestramento
Approccio Proposto
Patch-Ganomaly
�푎� = �(�) − �(�') 2
Misura la differenza tra le feature estratte dalle due immagini
Kernel
Conv 2D
Conv Tran. 2D
Activation Map
Latent Vector
Classification
Output
Batch Norm. 2D
Generatore
Discriminatore
x
z
x'
z'
Reale
Generata
f(x)
f(x')
> La funzione obiettivo (objective function) del Generatore tiene
conto di tre funzioni di perdita (loss functions):
 Errore di Ricostruzione
 Errore degli Encoding
 Errore delle Feature
Addestramento
Approccio Proposto
Patch-Ganomaly
�푔푒 = �
푐� �푐� + �
푒푐 �푒푐 + �
푎� �푎�
> La funzione obiettivo (objective function) del Generatore è la
somma pesata delle tre loss functions:
Generatore
Discriminatore
x
z
x'
z'
Reale
Generata
Kernel
Conv 2D
Conv Tran. 2D
Activation Map
Latent Vector
Classification
Output
Batch Norm. 2D
Addestramento
> La funzione obiettivo (objective function) del Discriminatore tiene
conto della seguente funzione di perdita (loss function):
 Binary Cross Entropy
Approccio Proposto
Patch-Ganomaly
Valuta l'entropia delle distribuzioni relative alle patch
del training set x e quelle generate x'
Kernel
Conv 2D
Conv Tran. 2D
Activation Map
Latent Vector
Classification
Output
Batch Norm. 2D
Generatore
Discriminatore
x
z
x'
z'
out(x)
out(x')
�퐷� =
�퐵� (1, �� (�)) + �퐵� (0, �� (�'))
2
Addestramento
Patch-Ganomaly:
Fase di Test
Approccio Proposto
Patch-Ganomaly
> Il modello è addestrato per generare patch normali
> Una patch anomala tende ad essere ricostruita come una patch normale
> Una patch anomala determina un alto errore degli encoding rispetto al caso di patch
normali
> L'anomaly score è definito sulla base dell'errore relativo agli encoding
Generatore
Discriminatore
x
z
x'
z'
Reale
Generata
Kernel
Conv 2D
Conv Tran. 2D
Activation Map
Latent Vector
Classification
Output
Batch Norm. 2D
Fase di Test
Approccio Proposto
Patch-Ganomaly
> Il modello è addestrato a generare patch normali
> Una patch anomala tende ad essere ricostruita come una patch normale
> Una patch anomala determina un alto errore degli encoding rispetto al caso di patch
normali
> L'anomaly score è definito sulla base dell'errore relativo agli encoding
Generatore
Discriminatore
x
z
x'
z'
Reale
Generata
Kernel
Conv 2D
Conv Tran. 2D
Activation Map
Latent Vector
Classification
Output
Batch Norm. 2D
Fase di Test
Approccio Proposto
Patch-Ganomaly
> Il modello è addestrato a generare patch normali
> Una patch anomala tende ad essere ricostruita come una patch normale
> Una patch anomala determina un alto errore degli encoding rispetto al caso di patch
normali
> L'anomaly score è definito sulla base dell'errore relativo agli encoding
Generatore
Discriminatore
x
z
x'
z'
Reale
Generata
Kernel
Conv 2D
Conv Tran. 2D
Activation Map
Latent Vector
Classification
Output
Batch Norm. 2D
Fase di Test
Approccio Proposto
Patch-Ganomaly
> Il modello è addestrato a generare patch normali
> Una patch anomala tende ad essere ricostruita come una patch normale
> Una patch anomala determina un alto errore degli encoding rispetto al caso di patch
normali
> L'anomaly score è definito sulla base dell'errore degli encoding
Generatore
Discriminatore
x
z
x'
z'
Reale
Generata
Kernel
Conv 2D
Conv Tran. 2D
Activation Map
Latent Vector
Classification
Output
Batch Norm. 2D
�(�) = � − �' 2
Fase di Test
Patch-Ganomaly:
Inferenza
Approccio Proposto
Patch-Ganomaly
Inferenza
Patch Normale
Modello
Patch-Ganomaly
Anomaly
Score
A partire da una patch, Patch-Ganomaly calcola l'anomaly score ad esso relativo
Approccio Proposto
Patch-Ganomaly
Inferenza
Patch Anomala
Modello
Patch-Ganomaly
Anomaly
Score
A partire da una patch, Patch-Ganomaly calcola l'anomaly score ad esso relativo
Approccio Proposto
Patch-Ganomaly
Inferenza
> Estrazione delle patch che compongono un'immagine
> Inferenza del modello Patch-Ganomaly sulle patch estratte
> Gli anomaly score delle patch formano l'anomaly score map associata all'immagine
256 x 1600 Patch
... ... ...
32
32
Approccio Proposto
Patch-Ganomaly
Inferenza
> Estrazione delle patch che compongono un'immagine
> Inferenza del modello Patch-Ganomaly sulle patch estratte
> Gli anomaly score delle patch formano l'anomaly score map associata all'immagine
256 x 1600 Patch
... ... ...
32
32
Modello
Patch-Ganomaly
Approccio Proposto
Patch-Ganomaly
Inferenza
> Estrazione delle patch che compongono un'immagine
> Inferenza del modello Patch-Ganomaly sulle patch estratte
> Gli anomaly score delle patch formano l'anomaly score map associata all'immagine
... ...
256 x 1600 Patch
... ... ...
32
32
Modello
Patch-Ganomaly
Anomaly
Score Map
Approccio Proposto
Patch-Ganomaly
Inferenza
256 x 1600 Patch
... ...
...
32
32
Modello
Patch-Ganomaly
Anomaly
Score Map
> Estrazione delle patch che compongono un'immagine
> Inferenza del modello Patch-Ganomaly sulle patch estratte
> Gli anomaly score delle patch formano l'anomaly score map associata all'immagine
Approccio Proposto
Patch-Ganomaly
Inferenza
Anomaly
Score Map
> Valori di anomaly score elevati sono associati a pixel anomali
> La soglia di decisione definisce il confine tra uno score normale e uno score anomalo
> La fase di thresholding permette di ottenere questa soglia
> La soglia permette di discriminare i pixel normali da quelli anomali
Approccio Proposto
Patch-Ganomaly
Inferenza
Anomaly
Score Map
> Valori di anomaly score elevati sono associati a pixel anomali
> La soglia di decisione definisce il confine tra uno score normale e uno score anomalo
> La fase di thresholding permette di ottenere questa soglia
> La soglia permette di discriminare i pixel normali da quelli anomali
Thresholding
Normale
Anomalia
Soglia
Approccio Proposto
Patch-Ganomaly
Inferenza
Anomaly
Score Map
> Valori di anomaly score elevati sono associati a pixel anomali
> La soglia di decisione definisce il confine tra uno score normale e uno score anomalo
> La fase di thresholding permette di ottenere questa soglia
> La soglia permette di discriminare i pixel normali da quelli anomali
Thresholding Maschera di
Anomalia
Regione Anomala
Regione Normale
Normale
Anomalia
Soglia
Patch-Ganomaly:
Thresholding
Thresholding
Approccio Proposto
Patch-Ganomaly
> Estazione delle patch normali dal training set di immagini
> Si valutano gli anomaly score relativi alle patch normali del traning set
> L'istogramma mostra la frequenza degli anomaly score delle patch normali
> Il quantile al 95% degli anomaly score rappresenta la soglia di decisione
Training Set
Patch Normali
Normale
Anomalia
Soglia
Thresholding
Approccio Proposto
Patch-Ganomaly
> Estazione delle patch normali dal training set di immagini
> Si valutano gli anomaly score relativi alle patch normali del traning set
> L'istogramma mostra la frequenza degli anomaly score delle patch normali
> Il quantile al 95% degli anomaly score rappresenta la soglia di decisione
Training Set
Patch Normali Modello
Patch-Ganomaly
Anomaly Score
Normale
Anomalia
Soglia
Thresholding
Approccio Proposto
Patch-Ganomaly
Training Set
Patch Normali Modello
Patch-Ganomaly
Anomaly Score Istogramma degli
Anomaly Score
Normale
Anomalia
Soglia
> Estazione delle patch normali dal training set di immagini
> Si valutano gli anomaly score relativi alle patch normali del traning set
> L'istogramma mostra la frequenza degli anomaly score relativi alle patch normali
> Il quantile al 95% degli anomaly score rappresenta la soglia di decisione
Thresholding
Approccio Proposto
Patch-Ganomaly
Istogramma degli
Anomaly Score
Quantile al 95 %
Normale
Anomalia
Soglia
Soglia
di
decisione
> Estazione delle patch normali dal training set di immagini
> Si valutano gli anomaly score relativi alle patch normali del traning set
> L'istogramma mostra la frequenza degli anomaly score relativi alle patch normali
> Il quantile al 95% degli anomaly score rappresenta la soglia di decisione
Esperimenti
• Dataset e Modelli di riferimento
• Patch-Ganomaly
• TL-Ganomaly
• Post-Processing: apprendimento di filtri
Dataset
Esperimenti
Si contraddistinguono tre tipologie di anomalie nel dataset:
> Difetti di tipo 1
> Difetti di tipo 2
> Difetti di tipo 3
Dataset
Esperimenti
Si contraddistinguono tre tipologie di anomalie nel dataset:
> Difetti di tipo 1: sparsi e di piccole dimensioni
> Difetti di tipo 2
> Difetti di tipo 3
Pixel Anomali
Dataset
Esperimenti
Si contraddistinguono tre tipologie di anomalie nel dataset:
> Difetti di tipo 1
> Difetti di tipo 2: forme geometriche lineari
> Difetti di tipo 3
Pixel Anomali
Dataset
Esperimenti
Si contraddistinguono tre tipologie di anomalie nel dataset:
> Difetti di tipo 1
> Difetti di tipo 2
> Difetti di tipo 3: difetti densi e omogenei
Pixel Anomali
Test Set
Esperimenti
In fase di sperimentazione vengono utilizzati due test set:
> Test set Strutturato: composto solamente da immagini aventi lo stesso tipo di difetto
> Test set Generico: formato da immagini di qualunque difetto
Dataset
Esperimenti:
Modelli di Riferimento
Esperimenti
Modelli di Riferimento
Il modello proposto, Patch-Ganomaly, viene confrontato con due modelli di riferimento:
> Modello Supervionato: Rete Neurale Convoluzionale (CNN) fully-connected
> Modello Semi-Supervisionato: Convolutional Autoencoder
Esperimenti
Modelli di Riferimento
Il modello proposto, Patch-Ganomaly, viene confrontato con due modelli di riferimento:
> Modello Supervionato: Rete Neurale Convoluzionale (CNN) fully-connected
> Modello Semi-Supervisionato: Convolutional Autoencoder
Kernel
Conv 2D
Max Pooling Activation
Function
Classification Output
Fully connected Layer
Esperimenti
Modelli di Riferimento
Il modello proposto, Patch-Ganomaly, viene confrontato con due modelli di riferimento:
> Modello Supervionato: Rete Neurale Convoluzionale (CNN) fully-connected
> Modello Semi-Supervisionato: Convolutional Autoencoder
Kernel
Conv 2D
Conv Transpose 2D Activation Map Latent Vector
Batch Normalization 2D
Esperimenti
Modelli di Riferimento
> Addestrati sfruttando la tecnica del patch-wise
training
> Training set di 30.000 patch
Anomaly Score:
> Autoencoder: errore di ricostruzione
> CNN: binary cross entropy
Kernel
Conv 2D
Conv Transpose 2D Activation Map Latent Vector
Batch Normalization 2D
Kernel
Conv 2D
Max Pooling Activation
Function
Classification Output
Fully connected Layer
Esperimenti
Modelli di Riferimento
> Addestrati sfruttando la tecnica del patch-wise
training
> Training set di 30.000 patch
Anomaly Score:
> Autoencoder: errore di ricostruzione
> CNN: binary cross entropy
Kernel
Conv 2D
Conv Transpose 2D Activation Map Latent Vector
Batch Normalization 2D
Esperimenti
Modelli di Riferimento
> Addestrati sfruttando la tecnica del patch-wise
training
> Training set di 30.000 patch
Anomaly Score:
> Autoencoder: errore di ricostruzione
> CNN: binary cross entropy
Kernel
Conv 2D
Max Pooling Activation
Function
Classification Output
Fully connected Layer
Esperimenti
• Dataset e Modelli di riferimento
• Patch-Ganomaly
• TL-Ganomaly
• Post-Processing: apprendimento di filtri
Esperimenti:
Test set Strutturato
Difetti di tipo 1
Esperimenti
Immagine 1
Immagine 2
Immagine Originale
Maschera di Anomalia
Immagine Originale
Maschera di Anomalia
Pixel Anomali
Pixel Anomali
Esperimenti
Convolutional Autoencoder
CNN Fully-connected
Patch-Ganomaly
Difetti di tipo 1
Immagine 1
Pixel Riconosciuti Anomali
Pixel Anomali
Esperimenti
Difetti di tipo 1
Immagine 2
Convolutional Autoencoder
CNN Fully-connected
Patch-Ganomaly
Pixel Riconosciuti Anomali
Pixel Anomali
Difetti di tipo 2
Esperimenti
Immagine 3
Immagine 4
Immagine Originale
Maschera di Anomalia
Immagine Originale
Maschera di Anomalia
Pixel Anomali
Pixel Anomali
Convolutional Autoencoder
CNN Fully-connected
Patch-Ganomaly
Esperimenti
Difetti di tipo 2
Immagine 3
Pixel Riconosciuti Anomali
Pixel Anomali
Convolutional Autoencoder
CNN Fully-connected
Patch-Ganomaly
Esperimenti
Difetti di tipo 2
Immagine 4
Pixel Riconosciuti Anomali
Pixel Anomali
Difetti di tipo 3
Esperimenti
Immagine 5
Immagine 6
Immagine Originale
Maschera di Anomalia
Immagine Originale
Maschera di Anomalia
Pixel Anomali
Pixel Anomali
Convolutional Autoencoder
CNN Fully-connected
Patch-Ganomaly
Esperimenti
Difetti di tipo 3
Immagine 5
Pixel Riconosciuti Anomali
Pixel Anomali
Esperimenti
Difetti di tipo 3
Immagine 6
Convolutional Autoencoder
CNN Fully-connected
Patch-Ganomaly
Pixel Riconosciuti Anomali
Pixel Anomali
Esperimenti:
Test set Generico
> Su un test set di 120 immagini:
Test Set Generico
Esperimenti
Approccio Proposto
• Patch-wise Training e Patch-Ganomaly
• TL-Ganomaly
• Post-Processing: apprendimento di filtri
> Si basa sul modello Patch-Ganomaly
> Introduce la tecnica del transfer learning Patch-Ganomaly
> Sfrutta la rete pre-addestrata VGG16
Approccio Proposto
TL-Ganomaly
> Si basa sul modello Patch-Ganomaly
> Introduce la tecnica del transfer learning Patch-Ganomaly
> Sfrutta la rete pre-addestrata VGG16
Approccio Proposto
TL-Ganomaly
Average Pooling
Conv 2D
Max Pooling ReLU Classification Output
Fully connected Layer
> Rete di classificazione addestrata su 1000 classi
> Gestisce in input immagini aventi dimensione 224 x 224
> Riduce l'input di un fattore 32
Approccio Proposto
VGG16
Average Pooling
Conv 2D
Max Pooling ReLU Classification Output
Fully connected Layer
TL-Ganomaly
TL-Ganomaly:
Adattamento della VGG16
Approccio Proposto
Adattamento della VGG16
TL-Ganomaly
32 x 32 x 64
16 x 16 x 128
8 x 8 x 256
4 x 4 x 256
2 x 2 x 512
Kernel: 2 x 2
1 x 1 x 100
Patch-Ganomaly
Generatore
Discriminatore
Reale
Generata
Encoder Decoder Encoder
Classficatore
VGG16 Adattata
> Estrazione della rappresentazione latente
> Riduzione dei layer della VGG16
> Adattamento della rappresentazione latente della
VGG16 al vettore latente di Patch-Ganomaly
> L'encoder del modello TL-Ganomaly diventa la
VGG16 adattata
Approccio Proposto
Adattamento della VGG16
TL-Ganomaly
32 x 32 x 64
16 x 16 x 128
8 x 8 x 256
4 x 4 x 256
2 x 2 x 512
1 x 1 x 100
Patch-Ganomaly
Generatore
Discriminatore
Reale
Generata
Encoder Decoder Encoder
Classficatore
> Estrazione della rappresentazione latente
> Riduzione dei layer della VGG16
> Adattamento della rappresentazione latente della
VGG16 al vettore latente di Patch-
Ganomaly
> L'encoder del modello TL-Ganomaly diventa la
VGG16 adattata
VGG16 Adattata
Approccio Proposto
Adattamento della VGG16
TL-Ganomaly
32 x 32 x 64
16 x 16 x 128
8 x 8 x 256
4 x 4 x 256
2 x 2 x 512
1 x 1 x 100
Generatore
Discriminatore
Reale
Generata
Decoder
Classficatore
VGG 16
Adattata
VGG 16
Adattata
TL-Ganomaly
VGG16 Adattata
> Estrazione della rappresentazione latente
> Riduzione dei layer della VGG16
> Adattamento della rappresentazione latente della
VGG16 al vettore latente di Patch-Ganomaly
> L'encoder del modello TL-Ganomaly diventa la
VGG16 adattata
Approccio Proposto
TL-Ganomaly
Generatore
Discriminatore
VGG 16 Adattata VGG 16 Adattata
Kernel
Conv 2D
Conv Transpose 2D Activation Map Latent Vector
Classification Output
Batch Norm. 2D
Esperimenti
• Dataset e Modelli di riferimento
• Patch-Ganomaly
• TL-Ganomaly
• Post-Processing: apprendimento di filtri
Esperimenti:
Test set Strutturato
Difetti di tipo 1
Esperimenti
Immagine 1
Immagine 2
Immagine Originale
Maschera di Anomalia
Immagine Originale
Maschera di Anomalia
Pixel Anomali
Pixel Anomali
Esperimenti
Patch-Ganomaly
TL-Ganomaly
Difetti di tipo 1
Immagine 1
Pixel Riconosciuti Anomali
Pixel Anomali
Esperimenti
Difetti di tipo 1
Immagine 2
TL-Ganomaly
Patch-Ganomaly
Pixel Riconosciuti Anomali
Pixel Anomali
Difetti di tipo 2
Esperimenti
Immagine 3
Immagine 4
Immagine Originale
Maschera di Anomalia
Immagine Originale
Maschera di Anomalia
Pixel Anomali
Pixel Anomali
Esperimenti
Difetti di tipo 2
Immagine 3
TL-Ganomaly
Patch-Ganomaly
Pixel Riconosciuti Anomali
Pixel Anomali
Esperimenti
Difetti di tipo 2
Immagine 4
TL-Ganomaly
Patch-Ganomaly
Pixel Riconosciuti Anomali
Pixel Anomali
Difetti di tipo 3
Esperimenti
Immagine 5
Immagine 6
Immagine Originale
Maschera di Anomalia
Immagine Originale
Maschera di Anomalia
Pixel Anomali
Pixel Anomali
Esperimenti
Difetti di tipo 3
Immagine 5
TL-Ganomaly
Patch-Ganomaly
Pixel Riconosciuti Anomali
Pixel Anomali
Esperimenti
Difetti di tipo 3
Immagine 6
TL-Ganomaly
Patch-Ganomaly
Pixel Riconosciuti Anomali
Pixel Anomali
Esperimenti:
Test set Generico
Test Set Generico
Esperimenti
> Su un test set di 120 immagini: > Segmentazione migliore: Patch-Ganomaly
> Migliore Precisione: TL-Ganomaly
Approccio Proposto
• Patch-wise Training e Patch-Ganomaly
• TL-Ganomaly
• Post-Processing: apprendimento di filtri
Approccio Proposto
Post-Processing
> Migliorativo per i problemi di segmentazione
> Applicazione di un filtro all'anomaly score map
Anomaly Score Map Filtro Anomaly Score Map
Filtrata
Maschera di Anomalia
Approccio Proposto
Obiettivi:
 Migliorare le soluzioni fornite per la segmentazione delle regioni normale e anomala
Soluzioni:
 Modello Conv-Processing
Post-Processing
Conv-Processing
> Modello Supervisionato
> Fornisce il filtro convoluzionale
Approccio Proposto
Modello
Conv-Processing
Anomaly Score Map Filtro Convoluzionale
Conv-Processing:
Addestramento
Addestramento
> Rete Neurale: un layer Convoluzionale
> Training set etichettato: anomaly score map e
maschere di anomalia
> Apprende i parametri del kernel
convoluzionale
Approccio Proposto
Kernel: 3 x 3
x x'
Input Output
Conv 2D
Sigmoid
Esperimenti
• Dataset e Modelli di riferimento
• Patch-Ganomaly e TL-Ganomaly
• Post-Processing: apprendimento di filtri
Primo confronto tra:
> Patch-Ganomaly con filtro convoluzionale costante in
post-processing
> Patch-Ganomaly con filtro convoluzionale fornito dal
modello Conv-Processing (PG-Detector)
Esperimenti
Post-Processing
Modello
Patch-Ganomaly
0,11 0,11 0,11
0,11 0,11 0,11
0,11 0,11 0,11
Modello
Patch-Ganomaly
0,36 0 0,28
0,35 0,4 0,37
0,25 0,26 0,31
PG-Detector
Filtro Conv. Costante
Filtro Conv. Appreso
Secondo confronto tra:
> TL-Ganomaly con filtro convoluzionale costante in
post-processing
> TL-Ganomaly con filtro convoluzionale fornito dal
modello Conv-Processing (TL-Detector)
Esperimenti
Post-Processing
Modello
TL-Ganomaly
Modello
TL-Ganomaly
TL-Detector
Filtro Conv. Appreso
0,17 0 0,23
0,2 0,05 0,24
0,21 0,17 0,21
0,11 0,11 0,11
0,11 0,11 0,11
0,11 0,11 0,11
Filtro Conv. Costante
Conv-Processing:
PG-Detector
Immagini Test
Esperimenti
Immagine Originale Maschera di Anomalia
Pixel Anomali
PG-Detector
Difetto di tipo 1
Difetto di tipo 2
Difetto di tipo 3
Esperimenti
Difetti di tipo 1
PG-Detector
Pixel Riconosciuti Anomali
Pixel Anomali
Patch-Ganomaly Conv. Costante
PG-Detector
Esperimenti
Difetti di tipo 2
PG-Detector
Pixel Riconosciuti Anomali
Pixel Anomali
PG-Detector
Patch-Ganomaly Conv. Costante
Esperimenti
Difetti di tipo 3
PG-Detector
Pixel Riconosciuti Anomali
Pixel Anomali
PG-Detector
Patch-Ganomaly Conv. Costante
Su un test set di 120 immagini:
Risultati
Esperimenti
> PG-Detector apporta migliorie in termini di
Precision
> Fornisce soluzioni con meno falsi positivi
PG-Detector
Conv-Processing:
TL-Detector
Difetto di tipo 1
Difetto di tipo 2
Difetto di tipo 3
Immagini Test
Esperimenti
Immagine Originale Maschera di Anomalia
Pixel Anomali
TL-Detector
Esperimenti
Difetti di tipo 1
TL-Detector
Pixel Riconosciuti Anomali
Pixel Anomali
TL-Detector
TL-Ganomaly Conv. Costante
Esperimenti
Difetti di tipo 2
TL-Detector
Pixel Riconosciuti Anomali
Pixel Anomali
TL-Detector
TL-Ganomaly Conv. Costante
Esperimenti
Difetti di tipo 3
TL-Detector
Pixel Riconosciuti Anomali
Pixel Anomali
TL-Detector
TL-Ganomaly Conv. Costante
Risultati
Esperimenti
TL-Detector
Su un test set di 120 immagini: > TL-Detector apporta migliorie in termini di
Recall
> Fornisce una segmentazione delle regioni più
efficace
Grazie per l'attenzione!
Esperimenti
TL-Detector

More Related Content

More from Deep Learning Italia

Machine Learning driven Quantum Optimization for Marketing
Machine Learning driven Quantum Optimization for MarketingMachine Learning driven Quantum Optimization for Marketing
Machine Learning driven Quantum Optimization for Marketing
Deep Learning Italia
 
Modelli linguistici da Eliza a ChatGPT P roblemi , fraintendimenti e prospettive
Modelli linguistici da Eliza a ChatGPT P roblemi , fraintendimenti e prospettiveModelli linguistici da Eliza a ChatGPT P roblemi , fraintendimenti e prospettive
Modelli linguistici da Eliza a ChatGPT P roblemi , fraintendimenti e prospettive
Deep Learning Italia
 
Transformers In Vision From Zero to Hero (DLI).pptx
Transformers In Vision From Zero to Hero (DLI).pptxTransformers In Vision From Zero to Hero (DLI).pptx
Transformers In Vision From Zero to Hero (DLI).pptx
Deep Learning Italia
 
Meetup Luglio - Operations Research.pdf
Meetup Luglio - Operations Research.pdfMeetup Luglio - Operations Research.pdf
Meetup Luglio - Operations Research.pdf
Deep Learning Italia
 
Meetup Giugno - c-ResUNET.pdf
Meetup Giugno - c-ResUNET.pdfMeetup Giugno - c-ResUNET.pdf
Meetup Giugno - c-ResUNET.pdf
Deep Learning Italia
 
MEETUP Maggio - Team Automata
MEETUP Maggio - Team AutomataMEETUP Maggio - Team Automata
MEETUP Maggio - Team Automata
Deep Learning Italia
 
2022_Meetup_Mazza-Marzo.pptx
2022_Meetup_Mazza-Marzo.pptx2022_Meetup_Mazza-Marzo.pptx
2022_Meetup_Mazza-Marzo.pptx
Deep Learning Italia
 
Machine Learning Security
Machine Learning SecurityMachine Learning Security
Machine Learning Security
Deep Learning Italia
 
The science of can and can t e la computazione quantistica
The science of can and can t e la computazione quantisticaThe science of can and can t e la computazione quantistica
The science of can and can t e la computazione quantistica
Deep Learning Italia
 
Dli meetup moccia
Dli meetup mocciaDli meetup moccia
Dli meetup moccia
Deep Learning Italia
 
Pi school-dli-presentation de nobili
Pi school-dli-presentation de nobiliPi school-dli-presentation de nobili
Pi school-dli-presentation de nobili
Deep Learning Italia
 
Machine Learning Explanations: LIME framework
Machine Learning Explanations: LIME framework Machine Learning Explanations: LIME framework
Machine Learning Explanations: LIME framework
Deep Learning Italia
 
Explanation methods for Artificial Intelligence Models
Explanation methods for Artificial Intelligence ModelsExplanation methods for Artificial Intelligence Models
Explanation methods for Artificial Intelligence Models
Deep Learning Italia
 
Use Cases Machine Learning for Healthcare
Use Cases Machine Learning for HealthcareUse Cases Machine Learning for Healthcare
Use Cases Machine Learning for Healthcare
Deep Learning Italia
 
NLG, Training, Inference & Evaluation
NLG, Training, Inference & Evaluation NLG, Training, Inference & Evaluation
NLG, Training, Inference & Evaluation
Deep Learning Italia
 
Transformer Seq2Sqe Models: Concepts, Trends & Limitations (DLI)
Transformer Seq2Sqe Models: Concepts, Trends & Limitations (DLI)Transformer Seq2Sqe Models: Concepts, Trends & Limitations (DLI)
Transformer Seq2Sqe Models: Concepts, Trends & Limitations (DLI)
Deep Learning Italia
 
Towards quantum machine learning calogero zarbo - meet up
Towards quantum machine learning  calogero zarbo - meet upTowards quantum machine learning  calogero zarbo - meet up
Towards quantum machine learning calogero zarbo - meet up
Deep Learning Italia
 
Macaluso antonio meetup dli 2020-12-15
Macaluso antonio  meetup dli 2020-12-15Macaluso antonio  meetup dli 2020-12-15
Macaluso antonio meetup dli 2020-12-15
Deep Learning Italia
 
Data privacy e anonymization in R
Data privacy e anonymization in RData privacy e anonymization in R
Data privacy e anonymization in R
Deep Learning Italia
 
Algoritmi non supervisionati per Time Series
Algoritmi non supervisionati per Time SeriesAlgoritmi non supervisionati per Time Series
Algoritmi non supervisionati per Time Series
Deep Learning Italia
 

More from Deep Learning Italia (20)

Machine Learning driven Quantum Optimization for Marketing
Machine Learning driven Quantum Optimization for MarketingMachine Learning driven Quantum Optimization for Marketing
Machine Learning driven Quantum Optimization for Marketing
 
Modelli linguistici da Eliza a ChatGPT P roblemi , fraintendimenti e prospettive
Modelli linguistici da Eliza a ChatGPT P roblemi , fraintendimenti e prospettiveModelli linguistici da Eliza a ChatGPT P roblemi , fraintendimenti e prospettive
Modelli linguistici da Eliza a ChatGPT P roblemi , fraintendimenti e prospettive
 
Transformers In Vision From Zero to Hero (DLI).pptx
Transformers In Vision From Zero to Hero (DLI).pptxTransformers In Vision From Zero to Hero (DLI).pptx
Transformers In Vision From Zero to Hero (DLI).pptx
 
Meetup Luglio - Operations Research.pdf
Meetup Luglio - Operations Research.pdfMeetup Luglio - Operations Research.pdf
Meetup Luglio - Operations Research.pdf
 
Meetup Giugno - c-ResUNET.pdf
Meetup Giugno - c-ResUNET.pdfMeetup Giugno - c-ResUNET.pdf
Meetup Giugno - c-ResUNET.pdf
 
MEETUP Maggio - Team Automata
MEETUP Maggio - Team AutomataMEETUP Maggio - Team Automata
MEETUP Maggio - Team Automata
 
2022_Meetup_Mazza-Marzo.pptx
2022_Meetup_Mazza-Marzo.pptx2022_Meetup_Mazza-Marzo.pptx
2022_Meetup_Mazza-Marzo.pptx
 
Machine Learning Security
Machine Learning SecurityMachine Learning Security
Machine Learning Security
 
The science of can and can t e la computazione quantistica
The science of can and can t e la computazione quantisticaThe science of can and can t e la computazione quantistica
The science of can and can t e la computazione quantistica
 
Dli meetup moccia
Dli meetup mocciaDli meetup moccia
Dli meetup moccia
 
Pi school-dli-presentation de nobili
Pi school-dli-presentation de nobiliPi school-dli-presentation de nobili
Pi school-dli-presentation de nobili
 
Machine Learning Explanations: LIME framework
Machine Learning Explanations: LIME framework Machine Learning Explanations: LIME framework
Machine Learning Explanations: LIME framework
 
Explanation methods for Artificial Intelligence Models
Explanation methods for Artificial Intelligence ModelsExplanation methods for Artificial Intelligence Models
Explanation methods for Artificial Intelligence Models
 
Use Cases Machine Learning for Healthcare
Use Cases Machine Learning for HealthcareUse Cases Machine Learning for Healthcare
Use Cases Machine Learning for Healthcare
 
NLG, Training, Inference & Evaluation
NLG, Training, Inference & Evaluation NLG, Training, Inference & Evaluation
NLG, Training, Inference & Evaluation
 
Transformer Seq2Sqe Models: Concepts, Trends & Limitations (DLI)
Transformer Seq2Sqe Models: Concepts, Trends & Limitations (DLI)Transformer Seq2Sqe Models: Concepts, Trends & Limitations (DLI)
Transformer Seq2Sqe Models: Concepts, Trends & Limitations (DLI)
 
Towards quantum machine learning calogero zarbo - meet up
Towards quantum machine learning  calogero zarbo - meet upTowards quantum machine learning  calogero zarbo - meet up
Towards quantum machine learning calogero zarbo - meet up
 
Macaluso antonio meetup dli 2020-12-15
Macaluso antonio  meetup dli 2020-12-15Macaluso antonio  meetup dli 2020-12-15
Macaluso antonio meetup dli 2020-12-15
 
Data privacy e anonymization in R
Data privacy e anonymization in RData privacy e anonymization in R
Data privacy e anonymization in R
 
Algoritmi non supervisionati per Time Series
Algoritmi non supervisionati per Time SeriesAlgoritmi non supervisionati per Time Series
Algoritmi non supervisionati per Time Series
 

MEETUP APRILE - Ganomaly - Anomaly Detection.pdf

  • 1. Anomaly Detection a partire da Ganomaly: patch-wise training e transfer learning &
  • 2. Chi è Daniele Moltisanti? • Data Scientist - Sky • 26 Anni • Backgroung Ing. Informatica - Politecnico di Milano • Specializzato in algoritmi di Deep Learning
  • 3. Fondatore di stAI tuned Open Knowledge Community: Divulgazione di contenuti relativi a AI applicati a settori specifici
  • 4. Riconoscimento di Anomalie • Descrizione del problema • Esistenti soluzioni al problema
  • 5. Dominio: immagini relative a lastre di acciaio Obiettivo: estrarre la maschera di anomalia Risultato: Riconoscimento delle anomalie Descrizione del problema Riconoscimento di Anomalie
  • 6. Riconoscimento di Anomalie Descrizione del problema Obiettivo Si cerca un modello matematico che misuri il grado di anomalia di ogni pixel > L'anomaly score map associa ad ogni pixel un valore di anomalia (anomaly score) > Pixel con un alto valore di anomalia vengono riconosciuti anomali Regione Anomala Regione Normale Modello Matematico Anomaly Score Map Maschera di Anomalia
  • 7. Riconoscimento di Anomalie • Descrizione del problema • Esistenti soluzioni al problema
  • 8. Soluzioni esistenti al problema Classificatore Metodi di Apprendimento Supervisionato Metodi di Apprendimento Semi-Supervisionato Autoencoder AnoGAN Ganomaly > I modelli supervisionati apprendono i pattern delle immagini normali e di quelle anomale > Si basano su un dataset di immagini etichettate > Poco efficaci nel caso in cui le anomalie mutino le loro caratteristiche Riconoscimento di Anomalie
  • 9. Soluzioni esistenti al problema Classificatore Metodi di Apprendimento Semi-Supervisionato Autoencoder AnoGAN Ganomaly Riconoscimento di Anomalie > Classifica un'intera immagine nelle due classi possibili: Normale o Anomala > La Rete Neurale Convoluzionale è un noto classificatore Metodi di Apprendimento Supervisionato
  • 10. Soluzioni esistenti al problema Classificatore Metodi di Apprendimento Semi-Supervisionato Autoencoder AnoGAN Ganomaly Riconoscimento di Anomalie > I modelli semi-supervisionati apprendono il comportamento delle sole immagini normali > Calcolano l'anomaly score di un'immagine > Sfruttano il valore di anomaly score per definire la presenza anomalia Metodi di Apprendimento Supervisionato
  • 11. Soluzioni esistenti al problema Classificatore Metodi di Apprendimento Semi-Supervisionato Autoencoder AnoGAN Ganomaly Riconoscimento di Anomalie > Rientra tra i modelli di ricostruzione > Riconosce anomala un'intera immagine che presenta un alto anomaly score Encoder Decoder Anomaly Score Metodi di Apprendimento Supervisionato
  • 12. Soluzioni esistenti al problema Classificatore Metodi di Apprendimento Semi-Supervisionato Autoencoder AnoGAN Ganomaly Riconoscimento di Anomalie Generatore Discriminatore Reale Generata Rappresentazione latente > Fa parte dei modelli GAN-based > Apprende come generare di immagini normali > L'anomaly score viene calcolato attraverso l'errore di apprendimento > Alti valori di anomaly score corrispondono ad alte probabilità di avere un'immagine anomala > Riconosce la regione anomala mediante l'errore tra un'immagine e quella fornita dal generatore Metodi di Apprendimento Supervisionato
  • 13. Soluzioni esistenti al problema Classificatore Metodi di Apprendimento Semi-Supervisionato Autoencoder AnoGAN Ganomaly Riconoscimento di Anomalie Generatore Discriminatore Reale Generata Encoder Decoder Encoder Classficatore > Fa parte dei modelli GAN-based > Apprende come generare immagini normali > L'anomaly score viene calcolato attraverso l'errore degli encoding > Riconosce anomala un'intera immagini che misura un'alta anomaly score > Applicato su immagini di dimensioni ridotte (32 x 32) Metodi di Apprendimento Supervisionato
  • 14. Approccio Proposto • Patch-wise Training e Patch-Ganomaly • TL-Ganomaly • Post-Processing: apprendimento di filtri
  • 16. Patch-wise Training Approccio Proposto Patch-wise Training Da immagini a patch: > Tecnica di apprendimento basata su porzioni di immagini (patch) > Da ogni immagine viene estratto un numero N di patches > Il training set di immagini viene trasformato in un patch set
  • 17. Patch-wise Training Approccio Proposto 256 x 1600 Patch 32 32 Patch-wise Training Da immagini a patch: > Tecnica di apprendimento basata su porzioni di immagini (patch) > Da ogni immagine viene estratto un numero N di patches > Il training set di immagini viene trasformato in un patch set
  • 18. Patch-wise Training Approccio Proposto Training Set Patch Set Da immagini a patch: > Tecnica di apprendimento basata su porzioni di immagini (patch) > Da ogni immagine viene estratto un numero N di patches > Il training set di immagini viene trasformato in un patch set Patch-wise Training
  • 19. Patch-wise Training Approccio Proposto Addestramento: > Apprendimento basato su un training set di patch > La patch è definita anomala se il suo centro appartiene alla regione anomala > La patch normale presenta il suo centro privo di anomalie Patch Training Modello Patch-wise Patch-wise Training
  • 20. Patch-wise Training Approccio Proposto Patch Anomala Maschera di Anomalia Patch Regione Anomala Addestramento: > Apprendimento basato su un training set di patch > La patch è definita anomala se il suo centro appartiene alla regione anomala > La patch normale presenta il suo centro privo di anomalie Patch-wise Training
  • 21. Patch-wise Training Approccio Proposto Maschera di Anomalia Patch Patch Normale Regione Anomala Addestramento: > Apprendimento basato su un training set di patch > La patch è definita anomala se il suo centro appartiene alla regione anomala > La patch normale presenta il suo centro privo di anomalie Patch-wise Training
  • 23. Patch-Ganomaly Approccio Proposto > Si basa sull'architettura di Ganomaly > Caratterizzato da una rete generatrice (Generatore) e una rete antagonista (Discriminatore) > Sfrutta la tecnica del patch-wise training > Analizza patch piuttosto che intere immagini Generatore Discriminatore x z x' z' Reale Generata Kernel Conv 2D Conv Tran. 2D Activation Map Latent Vector Classification Output Batch Norm. 2D
  • 25. Approccio Proposto Patch-Ganomaly > Il training set è formato da sole patch normali > Il modello apprende come generare patch normali, attreverso il Generatore > L'addestramento di basa sull'ottimizzazione del Generatore e del Discriminatore Addestramento Generatore Discriminatore x z x' z' Reale Generata Kernel Conv 2D Conv Tran. 2D Activation Map Latent Vector Classification Output Batch Norm. 2D
  • 26. Approccio Proposto Patch-Ganomaly > La funzione obiettivo (objective function) del Generatore tiene conto di tre funzioni di perdita (loss functions):  Errore di Ricostruzione  Errore degli Encoding  Errore delle Feature Generatore Discriminatore x z x' z' Reale Generata Kernel Conv 2D Conv Tran. 2D Activation Map Latent Vector Classification Output Batch Norm. 2D Addestramento
  • 27. Approccio Proposto Patch-Ganomaly Generatore Discriminatore x z x' z' Reale Generata Kernel Conv 2D Conv Tran. 2D Activation Map Latent Vector Classification Output Batch Norm. 2D �푐� = � − �' 1 Misura la differenza tra l'immagine in input e quella generata > La funzione obiettivo (objective function) del Generatore tiene conto di tre funzioni di perdita (loss functions):  Errore di Ricostruzione  Errore degli Encoding  Errore delle Feature Addestramento
  • 28. Approccio Proposto Patch-Ganomaly Generatore Discriminatore x z x' z' Reale Generata Kernel Conv 2D Conv Tran. 2D Activation Map Latent Vector Classification Output Batch Norm. 2D �푒푐 = � − �' 2 Misura la differenza tra gli encoding dell'immagine in input e quella generata > La funzione obiettivo (objective function) del Generatore tiene conto di tre funzioni di perdita (loss functions):  Errore di Ricostruzione  Errore degli Encoding  Errore delle Feature Addestramento
  • 29. Approccio Proposto Patch-Ganomaly �푎� = �(�) − �(�') 2 Misura la differenza tra le feature estratte dalle due immagini Kernel Conv 2D Conv Tran. 2D Activation Map Latent Vector Classification Output Batch Norm. 2D Generatore Discriminatore x z x' z' Reale Generata f(x) f(x') > La funzione obiettivo (objective function) del Generatore tiene conto di tre funzioni di perdita (loss functions):  Errore di Ricostruzione  Errore degli Encoding  Errore delle Feature Addestramento
  • 30. Approccio Proposto Patch-Ganomaly �푔푒 = � 푐� �푐� + � 푒푐 �푒푐 + � 푎� �푎� > La funzione obiettivo (objective function) del Generatore è la somma pesata delle tre loss functions: Generatore Discriminatore x z x' z' Reale Generata Kernel Conv 2D Conv Tran. 2D Activation Map Latent Vector Classification Output Batch Norm. 2D Addestramento
  • 31. > La funzione obiettivo (objective function) del Discriminatore tiene conto della seguente funzione di perdita (loss function):  Binary Cross Entropy Approccio Proposto Patch-Ganomaly Valuta l'entropia delle distribuzioni relative alle patch del training set x e quelle generate x' Kernel Conv 2D Conv Tran. 2D Activation Map Latent Vector Classification Output Batch Norm. 2D Generatore Discriminatore x z x' z' out(x) out(x') �퐷� = �퐵� (1, �� (�)) + �퐵� (0, �� (�')) 2 Addestramento
  • 33. Approccio Proposto Patch-Ganomaly > Il modello è addestrato per generare patch normali > Una patch anomala tende ad essere ricostruita come una patch normale > Una patch anomala determina un alto errore degli encoding rispetto al caso di patch normali > L'anomaly score è definito sulla base dell'errore relativo agli encoding Generatore Discriminatore x z x' z' Reale Generata Kernel Conv 2D Conv Tran. 2D Activation Map Latent Vector Classification Output Batch Norm. 2D Fase di Test
  • 34. Approccio Proposto Patch-Ganomaly > Il modello è addestrato a generare patch normali > Una patch anomala tende ad essere ricostruita come una patch normale > Una patch anomala determina un alto errore degli encoding rispetto al caso di patch normali > L'anomaly score è definito sulla base dell'errore relativo agli encoding Generatore Discriminatore x z x' z' Reale Generata Kernel Conv 2D Conv Tran. 2D Activation Map Latent Vector Classification Output Batch Norm. 2D Fase di Test
  • 35. Approccio Proposto Patch-Ganomaly > Il modello è addestrato a generare patch normali > Una patch anomala tende ad essere ricostruita come una patch normale > Una patch anomala determina un alto errore degli encoding rispetto al caso di patch normali > L'anomaly score è definito sulla base dell'errore relativo agli encoding Generatore Discriminatore x z x' z' Reale Generata Kernel Conv 2D Conv Tran. 2D Activation Map Latent Vector Classification Output Batch Norm. 2D Fase di Test
  • 36. Approccio Proposto Patch-Ganomaly > Il modello è addestrato a generare patch normali > Una patch anomala tende ad essere ricostruita come una patch normale > Una patch anomala determina un alto errore degli encoding rispetto al caso di patch normali > L'anomaly score è definito sulla base dell'errore degli encoding Generatore Discriminatore x z x' z' Reale Generata Kernel Conv 2D Conv Tran. 2D Activation Map Latent Vector Classification Output Batch Norm. 2D �(�) = � − �' 2 Fase di Test
  • 38. Approccio Proposto Patch-Ganomaly Inferenza Patch Normale Modello Patch-Ganomaly Anomaly Score A partire da una patch, Patch-Ganomaly calcola l'anomaly score ad esso relativo
  • 39. Approccio Proposto Patch-Ganomaly Inferenza Patch Anomala Modello Patch-Ganomaly Anomaly Score A partire da una patch, Patch-Ganomaly calcola l'anomaly score ad esso relativo
  • 40. Approccio Proposto Patch-Ganomaly Inferenza > Estrazione delle patch che compongono un'immagine > Inferenza del modello Patch-Ganomaly sulle patch estratte > Gli anomaly score delle patch formano l'anomaly score map associata all'immagine 256 x 1600 Patch ... ... ... 32 32
  • 41. Approccio Proposto Patch-Ganomaly Inferenza > Estrazione delle patch che compongono un'immagine > Inferenza del modello Patch-Ganomaly sulle patch estratte > Gli anomaly score delle patch formano l'anomaly score map associata all'immagine 256 x 1600 Patch ... ... ... 32 32 Modello Patch-Ganomaly
  • 42. Approccio Proposto Patch-Ganomaly Inferenza > Estrazione delle patch che compongono un'immagine > Inferenza del modello Patch-Ganomaly sulle patch estratte > Gli anomaly score delle patch formano l'anomaly score map associata all'immagine ... ... 256 x 1600 Patch ... ... ... 32 32 Modello Patch-Ganomaly Anomaly Score Map
  • 43. Approccio Proposto Patch-Ganomaly Inferenza 256 x 1600 Patch ... ... ... 32 32 Modello Patch-Ganomaly Anomaly Score Map > Estrazione delle patch che compongono un'immagine > Inferenza del modello Patch-Ganomaly sulle patch estratte > Gli anomaly score delle patch formano l'anomaly score map associata all'immagine
  • 44. Approccio Proposto Patch-Ganomaly Inferenza Anomaly Score Map > Valori di anomaly score elevati sono associati a pixel anomali > La soglia di decisione definisce il confine tra uno score normale e uno score anomalo > La fase di thresholding permette di ottenere questa soglia > La soglia permette di discriminare i pixel normali da quelli anomali
  • 45. Approccio Proposto Patch-Ganomaly Inferenza Anomaly Score Map > Valori di anomaly score elevati sono associati a pixel anomali > La soglia di decisione definisce il confine tra uno score normale e uno score anomalo > La fase di thresholding permette di ottenere questa soglia > La soglia permette di discriminare i pixel normali da quelli anomali Thresholding Normale Anomalia Soglia
  • 46. Approccio Proposto Patch-Ganomaly Inferenza Anomaly Score Map > Valori di anomaly score elevati sono associati a pixel anomali > La soglia di decisione definisce il confine tra uno score normale e uno score anomalo > La fase di thresholding permette di ottenere questa soglia > La soglia permette di discriminare i pixel normali da quelli anomali Thresholding Maschera di Anomalia Regione Anomala Regione Normale Normale Anomalia Soglia
  • 48. Thresholding Approccio Proposto Patch-Ganomaly > Estazione delle patch normali dal training set di immagini > Si valutano gli anomaly score relativi alle patch normali del traning set > L'istogramma mostra la frequenza degli anomaly score delle patch normali > Il quantile al 95% degli anomaly score rappresenta la soglia di decisione Training Set Patch Normali Normale Anomalia Soglia
  • 49. Thresholding Approccio Proposto Patch-Ganomaly > Estazione delle patch normali dal training set di immagini > Si valutano gli anomaly score relativi alle patch normali del traning set > L'istogramma mostra la frequenza degli anomaly score delle patch normali > Il quantile al 95% degli anomaly score rappresenta la soglia di decisione Training Set Patch Normali Modello Patch-Ganomaly Anomaly Score Normale Anomalia Soglia
  • 50. Thresholding Approccio Proposto Patch-Ganomaly Training Set Patch Normali Modello Patch-Ganomaly Anomaly Score Istogramma degli Anomaly Score Normale Anomalia Soglia > Estazione delle patch normali dal training set di immagini > Si valutano gli anomaly score relativi alle patch normali del traning set > L'istogramma mostra la frequenza degli anomaly score relativi alle patch normali > Il quantile al 95% degli anomaly score rappresenta la soglia di decisione
  • 51. Thresholding Approccio Proposto Patch-Ganomaly Istogramma degli Anomaly Score Quantile al 95 % Normale Anomalia Soglia Soglia di decisione > Estazione delle patch normali dal training set di immagini > Si valutano gli anomaly score relativi alle patch normali del traning set > L'istogramma mostra la frequenza degli anomaly score relativi alle patch normali > Il quantile al 95% degli anomaly score rappresenta la soglia di decisione
  • 52. Esperimenti • Dataset e Modelli di riferimento • Patch-Ganomaly • TL-Ganomaly • Post-Processing: apprendimento di filtri
  • 53. Dataset Esperimenti Si contraddistinguono tre tipologie di anomalie nel dataset: > Difetti di tipo 1 > Difetti di tipo 2 > Difetti di tipo 3
  • 54. Dataset Esperimenti Si contraddistinguono tre tipologie di anomalie nel dataset: > Difetti di tipo 1: sparsi e di piccole dimensioni > Difetti di tipo 2 > Difetti di tipo 3 Pixel Anomali
  • 55. Dataset Esperimenti Si contraddistinguono tre tipologie di anomalie nel dataset: > Difetti di tipo 1 > Difetti di tipo 2: forme geometriche lineari > Difetti di tipo 3 Pixel Anomali
  • 56. Dataset Esperimenti Si contraddistinguono tre tipologie di anomalie nel dataset: > Difetti di tipo 1 > Difetti di tipo 2 > Difetti di tipo 3: difetti densi e omogenei Pixel Anomali
  • 57. Test Set Esperimenti In fase di sperimentazione vengono utilizzati due test set: > Test set Strutturato: composto solamente da immagini aventi lo stesso tipo di difetto > Test set Generico: formato da immagini di qualunque difetto Dataset
  • 59. Esperimenti Modelli di Riferimento Il modello proposto, Patch-Ganomaly, viene confrontato con due modelli di riferimento: > Modello Supervionato: Rete Neurale Convoluzionale (CNN) fully-connected > Modello Semi-Supervisionato: Convolutional Autoencoder
  • 60. Esperimenti Modelli di Riferimento Il modello proposto, Patch-Ganomaly, viene confrontato con due modelli di riferimento: > Modello Supervionato: Rete Neurale Convoluzionale (CNN) fully-connected > Modello Semi-Supervisionato: Convolutional Autoencoder Kernel Conv 2D Max Pooling Activation Function Classification Output Fully connected Layer
  • 61. Esperimenti Modelli di Riferimento Il modello proposto, Patch-Ganomaly, viene confrontato con due modelli di riferimento: > Modello Supervionato: Rete Neurale Convoluzionale (CNN) fully-connected > Modello Semi-Supervisionato: Convolutional Autoencoder Kernel Conv 2D Conv Transpose 2D Activation Map Latent Vector Batch Normalization 2D
  • 62. Esperimenti Modelli di Riferimento > Addestrati sfruttando la tecnica del patch-wise training > Training set di 30.000 patch Anomaly Score: > Autoencoder: errore di ricostruzione > CNN: binary cross entropy Kernel Conv 2D Conv Transpose 2D Activation Map Latent Vector Batch Normalization 2D Kernel Conv 2D Max Pooling Activation Function Classification Output Fully connected Layer
  • 63. Esperimenti Modelli di Riferimento > Addestrati sfruttando la tecnica del patch-wise training > Training set di 30.000 patch Anomaly Score: > Autoencoder: errore di ricostruzione > CNN: binary cross entropy Kernel Conv 2D Conv Transpose 2D Activation Map Latent Vector Batch Normalization 2D
  • 64. Esperimenti Modelli di Riferimento > Addestrati sfruttando la tecnica del patch-wise training > Training set di 30.000 patch Anomaly Score: > Autoencoder: errore di ricostruzione > CNN: binary cross entropy Kernel Conv 2D Max Pooling Activation Function Classification Output Fully connected Layer
  • 65. Esperimenti • Dataset e Modelli di riferimento • Patch-Ganomaly • TL-Ganomaly • Post-Processing: apprendimento di filtri
  • 67. Difetti di tipo 1 Esperimenti Immagine 1 Immagine 2 Immagine Originale Maschera di Anomalia Immagine Originale Maschera di Anomalia Pixel Anomali Pixel Anomali
  • 68. Esperimenti Convolutional Autoencoder CNN Fully-connected Patch-Ganomaly Difetti di tipo 1 Immagine 1 Pixel Riconosciuti Anomali Pixel Anomali
  • 69. Esperimenti Difetti di tipo 1 Immagine 2 Convolutional Autoencoder CNN Fully-connected Patch-Ganomaly Pixel Riconosciuti Anomali Pixel Anomali
  • 70. Difetti di tipo 2 Esperimenti Immagine 3 Immagine 4 Immagine Originale Maschera di Anomalia Immagine Originale Maschera di Anomalia Pixel Anomali Pixel Anomali
  • 71. Convolutional Autoencoder CNN Fully-connected Patch-Ganomaly Esperimenti Difetti di tipo 2 Immagine 3 Pixel Riconosciuti Anomali Pixel Anomali
  • 72. Convolutional Autoencoder CNN Fully-connected Patch-Ganomaly Esperimenti Difetti di tipo 2 Immagine 4 Pixel Riconosciuti Anomali Pixel Anomali
  • 73. Difetti di tipo 3 Esperimenti Immagine 5 Immagine 6 Immagine Originale Maschera di Anomalia Immagine Originale Maschera di Anomalia Pixel Anomali Pixel Anomali
  • 74. Convolutional Autoencoder CNN Fully-connected Patch-Ganomaly Esperimenti Difetti di tipo 3 Immagine 5 Pixel Riconosciuti Anomali Pixel Anomali
  • 75. Esperimenti Difetti di tipo 3 Immagine 6 Convolutional Autoencoder CNN Fully-connected Patch-Ganomaly Pixel Riconosciuti Anomali Pixel Anomali
  • 77. > Su un test set di 120 immagini: Test Set Generico Esperimenti
  • 78. Approccio Proposto • Patch-wise Training e Patch-Ganomaly • TL-Ganomaly • Post-Processing: apprendimento di filtri
  • 79. > Si basa sul modello Patch-Ganomaly > Introduce la tecnica del transfer learning Patch-Ganomaly > Sfrutta la rete pre-addestrata VGG16 Approccio Proposto TL-Ganomaly
  • 80. > Si basa sul modello Patch-Ganomaly > Introduce la tecnica del transfer learning Patch-Ganomaly > Sfrutta la rete pre-addestrata VGG16 Approccio Proposto TL-Ganomaly Average Pooling Conv 2D Max Pooling ReLU Classification Output Fully connected Layer
  • 81. > Rete di classificazione addestrata su 1000 classi > Gestisce in input immagini aventi dimensione 224 x 224 > Riduce l'input di un fattore 32 Approccio Proposto VGG16 Average Pooling Conv 2D Max Pooling ReLU Classification Output Fully connected Layer TL-Ganomaly
  • 83. Approccio Proposto Adattamento della VGG16 TL-Ganomaly 32 x 32 x 64 16 x 16 x 128 8 x 8 x 256 4 x 4 x 256 2 x 2 x 512 Kernel: 2 x 2 1 x 1 x 100 Patch-Ganomaly Generatore Discriminatore Reale Generata Encoder Decoder Encoder Classficatore VGG16 Adattata > Estrazione della rappresentazione latente > Riduzione dei layer della VGG16 > Adattamento della rappresentazione latente della VGG16 al vettore latente di Patch-Ganomaly > L'encoder del modello TL-Ganomaly diventa la VGG16 adattata
  • 84. Approccio Proposto Adattamento della VGG16 TL-Ganomaly 32 x 32 x 64 16 x 16 x 128 8 x 8 x 256 4 x 4 x 256 2 x 2 x 512 1 x 1 x 100 Patch-Ganomaly Generatore Discriminatore Reale Generata Encoder Decoder Encoder Classficatore > Estrazione della rappresentazione latente > Riduzione dei layer della VGG16 > Adattamento della rappresentazione latente della VGG16 al vettore latente di Patch- Ganomaly > L'encoder del modello TL-Ganomaly diventa la VGG16 adattata VGG16 Adattata
  • 85. Approccio Proposto Adattamento della VGG16 TL-Ganomaly 32 x 32 x 64 16 x 16 x 128 8 x 8 x 256 4 x 4 x 256 2 x 2 x 512 1 x 1 x 100 Generatore Discriminatore Reale Generata Decoder Classficatore VGG 16 Adattata VGG 16 Adattata TL-Ganomaly VGG16 Adattata > Estrazione della rappresentazione latente > Riduzione dei layer della VGG16 > Adattamento della rappresentazione latente della VGG16 al vettore latente di Patch-Ganomaly > L'encoder del modello TL-Ganomaly diventa la VGG16 adattata
  • 86. Approccio Proposto TL-Ganomaly Generatore Discriminatore VGG 16 Adattata VGG 16 Adattata Kernel Conv 2D Conv Transpose 2D Activation Map Latent Vector Classification Output Batch Norm. 2D
  • 87. Esperimenti • Dataset e Modelli di riferimento • Patch-Ganomaly • TL-Ganomaly • Post-Processing: apprendimento di filtri
  • 89. Difetti di tipo 1 Esperimenti Immagine 1 Immagine 2 Immagine Originale Maschera di Anomalia Immagine Originale Maschera di Anomalia Pixel Anomali Pixel Anomali
  • 90. Esperimenti Patch-Ganomaly TL-Ganomaly Difetti di tipo 1 Immagine 1 Pixel Riconosciuti Anomali Pixel Anomali
  • 91. Esperimenti Difetti di tipo 1 Immagine 2 TL-Ganomaly Patch-Ganomaly Pixel Riconosciuti Anomali Pixel Anomali
  • 92. Difetti di tipo 2 Esperimenti Immagine 3 Immagine 4 Immagine Originale Maschera di Anomalia Immagine Originale Maschera di Anomalia Pixel Anomali Pixel Anomali
  • 93. Esperimenti Difetti di tipo 2 Immagine 3 TL-Ganomaly Patch-Ganomaly Pixel Riconosciuti Anomali Pixel Anomali
  • 94. Esperimenti Difetti di tipo 2 Immagine 4 TL-Ganomaly Patch-Ganomaly Pixel Riconosciuti Anomali Pixel Anomali
  • 95. Difetti di tipo 3 Esperimenti Immagine 5 Immagine 6 Immagine Originale Maschera di Anomalia Immagine Originale Maschera di Anomalia Pixel Anomali Pixel Anomali
  • 96. Esperimenti Difetti di tipo 3 Immagine 5 TL-Ganomaly Patch-Ganomaly Pixel Riconosciuti Anomali Pixel Anomali
  • 97. Esperimenti Difetti di tipo 3 Immagine 6 TL-Ganomaly Patch-Ganomaly Pixel Riconosciuti Anomali Pixel Anomali
  • 99. Test Set Generico Esperimenti > Su un test set di 120 immagini: > Segmentazione migliore: Patch-Ganomaly > Migliore Precisione: TL-Ganomaly
  • 100. Approccio Proposto • Patch-wise Training e Patch-Ganomaly • TL-Ganomaly • Post-Processing: apprendimento di filtri
  • 101. Approccio Proposto Post-Processing > Migliorativo per i problemi di segmentazione > Applicazione di un filtro all'anomaly score map Anomaly Score Map Filtro Anomaly Score Map Filtrata Maschera di Anomalia
  • 102. Approccio Proposto Obiettivi:  Migliorare le soluzioni fornite per la segmentazione delle regioni normale e anomala Soluzioni:  Modello Conv-Processing Post-Processing
  • 103. Conv-Processing > Modello Supervisionato > Fornisce il filtro convoluzionale Approccio Proposto Modello Conv-Processing Anomaly Score Map Filtro Convoluzionale
  • 105. Addestramento > Rete Neurale: un layer Convoluzionale > Training set etichettato: anomaly score map e maschere di anomalia > Apprende i parametri del kernel convoluzionale Approccio Proposto Kernel: 3 x 3 x x' Input Output Conv 2D Sigmoid
  • 106. Esperimenti • Dataset e Modelli di riferimento • Patch-Ganomaly e TL-Ganomaly • Post-Processing: apprendimento di filtri
  • 107. Primo confronto tra: > Patch-Ganomaly con filtro convoluzionale costante in post-processing > Patch-Ganomaly con filtro convoluzionale fornito dal modello Conv-Processing (PG-Detector) Esperimenti Post-Processing Modello Patch-Ganomaly 0,11 0,11 0,11 0,11 0,11 0,11 0,11 0,11 0,11 Modello Patch-Ganomaly 0,36 0 0,28 0,35 0,4 0,37 0,25 0,26 0,31 PG-Detector Filtro Conv. Costante Filtro Conv. Appreso
  • 108. Secondo confronto tra: > TL-Ganomaly con filtro convoluzionale costante in post-processing > TL-Ganomaly con filtro convoluzionale fornito dal modello Conv-Processing (TL-Detector) Esperimenti Post-Processing Modello TL-Ganomaly Modello TL-Ganomaly TL-Detector Filtro Conv. Appreso 0,17 0 0,23 0,2 0,05 0,24 0,21 0,17 0,21 0,11 0,11 0,11 0,11 0,11 0,11 0,11 0,11 0,11 Filtro Conv. Costante
  • 110. Immagini Test Esperimenti Immagine Originale Maschera di Anomalia Pixel Anomali PG-Detector Difetto di tipo 1 Difetto di tipo 2 Difetto di tipo 3
  • 111. Esperimenti Difetti di tipo 1 PG-Detector Pixel Riconosciuti Anomali Pixel Anomali Patch-Ganomaly Conv. Costante PG-Detector
  • 112. Esperimenti Difetti di tipo 2 PG-Detector Pixel Riconosciuti Anomali Pixel Anomali PG-Detector Patch-Ganomaly Conv. Costante
  • 113. Esperimenti Difetti di tipo 3 PG-Detector Pixel Riconosciuti Anomali Pixel Anomali PG-Detector Patch-Ganomaly Conv. Costante
  • 114. Su un test set di 120 immagini: Risultati Esperimenti > PG-Detector apporta migliorie in termini di Precision > Fornisce soluzioni con meno falsi positivi PG-Detector
  • 116. Difetto di tipo 1 Difetto di tipo 2 Difetto di tipo 3 Immagini Test Esperimenti Immagine Originale Maschera di Anomalia Pixel Anomali TL-Detector
  • 117. Esperimenti Difetti di tipo 1 TL-Detector Pixel Riconosciuti Anomali Pixel Anomali TL-Detector TL-Ganomaly Conv. Costante
  • 118. Esperimenti Difetti di tipo 2 TL-Detector Pixel Riconosciuti Anomali Pixel Anomali TL-Detector TL-Ganomaly Conv. Costante
  • 119. Esperimenti Difetti di tipo 3 TL-Detector Pixel Riconosciuti Anomali Pixel Anomali TL-Detector TL-Ganomaly Conv. Costante
  • 120. Risultati Esperimenti TL-Detector Su un test set di 120 immagini: > TL-Detector apporta migliorie in termini di Recall > Fornisce una segmentazione delle regioni più efficace