Table des matières:

Cinéma de biofeedback : 7 étapes
Cinéma de biofeedback : 7 étapes

Vidéo: Cinéma de biofeedback : 7 étapes

Vidéo: Cinéma de biofeedback : 7 étapes
Vidéo: Беслан. Помни / Beslan. Remember (english & español subs) 2024, Novembre
Anonim
Image
Image
Cinéma de biofeedback
Cinéma de biofeedback

Auteur du projet

Jessica Ann

Collaborateurs

  • Gregory Hough
  • Salud Lopez
  • Pedro Peira

Sur

Un système de capture vidéo expérimental qui connecte le cerveau d'un participant aux fonctions de la caméra via un casque de lecture EEG Neurosky Mindwave. Le système de Biofeedback Cinema fonctionne à la place d'un directeur de la photographie traditionnel, donnant à la place l'agence de la composition au participant lui-même via une interface personnalisée BRAIN to CAMERA. Le projet a été développé en collaboration avec les participants à l'atelier Gregory Hough, Salud Lopez et Pedro Peira. Vous pouvez lire les résultats de l'atelier sur:

Configuration du prototype

Le système Biofeedback Cinema se prête à de nombreuses applications potentielles. Pour cette instructable, nous avons préparé une démo du système qui examine le niveau de concentration/attention du participant (un seul entier) et le traduit en position de caméra (via panoramique et inclinaison) et mise au point de la caméra (en interne via OpenCV). Tout cela est rendu possible par une connexion Bluetooth entre un casque Neurosky EEG Reader et un Raspberry Pi.

