AiPE

[R&E] 1. ECG와 Arduino를 이용한 인터넷 강의 배속 시 집중력 곡선의 분석 및 해석 본문

[XiBBaL] Development Project/인터넷 강의 배속 시 집중력 곡선의 분석 및 해석

[R&E] 1. ECG와 Arduino를 이용한 인터넷 강의 배속 시 집중력 곡선의 분석 및 해석

Oshimaker XiBBaL 2022. 12. 1. 14:27
반응형

현재 진행하는 중인 프로젝트는 아니고 작년(2021)에 고등학교 R&E의 일환으로 1년가량 진행했던 연구 과정과 결과를 정리해보려고 한다.

학교에서 과학중점반 학생들에 한해 연구비를 지원해주면서 연구시키는 프로젝트가 있다. 우리는 그냥 R&E(알엔이) 라고 부른다.

 

보통 부를때는 "심전도 연구" "집중력 연구" "R&E" "그 파이썬" 이렇게 부르긴 하는데 연구보고서상 풀 네임은 "ECG와 Arduino를 이용한 인터넷 강의 배속 시 집중력 곡선의 분석 및 해석"이다. 말 그대로 아두이노와 파이썬을 이용했다. ECG는 심전도를 의미한다.

 

앞에서 1년가량 진행했다고 하는데 사실 집중적으로 코딩을 한 기간은 3달이내이고 나머지 기간에는 연구 구상이나 자료 수집등을 하는 데 썼다.

 

연구는 팀을 이루어 진행했는데 생명과학 관련분야 3명, 그리고 코딩을 담당하는 나 이렇게 4명에서 진행했다.

 

 

 

 

 

1. 연구 동기

연구계획서상의 연구 동기는 다음과 같다. 별로 재미 없는 이야기이다.

 

[예비 실험 보고서 중 일부 발췌]

코로나 사태로 인하여 학생들의 학습 방식에 큰 변화가 생겼다. 먼저 학교 정규 수업의 경우 전체 수업의 절반 가량을 온라인 화상통화 앱인 줌(Zoom)을 이용해 수강해야 한다. 사교육의 경우에도 등원이 불가능하거나 등원을 꺼리는 학생의 경우 강의를 녹화한 파일을 이용해 수강하거나 실시간 방송을 통해 강의하기도 한다. ... 이처럼 코로나 상황에서 오프라인에서 온라인으로 바뀐 학습방식으로 인해, 효율적인 인터넷 강의 이용이 더욱 중요해지고 있다.

효율적으로 인터넷 강의를 듣기 위해서는 다양한 방법이 있겠지만, 가장 대중적으로 사용되는 방법은 역시 강의를 배속해 듣는 방법이다. 인터넷 강의를 상대적으로 짧은시간 내에 듣기 위해 한 방법으로 1~2배속 내에서 본인에 걸맞는 속도를 택해 강의를 수강한다. ... 모 대형 인강 강사는 “학생이 강사나 선생님들보다 사고의 속도가 더 빠른 것이 아닌 이상 지나친 배속은 자만이다”라는 지적은 강의를 배속으로 듣는 것이 과연 옳은지에 대한 의구심이 들게 만든다.
 
이렇게 인터넷 강의의 배속에 관해 상반되는 입장을 보며, 정말 배속이 효율적으로 인터넷 강의를 보는 방법인지 의문을 품게 되었다. 그리고, 이런 의문은 결국 인터넷 강의시 배속과 집중력의 상관관계를 분석하는 실험을 설계하여 수행하고자 하였다.

 

“학생이 강사나 선생님들보다 사고의 속도가 더 빠른 것이 아닌 이상 지나친 배속은 자만이다”라는 말이 메가스터디 물리 배기범선생님의 말이었던 것으로 기억하는데 수능준비할때 1.8배속으로 들었다.

 

말은 저렇게 했지만 우리가 연구주제를 이렇게 잡게 된 이유는 사실 이렇다.

우리 학년은 코로나로 인해 맨 처음에는 동영상 형태로 강의를 제공하다 Zoom을 이용해 실시간으로 수업을 제공하게 되었다. 어차피 수업을 제대로 듣지도 않을 뿐더러 (귀찮기도 하며 도움도 안 된다) 수업을 정속으로 들으니 시간만 허비하게 되므로 "실시간 강의 대신에 동영상 형태로 제공해서 배속하는게 차라리 더 나았다"는 의견들이 많았다.

우리 연구는 이로부터 출발했다. 나만의 의견인지 팀원 모두의 의견인지는 모르겠지만 적어도 나는 강의를 배속하여 듣는것이 우리에게 더 도움이 된다는 것을 증명하고 싶었다.

 

 

 

 

 

2. 선행연구

일단 연구의 핵심 연결고리인 "집중력-ECG"의 상관관계에 대해 확실히 하고 가자.

ECG는 심전도인데, 간단한 아두이노 센서로 쉽게 측정할 수 있다. 궁금하면 검색해보자.

집중력-ECG의 상관관계는 이미 누가 증명해놓았다.

 

연세대학교 대학원 석사 학위논문[집중력에 따른 EEG신호와 Heart rate variability 신호의 상호관계 분석 및 해석]을 참고했다.https://ir.ymlib.yonsei.ac.kr/handle/22282913/125252

 

EEG는 "뇌파 전기신호"인데, 논문의 제목은 EEG이지만 ""다 읽어보면"" ECG에대한 내용과 차이가 없다.

연구보고서 발표를 할 때 이 부분이 제일 힘들었다. 자꾸 집중력-ECG 상관관계를 걸고 넘어지는 심사위원들이 많았다. 선행논문에서 증명해놓은걸 우리한테 지랄해도 할 말이 없다. 우리가 생명과학 어디 권위자도 아니고..

 

결국엔 생명과학 하는 친구들이 잘 설명해서 납득시켰다. 심사위원 중 한 분이 다른분들에게 "아니 선행연구에서 나왔대잖아요"라고 해서 겨우 공격에서 빠져나왔다. 자세한건 생명담당 친구들이 잘 알고 있으니 그쪽에게 물어보자. 나는 코딩노예라 그런건 잘 모른다.

 

 

 

 

 

3. 코딩 계획

결과의 분석과 생명과학적인 타당성 검증은 친구들에게 맡겨두고 나는 코딩에 집중했다.

 

 

draw.io을 이용해 개괄적인 순서도를 작성해보았다. 내가 짜야 할 코드는 아래와 같다. 측정하는데 사용할 컴퓨터가 여러대이므로 여러 컴퓨터에서 범용할 수 있도록 짜야 한다.

 1) 피실험자의 팔다리에 부착된 센서에서 값을 읽어 Windows로 송신하는 Arduino 코드

 

 2) 특정 Port에서 들어온 (아두이노를 연결할때마다 and 컴퓨터마다 바뀐다.. 자동으로 따라가야한다) Serial 형태의 값을 Python이 처리할 수 있는 형태로 변환해 주는 필터

 

 3) 터미널에 초당 수십개의 값이 쏟아지므로 xlrd를 이용해 Excel에 바로바로 기록해 저장해 두어야 한다. 나중에는 이 값들 중 극댓값에 해당하는 "R값"을 추출하여 따로 저장해야한다. 피실험자가 많으므로 피실험자_log.xls 등으로 자동으로 저장되어야한다.

 

 4) Matplotlib으로 받은 심전도값을 바로바로 Graph로 그려주어야한다. 또한 심전도 변화량을 관찰해야 실험자가 실험 도중 배속을 올릴지 내릴지 결정할 수 있으므로 변화량을 터미널에 출력한다.

 

 5) Excel에 저장된 값을 읽어서 선형회귀분석을 실행한다. 연구보고서 발표를 위해 이 자료를 시각화한 뒤 상관관계도를 분석한다.

 

진짜 말도안되는 버그들이 튀어나와서 많이 고생했던 기억이 있다. 코드부터 디버그 과정까지를 소개하려고 한다.

 

반응형