Πίνακας περιεχομένων:

Biofeedback Cinema: 7 Βήματα
Biofeedback Cinema: 7 Βήματα

Βίντεο: Biofeedback Cinema: 7 Βήματα

Βίντεο: Biofeedback Cinema: 7 Βήματα
Βίντεο: What is Neurofeedback/EEG Biofeedback? 2024, Ιούλιος
Anonim
Image
Image
Κινηματογράφος βιοανάδρασης
Κινηματογράφος βιοανάδρασης

Συντάκτης Έργου

Jessica Ann

Συνεργάτες

  • Gregory Hough
  • Σαλούντ Λόπεζ
  • Πέδρο Πέιρα

Σχετικά με

Ένα πειραματικό σύστημα λήψης βίντεο που συνδέει τον εγκέφαλο ενός συμμετέχοντα με τις λειτουργίες της κάμερας μέσω ενός Neurosky Mindwave EEG Reader Headset. Το σύστημα Κινηματογράφου Biofeedback λειτουργεί αντί για έναν παραδοσιακό κινηματογραφιστή, αντί να δίνει την αντιπροσωπεία της σύνθεσης στην ίδια τη συμμετέχουσα μέσω μιας προσαρμοσμένης διεπαφής BRAIN to CAMERA. Το έργο αναπτύχθηκε σε συνεργασία με τους συμμετέχοντες στο εργαστήριο Gregory Hough, Salud Lopez και Pedro Peira. Μπορείτε να διαβάσετε τα αποτελέσματα του εργαστηρίου στη διεύθυνση:

Διαμόρφωση πρωτοτύπου

Το σύστημα Biofeedback Cinema προσφέρεται για πολλές πιθανές εφαρμογές. Για αυτό το διδακτικό έχουμε ετοιμάσει μια επίδειξη του συστήματος που εξετάζει το επίπεδο εστίασης/προσοχής του συμμετέχοντα (ένας ακέραιος αριθμός) και το μεταφράζει σε θέση κάμερας (μέσω στροφής και κλίσης) και εστίασης κάμερας (εσωτερικά μέσω OpenCV). Όλα αυτά καθίστανται δυνατά μέσω μιας σύνδεσης bluetooth μεταξύ ενός Neurosky EEG Reader Headset και ενός Raspberry Pi.

Το Raspberry Pi είναι ένας μικρός υπολογιστής εξοπλισμένος με κάμερα web και σενάρια (διαθέσιμα παρακάτω) που γεφυρώνουν την εγκεφαλική δραστηριότητα του συμμετέχοντα στις ρυθμίσεις της κάμερας και τη θέση της κάμερας. Η δυναμική θέση της κάμερας καθίσταται δυνατή μέσω ενός μικροελεγκτή Arduino που λαμβάνει σήματα από το Raspberry Pi. Ανυπομονούμε για περαιτέρω εξέλιξη καθώς στοχεύουμε να συμπεριλάβουμε πρόσθετες παραμέτρους εγκεφαλικών κυμάτων (συχνότητες που σχετίζονται με αναλαμπές ματιών κ.λπ.) και λειτουργίες κάμερας (δηλαδή απόχρωση, κορεσμός, φωτεινότητα κλπ).

Παρακάτω ακολουθούν οι οδηγίες για τη δημιουργία του δικού σας συστήματος Biofeedback Cinema.

Καλό πειραματισμό

Βήμα 1: Προμήθειες

Προμήθειες
Προμήθειες

