BCI : Interface Cerveau Ordinateur : Différence entre versions
(→Contexte :) |
(→Contexte :) |
||
Ligne 10 : | Ligne 10 : | ||
Ce projet est réalisé en collaboration avec l'équipe du LAGIS. Le but premier est de faciliter la vie des personnes paralysées avec un système interprétant directement leurs signaux cérébraux pour communiquer ou agir avec leur environnement. Les patients susceptibles d'utiliser cette technologie sont ceux atteint de paralysie musculaire complète (LIS : Locked In Syndrom) ou de SLA (Sclérose latérale amyotrophique). Ces maladies n'affectant en aucun cas les fonctions cérébrales, cette technologie semble pouvoir devenir LA solution pour pallier au handicap. | Ce projet est réalisé en collaboration avec l'équipe du LAGIS. Le but premier est de faciliter la vie des personnes paralysées avec un système interprétant directement leurs signaux cérébraux pour communiquer ou agir avec leur environnement. Les patients susceptibles d'utiliser cette technologie sont ceux atteint de paralysie musculaire complète (LIS : Locked In Syndrom) ou de SLA (Sclérose latérale amyotrophique). Ces maladies n'affectant en aucun cas les fonctions cérébrales, cette technologie semble pouvoir devenir LA solution pour pallier au handicap. | ||
+ | |||
Voilà ce que fait la machine cerveau ordinateur (BMI : Brain Machine Interface) de façon détaillée : Les signaux électroencéphalographiques (EEG) sont récupérés, numérisés et traités pour pouvoir ensuite les transformer en commandes. Une partie de ces informations est aussi affichée de manière simple pour l'utilisateur pour lui permettre un apprentissage plus rapide grâce à ce retour visuel. | Voilà ce que fait la machine cerveau ordinateur (BMI : Brain Machine Interface) de façon détaillée : Les signaux électroencéphalographiques (EEG) sont récupérés, numérisés et traités pour pouvoir ensuite les transformer en commandes. Une partie de ces informations est aussi affichée de manière simple pour l'utilisateur pour lui permettre un apprentissage plus rapide grâce à ce retour visuel. | ||
+ | |||
Comment ? | Comment ? | ||
Version du 3 novembre 2013 à 19:18
Sommaire
Présentation
Objectif :
Développer une interface cerveau-ordinateur ergonomique et conviviale.
Contexte :
Ce projet est réalisé en collaboration avec l'équipe du LAGIS. Le but premier est de faciliter la vie des personnes paralysées avec un système interprétant directement leurs signaux cérébraux pour communiquer ou agir avec leur environnement. Les patients susceptibles d'utiliser cette technologie sont ceux atteint de paralysie musculaire complète (LIS : Locked In Syndrom) ou de SLA (Sclérose latérale amyotrophique). Ces maladies n'affectant en aucun cas les fonctions cérébrales, cette technologie semble pouvoir devenir LA solution pour pallier au handicap.
Voilà ce que fait la machine cerveau ordinateur (BMI : Brain Machine Interface) de façon détaillée : Les signaux électroencéphalographiques (EEG) sont récupérés, numérisés et traités pour pouvoir ensuite les transformer en commandes. Une partie de ces informations est aussi affichée de manière simple pour l'utilisateur pour lui permettre un apprentissage plus rapide grâce à ce retour visuel.
Comment ?
Des applications ont déjà été créées pour permettre à une personne complètement immobile de communiquer ou de se déplacer. Pour exemple le P300 Speller qui est basé sur la détection de potentiels endogènes évoqués, signaux correspondant à une activité cognitive, permet à un sujet entraîné d’écrire plusieurs caractères par minutes. Le principe est simple, le sujet regarde une matrice de caractère dont les colonnes et les lignes sont mises en surbrillance de manière aléatoire, il doit alors se concentrer sur le caractère qu'il veut écrire et compter son nombre d'illumination. A chaque fois que la lettre est compté des signaux peuvent être détectées 300ms plus tard. Après plusieurs scintillement on peut donc connaître la lettre choisi par le sujet.
La dernière technique est la plus complexe mais aussi celle avec le plus grand potentiel, elle consiste à analyser les signaux de volonté ou d'imagination de mouvement de différentes parties du corps. Dans notre cas, ce sont les mouvements des deux mains et des pieds qui seront exploités car plus présent et donc plus facile à récupérer. Ceux ci fournissent donc un total de 3 commandes complètement indépendantes de toute stimulation extérieure. On ne peut prévoir à l'avance quand le sujet décidera d'imaginer un mouvement d'une des parties de son corps. Cette option a été exploitée pour diriger un avatar virtuel dans un espace 3D virtuel en exploitant les signaux correspondant aux mouvements de la main droite pour tourner à droite, de la main gauche pour tourner à gauche et des pieds pour avancer.
Spécifications
Les contraintes à respecter sont les suivantes :
-Respect et/ou compatibilité avec les technologies utilisées : Compatibilité de l'interface graphique avec OpenVibe. Compatibilité entre l'application et les signaux EEG utilisés, dans notre cas, principalement les électrodes C3 C4 et CZ correspondant respectivement aux mouvements de la main droite de la main gauche et des pieds mais aussi les signaux du lobe occipitale correspondant à la vision pour l'utilisation de SSVEP (Steady-State Visual Evoked Potential)
-Grande configurabilité : Ne connaissant pas l'utilisateur qui viendra utiliser le système, il doit être le plus personnalisable possible. Le but est que chacun puisse s'identifier à notre application pour obtenir les meilleurs résultats possibles. Configurabilité des objectifs pour l'utilisateur ainsi que la manière d'afficher la complétion de ces objectifs et ses performances. ET configurabilité du mouvement du feedback pour le rendre plus cohérent avec celui de l'utilisateur.
-Facilité de configuration : l'utilisateur doit pouvoir changer les options facilement et rapidement.
-Modulation du programme : le code source doit être le plus générique possible, documenté, commenté et le plus facilement modifiable possible.
Journal
Entrée 1
Installation de OpenVibe (en deux fois pour le rendre fonctionnel) Suivi du tutoriel 1 proposé sur le site de l'INRIA : http://openvibe.inria.fr/designer-tutorial-1/
Entrée 2
Nous avons finalement réalisé l'ensemble des tutoriels disponibles sur le site de l'INRIA mais malheureusement, cela ne nous a pas amené jusqu'à l'utilisation du VRPN. Nous Projetons maintenant d'étudier les moteurs graphiques 3D existant pour en choisir un pour notre développement.
Entrée 3
Redéfinition du sujet et précision des spécifications techniques du projet et du moteur graphique.
Étude des différents moteur graphique 3D
Spécifications
Les contraintes de choix du moteur 3D sont les suivantes par ordre de priorités décroissantes :
-Compatibilité avec le VRPN de Openvibe
-Permettre le développement multiplateforme (Linux, Windows, MacOS)
-Simplicité de développement
-Ressources nécessaires pour le mettre en œuvre minimisées
-Rendu visuel de qualité
Choix d'un moteur
Moteur Jeux Vidéos Grand Publique
Les moteurs suivants sont utilisés par les développeurs de jeux vidéos actuels. Leurs rendus graphiques sont les meilleurs, donc nous n'avons analysé en premier lieu que leurs autres caractéristiques :
-Anvil (Assassin's Creed) : License propriétaire privée d'Ubisoft, impossible d'acheter le DK
-CryEngine (Crysis) : Gratuit pour une utilisation non commerciale
-Dunia Engine (Farcry) : Non distribué
-Frostbite (Battlefield) : Non distribué
-Havok (Halo) :
-Hero Engine (Star Wars : Old Republic)
-Quest3D (Audiosurf)
-Source (Portal) : Non distribué
-Unreal Engine (Borderlands)
La plupart de ces moteurs sont très performants, ce qui implique l'utilisation de machines suffisamment puissantes pour les mettre en œuvre. De plus, certains sont conçus exclusivement pour du développement de jeu pour console de salon. Même si leur complexité de programmation est tout aussi abordable que les autres, nous ne pouvons pas choisir ces derniers.
Etude Comparative des Moteurs Graphique
-Outerra : Ce moteur permet surtout la génération d'immenses espaces 3D jusqu'à des planètes entières. Le rendu global est effectivement très joli mais les détails de petits éléments sont assez simplistes. Ce moteur n'est donc pas du tout adapté à notre projet.
Choix final
Après cette étude nous avons retenus seulement Ogre3D et Blender car ils sont les seuls à satisfaire suffisamment nos critères. Il semblerait qu'une cohabitation entre les deux moteurs soit possible mais nous ne savons pas encore exactement dans quelle mesure. Nous avons donc décider d'utiliser ces deux moteurs graphiques pour la réalisation de notre projet.
Gestion de Projet et Sources
Planning
Présentation
27/02/2014
Bibliographie
OpenVibe
http://openvibe.inria.fr/tag/vrpn/
http://openvibe.inria.fr/documentation-index/#User+Documentation
Moteur 3D
https://fr.wikipedia.org/wiki/Moteur_3D
http://www.desura.com/search?q=engine+3d&sa.x=0&sa.y=0
http://www.blender.org/education-help/tutorials/game-engine/
http://www.outerra.com/forum/index.php?topic=637.0
http://jeux.developpez.com/tutoriels/?page=prog-3d#ogre-3d
http://mycryengine.com/index.php?conid=70
http://www.havok.com/try-havok
http://www.desura.com/engines/unreal-development-kit/downloads/udk
http://www.truevision3d.com/downloads.php
http://www.neoaxis.com/neoaxis/licensing
http://www.shivaengine.com/download.html
http://unity3d.com/unity/download
http://www.twinmotion.com/acheter.html
http://www.worldofleveldesign.com/categories/level_design_tutorials/recommended-game-engines.php