Taula de continguts:

Biofeedback Cinema: 7 passos
Biofeedback Cinema: 7 passos

Vídeo: Biofeedback Cinema: 7 passos

Vídeo: Biofeedback Cinema: 7 passos
Vídeo: Men of Honor (3/3) Movie CLIP - 12 Steps (2000) HD 2024, Desembre
Anonim
Image
Image
Cinema Biofeedback
Cinema Biofeedback

Autor del projecte

Jessica Ann

Col·laboradors

  • Gregory Hough
  • Salud Lopez
  • Pedro Peira

Sobre

Un sistema experimental de captura de vídeo que connecta el cervell d’un participant amb les funcions de la càmera mitjançant un auricular Neurosky Mindwave EEG Reader. El sistema Biofeedback Cinema opera en lloc d'un cineasta tradicional, en lloc de cedir la composició a la pròpia participant mitjançant una interfície personalitzada BRAIN to CAMERA. El projecte es va desenvolupar en col·laboració amb els assistents al taller Gregory Hough, Salud Lopez i Pedro Peira. Podeu llegir els resultats del taller a:

Configuració del prototip

El sistema Biofeedback Cinema es presta a moltes aplicacions potencials. Per a aquesta instrucció, hem preparat una demostració del sistema que analitza el nivell d’enfocament / atenció del participant (un únic enter) i el tradueix a la posició de la càmera (mitjançant panoràmica i inclinació) i enfocament de la càmera (internament mitjançant OpenCV). Tot això és possible gràcies a una connexió bluetooth entre un auricular Neurosky EEG Reader i un Raspberry Pi.

El Raspberry Pi és un petit equip equipat amb una càmera web i scripts (disponibles a continuació) que connecten l’activitat cerebral del participant amb la configuració de la càmera i la posició de la càmera. La posició de la càmera dinàmica és possible mitjançant un microcontrolador Arduino que rep senyals del Raspberry Pi. Esperem un major desenvolupament, ja que pretenem incloure paràmetres d’ones cerebrals addicionals (freqüències associades a parpelleigs oculars, etc.) i funcions de la càmera (és a dir, tonalitat, saturació, brillantor, etc.).

A continuació es mostren les instruccions per construir el vostre propi sistema Biofeedback Cinema.

Feliç experimentació

Pas 1: subministraments

Subministraments
Subministraments

Tot el que necessiteu per crear el vostre propi prototip Biofeedback Cinema es mostra a continuació.

  1. Auriculars EEG Mòbils Neurosky Mindwave
  2. Raspberry Pi B + (b + és millor, més ports USB, però un model B també està bé si teniu un concentrador USB).

    1. Adaptador d’alimentació o bateria Raspberry Pi
    2. Connexió Ethernet Dongle Wifi o Ethernet (només necessària durant la configuració)
    3. Bluetooth Dongle veure wiki per a dongles compatibles
    4. Targeta SD (com a mínim 8 GB) amb NOOBS.
  3. Arduino Qualsevol tauler està bé, fent servir Uno en aquest instructiu. Tingueu en compte també que només podeu utilitzar la E / S al Pi.

    1. Adaptador d’alimentació o bateria Arduino
    2. Cable USB A-B
  4. Càmera web USB
  5. Mini kit d'inclinació panoràmica
  6. Monitor amb entrada HDMI o utilitzeu VNC per controlar remotament el vostre pi des del vostre ordinador [tutorial aquí]

    Cable HDMI

  7. El teclat i el ratolí USB recomanen el teclat i el ratolí Bluetooth per minimitzar els ports USB utilitzats.

Pas 2: configureu Raspberry Pi

Configuració de Raspberry Pi
Configuració de Raspberry Pi

1. Configuració del maquinari

Connecteu el teclat, el ratolí, el dongle bluetooth, el dongle wifi (o ethernet), la càmera web, el monitor mitjançant un cable HDMI i l’alimentació al vostre Raspberry Pi

2. Configureu el sistema operatiu

  • Activeu l’encesa i el Pi hauria d’engegar-se. Instal·leu el sistema operatiu Rasbpian, instruccions aquí:
  • Si s’inicia i Raspian s’instal·la correctament, hauríeu de veure l’escriptori inicial [Imatge superior].

CONSELLS:

  • Si la relació d'aspecte de l'escriptori està desactivada, proveu de reiniciar el Raspberry Pi. Si encara està desactivat, busqueu aquí per actualitzar la relació d'aspecte manualment.
  • Si obriu un editor de text i els caràcters especials del teclat no estan mapats, busqueu aquí per actualitzar la configuració del teclat.
  • Proveu la vostra connexió a Internet (ho necessitareu per instal·lar biblioteques durant la configuració). Cerqueu ajuda per configurar el wifi.

Pas 3: connecteu els auriculars Neurosky

Connecteu els auriculars Neurosky
Connecteu els auriculars Neurosky
Connecteu els auriculars Neurosky
Connecteu els auriculars Neurosky

1. Configuració Bluetooth

Abans que el Pi es pugui connectar a Neurosky, hem de configurar el bluetooth:

A l’escriptori obriu “LXTerminal” (a partir d’ara es coneix com a Terminal). Executeu aquesta ordre per resoldre i actualitzar deficiències:

$ sudo apt-get update

Instal·leu Bluetooth amb aquesta ordre:

$ sudo apt-get install bluetooth

Instal·leu la pràctica utilitat Bluetooth de la barra d'eines de l'escriptori:

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

Reinicieu Pi des de la terminal:

$ sudo reiniciar

2. Proveu la connexió Bluetooth

  • Activeu els auriculars Neurosky
  • Des de l'escaneig de dispositius de Terminal Terminal:

hcitool scan

Els auriculars Mindwave haurien d’estar llistats, preneu nota de l’adreça MAC dels auriculars [imatge superior]

3. Instal·leu Neurosky Libraries

Ara estem preparats per instal·lar les biblioteques Neurosky Python i començar a recollir el flux de dades amb l'script de prova de la biblioteca:

Des del terminal instal·leu la utilitat github:

sudo apt-get install git-core

Repositori de clonació de github amb la biblioteca Neurosky Python:

clon sudo git

Hem d’actualitzar el fitxer MindwaveMobileRawReader.py amb l’adreça MAC del vostre auricular. FYI: els noms dels fitxers distingeixen entre majúscules i minúscules

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

  • Actualitzeu l'adreça MAC que apareix al fitxer. Ctrl-X per acabar, Y per desar, Retorn per sortir.
  • Emparelleu el Neurosky i el Pi i permeteu la funció de connexió automàtica, si se us sol·licita un PIN, utilitzeu "0000":

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

$ sudo bluez-test-device de confiança XX: XX: XX: XX: XX: XX sí

Instal·leu la biblioteca Bluetooth de Python:

sudo apt-get install python-bluez

Executeu l'script de prova de la biblioteca per assegurar-vos que Pi pot previsualitzar el flux de dades. Hauríeu de veure la transmissió de dades [imatge superior]:

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

Pas 4: Connecteu la càmera web USB amb CV obert

Connecteu càmera web USB amb CV obert
Connecteu càmera web USB amb CV obert

1. Instal·leu OpenCV

Des de la terminal:

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

Quan hàgiu acabat, continueu:

$ sudo apt-get -f install

Per a una bona mesura:

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

Proveu la instal·lació intentant importar la biblioteca:

$ python

> importar cv2

2. Proveu OpenCV a Python amb càmera web USB

  • A l'escriptori obriu "IDLE" (no obriu IDLE3).
  • Al menú Fitxer, seleccioneu Finestra nova. Copieu el nostre script Cv-Blur-Test a la nova finestra i deseu-lo. Script disponible aquí:
  • Al menú Executa, seleccioneu Executa el mòdul (o premeu F5). Pot trigar uns quants segons a començar, però hauríeu de veure com apareix un petit marc amb la vostra font de càmera web en viu i el vídeo hauria de quedar borrós. Enhorabona, s'ha instal·lat OpenCV i funciona correctament amb la vostra càmera web [Imatge superior].

Pas 5: connecteu Arduino

1. Descarregueu Arduino IDE

Des de la terminal:

sudo apt-get install arduino

2. Connecteu Arduino & Load Sketch

  • Connecteu l’arduino al Pi amb el cable USB A-B.
  • Al menú d’inici de l’escriptori, aneu a Electrònica i obriu Arduino IDE. Copieu el nostre esbós arduino-serial-pi a l'IDE [enllaç següent]. Es tracta d'un esbós molt bàsic que mourà els servomotors basant-se en l'entrada que arriba per la sèrie. Enviarem dades per sèrie basades en la sortida d’ones cerebrals, mitjançant un esbós de Python en l’últim pas quan ho posem tot junt.

Esbós Arduino-serial-pi en línia aquí:

A l'IDE Arduino, aneu al menú Eines, seleccioneu Port sèrie i seleccioneu el port Arduino que apareix a la llista, probablement alguna cosa com / dev / ttyACM0. Anoteu el port

3. Desactiveu la consola sèrie

Descarregueu i executeu un script per desactivar la consola sèrie perquè la connexió en sèrie usb funcioni correctament:

$ wget

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

$ tar -xvzf alamode-setup.tar.gz

$ cd alamode-setup

$ sudo./setup

$ sudo reiniciar

FYI:

Si feu servir B +, pot ser que hi hagi prou E / S per admetre els servos (mireu aquí per configurar i utilitzar el GPIO). Tanmateix, estic interessat en afegir components addicionals per a futures experiències entre cervell i electrònica. Per tant, configurar el prototip inicial amb un arduino garanteix moltes possibilitats electròniques.

Pas 6: ajuntar-ho tot

Image
Image

1. Script final de Python

Abans de poder afegir l'script final de python a la carpeta "python-mindwave-mobile", hem de canviar els permisos de la carpeta. Des de la terminal:

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

  • Obriu IDLE i executeu el nostre script final de Python, disponible en línia aquí: https://github.com/PrivateHQ/biofeedback-cinema/ Assegureu-vos que es troba a la carpeta python-mindwave-mobile. FYI: Haureu d'actualitzar el nostre script Python amb l'adreça del port Arduino real.
  • Quan executeu aquest script, haureu de passar tres coses: 1) El vostre nivell d’atenció apareixerà a Python Shell, 2) Apareixerà un petit marc que mostra el flux en directe de la càmera web amb el desenfocament canviant en funció del nivell d’atenció, 3) el motor (s) moveu-vos a mesura que el nivell d'atenció s'està passant a l'arduino a través del serial [Vídeo superior].

Pas 7: Millores i desenvolupament

El Raspberry Pi té una potència de processament limitada i lluita per executar funcions OpenCV sense problemes. És una cosa que continuaré desenvolupant i millorant. A més, planejo incloure paràmetres d’ones cerebrals addicionals (freqüències associades a parpelleigs oculars, etc.) i funcions de la càmera (és a dir, tonalitat, saturació, brillantor, etc.) en futures iteracions.

Recomanat: