Deep Learning per Image Analysis - Scuola Politecnica e delle Scienze di Base Corso di Laurea in Ingegneria Informatica Elaborato finale in ...

Pagina creata da Cristina Di Giovanni
 
CONTINUA A LEGGERE
Deep Learning per Image Analysis - Scuola Politecnica e delle Scienze di Base Corso di Laurea in Ingegneria Informatica Elaborato finale in ...
Scuola Politecnica e delle Scienze di Base
Corso di Laurea in Ingegneria Informatica

Elaborato finale in Sistemi Multimediali

Deep Learning per Image Analysis

Anno Accademico 2018/2019

Candidato:
Arianna Vitrano
matr. N46002529
Deep Learning per Image Analysis - Scuola Politecnica e delle Scienze di Base Corso di Laurea in Ingegneria Informatica Elaborato finale in ...
Indice

Introduzione                                                                               1

1   Introduzione al Deep Learning                                                          3

    1.1   Machine Learning, Deep Learning e Reti Neurali . . . . . . . . . . . . .         3

2   Deep Learning per Image Analysis                                                       9

    2.1   Reti Neurali Convoluzionali . . . . . . . . . . . . . . . . . . . . . . . .      9

    2.2   Architettura di una rete neurale convoluzionale . . . . . . . . . . . . . .     10

    2.3   Livello convoluzionale, filtro, passo e padding . . . . . . . . . . . . . . .   10

    2.4   Livello Rectified Linear Units ReLU e livello di Pooling . . . . . . . . .      12

    2.5   Livello Full Connection FC . . . . . . . . . . . . . . . . . . . . . . . . .    12

    2.6   Confusion matrix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .    13

3   Applicazione del Deep Learning in campo Ferroviario                                   14

    3.1   Deep Learning per Image Analysis: Traversine . . . . . . . . . . . . . .        15

    3.2   Deep Learning per Image Analysis: Rotaie . . . . . . . . . . . . . . . . .      18

Conclusioni e sviluppi futuri                                                             24

Ringraziamenti                                                                            25

Bibliografia                                                                              26

                                             ii
Deep Learning per Image Analysis - Scuola Politecnica e delle Scienze di Base Corso di Laurea in Ingegneria Informatica Elaborato finale in ...
Elenco delle figure

 1.1.1 Intelligenza Artificiale, Machine Learning, Deep Learning . . . . . . . .          3

 1.1.2 Livelli di una rete neurale . . . . . . . . . . . . . . . . . . . . . . . . . .    4

 1.1.3 Struttura di una rete neurale . . . . . . . . . . . . . . . . . . . . . . . . .    4

 1.1.4 Esempi di funzione di attivazione . . . . . . . . . . . . . . . . . . . . . .      5

 1.1.5 Algoritmo di Backpropagation . . . . . . . . . . . . . . . . . . . . . . .         5

 1.1.6 Esempio di Diagnostica Medica . . . . . . . . . . . . . . . . . . . . . .          7

 2.1.1 Il funzionamento di una Rete Neurale Convoluzionale . . . . . . . . . . .         10

 2.3.1 Esempio con input di dimensioni 7x7 e filtro 3x3 e passo 1 . . . . . . . .        11

 2.3.2 Zero-padding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .      11

 2.4.1 Esempio di convoluzione, pooling e decimazione usato in CNN . . . . . .           12

 2.6.1 Esempio di cofunsion matrix . . . . . . . . . . . . . . . . . . . . . . . .       13

 3.1.1 Componenti principali del binario . . . . . . . . . . . . . . . . . . . . .       15

 3.1.2 Architettura della rete . . . . . . . . . . . . . . . . . . . . . . . . . . . .   16

 3.1.3 Categorie dei materiali . . . . . . . . . . . . . . . . . . . . . . . . . . .     16

 3.1.4 Convolution matrix . . . . . . . . . . . . . . . . . . . . . . . . . . . . .      17

 3.1.5 Segmentation-Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . .        17

 3.2.1 Classi di output della CNN(media) . . . . . . . . . . . . . . . . . . . . .       18

 3.2.2 Classi di difetti del binario della CNN . . . . . . . . . . . . . . . . . . .     19

                                           iii
Deep Learning per Image Analysis - Scuola Politecnica e delle Scienze di Base Corso di Laurea in Ingegneria Informatica Elaborato finale in ...
Deep Learning per Image Analysis

3.2.3 Confusion Matrix della CNN . . . . . . . . . . . . . . . . . . . . . . . .                 20

3.2.4 Metodologia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .              21

3.2.5 Rete neurale convoluzionale CNN . . . . . . . . . . . . . . . . . . . . .                  21

3.2.6 Formula per il cacolo del rischio . . . . . . . . . . . . . . . . . . . . . .              21

3.2.7 Accrescimento delle “squats” in funzione di MGT che passano sulla rotaia 22

3.2.8 Calcolo del rischio di rottura in cinque punti del binario fra le stazioni di
      Zwolle e Groningen . . . . . . . . . . . . . . . . . . . . . . . . . . . . .               22

                                         iv
Deep Learning per Image Analysis - Scuola Politecnica e delle Scienze di Base Corso di Laurea in Ingegneria Informatica Elaborato finale in ...
Introduzione

Alan Turing può essere sicuramente considerato il padre dell’Intelligenza Artificiale. Ne-
gli anni 40’ durante il periodo di guerra e mentre era impegnato nella crittografia militare
per individuare il codice della famosa macchina di crittografia tedesca Enigma, confi-
dò al suo collaboratore Donald Bayley la sua ambizione di voler “costruire un cervello”.
Successivamente sulla base di questa ambizione venne realizzato il primo calcolatore elet-
tronico inglese. Alan Turing non ha costruito il primo calcolatore, ma ha gettato le basi
dell’informatica per i successivi studi sull’Intelligenza Artificiale.

Nel 1947 Alan Turing scriveva “Alcuni anni fa conducevo ricerche che oggi si potrebbero
definire come un’indagine sulle possibilità teoriche e sui limiti delle macchine calcolatrici
digitali. Presi in considerazione un tipo di macchina che aveva un meccanismo centrale, e
una memoria infinita che era contenuta su un nastro infinito. Questo tipo di macchina sem-
brava sufficientemente generale. Una delle mie conclusioni fu che i concetti di ’Processo
secondo regole empiriche’ e di ’Processo meccanico’ erano sinonimi”. Turing intende
come ’Processo secondo regole empirche’, un processo che può essere svolto seguendo
alla lettera una lista di istruzioni che dicono cosa fare caso per caso. Succesivamente nel
suo articolo “Macchine Calcolatrici e Intelligenza” del 1950 Alan Turing si propone di
rispondere alla seguente emblematica domanda “Possono pensare le macchine?”. Per ri-
spondere a questa domanda elabora il gioco dell’imitazione; “Questo gioco viene giocato
da tre persone, un uomo (A), una donna (B) e l’interrogante (C), che può essere dell’u-
no o dell’altro sesso. L’interrogante viene chiuso in una stanza separato dagli altri due.
Scopo del gioco per l’interrogante è quello di determinare quale delle altre due persone

                                              1
Deep Learning per Image Analysis - Scuola Politecnica e delle Scienze di Base Corso di Laurea in Ingegneria Informatica Elaborato finale in ...
Deep Learning per Image Analysis

sia l’uomo e quale sia la donna. Egli le conosce con le etichette X e Y, e alla fine del
gioco darà la soluzone ’X è A e Y è B’. L’interrogante può fare domande di questo tipo
ad A e B: ’Vuol dirmi X, per favore, la lunghezza dei propri capelli?’ ...... Poniamo ora
la domanda: ’Che cosa accadrà se una macchina prenderà il posto di A nel gioco?’ L’in-
terrogante darà una risposta errata altrettanto spesso di quanto gioco viene giocato tra un
uomo e una donna? Queste domande sostituiscono quella originale: ’Possono pensare le
macchine?’ ”. Quanto esposto dimostra l’importanza delle teorie esposte da Alan Turing
nello sviluppo successivo dell’Informatica e dell’Intelligenza Artificiale che lo pone fra i
pioneri di quest’ultima disciplina di cui per altro era consapevole. Alla fine dell’ultimo
citato articolo del 1950 dice: “Credo che entro circa cinquanta anni sarà possibile pro-
grammare calcolatori con una capacità di memorizzaizone di circa 10^9, per far giocare
loro il gioco dell’imitazione così bene che un esaminatore medio non avrà più del 70% di
probabilità di compiere l’identificazione esatta dopo cinque minuti di interrogazione”.

Cinquanta e più anni sono trascorsi e i computer e l’Intelligeza Arificiale sono una realtà
utilizzata in ogni settore della vita.

In questa trattazione affronteremo un aspetto molto particolare: la tecnica di Deep Lear-
ning per Image Analysis che si basa sull’Intelligenza Artificiale. Il Deep Learning è in
particolare una tenica del Machine Learning per creare modelli di apprendimento su più
livelli. Il concetto è semplice: immaginiamo di apprendere una nozione e subito dopo
un’altra. Il nostro cervello raccoglie la prima e la elabora insieme alla seconda trasfor-
mandola. Scienficamente è corretto definire l’azione del Deep Learning come “l’appren-
dimento di dati che non sono forniti dall’uomo”, ma sono appresi grazie ad algoritmi
di calcolo statistico. In particolare il Deep Learning viene applicato al trattamento delle
immagini per la “visione artificiale”.

Verranno trattati i concetti base di questa tecnica ed infine una sua applicazione in campo
ferroviario per l’ispezione dei binari.

                                             2
Deep Learning per Image Analysis - Scuola Politecnica e delle Scienze di Base Corso di Laurea in Ingegneria Informatica Elaborato finale in ...
Capitolo 1

Introduzione al Deep Learning

1.1     Machine Learning, Deep Learning e Reti Neurali

Il Machine Learning o apprendimento automatico è una branca dell’Intelligenza Artifi-
ciale. Il Machine Learning racchiude una serie di metodi e algoritmi che consentono ad
un programma di accrescere l’apprendimento via via che gli vengono forniti i dati.

        Figura 1.1.1: Intelligenza Artificiale, Machine Learning, Deep Learning

Il Deep Learning è una sottocategoria del machine learning che non fa altro che creare
modelli di apprendimento su più livelli. Le reti neurali artificali sono il fondamento del
Deep Learning.

Le reti neurali cercano di sfruttare meccanismi simili a quelli dell’intelligenza umana.

                                            3
Deep Learning per Image Analysis - Scuola Politecnica e delle Scienze di Base Corso di Laurea in Ingegneria Informatica Elaborato finale in ...
Deep Learning per Image Analysis

                         Figura 1.1.2: Livelli di una rete neurale

E’ costitutita da un insieme di neuroni tra loro connessi tramite dei collegamenti chiamati
sinapsi. Possiamo individuare tre strati: uno strato di ingresso, uno strato di uscita e uno
strato nascosto.

L’elemento fondamentale è il neurone che è costituto da più ingressi e da un’unica uscita.
I collegamenti in ingresso vengono sommati in maniera pesata e costituiscono l’input
della funzione di attivazione, la quale restituisce un output diverso da zero solamente se
viene superato un certo valore di soglia.

                        Figura 1.1.3: Struttura di una rete neurale

Si possono adottare diverse funzioni di attivazione a seconda del compito che la rete
neurale deve svolgere. Le più comuni funzioni di attivazione sono le seguenti:

                                             4
Deep Learning per Image Analysis

                     Figura 1.1.4: Esempi di funzione di attivazione

La sigmoide è quella si presta meglio come funzione di attivazione in quanto semplifica
l’apprendimento del dataset.

Nelle reti neurali l’apprendimento avviene con o senza supervisione o tramite un algorit-
mo di backpropagation. La rete neurale fonda il suo apprendimento aggiustando i pesi
in un processo iterativo a partire dai dati in input. Il processo può essere supervisionato
da un esperto e in questo caso si parla di apprendimento con supervisione. L’algoritmo
di backpropagation invece è un meccanismo nel quale l’errore che si commette viene
utilizzato per modificare il peso ed eseguire una nuova iterazione.

                      Figura 1.1.5: Algoritmo di Backpropagation

                                            5
Deep Learning per Image Analysis

Sia il tasso di apprendimento che il momento sono valori variabili fra 0 e 1. Naturalmente
un tasso di apprendimento elevato può portare all’instabilità del sistema. Per ridurre la
possibile divergenza del sistema si usa l’altro parametro: il momento.

A livello di complessità all’aumentare delle dimensione della rete neurale cresce la com-
plessità dell’algoritmo.

Negli ultimi anni si sono sviluppate molte applicazioni nel campo del Deep Learning. Ad
esempio si possono usare tecniche di Deep Learning per effettuare traduzioni automa-
tiche, colorazione automatica di immagini e film in bianco e nero, aggiunta di suoni ai
video muti, classificazione di immagini o oggetti.

Nel campo medico tutte le principali aziende tecnologiche stanno studiando applicazio-
ni di intelligenza artificiale ed in particolare nell’archiviazione di cartelle cliniche e so-
prattutto nel campo della diagnostica medica per la diagnostica dei tumori, insufficienza
cardiaca. Anche Google è attiva nel settore della diagnostica medica, infatti è in via di
sviluppo il progetto DeepMind Healt. Sempre Google con un altro programma di ricerca
Baseline Study per la raccolta di dati genetici. Ed ancora la società Watson le cui appli-
cazioni consentono diagnosi nel campo dell’insufficienza cardiaca. Anche Intel, azienda
leader nel settore dei calcolatori, si sta concentrano nel settore dei tumori ai polmoni. Ci
sono anche aziende più piccole, Start-up come la Senseley che ha sviluppato la prima
infermiera virtuale in grado di seguire un paziente monitorando tulle le condizioni e lo
stato dei trattamenti medici. Sono anche risultati interessanti le applicazioni in campo
radiologico per un aiuto sulla diagnosi ai medici.

L’introduzione dell’intelligenza artificiale ed in particolare delle metodologie di Deep
Learning nel campo della medicina sono, come dicevamo, ormai una realtà consolidata.
Google è attiva ormai da molto tempo in vari settori in particolare della diagnostica . Di
seguito due esempi di diagnostica medica effettuata con le applicazioni Ml di Google.

                                              6
Deep Learning per Image Analysis

                      Figura 1.1.6: Esempio di Diagnostica Medica

Le tecniche di Deep Lerning ovviamente continueranno ad evolvere e ad essere sempre
più precise da un punto di vista strettamente Ingegneristico. Ma il problema fondamentale
in campo medico si sposta anche su altri aspetti che sono l’introduzione di queste tecno-
logie nel processo che porta un Medico od un Equipe Medica a formulare una Diagnosi e
soprattutto l’analisi dei dati finali ed intermedi da parte di personale Medico specializzato
e per evitare che si degeneri in una sorta di autodiagnosi. La collaborazione fra specialisti
discipline diverse sarà assolutamente strategico ed anche la formazione di nuove figure di
Medici ed Ingeneri che abbiano un minimo di competenze anche nell’altro campo non di
propria pertinenza.

Nel campo delle automobili è stata stabilita una scala del livello di automazione che varia
dal livello 0 – Macchina Tradizionale - a livello 5 – Automazione Completa. I livelli
intermedi già sono una realtà in campo automobilistico. Il livello 5 fa uso delle tecniche
di Machine Learning e come è noto dalle cronache sulla stampa è in sperimentazione
in diversi paesi del mondo fra cui l’Italia ( VisiLab - Università di Parma). Gli elementi
caratteristici di un sistema a guida autonoma sono: definizione dell’ambiente – che tipo di
strada, gli altri mezzi di locomozione presenti, i passanti, lo stato degli eventuali semafori

                                              7
Deep Learning per Image Analysis

– la posizione precisa di dove l’auto si trova e dove deve andare, come comportarsi in
determinate situazioni normali ed anche eccezionali p.e. un’altra auto che taglia la strada.
I metodi di Machine Learning miglioreranno nel tempo le performance delle auto a guida
automatica proprio per la loro capacità di apprendere. Altro settore interessante e contiguo
a quello della guida autonoma è la possibile interazione - scambio di dati - fra i sensori
dell’auto e quelli inseriti sulle strade o nei semafori ed anche nelle altre auto.

Altro settore dove le tecniche di Machine Learning hanno determinato una svolta e quel-
lo della traduzione automatica. Dal 1954 anno nel quale all’Università di Georgetown
di Washington DC fu eseguito il primo test di traduzione basato sostanzialmente su un
dizionario legato ad una grammatica, molti progressi sono stati fatti. Oggi grazie alle
tecniche di Deep Learning sono disponibili programmi di traduzione reperibili in internet
come per esempio Google che utilizza il GNMT (Google Neural Machine Translation).
Programma che apprende ogni volta che traduce. Nonostante questo però i sistemi di
traduzione automatica sono ancora lontani dall’essere considerati soddisfacenti. Attual-
mente il campo delle possibili variabili è troppo ampio. In compenso possono aiutare un
traduttore nel suo lavoro perché possono in pochi istanti tradurre intere pagine di testo per
una successiva revisione da parte del traduttore stesso.

                                              8
Capitolo 2

Deep Learning per Image Analysis

2.1     Reti Neurali Convoluzionali

Le Reti Neurali Convoluzionali hanno avuto negli ultimi anni uno sviluppo nel settore
della Computer Vision. L’idea di fondo è quella di riuscire ad analizzare e a classificare
un gran numero di immagini secondo opportuni criteri. Ma che cos’è e come funziona
una rete neurale convoluzionale? Come è noto una qualsiasi immagine digitale, elaborata
al calcolatore, è in realtà una matrice di pixel e quindi di per sé un computer non è in
grado di inviduare il contenuto di un’immagine al contrario della nostra visione abituale
che è capace di distinguere un paesaggio da un animale. Pertanto le reti neurali convolu-
zionali risolvono questo problema identificando con buona probabilità il contenuto stesso
dell’immagine. Le reti neurali convoluzionali sono costruite in genere sulla base di set di
dati che costituiscono una base omogena di dati: set di dati di automobili, di animali, di
volti per il riconoscimento facciale etc. Di seguito, in figura 2.1.1., si riporta l’immagine
di una tipica struttura di rete neurale convoluzionale.

                                             9
Deep Learning per Image Analysis

           Figura 2.1.1: Il funzionamento di una Rete Neurale Convoluzionale

2.2     Architettura di una rete neurale convoluzionale

Tipicamente, così come mostrato nella figura precedenre, in una rete neurale convoluzio-
nale il primo livello chiamato livello di input, è l’insieme di tutte le immagini che vengono
prese dal set di dati. Ovviamente ciascuna immagine viene rappresentata da un insieme
di numeri che per il computer sono l’immagine da elaborare. Un’immagine è formata da
un array di numeri per esempio 32x32x3, dove i numeri indicano la larghezza, l’altezza e
la profondità tipicamente associata al modello di colore RGB(Reed, Green and Blue).

2.3     Livello convoluzionale, filtro, passo e padding

Il livello convoluzionale è il livello principale di tutta la rete. Il suo obiettivo è quello
di individuare elementi caratteristi dell’immagine. I livelli convoluzonali possono essere
più di uno e ognuno di essi si concentra nella ricerca di una caratteristica dell’immagi-
ne. Per capire come funziona questo livello è necessario definire i filtri e il passo. Un
filtro è generalmente una piccola matrice di poche righe e colonne che rappresenta una
caratteristica convoluzionale che si vuole identificare. La matrice inziale dell’immagine

                                             10
Deep Learning per Image Analysis

viene trasformata attraverso il prodotto scalare riga per colonna con il filtro ottenendo una
nuova matrice definita come matrice di convoluzione.

        Figura 2.3.1: Esempio con input di dimensioni 7x7 e filtro 3x3 e passo 1

La matrice di convoluzione che si ottiene alla destra della figura precedente è per costru-
zione più piccola di quella di partenza. Spesso per ovviare a questo inconveniente si ap-
plica il cosidetto “zero-padding” per evitare la perdita di informazioni importanti riguardo
il bordo dell’immagine di partenza. Alla matrice così ampliata si applica il processo di
convoluzione.

                                Figura 2.3.2: Zero-padding

                                             11
Deep Learning per Image Analysis

2.4     Livello Rectified Linear Units ReLU e livello di Poo-

        ling

Il livello ReLu è un livello non lineare. Come abbiamo visto precedentemente il livello
di convoluzione è un livello lineare perchè opera un prodotto scalare fra matrici lineari.
Questo livello invece applica alla matrice convoluzionale ottenunta generalmente la fun-
zione f(x)=max(0,x) di tutti i valori di input. Sucessivamente nel livello di Pooling viene
ricostruita la matrice applicando il massimo per tutte le celle dell’area interessata. E infine
si applica la cosiddetta decimazione e si estraggono i valori ottenuti.

      Figura 2.4.1: Esempio di convoluzione, pooling e decimazione usato in CNN

2.5     Livello Full Connection FC

Questo livello di Full Connection è sostanzialmente un livello che viene generato a partire
dai livelli precedenti. In sintesi, si genera un vettore di N dimensioni in cui N è il numero
delle classi. Ogni numero di questo vettore rappresenza la probabilità di una certa classe.
Come è possibile vedere nell’immagine 2.1.1 alla fine si ottiene dopo il livello FC la
probabilità che l’immagine rappresenti un fiore, una tazza, una macchina o un albero. Le
tecniche che vengono utilizzare per la definizone del vettore probabilità sono tecniche
matematiche che fanno largo uso della teoria delle probabilità.

                                              12
Deep Learning per Image Analysis

2.6       Confusion matrix

La confusion matrix è una matrice usata nel campo del Machine Learning le cui colonne
rappresentano le previsioni e le righe lo stato effettivo. Per esempio, supponiamo di avere
un data set formato dalle immagini di 25 animali: 8 cani, 7 gatti e 10 uccelli. Applicando
un’architettura neurale convoluzionale è possibile ottenere il seguente risultato riporato in
figura:

                        Figura 2.6.1: Esempio di cofunsion matrix

Nella diagonale principale si riscontrano le corrette previsioni rispetto alle effettive. I
valori fuori diagonale sono gli errori che si connettono. E’ un indice dell’attendibilità
della rete neurale convoluzionale.

                                             13
Capitolo 3

Applicazione del Deep Learning in
campo Ferroviario

Gli esempi che riportiamo sono riferiti al mondo Ferroviario. In questo settore l’aspetto
della sicurezza(Safety), è ovviamente fondamentale per garantire la sicurezza della per-
sone delle merci trasportate. Pertanto gli elementi principali di un sistema ferroviario
devono essere sempre progettati in maniera sicura e bisogna effettuare costantemente la
manutenzione programmata per mantenere gli alti livelli di sicurezza richiesti. Nei due
esempi che seguono, si fa riferimento a come rilevare lo stato delle traversine e delle rotaie
in maniera rapida ed efficiente. Gli esempi di seguito riportati si riferiscono all’esperien-
za realizzata da due gruppi di lavoro americani che hanno effettuato delle riprese ad alta
risoluzione rispettivamente delle traversine e delle rotaie e succesivamente elaborato le
immagini con la tecninca del Deep Learning e in particolare sfruttando la CNN.

                                             14
Deep Learning per Image Analysis

3.1     Deep Learning per Image Analysis: Traversine

Gli autori [3], descrivono il sistema che hanno creato a partire dalle immagini riprese con
una telecamera montata su veicolo che corre lungo il binari. Il data set inziale è composto
da oltre 200.000 immagini ognuna delle quali individua il box una traversina del percorso
di circa 130 km. Inoltre il sistema prevede più detecotors ed è quindi multitasking nel
senso che le riprese da più telecamere vengono confrontate per trarre il massimo dell’in-
formazione. Il binario è composto da diversi materiali: legno, cemento, plastica, e metalli.
Inoltre ci sono agganci elastici e bulloni per bloccare le rotaie sulle traversine. L’obiettivo
è quello di individuare i difetti dei singoli componenti del binario in maniera automatica
per poter poi procedere poi alla loro successiva manutenzione. In figura 3.1.1 è riportata
una fotografia del binario con l’indicazione di tutti i tuoi componenti principali.

                      Figura 3.1.1: Componenti principali del binario

Il sistema proposto si avvale di una rete di tipo convoluzionale CNN come riportato in
figura 3.1.2.

                                              15
Deep Learning per Image Analysis

                            Figura 3.1.2: Architettura della rete

Come si può notare per la classificazione dei materiali ci sono 4 livelli convoluzionali
mentre per gli attacchi ci sono 5 livelli convoluzionali. I primi tre livelli convoluzionali
sono comuni ai materiali e agli attacchi. Il quinto livello convoluzionale per gli attacchi
è splittato in due per una più fine classificazione. Il sistema utilizza una rete ReLU come
funzione di attivazione non lineare.

Il primo obiettivo è quello di identificare i materiali e la loro segmentazione. Con questo
metodo possono essere classificati i componenti del binario, il loro stato ed eventualmente
la loro mancanza come nel caso degli attacchi. Nella figura successiva vengono riportati
i diversi materiali con le loro condizioni di riferimento.

                           Figura 3.1.3: Categorie dei materiali

Nella seguente figura invece viene riportata la confusion matrix che da indicazione del-

                                             16
Deep Learning per Image Analysis

la percentuale di identificazione dei materiali e dell’errore commesso durante la fase di
classificazione.

                           Figura 3.1.4: Convolution matrix

Tutto il processo di definizione della rete neurale convoluzonale termina con i risultati
riportati in figura:

                            Figura 3.1.5: Segmentation-Map

                                           17
Deep Learning per Image Analysis

Le prime prime tre immagini sulla sinistra rappresentano le traversine che come è possi-
bile constatare sono in codizioni fatiscenti. Le tre immagini accanto sulla destra invece
rappresentano la corrispondente “Segmentaion-Map”-in sintesi l’immagine ricavata dal
processo descritto nel quale ogni pixel è correttamente identificato secondo le categorie
riportate in figura 3.1.3-in quest’ultima figura il cemento in condizioni fatiscenti è indivi-
duato dall’immagine(f). Le immagini delle righe 4-5-6 danno conto di traversine spaccate
correlate alla loro segmentation map.

Questo metodo proposto e descritto precedentemente consente di accelerare i tempi di
diagnosi dello stato del binario consentendo una più tempestiva e mirata manuntenzione.

3.2     Deep Learning per Image Analysis: Rotaie

Anche in questo caso gli autori[4] adottano una rete neurale convoluzionale per l’indivi-
duazione dei difetti di superfice delle rotaie ferrovarie. Il dataset inziale copre approssi-
mativamente 350km di binario equivalente a 700km di rotaia. In particolare, l’architettura
della rete convoluzionale proposta è di questo tipo:

                     Figura 3.2.1: Classi di output della CNN(media)

                                             18
Deep Learning per Image Analysis

Il modello convoluzionale consiste come si vede da tre livelli convoluzonali, tre livelli
di Pooling e tre livelli di Fully Connected. L’immagine iniziale è 100x50 pixel con due
colori nella scala dei grigi. Il primo livello di convoluzione da un’immagine normalizzata
e filtrata di taglia 9x5 pixel, il secondo livello convoluzionale da un’immagine 9x6 pixel
e infine il terzo livello da un’immagine di 4x2. L’uscita della rete classifica le immagini
usando sei classi così come individuate nella seguente figura:

                   Figura 3.2.2: Classi di difetti del binario della CNN

Di seguito vengono riportate le tabelle della confusion matrix in tre casi diversi cambian-
do le dimensioni e il numero dei parametri dell’architettura riportati in figura 3.2.1. La
diagonale principale della confusion matrix nei tre casi analizzati danno un’indicazione
della precisione del modello di CNN proposto.

Le classi Normal e Weld(binario leggermente dannegiato) possono essere accorpate in-
sieme così come pure le tre Light-Moderate-Severe-squat. E infine la terza classe Joint
rappresenta la saldatura fra due rotaie. In questo modo riduciamo le classi a 3 classi:
Normal(Normale), Defect(Difettosa) e Joint(Giunzione).

Il metodo proposto consente di classificare i difetti del binario con un’accuratezza del
92% e un grande risparmio di tempo essendo la procedura automatica.

                                            19
Deep Learning per Image Analysis

                        Figura 3.2.3: Confusion Matrix della CNN

In uno studio successivo [6] viene proposto sulla base dei risultati ottenuti dalla CNN una
valutazione per stimare il rischio di una rottura del binario sulla base dell’accrescimento
delle squats(cricche). La definizione più accreditata di “squats” è: cricca che inizia alla
superficie della rotaria e scende giù di 3-6 millimetri al di sotto della superficie. In figura
3.2.4 e 3.2.5 viene proposta la metologia con la relativa arichitetura della rete neurale
convoluzionale CNN.

                                              20
Deep Learning per Image Analysis

                                 Figura 3.2.4: Metodologia

                     Figura 3.2.5: Rete neurale convoluzionale CNN

Alla fine il calcolo del rischio di rottura del binario viene valutato con la seguente formula:

                      Figura 3.2.6: Formula per il cacolo del rischio

Dove V1 e V2 sono due riprese successive dei difetti che poi vengono analizzate con la
CNN. Fc è la funzione di accrescimento delle squats in funzione dell’MGT(Milioni di
tonnellate treno che passano sul binario), ed Fsinv è l’inverso della funzione del grado di
severità delle squats. Di seguito il diagramma dell’accrescimento delle squats delle MGT
in tre casi possibili: evoluzione bassa, media e veloce.

                                              21
Deep Learning per Image Analysis

Figura 3.2.7: Accrescimento delle “squats” in funzione di MGT che passano sulla rotaia

Come è possibile vedere in figura per un punto fissato MGT per esempio 10,36 l’accre-
scimento degli squats è 1-2-8mm a seconda dello scenario considerato. Infine si riporta
la figura che da indicaziomi visive dell’evoluzione degli squats in vari punti della linea in
due istanti diversi V1 e V2 e viene calcolata la probabilità di rottura.

Figura 3.2.8: Calcolo del rischio di rottura in cinque punti del binario fra le stazioni di
Zwolle e Groningen

                                             22
Deep Learning per Image Analysis

Queste ultime considerazioni poco aggiungono alla teoria delle reti neurali CNN ma evi-
denziano che l’ultilizzo di queste tecniche automatiche efficienti e veloci consentono, nel
caso della rotaia, di fare delle accurate previsioni di possibili rotture e quindi programmare
conseguentemente la priorità degli interventi di manutenzione.

                                             23
Conclusioni e sviluppi futuri

In questa breve relazione abbiamo affrontato i principali problemi dell’Intelligenza Arti-
ficiale e delle tecniche di Deep Learning e delle reti neurali. Tutte queste tecniche sono
state sviluppate negli ultimi 50’ anni, ma negli anni recenti hanno avuto uno sviluppo
esponenziale in molti settori. Gli ultimi vorticosi progressi sono sicuramente dovuti a due
fattori: l’enorme incremento della capacità di calcolo dei moderni calcolatori elettronici
e la possibilità quindi mettere appunto più complessi algoritmi di calcolo che possono
essere elaborati in pochissimi secondi. Non trascurabile inoltre la possibilità di avere a
disposizione enormi quantità di dati, immagini digitali, informazioni che oggi sono repe-
ribili facilmente attraverso il web. Altro elemento importante di sviluppo è sicuramente
legato al basso costo dei calcolatori anche molto potenti che rendono possibili queste at-
tività di sviluppo con le relative applicazioni, accessibili ad un vasto pubblico di giovani
ricercatori. Ne è riprova l’enorme nascita di startup in questo settore. Nella relazione
abbiamo riportato un esempio pratico di grande interesse in campo ferroviario con l’indi-
viduazione dei difetti delle traversine e delle rotaie al fine di una più mirata manutenzione
in un settore così delicato dal punto di vista della sicurezza. Nell’ambito l’Intelligenza
Artificiale indubbiamente sono stati fatti enormi progressi ma, a mio avviso, siamo ancora
però lontani dalla aver risposto alla domanda che si pose Alan Turing nel 1950: “Può una
macchina pensare?”.

                                             24
Ringraziamenti

                 25
Bibliografia

[1] Alan M. Turing “Intelligenza Meccanica”. Serie scientifica. Universale Bollati Borin-
ghieri 1994.

[2] Lorenzo Govoni, Architettura di una rete neurale convoluzionale tratto dal sito web.
www.lorenzogovoni.com.

[3] Lorenzo Govoni, Rete Neurale, Deep Learning e principali applicazioni.

[3] Xavoer Gilbert, Vishal M. Patel, Rama Chellappa, Deep Multi-task Learning for Rail-
way Track Inspection. IEEE Transactions on Intelligent Transportation System(Volume
18, Issue 1, Jan 2017).

[4] Shahzard Faghih-Roohi, Siamak Haijzadeh, Alfredo Núñez, Robert Babuska, Deep
convolutional neural networks for detection of rail surface defects. International Joint
Conference on Neural Networks(IJCNN) 2016.

[5] Xavoer Gilbert, Vishak M. Patel, Rama Chellappa, Material Classification and Seman-
tic Segmentation of Railway Track Images with Deep Convolutional Neural Networks.
IEEE International Conference on Image Processing(ICIP) 2015.

[6] A. Jamshidi, S. Faghih-Roohi, S. Hajizadeh, A. Núñez, R. Babuška, R. Dollevoet, Z.
Li and B. De Schutter, “A big data analysis approach for rail failure risk assessment”.
Accepted Risk Analysis, Apr. 2017.

[7] Yun Liu, Research Scientist and Po-Hsuan Cameron Chen, Research Engineer, Google
Health, “Lessons Learned from Developiong ML for Healthcare”(December 10, 2019).

                                           26
Puoi anche leggere