Deep Learning per Image Analysis - Scuola Politecnica e delle Scienze di Base Corso di Laurea in Ingegneria Informatica Elaborato finale in ...
←
→
Trascrizione del contenuto della pagina
Se il tuo browser non visualizza correttamente la pagina, ti preghiamo di leggere il contenuto della pagina quaggiù
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
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
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 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
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 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
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 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