A Brain Computer Interface (BCI) is generally an interface system that provides for the acquisition of brain signals through a set of electrodes and an amplifier of electroencephalographic signals, a data-processing stage, the display of feedback on a monitor and the execution of an event you want. The Independent Component Analysis (ICA) allows to identify the original components of the brain signals starting precisely from the analysis of electroencephalographic signals collected on the surface of the scalp which are regarded as a linear combination of them, under the fundamental assumption that the wanted components are statistically independent. The output of the ICA algorithm provides the mixing matrix that transforms the vector of the recorded data in the vector of original sources. This work was intended to explore the possibility of applying the ICA algorithm in real time, estimating the computation time of the algorithm, and the ability to automatically eliminate the noise sources identified. The analysis of data in real time enables many applications for communication with the outside of all those people who are in a state of “disability”: medical applications for the total locked-in people, space applications for the astronauts that move with extreme difficulty in absence of gravity and finally there is a considerable commercial interest for the industrial production of BCI devices. In this work, in order to assess the possibility of a real-time analysis, software in C++ language has been created to analyze data using open-source libraries “IT++” for the FastICA algorithm. The software was used to assess the stability of the weights using as input the mixing matrix calculated for a previous interval and estimating the reduction in computation time. The data used for the simulation were recorded with a system of 59 electrodes placed directly on the scalp of the subject. It was verified the linearity of the algorithm for computation time in relation to the number of iterations performed. Assuming a processing time of 1 minute and using as initial matrix for the algorithm the mixing matrix calculated previously for a interval of data partially overlapped with the interval under consideration, with an offset of 70 samples, it was possible to estimate a reduction of computation time of about 60%. It was also possible to verify an effect of “dragging”, that is the stability in the order of estimated sources (the uncertainty of the order of sources represents the greatest limit of the ICA method), making possible automatic removal of the noise sources. Finally, analyzing 59 channels it was estimated that the processing power needed to implement FastICA algorithm in a hardware device is about 30 GFLOPS.

