技術資料

目次 

1. 目標
2. OpenBCIヘッドウェアの組立て
3. FTDIドライバ・インストール(Macのみ)
4. GUIインストール
5. 脳波の測定の準備(Windows)
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

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

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

リティとプライバシーから App Store と確認済みの開発元からのアプリケーションの許可に設定する

4. GUIインストール~ 

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

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

USB.png

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

Cyton1.png

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

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

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. 脳波の測定の実行と動作確認 

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

・Session Date の Name でファイル名を変更できる(デフォルトで日付)

・実行できる状態か確かめるときは、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

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

9.1 環境構築 

python3でやる

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

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

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

pip3 install opencv-python

マウスやキーボード操作を制御するためのモジュール

sudo pip3 install pyautogui

PythonにXlibを実装する

sudo pip3 install xlib

Pythonの描画ライブラリ

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" を押して、データの取得を終わらせる
⑥:取得したデータが"ドキュメント"→"OpenBCI_GUI"→"Recording"の中にある OpenBCI で設定した名前のフォルダ内にある

10. コードの変更点 

tv.pyの中身を変更した 変更した点を以下に示す

123行目

加工済み5.png

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

451行目

加工済み6.png

486行目

加工済み4.png

492行目

加工済み3.png

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

tv.pyの635行目

click.png

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

644行目部分

加工済み1.png

660行目部分

加工済み2.png
set.png

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

9.5 実行結果 

勝ち:4 負け:4 引き分け:2


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