NeuroSky 를 이용한 뇌파 시스템 구축 가이드
1. NeuroSky 라이브러리에서 제공하는 데이터 타입 종류 및 설명
Attention : 집중
집중력, 주의력의 정도를 표시
1Hz (초당 1회 측정되는 값)
Meditation : 명상
고요함, 평안함의 정도를 표시
1Hz (초당 1회 측정되는 값)
Eyeblinks
1Hz (초당 1회 측정되는 값)
눈 깜빡임을 측정
Brainwave Bands :
뇌파(EEG) 주파수 구간별 강도 (delta, theta, alpha, beta, gamma)
주파수 대역 서로에 대한 상대값
1Hz (초당 1회 측정되는 값)
# Delta: 1-3Hz
# Theta: 4-7Hz
1Hz (초당 1회 측정되는 값) 수면 상태에서 주로 나타나는 초 저주파
각성 상태에서 나타날 경우 뇌에 물리적인 충격이나 결손을 나타내는 것으로 추정
몸 동작이 인위적인 델타파를 만들 수도 있으나, 확실치 않음.
# Alpha1: 8-9Hz
# Alpha2: 10-12Hz
1Hz (초당 1회 측정되는 값) 휴식이나 자유로운 상태와 연관된 저주파 성분
평화로운 이미지를 떠올리면 눈을 감으면 증가
전두엽이나 후두엽 쪽에서 측정 가능. 마리화나를 피우면 확 증가한다고…
# Beta1: 13-17Hz
# Beta2: 18-30Hz
1Hz (초당 1회 측정되는 값) 작고 빠른 파형으로 집중력과 연관되고 뇌 중앙과 앞쪽에서 잘 관측됨
억눌리거나 저항하는 상태, 수학문제를 풀 때 베타파가 증가함
알콜 등에 의한 흥분상태에서 잘 나타나는 듯?
# Gamma1: 31-40Hz
# Gamma2: 41-50Hz
1Hz (초당 1회 측정되는 값) 의식, 지각 능력을 반영
베타파와 감마파가 주의력, 지각력, 인식력에 연관되어 있다.
Raw Output : 뇌파 샘플링 원본 (512Hz)
특별한 처리 없이 센서로 읽어들인 뇌파 시그널의 원본
2. Output type (Data type) 상세 내용:
# Attention, Meditation value :
unsigned 1byte,
1 ~ 100 사이의 값, 0 일 경우 노이즈나 헤드셋 이상, 미착용으로 검출이 불가한 상태
0 : POOR_SIGNAL
1~20 is [strongly lowered] 집중하지 못하거나 산만한 상태
20~40 is [reduced]
40~60 is [neutral]
60~80 is [slightly elevated]
80~100 is [elevated] 고도로 집중하거나 평온한 상태
# 뇌파의 주파수 대역별 강도 (EEG Band Powers)
ASIC_EEG_POWER_INT – 개별 EEG band의 상대적 진폭값 (절대값을 서로에 대한 상대값으로 변환한 값)
# 뇌파 신호 원본(Raw Output) :
각 개발 환경 API 참조
3. 뇌파를 이용한 BrainComputer Interface System 논문 참조
(Classification of EEG Signals in a BrainComputer Interface System)
http://daim.idi.ntnu.no/masteroppgaver/006/6288/masteroppgave.pdf
1. Bioengineering applications: 장애인을 보조하기 위한 디바이스 제작
2. Human subject monitoring: 수면 장애, 신경질환, 주의력 측정, 정신상태 감지
3. Neuroscience research: 동작과 뇌파 상호간의 연관관계를 실시간 추적
4. Human-Machine Interaction: 인간과 컴퓨터간 인터페이스로 활용
BrainComputer Interface System 구축에서 중요하고 일반적인 사실들:
1. 노이즈와 이상값(noise and outliers): 시그널에 비해 노이즈 비율이 높으므로 이상값이 검출되기 쉽다.
2. high dimensionality: 특정 상태에서는 간단한 feature vector로 나타나지만 종종 다양한 채널과 시간대로 표시되는 고차원 벡터가 되기도 한다.
3. time information: 반드시 시간 정보를 포함해야 한다. 어떤 뇌의 활동들은 뇌파의 특정 시간동안의 변화로만 표시될 수 있기 때문.
4. non-stationarity: 뇌파는 상황에 따라 빠르게 변화하고 단위화 하기 힘든 경향이 있다
5. small training sets: 트레이닝 과정이 시간이 걸리고 목적지향적이기 때문에, 상대적으로 작은 범위를 목표로 해야한다.
4. 그 외 뇌파와 BCI 참고자료
BCI Development: EEG Analysis, FFT and Band Powers
논문참조
8 Step Three: Controlling a Game with EEG
논문참조
5. 개발환경별 APIs
http://developer.neurosky.com/docs/doku.php?id=which_api_is_right_for_me
6. Developer Tools 2.1 (PC/Windows, OS X, Arduino, Linux…)
Developer Tools
Windows (all programming languages, via TGSP and TGCD interfaces, sample code, and serial I/O
Mac OS X (all programming languages, via TGSP and TGCD interfaces, sample code, and serial I/O protocol)
Arduino (Processing, via tutorials, sample code, and serial I/O protocol)
Linux (C/C++ via sample code and serial I/O protocol)
Other (C/C++ via sample code and serial I/O protocol)
download:
쇼핑 페이지에서 아래 아이템 다운로드
http://store.neurosky.com/products/developer-tools-2-1
1x Developer Tools 2.1
7. Mobile Toolsets
쇼핑 페이지에서 아래 아이템 다운로드
http://store.neurosky.com/products/developer-tools-3-android
2x Developer Tools 3: Android
How to Setup Your Android Developer Environment
1) Download Eclipse IDE Classic (Juno)
2) Install Android SDK from Google (http://developer.android.com/sdk/index.html)
3) In Eclipse, Help Menu –> Install New Software a) Add –> Android ADT (https://dl-ssl.gooogle.com/android/eclipse) b) choose both “Developer Tools” and “NDK Plugins”
4) In Eclipse, Windows Menu –> Android SDK Manager a) choose tools b) Android 2.3.3 (API10) c) extras –> Google USB Driver
5) Download NeuroSky SDK from http://store.neurosky.com/products/developer-tools-3-android
—– 여기까진 일반적인 android 개발환경 셋업
6) [developer-tools-3-android.zip] 압축해제. 숨겨진 .DS_STORE 파일을 삭제하고
7) HelloEEG 프로젝트를 생성
Eclipse. File –> Import –> Android –> Existing Android Code… /src/HelloEEG 폴더 선택
8) Expand the “Lib” folder in Ecplise
a) ThinkGear.jar 파일 우클릭
b) Build Path
c) Add to build path
9) 프로젝트 최상위 우클릭 후 refresh. 에러가 생길경우 프로젝트 지우고 7부터 다시.
10) (옵션) Add new AVD (에뮬레이터 설정)
a) In Ecplise, Window menu –> AVD manager
b) new
c) AVD-10, Android 2.3.3, 65 MiB, Built in –> WVGA800
8. Aduino
Arduino 보드를 BlueSmirf 를 통해 연결가능.
9. 참고자료 및 Tutorials (by ThinkGear API)
HelloEEG! Adobe Flash Tutorial
HelloEEG! Part 2
Sample program for Flash: Brainwave Visualizer for Flash
Using ThinkGear with Unity
Latest JNI implementation
Torque Project
MATLAB
ThinkGear Stream Parser: ANSI-C source
MindSet-Arduino Tutorial (Project Files)
MindWave-Arduino Tutorial
MindWave Mobile and Arduino (상세 설명)
http://developer.neurosky.com/docs/doku.php?id=mindwave_mobile_and_arduino
iOS API
쇼핑 페이지에서 아래 아이템 다운로드
http://store.neurosky.com/products/developer-tools-3-iphone
Linux
Additional communication protocol for MindWave headsets
Git hub (관련 프로젝트 소스)
https://github.com/search?q=neurosky&ref=cmdform
ThinkGear Connector (directing headset data from the serial port to an open network socket)
http://developer.neurosky.com/docs/doku.php?id=thinkgear_connector_tgc
Mobile toolset download : [wpdm_file id=18]
NeuroSky 뇌파 시스템 구축 가이드 : [wpdm_file id=19]