技術資料

目次 

1. 目標
2. OpenBCIヘッドウェアの組立て
3. FTDIドライバ・インストール(Macのみ)
4. GUIインストール
5. 脳波の測定の準備(Windows, Unix)
8. 脳波の測定の実行と動作確認
9. ジャンケンの出す手の分類学習
10. ジャンケンの出す手の予測

1. 目標 

簡易脳波計をつけて,ジャンケンに負ける手を出すときの脳波から,出す手を脳波から事前に予測する.ジャンケンを実行してPCがジャンケンに勝つ手を出す勝率を表示する.

注意 目標2はPythonを実行できる環境(Ubuntu等)でやるので、その環境で目標1もやってください

2. OpenBCIヘッドウェアの組立て 

電極線の色サイトンボードピン
耳のクリップボトムSRBピン(SRB2)
FP1ボトムN1Pピン
FP2グレーボトムN2Pピン
C3ボトムN3Pピン
C4ボトムN4Pピン
P7オレンジボトムN5Pピン
P8ボトムN6Pピン
O1ボトムN7Pピン
O2茶色ボトムN8Pピン
耳のクリップボトムBIASピン
脳波装置.png

配線の色とサイドボードピンの組み合わせは一致しないかもしれないので、写真の通りの電極と一致するように写真と表を見比べて接続する。
以下のサイトを参考にして、同じように電極とデイジー・ピンのペアリングも行う。

電池パッケージを結束バンドなどで固定しておく。

3. FTDIドライバ・インストール(Macのみ) 

Macは以下を参考に https://www.ftdichip.com/Drivers/VCP.htm

インストールしようとすると識別できない開発者のものみたいな感じとゆわれたら、システム環境設定→セキュ リティとプライバシーから App Store と確認済みの開発元からのアプリケーションの許可に設定する

4. GUIインストール~ 

以下のサイトでインストール http://openbci.com/index.php/downloads

5. 脳波の測定の準備(Windows, Unix) 

USB.png

USB ドングルをコンピュータ側にでっぱりをスライドさせ、青いライトを点灯させる

Cyton1.png

Cyton ボードのスイッチは、上にスライドで PC 接続、下にスライドで Bluetooth 接続となる

今回はPC接続なので上にスライドする

ここから先はWindowsとUbuntuでやり方が違う

Windowsの場合 

openbci.png

OpenBCI_GUI.exeを開いて

(1) LIVE from (Cyton)

(2) Serial(from Dongle)

(3) COM3

(4) 8CHANNELS

(5) START SYSTEM

以上の流れで実行できる

・今回は、8CHANNNELで行う

・USBドングルは2種類あるので、COM3と表示されるものを使う

・エラーが出たときはOpenBCIHub.exeを起動してからOpenBCI_GUI.exeを起動する

8. 脳波の測定の実行と動作確認 

・装着するときは電池がついている方を後ろ向きにする

・DATA LOG FILE でファイル名を変更できる(デフォルトで日付)

・実行できる状態か確かめるときは、AUTOSCAN から確認できる

・下部分に緑文字で "Successfully connected to Cyton using COM3" と表示されれば実行可能

・脳波がとれない場合はそのチャンネルの頭のねじを回すことで調節する

START SESSION を実行すると以下のような画面になり、左上の START DATA STREAM で測定開始、STOP で測定終了となる

gui.png

システム(この項目は、直接USBでデータを渡したほうが早い) 

Google Driveの中の"学生"→"08清水"に行き、"専門ゼミ脳波"のフォルダをダウンロードしてもらう

専門ゼミ脳波の中にはこれらが入っている

作業する場所にフォルダを作り、以下のプログラムと画像を入れる

黒.png
グー.png
パー.png
チョキ.png
zyan.png
ken.png
kati.png
make.png
hikiwake.png

以下の2つを"_pycache_"という名前のフォルダをつくり、その中に保存する

9. ジャンケンの出す手の分類学習(TV取材の時の) 

9.1 環境構築 

python3でやる

python3がインストールされてない人はpython3をインストールしてから以下のコマンドを実行する

pipのインストールはこのサイトの「pipのインストール方法」を見てやる

モジュールのインストールは以下のコマンドで

Python で openbci を取り扱うためのモジュール

pip3 install opencv-python
sudo pip3 install pyautogui
sudo pip3 install xlib
pip3 install matplotlib
pip3 install scipy
pip install scikit-learn
pip3 install pandas

これ以外のモジュールを要求されたら、その都度インストールをしていく

"sudo","apt-get"のコマンドはwindowsではできないので、"sudo"のみのものは"sudo"なしでも大丈夫

"apt-get"はwindowsではできない

必要なコードとファイルは,Google Driveの/麻生/brainの中にあります
一応、国際学会では違う分析手法で発表したのでその時のコードもgakkaiというフォルダの中に一緒に入れておきます。(これは興味があれば見ておいてください。)

9.2 コードの実行 

tv.pyを以下のコマンドにより実行することによってシステムを動かすことができます。

python tv.py

9.3 分析の流れ 

⒈ 分析したい脳波データの部分を抽出する
⒉ 分析対象となる脳波のデータを独立主成分分析によって、分析に効果的であると考えられる成分を抽出する
⒊ 独立成分分析によって処理したデータをフーリエ変換
⒋ 周波数帯でシータ波とアルファ波、ベータ波に分割する
⒌ 分割したデータをランダムファレストにより学習
⒍ 学習したモデルを使って予測

9.4 実行 

実行手順

①:"python tv.py" を実行する
②:ヘッドウェアをつける
③:"Start Date Stream" を押す
④:"python tv.py"を実行した際に出てくるやつの"date get" を押す
⑤:出てくる画像に従って「勝ち」,「負け」,「あいこ」となるように 90回分のデータをとる
⑥:90回すべてが終わったら、"STOP" を押して、脳波の取得を終わらせる
⑦:取得したデータが"ドキュメント"内に保存されているので、取得したデータを項目8で作成したフォルダ内にコピーする

siyou.png

Pyautoguiは、Pythonのモジュールでデフォルトのコードはmacのデスクトップの画面の座標で設定してあるため、パソコンによっては座標を変更する必要があるかもしれません。

10. コードの変更点 

OpenBCIのスタートの位置にpyautogui.click(x,y)を合わせないといけない

tv.pyの635行目

click.png

data_getのスライドを何回表示させるかは、以下のコードのfor文の繰り返し回数を変更することで設定できる。
すべての組み合わせの9回を1セットとしてある 今回は (10) にして 90回 の学習データを取得した

count.png

OpenBCIで取得したデータが保存されるディレクトリにPATHを変更する必要がある。
分析したいファイル名はOpenBCIの画面でファイル名を設定する部分があるので、そこで読み込むファイル名を設定するファイル名にしておく。

書き換え.png
set.png

トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS