#author("2019-02-15T08:31:44+00:00","","") #author("2019-02-21T03:35:59+00:00","","") [[山元]] ***目次 [#e890b3d5] 1.目標~ 2.組み立て~ 3.Mac版~ 4.GUIインストール~ 5.脳波の測定 6.Windows~ 7.Ubuntu~ 8.注意書き~ 9.実行するためのモジュールのインストール~ ***1.目標 [#i67428c5] 1.OpenBCIを用いた脳波計測を行う~ 2.脳波からじゃんけんの手を予測する &color(red){注意}; 目標2はPythonを実行できる環境(Ubuntu等)でやるので、その環境で目標1もやってください ***2.OpenBCIヘッドウェアを組み立てる [#r365d2e3] |電極|線の色|サイトンボードピン| |耳のクリップ|黒|ボトムSRBピン(SRB2)| |FP1|紫|ボトムN1Pピン| |FP2|グレー|ボトムN2Pピン| |C3|緑|ボトムN3Pピン| |C4|青|ボトムN4Pピン| |P7|オレンジ|ボトムN5Pピン| |P8|黄|ボトムN6Pピン| |O1|赤|ボトムN7Pピン| |O2|茶色|ボトムN8Pピン| |耳のクリップ|黒|ボトムBIASピン| #ref(MarkIV_electrode_map.png,,50%) 配線の色とサイドボードピンの組み合わせは一致しないかもしれないので、写真の通りの電極と一致するように写真と表を見比べて接続する。~ 以下のサイトを参考にして、同じように電極とデイジー・ピンのペアリングも行う。 #ref(http://docs.openbci.com/Headware/01-Ultracortex-Mark-IV) 電池パッケージを結束バンドなどで固定しておく。 ***3.Mac版 [#p7bd5acb] Macは以下を参考に https://www.pu-toyama.ac.jp/IS/IIE/local_pages/lab_log/wiki.php?plugin=attach&refer=OpenBCI&openfile=OpenBCI%E3%82%BB%E3%83%83%E3%83%88%E3%82%A2%E3%83%83%E3%83%95%E3%82%9A%EF%BC%88macOS%29.pdf ***4.GUI インストール(Windows linux) [#ae841b39] 以下のサイトでインストール http://openbci.com/index.php/downloads ***5.脳波の測定 [#b8d30693] #ref(Op_usb.png) USB ドングルをコンピュータ側にでっぱりをスライドさせ、青いライトを点灯させる #ref(Op_kiban.png) Cyton ボードのスイッチは、上にスライドで PC 接続、下にスライドで Bluetooth 接続となる 今回はPC接続なので上にスライドする ここから先はWindowsとUbuntuでやり方が違う ***6.windows [#ue230d10] #ref(GUI設定.png,,50%) OpenBCI_GUI.exeを開いて (1) LIVE from (Cyton) (2) Serial(from Dongle) (3) COM3 (4) 8CHANNELS (5) START SYSTEM 以上の流れで実行できる ・エラーが出たときはOpenBCIHub.exeを起動してからOpenBCI_GUI.exeを起動する ***7.Ubuntu [#z6f39f9d] シリアルポートにアクセスするのに十分な特権でOpenBCIアプリケーションを起動する OpenBCIソフトウェアをホームフォルダに展開したと仮定すると、以下のコマンドで実行できる~ cd ~/application.linux64 && sudo bash OpenBCI_GUI (1) LIVE from (Cyton) (2) Serial(from Dongle) (3) SERIAL / COM PORT は一番上のやつ (4) 今回は8CHANNELS (5) START SYSTEM 以上の流れで実行できる ***8.注意書き(共通) [#v2801a0c] ・装着するときは電池がついている方を後ろ向きにする ・DATA LOG FILE でファイルを変更できる(デフォルトで日付) ・実行できる状態か確かめるときは、SERIAL / COM PORT の横の矢印から確認できる ・GET CHANNEL と STATUS が Success となっていれば実行可能 ・脳波がとれない場合はそのチャンネルの頭のねじを回すことで調節する(2番はとれなかった) START SYSTEM を実行すると以下のような画面になり、左上の START DATA STREAM で測定開始、STOP で測定終了となる #ref(OpenBCI_start.png,,30%) ***システム(この項目は、直接USBでデータを渡したほうが早い) [#b9ad187b] 作業する場所にフォルダを作り、以下のプログラムと画像を入れる #ref(slide.py) #ref(test.py) #ref(Black_image.png,,20%) #ref(guu.png,,20%) #ref(paa.png,,20%) #ref(tyoki.png,,20%) #ref(white_image.png,wrap,,20%) そのフォルダの中にcountというフォルダを作り、以下の画像を入れる #ref(one.png,,20%) #ref(two.png,,20%) #ref(three.png,,20%) ***9実行するためのモジュールのインストール [#x5f2be33] python3でやる pipのインストールはこのサイトの「pipのインストール方法」を見てやる モジュールのインストールは以下のコマンドで pip3 install opencv-python sudo pip3 install pyautogui sudo pip3 install xlib pip3 install matplotlib sudo apt-get install python3-tk sudo apt-get install python-scipy pip3 install scipy pip install scikit-learn pip3 install pandas pip3 install sklearn プログラムslide1.2.pyについて~ #ref(test1++.png) pyautogui.click(141,101)のところはとりあえずそのままで~ 下線部のPATHは書き換える~ 実行方法 slide.pyのプログラムでデータ収集 test.pyのプログラムで収集したデータから機械学習させるという流れ 1.~ cd ~/application.linux64 && sudo bash OpenBCI_GUI でOpenBCIを起動しハードのセットアップを行う 2.~ ターミナルの新しいタブを開いてslide.pyのあるところに移動し、~ python3 slide.py で実行できる~ OpenBCIのスタートの位置にpyautogui.click(x,y)を合わせないといけないのでエラーが出た場合は以下のプログラムで位置を確かめられる~ #ref(click.png)~ このプログラムを実行したときのマウスカーソルの位置がPoint(x=588, y=482)などと表示される~ 実行に成功すると3,2,手の順でスライドが流れるのでその手に勝つ手を後出しで出す(100回)~ ターミナル上に遅延時間が表示されているので記録しておく 終わったらOpenBCIを停止して、applicasion.linux64のSavedDataのところにあるテキストデータの名前を変更する~ 3.ここでもう一つのプログラムtest.pyを使う 各々で変更してほしい点は以下の点である(120行前後) #ref(test2.png) yamamoto_1.txtのところは2で名前を変えたテキストデータの名前にする、 隣の数字は2で記録した遅延時間なのでその数字を入れる 赤丸の部分は2でターミナル上に表示された数列をコピー&ペーストする 実行結果の例を示す #ref(kekka.png) これは取得した100個のデータから最初の40個のデータを訓練データとして、次の40個のデータを予測したときの正解率が37.5%であることを表している