Le Raspberry Pi est un petit ordinateur équipé d'une webcam et de scripts (disponibles ci-dessous) qui relient l'activité cérébrale du participant aux paramètres et à la position de la caméra. La position dynamique de la caméra est rendue possible via un microcontrôleur Arduino recevant les signaux du Raspberry Pi. Nous attendons avec impatience la poursuite du développement car nous visons à inclure des paramètres d'ondes cérébrales supplémentaires (fréquences associées aux clignements des yeux, etc.) et des fonctions de l'appareil photo (c'est-à-dire la teinte, la saturation, la luminosité, etc.).

Vous trouverez ci-dessous les instructions pour créer votre propre système de cinéma de biofeedback.

Bonne expérimentation

Étape 1: Fournitures

Fournitures
Fournitures

Tout ce dont vous avez besoin pour construire votre propre prototype de cinéma Biofeedback est listé ci-dessous.

  1. Casque EEG mobile Neurosky Mindwave
  2. Raspberry Pi B+ (b+ c'est mieux, plus de ports USB, mais un modèle B convient aussi si vous avez un hub USB).

    1. Adaptateur secteur ou batterie Raspberry Pi
    2. Dongle Wifi -ou- Connexion Ethernet (nécessaire uniquement lors de la configuration)
    3. Dongle Bluetooth voir le wiki pour les dongles compatibles
    4. Carte SD (au moins 8 Go) avec NOOBS.
  3. Arduino N'importe quel conseil est très bien, en utilisant Uno dans ce Instructable. Notez également que vous pouvez simplement utiliser les E/S sur le Pi.

    1. Adaptateur secteur Arduino ou batterie
    2. Câble USB A-B
  4. Caméra Web USB
  5. Kit Mini Pan-Tilt
  6. Moniteur avec entrée HDMI Ou utilisez VNC pour contrôler à distance votre pi depuis votre ordinateur [tutoriel ici]

    Câble HDMI

  7. Le clavier et la souris USB recommandent un clavier et une souris Bluetooth pour minimiser les ports USB utilisés.

Étape 2: Configurer Raspberry Pi

Configurer Raspberry Pi
Configurer Raspberry Pi

1. Configuration du matériel

Connectez le clavier, la souris, le dongle Bluetooth, le dongle wifi (ou Ethernet), la webcam, le moniteur via un câble HDMI et l'alimentation de votre Raspberry Pi

2. Configurer le système d'exploitation

  • Allumez l'alimentation et votre Pi devrait démarrer. Installez Rasbpian OS, instructions ici:
  • Si démarré et que Raspian est correctement installé, vous devriez voir le bureau d'accueil [Image ci-dessus].

CONSEILS:

  • Si le rapport hauteur/largeur du bureau est désactivé, essayez de redémarrer votre Raspberry Pi. S'il est toujours éteint, regardez ici pour mettre à jour le rapport hauteur/largeur manuellement.
  • Si vous ouvrez un éditeur de texte et que les caractères spéciaux de votre clavier sont mal mappés, regardez ici pour mettre à jour la configuration de votre clavier.
  • Testez votre connexion Internet (vous en aurez besoin pour installer les bibliothèques lors de l'installation). Regardez ici pour obtenir de l'aide pour configurer le wifi.

Étape 3: Connectez le casque Neurosky

Connecter le casque Neurosky
Connecter le casque Neurosky
Connecter le casque Neurosky
Connecter le casque Neurosky

1. Configuration Bluetooth

Avant que le Pi puisse se connecter au Neurosky, nous devons configurer le Bluetooth:

Sur le bureau, ouvrez "LXTerminal" (appelé Terminal à partir de maintenant). Exécutez cette commande pour résoudre et mettre à jour les défaillances:

$ sudo apt-get mise à jour

Installez Bluetooth avec cette commande:

$ sudo apt-get install bluetooth

Installez l'utilitaire Bluetooth de la barre d'outils de bureau pratique:

$ sudo apt-get install -y bluetooth bluez-utils blueman

Redémarrez Pi à partir du terminal:

$ sudo redémarrer

2. Testez la connexion Bluetooth

  • Allumez le casque Neurosky
  • À partir de l'analyse du terminal pour les appareils:

analyse hcitool

Le casque Mindwave doit être répertorié, notez l'adresse MAC du casque [image ci-dessus]

3. Installer les bibliothèques Neurosky

Nous sommes maintenant prêts à installer les bibliothèques Python Neurosky et à commencer à récupérer son flux de données avec le script de test de la bibliothèque:

Depuis le terminal, installez l'utilitaire github:

sudo apt-get installer git-core

Clonez le dépôt github avec la bibliothèque Python Neurosky:

sudo git clone

Nous devons mettre à jour le fichier MindwaveMobileRawReader.py avec l'adresse MAC de votre casque. Pour info: les noms de fichiers sont sensibles à la casse

sudo nano /home/pi/python-mindwave-mobile/MindwaveMobileRawReader.py

  • Mettez à jour l'adresse MAC répertoriée dans le fichier. Ctrl-X pour terminer, Y pour enregistrer, Entrée pour quitter.
  • Associez le Neurosky et le Pi et autorisez la fonction de connexion automatique, si vous êtes invité à saisir un code PIN, utilisez « 0000 »:

$ sudo bluez-simple-agent hci0 XX:XX:XX:XX:XX:XX

$ sudo bluez-test-device de confiance XX:XX:XX:XX:XX:XX oui

Installez la bibliothèque Python Bluetooth:

sudo apt-get installer python-bluez

Exécutez le script de test de la bibliothèque pour vous assurer que le Pi est capable de prévisualiser le flux de données. Vous devriez voir le flux de données [image ci-dessus]:

$ sudo python /home/pi/python-mindwave-mobile/read_mindwave_mobile.py

Étape 4: Connectez la webcam USB avec CV ouvert

Connectez la webcam USB avec CV ouvert
Connectez la webcam USB avec CV ouvert

1. Installez OpenCV

Depuis le Terminal:

$ sudo apt-get install libopencv-dev python-opencv

Lorsque vous avez terminé, continuez:

$ sudo apt-get -f install

Pour faire bonne mesure:

$ sudo apt-get install libopencv-dev python-opencv

Testez l'installation en essayant d'importer la bibliothèque:

$ python

> importer cv2

2. Testez OpenCV en Python avec une webcam USB

  • Sur le bureau, ouvrez "IDLE" (n'ouvrez pas IDLE3 !)
  • Dans le menu Fichier, sélectionnez Nouvelle fenêtre. Copiez notre script Cv-Blur-Test dans la nouvelle fenêtre et enregistrez. Script disponible ici:
  • Dans le menu Exécuter, sélectionnez Exécuter le module (ou appuyez sur F5). Cela peut prendre quelques secondes, mais vous devriez voir un petit cadre apparaître avec le flux de votre webcam en direct et la vidéo devrait être floue. Félicitations, OpenCV a été installé et fonctionne avec succès avec votre webcam [Image ci-dessus].

Étape 5: connectez Arduino

1. Téléchargez l'IDE Arduino

Depuis le Terminal:

sudo apt-get installer arduino

2. Connectez Arduino et chargez le croquis

  • Branchez l'arduino sur le Pi avec le câble USB A-B.
  • Dans le menu Démarrer du bureau, accédez à Électronique et ouvrez Arduino IDE. Copiez notre croquis arduino-serial-pi dans l'IDE [lien ci-dessous]. Il s'agit d'un croquis très basique qui déplacera les servomoteurs en fonction de l'entrée provenant de la série. Nous enverrons des données sur la série en fonction de la sortie des ondes cérébrales, en utilisant un croquis Python à la dernière étape lorsque nous assemblons le tout.

Croquis Arduino-serial-pi en ligne ici:

Dans l'IDE Arduino, accédez au menu Outils, sélectionnez Port série et sélectionnez le port Arduino répertorié, probablement quelque chose comme /dev/ttyACM0. Notez le port

3. Désactiver la console série

Téléchargez et exécutez un script pour désactiver la console série afin que la connexion série USB puisse fonctionner correctement:

$ wget

/alamode-setup.tar.gz?raw=true -O alamode-setup.tar.gz

$ tar -xvzf alamode-setup.tar.gz

$ cd configuration alamode

$ sudo./configuration

$ sudo redémarrer

POUR VOTRE INFORMATION:

Si vous utilisez le B+, il peut y avoir suffisamment d'E/S pour prendre en charge les servos (regardez ici pour configurer et utiliser le GPIO). Cependant, je suis intéressé par l'ajout de composants supplémentaires pour de futures expérimentations cerveau-électronique. Ainsi, la configuration du prototype initial avec un arduino garantit de nombreuses possibilités électroniques de rupture.

Étape 6: Tout assembler

Image
Image

1. Script Python final

Avant de pouvoir ajouter le script python final au dossier "python-mindwave-mobile", nous devons modifier les autorisations du dossier. Depuis le Terminal:

$ chmod a=rwx /home/pi/python-mindwave-mobile

  • Ouvrez IDLE et exécutez notre script Python final, disponible en ligne ici: https://github.com/PrivateHQ/biofeedback-cinema/ Assurez-vous qu'il se trouve dans le dossier python-mindwave-mobile. Pour info: vous devrez mettre à jour notre script Python avec votre adresse de port Arduino réelle.
  • Lorsque vous exécutez ce script, trois choses doivent se produire: 1) Votre niveau d'attention sera répertorié dans le shell Python, 2) Un petit cadre apparaît montrant le flux en direct de la webcam avec le flou changeant en fonction du niveau d'attention, 3) le moteur (s) se déplacent au fur et à mesure que le niveau d'attention est transmis à l'arduino via la série [Vidéo ci-dessus].

Étape 7: Améliorations et développement

Le Raspberry Pi a une puissance de traitement limitée et a du mal à exécuter correctement les fonctions OpenCV. C'est quelque chose que je vais continuer à développer et à améliorer. De plus, je prévois d'inclure des paramètres d'ondes cérébrales supplémentaires (fréquences associées aux clignements des yeux, etc.) et des fonctions de l'appareil photo (c'est-à-dire la teinte, la saturation, la luminosité, etc.) dans les futures itérations.

Conseillé: