簡易脳波計によるジャンケン予測のためのクラスタリング
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
]
開始行:
[[技術資料]]
*目次 [#e890b3d5]
#CONTENTS
**1. 目標 [#i67428c5]
簡易脳波計をつけて,ジャンケンに負ける手を出すときの脳波...
&color(red){注意};
目標2はPythonを実行できる環境でやるので、その環境で目標1...
**2. OpenBCIヘッドウェアの組立て [#kbde4fb5]
|電極|線の色|サイトンボードピン|
|耳のクリップ|黒|ボトムSRBピン(SRB2)|
|FP1|紫|ボトムN1Pピン|
|FP2|グレー|ボトムN2Pピン|
|C3|緑|ボトムN3Pピン|
|C4|青|ボトムN4Pピン|
|P7|オレンジ|ボトムN5Pピン|
|P8|黄|ボトムN6Pピン|
|O1|赤|ボトムN7Pピン|
|O2|茶色|ボトムN8Pピン|
|耳のクリップ|黒|ボトムBIASピン|
#ref(脳波装置.png,,50%)
配線の色とサイドボードピンの組み合わせは一致しないかもし...
以下のサイトを参考にして、同じように電極とデイジー・ピン...
#ref(http://docs.openbci.com/Headware/01-Ultracortex-Mark...
電池パッケージを結束バンドなどで固定しておく。
//**3. FTDIドライバ・インストール(Macのみ) [#ob9ba323]
//Macは以下を参考に
//https://www.ftdichip.com/Drivers/VCP.htm
//インストールしようとすると識別できない開発者のものみた...
リティとプライバシーから App Store と確認済みの開発元から...
**3. GUIインストール~ [#ma1025ac]
以下のサイトでインストール
https://github.com/OpenBCI/OpenBCI_GUI/releases/tag/v4.1.6
//http://openbci.com/index.php/downloads
**4. 脳波の測定の準備 [#sc954391]
#ref(USB.png)
USB ドングルをコンピュータ側にでっぱりをスライドさせ、青...
#ref(Cyton1.png)
Cyton ボードのスイッチは、上にスライドで PC 接続、下にス...
今回はPC接続なので上にスライドする
青く光らなかったら電池切れの可能性があるので、電池の交換...
//ここから先はWindowsとUbuntuでやり方が違う
***Windowsの場合 [#bd361783]
#ref(加工openbci.png)
OpenBCI_GUI.exeを開いて
(1) LIVE from (Cyton)
(2) Serial(from Dongle)
(3) COM3 (ここがCOM3にならないときもあるので、その...
(4) 8CHANNELS
(5) START SESSION
以上の流れで実行できる
・今回は、8CHANNNELで行う
・&color(#FF0000){USBドングルは2種類あるので、COM3と表示...
・エラーが出たときはOpenBCIHub.exeを起動してからOpenBCI_G...
//***UNIXの場合 [#x7f51f32]
//シリアルポートにアクセスするのに十分な特権で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
//以上の流れで実行できる
**5. 脳波の測定の実行と動作確認 [#z24f3438]
・装着するときは電池がついている方を後ろ向きにする
・Session Date の Name でファイル名を変更できる(デフォル...
・実行できる状態か確かめるときは、AUTOSCAN から確認できる
・下部分に緑文字で "Successfully connected to Cyton using...
・脳波がとれない場合はそのチャンネルの頭のねじを回すこと...
START SESSION を実行すると以下のような画面になり、左上の ...
#ref(gui.png,,30%)
***システム(この項目は、直接USBでデータを渡したほうが早い...
Google Driveの中の"学生"→"08清水"の"専門ゼミ脳波"のフォル...
#ref(noha.zip)
zipファイルの中にはこれらが入っている
//作業する場所にフォルダを作り、以下のプログラムと画像を...
#ref(tv.py)
#ref(X_tra.py)
&br;
|#ref(黒.png,,20%);||#ref(グー.png,,20%);||#ref(パー.png,...
|#ref(チョキ.png,,20%);||#ref(zyan.png,,20%);||#ref(ken.p...
|#ref(kati.png,,20%);||#ref(make.png,,20%);||#ref(hikiwak...
//以下の2つを"_pycache_"という名前のフォルダをつくり、そ...
//#ref(X_tra.cpython-36.pyc)
//#ref(X_tra.cpython-38.pyc)
**6. ジャンケンの出す手の分類学習 [#mabada46]
***6.1 環境構築[#w59f9eb5]
python3でやる
pipのインストールはこのサイトの「pipのインストール方法」...
//unixでやる場合は"sudo","apt-get" は実行可能
"sudo","apt-get"のコマンドはwindowsではできないので、"sud...
"apt-get"はwindowsではできない
モジュールのインストールは以下のコマンドで
Python で opencv を取り扱うためのモジュール
pip3 install opencv-python
マウスやキーボード操作を制御するためのモジュール
sudo pip3 install pyautogui
PythonにXlibを実装する
sudo pip3 install xlib
Pythonの描画ライブラリ
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
これ以外のモジュールを要求されたら、その都度インストール...
必要なコードとファイルは,Google Driveの/麻生/brainの中...
一応、国際学会では違う分析手法で発表したのでその時のコー...
**6.2 コードの実行[#w59f9eb5]
tv.pyを以下のコマンドにより実行することによってシステムを...
python tv.py
***6.3 分析の流れ[#w59f9eb5]
⒈ 分析したい脳波データの部分を抽出する~
⒉ 分析対象となる脳波のデータを独立主成分分析によって、分...
⒊ 独立成分分析によって処理したデータをフーリエ変換~
⒋ 周波数帯でシータ波とアルファ波、ベータ波に分割する~
⒌ 分割したデータをランダムファレストにより学習~
⒍ 学習したモデルを使って予測~
***6.4 実行[#w59f9eb5]
実行手順~
作業するフォルダを"brain"という名前にしてある(ここの名前...
''訓練データの取得方法とその後''
訓練データを取得するときは、"tv.py" の451行目の( )内を...
"python tv.py" を実行~
①:"ASO"を選択~
②:"Start Date Stream" を押す~
③:"date get" を押す~
④:出てくる画像に従ってデータを取得~
⑤:データ取得後、OpenBCIをSTOPさせる~
#ref(やり方1.png)
データを取得した後の処理方法(名前を「test5」に設定してあ...
#ref(保存方法1.png)~
④の赤線部を"shimizu5_train"という名前でbrainフォルダにい...
#ref(ファイルの移し方.png)
これは tv.py の123行目にもいれる~
これは X_tra.py の100行目にもいれる~
&br;
''じゃんけん実行準備''~
&br;
このときに"tv.py"の 451行目の( )内を 1 に変えておくと楽に...
"python tv.py の実行"~
①:"ASO"を選択~
②:"Start Date Stream" を押す~
③:"date get"を押す
#ref(やり方1.png)~
データ取得した後の処理~
#ref(じゃんけん保存.png)~
&br;
#ref(ファイルの移し方2.png)
&br;
''じゃんけん実行''
"zyanken"を実行する前に、毎回、上の画像にある644行目のフ...
(go10_train.txt の部分)
"python tv.py の実行"~
①:"ASO"を選択~
②:"Start Date Stream" を押す~
③:"zyanken"を押す
#ref(じゃんけん方法1.png)~
//#ref(siyou.png)
//Pyautoguiは、Pythonのモジュールでデフォルトのコードはma...
**7. コードの変更点 [#u3c4a89d]
''tv.pyの変更部分''
123行目
#ref(加工済み5.png)
451行目
#ref(訓練データ部分1.png)
486行目
#ref(加工済み4.png)
492行目
#ref(ファイルの移し方.png)
//OpenBCIのスタートの位置にpyautogui.click(x,y)を合わせな...
//tv.pyの635行目
//#ref(click.png)~
644行目部分
#ref(研究1.png)
660行目部分
#ref(コマンドプロンプト.png,,110%)~
//#ref(set.png)~
//OpenBCIで取得したデータが保存されるディレクトリにPATHを...
//分析したいファイル名はOpenBCIの画面でファイル名を設定す...
''X_tra.pyの変更部''
#ref(X_tra.png)
**8. 実行結果[#w59f9eb5]
勝ち:3
負け:4
引き分け:3
~
~
***kansou [#obf9a974]
start system or start session?~
Serial port said 「COM3」but, Device Manager said 「COM5...
the Error [connecting to serial port. Try a diffrent port?]
**10. Ubuntuをインストールする[#w59f9eb5]
終了行:
[[技術資料]]
*目次 [#e890b3d5]
#CONTENTS
**1. 目標 [#i67428c5]
簡易脳波計をつけて,ジャンケンに負ける手を出すときの脳波...
&color(red){注意};
目標2はPythonを実行できる環境でやるので、その環境で目標1...
**2. OpenBCIヘッドウェアの組立て [#kbde4fb5]
|電極|線の色|サイトンボードピン|
|耳のクリップ|黒|ボトムSRBピン(SRB2)|
|FP1|紫|ボトムN1Pピン|
|FP2|グレー|ボトムN2Pピン|
|C3|緑|ボトムN3Pピン|
|C4|青|ボトムN4Pピン|
|P7|オレンジ|ボトムN5Pピン|
|P8|黄|ボトムN6Pピン|
|O1|赤|ボトムN7Pピン|
|O2|茶色|ボトムN8Pピン|
|耳のクリップ|黒|ボトムBIASピン|
#ref(脳波装置.png,,50%)
配線の色とサイドボードピンの組み合わせは一致しないかもし...
以下のサイトを参考にして、同じように電極とデイジー・ピン...
#ref(http://docs.openbci.com/Headware/01-Ultracortex-Mark...
電池パッケージを結束バンドなどで固定しておく。
//**3. FTDIドライバ・インストール(Macのみ) [#ob9ba323]
//Macは以下を参考に
//https://www.ftdichip.com/Drivers/VCP.htm
//インストールしようとすると識別できない開発者のものみた...
リティとプライバシーから App Store と確認済みの開発元から...
**3. GUIインストール~ [#ma1025ac]
以下のサイトでインストール
https://github.com/OpenBCI/OpenBCI_GUI/releases/tag/v4.1.6
//http://openbci.com/index.php/downloads
**4. 脳波の測定の準備 [#sc954391]
#ref(USB.png)
USB ドングルをコンピュータ側にでっぱりをスライドさせ、青...
#ref(Cyton1.png)
Cyton ボードのスイッチは、上にスライドで PC 接続、下にス...
今回はPC接続なので上にスライドする
青く光らなかったら電池切れの可能性があるので、電池の交換...
//ここから先はWindowsとUbuntuでやり方が違う
***Windowsの場合 [#bd361783]
#ref(加工openbci.png)
OpenBCI_GUI.exeを開いて
(1) LIVE from (Cyton)
(2) Serial(from Dongle)
(3) COM3 (ここがCOM3にならないときもあるので、その...
(4) 8CHANNELS
(5) START SESSION
以上の流れで実行できる
・今回は、8CHANNNELで行う
・&color(#FF0000){USBドングルは2種類あるので、COM3と表示...
・エラーが出たときはOpenBCIHub.exeを起動してからOpenBCI_G...
//***UNIXの場合 [#x7f51f32]
//シリアルポートにアクセスするのに十分な特権で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
//以上の流れで実行できる
**5. 脳波の測定の実行と動作確認 [#z24f3438]
・装着するときは電池がついている方を後ろ向きにする
・Session Date の Name でファイル名を変更できる(デフォル...
・実行できる状態か確かめるときは、AUTOSCAN から確認できる
・下部分に緑文字で "Successfully connected to Cyton using...
・脳波がとれない場合はそのチャンネルの頭のねじを回すこと...
START SESSION を実行すると以下のような画面になり、左上の ...
#ref(gui.png,,30%)
***システム(この項目は、直接USBでデータを渡したほうが早い...
Google Driveの中の"学生"→"08清水"の"専門ゼミ脳波"のフォル...
#ref(noha.zip)
zipファイルの中にはこれらが入っている
//作業する場所にフォルダを作り、以下のプログラムと画像を...
#ref(tv.py)
#ref(X_tra.py)
&br;
|#ref(黒.png,,20%);||#ref(グー.png,,20%);||#ref(パー.png,...
|#ref(チョキ.png,,20%);||#ref(zyan.png,,20%);||#ref(ken.p...
|#ref(kati.png,,20%);||#ref(make.png,,20%);||#ref(hikiwak...
//以下の2つを"_pycache_"という名前のフォルダをつくり、そ...
//#ref(X_tra.cpython-36.pyc)
//#ref(X_tra.cpython-38.pyc)
**6. ジャンケンの出す手の分類学習 [#mabada46]
***6.1 環境構築[#w59f9eb5]
python3でやる
pipのインストールはこのサイトの「pipのインストール方法」...
//unixでやる場合は"sudo","apt-get" は実行可能
"sudo","apt-get"のコマンドはwindowsではできないので、"sud...
"apt-get"はwindowsではできない
モジュールのインストールは以下のコマンドで
Python で opencv を取り扱うためのモジュール
pip3 install opencv-python
マウスやキーボード操作を制御するためのモジュール
sudo pip3 install pyautogui
PythonにXlibを実装する
sudo pip3 install xlib
Pythonの描画ライブラリ
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
これ以外のモジュールを要求されたら、その都度インストール...
必要なコードとファイルは,Google Driveの/麻生/brainの中...
一応、国際学会では違う分析手法で発表したのでその時のコー...
**6.2 コードの実行[#w59f9eb5]
tv.pyを以下のコマンドにより実行することによってシステムを...
python tv.py
***6.3 分析の流れ[#w59f9eb5]
⒈ 分析したい脳波データの部分を抽出する~
⒉ 分析対象となる脳波のデータを独立主成分分析によって、分...
⒊ 独立成分分析によって処理したデータをフーリエ変換~
⒋ 周波数帯でシータ波とアルファ波、ベータ波に分割する~
⒌ 分割したデータをランダムファレストにより学習~
⒍ 学習したモデルを使って予測~
***6.4 実行[#w59f9eb5]
実行手順~
作業するフォルダを"brain"という名前にしてある(ここの名前...
''訓練データの取得方法とその後''
訓練データを取得するときは、"tv.py" の451行目の( )内を...
"python tv.py" を実行~
①:"ASO"を選択~
②:"Start Date Stream" を押す~
③:"date get" を押す~
④:出てくる画像に従ってデータを取得~
⑤:データ取得後、OpenBCIをSTOPさせる~
#ref(やり方1.png)
データを取得した後の処理方法(名前を「test5」に設定してあ...
#ref(保存方法1.png)~
④の赤線部を"shimizu5_train"という名前でbrainフォルダにい...
#ref(ファイルの移し方.png)
これは tv.py の123行目にもいれる~
これは X_tra.py の100行目にもいれる~
&br;
''じゃんけん実行準備''~
&br;
このときに"tv.py"の 451行目の( )内を 1 に変えておくと楽に...
"python tv.py の実行"~
①:"ASO"を選択~
②:"Start Date Stream" を押す~
③:"date get"を押す
#ref(やり方1.png)~
データ取得した後の処理~
#ref(じゃんけん保存.png)~
&br;
#ref(ファイルの移し方2.png)
&br;
''じゃんけん実行''
"zyanken"を実行する前に、毎回、上の画像にある644行目のフ...
(go10_train.txt の部分)
"python tv.py の実行"~
①:"ASO"を選択~
②:"Start Date Stream" を押す~
③:"zyanken"を押す
#ref(じゃんけん方法1.png)~
//#ref(siyou.png)
//Pyautoguiは、Pythonのモジュールでデフォルトのコードはma...
**7. コードの変更点 [#u3c4a89d]
''tv.pyの変更部分''
123行目
#ref(加工済み5.png)
451行目
#ref(訓練データ部分1.png)
486行目
#ref(加工済み4.png)
492行目
#ref(ファイルの移し方.png)
//OpenBCIのスタートの位置にpyautogui.click(x,y)を合わせな...
//tv.pyの635行目
//#ref(click.png)~
644行目部分
#ref(研究1.png)
660行目部分
#ref(コマンドプロンプト.png,,110%)~
//#ref(set.png)~
//OpenBCIで取得したデータが保存されるディレクトリにPATHを...
//分析したいファイル名はOpenBCIの画面でファイル名を設定す...
''X_tra.pyの変更部''
#ref(X_tra.png)
**8. 実行結果[#w59f9eb5]
勝ち:3
負け:4
引き分け:3
~
~
***kansou [#obf9a974]
start system or start session?~
Serial port said 「COM3」but, Device Manager said 「COM5...
the Error [connecting to serial port. Try a diffrent port?]
**10. Ubuntuをインストールする[#w59f9eb5]
ページ名: