이번엔 이전 글에서 집중도를 구했던 방법으로 실제 게임을 하며 집중도를 구해볼 것이다!
참고로 이번엔 코드는 제공 안할 것이다.
그렇기에 해보고 싶다면 이전에 한 집중도 코드와 결합해서 해보면 될 것 같다.
시작
Brainflow에서는 Github를 돌아다니다 보면 예시로 실행할 수 있는 파일들을 찾을 수 있다.
그 중에서는 실시간 시각화 파일들도 있는데.. 바로 아래꺼다!
brainflow/python_package/examples/plot_real_time/plot_real_time.py at master · brainflow-dev/brainflow
BrainFlow is a library intended to obtain, parse and analyze EEG, EMG, ECG and other kinds of data from biosensors - brainflow-dev/brainflow
github.com
brainflow/python_package/examples/plot_real_time/plot_real_time_min.py at master · brainflow-dev/brainflow
BrainFlow is a library intended to obtain, parse and analyze EEG, EMG, ECG and other kinds of data from biosensors - brainflow-dev/brainflow
github.com
위에 링크에 들어가면 나오는 파일을 실행한 결과가 아래 사진이다.
뇌파가 많아보이는건 보드가 SYNTHETIC_BOARD 이걸로 설정되어서 인데.. 그냥 데모 보드라고 생각하면 될 것 같다.
그래서 저걸 실행하면 EEG 기기를 연결하지 않아도 예시로 저렇게 볼 수 있는데, 물론 연결하면 보드에 있는 정보들로 표시가 된다.
아무튼 이번에는 저 그래프에 추가적으로 집중도 그래프를 추가하고 게임을 하며 측정해볼 것이다!
코드 문제점
그런데 실행해보기 전 한가지 문제가 있긴 하다.
저 코드는 PyQT가 옛날 버전이라서 최신 버전에서는 실행이 안된다. 그래서 최신 버전으로 바꿔야 하는데..
그냥
- QtGui > QtWidgets
- GraphicsWindow > GraphicsLayoutWidget
- pg.GraphicsLayoutWidget(title='BrainFlow Plot', size=(800, 600), show=True)
현재 코드에다가 > 되어있는건 그렇게 바꾸면 되고 GraphicsLayoutWidget 함수 뒤에 show=True만 추가하면 제대로 작동한다.
현재는 내가 따로 코드를 수정해서 커밋 요청을 해놓았다. 문제가 없다면 아마 수정되어서 업데이트가 될 것이다.
https://github.com/brainflow-dev/brainflow/pull/756
Fix PyQT Error by cheongpark · Pull Request #756 · brainflow-dev/brainflow
Fixed PyQt and PyQtGraph compatibility issues: QtGui.QApplication -> QtWidgets.QApplication Error: AttributeError: module 'pyqtgraph.Qt.QtGui' has no attribute 'QApplication' F...
github.com
암튼 그렇다. (글을 쓰던 중 업데이트가 되었다. 그러니 직접 가서 다운받아서 수정해서 쓰면 될 것 같다.
본론
일단 실행하면 어떻게 뜨는지 본다면.. 이런식으로 뜬다!
brainflow/python_package/examples/plot_real_time/plot_real_time.py at master · brainflow-dev/brainflow
BrainFlow is a library intended to obtain, parse and analyze EEG, EMG, ECG and other kinds of data from biosensors - brainflow-dev/brainflow
github.com
그냥 이거를 수정한 파일이다. 이 코드로 선정한건 그냥 정보가 많고 예뻐보여서..
수정한건 드라큘라 테마로 바꾼 것, 그래프 2개 추가한 것 정도가 끝이다.
그리고 참고로 이 코드에서는 Muse 2 기기를 연결하는 방법은 2가지 정도 있다.
연결할 때는 실행할 때 인수 값을 추가해서 연결할 수도 있고.. 나 같은 경우에는 코드에 이전 글에 있는 것 처럼 MUSE 2와 시리얼 코드를 넣어서 연결되도록 했다. 저 코드의 메인 함수로 가보면 알 수 있을 것이다.
그리고 저 아래에 Attention과 Mindfulness는 이전 글에서 설명한 대로의 코드로 계산을 하고 그래프에 추가되도록 했다.
조금만 해보면 간단해서 딱히 이곳에 코드를 넣지는 않았다.
(참고로 저거 Attention의 범위는 딱히 지정하지는 못했다. 지금 와서 생각해보면 2~3이 적당했을 텐데.. 암튼 영상은 미리 찍었기 때문에.. 4로 되어있다는 점..)
설치해야할 라이브러리는 아래다! (PyQT6도 실행 가능)
pip install pyqtgraph PyQt5 brainflow
암튼 저걸 실행한 후 머리에 착용하고 게임을 해봤다!
게임 영상
DJMAX RESPECT V
Beat Saber
결론
일단 DJMAX와 Beat Saber를 선택한 이유는 리듬게임이며 집중도가 높은 게임이기 때문에 선택했다. BeatSaber의 경우 VR를 착용하고 하기 때문에 몰입이 될 수 있어서 집중도를 측정하기에 더 좋았다.
참고로 VR의 경우 VIVE PRO 1을 착용하고 했었다.
일단 영상 찍고 확인을 해보니.. 의외로 집중도가 낮게 나온다..
내가 이전 부터 이 기기를 테스트 하면서도 집중도가 확실히 낮게 나오기는 했었는데.. (ADHD인가..?)
DJMAX에서는 짧은 노트의 경우 집중도가 의외로 낮게 나온다. 그에 반면 긴 노트에서는 집중도가 높게 나왔다..
나도 게임을 클리어 하면서 짧은 노트들은 어느정도 칠 수 있어서 그나마 쉽게 넘어가는 반면 긴 노트의 경우 긴 노트를 눌르며 다른 노트들도 쳐야하다 보니 집중을 많이 하게 되는 것 같은데.. 심지어 지금도 그렇고 이때도 그렇고 장갑을 끼고 있다보니.. 더 키보드 치는 느낌이 잘 안들어서 저렇게 된 것 같다.
뭐 그래도 대부분 높게 나오기는 했다.
(장갑 끼는건 그냥 키보드 더러워질까봐.. 다한증..)
Beat Saber에서는 이상하게 전체적으로 낮게 나왔다..
이건 잘 모르겠다.. 내가 게임을 잘 못하는게 이것 때문인건가.. 하는 생각도 들긴 하는데..
일단 의심되는건.. 내 방이 덥다. 그래서 땀이 많이 나기도 하는데 그것 때문에 전극에 수분 때문에 전기가 잘 통해서 전극이 잘 요동치고 있다는 것을 알 수 있다. 이것 때문일 가능성도 있고.. 또 손을 엄청 움직이고 하기에 그 움직임도 같이 반영됬을 것으로 추정된다.. 또한 VR과 Muse 2를 같이 착용하고 측정하기 때문에 Muse 2가 제대로 측정이 안되었거나 VIVE PRO의 안면 폼이 방해했을 가능성이 있을 수 있다. 그리고 운동을 안해서인지.. FitBeat 하면서 다리를 굽혔다 피니깐.. 이후에 몇시간 동안 일어나거나 앉을려 하면 힘이 빠져서 움직이기도 어려울 정도였다.
그런데 그걸 제외해서라도 집중도가 낮은건 좀 이상하긴 하다.. 아니면 그냥 내가 게임에 집중을 잘 안했던 것일 수도 있고..
그리고 위에서도 말했지만 공통적으로 한가지 문제라면 Muse 2가 민감한건지 뭔지 자세를 움직인다거나 키보드를 친다거나 손을 많이 움직인다거나 이를 쎄게 닫는 경우 뇌파가 심하게 요동친다.. 이것 때문에 뇌파가 제대로 측정이 안되기도 한다. 그래도 모든 전극이 같이 반영되기 때문에 아마도 그에 따라서 바뀌니깐 딱히 상관은 없을 수도 있을 것 같다.
아무튼 재밌긴 했다~
'개발 > Muse 2' 카테고리의 다른 글
[Muse 2] BrainFlow ML로 집중도 구하기!! (0) | 2025.02.21 |
---|---|
[Muse 2] BrainFlow로 집중도 구하기!! (1) | 2025.02.19 |
[Muse 2] BrainFlow에 Muse 2 연결하고 데이터 수집!! (0) | 2025.02.17 |
[Muse 2] BrainFlow Python 설치하기 (0) | 2025.02.16 |
[Muse 2] Muse 2 알아보기!! (0) | 2025.02.16 |