• Non ci sono risultati.

4.8 Algoritmi di analisi dei sintomi del Parkinson

4.8.3 Analisi delle fluttuazioni

L’analisi delle fluttuazioni viene effettuata per verificare il passaggio da uno stato ON, corrispondente ad una quasi totale assenza dei sintomi della MP, ad uno stato OFF, dove invece i sintomi ricompaiono in maniera più o meno marcata. Le transizioni ON-OFF vengono valutate studiando il peggioramento di parametri caratteristici della camminata. Come definito nel protocollo di acquisizione, i parametri valutati sono stati:

• Il numero di passi in ogni fase dinamica; • La lunghezza del passo [m];

• La velocità del passo [m/s]; • L’altezza del piede dal suolo [m]; • L’angolo di inclinazione del busto [◦]; • L’angolo di inclinazione della caviglia [◦].

I dati acquisiti dal test hanno bisogno di una prima fase di inizializzazione, necessaria sia per ruotare i segnali nel sistema di riferimento terrestre che per sincronizzarli ad uno stesso istante temporale, momento d’inizio dell’acquisi- zione vera e propria. Lo schema a blocchi dell’algoritmo è raffigurato in figura 4.20.

4.8 Algoritmi di analisi dei sintomi del Parkinson

Figura 4.20: Diagramma di flusso fase di inizializzazione

Gli steps svolti sono:

1. Acquisizione dei dati provenienti dai tre MARG sensor;

2. Sincronizzazione dei dati acquisiti mediante allineamento dei campioni con massima ampiezza, individuati nella fase di sincronizzazione; 3. Calcolo dei quaternioni che rappresentano la rotazione dal sistema di

riferimento del sensore al sistema di riferimento terrestre;

4. Rotazione dei segnali dal sistema di riferimento del sensore a quello terrestre;

5. Rotazione degli angoli di Eulero dal sistema di riferimento del sensore a quello terrestre;

6. Taglio del segnale per eliminare tutta la fase di inizializzazione;

7. Filtraggio del segnale con banda passante 0-5Hz per la rimozione del rumore.

Terminata la fase di inizializzazione, l’algoritmo per rilevare le fluttuazioni si può dividere in due parti: un primo algoritmo di classificazione, utile per discri- minare le singole fasi di attività dinamica, un secondo algoritmo di analisi della camminata, necessario per estrarre i parametri del passo nelle fasi dinamiche.

Algoritmo di Classificazione L’algoritmo di classificazione, mediante l’uso del

k-NN, è in grado di generare un modello capace di classificare le attività di nuovi dati, partendo da un set di dati di training in cui le attività sono note a priori. La prima fase dell’algoritmo è chiamata Addestramento, mentre la seconda fase è chiamata Predizione.

Gli step della fase di addestramento sono:

1. Acquisizione del set di dati di training. L’insieme sarà composto da acqui- sizione di molteplici pazienti, parkinsoniani e non, ai quali è stato chiesto di fare in maniera accurata e sequenziale delle attività note. Ogni attività è stata estratta dall’acquisizione e trattata separatamente.

2. Divisione delle singole attività in finestre di durata 3.2 secondi. La lun- ghezza della finestra è tale da contenere almeno un passo di soggetti parkinsoniani [123].

3. Calcolo in ogni finestra di features nel dominio del tempo e della frequen- za. Le features nel dominio del tempo sono:

• Media magnitudo dell’accelerazione X, Y e Z; • Media accelerazioni X, Y e Z;

• Differenza media accelerazione assi X-Z e assi X-Y; • σAx, σAy, σAz;

• Correlazione accelerazione assi X-Y, Y-Z e X-Z; • Media magnitudo giroscopio X, Y e Z;

• Massimo angolo di inclinazione rispetto all’asse verticale. Le features nel dominio della frequenza sono:

• Valore del picco massimo della densità spettrale di potenza dell’ac- celerazione verticale e frequenza corrispondente;

4.8 Algoritmi di analisi dei sintomi del Parkinson • Valore di asimmetria della densità spettrale di potenza sui tre assi; • Trasformata di Fourier del segnale accelerazione nei tre assi; • Trasformata di Fourier del segnale giroscopio nei tre assi; • Trasformata di Fourier del segnale acquisito dal magnetometro. Le features sono state scelte sia dall’analisi dei segnali che dalla lettera- tura [124] [125] [126].

4. Calcolo del vettore di risposta numerico. Individuate le features per ogni attività, si genera un vettore di risposta in cui ogni elemento, identificato da un numero, rappresenta una singola attività.

5. Creazione del modello di classificazione con in input sia le features calco- late che il vettore di risposta.

Gli steps della fase di predizione sono:

1. Acquisizione dei dati dai sensori posti sul paziente in esame. Il soggetto non appartiene a quelli utilizzati per la creazione del training set; 2. Divisione dei segnali in finestre di 3.2 secondi e calcolo delle features sopra

elencate;

3. Generazione del vettore di riposta, contenente l’attività individuata per ciascuna finestra, dall’algoritmo di predizione. L’algoritmo prende in in- put le features calcolate sui nuovi dati ed il modello calcolato nella fase di addestramento.

I passi dell’algoritmo di classificazione possono essere riassunti nel diagramma di flusso di figura 4.21.

La predizione viene eseguita impostando k=10. L’intero è utilizzato per defi- nire il numero di vicini da considerare, nell’intorno del valore da classificare, calcolando così la distanza euclidea. Tale distanza è calcolata tra i punti delle features dell’attività da determinare e i punti delle features delle attività note. L’appartenenza ad una attività piuttosto che ad un’altra, viene valutata in base alla molteplicità minima. Se si hanno punti che si riferiscono a diverse attività, si prende quello con distanza minima e molteplicità maggiore. Un esempio di rilevamento corretto di attività è mostrato in figura 4.22.

Figura 4.22: Esempio utilizzo algoritmo k-NN per la rilevazione delle attività

Algoritmo di analisi della camminata Una volta individuate le fasi dinamiche,

sequenze dove il soggetto svolge attività motorie, è necessario individuare i singoli passi e le caratteristiche relative. Il diagramma di flusso degli step svolti è mostrato in figura 4.23.

4.8 Algoritmi di analisi dei sintomi del Parkinson

Figura 4.23: Diagramma di flusso dell’algoritmo di analisi delle fluttuazioni I passi principali dell’algoritmo sono:

1. Elaborazione del segnale acquisito estraendo le sole fasi dinamiche. 2. Calcolo dell’RMS del giroscopio e relativo valore assoluto.

3. Calcolo di una soglia adattativa basata sul valore massimo dell’RMS del giroscopio e sulla media dei valori del giroscopio nelle fasi statiche. 4. Confronto tra RMS del giroscopio e soglia calcolata. Se il valore dell’RMS

non supera la soglia si è in una fase di appoggio, altrimenti in una di oscillazione. Il confronto viene fatto campione per campione e i risultati saranno posti in un vettore, “Vettore_Stance_Swing”, che conterrà 1 per

fasi di appoggio e 0 per fasi di oscillazione. La figura 4.24 mostra la fasi del passo.

Figura 4.24: Calcolo fase di Stance e di Swing

5. Divisione del vettore con 1 e 0 in finestre di durata 3.2 secondi.

6. Calcolo degli StanceStart e StanceEnd mediante differenza dell’elemento i+1 del V ettore_Stance_Swing con l’elemento i. Se la differenza è 1 si è in fase di appoggio, trovando così lo StanceStart, se è -1 si è in fase di oscillazione e si determina lo StanceEnd.

7. Correzioni della durata dei singoli passi eliminando false rilevazioni do- vute ad appoggi o oscillazioni troppo brevi.

8. Calcolo delle velocità dall’integrazione dei valori di accelerazione dei sen- sori posti sui piedi (“Matrice_Velocità”).

9. Eliminazione della velocità in curva.

10. Calcolo delle posizioni dei sensori dall’integrazione dei valori di velocità calcolati nei passi precedenti.

11. Calcolo degli spostamenti (“Matrice_Spostamenti”) come differenza tra la posizione i+1 e i ottenute dai passi precedenti. La differenza viene fatta tra gli elementi di ogni finestra da 3.2 secondi.

12. Calcolo del numero di passi come numero di elementi ad 1 della matrice StanceEnd. Il calcolo viene fatto per ogni finestra da 3.2 secondi. Ogni elemento di StanceEnd ad 1 rappresenta una fase di toe off, ovvero distac- co delle dita da terra. Per ottenere il numero di passi in ogni sequenza di camminata, si sommano tutti gli elementi ad 1, di tutte le finestre da 3.2 secondi contenute nella sequenza di camminata scelta. L’output totale si ha sommando tutti i passi di tutte le sequenze.

13. Calcolo della lunghezza del passo come differenza tra l’elemento i+1 e l’elemento i dei valori della Matrice_Spostamenti. Le lunghezze del pas- so calcolate all’interno della finestra da 3.2 secondi considerata, vengono tra loro mediate per calcolare la lunghezza del passo media nella finestra

4.8 Algoritmi di analisi dei sintomi del Parkinson considerata. La media delle lunghezze del passo di tutte le finestre, al- l’interno di una sequenza dinamica considerata, determina la lunghezza media del passo in quella sequenza.

14. Si determina la velocità media di camminata dalla differenza tra l’elemento i+1 e l’elemento i dei valori della Matrice_Velocità per finestre da 3.2 secondi. Si calcola la velocità media in ogni finestra da 3.2 secondi e poi in una sequenza di camminata

15. Si determina lo spostamento nella direzione verticale z del sensore posto sul piede (distanza del piede dal suolo) da una doppia integrazione dei dati di accelerazione lungo z. Si determina la media degli sposta- menti in ogni finestra da 3.2 secondi (differenza elemento i+1 ed elemen- to i) ottenendo la media degli spostamenti lungo z in una sequenza di camminata.

16. Calcolo delle medie dell’angolo roll nelle singole finestre di camminata. A sua volta la media dei valori di tutte le finestre (appartenenti ad una certa sequenza) viene utilizzata per trovare il valore medio dell’angolo roll nella sequenza di camminata considerata. L’angolo roll considerato è relativo al sensore posto sul petto grazie al quale è possibile calcolare l’inclinazione del busto.

17. Dal valore dell’angolo di pitch delle finestre di camminata si calcola il valore medio dell’angolo in ogni finestra da 3.2 secondi. Si mediano i valori di tutte le finestre (per una certa sequenza) trovando il valore medio dell’angolo pitch nella sequenza di camminata considerata. L’angolo pitch considerato è relativo ai sensori posti sul collo del piede in grado di fornire indicazioni sull’angolo di inclinazione del piede.

18. Realizzazione della GUI per la visualizzazione dei parametri calcolati. L’interfaccia realizzata è mostrata nella figura 4.25.

Figura 4.25: Interfaccia grafica fluttuazioni Mediante GUI è possibile fare le seguenti operazioni:

• Visualizzare l’andamento medio dei parametri su tutta l’acquisizione; • Visualizzare il numero di sequenze di camminata;

• visualizzare l’andamento medio dei parametri su una singola sequenza; • Visualizzare l’andamento dell’RMS dell’accelerazione nella sequenza di

camminata selezionata; • Salvare il report in PDF.