Fin 2010, j’ai reçu une subvention de conception de la Communauté française de Belgique pour mon projet Anathèse, une performance/installation interactive utilisant un casque neuronal Emotiv EPOC. Cela faisait 5 ans que je suivais le projet de cet hardware, j’avais fait quelques tests rapides à plusieurs reprises, mais je n’avais encore jamais eu l’occasion de le tester réellement.

Après avoir reçu le casque, j’ai pris contact avec Axel Cleeremans du Consciousness, Cognition & Computation Group de l’Université Libre de Bruxelles et ai débuté une série de tests avec le Numediart Insti­tute for New Media Art Tech­nol­ogy de l’Université de Mons.

Outre ces premiers tests sur l’hard/software, nous avons travaillé à l’élaboration d’algorithmes qui me permettraient d’utiliser certains “états émotionnels” pour piloter mon installation.

Depuis que j’ai commencé ce projet, j’ai été contacté par une dizaine de personnes (artistes, chercheurs, informaticiens, associations d’aide aux personnes physiquement diminuées…) qui cherchaient des renseignements sur l’Emotiv Epoc, il m’a donc semblé utile de partager mon expérience afin qu’elle puisse servir au plus grand nombre. Il m’a semblé aussi intéressant de venir enrichir le peu de documentation francophone sur le sujet.

Je remercie pour leurs aide/soutien : la cellule Arts Numériques de la Communauté française de Belgique ; Thierry Dutoit, Vincent Castermans, Matthieu Duvinage et Julien.Leroy (Numediart) ; Axel Cleeremans (ULB) ; Transcultures ; iMal ; Paolo Dos Santos (So Close) ; Guillaume Roth (audivisuel.be) ; Vincent Paesmans…

La boîte emotiv de base se compose de :

– un casque
– une clef dongle
– un jeu de 16 têtes de capteurs avec leur tampons placé dans un étui “humidificateur”
– deux petits bidons de NaCl
– documentation

Installation des logiciels Emotiv (Windows only). Charge du casque via usb. Installation des capteurs sur le casque. Humidification des tampons des capteurs avec une solution NaCl (type “lentilles de contact”). Connexion du casque via un récepteur clé usb (dongle). Pose du casque… quelques ajustements font passer tous les capteurs repris sur l’écran, du rouge au vert. Cela fonctionne. On ne sait pas encore très bien ce qui fonctionne, mais des données arrivent bien au logiciel.

A première vue, le casque en lui même est bien pensé et les finitions semblent soignées. Il est léger, pas trop désagréable à porter, discret, l’installation est très très simple.

Les tampons des capteurs sont faciles à placer et à visser sur les capteurs. Leur humidification est facilitée par l’étui qui les empêchera également de sécher. Si vous n’utilisez pas le casque pendant plus de 2 jours, il est préférable de rincer les tampons à l’eau claire et de les faire sécher. Le liquide fourni peut être remplacer par n’importe quelle solution de type saline/chlorure de sodium.

La transmission sans fil n’utilise pas un protocole bluetooth/wifi “classic”.

Après 2 semaines d’utilisation, mes premières remarques :

– Le port du casque est assez désagréable passé la demi-heure d’utilisation.
– Il faut réhumidifier les capteurs au bout de 45 minutes pour une utilisation optimale.
– Autonomie de la batterie (utilisation constante) : 1h30 max.
– La solution humidifiante a tendance à solidifier les tapons des capteurs et à ronger finalement ces derniers.
– La connexion sans fil se coupe parfois sans raison apparente.
– Si le placement du casque est très simple (c’est à dire que le logiciel fait très vite passer les différents capteurs au vert, j’ai remarqué que les zones de réception sont assez grandes et qu’il peut y avoir à l’intérieur de ces fourchettes assez larges, une zone “idéale” à trouver. Il vous faudra ensuite toujours essayer de retrouver ce même positionnement, ce qui n’est finalement pas très évident, mais indispensable si l’on veut une plus grande précision.
– Il est évident que même si l’on ne doit pas raser les endroits de contacts, une tête chauve vous donnera une plus grande facilité d’utilisation et de bien meilleurs résultats.

Documentation officielle :

Emotiv Beta EPOC Hardware Setup
Manuel Emotiv Software Development Kit

 

Emotiv Systems est une société d’électronique australienne développant des interfaces cerveau-ordinateur low-cost basés sur l’électroencéphalographie (EEG). La société a été fondée en 2003 par quatre personnes : un neuroscientifique, le professeur Allan Snyder ; le chip-designer Neil Weste et 2 entrepreneurs en télécommunications : Tan Le et Nam Do.

Si d’autres compagnies sont également sur le marché (voir l’overview), l’Epoc s’est très vite positionné comme un “incontournable” et ceci grâce à plusieurs points :

– des produits de qualité
– un casque multicapteurs d’une utilisation très simple
– un prix très concurrentiel
– une série de technologies et de logiciels propriétaires visant clairement le tout public, mais une grande ouverture à la communauté “open-source/hackers”
– … et surtout une communication marketing qui n’a pas peur de toujours flirter avec la tromperie sur la marchandise.

Ainsi, la société se présente comme “ayant créé la première technologie interface cerveau-ordinateur capable de détecter et de traiter à la fois les humaine pensées conscientes et non conscientes émotions“. Elle s’adresse d’abord aux gamers, leurs promettant de pouvoir piloter leurs jeux favoris avec leurs seules pensées. Elle communique aussi beaucoup sur l’aide aux personnes physiquement diminuées (tétraplégie). Le principe est toujours le même, la société mêle habilement réalité et fiction dans des vidéos ou des conférences qui font l’effet de révolutions technologiques majeures (lire les sentiments, jouer à un jeux, conduire un fauteuil roulant ou une voiture au moyen de l’Epoc…). Il faut ajouter, qu’à contrario, une fois qu’on lui pose des questions précises sur ses produit (via le forum), la société n’hésite pas à user d’une franchise déconcertante sur les possibilités réelles de ses produits.

Il me semblait important, afin de pleinement profiter de l’Epoc, de commencer par mettre certaines choses à plat. Ce qui suit sera développé dans de prochains articles.

Concernant les “émotions” : L’Emotiv Epoc et ses différentes suites logicielles sont incapables de détecter/lire/traiter vos “émotions” (à noter que notre cerveau a déjà beaucoup de difficultés à les décrire lui-même). L’Epoc peut néanmoins détecter un sourire et le relier à la joie, ou un visage contracté et l’associer à la colère etc… ainsi qu’un taux de concentration ou d’excitation élevé (surtout via l’onde alpha). Il est également possible de se servir de sa suite logicielle pour lui indiquer certains états, enrichir sa base de connaissances… (bien que cela pose toutes une série de problèmes que j’aborderai).

Concernant le “gaming” : L’idée de jouer grâce à ses pensées est séduisante, mais il faut bien garder à l’esprit que la grande majorité des jeux reposent sur le développement d’automatismes, de réflexes. Comme dans la vie, lorsque l’on marche, on pense bien souvent à tout sauf à marcher. La même chose lorsque vous conduisez une voiture.

Concernant la lecture des ondes cérébrales : le plus gros problème de l’électroencéphalographie (peu importe le hardware utilisé) est le “bruit” (artefacts) généré par l’activité musculaire et qui vient parasiter la lecture des ondes cérébrales. C’est pourquoi la plupart des tests EEG s’effectuent sur des sujets au repos (activité musculaire minimale, yeux clos, visage détendu…). L’Epoc étant destiné à être utilisé sur des sujets développant un taux d’activité musculaire important, cette dernière parasitera fort les données transmises (un des gros chantier d’Emotiv est donc de développer des filtres efficients). Pour en savoir plus, vous pouvez consulter “Fundamentals of eeg measurement” de M. Teplan et “Noise characteristics of surface electrodes” de E. Huigen.

Concernant l’innovation : Des casques EGG et des algorytmes d’analyse existaient bien avant l’Epoc. Il y a par ailleurs aujourd’hui assez de documentation disponible sur Internet pour se construire soi-même du matériel de très bonne qualité associé à d’excellents logiciels et librairies open source. Mais là où Emotiv “innove” surtout, est dans la création d’hard/software de qualité, plug and play, à un prix défiant toute concurrence et la création algorithmes et de filtres spécialement dédiés à une utilisation. Ils insufflent également une dynamique de recherche en facilitent l’accès au plus grand nombre, rassemblent et développent toute une série de recherches éparses.

Pour finir ce préambule, deux captations :

La première a été réalisée lors du symposium Tangible Feelings a iMAL (sep. 2011). C’est Thierry Castermans, avec qui j’ai travaillé (Numediart/Université de Mons) qui assure la conférence “Detecting biosignals with the Emotiv EPOC headset : a review” (je reviendrai plus en détail sur ses conclusions dans un prochain article).

La deuxième est composée de trois vidéos présentée par Jason Hanley de Syllogistic Software : “Introduction to BCI, and the Emotiv EPOC” et “Raw, unscripted Emotiv EPOC demo – Part 1 et 2”.

Thierry Castermans

Jason Hanley

Voici une série d’informations découlant de mes différentes rencontres et/ou expérimentations.

Specificité de l’Emotiv Epoc couplé à la suite SDK research (doc officielle) :

Concernant la communication, l’Epoc utilise donc un wireless propriétaire. Il s’agirait en fait d’une puce de type nordicsemi à ultra basse consommation. Il peut y avoir quelques problèmes de communication entre le casque et le récepteur dû à des interférences. voici ce qu’on peut lire sur le forum :

 Le problème est lié au matériel à proximité de votre récepteur, qui est aussi émetteur d’interférences. L’EPOC utilise un émetteur de faible puissance pour préserver la batterie, mais bien sûr, cela signifie que le récepteur peut être submergé par des sources de signaux à proximité. Cela peut-être une carte WiFi/Bluetooth/vidéo, disque dur ou alimentation. Parfois, un téléphone sans fil, du WiFi ou tout autre concentrateur. Le problème peut être résolu en utilisant soit une simple extension USB ou un hub (style iogear par ex.) et bien entendu un  à l’écart des autres équipements. Il est également possible d’utiliser un hub usb du stky

Fonctionnement du casque

The referencing system defines the electrical ground point for the measurement of all the other sensors – we effectively measure the voltage difference between the left-hand reference point and every other sensor. The right-hand reference is a standard feed-forward reference compensation electrode which allows the headset electronics to ride on top of changes in body potential – for example electrical pickup from lights, power circuits, transformers and so on, which change drastically as you move around the room.

The left-hand reference is called CMS and the right-hand reference is called DRL (driven right leg smile:)) after the original use in high-resolution ECG systems where it was traditionally attached to the right leg of the patient. Two-point referencing is very common in expensive medical grade EEG and ECG systems. We use it on the EPOC becuase it seriously cuts out the noise (by about 55dB at mains frequencies for the tech-heads out there). We don’t actually measure those points individually and send the data to the PC. CMS would be pretty boring – the difference between CMS and itself is a pretty dull looking signal.

We also added a little extra (patented) trick to the conventional DRL circuit – we use it to help measure the contact quality at every other sensor by adding a smal additional modulation to the feedforward signal, and reading the magnitude of that signal back from each other channel. This is converted into the nice green/yellow/orange/red/black contact quality map. If nobody is receiving, the references are shown as black. If any other channel is receiving, they show as green.

We have applied some filtering in the hardware and firmware to remove mains frequency interference. The signals are collected through a C-R high-pass hardawre filter (0.16Hz cutoff), preamplified and low-pass filtered at 83Hz cutoff. Data is also processed in the headset as follows: raw ADC collection rate is 2048 /sec / channel. This data is filtered using a 5th-order sinc filter to notch out 50Hz and 60Hz, low-pass filtered and down-sampled to 128/sec/channel to eliminate mains harmonics. No further processsing is done – the effective bandwidth is 0.16-43Hz

Algorythme

Some facial expressions (blinks, winks, eye movements) depend on pattern matching in real time, for example blinks are characterised by coherent rising pulse shapes on several frontal sensors which correspond to a specific wave shape and risetime, followed by a fall. These signals are balanced against rear channels which must not show the same trace shapes. The blink is flagged after the signals have passed through a specific profile matching algorithm, approximately 100ms after commencement of the blink. The sensitivity slider adjusts a threshold for the fitting algorithm and may also scale the signals to better match the profile.

Other facial expressions depend on the distribution and relative strength of several frequency bands across many channels. These signals are processed to yield specific features by analysing a trailing sample of data (allowing frequency extraction) and are passed to a classifier every 0.25 seconds.

Affectiv detections also depend on the distribution and relative intensity of specific frequency bands, as well as some custom features based on fractal signal analysis. These are passed to a classifier system to detect specific deflections, low-pass filtered and the outputs are self-scaled to adjust to each user’s range of emotion.

Cognitiv detections are trained in-situ. Neutral data and the actions in question are trained (possibly repeatedly) and the training data is segmented into short data epochs. We extract a large number of features including spectral and other measurements and apply a feature reduction method to provide a parsimonious model which is used to clasify states in real time using the reduced feature set. The features and sensors chosen for Cognitiv are unique to each user signature. We also apply some corrections to the background state to allow for different fittings, moods, contact quality and detected noise patterns.

demontage et autopsie (merci à Guillaume Roth)

Tout se démonte très facilement. Un bon tournevis cruciforme d’électronicien fera l’affaire, ainsi qu’une lame histoire de ne pas abîmer la couche plastique au démontage. Pas trop de colle, sauf pour la clef dongle, j’y reviendrai un peu plus tard…

Côté batterie : type

 

Récepteur wifi et microcontrolleur

La grosse puce : Le microcontrolleur est un DSPIC33FJ64GP206-IPT, et vue que c’est un PIC, il est (re)programmable, c’est bon signe. ( Manuel disponible ici : DSPIC33FJ64GP206-IPT ). On voit d’ailleur clairmement un bus JTAG sur le coté ( CONN7 ) , en tout cas ca y ressemble, à vérifier …

Les 7 fils de couleur viennent du capteur gyroscopique, et vont directement dans le microcontrolleur.

Le Multiplexeur ADG706 ( Manuel disponible ici : ADG-706 ) multiplexant donc les 16 signaux vers 1 seul pour ensuite aller vers le microcontrolleur.

 

Amplification, conversion et multiplexage des signaux venant des capteurs sensoriels

la petite puce carré en bas à droite : Le transmetteur WIFI est un nRF24L01, SMD de bonne qualité, pouvant largement faire du 2Mbps. (voir le manuel).

les deux puces symetriquement placées : Les amplificateurs opérationnels TLC2264 (voir le manuel). Une analyse plus approfondie est nécessaire pour comprendre son positionnement dans le schéma ..

 

La carte de control ALIM ??? : Encore à définir. Par déduction, vu le vernis fondu en surface, la puce ressemble à un régulateur de charge pour batterie LiOn. à voir…

 

Le dongle : comme dit précédement, à voir du côté de la puce type nordicsemi à ultra basse consommation.

Plus de liens