Un sistema di Brain Computer Interface (BCI) è in generale un’interfaccia che prevede l'acquisizione di segnali cerebrali mediante un sistema di elettrodi e un amplificatore di segnali elettroencefalografici, una fase di elaborazione informatica, la visualizzazione del feedback su un monitor e la realizzazione di un evento desiderato. L'Analisi delle Componenti Indipendenti (ICA), consente di identificare le componenti originali dei segnali cerebrali a partire dall’analisi di segnali elettroencefalografici raccolti sulla superficie del cuoio capelluto, che sono considerati come una combinazione lineare di essi, sotto il presupposto fondamentale che le componenti cercate siano statisticamente indipendenti. L'output dell’algoritmo ICA fornisce la matrice di mixing che trasforma il vettore dei dati registrati nel vettore delle sorgenti originali. Questo lavoro è stato finalizzato a valutare la possibilità di applicare l'algoritmo ICA in tempo reale, stimando I tempi di calcolo dell'algoritmo, e di eliminare automaticamente le sorgenti di rumore identificate. L'analisi dei dati in tempo reale consente molte applicazioni per la comunicazione con l’ambiente esterno di tutti coloro che si trovano in uno stato di "disabilità": in primo luogo applicazioni mediche per le persone locked-in, ma anche applicazioni spaziali per gli astronauti che si muovono con estrema difficoltà in assenza di gravità; infine, vi è un notevole interesse commerciale per la produzione industriale di dispositivi BCI. In questo lavoro, al fine di valutare la possibilità di un’analisi in tempo reale, è stato creato un software in linguaggio C++ per analizzare i dati utilizzando la libreria open-source "IT++" per l’algoritmo FastICA. Il software è stato utilizzato per valutare la stabilità dei pesi e la riduzione dei tempi di calcolo usando come input la matrice di mixing calcolata per un intervallo precedente. I dati utilizzati per la simulazione sono stati registrati con un sistema di 59 elettrodi posti direttamente sul cuoio capelluto del soggetto. Si è verificata la linearità del tempo di calcolo dell’ algoritmo in relazione al numero di iterazioni eseguite. Ipotizzando un intervallo di tempo di 1 minuto e l'utilizzo come matrice iniziale per l'algoritmo della matrice di mixing calcolata per un intervallo di dati parzialmente sovrapposto a quello in esame, con un offset di 70 campioni, è stato possibile stimare una riduzione dei tempi di calcolo di circa il 60%. È stato inoltre possibile verificare un effetto di "trascinamento", cioè la stabilità nell’ordine delle sorgenti stimate (l'incertezza nell’ordine delle sorgenti rappresenta il più grande limite del metodo ICA), in modo da rendere possibile la rimozione automatica delle sorgenti di rumore. Infine, nel caso di 59 canali, è stato stimato che la potenza di elaborazione necessaria per implementare l'algoritmo FastICA in un dispositivo hardware è di circa 30 GFLOPS.

Di Giacomo, S. (2009). Analisi dei tempi di calcolo dell’algoritmo FastICA per applicazioni di brain-computer interface in tempo reale.

Analisi dei tempi di calcolo dell’algoritmo FastICA per applicazioni di brain-computer interface in tempo reale

2009-08-06

Abstract

A Brain Computer Interface (BCI) is generally an interface system that provides for the acquisition of brain signals through a set of electrodes and an amplifier of electroencephalographic signals, a data-processing stage, the display of feedback on a monitor and the execution of an event you want. The Independent Component Analysis (ICA) allows to identify the original components of the brain signals starting precisely from the analysis of electroencephalographic signals collected on the surface of the scalp which are regarded as a linear combination of them, under the fundamental assumption that the wanted components are statistically independent. The output of the ICA algorithm provides the mixing matrix that transforms the vector of the recorded data in the vector of original sources. This work was intended to explore the possibility of applying the ICA algorithm in real time, estimating the computation time of the algorithm, and the ability to automatically eliminate the noise sources identified. The analysis of data in real time enables many applications for communication with the outside of all those people who are in a state of “disability”: medical applications for the total locked-in people, space applications for the astronauts that move with extreme difficulty in absence of gravity and finally there is a considerable commercial interest for the industrial production of BCI devices. In this work, in order to assess the possibility of a real-time analysis, software in C++ language has been created to analyze data using open-source libraries “IT++” for the FastICA algorithm. The software was used to assess the stability of the weights using as input the mixing matrix calculated for a previous interval and estimating the reduction in computation time. The data used for the simulation were recorded with a system of 59 electrodes placed directly on the scalp of the subject. It was verified the linearity of the algorithm for computation time in relation to the number of iterations performed. Assuming a processing time of 1 minute and using as initial matrix for the algorithm the mixing matrix calculated previously for a interval of data partially overlapped with the interval under consideration, with an offset of 70 samples, it was possible to estimate a reduction of computation time of about 60%. It was also possible to verify an effect of “dragging”, that is the stability in the order of estimated sources (the uncertainty of the order of sources represents the greatest limit of the ICA method), making possible automatic removal of the noise sources. Finally, analyzing 59 channels it was estimated that the processing power needed to implement FastICA algorithm in a hardware device is about 30 GFLOPS.
6-ago-2009
A.A. 2008/2009
Sistemi e tecnologie per lo spazio
21.
Un sistema di Brain Computer Interface (BCI) è in generale un’interfaccia che prevede l'acquisizione di segnali cerebrali mediante un sistema di elettrodi e un amplificatore di segnali elettroencefalografici, una fase di elaborazione informatica, la visualizzazione del feedback su un monitor e la realizzazione di un evento desiderato. L'Analisi delle Componenti Indipendenti (ICA), consente di identificare le componenti originali dei segnali cerebrali a partire dall’analisi di segnali elettroencefalografici raccolti sulla superficie del cuoio capelluto, che sono considerati come una combinazione lineare di essi, sotto il presupposto fondamentale che le componenti cercate siano statisticamente indipendenti. L'output dell’algoritmo ICA fornisce la matrice di mixing che trasforma il vettore dei dati registrati nel vettore delle sorgenti originali. Questo lavoro è stato finalizzato a valutare la possibilità di applicare l'algoritmo ICA in tempo reale, stimando I tempi di calcolo dell'algoritmo, e di eliminare automaticamente le sorgenti di rumore identificate. L'analisi dei dati in tempo reale consente molte applicazioni per la comunicazione con l’ambiente esterno di tutti coloro che si trovano in uno stato di "disabilità": in primo luogo applicazioni mediche per le persone locked-in, ma anche applicazioni spaziali per gli astronauti che si muovono con estrema difficoltà in assenza di gravità; infine, vi è un notevole interesse commerciale per la produzione industriale di dispositivi BCI. In questo lavoro, al fine di valutare la possibilità di un’analisi in tempo reale, è stato creato un software in linguaggio C++ per analizzare i dati utilizzando la libreria open-source "IT++" per l’algoritmo FastICA. Il software è stato utilizzato per valutare la stabilità dei pesi e la riduzione dei tempi di calcolo usando come input la matrice di mixing calcolata per un intervallo precedente. I dati utilizzati per la simulazione sono stati registrati con un sistema di 59 elettrodi posti direttamente sul cuoio capelluto del soggetto. Si è verificata la linearità del tempo di calcolo dell’ algoritmo in relazione al numero di iterazioni eseguite. Ipotizzando un intervallo di tempo di 1 minuto e l'utilizzo come matrice iniziale per l'algoritmo della matrice di mixing calcolata per un intervallo di dati parzialmente sovrapposto a quello in esame, con un offset di 70 campioni, è stato possibile stimare una riduzione dei tempi di calcolo di circa il 60%. È stato inoltre possibile verificare un effetto di "trascinamento", cioè la stabilità nell’ordine delle sorgenti stimate (l'incertezza nell’ordine delle sorgenti rappresenta il più grande limite del metodo ICA), in modo da rendere possibile la rimozione automatica delle sorgenti di rumore. Infine, nel caso di 59 canali, è stato stimato che la potenza di elaborazione necessaria per implementare l'algoritmo FastICA in un dispositivo hardware è di circa 30 GFLOPS.
BCI
computation time
FastICA
mixing matrix
order of sources
Settore ING-INF/01 - ELETTRONICA
it
Tesi di dottorato
Di Giacomo, S. (2009). Analisi dei tempi di calcolo dell’algoritmo FastICA per applicazioni di brain-computer interface in tempo reale.
File in questo prodotto:
File Dimensione Formato  
tesi_dottorato_stefania_digiacomo(2).pdf

accesso aperto

Dimensione 1.38 MB
Formato Adobe PDF
1.38 MB Adobe PDF Visualizza/Apri
tesi_dottorato_stefania_digiacomo(2).pdf

accesso aperto

Dimensione 1.38 MB
Formato Adobe PDF
1.38 MB Adobe PDF Visualizza/Apri

I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/2108/1131
Citazioni
  • ???jsp.display-item.citation.pmc??? ND
  • Scopus ND
  • ???jsp.display-item.citation.isi??? ND
social impact