๋ณธ repository๋ 21๋ ๋ ๋ถ๊ฒฝ๋ํ๊ต ์ปดํจํฐ๊ณตํ๊ณผ ์กธ์ ํ๋ก์ ํธ ์์ค ์ฝ๋ ์ ์ฅ ๋ชฉ์ ์ผ๋ก 21๋ 11์ 15์ผ ์ฒ์ ์์ฑ๋์์ต๋๋ค.
23๋ 4์ 26์ผ ๋งํฌ ํ์ธ ๋ฐ ์์ฑ ์๋ฃ๋์์ต๋๋ค.
OpenBCI๋ฅผ ์ด์ฉํ ์ด์ฉํ ์์ ์ ์ด
- ํด๋น ํ๋ก์ ํธ๋ ์์ฒด์ ํธ ๊ฐ์ง ํ๋ซํผ์ธ OpenBCI๋ฅผ ์ด์ฉํ์ฌ ๋ํ(EEG) ๋ฐ์ดํฐ๋ฅผ ์์ง ๋ฐ ๋ถ์ํ์ฌ ์ง์ค ์ฌ๋ถ๋ฅผ ๊ตฌ๋ถํด ์์์ ์์ง์์ ์ ์ดํ๋ ํ๋ก์ ํธ์ ๋๋ค.
- 2021.03.04 ~ 2021.06.03 - 1ํ๊ธฐ
- 2021.09.02 ~ 2021.12.02 - 2ํ๊ธฐ
- ๊น*๊ธ - ์๋ฃ ์กฐ์ฌ ๋ฐ ๋ฐํ
- ์กฐ*์ฌ - ์๋ฅ ์ฒ๋ฆฌ, ์์ ์ ์ ๋ฐ ์ฝ๋ ๊ตฌํ
- ๊น*๊ธ - ์๋ฃ ์กฐ์ฌ ๋ฐ ๋ฐํ
- ์ด*ํ - ์๋ฅ ์ฒ๋ฆฌ
- ์กฐ*์ฌ - ์ ์ง๋ณด์
- Language: Python
- API: Brainflow
- IDE: PyCharm, Arduino IDE
- OpenBCI GUI for WINDOWS
- OpenBCI Cyton Board
- Arduino UNO R3
- MG946R
- SZH-PWSDF-036
- PCA9685
- Model: InMoov Hand and Forarm
- Power Supply: 18650 Li-ion battery(3500mAh)
- M3x20 Bolt and Nut
- WiFi Shield๋ฅผ ์ด์ฉํ Ganglion Board ์๋ ํ ์คํธ
- ์์ ์ ์
- OpenBCI์ Arduino(์์) ์ฐ๊ฒฐ
- GUI์ Networking Widget๊ณผ Focusing Widget ์ฌ์ฉ
- Motor Imagery๋ฅผ ์ด์ฉํ ์ ์ด๋ฅผ ์ํด Cyton Board๋ก ๊ต์ฒด
- Motoar Iamgery ์คํ
- ์คํ ์คํจ๋ก GUI๋ฅผ ์ด์ฉํ์ฌ ๋ ผ๋ฌธ ์งํ
- Motoar Iamgery ์คํ
- ๊ฒฝ์ง๋ํ ์ฐธ์ฌ์ฉ ์ฝ๋ ๊ตฌํ
OpenBCI USB Dongle ์ธ์ ๋ฌธ์
- ๊ด๋ จ ๋๋ผ์ด๋ฒ๊ฐ ์ค์น๋์ด ์์ง ์์์ ๋ฐ์ํ ๋ฌธ์
- ๋๋ผ์ด๋ฒ(D2XX Driver)๋ฅผ ์ค์นํด ์ค์ผ๋ก์จ ํด๊ฒฐ
- ์ค์น ๋น์ ๋ฒ์ : 2.12.28
- https://ftdichip.com/drivers/d2xx-drivers/
Focus ์คํ ๋ฌธ์
-
1ํ๊ธฐ ์คํ ๋น์ Focus Widget์ High beta and low alpha, ์ฆ Meditation ํํ์ ์ง์ค ์ํ๋ฅผ ์ธก์ ํ๋ Widget
Reading the paragraph again, the โresearchโ that led to the conclusion โhigh alpha low betaโ, was actually referring to the small tests we did using OpenBCI, when Jordanโs performing meditation, and when other users are trying to โfocusโ during our spring exhibition.
For the exact values โ0.7-2.0uvโ or โ0.0-0.7uvโ, they were also actually referring to this โhigh alpha low betaโ pattern. Thatโs why later versions of the focus widget would have tweak-able thresholds compared to set values.
The word โfocusโ was a generic term. While the original data was derived from my classmate Jordanโs brainwave when heโs doing โmeditationโ, it also mostly worked when I told users to โfocusโ. I would suggest โfocus of visual attentionโ or โmeditationโ as more accurate to describe the desired โfocusedโ state.
https://openbci.com/forum/index.php?p=/discussion/2418/gui-focus-widget-algorithm-question- ํด๋น ์ฌ์ค์ ๋ชจ๋ฅด๊ณ Concentraion์ ๋ง์ถฐ ์คํ์ ์งํํ์๊ธฐ์ ์ ์ดํ๋ ๋ฐ ์ด๋ ค์์ด ๋ฐ์
-
2ํ๊ธฐ ์์ , ์ ๋ฐ์ดํธ๋ GUI๋ Meditation๊ณผ Concentraion์ ๋ชจ๋ ์ง์ํ์๊ธฐ์ ์ด๋ฅผ ์ธ์งํ๊ณ ์คํ์ ์งํํจ์ผ๋ก์จ ํด๊ฒฐ
Choose from "Relaxation" or "Concentration" as the desired flavor of Focus to detect.
"Relaxation" generally looks at FFT values associated with Delta, Theta and Alpha brainwaves, while "Concentration" looks at Beta and Gamma brainwaves.
Relaxation is usually achieved by "meditating" with eyes closed, while Concentration can be achieved by focusing intently with eyes open.
https://docs.openbci.com/Software/OpenBCISoftware/GUIWidgets/#focus-widget
GUI ์ ๋ฐ์ดํธ ์ดํ Arduino ๋น์๋ ๋ฌธ์
- Serial ํ๋กํ ์ฝ์ ์ด์ฉํ Focus ๋ฐ์ดํฐ ๋ณ๊ฒฝ์ผ๋ก ์ธํด ๋ฐ์ํ ๋ฌธ์
- Networking Data Format ๋ณ๊ฒฝ ์ ํ
๋ณ๊ฒฝ ์ ๋ณ๊ฒฝ ํ "true\n" "1\n" "false\n" "0\n"
- Networking Data Format ๋ณ๊ฒฝ ์ ํ
- ์์ ๋ ๋ฐ์ดํฐ๋ฅผ ๋น๊ตํ๋ ์ฝ๋๋ฅผ ๋ณ๊ฒฝ๋ Format์ ๋ง์ถฐ ๋ณ๊ฒฝํด ์ค์ผ๋ก์จ ํด๊ฒฐ
- ๋ณ๊ฒฝ ์
if (s.equals("false")) { \\Code } else if (s.equals("true")) { \\Code }
- ๋ณ๊ฒฝ ํ
if (s.equals("1")) { \\Code } else if (s.equals("0")) { \\Code }
- ๋ณ๊ฒฝ ์
Motor imagery ์ ์ฉ ๋ฌธ์
- NeuroPype Motor Imagery ํ์ดํ๋ผ์ธ ์คํ ์ ์๋ฌ ๋ฐ์
- ์๋ฌ ๋ด์ฉ
ERROR: The following error occurred in node Common Spatial Patterns: the leading minor of order 1 of 'b' is not positive definite. The factorization of 'b' could not be completed and no eigenvalues or eigenvectors were computed. ERROR: CSP must be trained before it can be used ERROR: CSP must be trained before it can be used ERROR: CSP must be trained before it can be used ... ERROR: CSP must be trained before it can be used
- ํด๊ฒฐ
- ํด๋น ๋ฌธ์ ์ ๋ํด NeuroPype์ ๋ฌธ์ ํ, ํ์ต ๋ฐ์ดํฐ๊ฐ ๋ถ์กฑ ํน์ EEG ์ฑ๋ ๊ฐ ๋จ๋ฝ์ผ๋ก ๋ฐ์ํ๋ ๋ฌธ์ ๋ก ๋ณด์ธ๋ค๋ ๋ต๋ณ ์์
- ๋ฐ์ดํฐ ์์ง ์ ์๋ ํ์ ๋ณ๊ฒฝ: 120ํ
$\rightarrow$ 360ํ
- ์๋ฌ ๋ด์ฉ
- ์๋ฌ ํด๊ฒฐ ํ ์ ์กฐํ ์ฑ๋ฅ ๋ฌธ์ ๋ฐ์
- 5๋ฒ์ ์คํ ๋์ ํ๊ท ์ฝ 46.2%์ Loss(MisClassification Rate) ํ๋
- ์์ํ๋ ๋ฐฉ์์ ๋ํ ์๋ฌธ ๋ฐ์
- ํด๊ฒฐ
- ์ฌ์ฉํ์ง ์์ ์ฑ๋์ ๋นํ์ฑํํ์ฌ ๋
ธ์ด์ฆ๋ฅผ ์ ๊ฑฐํ๊ณ ๊ธฐ์กด CSP ์๊ณ ๋ฆฌ์ฆ์์ FBCSP ์๊ณ ๋ฆฌ์ฆ์ผ๋ก ๋ณ๊ฒฝํ์ฌ ํ์ต ์ ๋ณด๋ค ๋ง์ ํ๋ผ๋ฏธํฐ ์์ฑ
- ๋ฐ์ดํฐ ์์ง ์ ์๋ ํ์ ๋ณ๊ฒฝ: 360ํ
$\rightarrow$ 120ํ- ์คํ ์๊ฐ ๋จ์ถ
- Loss 0.067 ํ๋
- ๋ฐ์ดํฐ ์์ง ์ ์๋ ํ์ ๋ณ๊ฒฝ: 360ํ
- ์ฌ์ฉํ์ง ์์ ์ฑ๋์ ๋นํ์ฑํํ์ฌ ๋
ธ์ด์ฆ๋ฅผ ์ ๊ฑฐํ๊ณ ๊ธฐ์กด CSP ์๊ณ ๋ฆฌ์ฆ์์ FBCSP ์๊ณ ๋ฆฌ์ฆ์ผ๋ก ๋ณ๊ฒฝํ์ฌ ํ์ต ์ ๋ณด๋ค ๋ง์ ํ๋ผ๋ฏธํฐ ์์ฑ
- 5๋ฒ์ ์คํ ๋์ ํ๊ท ์ฝ 46.2%์ Loss(MisClassification Rate) ํ๋
- ์์์ ๋ํ ๋ถํ์ค์ฑ ๋ฌธ์
- ์์ง์์ ์์ํ๋ ๊ฒ ๋์ ๋ ๊น๋นก์์ด๋ ์ด๋ฅผ ๊ฝ ๋ค๋ฌด๋ ํ์๋ฅผ ํจ์ผ๋ก์จ ๋ฐ์ํ๋ ๋ ธ์ด์ฆ๋ฅผ ํ์ต์์ผ ๊ฐ๊ฐ 0.01, 0.06์ Loss ํ๋
- ๊ฒฐ๋ก
- ๋ฏธ์ํ ์์ง์ ์์์ผ๋ก ์ธํด ๋ฐ์ํ๋ ์คํ์ดํฌ ๋ฏธ๋ฏธํ์ฌ 1๋ฒ ๋ฐ 2๋ฒ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ๊ฒ์ผ๋ก ์ถ์
- ์ดํ ์คํ๋ค์์ 2๋ฒ๋งํผ์ ๊ฒฐ๊ณผ๊ฐ ๋์ค์ง ์์์ ์๊ฐ ๊ด๊ณ์ Motor Imagery ์คํ ์ค๋จ
- ์ง์ค(Concentration) ์ํ
- ์ต์ ์ ๋ ฅ ๋ฐ ์คํ
- ์คํธ๋ฆผ ์คํ ๋ฐ ์ข ๋ฃ
2021 ๊ต๋ด ๊ตญ์ ์บก์คํค๋์์ธ ๊ฒฝ์ง๋ํ ๋์