Universal biodevice driver

20
Università degli Studi di Camerino Corso di Laurea in Informatica (L-31) Tesi di Laurea Universal Biodevice Driver Laureando: Alessandro Di Carlo Matricola 085516 Relatore: Pro.ssa Diletta Romana Cacciagrano A.A. 2013/2014

Transcript of Universal biodevice driver

Page 1: Universal biodevice driver

Università degli Studi di Camerino

Corso di Laurea in Informatica (L-31)

Tesi di Laurea

Universal Biodevice Driver

Laureando:Alessandro Di Carlo

Matricola 085516

Relatore:Pro.ssa Diletta Romana Cacciagrano

A.A. 2013/2014

Page 2: Universal biodevice driver

Cosa verrà illustrato

Obiettivo

Strumenti utilizzati

Problemi riscontrati

Risoluzione dei problemi

Page 3: Universal biodevice driver

Obiettivo

Progettazione e realizzazione di un device in grado di generare comandi attraverso

onde elettromiografiche provenienti dall’avambraccio del corpo umano.

Page 4: Universal biodevice driver

Strumenti utilizzati

• Shield Olimex

• Arduino uno Rev 3

• Software visualizzazione onde

• Script adibito all’analisi delle onde rilevate

Page 5: Universal biodevice driver

ElettromiografiaL’elettromiografia è una tecnica per valutare e registrare l’attività elettrica prodotta dai muscoli scheletrici. L’EMG misura gli impulsi elettrici dei muscoli durante l’espansione e la contrazione. Fondamentale nella rilevazione delle onde è la scelta degli elettrodi.

Nel nostro studio si è optato per elettrodi di superficie in quanto è una tipologia di registrazione meno invasiva e alla portata di tutti.

Page 6: Universal biodevice driver

Primi problemi

La frequenza del segnale EMG è compresa fra 0 e 500 Hz con ampiezza compresa tra 0 e 10 millivolts.

Tuttavia l’energia di un segnale EMG utilizzabile è compresa fra 50 e 250 Hz.Inoltre i segnali EMG sono complicati da rilevare e sono affetti dalle proprietà anatomiche e fisiologiche dei muscoli di ogni singolo individuo.

Come risolverli?Progettando e realizzando un amplificatore così composto:

1. Preamplificatore

2. Filtro

3. Amplificatore

4. Circuito BIAS

Page 7: Universal biodevice driver

Prima…

Page 8: Universal biodevice driver

…Dopo

Page 9: Universal biodevice driver

Raccolta dei dati

Il primo passo per la raccolta dei dati elettromiografici è l’identificazione appropriata di quest’ultimi in un set di movimenti.

Per far ciò, sono stati analizzati e utilizzati diversi algoritmi quali:

• FMA (Finite Moving Average)

• ANN (Artificial Neural Network) quali Back-Propagation e Fuzzy Mean

• Modello nascosto di Markov

• Reti di Bayes

• HTM (Hierarchical Temporal Memory)

Page 10: Universal biodevice driver

Hierarchical Temporal

MemoryLa tecnica dell’HTM è molto simile a quella delle reti neurali. È una tecnica di apprendimento basata sui pattern che è stata sviluppata dalla società Numenta.

Page 11: Universal biodevice driver

Struttura di una rete HTM

Una rete HTM ha una gerarchia ad albero. La rete consiste in nodi dove ognuno di essi nella gerarchia scopre da solo un set di cause in input attraverso un processo di ricerca di pattern comuni che portano alla scoperta di pattern temporali comuni. L’immagine sotto mostra la struttura della rete utilizzata per le nostre onde elettromiografiche:

Page 12: Universal biodevice driver

Training

Gli strati sono numerati a partire dal livello più basso come mostrato nella figura precedente e riproposta sotto.

Quando il primo livello è stato “istruito”, esso cambia modalità spostandosi in “deduzione”. Questo avviene per ogni livello fino ad arrivare all’ultimo nodo.

Page 13: Universal biodevice driver

Inference

Dopo che un HTM ha imparato gli schemi presenti nella sua struttura, può dedicarsi alla deduzione di nuovi input. Quando un HTM riceve un input, lo accoppierà agli schemi temporali e spaziali precedentemente appresi.

Page 14: Universal biodevice driver

Struttura di un nodo

Un nodo è l’unità di elaborazione di una rete HTM. Consiste in due moduli che rendono possibile l’attività di training e di inference:

• Spatial Pooler

• Temporal Pooler

Page 15: Universal biodevice driver

Riassunto

Per riassumere le due fasi di Temporal Pooler e di Spatial Pooler mostriamo un immagine:

Qui viene mostrata la struttura di un nodo: l’input del nodo corrisponde all’input dello Spatial Pooler; l’output dello Spatial Pooler rappresenta l’input del Temporal Pooler; l’output del Temporal Pooler è l’output del nodo stesso.

Page 16: Universal biodevice driver

Operazione dei nodi nella

gerarchiaGuardando più in dettaglio come effettivamenteoperano i nodi nella gerarchia in una rete HTM,notiamo che tutti i nodi sono istruiti di livello in livello.

I benefici di una struttura gerarchica sono evidenti: viene ridotto il tempo di apprendimento e la memoria usata, perché i pattern appresi nel livello più basso vengono poi riutilizzati quando vengono combinati con i pattern dei livelli più alti.

Page 17: Universal biodevice driver

Nodi al livello 1 in modalità apprendimento

Dopo aver ottenuto tutti gli input al primo livello, tutti i nodi del livello 1 della gerarchia vengono formati ed istruiti. Durante questo periodo tutti i nodi del

livello 2 sono disabilitati e poiché i nodi del livello 1 sono in modalità apprendimento non inviano output ai nodi del livello 2.

Page 18: Universal biodevice driver

Nodi al livello 2 in modalità apprendimento

e

nodi al livello 1 in modalità deduzione.Una volta che i nodi al livello 1 hanno finito la fase di apprendimento, i nodi al secondolivello sono abilitati e modificano il loro stato in modalità apprendimento. I nodi al livello 1sono switchati dalla modalità apprendimento alla modalità di deduzione.

Page 19: Universal biodevice driver

Diagramma di apprendimento finale

Dopo il loro apprendimento i nodi al livello 2 saranno messi in modalità dideduzione e tutto il processo di apprendimento verrà ripetutocontinuamente finché non sarà raggiunto il nodo classificatore. I nodi allivello 1 e 2 completano il loro processo di apprendimento ed entrambivengono messi in modalità deduzione.

Page 20: Universal biodevice driver

Grazie per l’attenzione