Social Robotics : Human-Robot Interaction Using EEG Signals and

publicité
PROJET DE FIN D'ÉTUDE
Social Robotics : Human-Robot Interaction
Using EEG Signals and Head Motion
Structure d'accueil
PFE présenté par
Spécialité / Promotion
Tuteur du PFE dans la structure d'accueil
Tuteur pédagogique du PFE
Date de n de condentialité du PFE
Cardi University
Siméon Capy
Mécatronique 2015
Pr Rossi Setchi
Cécilia Zanni-Merk
Non-condentiel
Condensé
Ce stage s'inscrit dans le cadre de l'aide aux personnes âgées menée par l'Université de Cardi.
Il vise à réaliser des interactions sociales au moyen d'un robot (un Turtlebot) et d'un casque
électroencéphalographique (Emotiv Epoch).
Dans le cadre d'un système de visioconférence amélioré, imaginé durant le stage, l'algorithme
développé s'est concentré sur la détection des clignements des yeux de l'utilisateur dans le but
d'être retransmis sur un écran. L'algorithme s'occupe également de détecter les mouvements de la
tête de l'utilisateur grâce à l'accéléromètre du casque Emotiv.
L'algorithme a été développé avec un double logiciel client/serveur de communication réseau,
an de permettre à l'ordinateur de l'utilisateur d'envoyer les ordres au robot pour le commander
d'après les mouvements de tête de l'utilisateur, sans y être connecté physiquement. Le logiciel sur
le robot s'occupe également d'acher l'image des yeux établie par l'algorithme (avec une précision
de 68 %).
Ainsi, les personnes qui ont des dicultés à se mouvoir pourraient communiquer presque normalement avec leur entourage. En outre, cela pourrait être utile pour la communication entre
personnes très éloignées.
1
1.1
Introduction
Présentation du pro jet
Ce stage a pour but de réaliser des interactions sociales avec un robot et un capteur électroencéphalographique (EEG). Il s'inscrit dans le cadre des recherches liées à l'aide aux personnes âgées
du département Mechanics, Material and Advanced Manufacturing (MMAM) de l'université de
Cardi [1]. La façon de réaliser les interactions sociales avec le capteur EEG, un casque Emotiv
Epoch [2], et le robot, un Turtlebot [3], a été laissée libre. Ainsi, un système d'immersion à l'intérieur du robot a été imaginé, mais également un algorithme de détection des clignements de l'÷il
de l'utilisateur sur le graphe EEG.
1
1.2
Cahier des charges
Quelques projets de contrôle de robots par un électroencéphalogramme ont vu le jour ces
dernières années, beaucoup de ces projets se contentaient de faire bouger le robot par la pensée en
imaginant une action préalablement enregistrée ou alors en regardant un point précis d'un écran.
D'autres projets d'immersion avec un robot, sans interface neuronale directe (BCI en anglais, pour
brain-computer interface), utilisent une manette de jeu-vidéo pour bouger le robot. L'immersion
est réalisée grâce à un visiocasque. Le but, de ce stage, est la réunion de ces deux mondes.
Il a donc été choisi d'imaginer tout un écosystème ; dans lequel s'inscrit ce stage, qui n'est
qu'une brique de cet ensemble. Le but est d'aider les personnes à mobilité réduite ou âgées qui
ont du mal à se déplacer. L'objectif est d'immerger l'utilisateur dans le robot, comme si c'était
son corps. Pour cela, le casque EEG est utilisé pour contrôler le robot au moyen de la pensée :
l'utilisateur imagine qu'il marche et le robot avance en conséquence. Le gyroscope du casque EEG,
qui fonctionne plutôt comme un accéléromètre, est utilisé pour tourner le robot sur lui-même et
ainsi suivre le regard de l'utilisateur. Ce qui lui donne le sentiment de voir comme s'il était dans
le robot car l'utilisateur porte un visiocasque qui ache devant ses yeux les images de la caméra
3D située sur le robot. Cependant le visage n'est plus visible à cause du visiocasque, alors que les
expressions faciales et notamment des yeux sont très importantes dans les interactions sociales.
Pour palier ce problème, l'électroencéphalogramme est utilisé pour récupérer les mouvements des
yeux et notamment leurs clignements. Ils sont ensuite achés sur l'écran de l'ordinateur du robot.
Enn, pour compléter le sentiment d'immersion, un système de microphones binauraux est placé
sur le robot pour retranscrire une ambiance sonore spatiale à l'utilisateur, qui, lui, porte un casque
ou des écouteurs. La Figure 1 résume le système qui est appelé système de visioconférence amélioré
(SVCA). En eet, il fonctionne à la manière d'un logiciel de visioconférence, mais il ore beaucoup
plus de libertés à l'utilisateur qui peut se mouvoir dans l'espace. En ce sens, il peut également
servir des personnes valides.
Il est à noter que ce stage s'est concentré sur la détection des clignements et sur le contrôle du
robot par l'accéléromètre.
Figure
1.3
1 Schéma de principe du SVCA
Méthodologie
Pour détecter le clignement des yeux plusieurs problématiques sont apparues. Avant tout, il faut
savoir où et comment ces signaux peuvent être détectés. Les signaux EEG étant nombreux (ici, 14
signaux) et très bruités, il convient de bien choisir les électrodes et de rééchir sur la méthode à
employer. Primo, le cerveau envoie des signaux sur une large bande de fréquence, quatre grandes
bandes ont ainsi été dénies au l du temps [4]. Il s'avère que les signaux émis par les yeux, dont le
clignement, sont présents dans les deux plus petites bandes, soit jusqu'à 7 Hz. Secundo, les signaux
oculaires ne sont pas captés par toutes les électrodes car ce sont les signaux musculaires qui sont
enregistrés, ainsi, seules les électrodes les plus proches des yeux peuvent détecter ces signaux.
Tertio, les signaux oculaires sont noyés dans les signaux cérébraux et dans ceux des muscles du
visage. On a à faire à une problématique de séparation aveugle des sources (ou BSS en anglais
pour blind source separation ), en eet, il s'agit d'extraire les signaux des yeux des autres. Ultimo,
la seconde problématique est la détection du clignement parmi les signaux oculaires. On a à faire
2
à une problématique de reconnaissance de formes (pattern recognition en anglais).
Ce sont les quatre grands axes de la méthodologie de détection des clignements de l'utilisateur.
La seconde partie vise à connaître le mouvement de la tête de l'utilisateur pour commander le
robot. Pour cela il faut détecter un dépassement d'amplitude dans le signal.
1.4
Le matériel
Le matériel utilisé est, pour le robot, un Turtlebot. C'est un robot plan qui reprend la base
de robot kobuki (qui ressemble beaucoup à celle des robots-aspirateurs domestiques) avec une
structure au dessus. Celle-ci est faite pour accueillir un capteur Kinect de Microsoft (non utilisé
pour ce stage) et l'ordinateur de contrôle. Le système d'exploitation du robot est ROS [5], un
système d'exploitation libre spécialement conçu pour la robotique.
Le casque, quant à lui, est un casque EEG de 14 électrodes plus deux de références. Le placement des électrodes se fait selon le système 10-20 (avec quelques modications dans le choix des
électrodes). Le casque possède également deux accéléromètres, l'un pour les mouvements de droite
à gauche et l'autre pour ceux de haut en bas ; à noter que l'accéléromètre est appelé gyro dans la
documentation.
Le casque est connecté à l'ordinateur de l'utilisateur et les commandes créées par l'algorithme
doivent être envoyé au robot. Il a donc fallu créer un programme de communication entre les deux
ordinateurs.
2
La communication
Le casque EEG étant branché sur l'ordinateur de l'utilisateur, il a fallu trouver une solution
pour transmettre les commandes au robot. Les données du casque sont d'abord captées par le
logiciel OpenVIBE [6] développé par l'Institut national de recherche en informatique et automatique
(INRIA). C'est un logiciel spécialement fait pour traiter les données électroencéphalographique. Il
eectue, ici, des traitements basiques, comme du ltrage ou de la sélection de canaux.
Vient ensuite la partie commune du stage, les logiciels de communication et de commande du
robot. Les données sont envoyées par OpenVIBE au logiciel de communication client développé
grâce à la bibliothèque Qt [7]. Celui-ci s'occupe de traiter les données au moyen de l'algorithme
réalisé, voir section 3. Une fois traitées, les données sont envoyées par le réseau (ad-hoc dans le
cas de ce stage) avec le protocole TCP à l'application serveur, également développée durant ce
stage. Elle se charge de transmettre les ordres reçus du client vers le programme de commande du
robot, aussi programmé ici. Le serveur a également la charge d'acher sur l'écran de l'ordinateur
la représentation des yeux de l'utilisateur.
Figure
3
3.1
2 Schéma de principe de la communication
Algorithmes développés
Mouvement de la tête
Pour l'extraction des données de l'accéléromètre, comme celles-ci ne sont pas bruitées, aucun
pré-traitement n'est eectué. Il a été choisi d'utiliser une technique simple pour détecter le clignement des yeux : une bascule de Schmitt (ou Schmitt trigger en anglais), c'est une bascule à deux
seuils, ou à hystérésis. En eet, la forme du signal est toujours la même lorsque l'utilisateur bouge
3
sa tête, c'est une sinusoïde amortie. L'amplitude de la première oscillation indique la vitesse de
rotation à donner au robot, le signe indique le sens du mouvement. La bascule permet, en choisissant bien les coecients, de ne détecter que la première oscillation et de ne pas redéclencher la
commande du robot pour les suivantes.
3.2
Clignement
Pour détecter les clignements un algorithme a été imaginé. Il est décrit en détail sur la Figure 3,
chaque bloc répond aux problématiques soulevées à la section 1.3. Le premier bloc, le préltre est
un ltre passe bas de fréquence de coupure de 7 Hz. Le second, pour séparer les sources utilise
l'algorithme d'analyse en composantes indépendantes (ou ICA pour Independent component
analysis en anglais) [8]. C'est un algorithme dont le but est de trouver la matrice de séparation
qui permet, à partir des mesures, de retrouver les sources. Pour cela, l'algorithme dégaussianise le
signal, ce qui implique que les sources soient non-gaussiennes. Il faut ensuite ltrer le signal car les
électrodes envoient un signal très bruité. Pour cela deux ltres ont été codés, un ltre de
et un ltre exponentiel. Ces deux ltres sont testés et comparés. La dernière étape consiste à
détecter le clignement, là encore, deux méthodes ont été implémentées. Les deux se basent sur un
signal source d'un clignement, la première est la corrélation et la seconde la transformée en
cosinus discrète (ou DCT pour discrete cosine transform en anglais). Ces deux méthodes sont
également comparés.
Gauss
Figure
4
3 L'algorithme développé de détection du clignement des yeux
Résultats
Pour tester les résultats de l'algorithme, le protocole expérimental suivant a été suivi. Des
enregistrements cérébraux d'une minute ont été eectués lors desquels l'utilisateur devait cligner
des yeux dix fois toutes les cinq secondes. L'enregistrement ne dure qu'une minute car il est très
fatiguant pour l'utilisateur de cligner volontairement des yeux tout en restreignant ses clignements
naturels. Plusieurs chiers ont ainsi été enregistrés.
Le but est de compter les clignements détectés par l'algorithme an d'établir le meilleur paramétrage. Il a été choisi de xer les valeurs des ltres pour éviter d'avoir trop de paramètres à gérer.
Ainsi les valeurs du ltre de Gauss sont σ = 20 et x = 59 et pour le ltre exponentiel, α = 0,01.
Ensuite, pour chaque ltre, les paramètres suivants ont été testés :
Seuil de la correlation : 0,601 ; 0,614 ; 0,624 ; 0,65 ; 0,702 ; 0,75
DCT (3 coecients) : 200 ; 250 ; 260 ; 280 ; 300
DCT (5 coecients) : 200 ; 250 ; 260 ; 280 ; 300
Ce qui fait 32 expériences par chier.
Il est à noter que les résultats seront moins bons qu'en utilisation réelle, car ici, l'algorithme
ICA n'attend pas que la matrice W ait convergé car cela peut prendre du temps et les chiers ne
durent qu'une minute. La matrice n'est pas forcément la meilleure, mais elle est restée identique
pour tous les tests sur un même chier.
Dans un premier temps, les deux ltres sont comparés sur chaque algorithme pour les deux
yeux. Dans ce cas présent, le clignement est considéré comme détecté si au moins un des deux yeux
a cligné. L'algorithme DCT avec trois coecients a été écarté car il ne donnait aucun résultat avec
les deux ltres. La Figure 4 donne le résultat de la comparaison des ltres avec chaque algorithme.
Le ltre de Gauss semble être le ltre qui donne les meilleurs résultats par rapport au ltre
exponentiel. Il limite également le taux de faux positif. C'est donc lui qui a été choisi pour eectuer
la suite des tests. Ici chaque ÷il est considéré séparément et les algorithmes sont comparés. La
corrélation avec un seuil autour de 0,600 semble meilleure que la DCT.
4
(a) Comparaison avec la corrélation
(b) Comparaison avec la DCT
Figure 4 Comparaison entre les ltres de Gauss (courbes de couleur froide) et le ltre exponentiel (couleur chaude). Le taux de faux positif est également présent (vert et jaune).
Le meilleur algorithme est celui composé d'un ltre de Gauss et de la méthode de corrélation.
Les taux sont les plus élevé avec 68 % de détection pour 39 % de faux positif. C'est le taux de faux
positif le plus faible pour une valeur de détection si élevée.
Les taux de faux positifs restent toutefois assez élevés et doivent être réduits. Une combinaison
des deux méthodes, en parallèle ou en cascade, peut être envisagée pour augmenter le taux de
positifs et réduire les faux positifs.
5
Conclusion
La partie sur la détection des mouvements des yeux ainsi que celle sur le contrôle du robot
par l'accéléromètre, ont été accomplies durant le stage. Le projet répond à la problématique de
robotique sociale du sujet : Interaction Homme-robot en utilisant des signaux EEG et le
mouvement de la tête. En eet, capter les mouvements des yeux permet de retranscrire cette
interaction sociale et cela a été réalisé en utilisant un robot et un casque EEG.
L'algorithme a prouvé qu'il arrivait à détecter la majorité des clignements tout en ayant un
nombre de faux positif raisonnable. On peut quand même nuancer ce résultat, le taux de faux
positifs est faible, mais reste tout de même assez élevé pour reproduire dèlement les mimiques
de l'utilisateur. L'amélioration de la détection du clignement, en mettant, notamment, plusieurs
algorithmes ensembles, pourrait permettre de réduire ce taux.
En outre, la technique utilisée ne permet pas de détecter avec une assez grande précision
les mouvements des yeux pour retranscrire le regard (position de la pupille). Seuls les grands
mouvements tels que les clignements et les froncements sont exploitables. De plus, la qualité du
signal de l'Emotiv n'est pas très bonne et contrairement à un EEG classique (à bonnet) la position
des électrodes est moins précise. C'est donc un autre point qui pourrait être approfondi pour
perfectionner le système.
Enn, il serait intéressant, avec plus de temps et plus de moyens, de développer le reste du
système de visioconférence amélioré.
Références
[1] R. Qiu, Z. Ji, A. Noyvirt, A. Soroka, R. Setchi, D.T. Pham, S. Xu, N. Shivarov, L. Pigini,
G. Arbeiter, F. Weisshardt, B. Graf, M. Mast, L. Blasi, D. Facal, M. Rooker, R. Lopez, D. Li,
B. Liu, G. Kronreif, and P. Smrz. Towards robust personal assistant robots : Experience gained
in the srs project. In Intelligent Robots and Systems (IROS), 2012 IEEE/RSJ International
Conference on, pages 16511657, Oct 2012.
[2] Emotiv
epoc
brain
computer
interface
and
scientic
contextual
eeg.
http ://emotiv.com/product-specs/Emotiv2014. Accessed : 2015-04-14.
[3] Turtlebot. http ://www.turtlebot.com/. Accessed : 2015-04-29.
[4] Saeid Sanei. EEG Signal Processing. Wiley-Interscience, 1st edition, 2013.
[5] Robot operating system. http ://www.ros.org/. Accessed : 2015-04-29.
5
[6] Y Renard, F Lotte, G Gibert, M Congedo, E Maby, V Delannoy, O Bertrand, and A Lécuyer.
Openvibe : An open-source software platform to design, test, and use brain computer interfaces
in real and virtual environments. Presence, 19(1) :3553, Feb 2010.
[7] Qt library. http ://www.qt.io/developers/. Accessed : 2015-08-29.
[8] A. Hyvärinen and E. Oja. Independent component analysis : algorithms and applications.
Neural Networks, 13(45) :411 430, 2000.
6
Téléchargement