P47 Développement d'une interface cerveau-ordinateur

De Wiki d'activités IMA
Révision datée du 10 janvier 2017 à 16:11 par Vcharnet (discussion | contributions) (Architecture matérielle)


Logo OpenBCI

Glossaire

EEG 
Électroencéphalographie : Méthode d'exploration cérébrale qui mesure l'activité électrique du cerveau par des électrodes placées sur le cuir chevelu.
EMG 
Électromyogramme : Examen qui permet d'enregistrer l'activité spontanée d'un muscle ou d'un nerf.
ECG 
Électrocardiographie : Représentation graphique de l'activité électrique du cœur.
Interface synchrone 
Une BCI est dite synchrone quand elle ne permet à l'utilisateur d'interagir avec le système qu'à des instants précis, basés sur des stimulus.
Interface asynchrone 
Une interface est asynchrone à partir du moment où l'utilisateur peut changer volontairement certaines caractéristiques de son signal EEG et que l'acquisition de ses données EEG est continue.

Présentation générale du projet

Contexte

Les interfaces cerveau/ordinateur (BCI : Brain Computer Interface) ont pour but de permettre à des personnes handicapées moteur de communiquer avec leur entourage ou de piloter des interfaces.

Objectifs

L'objectif de ce projet est de mettre en oeuvre un nouveau système d'acquisition de signaux EEG (OpenBCI). Dans un premier temps il est attendu de mettre en place une procédure d'installation et d'utilisation du matériel. Ensuite, l'intérêt sera de comparer les résultats fournis par ce nouveau système à ceux déjà possédés au laboratoire CRIStAL. En parallèle, il faudra veiller à compatibilité du nouveau matériel avec l'existant.


Cahier des charges

Modélisation du cahier des charges

Architecture matérielle

Architecture fonctionelle et matérielle

Sur le premier graphique, on retrouve l’analyse fonctionnelle du système. Chaque bloc représente une fonction principale réalisée par le système. Il s’agit dans un premier temps de mesurer les signaux physiologiques, et dans notre cas les signaux cérébraux de l’utilisateur. Il faut ensuite réaliser une opération de traitement de signal, où les données mesurées seront sélectionnées et traitées en fonction du scénario voulu par l’Interface Cerveau-Ordinateur


Le second graphique correspond à l’architecture matérielle d’une BCI. Chaque bloc correspond donc au système nécessaire pour réaliser la fonction correspondante au bloc supérieur. Ainsi, la mesure des signaux cérébraux est assurée par un système, casque EEG, le traitement du signal et la classification sont réalisées par une partie logicielle (OpenVibe, OpenBCI, Matlab), puis le système à commander, qui peut être physique (fauteuil roulant, drone, etc..) ou logiciel.

Acquisition

Il existe différents moyens de réaliser de l’acquisition de signaux cérébraux. La méthode la plus classique est la méthode dite « non-invasive ». Cela consiste à installer un système EEG muni d’électrodes sur la surface du crâne. Ce dispositif est très simple à mettre en œuvre et est le plus généralement utilisé. Néanmoins, les signaux sont très bruités car les potentiels mesurés sont extrêmement faibles (ordre du micro volt).


L’acquisition des ondes cérébrales peut également être réalisée par une méthode semi-invasive. Une grille d’électrodes est installée à la surface de boite crânienne. Le procédé permet d’obtenir des signaux beaucoup moins bruités, mais nécessite une lourde intervention chirurgicale, il est donc peu utilisé.


La méthode pour obtenir les signaux de la meilleure qualité est la méthode invasive. Lors d’une très lourde opération, des électrodes vont être placées directement dans le cerveau. Les signaux sont alors très peu bruités et très fiables. Néanmoins, la durée de vie des électrodes dans le milieu cérébral est très courte et leur installation provoque de graves séquelles irréversibles au cerveau.

Traitement du signal

L’étape de traitement du signal est essentielle dans le bon fonctionnement d’une BCI. Elle permet d’extraire ce que l’on appeler des caractéristiques. L’objectif est dans un premier temps d’éliminer ce que l’on appelle les artefacts (perturbations du signal EEG), qui peuvent être de type électrique, comme la présence du « 50Hz » issu de l’alimentation électrique du secteur, ou de type physiologique comme les clignements des yeux ou bien le pouls. C’est une étape de prétraitement qui utilise généralement des filtres. Les plus courants sont :


  • Filtrage spatial : On utilise les informations des électrodes voisines. Un filtre spatial commun est le Laplacien. On va soustraite à une électrode la valeur moyenne des électrodes voisines. Si on se place dans la configuration de l’illustration ci-dessous, l’expression de la valeur de l’électrode centrale Cz après un filtrage Laplacien est la suivante :


Cz_{Laplacien}=Cz-\frac{Fz+Pz+C4+C3}{4}


P47 2017 Laplacien.png


  • Filtrage fréquentiel : Le filtrage fréquentiel permet de sélectionner les bandes de fréquence utiles en fonction du scénario voulu par la BCI. En effet on peut classer les activités électriques cérébrales rythmiques en fonction de leur fréquence. Par exemple les ondes α sont généralement comprises entre 9 et 13Hz, elles correspondent à un état physiologique de repos et se manifestent généralement à la fermeture des yeux. L’analyse fréquentielle permet ainsi de remarquer la présence ou non de ces ondes. Le graphique ci-dessous représente mes propres ondes alpha mesurées lors d'une acquisition sur OpenBCI

Plan d'action

  • Documentation sur les BCI & gestion de projet
    • Documentation et état de l'art des BCI
    • Utilisation d'outils de gestion de projet
  • Mise en oeuvre du kit OpenBCI
    • Etude du kit OpenBCI
    • Prise en main des logiciels OpenBCI et OpenVibe
    • Mise en place d'une procédure de câblage
    • Assurer la compatibilité du kit avec OpenVibe
  • Analyse comparative des deux systèmes
    • Sélection des critères de comparaison
    • Mise en place d'un protocole de mesure
    • Elaboration de scénarios OpenVibe
    • Etude comparative des systèmes
  • Integration d'OpenBCI dans une interface
    • Portage du kit OpenBCI sur "le labyrinthe"
    • Développement d'une BCI de démonstration
    • Mise en place d'une campagne de tests

Planning prévisionnel

P 47 2017 Planning image.PNG

Avancement du travail

Avancement des tâches
Tâches Avancement Commentaires
Documentation sur les BCI & gestion du projet Terminé Livrables rendus
Mise en oeuvre du kit OpenBCI En cours Etude et prise en main des logiciels en cours
Analyse comparative des deux systèmes En attente
Intégration d'OpenBCI dans une interface En attente

Dernière mise à jour le 10/01/2017

Semaine 1 : Du 19/09 au 23/09

Réunion du 20/09/2016 :

  • Rencontre avec l'équipe BCI
  • Visite du laboratoire
  • Définition des objectifs
  • Contraintes matérielles

Semaine 2 : Du 26/09 au 30/09

Réunion du 26/09/2016 :

  • Redéfinition des enjeux & objectifs du projet
  • Retour sur le premier CR de réunion
  • Méthodologie pour la définition des tâches du projet
  • Méthodologie pour quantification des objectifs
  • Méthodologie pour l'analyse des risques

Semaine 3 : Du 03/10 au 08/10

  • Installation matériel (Ordinateur)
  • Objectifs du projet
  • Définition du plan d'action
  • Réception du kit R&D OpenBCI et premiers tests

Semaine 4 : Du 10/10 au 14/10

  • Objectifs du projet
  • Définition du plan d'action
  • Réception matériel (Casque laboratoire & Gel)
  • Finalisation de la convention de prêt de matériel

Semaine 5 : Du 17/10 au 21/10

  • Entretien du matériel laboratoire
  • Connexion du module de communication OpenBCI

Semaine 6 : Du 24/10 au 28/10

Réunion du 25/10/2016 :

  • Validation du plan d'action
  • Validation des indicateurs de résultat
  • Validation des objectifs projet
  • Prise de décision concernant le casque OpenBCI

Semaine 7 : Du 31/10 au 04/11

  • Découverte et sensibilisation au logiciel OpenVibe

Semaine 8 : Du 07/11 au 11/11

  • Analyse des risques projets
  • Préparation du macroplanning

Semaine 9 : Du 14/11 au 18/11

  • Premiers tests du système d'acquisition

Réunion du 16/11/2016 :

  • Présentation Macroplanning
  • Présentation analyse des risques
  • Présentation V1 diaporama BCI
  • Démonstration des mesures des premiers essais

Semaine 10 : Du 21/11 au 25/11

  • Connexion du kit OpenBCI sur OpenVibe
  • Modification du macroplanning
  • Mise en place de fiche de compte-rendu de manipulation
  • Travail de recherche sur les BCI

Semaine 11 : Du 28/11 au 02/12

  • Préparation entretien avec Alban Duprès le 06/12
  • Documentation OpenVibe

Réunion du 29/11/2016

  • Présentation des connaissances BCI
  • Présentation de l'avancement de la connexion de l'OpenBCI sur OpenVibe
  • Présentation du macroplanning revu
  • Présentation des fiches compte-rendu

Semaine 12 : Du 05/12 au 09/12

  • Préparation diaporama soutenance & rapport décembre
  • Documentation kit OpenBCI

Réunion avec Alban Duprès le 06/12

  • Récupération des fichiers
    • Applications (Labyrinthe, karting etc…) développées sous UNITY
    • Scénarios OpenVibe
    • Exemples de classifieurs LDA (OpenVibe)
    • Fichiers Python (lien Classifieur/VRPN)
  • Explications
    • Fonctionnement entre OpenVibe et Unity
    • Principe d’une interface cerveau ordinateur (d’un point de vue logiciel)
    • Scénario OpenVibe
  • Impossible d’emprunter une électrode « oreille » car celles du laboratoire ont deux connecteurs
  • Discussion à propos de l’application à un système réel

Semaine 13 : Du 12/12 au 16/12

  • Rapport de intermédiaire
  • Préparation soutenance
  • Rapport intermédiaire rendu le 13/12
  • Soutenance le 14/12

Semaine 14 : Du 03/01 au 06/01

  • Connexion du kit OpenBCI à OpenVibe
  • Premières mesures avec OpenVibe
  • Enregistrement des données
  • Etude des premiers scénarios OpenVibe
  • Lecture des données sur MATLAB

Réunion du 06/01/2016

  • Point sur le rapport de projet de décembre
  • Point sur la soutenance de décembre
  • Présentation de l'avancée du projet
  • Point sur les livrables et objectifs à venir

Semaine 15 : Du 09/01 au 13/01