Όλα όσα χρειάζεστε για να δημιουργήσετε το δικό σας πρωτότυπο Biofeedback Cinema παρατίθενται παρακάτω.

  1. Neurosky Mindwave Mobile EEG Headset
  2. Raspberry Pi B+ (το b+ είναι καλύτερο, περισσότερες θύρες USB, αλλά ένα μοντέλο Β είναι επίσης καλό αν έχετε διανομέα USB).

    1. Raspberry Pi Power Adapter ή Battery Pack
    2. Wifi Dongle -ή- Σύνδεση Ethernet (απαραίτητη μόνο κατά τη ρύθμιση)
    3. Bluetooth Dongle δείτε το wiki για συμβατά dongles
    4. Κάρτα SD (τουλάχιστον 8 GB) με NOOBS.
  3. Arduino Κάθε πίνακας είναι εντάξει, χρησιμοποιώντας το Uno σε αυτό το Instructable. Σημειώστε επίσης, ότι μπορείτε απλά να χρησιμοποιήσετε το I/O στο Pi.

    1. Arduino Power Adapter ή Battery Pack
    2. Καλώδιο USB A-B
  4. Κάμερα Web USB
  5. Μίνι κιτ Pan-Tilt
  6. Παρακολουθήστε με είσοδο HDMI Or χρησιμοποιήστε το VNC για να ελέγχετε απομακρυσμένα το pi από τον υπολογιστή σας [σεμινάριο εδώ]

    Καλώδιο HDMI

  7. Το USB Keyboard & Mouse συνιστά πληκτρολόγιο και ποντίκι bluetooth για να ελαχιστοποιήσετε τις θύρες USB που χρησιμοποιούνται.

Βήμα 2: Ρύθμιση Raspberry Pi

Ρύθμιση Raspberry Pi
Ρύθμιση Raspberry Pi

1. Ρύθμιση υλικού

Συνδέστε πληκτρολόγιο, ποντίκι, bluetooth dongle, wifi dongle (ή ethernet), κάμερα web, οθόνη μέσω καλωδίου HDMI και τροφοδοσία στο Raspberry Pi

2. Εγκατάσταση λειτουργικού συστήματος

  • Ενεργοποιήστε την τροφοδοσία και το Pi σας θα ξεκινήσει. Εγκαταστήστε το Rasbpian OS, οδηγίες εδώ:
  • Εάν εκκινήσετε και εγκαταστήσετε σωστά το Raspian, θα πρέπει να δείτε την αρχική επιφάνεια εργασίας [Εικόνα παραπάνω].

ΣΥΜΒΟΥΛΕΣ:

  • Εάν ο λόγος διαστάσεων επιφάνειας εργασίας είναι απενεργοποιημένος, δοκιμάστε να κάνετε επανεκκίνηση του Raspberry Pi. Εάν εξακολουθεί να είναι απενεργοποιημένο, κοιτάξτε εδώ για να ενημερώσετε το λόγο διαστάσεων με μη αυτόματο τρόπο.
  • Εάν ανοίξετε έναν επεξεργαστή κειμένου και οι ειδικοί χαρακτήρες του πληκτρολογίου σας δεν αντιστοιχούν, κοιτάξτε εδώ για να ενημερώσετε τη διαμόρφωση του πληκτρολογίου σας.
  • Δοκιμάστε τη σύνδεσή σας στο διαδίκτυο (θα χρειαστείτε αυτό για να εγκαταστήσετε βιβλιοθήκες κατά τη ρύθμιση). Αναζητήστε εδώ βοήθεια για τη ρύθμιση του wifi.

Βήμα 3: Συνδέστε ακουστικά Neurosky

Συνδέστε ακουστικά Neurosky
Συνδέστε ακουστικά Neurosky
Συνδέστε ακουστικά Neurosky
Συνδέστε ακουστικά Neurosky

1. Διαμόρφωση Bluetooth

Πριν συνδεθεί το Pi με το Neurosky, πρέπει να ρυθμίσουμε το bluetooth:

Στην επιφάνεια εργασίας ανοίξτε το "LXTerminal" (αναφέρεται ως τερματικό από εδώ και πέρα). Εκτελέστε αυτήν την εντολή για να επιλύσετε και να ενημερώσετε τις ελλείψεις:

$ sudo apt-get ενημέρωση

Εγκαταστήστε το bluetooth με αυτήν την εντολή:

$ sudo apt-get install bluetooth

Εγκαταστήστε ένα εύχρηστο βοηθητικό πρόγραμμα bluetooth για τη γραμμή εργαλείων:

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

Επανεκκινήστε το Pi από το τερματικό:

$ sudo επανεκκίνηση

2. Δοκιμάστε τη σύνδεση Bluetooth

  • Ενεργοποιήστε τα ακουστικά Neurosky
  • Από τη σάρωση τερματικού για συσκευές:

hcitool σάρωση

Τα ακουστικά Mindwave πρέπει να αναγράφονται, λάβετε υπόψη τη διεύθυνση MAC των ακουστικών [εικόνα παραπάνω]

3. Εγκαταστήστε τις Βιβλιοθήκες Neurosky

Τώρα είμαστε έτοιμοι να εγκαταστήσουμε τις βιβλιοθήκες Neurosky Python και να αρχίσουμε να συλλέγουμε τη ροή δεδομένων της με το σενάριο δοκιμής βιβλιοθήκης:

Από το τερματικό εγκαταστήστε το βοηθητικό πρόγραμμα github:

sudo apt-get install git-core

Κλωνοποίηση χώρου αποθήκευσης github με βιβλιοθήκη Neurosky Python:

sudo git clone

Πρέπει να ενημερώσουμε το αρχείο MindwaveMobileRawReader.py με τη διεύθυνση MAC των ακουστικών σας. FYI: Τα ονόματα αρχείων έχουν διάκριση πεζών -κεφαλαίων

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

  • Ενημερώστε τη διεύθυνση MAC που αναφέρεται στο αρχείο. Ctrl-X για ολοκλήρωση, Y για αποθήκευση, Enter για έξοδο.
  • Συνδυάστε το Neurosky και το Pi και επιτρέψτε τη λειτουργία αυτόματης σύνδεσης, εάν σας ζητηθεί να χρησιμοποιήσετε έναν κωδικό PIN "0000":

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

$ sudo bluez-test-device trusted XX: XX: XX: XX: XX: XX ναι

Εγκατάσταση βιβλιοθήκης Python Bluetooth:

sudo apt-get install python-bluez

Εκτελέστε το σενάριο δοκιμής βιβλιοθήκης για να βεβαιωθείτε ότι το Pi είναι σε θέση να κάνει προεπισκόπηση της ροής δεδομένων. Θα πρέπει να δείτε τη ροή δεδομένων [εικόνα παραπάνω]:

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

Βήμα 4: Συνδέστε τη Webcam USB W/Open CV

Συνδέστε USB Webcam W/Open CV
Συνδέστε USB Webcam W/Open CV

1. Εγκαταστήστε το OpenCV

Από το τερματικό:

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

Όταν τελειώσετε, συνεχίστε:

$ sudo apt -get -f εγκατάσταση

Για καλό μέτρο:

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

Δοκιμάστε την εγκατάσταση προσπαθώντας να εισαγάγετε τη βιβλιοθήκη:

$ python

> εισαγωγή cv2

2. Δοκιμάστε το OpenCV σε Python με κάμερα USB

  • Στην επιφάνεια εργασίας ανοίξτε το "IDLE" (μην ανοίξετε το IDLE3!)
  • Από το μενού Αρχείο επιλέξτε Νέο παράθυρο. Αντιγράψτε το σενάριο Cv-Blur-Test στο νέο παράθυρο και αποθηκεύστε το. Το σενάριο είναι διαθέσιμο εδώ:
  • Από το μενού Εκτέλεση Επιλέξτε Εκτέλεση λειτουργικής μονάδας (ή πατήστε F5). Μπορεί να χρειαστούν μερικά δευτερόλεπτα για να ξεκινήσει, αλλά θα πρέπει να δείτε ένα μικρό πλαίσιο να εμφανίζεται με τη ζωντανή ροή της κάμερας web και το βίντεο θα πρέπει να είναι θολό. Συγχαρητήρια, το OpenCV εγκαταστάθηκε και λειτουργεί με επιτυχία με την κάμερα [Εικόνα παραπάνω].

Βήμα 5: Συνδέστε το Arduino

1. Κατεβάστε το Arduino IDE

Από το τερματικό:

sudo apt-get εγκατάσταση arduino

2. Συνδέστε το Arduino & Load Sketch

  • Συνδέστε το arduino στο Pi με το καλώδιο USB A-B.
  • Από το μενού έναρξης της επιφάνειας εργασίας πηγαίνετε στο Electronics και ανοίξτε το Arduino IDE. Αντιγράψτε το σκίτσο arduino-serial-pi στο IDE [Σύνδεσμος παρακάτω]. Αυτό είναι ένα πολύ βασικό σκίτσο που θα κινεί σερβοκινητήρες με βάση την είσοδο που έρχεται πάνω από το σειριακό. Θα στείλουμε δεδομένα στη σειρά με βάση την έξοδο εγκεφαλικού κύματος, χρησιμοποιώντας ένα σκίτσο Python στο τελευταίο βήμα, όταν τα συνδυάσουμε όλα.

Arduino-serial-pi σκίτσο online εδώ:

Στο Arduino IDE, μεταβείτε στο μενού Εργαλεία, επιλέξτε Serial Port και επιλέξτε τη θύρα Arduino που αναφέρεται, πιθανώς κάτι σαν /dev /ttyACM0. Σημειώστε το λιμάνι

3. Απενεργοποίηση σειριακής κονσόλας

Κατεβάστε και εκτελέστε ένα σενάριο για να απενεργοποιήσετε τη σειριακή κονσόλα, ώστε η σειριακή σύνδεση USB να λειτουργεί ομαλά:

$ wget

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

$ tar -xvzf alamode -setup.tar.gz

$ cd alamode-setup

$ sudo./setup

$ sudo επανεκκίνηση

FYI:

Εάν χρησιμοποιείτε το B+, ενδέχεται να υπάρχουν αρκετά I/O για να υποστηρίξετε τα servos, (δείτε εδώ για να ρυθμίσετε και να χρησιμοποιήσετε το GPIO). Ωστόσο, με ενδιαφέρει να προσθέσω επιπλέον εξαρτήματα για μελλοντικούς πειραματισμούς από τον εγκέφαλο στα ηλεκτρονικά. Έτσι, η εγκατάσταση του αρχικού πρωτοτύπου με ένα arduino εξασφαλίζει πολλές ηλεκτρονικές δυνατότητες.

Βήμα 6: Το βάζουμε όλα μαζί

Image
Image

1. Τελικό σενάριο Python

Πριν μπορέσουμε να προσθέσουμε το τελικό σενάριο python στο φάκελο "python-mindwave-mobile", πρέπει να αλλάξουμε τα δικαιώματα φακέλου. Από το τερματικό:

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

  • Ανοίξτε το IDLE και εκτελέστε το τελευταίο μας σενάριο Python, διαθέσιμο online εδώ: https://github.com/PrivateHQ/biofeedback-cinema/ Βεβαιωθείτε ότι βρίσκεται στο φάκελο python-mindwave-mobile. FYI: Θα χρειαστεί να ενημερώσετε το σενάριο Python με την πραγματική διεύθυνση θύρας Arduino.
  • Όταν εκτελείτε αυτό το σενάριο τρία πράγματα που πρέπει να συμβούν: 1) Το επίπεδο προσοχής σας θα καταχωρηθεί στο κέλυφος Python, 2) Εμφανίζεται ένα μικρό πλαίσιο που δείχνει τη ζωντανή ροή της κάμερας με τη θόλωση να αλλάζει με βάση το επίπεδο προσοχής, 3) τον κινητήρα (s) μετακινηθείτε καθώς το επίπεδο προσοχής μεταφέρεται στο arduino μέσω του σειριακού [Βίντεο παραπάνω].

Βήμα 7: Βελτιώσεις & Ανάπτυξη

Το Raspberry Pi έχει περιορισμένη ισχύ επεξεργασίας και δυσκολεύεται να εκτελέσει ομαλά τις λειτουργίες του OpenCV. Αυτό είναι κάτι που θα συνεχίσω να αναπτύσσω και να βελτιώνω. Επιπλέον, σκοπεύω να συμπεριλάβω πρόσθετες παραμέτρους εγκεφαλικού κύματος (συχνότητες που σχετίζονται με αναλαμπές ματιών κ.λπ.) και λειτουργίες κάμερας (δηλαδή απόχρωση, κορεσμό, φωτεινότητα κλπ) σε μελλοντικές επαναλήψεις.

Συνιστάται: